/* Vanityform / Beauty Visual Foundation v0.20
   Preview-only visual layer. No launch-brand permission or commerce logic. */

html[data-beauty-visual-foundation="v0.20"] { background:#F7F1EC; }
body.store-home-shell,
body.store-product-template-beauty {
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  background:var(--store-bg,#F7F1EC);
}

/* Header: quieter, fashion/beauty commerce rather than app chrome. */
.store-home-shell .site-header,
body.store-product-template-beauty .site-header {
  background:color-mix(in srgb,var(--store-surface,#FFFDF9) 92%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--store-line,#D9CCC3) 86%,transparent);
  backdrop-filter:blur(22px) saturate(120%);
}
.store-home-shell .header-inner,
body.store-product-template-beauty .header-inner {
  min-height:72px;
  gap:clamp(18px,2vw,34px);
}
.store-home-shell .brand,
body.store-product-template-beauty .brand {
  font-family:var(--store-display-font,"Cormorant Garamond",Georgia,serif);
  font-size:clamp(1.72rem,2.2vw,2.15rem);
  font-weight:600;
  letter-spacing:-.045em;
  line-height:.9;
}
.store-home-shell .main-nav,
body.store-product-template-beauty .main-nav { gap:clamp(15px,1.75vw,26px); }
.store-home-shell .main-nav a,
body.store-product-template-beauty .main-nav a {
  position:relative;
  padding:26px 0 23px;
  border:0;
  color:var(--store-muted,#746964);
  font-size:.76rem;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.store-home-shell .main-nav a::after,
body.store-product-template-beauty .main-nav a::after {
  content:""; position:absolute; left:0; right:100%; bottom:19px; height:1px;
  background:var(--store-accent-strong,#71384B); transition:right .2s ease;
}
.store-home-shell .main-nav a:hover::after,
.store-home-shell .main-nav a.is-active::after,
body.store-product-template-beauty .main-nav a:hover::after,
body.store-product-template-beauty .main-nav a.is-active::after { right:0; }
.store-home-shell .header-search,
body.store-product-template-beauty .header-search {
  max-width:220px; min-height:38px; border:0; border-bottom:1px solid var(--store-line,#D9CCC3);
  border-radius:0; background:transparent; box-shadow:none;
}
.store-home-shell .header-search input,
body.store-product-template-beauty .header-search input { font-size:.78rem; }
.store-home-shell .icon-btn,
body.store-product-template-beauty .icon-btn {
  width:40px; height:40px; border:0; background:transparent; box-shadow:none;
}
.store-home-shell .cart-link,
body.store-product-template-beauty .cart-link { width:auto; padding:0 4px; gap:8px; border-radius:0; }
.store-home-shell .header-cart__label,
body.store-product-template-beauty .header-cart__label { font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.store-home-shell .cart-count,
body.store-product-template-beauty .cart-count { background:var(--store-accent-strong,#71384B); }

/* QA strip becomes subtle and separate from the actual announcement bar. */
.store-home-qa-banner,
body.beauty-pdp-qa-preview > div:first-child {
  padding:6px 14px !important; background:#EADCE0 !important; color:#6A3948 !important;
  font-family:"DM Sans",system-ui,sans-serif !important; font-size:.58rem !important;
  letter-spacing:.15em !important; border:0 !important;
}
.store-home-announcement {
  min-height:34px; padding:8px 24px; background:var(--store-contrast,#241D1D);
  font-size:.62rem; letter-spacing:.16em;
}

/* Home hero: image-led beauty editorial, asymmetric and less boxed. */
.store-home-hero {
  width:min(1540px,calc(100% - 56px)); min-height:clamp(640px,74vh,870px);
  margin:28px auto 0; grid-template-columns:minmax(390px,.76fr) minmax(0,1.24fr);
  border:0; background:var(--store-surface,#FFFDF9);
}
.store-home-hero__copy { padding:clamp(58px,6.5vw,108px) clamp(40px,6vw,94px); }
.store-home-hero .store-home__eyebrow { margin-bottom:22px; color:var(--store-accent-strong,#71384B); }
.store-home-hero h1 {
  max-width:8.2ch; font-size:clamp(4rem,7vw,7.6rem); line-height:.82; letter-spacing:-.06em;
  font-weight:500;
}
.store-home-hero p { max-width:45ch; margin-top:32px; font-size:clamp(.98rem,1.1vw,1.08rem); line-height:1.76; }
.store-home-hero__actions { margin-top:38px; gap:16px; }
.store-home-btn { min-height:48px; padding:13px 22px; border-radius:0; font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; }
.store-home-btn--primary { background:var(--store-accent-strong,#71384B); }
.store-home-btn--secondary { border-color:var(--store-line,#D9CCC3); }
.store-home-hero__media { min-height:640px; }
.store-home-hero__media img { object-position:center; }
.store-home__media-pending::before { width:28%; left:36%; top:31%; border-color:color-mix(in srgb,var(--store-accent-strong) 24%,transparent); }
.store-home__media-pending span { right:22px; bottom:20px; font-size:.55rem; letter-spacing:.18em; }

.store-home-section { width:min(1340px,calc(100% - 56px)); margin-top:clamp(104px,10vw,160px); }
.store-home__eyebrow { font-size:.62rem; letter-spacing:.19em; }
.store-home-section h2,
.store-home-editorial h2,
.store-home-routine h2 { font-size:clamp(3rem,4.7vw,5.5rem); line-height:.9; letter-spacing:-.05em; }
.store-home-section__head--split,
.store-home-section__head--category { grid-template-columns:minmax(0,1.35fr) minmax(280px,.48fr); gap:clamp(44px,8vw,120px); }
.store-home-section__head p { max-width:42ch; font-size:.92rem; }

/* Categories: taller photography, fewer UI decorations. */
.store-home-categories { gap:14px; }
.store-home-category__visual { background:#EDE3DC; }
.store-home-category__media { aspect-ratio:3/4.25; }
.store-home-category__veil { background:linear-gradient(180deg,rgba(26,18,20,.02) 40%,rgba(26,18,20,.68) 100%); }
.store-home-category__overlay { padding:18px; }
.store-home-category__index { font-size:.58rem; letter-spacing:.2em; }
.store-home-category h3 { font-size:clamp(2rem,2.5vw,3rem); }
.store-home-category__explore { font-size:.6rem; letter-spacing:.14em; }
.store-home-category__descriptor { margin-top:12px; font-size:.82rem; }

/* Product edit: product photography first, product copy second. */
.store-home-product-grid { gap:14px; }
.store-home-product-card__media { aspect-ratio:4/5; background:#EEE4DC; }
.store-home-product-card__media img { object-fit:cover; }
.store-home-product-card__badge { top:10px; left:10px; padding:6px 8px; border:1px solid color-mix(in srgb,var(--store-line) 75%,transparent); font-size:.56rem; letter-spacing:.12em; }
.store-home-product-card__body { padding-top:13px; }
.store-home-product-card__meta { font-size:.59rem; letter-spacing:.13em; }
.store-home-product-card h3 { font-size:1.25rem; line-height:1.12; }
.store-home-product-card__price strong { font-size:.86rem; }
.store-home-product-card__cta { margin-top:12px; color:var(--store-ink); font-size:.64rem; letter-spacing:.11em; text-transform:uppercase; }

/* Editorial and routine blocks: stronger magazine rhythm. */
.store-home-editorial,
.store-home-routine { width:min(1540px,calc(100% - 56px)); }
.store-home-editorial { grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr); background:#EDE3DC; }
.store-home-editorial__copy,
.store-home-routine__copy { padding:clamp(58px,7vw,116px); }
.store-home-editorial__media,
.store-home-routine__media { min-height:clamp(600px,60vw,820px); }
.store-home-editorial p,
.store-home-routine p { max-width:46ch; font-size:.96rem; }
.store-home-text-link { font-size:.64rem; letter-spacing:.14em; }
.store-home-values { width:min(1340px,calc(100% - 56px)); padding:clamp(80px,9vw,128px) 0; }
.store-home-value__icon { border:0; background:var(--store-accent-soft,#F1E2E7); }
.store-home-value h3 { font-size:clamp(1.75rem,2.2vw,2.35rem); }
.store-home-value p { max-width:34ch; font-size:.84rem; }
.store-home-routine { background:#241D1D; }
.store-home-routine__link { padding:15px 0; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }

/* Footer: more editorial, less dashboard-like. */
.store-home-shell .site-footer,
body.store-product-template-beauty .site-footer { padding-top:76px; background:#E9DDD5; }
.store-home-shell .footer-grid,
body.store-product-template-beauty .footer-grid { gap:clamp(28px,5vw,76px); }
.store-home-shell .footer-brand,
body.store-product-template-beauty .footer-brand { font-size:2.25rem; }
.store-home-shell .footer-grid h3,
body.store-product-template-beauty .footer-grid h3 { font-family:var(--store-body-font,"DM Sans",sans-serif); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; }

/* PDP visual polish, scoped to Beauty template. */
body.store-product-template-beauty .breadcrumb { margin:22px 0 30px; font-size:.65rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
body.store-product-template-beauty .breadcrumb a { color:var(--store-product-muted); }
body.store-product-template-beauty .product-detail--beauty .product-detail__top { gap:clamp(42px,6vw,88px) !important; }
body.store-product-template-beauty .product-detail--beauty .main-image { background:#ECE2DA !important; }
body.store-product-template-beauty .product-detail--beauty .main-image img { mix-blend-mode:multiply; }
body.store-product-template-beauty .product-detail--beauty .thumbnail { background:#F0E7E0 !important; }
body.store-product-template-beauty .product-detail--beauty .product-info { gap:12px; }
body.store-product-template-beauty .product-detail--beauty .product-info h1 { font-size:clamp(3.1rem,4.6vw,5.4rem); line-height:.88; letter-spacing:-.055em; max-width:10ch; }
body.store-product-template-beauty .product-detail--beauty .product-brand { font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; }
body.store-product-template-beauty .product-detail--beauty .product-pilot-promise { max-width:44ch; font-size:.94rem; line-height:1.7; }
body.store-product-template-beauty .product-detail--beauty .product-detail-price strong { color:var(--store-product-ink); font-size:1.7rem; font-weight:650; }
body.store-product-template-beauty .product-detail--beauty .price-savings { border-radius:0; background:var(--store-product-accent-soft); color:var(--store-product-accent-strong); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; }
body.store-product-template-beauty .product-detail--beauty .pp328-purchase-card { border-color:var(--store-product-line) !important; }
body.store-product-template-beauty .product-detail--beauty .rb-add-to-cart-secondary { min-height:56px; background:var(--store-product-accent-strong) !important; border-color:var(--store-product-accent-strong) !important; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
body.store-product-template-beauty .product-detail--beauty .rb-video-benefits li { padding:13px 0; font-size:.86rem; }
body.store-product-template-beauty .product-detail--beauty .rb267-page { margin-top:96px; }
body.store-product-template-beauty .product-detail--beauty .rb267-page h2 { font-size:clamp(2.8rem,4.5vw,5rem); line-height:.92; }
body.store-product-template-beauty .related-section { margin-top:110px; }
body.store-product-template-beauty .related-section .section-heading h2 { font-size:clamp(2.4rem,3.7vw,4rem); }

@media (max-width:900px) {
  .store-home-hero { width:calc(100% - 28px); grid-template-columns:1fr; }
  .store-home-hero__media { min-height:560px; order:-1; }
  .store-home-hero__copy { padding:46px 28px 52px; }
  .store-home-hero h1 { max-width:9.2ch; font-size:clamp(4rem,12vw,6.4rem); }
  .store-home-editorial,.store-home-routine { width:calc(100% - 28px); }
}

@media (max-width:640px) {
  .store-home-shell .header-inner,
  body.store-product-template-beauty .header-inner { min-height:62px; }
  .store-home-shell .brand,
  body.store-product-template-beauty .brand { font-size:1.7rem; }
  .store-home-announcement { padding-inline:14px; font-size:.54rem; }
  .store-home-hero,.store-home-section,.store-home-editorial,.store-home-values,.store-home-routine { width:calc(100% - 20px); }
  .store-home-hero { margin-top:10px; }
  .store-home-hero__media { min-height:460px; }
  .store-home-hero__copy { padding:34px 20px 40px; }
  .store-home-hero h1 { font-size:clamp(3.35rem,15.5vw,4.8rem); line-height:.84; }
  .store-home-hero p { margin-top:24px; font-size:.9rem; }
  .store-home-btn { width:100%; flex:1 1 100%; }
  .store-home-section { margin-top:90px; }
  .store-home-section h2,.store-home-editorial h2,.store-home-routine h2 { font-size:clamp(2.8rem,13.4vw,4.1rem); }
  .store-home-categories { grid-template-columns:1fr 1fr; gap:22px 8px; }
  .store-home-category__media { aspect-ratio:3/4.4; }
  .store-home-category__overlay { padding:11px; }
  .store-home-category h3 { font-size:1.65rem; }
  .store-home-category__descriptor { font-size:.72rem; }
  .store-home-product-grid { gap:26px 8px; }
  .store-home-product-card__media { aspect-ratio:4/5.35; }
  .store-home-product-card h3 { font-size:1.02rem; }
  .store-home-product-card__cta { display:none; }
  .store-home-editorial__copy,.store-home-routine__copy { padding:38px 22px 44px; }
  .store-home-editorial__media,.store-home-routine__media { min-height:470px; }
  .store-home-values { padding:66px 0; }
  body.store-product-template-beauty .product-page { padding-left:12px; padding-right:12px; }
  body.store-product-template-beauty .product-detail--beauty .product-info h1 { max-width:11ch; font-size:clamp(2.8rem,13vw,4rem); }
  body.store-product-template-beauty .product-detail--beauty .rb267-page { margin-top:62px; }
}
