/* Scoped port of approved Emergent tokens and component geometry.
   Source hero.css is shipped unchanged; all commerce behavior stays in core. */
html[data-approved-design] {
  /* Palette authority: each brand.config.ts, already injected by BrandLayout. */
  --al-forest: var(--primary); --al-forest-strong: var(--primary);
  --al-ivory: var(--canvas); --al-ink: var(--ink); --al-sage: var(--secondary);
  --al-mist: var(--panel); --al-gold: var(--accent); --al-border: var(--panel);
  --al-radius-card: 12px; --al-radius-control: 10px;
  --al-shadow-1: 0 8px 28px color-mix(in srgb, var(--al-ink) 8%, transparent);
}
[data-approved-design] body {
  --font-display: Lato, sans-serif; --font-body: Lato, sans-serif;
  background: white; font-family: Lato, sans-serif;
}
[data-approved-design] h1, [data-approved-design] h2, [data-approved-design] h3,
[data-approved-design] h4, [data-approved-design] button, [data-approved-design] input,
[data-approved-design] select, [data-approved-design] textarea { font-family: Lato, sans-serif; letter-spacing: 0; }
[data-approved-design] h1 { font-weight: 800; }
[data-approved-design] h2, [data-approved-design] h3 { font-weight: 600; }
[data-approved-design] :focus-visible { outline: 3px solid #0067C0; outline-offset: 3px; }
[data-approved-design] .approved-header { position: sticky; top: 0; z-index: 50; background: white; border-bottom: 1px solid var(--al-border); }
[data-approved-design] .approved-utility { background: var(--al-forest); color: var(--primary-foreground); font-size: 12px; }
[data-approved-design] .approved-utility > div { max-width: 1360px; margin: auto; padding: 0 16px; min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
[data-approved-design] .approved-header-main { max-width: 1360px; margin: auto; display: flex; align-items: center; gap: 8px; padding: 8px 16px; min-height: 96px; }
[data-approved-design] .approved-header [data-testid="logo-link"] { padding: 14px; flex-shrink: 0; }
[data-approved-design] .approved-header [data-testid="brand-wordmark"] { width: 144px; height: 48px; }
[data-approved-design] .approved-desktop-nav { display: flex; align-items: center; flex-shrink: 0; }
[data-approved-design] .approved-desktop-nav > * { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; font-weight: 600; }
[data-approved-design] .approved-desktop-search { flex: 1; min-width: 160px; margin: 0 8px; }
[data-approved-design] .approved-header input { background: var(--al-mist); height: 48px; }
[data-approved-design] .approved-header [type="submit"] { background: var(--al-forest); }
[data-approved-design] .approved-cart { background: var(--al-forest); color: var(--primary-foreground); display: flex; align-items: center; gap: 8px; min-height: 48px; border-radius: 10px; padding: 8px 16px; font-weight: 600; }
[data-approved-design] .approved-mobile-menu, [data-approved-design] .approved-mobile-search { display: none; }
[data-approved-design] .promo-theme-dark, [data-approved-design] .promo-theme-forest { color: var(--primary-foreground); }
/* Override only frozen photo colors. Opacity protects 4.5:1 small text even
   over white (dark tiles) or black (light tiles), including NapiVitamin. */
[data-approved-design] .promo-theme-dark::before {
  background: color-mix(in srgb, var(--al-forest) 88%, transparent);
}
[data-approved-design] .promo-theme-light::before,
[data-approved-design] .promo-skin::before {
  background: color-mix(in srgb, var(--al-ivory) 70%, transparent);
}
[data-approved-design] .promo-link, [data-approved-design] .promo-primary-cta { flex-shrink: 0; }
[data-approved-design] .promo-link svg, [data-approved-design] .promo-primary-cta svg { flex-shrink: 0; }
[data-approved-design] .product-card { border-color: var(--al-border); border-radius: 12px; transition: border-color 200ms, box-shadow 200ms; }
[data-approved-design] .product-card:hover { transform: none; border-color: var(--al-sage); box-shadow: var(--al-shadow-1); }
[data-approved-design] .product-card h3 { color: var(--al-ink); }
[data-approved-design] footer { background: var(--al-ivory); color: var(--al-ink); }
[data-approved-design] .approved-footer-inner { max-width: 1280px; margin: auto; padding: 0 48px; }
[data-approved-design] .approved-footer-brand { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 40px 0 32px; border-bottom: 1px solid var(--al-border); }
[data-approved-design] .approved-footer-brand [data-testid="logo-link"] { padding: 20px; }
[data-approved-design] .approved-footer-brand [data-testid="brand-wordmark"] { width: 192px; height: 64px; }
[data-approved-design] .approved-footer-brand p { max-width: 256px; font-size: 14px; color: var(--al-ink); }
[data-approved-design] .approved-footer-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; padding: 40px 0; }
[data-approved-design] .approved-footer-columns h2 { font-size: 14px; font-weight: 600; margin-bottom: 16px; }
[data-approved-design] .approved-footer-columns a { display: block; padding: 8px 0; font-size: 14px; color: var(--al-ink); overflow-wrap: anywhere; }
[data-approved-design] .approved-footer-columns p { font-size: 14px; line-height: 1.5; color: var(--al-ink); }
[data-approved-design] .approved-footer-status { border-block: 1px solid var(--al-border); padding: 32px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; align-items: center; }
[data-approved-design] .approved-footer-status h2 { font-size: 18px; font-weight: 600; }
[data-approved-design] .approved-footer-status p { font-size: 14px; color: var(--al-ink); }
[data-approved-design] .approved-footer-bottom { padding: 24px 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; font-size: 12px; color: var(--al-ink); }
[data-approved-design] .approved-footer-bottom > span { display: flex; gap: 8px; align-items: center; }
@media (max-width: 767px) {
  [data-approved-design] .approved-footer-inner { padding: 0 24px; }
  [data-approved-design] .approved-footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-approved-design] .approved-footer-status { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1023px) {
  [data-approved-design] .approved-desktop-nav { display: none; }
  [data-approved-design] .approved-mobile-menu { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; }
}
@media (max-width: 767px) {
  [data-approved-design] .approved-header-main { min-height: 80px; padding: 4px 8px; gap: 0; }
  [data-approved-design] .approved-header [data-testid="logo-link"] { padding: 12px; }
  [data-approved-design] .approved-header [data-testid="brand-wordmark"] { width: 120px; height: 48px; }
  [data-approved-design] .approved-desktop-search { display: none; }
  [data-approved-design] .approved-mobile-search { display: block; margin: 0 16px 12px; }
  [data-approved-design] .approved-cart { margin-left: auto; padding: 8px 12px; }
  [data-approved-design] .approved-cart span { display: none; }
  [data-approved-design] .approved-utility > div { justify-content: center; }
  [data-approved-design] .approved-utility span { display: none; }
  [data-approved-design] .approved-header [type="submit"] { min-width: 44px; height: 44px; }
}

/* Owner-approved utility/header parity across the eight sibling brands. */
[data-approved-design] .approved-utility > .utility-content{min-height:32px;justify-content:space-between;gap:12px}
[data-approved-design] .utility-left{display:flex;align-items:center;gap:24px;min-width:0}
[data-approved-design] .utility-link{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;min-height:32px}
[data-approved-design] .utility-link:hover{text-decoration:underline}
[data-approved-design] .utility-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
[data-approved-design] .utility-link svg{flex-shrink:0;opacity:.65}
[data-approved-design] .utility-link span{display:inline}
[data-approved-design] .utility-hours{font-weight:600}
[data-approved-design] .approved-header-account{display:flex;align-items:center;gap:6px;padding:12px;color:var(--ink);white-space:nowrap}
[data-approved-design] .approved-wishlist{display:none}
@media(min-width:1024px){[data-approved-design] .approved-wishlist{display:flex}}
@media(max-width:767px){[data-approved-design] .approved-utility > .utility-content{padding:0 8px;gap:8px;font-size:10px}[data-approved-design] .utility-left{gap:8px}[data-approved-design] .utility-phone .utility-hours{display:none}[data-approved-design] .utility-link{gap:4px}[data-approved-design] .utility-link svg{width:12px;height:12px}}

/* Header controls aligned to the Arvoa Lux geometry; palette remains per brand. */
[data-approved-design] .approved-header-main { max-width: none; min-height: 85px; padding: 0 0 0 16px; }
[data-approved-design] .approved-header input { border-radius: 10px; }
[data-approved-design] .approved-header [type="submit"] { border-radius: 10px; }
[data-approved-design] .approved-header-account { font-weight: 700; gap: 8px; }
[data-approved-design] .approved-cart { align-self: stretch; justify-content: center; border-radius: 0; min-width: 140px; margin-left: 8px; font-weight: 700; padding: 0 24px; }
@media (min-width: 768px) and (max-width: 1199px) {
  [data-approved-design] .approved-header-account { padding: 12px 8px; }
  [data-approved-design] .approved-desktop-nav > * { padding: 8px; }
  [data-approved-design] .approved-cart { min-width: 100px; padding: 0 16px; }
}
@media (max-width: 767px) {
  [data-approved-design] .approved-header-main { min-height: 80px; padding: 0 0 0 8px; }
  [data-approved-design] .approved-cart { min-width: 56px; margin-left: auto; padding: 0 16px; }
}

/* Match Lux category heading and breathing room without changing brand palette. */
[data-approved-design] [data-testid="homepage-category-section"] > div { max-width: 1360px; }
[data-approved-design] [data-testid="homepage-category-section"] h2 { font-family: Lato, sans-serif; font-weight: 800; }

/* Mobile header follows Lux: one logo/search row; actions remain in bottom nav. */
[data-approved-design] .approved-utility .utility-catalog { display: none; }
@media(max-width:1023px) {
 [data-approved-design] [data-testid="catalog-source-notice"] { display: none; }
 [data-approved-design] .approved-utility > .utility-content { min-height: 34px; height: 34px; padding: 0 16px; font-size: 12px; }
 [data-approved-design] .utility-left > .utility-link:not(.utility-phone),
 [data-approved-design] .utility-content > .utility-link,
 [data-approved-design] .utility-phone .utility-hours { display: none; }
 [data-approved-design] .approved-utility .utility-catalog { display: inline; color: #9ca3af; white-space: nowrap; }
 [data-approved-design] .utility-phone { min-height: 34px; gap: 6px; }
 [data-approved-design] .utility-phone svg { width: 14px; height: 14px; }
 [data-approved-design] .approved-header-main { min-height: 60px; padding: 0 24px 0 12px; gap: 0; }
 [data-approved-design] .approved-header .approved-mobile-menu,
 [data-approved-design] .approved-header .approved-header-account,
 [data-approved-design] .approved-header .approved-cart,
 [data-approved-design] .approved-mobile-search { display: none; }
 [data-approved-design] .approved-header [data-testid="logo-link"] { padding: 0; margin-right: 4px; }
 [data-approved-design] .approved-header [data-testid="brand-wordmark"] { width: 88px; height: 36px; }
 [data-approved-design] .approved-desktop-search { display: block; min-width: 0; margin: 0; }
 [data-approved-design] .approved-header .approved-desktop-search input { height: 42px; padding-left: 16px; padding-right: 48px; font-size: 14px; }
 [data-approved-design] .approved-header .approved-desktop-search [type="submit"] { width: 36px; min-width: 36px; height: 36px; }
}
@media(min-width:640px) and (max-width:1023px) {
 [data-approved-design] .approved-header-main { min-height: 85px; padding: 0 32px 0 16px; }
 [data-approved-design] .approved-header [data-testid="brand-wordmark"] { width: 144px; height: 48px; }
 [data-approved-design] .approved-header [data-testid="logo-link"] { margin-right: 24px; }
 [data-approved-design] .approved-header .approved-desktop-search input { height: 48px; font-size: 16px; }
 [data-approved-design] .approved-header .approved-desktop-search [type="submit"] { width: 40px; min-width: 40px; height: 40px; }
}

@media(max-width:1023px) {
 [data-approved-design] [data-testid="mobile-bottom-nav"] { display: block; }
 [data-approved-design] body > main { padding-bottom: 60px; }
}

/* Match Lux search geometry instead of the older global 44px minimum. */
@media(max-width:1023px) {
 [data-approved-design] .approved-header .approved-desktop-search input { min-height: 0; }
 [data-approved-design] .approved-header .approved-desktop-search [type="submit"] { min-height: 0; }
}

/* Owner-requested Lux health-goal section parity; colors stay brand-scoped. */
[data-approved-design] [data-testid="health-categories-section"],
[data-approved-design] [data-testid="health-categories-section"] :is(h2,h3,p,span) { font-family: Lato, sans-serif !important; letter-spacing: 0; }
[data-approved-design] [data-testid="health-categories-section"] > div { max-width: 1360px; }
[data-approved-design] [data-testid="health-categories-section"] :is(h2,h3) { font-weight: 700; }

/* Owner-approved Lux legal strip parity; keep the current brand above it. */
[data-approved-design] .approved-legal-bar { background:#f3f2ef; }
[data-approved-design] .approved-legal-inner { max-width:1400px;margin:0 auto;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:Lato,sans-serif !important;font-size:12px;line-height:16px; }
[data-approved-design] .approved-legal-links { display:flex;flex-wrap:wrap;align-items:center;gap:4px;color:#9ca3af;min-width:0; }
[data-approved-design] .approved-legal-item { display:inline-flex;align-items:center;gap:6px;max-width:100%; }
[data-approved-design] .approved-legal-separator { margin:0 2px; }
[data-approved-design] .approved-legal-links a { color:inherit;text-decoration:none;overflow-wrap:anywhere;font-family:Lato,sans-serif !important; }
[data-approved-design] .approved-legal-links a:hover { color:#4b5563; }
[data-approved-design] .approved-legal-links a:focus-visible { outline:2px solid var(--al-ink);outline-offset:4px; }
[data-approved-design] .approved-legal-language { display:inline-flex;align-items:center;gap:6px;color:#6b7280;white-space:nowrap;flex-shrink:0; }
@media(max-width:639px) { [data-approved-design] .approved-legal-inner { padding:20px 24px;flex-direction:column;align-items:center; } }

@media(max-width:1023px) { [data-approved-design] .approved-legal-bar { padding-bottom:calc(60px + env(safe-area-inset-bottom,0px)); } }

[data-approved-design] .approved-legal-links a { display:inline-flex;align-items:center; }
@media(min-width:1024px) { [data-approved-design] .approved-legal-links a { min-height:0;height:auto;padding:0; } }
