/*
 * Neo Commerce Design System v2 — Phase 4B
 * Loaded after the legacy bundle so token migration can be incremental and reversible.
 */
:root{
  --neo-brand:#00c854;--neo-brand-rgb:0,200,84;--neo-brand-hover:#00b34b;
  --neo-secondary:#0f172a;--neo-text:#101510;--neo-muted:#6b756d;
  --neo-surface:#fff;--neo-surface-alt:#f7fff7;--neo-border:#e3e9e5;
  --neo-dark-surface:#0d1510;--neo-dark-surface-alt:#121d16;--neo-dark-text:#edf7f0;--neo-dark-muted:#9eaca3;--neo-dark-border:#26352b;
  --neo-font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --neo-font-heading:var(--neo-font-body);--neo-font-ui:var(--neo-font-body);
  --neo-weight-body:400;--neo-weight-ui:500;--neo-weight-heading:600;
  --neo-base-size:16px;--neo-line-height:1.55;
}

body{
  --neo-page-bg:var(--neo-surface-alt);--neo-page-surface:var(--neo-surface);--neo-page-surface-alt:var(--neo-surface-alt);
  --neo-page-text:var(--neo-text);--neo-page-muted:var(--neo-muted);--neo-page-border:var(--neo-border);
  margin:0;background:var(--neo-page-bg);color:var(--neo-page-text);
  font-family:var(--neo-font-body);font-size:var(--neo-base-size);font-weight:var(--neo-weight-body);line-height:var(--neo-line-height);
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
}
body.neo-surface-light{color-scheme:light}
body.neo-surface-dark{
  color-scheme:dark;--neo-page-bg:var(--neo-dark-surface);--neo-page-surface:var(--neo-dark-surface-alt);--neo-page-surface-alt:var(--neo-dark-surface);
  --neo-page-text:var(--neo-dark-text);--neo-page-muted:var(--neo-dark-muted);--neo-page-border:var(--neo-dark-border);
}
@media(prefers-color-scheme:dark){body.neo-surface-system{
  color-scheme:dark;--neo-page-bg:var(--neo-dark-surface);--neo-page-surface:var(--neo-dark-surface-alt);--neo-page-surface-alt:var(--neo-dark-surface);
  --neo-page-text:var(--neo-dark-text);--neo-page-muted:var(--neo-dark-muted);--neo-page-border:var(--neo-dark-border);
}}

/* Typography contract: no 800/900 UI weight. */
h1,h2,h3,h4,h5,h6,.neo-hero-title,.section-title,.detail-info>h1,.detail-card>h2,.detail-card>h3,.footer-title{
  font-family:var(--neo-font-heading);font-weight:var(--neo-weight-heading);letter-spacing:-.018em;
}
button,input,select,textarea,.add-cart,.detail-cart,.detail-buy,.neo-hero-cta,.hero-cat-cta,.campaign-link,.action-btn,.category-menu{
  font-family:var(--neo-font-ui);font-weight:var(--neo-weight-ui);
}
p,li,.product-body,.detail-sub,.neo-search-empty,.footer-company-info{font-family:var(--neo-font-body)}
.section-head .overline,.badge,.neo-stock-pill,.product-meta,.installment,.breadcrumb{font-weight:var(--neo-weight-ui)}

/* Brand token migration for the most visible commerce interactions. */
.add-cart,.detail-cart,.neo-mini-cart-primary,.neo-cart-modal-primary,.neo-hero-cta,.hero-cat-cta,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.neo-section-link:hover,.campaign-link:hover{
  background-color:var(--neo-brand);border-color:var(--neo-brand);color:#06160c;
}
.add-cart:hover,.detail-cart:hover,.neo-mini-cart-primary:hover,.neo-cart-modal-primary:hover,.neo-hero-cta:hover,.hero-cat-cta:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background-color:var(--neo-brand-hover);border-color:var(--neo-brand-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--neo-brand);outline-offset:2px}
.price,.detail-price,.cash-price,.neo-mini-cart-copy b,.neo-stock-pill.is-in-stock,.section-head .overline{color:var(--neo-brand-hover)}

/* Surface migration. */
.header-shell,.main-header,.nav-row,.neo-mini-cart,.neo-cart-modal-dialog,.product-card,.hero-cat,.brand-chip,.trust-card,
.detail-shell,.detail-card,.price-panel,.variant-block,.delivery-highlight,.listing-toolbar,.neo-search-empty,
.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-checkout .neo-checkout-card{
  background-color:var(--neo-page-surface);color:var(--neo-page-text);border-color:var(--neo-page-border);
}
.search-zone input,.neo-search-page .listing-toolbar .woocommerce-ordering select,input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="password"],select,textarea{
  border-color:var(--neo-page-border);color:var(--neo-page-text);
}
body.neo-surface-dark .search-zone input,body.neo-surface-dark input[type="text"],body.neo-surface-dark input[type="email"],body.neo-surface-dark input[type="tel"],body.neo-surface-dark input[type="number"],body.neo-surface-dark input[type="password"],body.neo-surface-dark select,body.neo-surface-dark textarea{background:var(--neo-page-surface-alt)}
@media(prefers-color-scheme:dark){body.neo-surface-system .search-zone input,body.neo-surface-system input[type="text"],body.neo-surface-system input[type="email"],body.neo-surface-system input[type="tel"],body.neo-surface-system input[type="number"],body.neo-surface-system input[type="password"],body.neo-surface-system select,body.neo-surface-system textarea{background:var(--neo-page-surface-alt)}}

body.neo-surface-dark .header-shell.neo-header-sticky,
body.neo-surface-dark .header-shell,
body.neo-surface-dark .main-header,
body.neo-surface-dark .nav-row{background:color-mix(in srgb,var(--neo-dark-surface-alt) 94%,transparent)}
body.neo-surface-dark :where(.product-card,.detail-card,.detail-shell,.hero-cat,.trust-card,.brand-chip,.neo-mini-cart,.neo-cart-modal-dialog){box-shadow:0 12px 34px rgba(0,0,0,.18)}
body.neo-surface-dark :where(.product-card,.detail-card,.detail-shell,.hero-cat,.trust-card,.brand-chip,.neo-mini-cart,.neo-cart-modal-dialog) :where(h1,h2,h3,h4,strong,a){color:var(--neo-page-text)}
body.neo-surface-dark :where(.product-card,.detail-card,.detail-shell,.hero-cat,.trust-card,.brand-chip,.neo-mini-cart,.neo-cart-modal-dialog) :where(p,small,.product-meta,.detail-sub){color:var(--neo-page-muted)}
@media(prefers-color-scheme:dark){
  body.neo-surface-system .header-shell.neo-header-sticky,body.neo-surface-system .header-shell,body.neo-surface-system .main-header,body.neo-surface-system .nav-row{background:color-mix(in srgb,var(--neo-dark-surface-alt) 94%,transparent)}
  body.neo-surface-system :where(.product-card,.detail-card,.detail-shell,.hero-cat,.trust-card,.brand-chip,.neo-mini-cart,.neo-cart-modal-dialog){box-shadow:0 12px 34px rgba(0,0,0,.18)}
  body.neo-surface-system :where(.product-card,.detail-card,.detail-shell,.hero-cat,.trust-card,.brand-chip,.neo-mini-cart,.neo-cart-modal-dialog) :where(h1,h2,h3,h4,strong,a){color:var(--neo-page-text)}
  body.neo-surface-system :where(.product-card,.detail-card,.detail-shell,.hero-cat,.trust-card,.brand-chip,.neo-mini-cart,.neo-cart-modal-dialog) :where(p,small,.product-meta,.detail-sub){color:var(--neo-page-muted)}
}

/* Density is explicit instead of scattering one-off spacing controls. */
body.neo-density-compact{--neo-space-factor:.9}
body.neo-density-comfortable{--neo-space-factor:1.08}
body.neo-density-comfortable :where(.product-card,.detail-card,.trust-card,.hero-cat){padding-block:calc(1em * var(--neo-space-factor))}

/* Preserve legibility in display areas while keeping the global weight ceiling. */
.neo-hero-title{font-weight:var(--neo-weight-heading)}
.product-body h3,.product-body h3 a{font-weight:500}
.footer-company-info p{font-weight:400}

@media(max-width:680px){body{font-size:clamp(14px,var(--neo-base-size),17px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}


/* Phase 4C — Footer Builder + premium corporate pages */
.neo-footer-builder .footer-grid{display:grid;grid-template-columns:minmax(220px,1.45fr) repeat(auto-fit,minmax(150px,.72fr));gap:clamp(24px,3vw,52px);align-items:start}
.neo-footer-builder .footer-logo-wrap{margin-bottom:14px}.neo-footer-builder .footer-brand-column>p{max-width:46ch}
.neo-footer-builder .footer-link-column h4{font-size:.76rem;line-height:1.2;font-weight:var(--neo-weight-ui,500);letter-spacing:.04em;text-transform:uppercase;opacity:.7;margin:0 0 14px}
.neo-footer-builder .footer-link-column>a{display:block;margin:0 0 9px;font-size:.9rem;line-height:1.4}
.neo-footer-builder .footer-company-info{margin-top:18px;padding:0;border:0;background:transparent;box-shadow:none}.neo-footer-builder .footer-company-info p{margin:5px 0;font-size:.8rem;line-height:1.5}
.neo-footer-builder .footer-company-info strong{font-weight:var(--neo-weight-ui,500)}.neo-footer-builder .footer-trust-text,.neo-footer-builder .footer-contact-mini{font-size:.8rem;line-height:1.55}
.neo-footer-builder .footer-payment-trust-row{display:flex;flex-wrap:wrap;gap:8px}.neo-footer-builder .footer-payment-trust-row>span{border:1px solid var(--neo-page-border);border-radius:10px;padding:9px 12px;background:var(--neo-page-surface);font-size:.78rem;font-weight:var(--neo-weight-ui,500)}
.neo-footer-builder .footer-security-logos{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.neo-footer-builder .footer-security-logos img{max-height:30px;width:auto}
.neo-footer-builder .footer-copyright{padding-top:16px;padding-bottom:18px}.neo-footer-builder .footer-copyright p{font-size:.76rem;opacity:.72}

.neo-default-page{padding-block:36px 70px}.neo-default-page-content{max-width:900px;margin-inline:auto}
.neo-corporate-page{padding:24px 0 80px;background:linear-gradient(180deg,var(--neo-page-surface-alt) 0, var(--neo-page-surface) 280px)}
.neo-corporate-shell{max-width:1180px}.neo-corporate-width-standard .neo-corporate-shell{max-width:1080px}.neo-corporate-width-wide .neo-corporate-shell{max-width:1280px}
.neo-corporate-breadcrumb{display:flex;gap:8px;align-items:center;margin:0 0 22px;font-size:.76rem;color:var(--neo-page-muted)}.neo-corporate-breadcrumb a{color:inherit;text-decoration:none}.neo-corporate-breadcrumb a:hover{color:var(--neo-brand)}
.neo-corporate-hero{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;padding:26px 0 30px;border-bottom:1px solid var(--neo-page-border)}
.neo-corporate-hero-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--neo-brand) 12%,var(--neo-page-surface));color:var(--neo-brand);font-size:1rem;font-weight:600}
.neo-corporate-kicker{display:block;margin-bottom:7px;color:var(--neo-brand);font-size:.72rem;line-height:1.2;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.neo-corporate-hero h1{margin:0;font-size:clamp(1.72rem,3vw,2.5rem);line-height:1.08;font-weight:var(--neo-weight-heading,600);letter-spacing:-.035em;color:var(--neo-page-text)}
.neo-corporate-hero p{max-width:720px;margin:12px 0 0;color:var(--neo-page-muted);font-size:.94rem;line-height:1.65}
.neo-corporate-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;padding-top:32px}.neo-corporate-layout.has-toc{grid-template-columns:190px minmax(0,1fr)}
.neo-corporate-toc{position:sticky;top:110px;align-self:start;padding:6px 18px 6px 0;border-right:1px solid var(--neo-page-border)}.neo-corporate-toc>span{display:block;margin-bottom:11px;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--neo-page-muted)}
.neo-corporate-toc nav{display:grid;gap:3px}.neo-corporate-toc a{display:block;padding:7px 9px;border-radius:8px;color:var(--neo-page-muted);font-size:.78rem;line-height:1.35;text-decoration:none}.neo-corporate-toc a:hover,.neo-corporate-toc a:focus-visible{background:color-mix(in srgb,var(--neo-brand) 8%,transparent);color:var(--neo-page-text)}
.neo-corporate-content{min-width:0;max-width:820px;color:var(--neo-page-text);font-size:var(--neo-base-size,16px);line-height:var(--neo-line-height,1.55)}.neo-corporate-width-wide .neo-corporate-content{max-width:980px}
.neo-corporate-content> :first-child{margin-top:0}.neo-corporate-content h2{scroll-margin-top:120px;margin:38px 0 12px;padding-top:2px;font-size:clamp(1.12rem,2vw,1.38rem);line-height:1.25;font-weight:var(--neo-weight-heading,600);letter-spacing:-.018em;color:var(--neo-page-text)}
.neo-corporate-content h3{margin:28px 0 10px;font-size:1rem;font-weight:600}.neo-corporate-content p,.neo-corporate-content li{color:var(--neo-page-muted)}.neo-corporate-content p{margin:0 0 17px}.neo-corporate-content ul,.neo-corporate-content ol{margin:0 0 20px;padding-left:1.2rem}
.neo-corporate-content a{color:var(--neo-brand);text-underline-offset:3px}.neo-corporate-content blockquote{margin:24px 0;padding:15px 18px;border-left:3px solid var(--neo-brand);border-radius:0 10px 10px 0;background:var(--neo-page-surface-alt)}
.neo-corporate-content table{width:100%;border-collapse:collapse;font-size:.86rem}.neo-corporate-content th,.neo-corporate-content td{padding:11px 12px;border-bottom:1px solid var(--neo-page-border);text-align:left}.neo-corporate-content th{font-weight:600}
body.neo-surface-dark .neo-corporate-page{background:linear-gradient(180deg,var(--neo-page-surface-alt) 0,var(--neo-page-bg) 280px)}
@media (prefers-color-scheme:dark){body.neo-surface-system .neo-corporate-page{background:linear-gradient(180deg,var(--neo-page-surface-alt) 0,var(--neo-page-bg) 280px)}}
@media (max-width:900px){.neo-corporate-layout.has-toc{grid-template-columns:1fr}.neo-corporate-toc{position:static;border:1px solid var(--neo-page-border);border-radius:12px;padding:14px}.neo-corporate-toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}.neo-footer-builder .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.neo-footer-builder .footer-brand-column{grid-column:1/-1}}
@media (max-width:600px){.neo-corporate-page{padding-top:16px}.neo-corporate-hero{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:20px 0 24px}.neo-corporate-hero-icon{width:36px;height:36px;border-radius:11px}.neo-corporate-layout{padding-top:24px;gap:24px}.neo-corporate-toc nav{grid-template-columns:1fr}.neo-corporate-content h2{margin-top:30px}.neo-footer-builder .footer-grid{grid-template-columns:1fr;gap:26px}.neo-footer-builder .footer-brand-column{grid-column:auto}}
