/*
Theme Name: IntraMITOcell
Theme URI: https://www.intramitocell.com
Description: Premium child theme for intraMITOcell — LathMized™ NAD+. Science-forward longevity supplement store built on Astra + WooCommerce. Cyan / ivory / deep-navy editorial design system.
Author: IntraMITOcell
Template: astra
Version: 1.0.0
Text Domain: intramitocell
*/

/* =========================================================================
   DESIGN TOKENS
   ========================================================================= */
:root{
  --imc-cyan:#0FA9D8;          /* primary accent (bg / dark sections) */
  --imc-cyan-deep:#0a7390;     /* AA-contrast cyan for text/links on light */
  --imc-cyan-tint:#E8F7FD;     /* light accent bg */
  --imc-cyan-soft:#CDEBF7;
  --imc-navy:#0B1F33;          /* text + dark sections */
  --imc-navy-soft:#12304d;
  --imc-ink:#1c2b3a;           /* body text */
  --imc-muted:#52626f;         /* secondary text (AA on cream) */
  --imc-cream:#FBF8EF;         /* page bg */
  --imc-cream-2:#F4EFE2;
  --imc-white:#ffffff;
  --imc-gold:#C9A24B;          /* premium accent */
  --imc-gold-deep:#a9842f;
  --imc-green:#157a57;         /* subscribe / success (AA on white) */
  --imc-line:rgba(11,31,51,.12);
  --imc-line-soft:rgba(11,31,51,.07);

  --imc-shadow-sm:0 2px 10px rgba(11,31,51,.06);
  --imc-shadow:0 12px 40px rgba(11,31,51,.10);
  --imc-shadow-lg:0 30px 70px rgba(11,31,51,.16);

  --imc-radius:18px;
  --imc-radius-lg:28px;
  --imc-radius-pill:999px;

  --imc-font-head:"Fraunces","Playfair Display",Georgia,serif;
  --imc-font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --imc-maxw:1200px;
  --imc-gut:clamp(20px,5vw,40px);

  --imc-step--1:clamp(.85rem,.82rem + .15vw,.95rem);
  --imc-step-0:clamp(1.02rem,.98rem + .25vw,1.14rem);
  --imc-step-1:clamp(1.3rem,1.2rem + .5vw,1.6rem);
  --imc-step-2:clamp(1.7rem,1.4rem + 1.3vw,2.4rem);
  --imc-step-3:clamp(2.2rem,1.7rem + 2.4vw,3.4rem);
  --imc-step-4:clamp(2.8rem,2rem + 3.8vw,4.8rem);
}

/* =========================================================================
   BASE
   ========================================================================= */
html{scroll-behavior:smooth;}
body{
  font-family:var(--imc-font-body);
  color:var(--imc-ink);
  background-color:var(--imc-cream) !important;
  font-size:var(--imc-step-0);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  letter-spacing:.002em;
}
h1,h2,h3,h4,h5,.imc-display,.wp-block-heading{
  font-family:var(--imc-font-head);
  color:var(--imc-navy);
  font-weight:560;
  line-height:1.08;
  letter-spacing:-.012em;
}
h1{font-size:var(--imc-step-4);}
h2{font-size:var(--imc-step-3);}
h3{font-size:var(--imc-step-2);}
h4{font-size:var(--imc-step-1);}
p{margin:0 0 1.1em;}
a{color:var(--imc-cyan-deep);text-decoration-thickness:1px;text-underline-offset:3px;}
a:hover{color:var(--imc-navy);}
strong{font-weight:650;color:var(--imc-navy);}
::selection{background:var(--imc-cyan);color:#fff;}
img{height:auto;}

/* Container helper */
.imc-wrap{max-width:var(--imc-maxw);margin-inline:auto;padding-inline:var(--imc-gut);}

/* =========================================================================
   BUTTONS  (core button blocks + woo)
   ========================================================================= */
.wp-block-button__link,
.imc-btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--imc-font-body);font-weight:600;font-size:1rem;
  letter-spacing:.005em;line-height:1.15;
  padding:.95em 1.9em;border-radius:var(--imc-radius-pill);
  border:1.6px solid var(--imc-navy);background:var(--imc-navy);color:#fff !important;
  text-decoration:none !important;cursor:pointer;
  box-shadow:0 6px 18px rgba(11,31,51,.14);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}
.wp-block-button__link:hover,.imc-btn:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  transform:translateY(-2px);box-shadow:0 12px 28px rgba(11,31,51,.22);
  background:#16324f;border-color:#16324f;color:#fff !important;
}
.imc-btn:focus-visible,.wp-block-button__link:focus-visible,
.woocommerce a.button:focus-visible,.woocommerce button.button:focus-visible{
  outline:3px solid rgba(15,169,216,.55);outline-offset:3px;
}
/* brand teal accent (readable white text; works on light & dark) */
.is-style-imc-cyan .wp-block-button__link,.imc-btn--cyan{
  background:var(--imc-cyan-deep);border-color:var(--imc-cyan-deep);color:#fff !important;
}
.is-style-imc-cyan .wp-block-button__link:hover,.imc-btn--cyan:hover{background:#08607a;border-color:#08607a;color:#fff !important;}
/* green subscribe */
.imc-btn--green{background:var(--imc-green);border-color:var(--imc-green);color:#fff !important;}
.imc-btn--green:hover{background:#11684a;border-color:#11684a;color:#fff !important;}
/* outline / ghost */
.is-style-outline .wp-block-button__link,.imc-btn--ghost{
  background:transparent;color:var(--imc-navy) !important;border-color:rgba(11,31,51,.45);box-shadow:none;
}
.is-style-outline .wp-block-button__link:hover,.imc-btn--ghost:hover{background:var(--imc-navy);border-color:var(--imc-navy);color:#fff !important;box-shadow:0 12px 28px rgba(11,31,51,.22);}
/* dark sections: filled buttons become crisp white; ghost becomes light outline */
.imc-dark .imc-btn,.imc-dark .imc-btn--cyan,.imc-dark .wp-block-button__link{background:#fff;border-color:#fff;color:var(--imc-navy) !important;}
.imc-dark .imc-btn:hover,.imc-dark .imc-btn--cyan:hover,.imc-dark .wp-block-button__link:hover{background:var(--imc-cyan-soft);border-color:var(--imc-cyan-soft);color:var(--imc-navy) !important;}
.imc-dark .is-style-outline .wp-block-button__link,.imc-dark .imc-btn--ghost{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.5);}
.imc-dark .is-style-outline .wp-block-button__link:hover,.imc-dark .imc-btn--ghost:hover{background:#fff;border-color:#fff;color:var(--imc-navy) !important;}

/* =========================================================================
   SECTIONS / LAYOUT PRIMITIVES
   ========================================================================= */
.imc-section{padding-block:clamp(56px,8vw,110px);}
.imc-section,.imc-wrap{box-sizing:border-box;}
.imc-section > .wp-block-group__inner-container > .imc-wrap{margin-inline:auto;}
.imc-section--tight{padding-block:clamp(40px,5vw,70px);}
.imc-cream{background:var(--imc-cream);}
.imc-cream-2{background:var(--imc-cream-2);}
.imc-white{background:var(--imc-white);}
.imc-tint{background:var(--imc-cyan-tint);}
.imc-dark{background:var(--imc-navy);color:#dfe9f1;}
.imc-dark h1,.imc-dark h2,.imc-dark h3,.imc-dark h4{color:#fff;}
.imc-dark p{color:#c4d3e0;}
.imc-dark a{color:var(--imc-cyan);}

/* eyebrow / kicker */
.imc-kicker{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--imc-font-body);font-weight:680;font-size:.78rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--imc-cyan-deep);
  margin:0 0 .9rem;
}
.imc-dark .imc-kicker{color:var(--imc-cyan);}
.imc-kicker::before{content:"";width:26px;height:2px;background:currentColor;border-radius:2px;}

.imc-lead{font-size:var(--imc-step-1);line-height:1.45;color:var(--imc-muted);font-family:var(--imc-font-body);font-weight:400;}
.imc-dark .imc-lead{color:#c4d3e0;}
.imc-center{text-align:center;}
.imc-measure{max-width:62ch;margin-inline:auto;}

/* cards */
.imc-card{
  background:#fff;border:1px solid var(--imc-line-soft);border-radius:var(--imc-radius-lg);
  padding:clamp(24px,3vw,38px);box-shadow:var(--imc-shadow-sm);height:100%;
  transition:transform .2s ease,box-shadow .2s ease;
}
.imc-card:hover{transform:translateY(-4px);box-shadow:var(--imc-shadow);}
.imc-card .wp-block-heading{margin-top:.2em;}

/* feature icon chip */
.imc-chip{
  display:inline-flex;align-items:center;justify-content:center;
  width:58px;height:58px;border-radius:16px;
  background:var(--imc-cyan-tint);color:var(--imc-cyan-deep);font-size:1.5rem;
  margin-bottom:.4rem;
}
.imc-dark .imc-chip{background:rgba(15,169,216,.16);color:var(--imc-cyan);}

/* stat callouts */
.imc-stat{font-family:var(--imc-font-head);font-weight:600;font-size:var(--imc-step-3);color:var(--imc-cyan-deep);line-height:1;letter-spacing:-.02em;}
.imc-dark .imc-stat{color:var(--imc-cyan);}
.imc-stat-label{font-size:.95rem;color:var(--imc-muted);margin-top:.4rem;}
.imc-dark .imc-stat-label{color:#a9bccd;}

/* pill badge */
.imc-badge{display:inline-flex;align-items:center;gap:.45em;font-weight:600;font-size:.82rem;letter-spacing:.02em;
  padding:.45em 1em;border-radius:var(--imc-radius-pill);background:var(--imc-cyan-tint);color:var(--imc-cyan-deep);}
.imc-badge--gold{background:rgba(201,162,75,.16);color:var(--imc-gold-deep);}
.imc-badge--green{background:rgba(30,142,106,.14);color:var(--imc-green);}

/* divider rule */
.imc-rule{height:1px;background:var(--imc-line);border:0;margin:0;}

/* trust row */
.imc-trust{display:flex;flex-wrap:wrap;gap:1.4rem 2.4rem;align-items:center;justify-content:center;}
.imc-tic{width:19px;height:19px;vertical-align:-4px;margin-right:.45em;stroke:var(--imc-cyan);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.imc-trust span{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:.9rem;color:var(--imc-muted);letter-spacing:.02em;}
.imc-dark .imc-trust span{color:#b8c8d6;}

/* =========================================================================
   HERO
   ========================================================================= */
.imc-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(120% 90% at 85% -10%,rgba(15,169,216,.20),transparent 55%),
    radial-gradient(90% 80% at -10% 110%,rgba(15,169,216,.10),transparent 55%),
    var(--imc-cream);
}
.imc-hero__eyebrow{margin-bottom:1.1rem;}
.imc-hero h1{font-size:var(--imc-step-4);margin:0 0 .5em;}
.imc-hero .imc-lead{max-width:34ch;}
.imc-hero__media img{filter:drop-shadow(0 26px 40px rgba(11,31,51,.22));}
.imc-hero__halo{position:absolute;inset:auto -10% -40% auto;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(15,169,216,.18),transparent);filter:blur(10px);z-index:0;}

/* molecule motif divider */
.imc-coil{display:block;width:64px;height:auto;margin:0 auto 1.2rem;color:var(--imc-cyan);}

/* =========================================================================
   HEADER / NAV (Astra overrides)
   ========================================================================= */
.site-header,.ast-primary-header-bar{background:rgba(251,248,239,.85) !important;backdrop-filter:saturate(140%) blur(10px);}
.main-header-bar{border-bottom:1px solid var(--imc-line-soft);}
.ast-primary-header-bar .main-header-bar{background:transparent !important;}
.main-navigation a,.ast-header-navigation-wrap .menu-link{
  font-family:var(--imc-font-body) !important;font-weight:550 !important;font-size:.98rem !important;
  color:var(--imc-navy) !important;letter-spacing:.01em;
}
.main-navigation a:hover,.menu-link:hover{color:var(--imc-cyan-deep) !important;}
.main-header-menu .menu-item.current-menu-item > .menu-link{color:var(--imc-cyan-deep) !important;}
/* header cart + cta */
.ast-header-account-wrap,.ast-site-header-cart .ast-cart-menu-wrap{color:var(--imc-navy);}
.site-branding img,.custom-logo{max-height:52px;width:auto;}
/* nav CTA pill */
.imc-nav-cta{display:flex;align-items:center;}
.imc-nav-cta a,.imc-nav-cta .menu-link{
  align-self:center;height:auto !important;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--imc-navy);color:#fff !important;border-radius:var(--imc-radius-pill);
  padding:.58em 1.35em !important;font-weight:600 !important;line-height:1.1 !important;
  transition:transform .18s ease,background .18s ease;
}
.imc-nav-cta a:hover,.imc-nav-cta .menu-link:hover{background:var(--imc-cyan-deep);color:#fff !important;transform:translateY(-1px);}
/* cart icon */
.imc-nav-cart a::before,.imc-nav-cart .menu-link::before{
  content:"";display:inline-block;width:19px;height:19px;vertical-align:-4px;margin-right:.35em;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F33' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='18' cy='20' r='1'/%3E%3Cpath d='M2 3h3l2.4 12.4a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.6L23 7H6'/%3E%3C/svg%3E") center/contain no-repeat;
}
/* logo lockup already contains the wordmark — hide Astra's text site title/tagline */
.site-header .site-title,.site-header .site-description,.ast-site-title-wrap .site-title{display:none !important;}
.ast-site-identity{display:flex;align-items:center;}

/* =========================================================================
   FOOTER
   ========================================================================= */
.site-footer,.ast-small-footer{background:var(--imc-navy) !important;color:#aebfce !important;}
.site-footer a,.ast-small-footer a{color:#d7e3ee !important;}
.site-footer a:hover{color:#fff !important;}
.imc-footer{padding-block:64px 28px;}
.imc-footer h3,.imc-footer h4{color:#fff;font-size:1.05rem;margin-bottom:1rem;font-family:var(--imc-font-body);font-weight:650;letter-spacing:.01em;}
.imc-footer ul{list-style:none;margin:0;padding:0;}
.imc-footer li{margin-bottom:.6rem;}
.imc-footer a{color:#aebfce;text-decoration:none;}
.imc-disclaimer{font-size:.8rem;line-height:1.6;color:#7f93a5;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;margin-top:14px;}

/* =========================================================================
   WOOCOMMERCE
   ========================================================================= */
.woocommerce-page,.woocommerce{color:var(--imc-ink);}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  background:#fff;border:1px solid var(--imc-line-soft);border-radius:var(--imc-radius);
  padding:18px 18px 24px;box-shadow:var(--imc-shadow-sm);text-align:center;
  transition:transform .2s ease,box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--imc-shadow);}
.woocommerce ul.products li.product img{border-radius:12px;margin-bottom:1rem;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--imc-font-head);font-size:1.25rem;color:var(--imc-navy);padding:.4em 0;
}
.woocommerce ul.products li.product .price{color:var(--imc-navy);font-weight:600;font-family:var(--imc-font-head);}
.woocommerce ul.products li.product .price del{color:var(--imc-muted);font-weight:400;}

/* single product */
.single-product div.product .product_title{font-size:var(--imc-step-2);}
.single-product div.product p.price,.single-product div.product span.price{color:var(--imc-navy);font-size:1.7rem;font-family:var(--imc-font-head);font-weight:600;}
.single-product .woocommerce-product-rating{margin-bottom:1rem;}
.single-product .summary .woocommerce-product-details__short-description{font-size:1.06rem;color:var(--imc-muted);}
.woocommerce div.product form.cart .button{padding-block:1.05em;font-size:1.05rem;}
.woocommerce .quantity .qty{border:1.5px solid var(--imc-line);border-radius:12px;padding:.6em;}
.woocommerce span.onsale{background:var(--imc-gold);color:#fff;border-radius:var(--imc-radius-pill);font-weight:650;}
.woocommerce-tabs ul.tabs li.active{background:#fff;border-bottom-color:#fff;}
.woocommerce-message,.woocommerce-info,.woocommerce-noreviews,.woocommerce-error{
  border-top-color:var(--imc-cyan) !important;border-radius:12px;
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--imc-cyan) !important;}

/* cart / checkout */
.woocommerce table.shop_table{border-radius:var(--imc-radius);overflow:hidden;border:1px solid var(--imc-line-soft);}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review,
.woocommerce form.checkout #customer_details{background:#fff;border:1px solid var(--imc-line-soft);border-radius:var(--imc-radius);padding:24px;box-shadow:var(--imc-shadow-sm);}
.woocommerce-checkout #payment{background:#fff;border-radius:var(--imc-radius);}
.select2-container--default .select2-selection--single,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select{border:1.5px solid var(--imc-line);border-radius:12px;padding:.7em .9em;}

/* subscription presentation helpers on product page */
.imc-sub-box{border:1.5px solid var(--imc-cyan);background:var(--imc-cyan-tint);border-radius:var(--imc-radius);padding:18px 20px;margin:1.2rem 0;}
.imc-sub-box strong{color:var(--imc-navy);}
.imc-sub-box .imc-sub-price{font-family:var(--imc-font-head);font-size:1.5rem;color:var(--imc-navy);}

/* =========================================================================
   CONTACT FORM 7
   ========================================================================= */
.wpcf7 .imc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.wpcf7 label{display:block;font-weight:600;font-size:.9rem;color:var(--imc-navy);margin-bottom:.35rem;}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea,.wpcf7 select{
  width:100%;border:1.5px solid var(--imc-line);border-radius:12px;padding:.85em 1em;font-family:var(--imc-font-body);font-size:1rem;background:#fff;
}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--imc-cyan);box-shadow:0 0 0 4px rgba(15,169,216,.15);}
.wpcf7 input[type=submit]{background:var(--imc-navy);color:#fff;border:0;border-radius:var(--imc-radius-pill);padding:1em 2.2em;font-weight:600;cursor:pointer;transition:.18s;}
.wpcf7 input[type=submit]:hover{background:var(--imc-cyan-deep);transform:translateY(-2px);}

/* =========================================================================
   FAQ (details/summary)
   ========================================================================= */
.imc-faq details{background:#fff;border:1px solid var(--imc-line-soft);border-radius:var(--imc-radius);padding:4px 22px;margin-bottom:14px;box-shadow:var(--imc-shadow-sm);}
.imc-faq summary{cursor:pointer;list-style:none;font-family:var(--imc-font-head);font-size:1.2rem;color:var(--imc-navy);padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.imc-faq summary::-webkit-details-marker{display:none;}
.imc-faq summary::after{content:"+";font-size:1.6rem;color:var(--imc-cyan-deep);font-family:var(--imc-font-body);transition:transform .2s;}
.imc-faq details[open] summary::after{transform:rotate(45deg);}
.imc-faq details > p{padding-bottom:18px;margin:0;color:var(--imc-muted);}

/* =========================================================================
   STEPS (how it works)
   ========================================================================= */
.imc-step-num{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;
  background:var(--imc-navy);color:#fff;font-family:var(--imc-font-head);font-size:1.25rem;margin-bottom:.6rem;}
.imc-tint .imc-step-num,.imc-dark .imc-step-num{background:var(--imc-cyan);color:#04222e;}

/* comparison */
.imc-compare{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--imc-radius);overflow:hidden;border:1px solid var(--imc-line-soft);box-shadow:var(--imc-shadow-sm);}
.imc-compare th,.imc-compare td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--imc-line-soft);}
.imc-compare thead th{background:var(--imc-navy);color:#fff;font-family:var(--imc-font-body);font-weight:600;}
.imc-compare th[scope=row]{font-weight:600;color:var(--imc-navy);}
.imc-compare .yes{color:var(--imc-green);font-weight:700;}
.imc-compare .no{color:#c0392b;font-weight:700;}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
/* prevent any horizontal overflow + fix CSS-grid/flex blowout from long words */
html,body{overflow-x:clip;max-width:100%;}
.imc-wrap{width:100%;}
.imc-hero__inner > *,.imc-split > *,.imc-grid > *{min-width:0;}
.imc-hero h1,.imc-hero__copy,.wp-block-heading,h1,h2,h3{overflow-wrap:break-word;}
.imc-no-title .entry-content > .alignfull{max-width:100%;}
@media (max-width:880px){
  .wpcf7 .imc-form-grid{grid-template-columns:1fr;}
  .imc-hero h1{font-size:clamp(2.4rem,7vw,3rem);}
}
@media (max-width:600px){
  .imc-hero{text-align:center;}
  .imc-hero .imc-lead{margin-inline:auto;}
  .imc-trust{gap:1rem 1.5rem;}
}

/* =========================================================================
   HOMEPAGE / CONTENT LAYOUT UTILITIES
   ========================================================================= */
.imc-grid{display:grid;gap:clamp(18px,2.5vw,28px);}
.imc-grid--2{grid-template-columns:repeat(2,1fr);}
.imc-grid--3{grid-template-columns:repeat(3,1fr);}
.imc-grid--4{grid-template-columns:repeat(4,1fr);}
@media(max-width:920px){.imc-grid--3,.imc-grid--4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.imc-grid--2,.imc-grid--3,.imc-grid--4{grid-template-columns:1fr;}}

.imc-section-head{max-width:64ch;margin:0 auto clamp(34px,4.5vw,56px);text-align:center;}
.imc-section-head .imc-kicker{justify-content:center;}
.imc-section-head h2{margin:.1em 0 .4em;}

.imc-icon{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block;}

/* hero */
.imc-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,60px);align-items:center;position:relative;z-index:1;}
@media(max-width:880px){.imc-hero__inner{grid-template-columns:1fr;text-align:center;}.imc-hero__copy .imc-btns{justify-content:center;}.imc-hero .imc-lead{margin-inline:auto;}}
.imc-hero__media{display:flex;justify-content:center;position:relative;isolation:isolate;}
.imc-hero__media::after{content:"";position:absolute;z-index:-1;width:78%;height:84%;left:11%;top:7%;border-radius:50%;background:radial-gradient(circle,rgba(15,169,216,.30),rgba(15,169,216,.06) 55%,transparent 72%);filter:blur(30px);}
.imc-hero__media img{max-width:min(330px,76%);height:auto;}
.imc-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.6rem;}
.imc-hero__trust{list-style:none;margin:1.9rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem 1.5rem;font-size:.9rem;color:var(--imc-muted);font-weight:550;letter-spacing:.01em;}
.imc-hero__trust li{display:inline-flex;align-items:center;gap:.45em;white-space:nowrap;}
.imc-hero__trust li::before{content:"";flex:0 0 18px;height:18px;border-radius:50%;background:var(--imc-cyan-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C87AC' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;}
@media(max-width:880px){.imc-hero__trust{justify-content:center;}}

/* product showcase card */
.imc-prod-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--imc-line-soft);border-radius:var(--imc-radius-lg);overflow:hidden;box-shadow:var(--imc-shadow-sm);transition:transform .2s ease,box-shadow .2s ease;}
.imc-prod-card:hover{transform:translateY(-5px);box-shadow:var(--imc-shadow);}
.imc-prod-card__img{position:relative;}
.imc-prod-card__img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.imc-prod-card__tag{position:absolute;top:16px;left:16px;}
.imc-prod-card__body{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1;}
.imc-prod-card__body h3{margin:.1em 0 .3em;}
.imc-prod-card__price{font-family:var(--imc-font-head);font-size:1.7rem;color:var(--imc-navy);margin:.5rem 0 1.1rem;}
.imc-prod-card__price small{font-size:.95rem;color:var(--imc-muted);font-family:var(--imc-font-body);font-weight:500;}
.imc-prod-card .imc-btn{margin-top:auto;width:100%;}

/* media + text split */
.imc-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;}
.imc-split--reverse .imc-split__media{order:2;}
@media(max-width:880px){.imc-split{grid-template-columns:1fr;}.imc-split--reverse .imc-split__media{order:0;}}
.imc-split__media img{width:100%;border-radius:var(--imc-radius-lg);box-shadow:var(--imc-shadow);}
.imc-checklist{list-style:none;margin:1.4rem 0 0;padding:0;}
.imc-checklist li{position:relative;padding-left:2.2rem;margin-bottom:.9rem;font-size:1.05rem;line-height:1.5;}
.imc-checklist li::before{content:"";position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;background:var(--imc-cyan-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C87AC' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/15px no-repeat;}
.imc-dark .imc-checklist li::before{background-color:rgba(15,169,216,.18);}

/* stat cards */
.imc-stat-card{text-align:center;padding:8px;}
.imc-stat-card .imc-stat{display:block;margin-bottom:.3rem;}

/* steps */
.imc-step{text-align:center;}
.imc-step h3{font-size:1.3rem;margin:.2em 0 .35em;}
.imc-step p{color:var(--imc-muted);font-size:1rem;}
.imc-tint .imc-step p{color:#3f5366;}

/* testimonial-free credibility tiles already use .imc-card */
.imc-cta-band h2{max-width:18ch;margin-inline:auto;}

/* fineprint inside product descriptions */
.imc-fineprint{font-size:.82rem;color:var(--imc-muted);background:var(--imc-cream-2);border-radius:12px;padding:14px 16px;}

/* legal / long-form pages */
.imc-legal{max-width:780px;}
.imc-legal h2{font-size:var(--imc-step-1);margin:2rem 0 .6rem;}
.imc-legal h3{font-size:1.2rem;margin:1.4rem 0 .4rem;}
.imc-legal p,.imc-legal li{color:var(--imc-ink);}
.imc-legal ul{padding-left:1.2rem;}
.imc-legal li{margin-bottom:.4rem;}
.imc-legal .imc-updated{color:var(--imc-muted);font-size:.9rem;margin-bottom:1.4rem;}
.imc-hero--compact{padding-block:clamp(40px,6vw,70px) clamp(28px,4vw,44px);}

/* hero pages: hide Astra's default page title + remove content top padding */
.imc-no-title h1.entry-title,
.imc-no-title .entry-header,
.imc-no-title .ast-archive-description{display:none !important;}
.imc-no-title .site-content .ast-container,
.imc-no-title #primary,
.imc-no-title .site-content > .ast-container{padding-top:0 !important;}
.imc-no-title .site-content article.page,
.imc-no-title .ast-article-single,
.imc-no-title .entry-content{margin-top:0 !important;padding-top:0 !important;}
/* let alignfull sections truly span the viewport even in default Astra layout */
.imc-no-title .entry-content > .alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;width:auto;}

/* =========================================================================
   ROUND 2.5 — UX/UI upgrades (announcement bar, sticky header, reveal,
   sticky add-to-cart, trust strips, stat strip, testimonials, a11y)
   ========================================================================= */

/* announcement / utility bar */
/* grid-stack crossfade: all items share one cell, so the bar grows to fit the
   tallest message (no clipping/overlap when text wraps on small screens) */
.imc-announce{background:var(--imc-navy);color:#dfeaf2;text-align:center;display:grid;min-height:40px;align-items:center;overflow:hidden;font-size:.8rem;font-weight:550;letter-spacing:.04em;padding:6px 16px;box-sizing:border-box;}
.imc-announce__item{grid-area:1/1;display:flex;align-items:center;justify-content:center;gap:.55em;opacity:0;transition:opacity .5s ease;line-height:1.3;}
.imc-announce__item.is-active{opacity:1;}
.imc-announce__item::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--imc-cyan);flex:0 0 6px;}
@media (max-width:600px){.imc-announce{font-size:.72rem;letter-spacing:.02em;padding:7px 14px;}}

/* sticky header (overflow-x:clip on body keeps this working) */
.site-header{position:sticky;top:0;z-index:999;transition:box-shadow .25s ease;}
.imc-header--scrolled{box-shadow:0 6px 22px rgba(11,31,51,.10);}

/* scroll reveal */
.imc-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.imc-reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){.imc-reveal{opacity:1 !important;transform:none !important;}}

/* accessible focus rings */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,.imc-btn:focus-visible{outline:3px solid rgba(15,169,216,.6);outline-offset:2px;border-radius:6px;}

/* homepage research stat strip */
.imc-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--imc-line-soft);border-radius:var(--imc-radius);overflow:hidden;background:#fff;box-shadow:var(--imc-shadow-sm);}
.imc-stats > div{padding:26px 18px;text-align:center;border-right:1px solid var(--imc-line-soft);}
.imc-stats > div:last-child{border-right:0;}
.imc-stats .n{display:block;font-family:var(--imc-font-head);font-weight:600;font-size:clamp(1.9rem,1.2rem+1.7vw,2.7rem);color:var(--imc-cyan-deep);line-height:1;letter-spacing:-.01em;}
.imc-stats .l{display:block;}
.imc-stats .l{font-size:.85rem;color:var(--imc-muted);margin-top:.45rem;line-height:1.35;}
.imc-dark .imc-stats{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);}
.imc-dark .imc-stats > div{border-color:rgba(255,255,255,.12);}
.imc-dark .imc-stats .n{color:var(--imc-cyan);}
.imc-dark .imc-stats .l{color:#b8c8d6;}
@media(max-width:700px){.imc-stats{grid-template-columns:repeat(2,1fr);}.imc-stats>div:nth-child(2){border-right:0;}.imc-stats>div:nth-child(-n+2){border-bottom:1px solid var(--imc-line-soft);}}

/* NAD+ decline mini-chart */
.imc-chart{display:flex;align-items:flex-end;gap:14px;height:170px;padding:0 4px;}
.imc-chart .bar{flex:1;background:linear-gradient(180deg,var(--imc-cyan),var(--imc-cyan-deep));border-radius:8px 8px 0 0;position:relative;display:flex;justify-content:center;}
.imc-chart .bar span{position:absolute;top:-22px;font-size:.8rem;font-weight:650;color:var(--imc-navy);}
.imc-chart .bar small{position:absolute;bottom:-24px;font-size:.78rem;color:var(--imc-muted);font-weight:550;}

/* testimonials */
.imc-quote{background:#fff;border:1px solid var(--imc-line-soft);border-radius:var(--imc-radius-lg);padding:28px;box-shadow:var(--imc-shadow-sm);height:100%;display:flex;flex-direction:column;}
.imc-quote__stars{color:var(--imc-cyan-deep);letter-spacing:3px;font-size:.95rem;margin-bottom:.7rem;}
.imc-quote__text{font-family:var(--imc-font-head);font-size:1.2rem;line-height:1.45;color:var(--imc-navy);margin:0 0 1.1rem;}
.imc-quote__who{margin-top:auto;font-size:.9rem;color:var(--imc-muted);display:flex;align-items:center;gap:.7rem;}
.imc-quote__avatar{width:40px;height:40px;border-radius:50%;background:var(--imc-cyan-tint);color:var(--imc-cyan-deep);display:flex;align-items:center;justify-content:center;font-family:var(--imc-font-head);font-weight:600;flex:0 0 40px;}
.imc-quote__who strong{color:var(--imc-navy);display:block;font-weight:650;}
.imc-disclaim{font-size:.8rem;color:var(--imc-muted);text-align:center;margin-top:26px;max-width:60ch;margin-inline:auto;}

/* PDP: cost-per-day + buy trust strip */
.imc-perday{font-size:.92rem;color:var(--imc-muted);margin:-.2rem 0 1.1rem;font-weight:550;}
.imc-buy-trust{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem 1.3rem;margin:1.1rem 0 0;padding:0;font-size:.85rem;color:var(--imc-muted);font-weight:550;}
.imc-buy-trust li{display:inline-flex;align-items:center;gap:.4em;}
.imc-buy-trust li::before{content:"";flex:0 0 16px;width:16px;height:16px;border-radius:50%;background:var(--imc-cyan-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C87AC' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat;}

/* PDP: sticky add-to-cart bar */
.imc-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:rgba(251,248,239,.97);backdrop-filter:saturate(140%) blur(10px);border-top:1px solid var(--imc-line);box-shadow:0 -6px 24px rgba(11,31,51,.10);transform:translateY(120%);transition:transform .3s ease;padding:11px 0;}
.imc-stickybar.is-visible{transform:translateY(0);}
.imc-stickybar__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.imc-stickybar__info{display:flex;flex-direction:column;line-height:1.2;min-width:0;}
.imc-stickybar__name{font-family:var(--imc-font-head);font-size:1.05rem;color:var(--imc-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.imc-stickybar__price{font-size:.92rem;color:var(--imc-muted);}
.imc-stickybar__price .imc-permo{font-size:.85rem;}
.imc-stickybar .imc-btn{flex:0 0 auto;white-space:nowrap;}
@media(max-width:600px){.imc-stickybar__name{font-size:.95rem;}.imc-stickybar .imc-btn{padding:.8em 1.15em;font-size:.92rem;}}

/* PDP: keep qty+button inline but force trust strip onto its own row */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.woocommerce div.product form.cart .quantity{margin:0;}
.imc-buy-trust{flex:0 0 100%;width:100%;}

/* =========================================================================
   MOBILE POLISH (<=600px)
   ========================================================================= */
@media (max-width:600px){
  /* CTAs: full-width, stacked, consistent — easy thumb targets */
  .imc-hero .imc-btns,.imc-cta-band .imc-btns{flex-direction:column;align-items:stretch;gap:12px;width:100%;}
  .imc-hero .imc-btns .imc-btn,.imc-cta-band .imc-btns .imc-btn{width:100%;}
  .imc-btn{padding:1em 1.6em;}              /* ~48px tap height */
  /* lead a touch smaller so it doesn't dominate */
  .imc-lead{font-size:1.08rem;line-height:1.5;}
  /* hero trust: centered, tidy */
  .imc-hero__trust{justify-content:center;gap:.45rem 1.1rem;}
  /* slightly smaller hero product so copy leads */
  .imc-hero__media img{max-width:74%;}
  /* section heads + split copy keep comfortable rhythm */
  .imc-section-head{margin-bottom:32px;}
  .imc-split{gap:28px;}
  /* product showcase + cards full width already via imc-grid; tighten card pad */
  .imc-card,.imc-prod-card__body{padding:22px;}
  /* keep sticky add-to-cart clear of content */
  .single-product{padding-bottom:84px;}
}

/* =========================================================================
   ROUND 3 — LEAD-GEN PIVOT + GLOBAL POLISH
   Catalog mode (no pricing): Request Access page & form, product CTAs,
   premium choice controls, refined motion, nav micro-interactions.
   ========================================================================= */

/* ---- Catalog: product card meta + CTAs ---- */
.imc-prod-card__meta{font-size:.92rem;color:var(--imc-muted);font-weight:560;letter-spacing:.005em;margin:.55rem 0 1.2rem;}
.imc-prod-card .imc-btn{margin-top:auto;width:100%;}

/* PDP request-access conversion block (replaces the price + add-to-cart) */
.imc-access-cta{margin:.2rem 0 0;}
.imc-access-cta__btn{min-width:230px;}
.imc-access-cta__or{font-size:.92rem;color:var(--imc-muted);margin:.95rem 0 0;line-height:1.55;max-width:42ch;}
.imc-access-cta__or a{font-weight:600;white-space:nowrap;}
.imc-loop-cta{margin-top:.4rem;}

/* ---- Request Access page ---- */
.imc-access-section{background:
  radial-gradient(120% 90% at 92% -10%,rgba(15,169,216,.18),transparent 55%),
  radial-gradient(80% 70% at -10% 110%,rgba(15,169,216,.08),transparent 55%),
  var(--imc-cream);}
.imc-access{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(34px,5vw,76px);align-items:start;}
.imc-access__intro h1{margin:.18em 0 .45em;}
.imc-access__list{margin-top:1.7rem;}
.imc-access__list li{font-size:1.02rem;}
.imc-access__contact{margin-top:1.9rem;font-size:1rem;color:var(--imc-muted);line-height:1.7;}
.imc-access__contact a{font-weight:650;color:var(--imc-cyan-deep);}
.imc-access__card{background:#fff;border:1px solid var(--imc-line-soft);border-radius:var(--imc-radius-lg);
  padding:clamp(24px,3.4vw,42px);box-shadow:var(--imc-shadow);}
.imc-access__formtitle{font-size:var(--imc-step-1);margin:0 0 1.3rem;}
@media(max-width:900px){.imc-access{grid-template-columns:1fr;gap:36px;}}

/* ---- Premium form controls (CF7) ---- */
.imc-access-form .imc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;}
.imc-access-form .imc-field{margin:0 0 18px;}
.imc-access-form .imc-field--full{grid-column:1 / -1;}
.imc-access-form label{display:block;font-weight:650;font-size:.9rem;color:var(--imc-navy);margin-bottom:.45rem;letter-spacing:.005em;}
.imc-access-form .imc-req{color:var(--imc-cyan-deep);margin-left:.15em;}
.imc-access-form .imc-opt{color:var(--imc-muted);font-weight:400;}
.imc-access-form input[type=number]{width:100%;border:1.5px solid var(--imc-line);border-radius:12px;padding:.85em 1em;font-family:var(--imc-font-body);font-size:1rem;background:#fff;}
.imc-access-form select{appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2352626f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1em center;background-size:18px;padding-right:2.6em;cursor:pointer;}
.imc-access-form input::placeholder,.imc-access-form textarea::placeholder{color:#9aa7b2;}

/* choice groups → pill toggles */
.imc-access-form fieldset.imc-choice{border:0;padding:0;margin:0 0 18px;min-width:0;}
.imc-access-form .imc-choice legend{font-weight:650;font-size:.9rem;color:var(--imc-navy);margin-bottom:.6rem;padding:0;}
.imc-access-form .imc-choice .wpcf7-checkbox,
.imc-access-form .imc-choice .wpcf7-radio{display:flex;flex-wrap:wrap;gap:10px;}
.imc-access-form .imc-choice .wpcf7-list-item{margin:0;}
.imc-access-form .imc-choice .wpcf7-list-item label{display:inline-flex;align-items:center;gap:.55em;margin:0;cursor:pointer;
  border:1.5px solid var(--imc-line);border-radius:var(--imc-radius-pill);padding:.62em 1.05em;
  font-weight:550;font-size:.95rem;color:var(--imc-ink);background:#fff;
  transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease;}
.imc-access-form .imc-choice .wpcf7-list-item label:hover{border-color:var(--imc-cyan);background:var(--imc-cyan-tint);}
.imc-access-form .imc-choice input[type=checkbox],
.imc-access-form .imc-choice input[type=radio]{accent-color:var(--imc-cyan-deep);width:1.05em;height:1.05em;margin:0;flex:0 0 auto;}
.imc-access-form .imc-choice .wpcf7-list-item label:has(input:checked){
  border-color:var(--imc-cyan-deep);background:var(--imc-cyan-tint);color:var(--imc-navy);
  box-shadow:inset 0 0 0 1px var(--imc-cyan-deep);}
/* honeypot — kept in the layout flow (so bots fill it) but hidden from humans */
.imc-hp{position:absolute !important;left:-9999px !important;top:auto;width:1px;height:1px;overflow:hidden;}
.imc-access-form .imc-form-submit{margin:.6rem 0 0;}
.imc-access-form .wpcf7-spinner{margin-left:12px;}
.wpcf7 .wpcf7-not-valid-tip{color:#c0392b;font-size:.82rem;font-weight:550;margin-top:.3rem;}
.wpcf7-response-output{border-radius:12px;font-size:.92rem;margin:1.2rem 0 0 !important;padding:.9em 1.1em !important;}
@media(max-width:520px){.imc-access-form .imc-form-grid{grid-template-columns:1fr;}}

/* ---- Motion polish (all gated behind reduced-motion) ---- */
@media (prefers-reduced-motion: no-preference){
  @keyframes imcUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
  /* hero entrance — gentle staggered rise */
  .imc-hero__copy > *{animation:imcUp .7s cubic-bezier(.22,.61,.36,1) backwards;}
  .imc-hero__copy > .imc-kicker{animation-delay:.04s;}
  .imc-hero__copy > h1{animation-delay:.12s;}
  .imc-hero__copy > .imc-lead{animation-delay:.22s;}
  .imc-hero__copy > .imc-btns{animation-delay:.32s;}
  .imc-hero__copy > .imc-hero__trust{animation-delay:.42s;}
  .imc-hero__media{animation:imcUp .9s cubic-bezier(.22,.61,.36,1) .18s backwards;}
  /* product card image zoom on hover */
  .imc-prod-card__img{overflow:hidden;}
  .imc-prod-card__img img{transition:transform .55s cubic-bezier(.22,.61,.36,1);}
  .imc-prod-card:hover .imc-prod-card__img img{transform:scale(1.045);}
}

/* keep the header CTA pill white even when it is the current page */
.ast-header-navigation-wrap .imc-nav-cta > .menu-link,
.main-header-menu .imc-nav-cta.current-menu-item > .menu-link{color:#fff !important;}
.main-header-menu .imc-nav-cta.current-menu-item > .menu-link::after{display:none;}

/* button press feedback */
.imc-btn:active,.wp-block-button__link:active,.woocommerce a.button:active,.woocommerce button.button:active{transform:translateY(0);}

/* ---- Nav underline micro-interaction ---- */
.ast-header-navigation-wrap .menu-item:not(.imc-nav-cta) > .menu-link{position:relative;}
.ast-header-navigation-wrap .menu-item:not(.imc-nav-cta) > .menu-link::after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;
  background:var(--imc-cyan-deep);transform:scaleX(0);transform-origin:left;transition:transform .26s cubic-bezier(.22,.61,.36,1);}
.ast-header-navigation-wrap .menu-item:not(.imc-nav-cta) > .menu-link:hover::after,
.ast-header-navigation-wrap .menu-item.current-menu-item:not(.imc-nav-cta) > .menu-link::after{transform:scaleX(1);}
@media (prefers-reduced-motion: reduce){
  .ast-header-navigation-wrap .menu-item > .menu-link::after{transition:none;}
}
