/* ============================================================
   GutReset21 — design upgrade patch
   Focus: premium editorial feel, readability, mobile conversion,
   accessible spacing, consistent buttons/cards, and safer font fallback.
   ============================================================ */
:root{
  --green:#2d6a4f;
  --green-dark:#143d2c;
  --green-mid:#40916c;
  --green-light:#d8f3dc;
  --green-pale:#f4fbf5;
  --amber:#d96500;
  --amber-dark:#b85200;
  --cream:#fffaf1;
  --paper:#fffdf8;
  --ink:#17211c;
  --muted:#56655d;
  --border:#d9e6dd;
  --shadow-soft:0 18px 45px rgba(27,67,50,.10);
  --shadow-card:0 10px 28px rgba(27,67,50,.08);
  --radius-xl:22px;
}
html{font-size:100%;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  color:var(--ink)!important;
  background:linear-gradient(180deg,#fffdf8 0%,#ffffff 26%,#f8fdf9 100%)!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.nav-logo,.section-title,.page-hero h1,.hero h1,.article h1,.article h2,.footer-brand{
  font-family:Georgia,"Times New Roman",serif!important;
  letter-spacing:-.018em;
}
a{transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(231,111,0,.35);outline-offset:3px;}
.nav{backdrop-filter:saturate(180%) blur(14px);background:rgba(255,255,255,.92)!important;box-shadow:0 8px 24px rgba(27,67,50,.06);}
.nav-inner,.footer-inner{max-width:1120px!important;}
.nav-logo{font-size:21px!important;}
.nav-links a{position:relative;}
.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--green-mid);transform:scaleX(0);transform-origin:left;transition:transform .18s ease;}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-cta,.btn-primary,.btn-hero,.btn-email,.cta-button,.buy-button,.btn-secondary,.post-read-more{
  border-radius:999px!important;
}
.nav-cta,.btn-primary,.btn-hero,.btn-email,.cta-button,.buy-button{
  background:linear-gradient(180deg,var(--amber) 0%,var(--amber-dark) 100%)!important;
  box-shadow:0 10px 22px rgba(217,101,0,.24)!important;
}
.nav-cta:hover,.btn-primary:hover,.btn-hero:hover,.btn-email:hover,.cta-button:hover,.buy-button:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(217,101,0,.30)!important;
}
.hero,.page-hero{
  position:relative;
  overflow:hidden;
}
.hero::before,.page-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.16) 0,transparent 30%),
    radial-gradient(circle at 88% 18%,rgba(183,228,199,.25) 0,transparent 28%);
}
.hero-inner,.page-hero-inner,.section,.main{position:relative;z-index:1;}
.hero-inner{max-width:1120px!important;gap:64px!important;}
.hero{padding-top:92px!important;padding-bottom:84px!important;}
.hero-tag,.section-label,.post-tag{
  letter-spacing:.12em!important;
  font-weight:800!important;
}
.hero-sub,.page-hero p,.section p{max-width:720px;}
.hero-book-img,.hero-book,.product-image,.book-cover,img[src*="ebook-cover"]{
  filter:drop-shadow(0 22px 26px rgba(27,67,50,.20));
}
.section,.main{max-width:1000px!important;}
.section{padding-top:78px!important;padding-bottom:78px!important;}
.section-alt,.trust-bar,.page-hero{background:linear-gradient(180deg,var(--green-pale),#ffffff)!important;}
.card,.pain-card,.bonus-card,.inside-card,.post-card,.feature-card,.review-card,.faq-item,.author-card,.guarantee-box,.price-card,.product-card,.content-card{
  border:1px solid var(--border)!important;
  border-radius:var(--radius-xl)!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:var(--shadow-card)!important;
}
.post-card{overflow:hidden;}
.post-card:hover,.pain-card:hover,.bonus-card:hover,.inside-card:hover,.feature-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-soft)!important;
}
.post-card-img{background:linear-gradient(135deg,#f7fff8 0%,#d8f3dc 100%)!important;}
.article,.article-body,.post-content,.content,.legal-content{
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.article p,.article li,.post-content p,.post-content li,.legal-content p,.legal-content li{
  font-size:18px!important;
  line-height:1.82!important;
}
.article h2,.post-content h2,.legal-content h2{
  margin-top:44px!important;
  margin-bottom:16px!important;
  color:var(--green-dark)!important;
}
.article h3,.post-content h3,.legal-content h3{margin-top:30px!important;color:var(--ink)!important;}
.article ul,.article ol,.post-content ul,.post-content ol,.legal-content ul,.legal-content ol{padding-left:1.35em!important;margin:18px 0 24px!important;}
.article li+li,.post-content li+li,.legal-content li+li{margin-top:10px!important;}
blockquote,.note-box,.callout,.tip-box{
  border-left:5px solid var(--green-mid)!important;
  background:var(--green-pale)!important;
  border-radius:16px!important;
  padding:20px 24px!important;
}
.faq-item{padding:24px!important;margin-bottom:16px!important;}
.faq-item h3,.faq-item summary{color:var(--green-dark)!important;}
.email-strip,.final-cta,.cta-section{
  border-radius:28px!important;
  background:linear-gradient(150deg,var(--green-dark),var(--green))!important;
  box-shadow:var(--shadow-soft)!important;
}
.email-input{box-shadow:inset 0 0 0 1px rgba(27,67,50,.12);}
.footer{background:#102d22!important;}
.footer a:hover{color:#fff!important;}
img{border-radius:inherit;}
@media(max-width:820px){
  .hero{padding:64px 20px 56px!important;}
  .hero-inner{grid-template-columns:1fr!important;text-align:left!important;gap:34px!important;}
  .hero-book,.hero-visual{justify-content:flex-start!important;}
  .hero-book-img,img[src*="ebook-cover"]{max-width:220px!important;}
  .trust-inner{gap:14px!important;justify-content:flex-start!important;}
  .trust-item{background:#fff;border:1px solid var(--border);border-radius:999px;padding:8px 12px;}
  .section,.main{padding-left:20px!important;padding-right:20px!important;}
  .pain-grid,.blog-grid,.bonus-grid,.inside-grid,.features-grid{grid-template-columns:1fr!important;}
}
@media(max-width:640px){
  body{font-size:16px!important;line-height:1.7!important;}
  .nav{position:sticky!important;}
  .nav-inner{padding:12px 16px!important;}
  .nav-links{display:flex!important;gap:10px!important;overflow-x:auto!important;max-width:58vw!important;list-style:none!important;padding-bottom:2px!important;}
  .nav-links li:not(:last-child){display:none!important;}
  .nav-cta{white-space:nowrap!important;padding:10px 16px!important;}
  .page-hero{padding:44px 20px 36px!important;}
  .hero h1,.page-hero h1{font-size:clamp(31px,9vw,42px)!important;}
  .hero-sub,.page-hero p{font-size:17px!important;}
  .btn-primary,.btn-hero,.cta-button,.buy-button{width:100%!important;text-align:center!important;padding:16px 22px!important;}
  .article p,.article li,.post-content p,.post-content li,.legal-content p,.legal-content li{font-size:17px!important;}
  .footer-inner{display:block!important;text-align:center!important;}
  .footer-links{justify-content:center!important;margin-top:16px!important;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}

/* ============================================================
   Centralization fix — applied to the newest 24-page package
   Purpose: keep full-width backgrounds while centering all readable
   containers/cards/content inside them.
   ============================================================ */
html,body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
body{
  margin:0!important;
}
.nav,.hero,.page-hero,.trust-bar,.section,.section-alt,.footer,.final-cta,.cta-section{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.nav-inner,.hero-inner,.page-hero-inner,.footer-inner,.container{
  width:min(100% - 48px,1120px)!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.section{
  box-sizing:border-box!important;
  padding-left:24px!important;
  padding-right:24px!important;
}
.section > .container{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.main,.main-wrap{
  width:min(100% - 48px,1000px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.article,.article-body,.post-content,.content,.legal-content,.prose{
  width:100%!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.blog-grid,.pain-grid,.bonus-grid,.inside-grid,.features-grid,.posts-grid,.review-grid{
  margin-left:auto!important;
  margin-right:auto!important;
}
img,video,iframe{
  max-width:100%;
}
@media(max-width:820px){
  .nav-inner,.hero-inner,.page-hero-inner,.footer-inner,.container,.main,.main-wrap{
    width:calc(100% - 40px)!important;
  }
  .section{
    padding-left:20px!important;
    padding-right:20px!important;
  }
}
@media(max-width:480px){
  .nav-inner,.hero-inner,.page-hero-inner,.footer-inner,.container,.main,.main-wrap{
    width:calc(100% - 32px)!important;
  }
  .section{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}
