/* ============================================================
   Quiet Nerves - Custom Stylesheet (Bootstrap 5 base)
   Palette: Sage Teal / Warm Terracotta / Soft Cream
   Type: Roboto (all weights) - via Google Fonts
   Distinct UI: accordion FAQ, carousel testimonials, soft rounded cards
   ============================================================ */

:root{
  --qn-primary:#3F6B5D;
  --qn-primary-dark:#22392F;
  --qn-primary-light:#DDEAE4;
  --qn-accent:#D97B4F;
  --qn-accent-dark:#B15E37;
  --qn-cream:#FBF7F0;
  --qn-cream-2:#F3ECDF;
  --qn-text:#24312C;
  --qn-muted:#65756E;
  --qn-line:#E4DDD0;
  --bs-font-sans-serif:'Roboto',system-ui,sans-serif;
}

body{
  font-family:'Roboto',system-ui,sans-serif;
  color:var(--qn-text);
  background:#fff;
  line-height:1.7;
}
h1,h2,h3,h4,h5,h6{
  font-family:'Roboto',system-ui,sans-serif;
  font-weight:700;
  color:var(--qn-primary-dark);
  letter-spacing:-.01em;
}
a{color:var(--qn-primary);text-decoration:none}
a:hover{color:var(--qn-accent)}

.section-pad{padding:5rem 0}
.bg-cream{background:var(--qn-cream)}
.bg-cream-2{background:var(--qn-cream-2)}
.bg-deep{background:linear-gradient(160deg,var(--qn-primary-dark) 0%,var(--qn-primary) 100%);color:#fff}
.bg-deep h2,.bg-deep h3,.bg-deep h4{color:#fff}
.text-muted-qn{color:var(--qn-muted)}
.eyebrow-pill{display:inline-flex;align-items:center;gap:.4rem;background:var(--qn-primary-light);color:var(--qn-primary-dark);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:.4rem 1rem;border-radius:50px;margin-bottom:1rem}

/* Buttons */
.btn-qn-primary{background:var(--qn-accent);border-color:var(--qn-accent);color:#fff;font-weight:700;border-radius:50px;padding:.85rem 2rem;box-shadow:0 10px 24px rgba(217,123,79,.32);transition:.25s}
.btn-qn-primary:hover{background:var(--qn-accent-dark);border-color:var(--qn-accent-dark);color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px rgba(217,123,79,.4)}
.btn-qn-outline{border:2px solid var(--qn-primary);color:var(--qn-primary-dark);font-weight:700;border-radius:50px;padding:.8rem 2rem;background:transparent;transition:.25s}
.btn-qn-outline:hover{background:var(--qn-primary);color:#fff}
.btn-qn-light{background:#fff;color:var(--qn-primary-dark);font-weight:700;border-radius:50px;padding:.8rem 2rem;border:none}
.btn-qn-light:hover{background:var(--qn-cream-2);color:var(--qn-primary-dark)}

/* Navbar */
.navbar-qn{background:rgba(251,247,240,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--qn-line);padding:.85rem 0}
.navbar-qn .navbar-brand{font-weight:700;font-size:1.5rem;color:var(--qn-primary-dark)}
.navbar-qn .navbar-brand span{color:var(--qn-accent)}
.navbar-qn .nav-link{font-weight:500;color:var(--qn-text);margin:0 .4rem}
.navbar-qn .nav-link:hover{color:var(--qn-accent)}
.nav-cta-btn{background:var(--qn-accent);color:#fff!important;border-radius:50px;padding:.5rem 1.3rem!important;font-weight:700}
.nav-cta-btn:hover{background:var(--qn-accent-dark)}

/* Top info strip */
.top-strip{background:var(--qn-primary-dark);color:#fff;font-size:.82rem;padding:.5rem 0;text-align:center}
.top-strip .sep{opacity:.5;margin:0 .6rem}

/* Hero */
.hero-qn{padding:4rem 0 4.5rem;background:radial-gradient(1100px 480px at 85% -8%,rgba(63,107,93,.10),transparent) , var(--qn-cream)}
.hero-qn h1{font-size:clamp(2.1rem,4.4vw,3.3rem);line-height:1.15}
.hero-qn h1 .accent{color:var(--qn-accent)}
.hero-badges .badge-qn{background:#fff;border:1px solid var(--qn-line);color:var(--qn-text);font-weight:500;padding:.55rem 1rem;border-radius:50px;font-size:.85rem;display:inline-flex;align-items:center;gap:.4rem;margin:.2rem .3rem .2rem 0}
.hero-badges .badge-qn i{color:var(--qn-primary)}
.hero-media-wrap{position:relative}
.hero-media-wrap img{filter:drop-shadow(0 30px 40px rgba(34,57,47,.22))}
.floating-chip{position:absolute;background:#fff;border-radius:16px;padding:.7rem 1rem;box-shadow:0 16px 32px rgba(34,57,47,.18);font-size:.82rem;font-weight:700;color:var(--qn-primary-dark)}
.floating-chip small{display:block;font-weight:400;color:var(--qn-muted);font-size:.72rem}

/* Cards - generic soft card */
.card-qn{background:#fff;border:1px solid var(--qn-line);border-radius:20px;padding:1.8rem;height:100%;transition:.25s}
.card-qn:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(34,57,47,.12);border-color:transparent}
.icon-circle{width:56px;height:56px;border-radius:50%;background:var(--qn-primary-light);color:var(--qn-primary-dark);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1rem}

/* Ingredient cards */
.ing-card-qn{background:#fff;border-radius:20px;border:1px solid var(--qn-line);padding:1.8rem;height:100%;position:relative;overflow:hidden}
.ing-card-qn .ing-badge{position:absolute;top:1rem;right:1.2rem;font-family:'Roboto',sans-serif;font-weight:700;font-size:.75rem;color:var(--qn-accent);background:var(--qn-cream-2);padding:.25rem .7rem;border-radius:50px}
.ing-card-qn h5{margin-bottom:.6rem}
.ing-card-qn p{color:var(--qn-muted);font-size:.93rem;margin-bottom:.8rem}
.ing-card-qn a{font-weight:700;font-size:.85rem}

/* Pricing cards */
.price-card-qn{border:2px solid var(--qn-line);border-radius:24px;background:#fff;padding:2rem 1.6rem;text-align:center;height:100%;position:relative;transition:.25s}
.price-card-qn:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(34,57,47,.14)}
.price-card-qn.is-featured{border-color:var(--qn-accent);box-shadow:0 20px 44px rgba(217,123,79,.18)}
.price-card-qn .ribbon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--qn-accent);color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.4rem 1.1rem;border-radius:50px;white-space:nowrap}
.price-card-qn img{height:150px;object-fit:contain;margin:0 auto 1rem}
.price-num{font-size:2.4rem;font-weight:700;color:var(--qn-primary-dark)}
.price-num small{font-size:.9rem;font-weight:500;color:var(--qn-muted)}

/* Testimonial carousel */
.testi-card-qn{background:#fff;border-radius:24px;padding:2.4rem;text-align:center;max-width:700px;margin:0 auto;box-shadow:0 10px 30px rgba(34,57,47,.08)}
.testi-card-qn img{width:72px;height:72px;border-radius:50%;object-fit:cover;margin:0 auto 1rem}
.testi-card-qn .stars{color:var(--qn-accent);letter-spacing:2px;margin-bottom:.8rem}
.carousel-indicators-qn{position:static;margin-top:1.6rem}
.carousel-indicators-qn [data-bs-target]{width:9px;height:9px;border-radius:50%;background:var(--qn-line);opacity:1}
.carousel-indicators-qn .active{background:var(--qn-accent)}

/* Accordion FAQ override */
.accordion-qn .accordion-button{font-weight:700;color:var(--qn-primary-dark);background:#fff;border-radius:16px!important;padding:1.2rem 1.5rem}
.accordion-qn .accordion-button:not(.collapsed){background:var(--qn-primary-light);color:var(--qn-primary-dark);box-shadow:none}
.accordion-qn .accordion-button:focus{box-shadow:0 0 0 3px rgba(63,107,93,.15)}
.accordion-qn .accordion-item{border:1px solid var(--qn-line);border-radius:16px;margin-bottom:.9rem;overflow:hidden}
.accordion-qn .accordion-body{color:var(--qn-muted);padding:1.2rem 1.5rem}

/* Guarantee box */
.guarantee-box-qn{background:#fff;border-radius:24px;border:1px solid var(--qn-line);padding:2.2rem;box-shadow:0 10px 30px rgba(34,57,47,.06)}

/* Quick-answer AEO callout */
.quick-ans-qn{background:var(--qn-cream-2);border-left:5px solid var(--qn-accent);border-radius:0 16px 16px 0;padding:1.2rem 1.5rem;margin:1.6rem 0 2rem}
.quick-ans-qn b{color:var(--qn-accent-dark)}

/* Article pages */
.article-hero-qn{background:linear-gradient(160deg,var(--qn-primary-dark) 0%,var(--qn-primary) 100%);color:#fff;padding:3.2rem 0 2.4rem}
.article-hero-qn h1{color:#fff;font-size:clamp(1.8rem,3.6vw,2.6rem)}
.article-hero-qn .breadcrumb-qn{color:rgba(255,255,255,.7);font-size:.85rem}
.article-hero-qn .breadcrumb-qn a{color:#fff;text-decoration:underline}
.article-body-qn{max-width:760px;margin:3rem auto;padding:0 1rem}
.article-body-qn h2{margin:2rem 0 1rem;font-size:1.55rem}
.article-body-qn h3{margin:1.6rem 0 .8rem;font-size:1.2rem;color:var(--qn-accent-dark)}
.article-body-qn p{margin-bottom:1.1rem;color:var(--qn-text)}
.article-body-qn a{text-decoration:underline;font-weight:500}
.article-body-qn blockquote{border-left:4px solid var(--qn-accent);background:var(--qn-cream-2);padding:1rem 1.4rem;border-radius:0 14px 14px 0;font-style:italic;margin:1.4rem 0}
.related-box-qn{background:var(--qn-cream);border:1px solid var(--qn-line);border-radius:18px;padding:1.6rem 1.8rem;margin:2.2rem 0}
.related-box-qn h4{font-size:1.05rem;margin-bottom:.8rem}
.cta-banner-qn{background:linear-gradient(135deg,var(--qn-accent) 0%,var(--qn-accent-dark) 100%);border-radius:20px;padding:2.2rem;text-align:center;color:#fff;margin:2.4rem 0}
.cta-banner-qn h3{color:#fff;margin-bottom:.8rem}

/* Legal pages */
.legal-body-qn{max-width:760px;margin:3rem auto;padding:0 1rem}
.legal-body-qn h2{margin:1.8rem 0 .8rem;font-size:1.4rem}
.legal-body-qn p{margin-bottom:1rem}
.legal-body-qn a{text-decoration:underline}

/* Blog */
.blog-card-qn{background:#fff;border:1px solid var(--qn-line);border-radius:20px;overflow:hidden;height:100%;transition:.25s}
.blog-card-qn:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(34,57,47,.12)}
.blog-card-qn .thumb-qn{height:110px;background:linear-gradient(135deg,var(--qn-primary) 0%,var(--qn-primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;padding:1rem;font-size:.95rem}
.blog-card-qn .thumb-qn.alt{background:linear-gradient(135deg,var(--qn-accent) 0%,var(--qn-accent-dark) 100%)}
.blog-card-qn .body-qn{padding:1.3rem}
.blog-card-qn .cat-qn{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--qn-accent-dark)}
.blog-card-qn h5{font-size:1.02rem;margin:.5rem 0}
.blog-card-qn p{font-size:.87rem;color:var(--qn-muted)}
.blog-cat-list a{color:var(--qn-text);font-size:.92rem}
.blog-cat-list a:hover{color:var(--qn-accent)}
.blog-cat-list h6{color:var(--qn-primary-dark);border-bottom:2px solid var(--qn-primary-light);padding-bottom:.5rem;margin-bottom:.8rem;font-weight:700}

/* Footer */
footer.footer-qn{background:var(--qn-primary-dark);color:rgba(255,255,255,.75);padding:3.4rem 0 1.6rem;font-size:.92rem}
footer.footer-qn h6{color:#fff;font-weight:700;margin-bottom:1rem}
footer.footer-qn a{color:rgba(255,255,255,.75)}
footer.footer-qn a:hover{color:#fff}
footer.footer-qn li{margin-bottom:.5rem}
.footer-badges-qn .badge-f{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:50px;padding:.35rem .9rem;font-size:.76rem;margin:.2rem;display:inline-block}
.footer-disclaimer-qn{font-size:.78rem;color:rgba(255,255,255,.5);border-top:1px solid rgba(255,255,255,.12);margin-top:1.6rem;padding-top:1.4rem}
.footer-disclaimer-qn p{margin-bottom:.7rem}

/* Sticky bottom bar */
.sticky-bar-qn{position:fixed;bottom:0;left:0;width:100%;background:var(--qn-primary-dark);color:#fff;z-index:1050;padding:.7rem 1rem;box-shadow:0 -8px 24px rgba(0,0,0,.2)}
.sticky-bar-qn small{color:rgba(255,255,255,.7)}

@media(max-width:991px){
  .floating-chip{display:none}
}
@media(max-width:576px){
  .section-pad{padding:3.2rem 0}
  .sticky-bar-qn small{display:none}
}

/* Back to top button */
#back-to-top{position:fixed;bottom:5.4rem;right:1.3rem;width:46px;height:46px;border-radius:50%;background:var(--qn-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;opacity:0;pointer-events:none;transition:opacity .3s;box-shadow:0 8px 20px rgba(217,123,79,.4);z-index:1040;border:none;cursor:pointer}
#back-to-top.show{opacity:1;pointer-events:auto}
