/* ==========================================================================
   Advanced Mitochondrial Formula — amf- prefixed stylesheet
   ========================================================================== */

:root{
  --amf-primary:#2E86D1;
  --amf-primary-dark:#123A63;
  --amf-primary-darker:#0B2440;
  --amf-accent:#E08A2E;
  --amf-accent-dark:#B86A18;
  --amf-cyan:#4FC3E8;
  --amf-success:#1F7A4D;
  --amf-bg:#F5FAFE;
  --amf-bg-alt:#EAF4FC;
  --amf-card:#FFFFFF;
  --amf-text:#13233B;
  --amf-text-light:#44586F;
  --amf-border:#DCEAF6;
  --amf-radius:16px;
  --amf-shadow:0 10px 30px rgba(18,58,99,0.10);
  --amf-shadow-sm:0 4px 14px rgba(18,58,99,0.08);
  color-scheme: light;
}

*,*::before,*::after{box-sizing:border-box;}
html{font-size:20px; scroll-behavior:smooth; scroll-padding-top:90px;}
html,body{max-width:100%; overflow-x:hidden;}
body{
  margin:0;
  font-family:'Inter',Arial,Helvetica,sans-serif;
  color:var(--amf-text);
  background:var(--amf-bg);
  line-height:1.65;
  font-size:1rem;
}
h1,h2,h3,h4{
  font-family:'Outfit','Inter',Arial,sans-serif;
  color:var(--amf-primary-dark);
  line-height:1.25;
  margin:0 0 .6em;
  font-weight:700;
}
h1{font-size:2rem;}
@media(min-width:700px){ h1{font-size:1.6rem;} }
h1.amf-h1-lg{font-size:1.9rem;}
h2{font-size:1.55rem;}
h3{font-size:1.2rem;}
p{margin:0 0 1em; color:var(--amf-text-light);}
a{color:var(--amf-primary); text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%; height:auto; display:block;}
ul{padding-left:1.2em;}
table{width:100%; border-collapse:collapse;}
.amf-container{width:100%; max-width:1180px; margin:0 auto; padding:0 20px;}
section{padding:60px 0;}
.amf-section-alt{background:var(--amf-bg-alt);}
.amf-center{text-align:center;}
.amf-eyebrow{
  display:inline-block; color:var(--amf-primary); font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; font-size:.78rem; margin-bottom:.6em;
}
.amf-lead{font-size:1.1rem; max-width:760px; margin:0 auto 2em;}

/* Buttons */
.amf-btn{
  display:inline-block; padding:.85em 1.8em; border-radius:50px; font-weight:700;
  font-family:'Outfit',sans-serif; font-size:1rem; cursor:pointer; border:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
.amf-btn-primary{
  background:linear-gradient(135deg,var(--amf-accent),var(--amf-accent-dark));
  color:#fff; box-shadow:0 8px 20px rgba(224,138,46,.35);
}
.amf-btn-primary:hover{transform:translateY(-2px); text-decoration:none; box-shadow:0 12px 26px rgba(224,138,46,.42);}
.amf-btn-outline{
  background:#fff; color:var(--amf-primary-dark); border:2px solid var(--amf-primary);
}
.amf-btn-outline:hover{background:var(--amf-bg-alt); text-decoration:none;}
.amf-btn-lg{padding:1em 2.4em; font-size:1.1rem;}
.amf-btn-block{display:block; width:100%; text-align:center;}
.amf-secured{
  display:flex; align-items:center; gap:.4em; font-size:.82rem; color:var(--amf-text-light);
  margin-top:.7em; justify-content:center;
}
.amf-secured svg{flex-shrink:0;}

/* ---------------- Header ---------------- */
.amf-header{
  position:sticky; top:0; z-index:200; background:rgba(255,255,255,.97);
  backdrop-filter:blur(6px); border-bottom:1px solid var(--amf-border);
}
.amf-header-inner{
  max-width:1180px; margin:0 auto; padding:14px 20px;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.amf-logo{
  display:flex; align-items:center; gap:.55em; font-family:'Outfit',sans-serif;
  font-weight:800; color:var(--amf-primary-dark); font-size:1rem; white-space:nowrap;
}
.amf-logo img{border-radius:8px;}
.amf-nav{display:flex; align-items:center; gap:1.6em;}
.amf-nav a{
  color:var(--amf-primary-dark); font-weight:600; font-size:.92rem; white-space:nowrap;
}
.amf-nav-cta{
  background:var(--amf-accent); color:#fff !important; padding:.6em 1.3em; border-radius:50px;
  font-family:'Outfit',sans-serif;
}
.amf-nav-cta:hover{background:var(--amf-accent-dark); text-decoration:none;}
.amf-burger{display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:38px; background:none; border:2px solid var(--amf-border); border-radius:8px;}
.amf-burger span{display:block; width:20px; height:2px; background:var(--amf-primary-dark); margin:0 auto;}
.amf-mobile-menu{
  display:none; flex-direction:column; background:#fff; border-bottom:1px solid var(--amf-border);
  position:sticky; top:66px; z-index:199; box-shadow:var(--amf-shadow-sm);
}
.amf-mobile-menu a{padding:.9em 1.4em; border-top:1px solid var(--amf-border); color:var(--amf-primary-dark); font-weight:600;}
.amf-mobile-menu .amf-nav-cta{margin:.8em 1.4em; text-align:center;}
.amf-mobile-menu.amf-open{display:flex;}

@media(max-width:900px){
  .amf-nav{display:none;}
  .amf-burger{display:flex;}
}

/* ---------------- Hero ---------------- */
.amf-hero{padding:46px 0 50px; background:#fff;}
.amf-hero-grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:2.6rem; align-items:start;
}
@media(max-width:940px){ .amf-hero-grid{grid-template-columns:1fr;} }
.amf-hero-badge{
  display:inline-flex; align-items:center; gap:.5em; background:var(--amf-bg-alt);
  color:var(--amf-primary-dark); font-weight:700; font-size:.78rem; padding:.45em 1em;
  border-radius:50px; margin-bottom:1em;
}
.amf-hero h1{font-size:1.85rem;}
.amf-hero h1 span{color:var(--amf-primary);}
.amf-hero-intro{font-size:1.08rem; color:var(--amf-text);}
.amf-hero-table{
  background:var(--amf-bg-alt); border-radius:12px; overflow:hidden; margin:1.4em 0; border:1px solid var(--amf-border);
}
.amf-hero-table tr:not(:last-child) td{border-bottom:1px solid var(--amf-border);}
.amf-hero-table td{padding:.65em .9em; font-size:.92rem;}
.amf-hero-table td:first-child{font-weight:700; color:var(--amf-primary-dark); width:55%;}
.amf-hero-bullets{list-style:none; padding:0; margin:1.2em 0;}
.amf-hero-bullets li{
  display:flex; gap:.6em; align-items:flex-start; margin-bottom:.6em; font-weight:600; color:var(--amf-text);
}
.amf-hero-bullets li svg{flex-shrink:0; margin-top:.2em;}
.amf-numbox-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:.9rem; margin:1.4em 0;}
.amf-numbox{
  background:var(--amf-bg-alt); border:1px solid var(--amf-border); border-radius:12px; padding:1em;
}
.amf-numbox .amf-num{
  display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px;
  background:var(--amf-primary); color:#fff; border-radius:50%; font-weight:800; font-size:.82rem; margin-bottom:.5em;
}
.amf-numbox h4{margin:0 0 .25em; font-size:.95rem; color:var(--amf-primary-dark);}
.amf-numbox p{margin:0; font-size:.82rem; color:var(--amf-text-light);}
.amf-hero-visual{position:relative;}
.amf-hero-visual img{border-radius:var(--amf-radius);}
.amf-rating-row{display:flex; align-items:center; gap:.5em; margin-top:.9em; font-size:.85rem; color:var(--amf-text-light);}

/* Mitochondria energy visualization (SVG, animated) */
.amf-energy-viz{
  margin-top:1.4rem; background:var(--amf-bg-alt); border:1px solid var(--amf-border);
  border-radius:var(--amf-radius); padding:1.1rem 1rem; text-align:center;
}
.amf-energy-viz h4{font-size:.85rem; text-transform:uppercase; letter-spacing:.05em; color:var(--amf-primary); margin-bottom:.6em;}
.amf-energy-viz svg{width:100%; height:auto; max-width:420px;}
.amf-viz-caption{font-size:.78rem; color:var(--amf-text-light); margin-top:.5em;}

@keyframes amfPulse{
  0%{opacity:.25; r:34;}
  50%{opacity:.6; r:46;}
  100%{opacity:.25; r:34;}
}
@keyframes amfFlow{
  0%{offset-distance:0%; opacity:0;}
  10%{opacity:1;}
  90%{opacity:1;}
  100%{offset-distance:100%; opacity:0;}
}
.amf-pulse-ring{animation:amfPulse 2.6s ease-in-out infinite;}
.amf-pulse-ring.amf-delay1{animation-delay:.6s;}
.amf-pulse-ring.amf-delay2{animation-delay:1.2s;}
.amf-nutrient-dot{
  offset-path:path("M20,100 C60,40 120,160 180,100 S300,40 340,100");
  animation:amfFlow 3.4s linear infinite;
}
.amf-nutrient-dot.amf-d2{animation-delay:1.1s;}
.amf-nutrient-dot.amf-d3{animation-delay:2.2s;}

/* ---------------- Why choose / badges ---------------- */
.amf-badge-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; margin-top:2rem;
}
@media(max-width:800px){ .amf-badge-grid{grid-template-columns:repeat(2,1fr);} }
.amf-badge-card{
  background:var(--amf-card); border:1px solid var(--amf-border); border-radius:var(--amf-radius);
  padding:1.5rem 1rem; text-align:center; box-shadow:var(--amf-shadow-sm);
}
.amf-badge-card img{max-width:84px; margin:0 auto 1rem;}
.amf-badge-card h4{font-size:1rem; margin-bottom:.4em;}
.amf-badge-card p{font-size:.84rem; margin:0;}

/* ---------------- Wave CTA banner ---------------- */
.amf-wave-cta{
  position:relative; background:linear-gradient(120deg,var(--amf-primary),var(--amf-cyan));
  color:#fff; padding:52px 0; overflow:hidden;
}
.amf-wave-cta::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 15% 20%, rgba(255,255,255,.18), transparent 40%),
             radial-gradient(circle at 85% 80%, rgba(255,255,255,.14), transparent 45%);
}
.amf-wave-cta-inner{position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.4rem;}
.amf-wave-cta h2{color:#fff; margin-bottom:.3em; font-size:1.4rem;}
.amf-wave-cta p{color:rgba(255,255,255,.92); margin:0;}
.amf-wave-divider{display:block; width:100%; line-height:0;}
.amf-wave-divider svg{width:100%; height:48px; display:block;}

/* ---------------- What is / story ---------------- */
.amf-twocol{display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center;}
@media(max-width:860px){ .amf-twocol{grid-template-columns:1fr;} }
.amf-twocol img{border-radius:var(--amf-radius); box-shadow:var(--amf-shadow);}
.amf-check-list{list-style:none; padding:0; margin:1.2em 0;}
.amf-check-list li{display:flex; gap:.6em; margin-bottom:.6em; color:var(--amf-text);}
.amf-check-list svg{flex-shrink:0; margin-top:.25em;}

/* ---------------- Pricing ---------------- */
.amf-stock-notice{
  text-align:center; background:#FFF4E7; color:var(--amf-accent-dark); border:1px solid #F3D7AE;
  border-radius:50px; padding:.6em 1.4em; max-width:fit-content; margin:0 auto 2rem; font-weight:700; font-size:.88rem;
}
.amf-pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
@media(max-width:900px){ .amf-pricing-grid{grid-template-columns:1fr; max-width:420px; margin:0 auto;} }
.amf-price-card{
  background:var(--amf-card); border:2px solid var(--amf-border); border-radius:var(--amf-radius);
  padding:1.8rem 1.4rem; text-align:center; position:relative; box-shadow:var(--amf-shadow-sm);
}
.amf-price-card.amf-popular{border-color:var(--amf-accent); box-shadow:var(--amf-shadow); transform:scale(1.03);}
.amf-price-tag{
  position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--amf-accent);
  color:#fff; font-size:.72rem; font-weight:800; padding:.4em 1em; border-radius:50px; white-space:nowrap;
}
.amf-price-card.amf-savings .amf-price-tag{background:var(--amf-primary);}
.amf-price-card img{max-width:150px; margin:1rem auto;}
.amf-price-big{font-size:2.1rem; font-weight:800; color:var(--amf-primary-dark); font-family:'Outfit',sans-serif;}
.amf-price-big span{font-size:.9rem; font-weight:600; color:var(--amf-text-light);}
.amf-price-total{font-size:.85rem; color:var(--amf-text-light); margin:.5em 0;}
.amf-price-save{color:var(--amf-success); font-weight:700; font-size:.88rem;}
.amf-price-ship{font-weight:700; font-size:.85rem; color:var(--amf-primary);}
.amf-pay-icons{font-size:.72rem; color:var(--amf-text-light); margin-top:1em;}

/* ---------------- Guarantee ---------------- */
.amf-guarantee{display:flex; gap:2.4rem; align-items:center; flex-wrap:wrap; justify-content:center;}
.amf-guarantee img{max-width:160px;}
.amf-guarantee-text{flex:1; min-width:260px; max-width:600px;}

/* ---------------- Shipping banner ---------------- */
.amf-shipping-banner{
  background:var(--amf-primary-dark); color:#fff; text-align:center; padding:1.3rem 0; font-weight:700;
}
.amf-shipping-banner span{color:var(--amf-cyan);}

/* ---------------- Reviews ---------------- */
.amf-review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;}
@media(max-width:900px){ .amf-review-grid{grid-template-columns:1fr; max-width:460px; margin:0 auto;} }
.amf-review-card{
  background:var(--amf-card); border:1px solid var(--amf-border); border-radius:var(--amf-radius);
  padding:1.6rem; box-shadow:var(--amf-shadow-sm);
}
.amf-review-head{display:flex; align-items:center; gap:.8em; margin-bottom:.8em;}
.amf-review-head img{width:52px; height:52px; border-radius:50%; object-fit:cover;}
.amf-review-name{font-weight:700; color:var(--amf-primary-dark); font-size:.92rem;}
.amf-review-verified{font-size:.74rem; color:var(--amf-success);}
.amf-review-stars img{width:84px; margin-bottom:.5em;}
.amf-review-feature{grid-column:1/-1; display:grid; grid-template-columns:1fr; gap:0;}
.amf-review-feature img{border-radius:var(--amf-radius); box-shadow:var(--amf-shadow);}

/* ---------------- Ingredients ---------------- */
.amf-ingredient-list{display:grid; gap:1.3rem;}
.amf-ingredient-card{
  background:var(--amf-card); border:1px solid var(--amf-border); border-radius:var(--amf-radius);
  padding:1.5rem; display:grid; grid-template-columns:52px 1fr; gap:1rem; box-shadow:var(--amf-shadow-sm);
}
.amf-ingredient-num{
  width:46px; height:46px; border-radius:50%; background:var(--amf-bg-alt); color:var(--amf-primary-dark);
  display:flex; align-items:center; justify-content:center; font-family:'Outfit',sans-serif; font-weight:800;
}
.amf-ingredient-card h3{margin-bottom:.3em;}
.amf-ingredient-card .amf-ing-link{font-size:.82rem; font-weight:700;}

/* ---------------- Benefits ---------------- */
.amf-benefit-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem;}
@media(max-width:800px){ .amf-benefit-grid{grid-template-columns:1fr;} }
.amf-benefit-card{
  background:var(--amf-card); border:1px solid var(--amf-border); border-radius:var(--amf-radius);
  padding:1.7rem; box-shadow:var(--amf-shadow-sm);
}
.amf-benefit-card .amf-key-ing{
  display:inline-block; background:var(--amf-bg-alt); color:var(--amf-primary-dark); font-size:.78rem;
  font-weight:700; padding:.35em .9em; border-radius:50px; margin-bottom:.8em;
}

/* ---------------- FAQ ---------------- */
.amf-faq{max-width:800px; margin:0 auto;}
.amf-faq-item{border-bottom:1px solid var(--amf-border); padding:1.1rem 0;}
.amf-faq-item summary{
  cursor:pointer; font-weight:700; color:var(--amf-primary-dark); font-size:1rem; list-style:none;
  display:flex; justify-content:space-between; align-items:center; gap:1em;
}
.amf-faq-item summary::-webkit-details-marker{display:none;}
.amf-faq-item summary::after{content:"+"; font-size:1.4rem; color:var(--amf-primary); flex-shrink:0;}
.amf-faq-item[open] summary::after{content:"\\2212";}
.amf-faq-item p{margin-top:.7rem;}

/* ---------------- Final CTA ---------------- */
.amf-final-cta{
  background:linear-gradient(135deg,var(--amf-primary-dark),var(--amf-primary));
  color:#fff; text-align:center; border-radius:var(--amf-radius); padding:3rem 1.6rem; margin:0 auto;
}
.amf-final-cta h2{color:#fff;}
.amf-final-cta p{color:rgba(255,255,255,.9);}

/* ---------------- Label ---------------- */
.amf-label-wrap{display:grid; grid-template-columns:1fr 1fr; gap:2.4rem; align-items:center;}
@media(max-width:860px){ .amf-label-wrap{grid-template-columns:1fr;} }
.amf-label-wrap img{border-radius:var(--amf-radius); box-shadow:var(--amf-shadow);}

/* ---------------- References ---------------- */
.amf-ref-list{list-style:none; padding:0; max-width:760px; margin:0 auto;}
.amf-ref-list li{padding:.7em 0; border-bottom:1px solid var(--amf-border); font-size:.92rem;}

/* ---------------- Footer ---------------- */
.amf-footer{background:var(--amf-primary-darker); color:#CFE1F2; padding:52px 0 0;}
.amf-footer-inner{
  max-width:1180px; margin:0 auto; padding:0 20px 2.4rem;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2rem;
}
@media(max-width:800px){ .amf-footer-inner{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .amf-footer-inner{grid-template-columns:1fr;} }
.amf-footer h3{color:#fff; font-size:.95rem; margin-bottom:.9em;}
.amf-footer p{color:#AFC6DD; font-size:.86rem;}
.amf-footer ul{list-style:none; padding:0; margin:0;}
.amf-footer li{margin-bottom:.55em;}
.amf-footer a{color:#CFE1F2; font-size:.86rem;}
.amf-footer a:hover{color:#fff;}
.amf-logo-footer{color:#fff; margin-bottom:.9em;}
.amf-footer-badges{margin-top:1rem; opacity:.9; filter:brightness(1.3);}
.amf-footer-bottom{
  border-top:1px solid rgba(255,255,255,.12); padding:1.4rem 20px 2rem; text-align:center;
}
.amf-footer-bottom p{color:#8FA9C4; font-size:.78rem; max-width:900px; margin:0 auto .5em;}

/* ---------------- Sticky CTA bar ---------------- */
.amf-sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:300; background:#fff; border-top:1px solid var(--amf-border);
  box-shadow:0 -6px 20px rgba(18,58,99,.12); padding:.75rem 1rem; display:flex; align-items:center;
  justify-content:space-between; gap:1rem;
}
.amf-sticky-text{font-size:.85rem; color:var(--amf-text); display:none;}
@media(min-width:560px){ .amf-sticky-text{display:block;} }
.amf-sticky-cta .amf-btn{padding:.7em 1.6em; flex-shrink:0; margin-left:auto;}
body{padding-bottom:64px;}

/* ---------------- Breadcrumb ---------------- */
.amf-breadcrumb{font-size:.84rem; color:var(--amf-text-light); padding:1rem 0 0;}
.amf-breadcrumb a{color:var(--amf-primary);}

/* ---------------- Inner page hero (simple) ---------------- */
.amf-page-hero{padding:38px 0 10px; background:#fff; text-align:center;}
.amf-page-hero h1{max-width:820px; margin:0 auto .5em;}
.amf-page-hero p{max-width:720px; margin:0 auto;}

/* ---------------- Blog listing ---------------- */
.amf-blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
@media(max-width:900px){ .amf-blog-grid{grid-template-columns:1fr; max-width:460px; margin:0 auto;} }
.amf-blog-card{
  background:var(--amf-card); border:1px solid var(--amf-border); border-radius:var(--amf-radius);
  overflow:hidden; box-shadow:var(--amf-shadow-sm); display:flex; flex-direction:column;
}
.amf-blog-card img{aspect-ratio:1/1; object-fit:cover; width:100%;}
.amf-blog-card-body{padding:1.3rem;}
.amf-blog-tag{color:var(--amf-primary); font-weight:800; font-size:.74rem; text-transform:uppercase; letter-spacing:.05em;}
.amf-blog-card h3{font-size:1.05rem; margin:.5em 0;}
.amf-blog-card p{font-size:.88rem;}
.amf-blog-read{font-weight:700; font-size:.88rem;}

/* ---------------- Blog post ---------------- */
.amf-post{max-width:760px; margin:0 auto;}
.amf-post h2{margin-top:1.4em;}
.amf-post h3{margin-top:1.2em;}
.amf-post-hero-img{border-radius:var(--amf-radius); margin:1.4rem 0; box-shadow:var(--amf-shadow);}
.amf-post-meta{font-size:.82rem; color:var(--amf-text-light); margin-bottom:1.4rem;}
.amf-related{background:var(--amf-bg-alt); border-radius:var(--amf-radius); padding:1.5rem; margin-top:2.4rem;}
.amf-related h4{margin-bottom:.8em;}
.amf-related ul{margin:0;}

/* ---------------- Table (ingredients page) ---------------- */
.amf-table-wrap{overflow-x:auto; margin:1.4rem 0;}
.amf-facts-table{border:1px solid var(--amf-border); border-radius:12px; overflow:hidden;}
.amf-facts-table th,.amf-facts-table td{
  padding:.7em 1em; border-bottom:1px solid var(--amf-border); text-align:left; font-size:.9rem;
}
.amf-facts-table th{background:var(--amf-bg-alt); color:var(--amf-primary-dark);}

/* Legal pages */
.amf-legal{max-width:820px; margin:0 auto;}
.amf-legal h2{margin-top:1.4em;}
.amf-legal p, .amf-legal li{color:var(--amf-text-light);}

/* Contact */
.amf-contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:2rem;}
@media(max-width:800px){ .amf-contact-grid{grid-template-columns:1fr;} }
.amf-contact-card{background:var(--amf-card); border:1px solid var(--amf-border); border-radius:var(--amf-radius); padding:1.8rem; box-shadow:var(--amf-shadow-sm);}
