/*
Theme Name: SlangPuns Child
Theme URI: https://slangpuns.com
Description: v1.3 - NUCLEAR override for GenerateBlocks/Query Loop card titles - aggressive selectors for ALL h2/h3 in any block/grid/loop/card.
Author: SAM Marketing Agency
Author URI: https://sammarketingagency.com
Template: generatepress
Version: 1.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: slangpuns-child
Tags: magazine, news, blog, custom-colors, custom-logo, custom-menu
*/

:root {
  --sm-primary: #e63946;
  --sm-primary-dark: #c0303c;
  --sm-text: #222;
  --sm-muted: #666;
  --sm-light: #f8f9fa;
  --sm-border: #e5e5e5;
  --sm-dark: #1a1a1a;
}

/* ============= GLOBAL ============= */
body {
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif !important;
  color: var(--sm-text) !important;
  background: #ffffff !important;
}

.site,
.site-content,
.content-area,
#page,
.inside-content-area {
  background: #ffffff !important;
  color: var(--sm-text) !important;
}

a {
  color: var(--sm-primary);
}

a:hover {
  color: var(--sm-primary-dark);
}

/* ============= AGGRESSIVE: FORCE DARK TEXT EVERYWHERE ============= */
.site h1,
.site h2,
.site h3,
.site h4,
.site h5,
.site h6,
.site p,
.site span,
.site li,
.site div,
.site-content h1,
.site-content h2,
.site-content h3,
.site-content h4,
.site-content h5,
.site-content h6,
.site-content p,
.site-content span,
.site-content li,
.site-content div,
.entry-content *,
.wp-block *,
.gp-blocks *,
[class*="hero"] h1,
[class*="hero"] h2,
[class*="hero"] h3,
[class*="hero"] p,
[class*="hero"] span,
[class*="hero"] div,
.wp-block-heading,
.has-text-color,
.has-white-color,
.has-light-color {
  color: #222 !important;
}

/* ============= NUCLEAR OVERRIDE: ALL POST CARD TITLES IN ANY BLOCK ============= */
/* GenerateBlocks Loop / Query Loop / Custom Blocks */
article h1, article h2, article h3, article h4, article h5,
article h1 a, article h2 a, article h3 a, article h4 a, article h5 a,
.is-layout-grid h2, .is-layout-grid h3,
.is-layout-grid h2 a, .is-layout-grid h3 a,
.wp-block-query article h2,
.wp-block-query article h3,
.wp-block-query article h2 a,
.wp-block-query article h3 a,
.wp-block-query-loop article h2,
.wp-block-query-loop article h3,
.wp-block-post article h2,
.wp-block-post article h3,
.wp-block-post-title,
.wp-block-post-title a,
.wp-block-latest-posts__post-title,
.wp-block-latest-posts__post-title a,
.gb-grid-wrapper h2,
.gb-grid-wrapper h3,
.gb-grid-wrapper h2 a,
.gb-grid-wrapper h3 a,
.gb-grid-column h2,
.gb-grid-column h3,
.gb-grid-column h2 a,
.gb-grid-column h3 a,
.gb-loop-item h1,
.gb-loop-item h2,
.gb-loop-item h3,
.gb-loop-item h4,
.gb-loop-item h1 a,
.gb-loop-item h2 a,
.gb-loop-item h3 a,
.gb-loop-item h4 a,
.gb-headline,
.gb-headline-text,
.gb-headline a,
.gb-headline-text a,
.gb-container h2,
.gb-container h3,
.gb-container h2 a,
.gb-container h3 a,
.gb-container .gb-headline,
.gb-container .gb-headline a {
  color: #222 !important;
}

/* Loop hover state */
.gb-loop-item h2 a:hover,
.gb-loop-item h3 a:hover,
.gb-loop-item .gb-headline a:hover,
article h2 a:hover,
article h3 a:hover {
  color: var(--sm-primary) !important;
}

/* Force ANY heading or link inside ANY block-card to dark */
[class*="card"] h1,
[class*="card"] h2,
[class*="card"] h3,
[class*="card"] h4,
[class*="card"] h1 a,
[class*="card"] h2 a,
[class*="card"] h3 a,
[class*="card"] h4 a,
[class*="grid"] h2,
[class*="grid"] h3,
[class*="grid"] h2 a,
[class*="grid"] h3 a,
[class*="post"] h2,
[class*="post"] h3,
[class*="post"] h2 a,
[class*="post"] h3 a,
[class*="loop"] h2,
[class*="loop"] h3,
[class*="loop"] h4,
[class*="loop"] h2 a,
[class*="loop"] h3 a,
[class*="loop"] h4 a,
[class*="latest"] h2,
[class*="latest"] h3,
[class*="latest"] h2 a,
[class*="latest"] h3 a {
  color: #222 !important;
}

/* HEX RED VARIANTS - inline style overrides */
[style*="color: #dc"],
[style*="color: #DC"],
[style*="color:#dc"],
[style*="color:#DC"],
[style*="color: #e6"],
[style*="color: #E6"],
[style*="color:#e6"],
[style*="color:#E6"],
[style*="color: #e7"],
[style*="color: #E7"],
[style*="color:#e7"],
[style*="color:#E7"],
[style*="color: #e8"],
[style*="color: #E8"],
[style*="color: #e9"],
[style*="color: #E9"],
[style*="color: #ea"],
[style*="color: #EA"],
[style*="color: #c0"],
[style*="color: #C0"],
[style*="color: #c1"],
[style*="color: #C1"],
[style*="color: #c5"],
[style*="color: #C5"],
[style*="color: #b"],
[style*="color: #B"],
[style*="color: #a"],
[style*="color: #A"],
[style*="color: #f0"],
[style*="color: #F0"],
[style*="color: #ff0"],
[style*="color: #FF0"],
[style*="color: rgb(220"],
[style*="color: rgb(221"],
[style*="color: rgb(222"],
[style*="color: rgb(223"],
[style*="color: rgb(224"],
[style*="color: rgb(225"],
[style*="color: rgb(226"],
[style*="color: rgb(227"],
[style*="color: rgb(228"],
[style*="color: rgb(229"],
[style*="color: rgb(230"],
[style*="color: rgb(231"],
[style*="color: rgb(232"],
[style*="color: rgb(233"],
[style*="color: rgb(234"],
[style*="color: rgb(235"],
[style*="color: rgb(236"],
[style*="color: rgb(237"],
[style*="color: rgb(238"],
[style*="color: rgb(239"],
[style*="color: rgb(240"],
[style*="color: rgb(255, 0"],
[style*="color: rgb(255,0"],
[style*="color: red"],
[style*="color:red"],
[style*="color: maroon"] {
  color: #222 !important;
}

/* Date / Read links keep red, others dark */
.gb-loop-item a[href*="/"]:not(.read-more):not(.btn):not(.wp-block-button__link),
.gb-grid-column a:not(.read-more):not(.btn):not(.wp-block-button__link) {
  color: inherit !important;
}

/* Hover state - red only on hover */
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover,
.entry-title a:hover,
.post-title a:hover,
article a:hover {
  color: var(--sm-primary) !important;
}

/* Italic emphasis: NO red color, just italic */
.entry-title em,
.entry-content em,
h1 em, h2 em, h3 em, h4 em,
[class*="title"] em,
.wp-block-heading em {
  color: #222 !important;
  font-style: italic !important;
}

/* Override Gutenberg color classes */
.has-luminous-vivid-amber-color,
.has-luminous-vivid-yellow-color,
.has-vivid-yellow-color,
.has-pale-cyan-blue-color,
.has-vivid-cyan-blue-color,
.has-very-light-gray-color,
.has-very-light-pink-color,
.has-vivid-red-color,
.has-luminous-vivid-orange-color,
[style*="color: rgb(255"],
[style*="color: rgb(254"],
[style*="color: rgb(253"],
[style*="color: rgb(252"],
[style*="color: rgb(251"],
[style*="color: rgb(250"],
[style*="color: rgb(230"],
[style*="color: rgb(231"],
[style*="color: rgb(232"],
[style*="color: rgb(233"],
[style*="color: rgb(234"],
[style*="color: rgb(235"],
[style*="color: rgb(236"],
[style*="color: rgb(237"],
[style*="color: rgb(238"],
[style*="color: rgb(239"],
[style*="color: #fff"],
[style*="color: #FFF"],
[style*="color:#fff"],
[style*="color: white"],
[style*="color:white"],
[style*="color: yellow"],
[style*="color: #FFD"],
[style*="color: #FFE"],
[style*="color: #FF0"],
[style*="color: #e6"],
[style*="color: #E6"],
[style*="color:#e6"],
[style*="color:#E6"],
[style*="color: red"],
[style*="color:red"] {
  color: #222 !important;
}

/* Page/post titles always dark */
.entry-title,
.entry-title a,
.page-title,
h1.entry-title,
h1.page-title,
h1 {
  color: var(--sm-text) !important;
}

/* Buttons should keep their color */
.wp-block-button__link,
button,
.btn,
input[type="submit"],
.sp-subscribe-form input[type="submit"],
.read-more-button,
.view-all-button {
  color: #ffffff !important;
}

/* ============= HEADER - LOGO CENTER + MENU BELOW SINGLE ROW ============= */
.site-header,
.main-navigation,
.inside-header,
.inside-navigation {
  background: #ffffff !important;
  border-bottom: 1px solid var(--sm-border);
}

/* Force header to STACK VERTICALLY: logo top center, menu below */
.site-header,
.site-header > .inside-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  padding: 20px 0 0 !important;
}

.site-branding,
.site-logo,
.header-image,
.main-title-wrap {
  text-align: center !important;
  margin: 0 auto !important;
  width: 100% !important;
  display: block !important;
  float: none !important;
}

.site-logo img,
.header-image img {
  max-height: 80px !important;
  width: auto !important;
  margin: 0 auto !important;
  display: inline-block !important;
}

/* Site title fallback */
.site-title,
.main-title,
.site-title a {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  font-style: italic !important;
  font-size: 48px !important;
  letter-spacing: -1px !important;
  color: var(--sm-text) !important;
  text-decoration: none !important;
  text-align: center !important;
}

.site-description {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 3px !important;
  font-weight: 600 !important;
  color: var(--sm-text) !important;
  text-transform: uppercase !important;
  margin-top: 6px !important;
  text-align: center !important;
}

/* ============= MAIN NAV - BELOW LOGO, SINGLE ROW, CENTERED ============= */
.main-navigation {
  width: 100% !important;
  clear: both !important;
  display: block !important;
  text-align: center !important;
  background: #ffffff !important;
  margin-top: 20px !important;
  border-top: 1px solid var(--sm-border) !important;
  border-bottom: 1px solid var(--sm-border) !important;
  float: none !important;
}

.main-navigation .inside-navigation,
.main-navigation .main-nav {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  float: none !important;
  text-align: center !important;
}

.main-navigation .main-nav > ul,
.main-navigation .menu {
  display: flex !important;
  justify-content: center !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  float: none !important;
  text-align: center !important;
  list-style: none !important;
}

.main-navigation .main-nav > ul > li,
.main-navigation .menu > li {
  float: none !important;
  display: inline-flex !important;
  list-style: none !important;
}

.main-navigation .main-nav ul li a,
.main-navigation .menu li a {
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--sm-text) !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  padding: 18px 16px !important;
  background: transparent !important;
  white-space: nowrap !important;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a {
  color: var(--sm-primary) !important;
  background: transparent !important;
}

/* Hide GeneratePress mobile menu button on desktop */
.menu-toggle {
  display: none !important;
}

/* Hide cart/search if present */
.main-navigation .menu-bar-items,
.cart-contents-wrapper,
.header-aside {
  display: none !important;
}

/* ============= SEARCH ICON + BAR ============= */
.sp-search-li {
  margin-left: 20px !important;
}

.sp-search-li a.sp-search-toggle {
  padding: 18px 14px !important;
  color: var(--sm-text) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  cursor: pointer !important;
}

.sp-search-li a.sp-search-toggle:hover {
  color: var(--sm-primary) !important;
}

.sp-search-li a.sp-search-toggle svg {
  width: 20px;
  height: 20px;
  display: block;
}

/* Search bar slide-down */
.sp-search-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  border-bottom: 1px solid var(--sm-border);
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  padding: 24px 0;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  z-index: 9999;
  visibility: hidden;
}

.sp-search-bar.active {
  transform: translateY(0);
  visibility: visible;
}

.sp-search-form {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}

.sp-search-form input[type="search"] {
  flex: 1;
  padding: 14px 18px;
  border: 2px solid var(--sm-border);
  background: #fff;
  color: var(--sm-text);
  font-size: 16px;
  font-family: 'Inter', sans-serif;
  border-radius: 0;
  outline: none;
}

.sp-search-form input[type="search"]:focus {
  border-color: var(--sm-primary);
}

.sp-search-form button[type="submit"] {
  background: var(--sm-primary);
  color: #fff;
  border: none;
  padding: 14px 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
}

.sp-search-form button[type="submit"]:hover {
  background: var(--sm-primary-dark);
}

.sp-search-close {
  background: transparent !important;
  border: none !important;
  color: var(--sm-muted) !important;
  font-size: 32px !important;
  cursor: pointer !important;
  padding: 0 10px !important;
  line-height: 1 !important;
}

.sp-search-close:hover {
  color: var(--sm-primary) !important;
}

/* ============= POSTS / ARTICLE CARDS ============= */
.inside-article {
  background: #ffffff !important;
  border: 1px solid var(--sm-border) !important;
  padding: 0 !important;
  margin-bottom: 30px !important;
}

.featured-image,
.post-image,
.post-image img {
  background: #ffffff !important;
  width: 100% !important;
  height: auto !important;
  max-height: 220px !important;
  object-fit: cover !important;
  display: block !important;
}

.inside-article .entry-title,
.inside-article h2.entry-title,
article .entry-title {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  color: var(--sm-text) !important;
  margin: 16px 16px 8px !important;
  padding: 0 !important;
}

.inside-article .entry-title a,
article .entry-title a {
  color: var(--sm-text) !important;
  text-decoration: none !important;
}

.inside-article .entry-title a:hover {
  color: var(--sm-primary) !important;
}

.entry-summary,
.inside-article .entry-summary {
  font-size: 13px !important;
  color: var(--sm-muted) !important;
  line-height: 1.6 !important;
  margin: 0 16px 12px !important;
  padding: 0 !important;
}

.entry-meta,
.posted-on,
.byline,
.cat-links {
  font-size: 11px !important;
  color: var(--sm-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 8px 16px !important;
  padding: 8px 0 12px !important;
  border-top: 1px solid var(--sm-border) !important;
}

.entry-meta a {
  color: var(--sm-primary) !important;
}

/* ============= SINGLE POST PAGE ============= */
.single .inside-article,
.single .entry-header,
.single .entry-content,
.page .entry-content {
  background: #ffffff !important;
  color: var(--sm-text) !important;
}

.single .entry-title,
.single h1.entry-title {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  font-size: 38px !important;
  line-height: 1.2 !important;
  color: var(--sm-text) !important;
  background: transparent !important;
  margin-bottom: 16px !important;
}

.single .entry-content,
.entry-content {
  font-family: 'Inter', sans-serif !important;
}

.entry-content p,
.single .entry-content p {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: #333 !important;
  background: transparent !important;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  color: var(--sm-text) !important;
  background: transparent !important;
  margin: 32px 0 16px !important;
}

.entry-content h2 { font-size: 28px !important; }
.entry-content h3 { font-size: 22px !important; }

.entry-content a {
  color: var(--sm-primary) !important;
  font-weight: 500;
}

.entry-content a:hover {
  text-decoration: underline !important;
}

/* ============= FORCE WHITE BG IN POST CONTENT ============= */
.entry-content,
.entry-content > *,
.entry-content div,
.entry-content section,
.entry-content figure,
.entry-content blockquote,
.entry-content table,
.entry-content tr,
.entry-content td,
.entry-content [class*="box"],
.entry-content [class*="card"],
.entry-content [class*="callout"],
.entry-content [class*="quick"],
.entry-content [class*="definition"],
.entry-content [class*="faq"],
.entry-content [style*="background-color: rgb(0"],
.entry-content [style*="background-color: rgb(1"],
.entry-content [style*="background-color: rgb(2"],
.entry-content [style*="background-color: rgb(3"],
.entry-content [style*="background:#0"],
.entry-content [style*="background:#1"],
.entry-content [style*="background:#2"],
.entry-content [style*="background:#3"],
.entry-content [style*="background-color:#0"],
.entry-content [style*="background-color:#1"],
.entry-content [style*="background-color:#2"],
.entry-content [style*="background-color:#3"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* ============= TABLES ============= */
.entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #ffffff !important;
  border: 1px solid var(--sm-border) !important;
  margin: 20px 0 !important;
}

.entry-content table th {
  background: var(--sm-primary) !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  padding: 12px 16px !important;
  border: 1px solid #d0303c !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  font-size: 13px !important;
  text-align: left !important;
}

.entry-content table td {
  background: #ffffff !important;
  color: var(--sm-text) !important;
  padding: 12px 16px !important;
  border: 1px solid var(--sm-border) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.entry-content table tr:nth-child(even) td {
  background: var(--sm-light) !important;
}

.entry-content table tr:hover td {
  background: #fff8f0 !important;
}

/* ============= QUICK DEFINITION / CALLOUT / BLOCKQUOTE ============= */
.entry-content blockquote,
.entry-content [class*="quick-definition"],
.entry-content [class*="callout"],
.entry-content [class*="info-box"],
.entry-content [class*="notice"] {
  background: var(--sm-light) !important;
  color: var(--sm-text) !important;
  padding: 20px 24px !important;
  margin: 24px 0 !important;
  border: 1px solid var(--sm-border) !important;
  border-left: 4px solid var(--sm-primary) !important;
  border-radius: 0 !important;
}

.entry-content blockquote *,
.entry-content [class*="callout"] * {
  background: transparent !important;
  color: var(--sm-text) !important;
}

/* ============= AUTHOR BOX / META ============= */
.author-info,
.author-box,
.entry-author {
  background: #ffffff !important;
  color: var(--sm-text) !important;
  border: 1px solid var(--sm-border) !important;
  padding: 24px !important;
}

.author-info *,
.author-box * {
  background: transparent !important;
}

/* ============= POST NAVIGATION ============= */
.post-navigation,
.nav-links,
.nav-previous,
.nav-next {
  background: #ffffff !important;
}

.nav-previous a,
.nav-next a {
  color: var(--sm-text) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}

.nav-previous a:hover,
.nav-next a:hover {
  color: var(--sm-primary) !important;
}

/* ============= SIDEBAR ============= */
.sidebar .widget,
.widget-area .widget {
  background: #ffffff !important;
  border: 1px solid var(--sm-border) !important;
  padding: 20px !important;
  margin-bottom: 24px !important;
}

.widget .widget-title {
  font-family: 'Oswald', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--sm-text) !important;
  border-bottom: 3px solid var(--sm-primary) !important;
  padding-bottom: 6px !important;
  margin-bottom: 16px !important;
  display: inline-block !important;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ============= READ MORE BUTTON ============= */
.read-more,
.entry-content .read-more,
.wp-block-button__link {
  background: var(--sm-primary) !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  padding: 10px 18px !important;
  border-radius: 0 !important;
  border: none !important;
  text-decoration: none !important;
}

.read-more:hover {
  background: var(--sm-primary-dark) !important;
}

/* ===============================================================
   SLANGPUNS CUSTOM 4-COLUMN FOOTER
   =============================================================== */

.sp-footer {
  background: var(--sm-dark) !important;
  color: #ccc !important;
  padding: 60px 0 0 !important;
  font-family: 'Inter', sans-serif !important;
  margin-top: 60px !important;
}

.sp-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

.sp-footer-grid {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr 1fr 1.1fr !important;
  gap: 40px !important;
  padding-bottom: 50px !important;
}

.sp-footer-col h4 {
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  border-bottom: 2px solid var(--sm-primary) !important;
  padding-bottom: 10px !important;
  margin-bottom: 22px !important;
  display: inline-block !important;
}

.sp-site-title {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  font-style: italic !important;
  font-size: 32px !important;
  color: #ffffff !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.5px !important;
}

.sp-site-tagline {
  font-size: 11px !important;
  letter-spacing: 3px !important;
  font-weight: 600 !important;
  color: var(--sm-primary) !important;
  text-transform: uppercase !important;
  margin: 0 0 18px !important;
}

.sp-site-about {
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  color: #aaa !important;
  margin-bottom: 18px !important;
}

.sp-social {
  display: flex !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

.sp-social a {
  width: 36px !important;
  height: 36px !important;
  background: #2a2a2a !important;
  display: grid !important;
  place-items: center !important;
  color: #ccc !important;
  text-decoration: none !important;
  border-radius: 50% !important;
  transition: all 0.2s !important;
}

.sp-social a:hover {
  background: var(--sm-primary) !important;
  color: #ffffff !important;
}

.sp-social svg {
  width: 16px !important;
  height: 16px !important;
}

.sp-post-item {
  display: flex !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
  align-items: flex-start !important;
}

.sp-post-thumb {
  width: 64px !important;
  height: 64px !important;
  flex-shrink: 0 !important;
  background: #2a2a2a !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

.sp-post-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.sp-post-title {
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #ddd !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 4px !important;
}

.sp-post-title:hover {
  color: var(--sm-primary) !important;
}

.sp-post-date {
  font-size: 11px !important;
  color: #777 !important;
}

.sp-subscribe-text {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #aaa !important;
  margin-bottom: 16px !important;
}

.sp-subscribe-form input[type="email"] {
  width: 100% !important;
  padding: 13px !important;
  border: 1px solid #444 !important;
  background: #222 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  margin-bottom: 10px !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
}

.sp-subscribe-form input[type="email"]:focus {
  outline: none !important;
  border-color: var(--sm-primary) !important;
}

.sp-subscribe-form input[type="submit"] {
  width: 100% !important;
  padding: 13px !important;
  background: var(--sm-primary) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  border: none !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

.sp-subscribe-form input[type="submit"]:hover {
  background: var(--sm-primary-dark) !important;
}

.sp-subscribe-privacy {
  font-size: 11px !important;
  color: #777 !important;
  margin-top: 10px !important;
}

.sp-subscribe-privacy a {
  color: var(--sm-primary) !important;
  text-decoration: none !important;
}

.sp-footer-bottom {
  border-top: 1px solid #2a2a2a !important;
  padding: 22px 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 12px !important;
  color: #777 !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.sp-footer-bottom a {
  color: #999 !important;
  text-decoration: none !important;
  margin: 0 8px !important;
}

.sp-footer-bottom a:hover {
  color: var(--sm-primary) !important;
}

/* Hide GeneratePress default footer */
.site-footer,
.footer-widgets,
.site-info {
  display: none !important;
}

/* ============= MOBILE RESPONSIVE ============= */
@media (max-width: 992px) {
  .sp-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 35px !important;
  }
}

@media (max-width: 768px) {
  .main-navigation .main-nav ul li a {
    font-size: 13px !important;
    padding: 16px 12px !important;
  }
  
  .site-title,
  .main-title {
    font-size: 32px !important;
  }
}

@media (max-width: 600px) {
  .sp-footer-grid {
    grid-template-columns: 1fr !important;
  }
  
  .sp-footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
  }
}

::selection {
  background: var(--sm-primary);
  color: #fff;
}
