/* =======================================================================
   ThryveDigest — Custom Theme Styles
   Theme: GeneratePress + GenerateBlocks Pro
   Version: 1.3 (fix: use single-cat-* on singles)
======================================================================= */

/* ========== 1) GeneratePress tweaks ========== */
.site-description{
  margin-top:1.2em; background-color:rgba(31,32,36,.4);
  padding:14px; border:1px solid #d0d4da;
}
.site{ box-shadow:0 0 20px -10px rgba(0,0,0,.3); }
.button,.submit{ border-radius:3px; }

@media (min-width:769px){
  .sidebar.is-right-sidebar>.inside-right-sidebar{ position:sticky; top:54px; }
  .archive .site-main .ratio-third{ display:grid; grid-template-columns:repeat(3,1fr); }
  .archive .site-main .ratio-third>.gb-loop-item:first-child{ grid-column:1/3; grid-row:1/3; }
}
.archive .site-main{ padding:30px; background-color:#f6f8fb; }

/* ========== 2) Color tokens ========== */
:root{
  --brand-primary:#1a2b44;
  --brand-accent:#53a7d9;

  --cat-health:#56B85A;
  --cat-wealth:#3AA1DC;
  --cat-smallbiz:#E29C04;
  --cat-lifestyle:#E4572E;

  --hover-health:rgba(86,184,90,.40);
  --hover-wealth:rgba(58,161,220,.40);
  --hover-smallbiz:rgba(226,156,4,.40);
  --hover-lifestyle:rgba(228,87,46,.40);
}

/* ========== 3) Hero (featured post) ========== */
.td-hero-card{ position:relative; min-height:520px; border-radius:8px; overflow:hidden; }
.td-hero-content{ position:absolute; left:20px; right:20px; bottom:20px; z-index:2; color:#fff; }
.td-hero-content a{ color:#fff; text-decoration:none; }
.td-hero-content a:hover{ text-decoration:underline; }
.td-hero-content h2,.td-hero-content .gb-text h2{ margin:0 0 10px; line-height:1.2; }
.td-hero-meta p{ margin:8px 0 0; font-size:14px; display:flex; gap:.5em; align-items:center; }
@media (max-width:767px){ .td-hero-card{ min-height:340px; } }
.td-hero-content .loop-term,.td-hero-content .gb-text.loop-term{ background:transparent; color:#fff; }

/* ========== 4) Category badges in loops/generic ========== */
.loop-term{ color:#fff; }
.loop-term a{ color:inherit!important; }
.category-health    .loop-term, .category-health    .loop-term a{ background:var(--cat-health)!important; }
.category-wealth    .loop-term, .category-wealth    .loop-term a{ background:var(--cat-wealth)!important; }
.category-lifestyle .loop-term, .category-lifestyle .loop-term a{ background:var(--cat-lifestyle)!important; }
[class*="category-small"] .loop-term,
[class*="category-small"] .loop-term a,
.loop-term.cat-small-business,
.loop-term.term-small-business{ background:var(--cat-smallbiz)!important; color:#fff!important; }

/* ========== 5) Buttons ========== */
.button,.wp-block-button .wp-block-button__link,.read-more a,
.gb-button a.gb-button-text,input[type="submit"],button[type="submit"]{
  background:var(--brand-accent); border:2px solid var(--brand-accent);
  color:#fff; border-radius:3px; font-weight:700; line-height:1.1;
  padding:.6em 1.1em; text-decoration:none;
  transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s;
}
.button:hover,.wp-block-button .wp-block-button__link:hover,.read-more a:hover,
.gb-button a.gb-button-text:hover,input[type="submit"]:hover,button[type="submit"]:hover{
  background:#3f96cc; border-color:#3f96cc; color:#fff;
}
.button:focus-visible,.wp-block-button .wp-block-button__link:focus-visible,
input[type="submit"]:focus-visible,button[type="submit"]:focus-visible{
  outline:2px solid #fff; box-shadow:0 0 0 3px var(--brand-accent);
}
.button:active,.wp-block-button .wp-block-button__link:active,
input[type="submit"]:active,button[type="submit"]:active{
  background:#2e7fb1; border-color:#2e7fb1;
}

/* =======================================================================
   6) NAVIGATION — robust (no :is())
======================================================================= */

/* Smooth hover transitions */
.main-navigation .main-nav > ul > li > a,
#site-navigation .main-nav > ul > li > a,
.primary-navigation .main-nav > ul > li > a{
  transition: background-color .15s ease, color .15s ease;
}

/* Neutral hover (keeps Home too) */
.main-navigation .main-nav > ul > li:hover > a,
#site-navigation .main-nav > ul > li:hover > a,
.primary-navigation .main-nav > ul > li:hover > a,
.main-navigation .main-nav > ul > li.sfHover > a,
#site-navigation .main-nav > ul > li.sfHover > a,
.primary-navigation .main-nav > ul > li.sfHover > a{
  background: rgba(26,43,68,.08) !important;
  color: #2b2b2b !important;
}

/* Colored hover by URL */
.main-navigation .main-nav > ul > li > a[href*="/health"]:hover,
#site-navigation .main-nav > ul > li > a[href*="/health"]:hover,
.primary-navigation .main-nav > ul > li > a[href*="/health"]:hover{ background:var(--hover-health)!important; color:#2b2b2b!important; }

.main-navigation .main-nav > ul > li > a[href*="/wealth"]:hover,
#site-navigation .main-nav > ul > li > a[href*="/wealth"]:hover,
.primary-navigation .main-nav > ul > li > a[href*="/wealth"]:hover{ background:var(--hover-wealth)!important; color:#2b2b2b!important; }

.main-navigation .main-nav > ul > li > a[href*="/small"]:hover,
#site-navigation .main-nav > ul > li > a[href*="/small"]:hover,
.primary-navigation .main-nav > ul > li > a[href*="/small"]:hover{ background:var(--hover-smallbiz)!important; color:#2b2b2b!important; }

.main-navigation .main-nav > ul > li > a[href*="/lifestyle"]:hover,
#site-navigation .main-nav > ul > li > a[href*="/lifestyle"]:hover,
.primary-navigation .main-nav > ul > li > a[href*="/lifestyle"]:hover{ background:var(--hover-lifestyle)!important; color:#2b2b2b!important; }

/* Neutralize GP current styles */
.main-navigation .main-nav > ul > li[class*="current-"] > a,
#site-navigation .main-nav > ul > li[class*="current-"] > a,
.primary-navigation .main-nav > ul > li[class*="current-"] > a{
  background:transparent!important; color:inherit!important;
}

/* Active — archives */
body.archive.category.category-health .main-navigation .main-nav > ul > li > a[href*="/health"],
body.archive.category.category-health #site-navigation .main-nav > ul > li > a[href*="/health"],
body.archive.category.category-health .primary-navigation .main-nav > ul > li > a[href*="/health"]{ background:var(--cat-health)!important; color:#fff!important; }

body.archive.category.category-wealth .main-navigation .main-nav > ul > li > a[href*="/wealth"],
body.archive.category.category-wealth #site-navigation .main-nav > ul > li > a[href*="/wealth"],
body.archive.category.category-wealth .primary-navigation .main-nav > ul > li > a[href*="/wealth"]{ background:var(--cat-wealth)!important; color:#fff!important; }

body.archive.category[class*="category-small"] .main-navigation .main-nav > ul > li > a[href*="/small"],
body.archive.category[class*="category-small"] #site-navigation .main-nav > ul > li > a[href*="/small"],
body.archive.category[class*="category-small"] .primary-navigation .main-nav > ul > li > a[href*="/small"]{ background:var(--cat-smallbiz)!important; color:#fff!important; }

body.archive.category.category-lifestyle .main-navigation .main-nav > ul > li > a[href*="/lifestyle"],
body.archive.category.category-lifestyle #site-navigation .main-nav > ul > li > a[href*="/lifestyle"],
body.archive.category.category-lifestyle .primary-navigation .main-nav > ul > li > a[href*="/lifestyle"]{ background:var(--cat-lifestyle)!important; color:#fff!important; }

/* Active — single posts (*** use single-cat-* ***) */
body.single.single-cat-health .main-navigation .main-nav > ul > li > a[href*="/health"],
body.single.single-cat-health #site-navigation .main-nav > ul > li > a[href*="/health"],
body.single.single-cat-health .primary-navigation .main-nav > ul > li > a[href*="/health"]{ background:var(--cat-health)!important; color:#fff!important; }

body.single.single-cat-wealth .main-navigation .main-nav > ul > li > a[href*="/wealth"],
body.single.single-cat-wealth #site-navigation .main-nav > ul > li > a[href*="/wealth"],
body.single.single-cat-wealth .primary-navigation .main-nav > ul > li > a[href*="/wealth"]{ background:var(--cat-wealth)!important; color:#fff!important; }

body.single[class*="single-cat-small"] .main-navigation .main-nav > ul > li > a[href*="/small"],
body.single[class*="single-cat-small"] #site-navigation .main-nav > ul > li > a[href*="/small"],
body.single[class*="single-cat-small"] .primary-navigation .main-nav > ul > li > a[href*="/small"]{ background:var(--cat-smallbiz)!important; color:#fff!important; }

body.single.single-cat-lifestyle .main-navigation .main-nav > ul > li > a[href*="/lifestyle"],
body.single.single-cat-lifestyle #site-navigation .main-nav > ul > li > a[href*="/lifestyle"],
body.single.single-cat-lifestyle .primary-navigation .main-nav > ul > li > a[href*="/lifestyle"]{ background:var(--cat-lifestyle)!important; color:#fff!important; }

/* Home active */
body.home .main-navigation .main-nav > ul > li.menu-item-home > a,
body.home #site-navigation .main-nav > ul > li.menu-item-home > a,
body.home .primary-navigation .main-nav > ul > li.menu-item-home > a{
  background:#1a2b44!important; color:#fff!important;
}

/* Keyboard focus */
.main-navigation .main-nav > ul > li > a:focus-visible,
#site-navigation .main-nav > ul > li > a:focus-visible,
.primary-navigation .main-nav > ul > li > a:focus-visible{
  outline:2px solid #fff; box-shadow:0 0 0 3px var(--brand-primary); border-radius:3px;
}

/* =======================================================================
   7) SINGLE — category badge pill (*** use single-cat-* ***)
======================================================================= */
.single .single-post-category,
.single .single-post-category a{
  display:inline-block;
  padding:10px 16px;
  border-radius:4px;
  font-weight:700;
  text-transform:uppercase;
  color:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
}
.single .single-post-category a{ background:inherit!important; }

/* Per-category colors (use single-cat-*) */
body.single.single-cat-health .single-post-category{ background:var(--cat-health)!important; }
body.single.single-cat-wealth .single-post-category{ background:var(--cat-wealth)!important; }
body.single[class*="single-cat-small"] .single-post-category{ background:var(--cat-smallbiz)!important; }
body.single.single-cat-lifestyle .single-post-category{ background:var(--cat-lifestyle)!important; }

/* =======================================================================
   8) Ad Framework
======================================================================= */
.ad-wrap--after-nav{ padding:12px 0; }
.ad-slot{
  display:flex; justify-content:center; align-items:center;
  margin:24px auto; text-align:center; line-height:0; max-width:100%;
  background:transparent; border:1px dashed #d0d4da; border-radius:6px; overflow:hidden;
}
.ad-slot:empty,
.ad-slot.is-empty,
.ad-slot [data-ad-status="unfilled"],
#ad-single-top.ad-slot:empty{ display:none!important; }

.ad--728{ width:100%; max-width:728px; min-height:90px; }
@media (max-width:768.98px){ .ad--728{ max-width:320px; min-height:50px; } }
.ad--336{ width:100%; max-width:336px; min-height:280px; }
@media (max-width:480px){ .ad--336{ max-width:300px; min-height:250px; } }
.ad--300x600{ width:100%; max-width:300px; min-height:600px; }
@media (max-width:1024px){ .ad--300x600{ min-height:250px; } }
.sidebar .ad-slot{ margin:0 0 24px; }
#ad-single-top.ad-slot{ margin:12px auto 16px; border:1px dashed #d0d4da; max-width:728px; width:100%; text-align:center; line-height:0; }
@media (min-width:769px){ #ad-single-top.ad-slot{ min-height:90px; } }
@media (max-width:768.98px){ #ad-single-top.ad-slot{ max-width:320px; min-height:100px; } }
.main-navigation + #ad-single-top{ margin-top:8px; }
#ad-single-top + .site-content{ margin-top:12px; }

/* =======================================================================
   9) Article spacing (tight headings)
======================================================================= */
.entry-content h1,.entry-content h2,.entry-content h3,
.entry-content h4,.entry-content h5,.entry-content h6,
.wp-block-heading{ margin-top:1.05em; margin-bottom:.1em; line-height:1.25; }
.entry-content h1 + *,
.entry-content h2 + *,
.entry-content h3 + *,
.entry-content h4 + *,
.entry-content h5 + *,
.entry-content h6 + *,
.wp-block-heading + *{ margin-top:0!important; }

.entry-content p{ margin-top:0; margin-bottom:1em; }
.entry-content ul,.entry-content ol{ margin-top:.2em; margin-bottom:1em; }
.entry-content blockquote,.entry-content figure,.entry-content pre,.entry-content table{
  margin-top:.2em; margin-bottom:1em;
}
.entry-content .gb-headline + *,
.entry-content .gb-container + *,
.entry-content .gb-grid + *{ margin-top:0!important; }

/* =======================================================================
   10) Contact page styling (replace XXXX)
======================================================================= */
.page-id-XXXX .inside-article{
  background:#f8fafc; border:1px solid #e1e5ea; border-radius:8px;
  padding:40px 30px; box-shadow:0 4px 12px rgba(0,0,0,.04);
}
.page-id-XXXX .gb-icon{ color:#1a2b44; margin-right:6px; }
.page-id-XXXX p:last-child{ font-size:15px; color:#4a4f57; margin-top:16px; text-align:center; }