/* ============================================================
   Tip Top Sleep — Design System (2026)
   Calm dawn/dusk palette · Fraunces + Inter · premium & trustworthy
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --tts-night:#1b1a2e; --tts-night-2:#272544;
  --tts-cream:#f7f3ec; --tts-cream-2:#efe8dd;
  --tts-ink:#22212b; --tts-muted:#67636f;
  --tts-accent:#e2a24c; --tts-accent-d:#c98a34;
  --tts-lav:#8a7fc4; --tts-sage:#7fa38c;
  --tts-card:#ffffff; --tts-line:#e8e0d4;
  --tts-shadow:0 10px 30px -12px rgba(27,26,46,.18);
  --tts-shadow-lg:0 24px 60px -20px rgba(27,26,46,.28);
  --tts-r:18px; --tts-r-sm:12px; --tts-r-lg:28px;
  --tts-serif:'Hanken Grotesk',-apple-system,'Segoe UI',sans-serif; /* headings (renamed from Fraunces → cleaner, more legible) */
  --tts-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --tts-max:1160px;
}

/* base */
body.tts{background:var(--tts-cream);color:var(--tts-ink);font-family:var(--tts-sans);
  font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;}
.tts h1,.tts h2,.tts h3,.tts h4{font-family:var(--tts-serif);color:var(--tts-night);
  line-height:1.12;letter-spacing:-.01em;font-weight:600;margin:0 0 .5em;}
.tts a{color:var(--tts-accent-d);text-decoration:none;}
.tts a:hover{text-decoration:underline;}

/* layout */
.tts-wrap{max-width:var(--tts-max);margin:0 auto;padding:0 24px;}
.tts-section{padding:88px 0;}
.tts-section--tight{padding:56px 0;}
.tts-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--tts-sans);
  font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tts-accent-d);margin-bottom:16px;}
.tts-eyebrow::before{content:"";width:26px;height:2px;background:var(--tts-accent);border-radius:2px;}
.tts-lead{font-size:20px;color:var(--tts-muted);max-width:60ch;}

/* buttons */
.tts-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--tts-sans);
  font-weight:600;font-size:16px;padding:15px 28px;border-radius:100px;cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;text-decoration:none;}
.tts-btn:hover{text-decoration:none;transform:translateY(-2px);}
.tts-btn--primary{background:var(--tts-night);color:#fff;box-shadow:var(--tts-shadow);}
.tts-btn--primary:hover{background:var(--tts-night-2);color:#fff;}
.tts-btn--accent{background:var(--tts-accent);color:var(--tts-night);}
.tts-btn--accent:hover{background:var(--tts-accent-d);color:var(--tts-night);}
.tts-btn--ghost{background:transparent;color:var(--tts-night);border:1.5px solid var(--tts-line);}
.tts-btn--ghost:hover{border-color:var(--tts-night);color:var(--tts-night);}
/* Button text must be visible AT REST, not only on hover. `.tts a{color:accent-d}` (0,1,1) was beating the single-class
   button color rules (0,1,0) -> amber-on-amber text until hover. Raise specificity so the button colours always win. */
.tts a.tts-btn--primary,.tts a.tts-btn--primary:hover{color:#fff;}
.tts a.tts-btn--accent,.tts a.tts-btn--accent:hover{color:var(--tts-night);}
.tts a.tts-btn--ghost,.tts a.tts-btn--ghost:hover{color:var(--tts-night);}

/* cards */
.tts-card{background:var(--tts-card);border:1px solid var(--tts-line);border-radius:var(--tts-r);
  box-shadow:var(--tts-shadow);overflow:hidden;}

/* HERO */
.tts-hero{position:relative;background:
  radial-gradient(120% 90% at 85% -10%, rgba(138,127,196,.28), transparent 60%),
  radial-gradient(90% 80% at 5% 110%, rgba(226,162,76,.20), transparent 55%),
  linear-gradient(180deg,#faf7f1,#f2eadd),var(--tts-cream);
  overflow:hidden;}
.tts-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;
  padding:96px 0 84px;}
.tts-hero h1{font-size:clamp(38px,5vw,60px);font-weight:600;}
.tts-hero .tts-lead{font-size:21px;margin:22px 0 32px;}
.tts-hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.tts-hero-media{position:relative;}
.tts-hero-media img{width:100%;border-radius:var(--tts-r-lg);box-shadow:var(--tts-shadow-lg);
  display:block;aspect-ratio:4/3;object-fit:cover;}
.tts-hero-badge{position:absolute;left:-18px;bottom:24px;background:#fff;border-radius:16px;
  padding:14px 18px;box-shadow:var(--tts-shadow);display:flex;align-items:center;gap:12px;
  max-width:250px;border:1px solid var(--tts-line);}
.tts-hero-badge img{width:46px;height:46px;border-radius:50%;object-fit:cover;aspect-ratio:1;}
.tts-hero-badge b{font-family:var(--tts-sans);font-size:14px;color:var(--tts-night);display:block;}
.tts-hero-badge span{font-size:12.5px;color:var(--tts-muted);}

/* trust bar */
.tts-trustbar{display:flex;gap:30px;flex-wrap:wrap;justify-content:center;
  padding:22px 0;border-top:1px solid var(--tts-line);border-bottom:1px solid var(--tts-line);
  background:rgba(255,255,255,.5);}
.tts-trustbar span{font-family:var(--tts-sans);font-size:14.5px;color:var(--tts-muted);
  display:inline-flex;align-items:center;gap:9px;font-weight:500;}
.tts-trustbar svg{color:var(--tts-accent-d);flex:none;}

/* PILLARS */
.tts-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.tts-pillar{padding:34px 30px 30px;display:flex;flex-direction:column;
  transition:transform .18s ease,box-shadow .18s ease;text-decoration:none;color:inherit;}
.tts-pillar:hover{transform:translateY(-4px);box-shadow:var(--tts-shadow-lg);text-decoration:none;}
.tts-pillar-ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;
  margin-bottom:20px;}
.tts-pillar-ic svg{width:28px;height:28px;}
.tts-pill-1 .tts-pillar-ic{background:rgba(226,162,76,.16);color:var(--tts-accent-d);}
.tts-pill-2 .tts-pillar-ic{background:rgba(138,127,196,.16);color:var(--tts-lav);}
.tts-pill-3 .tts-pillar-ic{background:rgba(127,163,140,.16);color:var(--tts-sage);}
.tts-pillar h3{font-size:23px;margin-bottom:8px;}
.tts-pillar p{color:var(--tts-muted);font-size:16px;margin:0 0 18px;flex:1;}
.tts-pillar .tts-more{font-family:var(--tts-sans);font-weight:600;font-size:15px;
  color:var(--tts-night);display:inline-flex;gap:7px;align-items:center;}
.tts-pillar:hover .tts-more{color:var(--tts-accent-d);}

/* MEET MICHELLE */
.tts-author{background:var(--tts-night);color:#efeaf6;border-radius:var(--tts-r-lg);
  display:grid;grid-template-columns:.7fr 1.3fr;gap:0;overflow:hidden;box-shadow:var(--tts-shadow-lg);}
.tts-author-img img{width:100%;height:100%;min-height:340px;object-fit:cover;display:block;}
.tts-author-body{padding:48px 46px;}
.tts-author-body .tts-eyebrow{color:var(--tts-accent);}
.tts-author-body h2{color:#fff;font-size:32px;}
.tts-author-body p{color:#cfc9dc;font-size:17px;}
.tts-author-sig{font-family:var(--tts-serif);font-size:22px;color:var(--tts-accent);margin-top:6px;}

/* GUIDES */
.tts-guides{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tts-guide{display:flex;flex-direction:column;text-decoration:none;color:inherit;
  transition:transform .18s ease,box-shadow .18s ease;}
.tts-guide:hover{transform:translateY(-4px);box-shadow:var(--tts-shadow-lg);text-decoration:none;}
.tts-guide-media{aspect-ratio:16/10;
  background:linear-gradient(135deg,rgba(138,127,196,.28),rgba(226,162,76,.25));}
.tts-guide-media img{width:100%;height:100%;object-fit:cover;display:block;}
.tts-guide-body{padding:22px 22px 24px;}
.tts-tag{font-family:var(--tts-sans);font-size:12px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tts-accent-d);}
.tts-guide h3{font-size:20px;margin:8px 0 0;line-height:1.25;}

/* section heads */
.tts-head{text-align:center;max-width:640px;margin:0 auto 48px;}
.tts-head h2{font-size:clamp(28px,3.5vw,40px);}
.tts-head p{color:var(--tts-muted);font-size:18px;margin-top:8px;}

/* disclaimer note */
.tts-disc{background:var(--tts-cream-2);border:1px solid var(--tts-line);border-radius:var(--tts-r-sm);
  padding:18px 22px;font-size:14px;color:var(--tts-muted);max-width:var(--tts-max);
  margin:0 auto;line-height:1.6;}
.tts-disc b{color:var(--tts-ink);}

/* responsive */
@media(max-width:900px){
  .tts-hero-grid{grid-template-columns:1fr;gap:36px;padding:64px 0 56px;}
  .tts-hero-media{order:-1;}
  .tts-pillars,.tts-guides{grid-template-columns:1fr;}
  .tts-author{grid-template-columns:1fr;}
  .tts-author-img img{min-height:260px;}
  .tts-section{padding:60px 0;}
}

/* ---- Homepage: break out of Astra container for full-width sections ---- */
body.tts-fw #content .ast-container{max-width:100%!important;padding-left:0!important;padding-right:0!important;}
body.tts-fw #primary,body.tts-fw #main{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important;}
body.tts-fw .ast-article-single{padding:0!important;border:0!important;}
body.tts-fw .site-content{padding:0!important;}
body.tts-fw .entry-header,body.tts-fw .ast-single-post .entry-title{display:none!important;}

/* ============================================================
   HEADER + FOOTER (custom, replacing Astra chrome)
   ============================================================ */
#masthead,.site-header,.ast-above-header,.ast-below-header,
.ast-mobile-header-wrap,#ast-mobile-header{display:none!important;}
.site-footer,footer.site-footer,.ast-small-footer,.footer-adv{display:none!important;}

/* header */
.tts-hd{position:sticky;top:0;z-index:999;background:rgba(247,243,236,.86);
  backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--tts-line);}
.tts-hd-inner{display:flex;align-items:center;justify-content:space-between;height:74px;}
.tts-logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;}
.tts-logo:hover{text-decoration:none;}
.tts-logo-mark{display:inline-flex;line-height:0;}
.tts-logo-txt{font-family:var(--tts-serif);font-weight:600;font-size:22px;letter-spacing:-.01em;line-height:1;}
.tts-logo-txt em{font-style:italic;}
.tts-nav{display:flex;align-items:center;gap:4px;}
.tts-nav>a{font-family:var(--tts-sans);font-weight:500;font-size:15px;color:var(--tts-ink);
  padding:9px 14px;border-radius:100px;text-decoration:none;transition:background .15s,color .15s;}
.tts-nav>a:hover{background:rgba(27,26,46,.06);color:var(--tts-night);text-decoration:none;}
.tts-nav-cta{background:var(--tts-night)!important;color:#fff!important;padding:10px 20px!important;
  margin-left:8px;font-weight:600!important;}
.tts-nav-cta:hover{background:var(--tts-night-2)!important;}
.tts-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.tts-burger span{width:24px;height:2px;background:var(--tts-night);border-radius:2px;transition:.2s;}

/* footer */
.tts-ft{background:var(--tts-night);color:#cfc9dc;padding:64px 0 26px;margin-top:auto;}
.tts-ft-top{display:grid;grid-template-columns:1.4fr 2fr;gap:48px;padding-bottom:38px;
  border-bottom:1px solid rgba(255,255,255,.1);}
.tts-logo--dark .tts-logo-txt{font-size:22px;}
.tts-ft-brand p{color:#a9a3bd;font-size:15px;margin:16px 0 18px;max-width:44ch;line-height:1.6;}
.tts-ft-social{display:flex;gap:10px;}
.tts-ft-social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.08);color:#cfc9dc;transition:background .15s,color .15s;}
.tts-ft-social a:hover{background:var(--tts-accent);color:var(--tts-night);text-decoration:none;}
.tts-ft-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.tts-ft-cols h4{font-family:var(--tts-sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;margin:0 0 12px;font-weight:600;}
.tts-ft-cols a{display:block;color:#a9a3bd;font-size:15px;padding:6px 0;text-decoration:none;transition:color .15s;}
.tts-ft-cols a:hover{color:var(--tts-accent);text-decoration:none;}
.tts-ft-disc{padding:24px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.tts-ft-disc p{color:#8f89a3;font-size:12.5px;line-height:1.65;margin:0 0 10px;max-width:none;}
.tts-ft-disc b{color:#cfc9dc;}
.tts-ft-bar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:22px;
  color:#7b7591;font-size:13px;font-family:var(--tts-sans);}

@media(max-width:900px){
  .tts-nav{position:fixed;left:0;right:0;top:74px;background:var(--tts-cream);flex-direction:column;
    align-items:stretch;padding:14px 24px 22px;gap:2px;border-bottom:1px solid var(--tts-line);
    box-shadow:var(--tts-shadow);transform:translateY(-145%);transition:transform .25s ease;z-index:998;}
  body.tts-menu-open .tts-nav{transform:translateY(0);}
  .tts-nav>a{padding:13px 12px;font-size:17px;}
  .tts-nav-cta{margin-left:0;text-align:center;margin-top:6px;}
  .tts-burger{display:flex;}
  .tts-ft-top{grid-template-columns:1fr;gap:32px;}
  .tts-ft-bar{flex-direction:column;gap:6px;}
}

/* ---- About page ---- */
.tts-prose{max-width:760px;margin:0 auto;}
.tts-prose h2{font-size:clamp(26px,3vw,34px);margin-bottom:18px;}
.tts-prose p{font-size:18px;color:#3a3844;margin:0 0 20px;line-height:1.75;}
.tts-pull{font-family:var(--tts-serif);font-size:24px;line-height:1.4;color:var(--tts-night);
  border-left:3px solid var(--tts-accent);padding:6px 0 6px 24px;margin:28px 0;font-style:italic;}
.tts-values{display:flex;gap:26px;padding:38px 40px;align-items:flex-start;max-width:900px;margin:0 auto;}
.tts-values-ic{flex:none;width:60px;height:60px;border-radius:16px;display:grid;place-items:center;
  background:rgba(127,163,140,.16);color:var(--tts-sage);}
.tts-values h3{font-size:24px;margin-bottom:12px;}
.tts-values p{color:var(--tts-muted);font-size:16.5px;margin:0 0 14px;line-height:1.7;}
.tts-values b{color:var(--tts-ink);}
@media(max-width:900px){.tts-values{flex-direction:column;gap:18px;padding:28px 24px;}}

/* About hero: shorter headline, balanced */
.tts-hero--about .tts-hero-grid{align-items:center;}
.tts-hero--about h1{font-size:clamp(32px,3.8vw,46px);}
.tts-hero--about .tts-hero-media img{aspect-ratio:5/4;}

/* ============================================================
   CONTENT PAGES (single posts, archives, default pages)
   Kill Astra white "boxed" card + apply design-system typography
   ============================================================ */
.ast-separate-container{background-color:transparent!important;}
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container #primary .ast-article-single,
.ast-separate-container .comment-respond,
.ast-separate-container .ast-comment-list .comment-body,
.ast-separate-container .ast-woocommerce-container{
  background:transparent!important;box-shadow:none!important;border:0!important;}

/* breathing room under sticky header + readable widths */
.single #primary,.archive #primary,.page:not(.tts-fw) #primary,
.error404 #primary,.search #primary,.blog #primary{padding-top:46px;padding-bottom:64px;}
.single .ast-container,.page:not(.tts-fw) .ast-container{max-width:1080px;}
.single .entry-header,.single .entry-content,.single .post-meta,
.single .ast-single-post-order,.single nav.post-navigation,
.page:not(.tts-fw) .entry-header,.page:not(.tts-fw) .entry-content{
  max-width:750px;margin-left:auto;margin-right:auto;float:none;}

/* typography */
.entry-title,.ast-archive-title{font-family:var(--tts-serif)!important;font-weight:600;
  color:var(--tts-night);letter-spacing:-.01em;line-height:1.15;}
.single .entry-title{font-size:clamp(30px,4vw,44px);margin-bottom:16px;}
.entry-content{font-family:var(--tts-sans);font-size:18px;line-height:1.78;color:#38363f;}
.entry-content p{margin:0 0 20px;}
.entry-content h2{font-family:var(--tts-serif);font-size:29px;color:var(--tts-night);margin:40px 0 14px;}
.entry-content h3{font-family:var(--tts-serif);font-size:23px;color:var(--tts-night);margin:30px 0 10px;}
.entry-content a{color:var(--tts-accent-d);text-decoration:underline;text-underline-offset:2px;}
.entry-content img{border-radius:var(--tts-r);height:auto;}
.entry-content ul,.entry-content ol{margin:0 0 20px;padding-left:22px;}
.entry-content li{margin:8px 0;}
.entry-content blockquote{border-left:3px solid var(--tts-accent);background:var(--tts-cream-2);
  border-radius:0 12px 12px 0;padding:16px 22px;margin:24px 0;font-style:italic;color:var(--tts-night);}
.single .wp-post-image,.ast-single-post .wp-post-image{border-radius:var(--tts-r);}
.ast-single-post .entry-meta,.single .post-meta,.entry-meta{color:var(--tts-muted);font-size:14.5px;}
.ast-archive-description{max-width:1080px;margin:0 auto;padding:24px 0 10px;text-align:center;}

/* ---- About: unify widths + soften the values card ---- */
.tts-prose{max-width:800px;}
.tts-hero--about .tts-hero-grid{grid-template-columns:1.25fr .75fr;}
.tts-values{max-width:800px;background:var(--tts-cream-2);box-shadow:none;}

/* ---- Single/page/archive: drop empty sidebar, center content, tighten top ---- */
.single #secondary,.page:not(.tts-fw) #secondary,.archive #secondary,
.error404 #secondary,.search #secondary,.blog #secondary{display:none!important;}
.single .content-area.primary,.page:not(.tts-fw) .content-area.primary,
.archive .content-area.primary,.blog .content-area.primary,
.single #primary,.page:not(.tts-fw) #primary,.archive #primary{
  width:100%!important;max-width:100%!important;flex:0 0 100%!important;}
.single #primary,.archive #primary,.page:not(.tts-fw) #primary,
.error404 #primary,.search #primary,.blog #primary{padding-top:24px!important;}
.single .ast-article-single,.page:not(.tts-fw) .ast-article-single{padding-top:0!important;}

/* ---- No underline on chrome/components (only in-content prose links underline) ---- */
.tts a.tts-logo,.tts a.tts-logo:hover,
.tts-nav a,.tts-nav a:hover,
.tts-ft a,.tts-ft a:hover,
.tts-btn,.tts-btn:hover,
.tts-pillar,.tts-pillar:hover,.tts-guide,.tts-guide:hover,
.tts-more,.tts-hero-cta a,.tts-hero-cta a:hover{text-decoration:none!important;}

/* ============================================================
   SLEEP TOOLKIT landing
   ============================================================ */
.tts-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--tts-sans);font-weight:600;
  font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:100px;margin-bottom:12px;}
.tts-badge--strong{background:rgba(127,163,140,.18);color:#4a7a5e;}
.tts-badge--mod{background:rgba(226,162,76,.20);color:var(--tts-accent-d);}
.tts-badge--weak{background:rgba(103,99,111,.14);color:var(--tts-muted);}

.tts-tk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.tts-tk-card{display:flex;gap:20px;padding:22px;text-decoration:none;color:inherit;align-items:center;
  background:var(--tts-card);border:1px solid var(--tts-line);border-radius:var(--tts-r);box-shadow:var(--tts-shadow);
  transition:transform .18s ease,box-shadow .18s ease;}
.tts-tk-card:hover{transform:translateY(-3px);box-shadow:var(--tts-shadow-lg);text-decoration:none;}
.tts-tk-img{flex:none;width:118px;height:118px;border-radius:14px;background:#fff;border:1px solid var(--tts-line);
  display:grid;place-items:center;padding:10px;}
.tts-tk-img img{max-width:100%;max-height:100%;object-fit:contain;}
.tts-tk-body{flex:1;min-width:0;}
.tts-tk-body h3{font-size:19px;margin:0 0 8px;line-height:1.25;}
.tts-tk-body p{color:var(--tts-muted);font-size:14.5px;line-height:1.55;margin:0 0 14px;}
.tts-tk-btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--tts-sans);font-weight:600;
  font-size:14px;color:var(--tts-night);background:var(--tts-accent);padding:9px 16px;border-radius:100px;}
.tts-tk-card:hover .tts-tk-btn{background:var(--tts-accent-d);}

.tts-tk-hero-note{display:flex;gap:22px;padding:30px 32px;margin-bottom:26px;align-items:flex-start;
  background:linear-gradient(120deg,rgba(138,127,196,.10),rgba(226,162,76,.08)),#fff;}
.tts-tk-hero-ic{flex:none;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;
  background:var(--tts-night);color:var(--tts-accent);}
.tts-tk-hero-note h3{font-size:22px;margin:2px 0 8px;}
.tts-tk-hero-note p{color:var(--tts-muted);font-size:16px;line-height:1.65;margin:0;}
.tts-tk-hero-note b{color:var(--tts-ink);}

.tts-tk-honest{padding:26px 28px;background:var(--tts-cream-2);display:flex;flex-direction:column;justify-content:center;}
.tts-tk-honest p{font-size:15px;line-height:1.6;color:var(--tts-muted);margin:0 0 12px;}
.tts-tk-honest p:last-child{margin:0;}
.tts-tk-honest b{color:var(--tts-ink);}

.tts-skip{padding:38px 40px;background:var(--tts-night);}
.tts-skip .tts-eyebrow{color:var(--tts-accent);}
.tts-skip h2{color:#fff;}
.tts-skip .tts-head p{color:#b7b1c7;}
.tts-skip-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.tts-skip-list li{color:#cfc9dc;font-size:15.5px;line-height:1.6;padding-left:28px;position:relative;}
.tts-skip-list li::before{content:"✕";position:absolute;left:0;top:0;color:#e0796a;font-weight:700;}
.tts-skip-list b{color:#fff;}

@media(max-width:900px){
  .tts-tk-grid{grid-template-columns:1fr;}
  .tts-tk-hero-note{flex-direction:column;gap:14px;padding:24px;}
  .tts-skip{padding:28px 22px;}
}
@media(max-width:520px){
  .tts-tk-card{flex-direction:column;text-align:center;align-items:center;}
}

/* ---- Recovery post components ---- */
.entry-content .tts-figure{margin:28px 0;}
.entry-content .tts-figure img{width:100%;height:auto;border-radius:var(--tts-r);border:1px solid var(--tts-line);}
.entry-content .tts-figure figcaption{font-size:14px;color:var(--tts-muted);text-align:center;margin-top:10px;font-style:italic;}
.entry-content .tts-timeline{list-style:none;padding:0;margin:0 0 20px;}
.entry-content .tts-timeline li{position:relative;padding:12px 0 12px 24px;border-left:2px solid var(--tts-line);margin:0;}
.entry-content .tts-timeline li::before{content:"";position:absolute;left:-8px;top:18px;width:13px;height:13px;border-radius:50%;background:var(--tts-accent);border:2px solid var(--tts-cream);}
.entry-content .tts-faq h3{font-size:19px;margin:22px 0 6px;}
.entry-content .tts-faq p{margin-top:0;}
.entry-content .tts-sources{font-size:14px;color:var(--tts-muted);background:var(--tts-cream-2);padding:16px 20px;border-radius:12px;line-height:1.6;}
.entry-content hr{border:0;border-top:1px solid var(--tts-line);margin:34px 0;}
.entry-content .tts-tk-btn{text-decoration:none!important;}
.entry-content .tts-tk-card h3{margin-top:0;}

/* ---- Typography refresh (Hanken Grotesk headings) + bigger post title ---- */
.tts h1,.tts h2,.tts h3,.tts h4,.entry-title,.ast-archive-title{font-weight:700;letter-spacing:-.02em;}
.single .entry-title{font-size:clamp(34px,4.6vw,50px);line-height:1.12;margin-bottom:18px;}
.tts-hero h1{font-weight:800;letter-spacing:-.025em;}

/* ---- Our-pick card in posts: full width + fix button contrast (was amber-on-amber = invisible) ---- */
.entry-content .tts-tk-card{max-width:100%!important;}
.entry-content .tts-tk-btn,.entry-content .tts-tk-card:hover .tts-tk-btn{color:var(--tts-night)!important;}
/* ---- Fix: tall/portrait product images (e.g. FUTURO wrist splint) overflowed the 118px thumb and overlapped body text.
   Cause: .entry-content img{height:auto} (equal specificity, later in cascade) beat .tts-tk-img img's max-height, and the
   grid parent's row track is auto so a % max-height never resolved. Fix = higher-specificity rule with a DEFINITE px cap + clip. ---- */
.entry-content .tts-tk-img{overflow:hidden;}
.entry-content .tts-tk-img img{max-width:100%;max-height:98px;width:auto;height:auto;object-fit:contain;}

/* ============================================================
   SINGLE POST layout + sticky TOC sidebar
   ============================================================ */
.tts-post-primary{padding:40px 0 40px;}
.tts-post-grid{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:56px;align-items:start;padding-top:60px;padding-bottom:72px;}
.tts-post-main{min-width:0;max-width:768px;}
.tts-post-main .entry-content{max-width:none!important;margin:0!important;}
.tts-post-cats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.tts-post-cats a{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tts-accent-d);text-decoration:none;}
.tts-post-main .entry-title{margin-bottom:8px;}
.tts-post-byline{display:flex;align-items:center;gap:10px;margin:14px 0 26px;color:var(--tts-muted);font-size:14.5px;}
.tts-post-byline img{border-radius:50%;object-fit:cover;}
.tts-post-byline b{color:var(--tts-ink);font-weight:600;}
.tts-post-hero{margin:0 0 30px;}
.tts-post-hero img{width:100%;height:auto;border-radius:var(--tts-r);border:1px solid var(--tts-line);display:block;}

.tts-post-aside{position:sticky;top:94px;display:flex;flex-direction:column;gap:18px;}
.tts-toc-card{background:#fff;border:1px solid var(--tts-line);border-radius:var(--tts-r);padding:20px 22px;box-shadow:var(--tts-shadow);}
.tts-toc-title{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tts-muted);margin-bottom:12px;}
#tts-toc{display:flex;flex-direction:column;gap:1px;}
#tts-toc a{font-size:14.5px;line-height:1.35;color:var(--tts-muted);text-decoration:none;padding:7px 0 7px 13px;border-left:2px solid var(--tts-line);transition:color .15s,border-color .15s;}
#tts-toc a:hover{color:var(--tts-night);}
#tts-toc a.active{color:var(--tts-night);border-left-color:var(--tts-accent);font-weight:600;}
.tts-toc-cta{display:block;background:var(--tts-night);color:#cfc9dc;border-radius:var(--tts-r);padding:20px 22px;text-decoration:none!important;font-size:13.5px;line-height:1.5;transition:background .15s;}
.tts-toc-cta:hover{background:var(--tts-night-2);color:#cfc9dc;}
.tts-toc-cta-k{display:block;font-family:var(--tts-serif);font-weight:700;font-size:16px;color:#fff;margin-bottom:6px;}

/* hide in-content TOC plugins (sidebar TOC replaces them) */
.lwptoc,.lwptoc_i,#ftoc,.toc_widget,.ez-toc-container,.lwptoc-autoResize{display:none!important;}

@media(max-width:980px){
  .tts-post-grid{grid-template-columns:1fr;gap:0;}
  .tts-post-aside{position:static;margin-top:34px;}
  .tts-toc-card{display:none;}
  .tts-post-main{max-width:none;}
}

/* ---- Answer-first box (featured snippet + AI extraction) ---- */
.entry-content .tts-answer{background:linear-gradient(120deg,rgba(226,162,76,.12),rgba(138,127,196,.10)),#fff;
  border:1px solid var(--tts-line);border-left:4px solid var(--tts-accent);border-radius:14px;padding:18px 22px;margin:0 0 26px;}
.entry-content .tts-answer-k{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tts-accent-d);margin-bottom:6px;}
.entry-content .tts-answer p{margin:0;font-size:17.5px;line-height:1.6;color:var(--tts-ink);}
.tts-post-byline a{color:inherit;text-decoration:none;}
.tts-post-byline a:hover b{color:var(--tts-accent-d);}

/* ---- Stronger sidebar CTA ---- */
.tts-toc-cta-eyebrow{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tts-accent);margin-bottom:9px;}
.tts-toc-cta-k{display:block;font-family:var(--tts-serif);font-weight:700;font-size:18px!important;color:#fff;line-height:1.2;margin-bottom:9px;}
.tts-toc-cta-sub{display:block;font-size:13.5px;color:#b7b1c7;line-height:1.5;margin-bottom:13px;}
.tts-toc-cta-go{display:inline-block;font-weight:600;font-size:14px;color:var(--tts-accent);}
.tts-toc-cta:hover .tts-toc-cta-go{color:#f0c078;}

/* ============================================================
   Recovery Sleep hub (/category/recovery-sleep/)
   ============================================================ */
.tts-hero--slim{padding:64px 0 22px;text-align:left;}
.tts-hero--slim h1{max-width:20ch;}
.tts-hero--slim .tts-lead{max-width:64ch;}
.tts-rhub-trust{display:flex;gap:26px;flex-wrap:wrap;margin-top:22px;font-size:14px;color:var(--tts-muted);}
.tts-rhub-trust span{display:inline-flex;align-items:center;gap:8px;}
.tts-rhub-trust svg{color:var(--tts-sage);flex:none;}
/* exact diagram ratio so the title + labels are never cropped (they would be at 16/10 cover) */
.tts-rhub .tts-guide-media,.tts-guides--dia .tts-guide-media{aspect-ratio:1264/1024;background:#f7f3ec;}
.tts-rhub .tts-guide{background:var(--tts-card);border:1px solid var(--tts-line);border-radius:var(--tts-r);overflow:hidden;box-shadow:var(--tts-shadow);}
.tts-rhub .tts-guide:hover{transform:translateY(-3px);box-shadow:var(--tts-shadow-lg);}
.tts-rhub .tts-guide-body h3{font-size:18.5px;margin:8px 0 12px;line-height:1.3;}
.tts-rhub-grouphead{margin:0 0 26px;}
.tts-rhub-grouphead h2{font-size:25px;margin:0;padding-bottom:13px;border-bottom:2px solid var(--tts-line);}
.tts-rhub-corner{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;background:var(--tts-card);border:1px solid var(--tts-line);border-radius:var(--tts-r);overflow:hidden;box-shadow:var(--tts-shadow);text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease;}
.tts-rhub-corner:hover{transform:translateY(-3px);box-shadow:var(--tts-shadow-lg);text-decoration:none;}
.tts-rhub-corner-media{aspect-ratio:1264/1024;background:#f7f3ec;}
.tts-rhub-corner-media img{width:100%;height:100%;object-fit:cover;display:block;}
.tts-rhub-corner-body{padding:34px 40px;align-self:center;}
.tts-rhub-corner-body h2{font-size:27px;margin:8px 0 14px;line-height:1.2;}
.tts-rhub-corner-body p{color:var(--tts-muted);line-height:1.6;margin:0 0 16px;}
.tts-rhub-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;background:var(--tts-cream-2);border:1px solid var(--tts-line);border-radius:var(--tts-r);padding:30px 34px;}
.tts-rhub-cta h2{font-size:23px;margin:0 0 8px;}
.tts-rhub-cta p{color:var(--tts-muted);margin:0;max-width:60ch;}
.tts-rhub-cta .tts-btn{flex:none;}
@media(max-width:800px){
  .tts-rhub-corner{grid-template-columns:1fr;}
  .tts-rhub-cta{flex-direction:column;align-items:flex-start;}
}
