/* ============================================
   OMI'S COOKIES — DESIGN TOKENS (v2 — sade & lüks)
   ============================================ */
:root{
  --bordo: #330a0f;
  --bordo-deep: #200609;
  --bordo-soft: #43141c;
  --cream: #ede7c7;
  --cream-dim: #e3dcb9;
  --paper: #faf8f2;
  --paper-alt: #f3efe2;
  --gold: #a9793c;
  --gold-light: #cfa966;
  --ink: #241209;
  --ink-soft: #7a6a5a;
  --line: rgba(51,10,15,.09);
  --line-light: rgba(237,231,199,.16);
  --shadow: 0 24px 60px -24px rgba(32,6,9,.28);
  --shadow-sm: 0 10px 26px -16px rgba(32,6,9,.24);
  --radius: 3px;
  --radius-lg: 4px;
  --font-display: 'Fraunces', 'Cormorant Garamond', serif;
  --font-body: 'Inter', sans-serif;
  --ease: cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:500;}
p{margin:0;line-height:1.65;}
button{font-family:var(--font-body);cursor:pointer;border:none;background:none;color:inherit;}
input,textarea,select{font-family:var(--font-body);}
:focus-visible{outline:1.5px solid var(--gold);outline-offset:3px;}
.eyebrow{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin:0 0 16px;
}
.eyebrow--dark{color:var(--gold);}

/* ============================================
   BUTTONS
   ============================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 32px;border-radius:var(--radius);
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;
  transition:transform .35s var(--ease), background .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease;
  white-space:nowrap;
}
.btn--dark{background:var(--bordo);color:var(--cream);}
.btn--dark:hover{background:var(--bordo-deep);transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.btn--cream{background:var(--cream);color:var(--bordo);}
.btn--cream:hover{background:var(--gold-light);color:var(--bordo-deep);transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.btn--outline{border:1px solid var(--bordo);color:var(--bordo);}
.btn--outline:hover{background:var(--bordo);color:var(--cream);}
.btn--ghost-light{border:1px solid var(--line-light);color:var(--cream);}
.btn--ghost-light:hover{border-color:var(--cream);background:rgba(237,231,199,.06);}
.btn--full{width:100%;}
.btn--social{border:1px solid var(--line);color:var(--ink);width:100%;background:#fff;font-weight:500;text-transform:none;letter-spacing:0;font-size:.85rem;}
.btn--social:hover{background:var(--paper-alt);}
.btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none;}
.btn-text{
  font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--bordo);
  border-bottom:1px solid var(--line);padding-bottom:3px;transition:border-color .25s ease, color .25s ease;
}
.btn-text:hover{border-color:var(--bordo);color:var(--bordo);}
.section--dark .btn-text{color:var(--cream);border-color:var(--line-light);}
.section--dark .btn-text:hover{border-color:var(--cream);}
.cart-drawer .btn-text{color:var(--bordo);}

/* ============================================
   UTILITY BAR (static, no motion)
   ============================================ */
.utility-bar{
  background:var(--bordo-deep);color:var(--cream-dim);
  text-align:center;padding:10px 20px;
  font-size:.66rem;letter-spacing:.13em;font-weight:600;
  display:flex;justify-content:center;gap:12px;flex-wrap:wrap;
}
.utility-bar__dot{color:var(--gold);}

/* ============================================
   QUIET DIVIDER (replaces the old scrolling marquee)
   ============================================ */
.divider-line{
  max-width:1000px;margin:0 auto;padding:56px 32px;
  display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;
  text-align:center;
}
.divider-line span:not(.divider-line__mark){
  font-family:var(--font-display);font-style:italic;font-size:1.05rem;color:var(--ink-soft);
}
.divider-line__mark{color:var(--gold);font-size:.7rem;}

@media(prefers-reduced-motion: reduce){ *{animation:none !important;} }

/* ============================================
   HEADER
   ============================================ */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(51,10,15,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-light);
}
.site-header__inner{
  max-width:1360px;margin:0 auto;padding:18px 32px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;
}
.brand-mark{justify-self:center;}
.brand-mark img{height:30px;width:auto;}
.main-nav{display:flex;gap:36px;font-size:.78rem;letter-spacing:.03em;font-weight:600;text-transform:uppercase;}
.main-nav a{position:relative;padding:4px 0;color:var(--cream);}
.main-nav a::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);
  transition:width .3s var(--ease);
}
.main-nav a:hover::after{width:100%;}
.header-actions{display:flex;gap:24px;justify-content:flex-end;}
.icon-btn{
  display:flex;align-items:center;gap:8px;position:relative;color:var(--cream);
}
.icon-btn svg{width:19px;height:19px;}
.icon-btn__label{font-size:.74rem;font-weight:600;letter-spacing:.02em;}
.cart-count{
  position:absolute;top:-8px;right:-10px;background:var(--gold);color:var(--bordo-deep);
  font-size:.6rem;font-weight:700;min-width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;padding:0 3px;
}
.hamburger{display:none;flex-direction:column;gap:5px;width:22px;}
.hamburger span{height:1.5px;background:var(--cream);border-radius:2px;}
.mobile-nav{display:none;flex-direction:column;border-top:1px solid var(--line-light);padding:6px 32px 18px;}
.mobile-nav a{padding:12px 0;font-weight:600;border-bottom:1px solid var(--line-light);color:var(--cream);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;}
.mobile-nav.open{display:flex;}

@media(max-width:900px){
  .main-nav{display:none;}
  .hamburger{display:flex;}
  .site-header__inner{grid-template-columns:auto 1fr auto;}
  .icon-btn__label{display:none;}
}

/* ============================================
   HERO
   ============================================ */
.hero{
  position:relative;background:var(--bordo);color:var(--cream);
  min-height:82vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;
  overflow:hidden;
}
.hero__bg{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 12% 15%, rgba(207,169,102,.10), transparent 55%);
  pointer-events:none;
}
.hero__inner{position:relative;padding:60px 60px 60px 64px;z-index:2;}
.hero__title{
  font-size:clamp(2.8rem,5.4vw,4.6rem);line-height:1.04;letter-spacing:-.01em;font-weight:400;
  margin-bottom:28px;
}
.hero__title em{font-style:italic;color:var(--gold-light);font-weight:400;}
.hero__desc{max-width:420px;font-size:1rem;color:var(--cream-dim);margin-bottom:40px;font-weight:300;}
.hero__ctas{display:flex;gap:16px;flex-wrap:wrap;}
.hero__photo{
  position:relative;height:100%;min-height:82vh;
  display:flex;align-items:center;justify-content:center;padding:40px;
}
.hero__photo::before{
  content:'';position:absolute;inset:11%;
  border:1px solid var(--line-light);border-radius:50%;
  z-index:0;
}
.hero__photo img{
  position:relative;z-index:1;
  width:min(400px,74%);aspect-ratio:1/1;object-fit:cover;
  border-radius:50%;box-shadow:0 40px 90px -20px rgba(0,0,0,.5);
}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero__inner{padding:64px 24px 16px;text-align:center;}
  .hero__desc{margin-left:auto;margin-right:auto;}
  .hero__ctas{justify-content:center;}
  .hero__photo{min-height:auto;padding:26px 24px 64px;}
  .hero__photo img{width:70vw;}
}

/* ============================================
   GENERIC SECTION
   ============================================ */
.section{max-width:1360px;margin:0 auto;padding:130px 32px;}
.section--dark{max-width:none;background:var(--bordo);color:var(--cream);}
.section--dark .section__head{max-width:1360px;margin:0 auto 64px;}
.section__head{max-width:600px;margin:0 auto 64px;text-align:center;}
.section__title{font-size:clamp(2rem,3.1vw,2.6rem);letter-spacing:-.01em;font-weight:400;}
.section__title--light{color:var(--cream);}
.section__sub{margin-top:18px;color:var(--ink-soft);font-size:1rem;font-weight:300;}
.section__sub--light{color:var(--cream-dim);}

/* ============================================
   PRODUCT GRID — circular medallion photography
   ============================================ */
.product-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  column-gap:40px;row-gap:64px;
}
.product-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  transition:transform .5s var(--ease);
}
.product-card:hover{transform:translateY(-4px);}
.product-card__img{
  width:100%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;
  margin-bottom:26px;box-shadow:var(--shadow-sm);
  transition:box-shadow .4s var(--ease);
}
.product-card:hover .product-card__img{box-shadow:var(--shadow);}
.product-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.product-card:hover .product-card__img img{transform:scale(1.05);}
.product-card__body{display:flex;flex-direction:column;gap:8px;width:100%;}
.product-card__name{font-family:var(--font-display);font-size:1.2rem;font-weight:500;}
.product-card__desc{font-size:.85rem;color:var(--ink-soft);font-style:italic;line-height:1.55;padding:0 6px;}
.product-card__foot{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:14px;}
.product-card__price{font-family:var(--font-display);font-size:1.05rem;color:var(--gold);letter-spacing:.02em;}
.qty-add{display:flex;align-items:center;gap:16px;}
.qty-stepper{display:flex;align-items:center;gap:2px;}
.qty-stepper button{width:22px;height:22px;font-size:.95rem;color:var(--ink-soft);transition:color .2s ease;}
.qty-stepper button:hover{color:var(--bordo);}
.qty-stepper span{width:20px;text-align:center;font-size:.82rem;font-weight:600;}
.add-btn{
  font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bordo);
  border-bottom:1px solid var(--line);padding-bottom:3px;transition:border-color .25s ease, color .25s ease;
}
.add-btn:hover{border-color:var(--bordo);}
.add-btn.added{color:var(--gold);border-color:var(--gold);}

@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,1fr);column-gap:26px;row-gap:48px;}}
@media(max-width:560px){.product-grid{grid-template-columns:1fr;max-width:340px;margin:0 auto;}}

/* ============================================
   PACKAGE BUILDER
   ============================================ */
.package-builder{
  max-width:1180px;margin:0 auto;padding:0 32px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start;
}
.box-visual{
  background:var(--bordo-deep);border:1px solid var(--line-light);border-radius:var(--radius-lg);
  padding:32px;position:relative;
}
.box-visual__lid{
  display:flex;justify-content:center;padding-bottom:22px;margin-bottom:22px;
  border-bottom:1px solid var(--line-light);
}
.box-visual__lid img{height:24px;width:auto;opacity:.92;}
.box-visual__slots{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px 16px;
}
.slot{
  display:flex;flex-direction:column;gap:12px;align-items:center;
}
.slot__num{font-size:.62rem;letter-spacing:.12em;color:var(--gold-light);font-weight:700;opacity:.75;}
.slot__thumb{
  width:76px;height:76px;border-radius:50%;overflow:hidden;background:rgba(237,231,199,.05);
  border:1px solid var(--line-light);display:flex;align-items:center;justify-content:center;
}
.slot__thumb img{width:100%;height:100%;object-fit:cover;}
.slot__thumb .placeholder{color:var(--cream-dim);font-size:1.3rem;opacity:.4;}
.slot select{
  width:100%;background:transparent;color:var(--cream-dim);border:none;border-bottom:1px solid var(--line-light);
  border-radius:0;padding:4px 2px 8px;font-size:.66rem;text-align:center;text-transform:uppercase;letter-spacing:.02em;
}
.package-builder__tools{display:flex;justify-content:center;gap:24px;margin-top:26px;color:var(--cream);}
.package-builder__panel{
  color:var(--cream);position:sticky;top:120px;
  border-top:1px solid var(--line-light);padding-top:30px;
}
.pkg-price{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;}
.pkg-price__label{font-family:var(--font-display);font-size:1.1rem;font-weight:400;}
.pkg-price__value{font-family:var(--font-display);font-size:1.7rem;color:var(--gold-light);}
.pkg-note{font-size:.85rem;color:var(--cream-dim);margin-bottom:26px;font-weight:300;}
.pkg-progress{height:2px;background:rgba(237,231,199,.15);overflow:hidden;margin-bottom:10px;}
.pkg-progress__bar{height:100%;width:0%;background:var(--gold-light);transition:width .4s var(--ease);}
.pkg-progress__text{font-size:.76rem;color:var(--cream-dim);margin-bottom:26px;}

@media(max-width:900px){
  .package-builder{grid-template-columns:1fr;gap:40px;}
  .package-builder__panel{position:static;}
  .box-visual__slots{grid-template-columns:repeat(3,1fr);}
  .slot__thumb{width:64px;height:64px;}
}
@media(max-width:480px){.box-visual__slots{grid-template-columns:repeat(2,1fr);}}

/* ============================================
   SHIPPING CARDS — hairline, no boxes
   ============================================ */
.shipping{padding-top:0;padding-bottom:110px;}
.shipping__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:56px;
  border-top:1px solid var(--line);padding-top:56px;
}
.shipping__card{}
.shipping__icon{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:20px;
}
.shipping__icon svg{width:26px;height:26px;}
.shipping__card h3{font-size:1.08rem;margin-bottom:10px;font-weight:500;}
.shipping__card p{font-size:.86rem;color:var(--ink-soft);font-weight:300;}
@media(max-width:800px){.shipping__grid{grid-template-columns:1fr;gap:36px;}}

/* ============================================
   ABOUT
   ============================================ */
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center;}
.about__media{border-radius:50%;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:1/1;max-width:440px;margin:0 auto;}
.about__media img{width:100%;height:100%;object-fit:cover;}
.about__content p{color:var(--ink-soft);margin-bottom:20px;font-size:1rem;font-weight:300;}
.about__content .btn{margin-top:12px;}
@media(max-width:900px){
  .about{grid-template-columns:1fr;gap:40px;}
  .about__media{max-width:320px;}
}

/* ============================================
   NEWSLETTER
   ============================================ */
.newsletter{background:var(--paper-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.newsletter__inner{
  max-width:1140px;margin:0 auto;padding:84px 32px;
  display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;
}
.newsletter__inner h2{font-size:1.9rem;margin:6px 0 12px;font-weight:400;}
.newsletter__inner h2 em{font-style:italic;color:var(--bordo);}
.newsletter__inner p{color:var(--ink-soft);max-width:400px;font-weight:300;}
.newsletter__form{display:flex;gap:12px;flex-wrap:wrap;}
.newsletter__form input{
  padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);
  min-width:260px;font-size:.88rem;background:#fff;
}

/* ============================================
   CONTACT
   ============================================ */
.contact__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:56px;
  border-top:1px solid var(--line);padding-top:56px;
}
.contact__card h3{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.contact__card p{font-size:1.05rem;font-weight:300;}
.contact__card a{border-bottom:1px solid var(--line);padding-bottom:1px;}
.social-links{display:flex;flex-direction:column;gap:14px;}
.social-links a{display:flex;justify-content:space-between;font-size:.95rem;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:10px;}
.social-links a span{color:var(--ink-soft);font-weight:300;}
@media(max-width:800px){.contact__grid{grid-template-columns:1fr;gap:36px;}}

/* ============================================
   FOOTER
   ============================================ */
.site-footer{background:var(--bordo-deep);color:var(--cream-dim);}
.site-footer__top{
  max-width:1360px;margin:0 auto;padding:64px 32px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
  border-bottom:1px solid var(--line-light);
}
.footer-logo{height:26px;width:auto;}
.site-footer__top nav{display:flex;gap:30px;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap;}
.social-links--footer{flex-direction:row;gap:22px;}
.social-links--footer a{border:none;padding:0;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;}
.site-footer__bottom{
  max-width:1360px;margin:0 auto;padding:24px 32px 44px;
  display:flex;justify-content:space-between;font-size:.75rem;flex-wrap:wrap;gap:8px;
  color:rgba(237,231,199,.45);
}

/* ============================================
   OVERLAY / DRAWER / MODAL SHARED
   ============================================ */
.overlay{
  position:fixed;inset:0;background:rgba(32,6,9,.55);backdrop-filter:blur(2px);
  opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:80;
}
.overlay.show{opacity:1;pointer-events:auto;}
.close-btn{
  position:absolute;top:20px;right:20px;font-size:1.5rem;line-height:1;color:var(--ink-soft);
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;
  transition:background .2s ease;
}
.close-btn:hover{background:var(--paper-alt);}

/* CART DRAWER */
.cart-drawer{
  position:fixed;top:0;right:0;height:100%;width:min(440px,92vw);background:var(--paper);
  z-index:90;transform:translateX(100%);transition:transform .45s var(--ease);
  display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.25);
}
.cart-drawer.open{transform:translateX(0);}
.cart-drawer__head{
  display:flex;justify-content:space-between;align-items:center;padding:28px 30px;
  border-bottom:1px solid var(--line);
}
.cart-drawer__head h2{font-size:1.3rem;font-weight:400;}
.cart-drawer__head .close-btn{position:static;}
.cart-drawer__shipping{padding:16px 30px;border-bottom:1px solid var(--line);}
.cart-drawer__shipping-bar{height:2px;background:var(--line);overflow:hidden;margin-bottom:9px;}
.cart-drawer__shipping-bar span{display:block;height:100%;width:0%;background:var(--gold);transition:width .4s var(--ease);}
.cart-drawer__shipping p{font-size:.76rem;color:var(--ink-soft);margin:0;}
.cart-drawer__items{flex:1;overflow-y:auto;padding:6px 30px;}
.cart-empty{text-align:center;padding:70px 10px;display:flex;flex-direction:column;gap:20px;align-items:center;color:var(--ink-soft);}
.cart-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);}
.cart-item img{width:58px;height:58px;border-radius:50%;object-fit:cover;}
.cart-item__info{flex:1;display:flex;flex-direction:column;gap:6px;}
.cart-item__name{font-family:var(--font-display);font-size:1rem;font-weight:500;}
.cart-item__meta{font-size:.7rem;color:var(--ink-soft);}
.cart-item__row{display:flex;align-items:center;justify-content:space-between;margin-top:4px;}
.cart-item__price{font-weight:600;font-size:.88rem;color:var(--bordo);}
.cart-item__remove{font-size:.7rem;color:var(--ink-soft);border-bottom:1px solid var(--line);width:fit-content;padding-bottom:1px;}
.cart-drawer__footer{border-top:1px solid var(--line);padding:22px 30px 28px;}
.field-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-bottom:9px;}
.cart-drawer__footer textarea{
  width:100%;min-height:54px;border:1px solid var(--line);border-radius:var(--radius);
  padding:11px 13px;font-size:.85rem;resize:vertical;margin-bottom:18px;background:#fff;
}
.coupon-row{display:flex;gap:10px;margin-bottom:6px;}
.coupon-row input{flex:1;border:1px solid var(--line);border-radius:var(--radius);padding:11px 13px;font-size:.85rem;background:#fff;}
.coupon-msg{font-size:.74rem;min-height:18px;color:var(--gold);margin:8px 0 16px;font-weight:600;}
.cart-summary__row{display:flex;justify-content:space-between;padding:8px 0;font-size:.88rem;color:var(--ink-soft);}
.cart-summary__row--total{
  border-top:1px solid var(--line);margin-top:6px;padding-top:16px;
  font-size:1.1rem;font-weight:500;color:var(--ink);font-family:var(--font-display);
}
.cart-drawer__footer .btn{margin-top:18px;}

/* MODALS */
.modal{
  position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  padding:24px;opacity:0;pointer-events:none;transition:opacity .35s ease;
}
.modal.open{opacity:1;pointer-events:auto;}
.modal::before{
  content:'';position:absolute;inset:0;background:rgba(32,6,9,.6);backdrop-filter:blur(3px);z-index:-1;
}
.modal__panel{
  position:relative;background:var(--paper);border-radius:var(--radius-lg);
  max-height:90vh;overflow-y:auto;box-shadow:0 40px 90px rgba(0,0,0,.4);
  transform:translateY(16px) scale(.98);transition:transform .4s var(--ease);
}
.modal.open .modal__panel{transform:translateY(0) scale(1);}

.modal__panel--auth{width:420px;padding:44px;}
.auth-tabs{display:flex;gap:0;margin-bottom:30px;border-bottom:1px solid var(--line);}
.auth-tab{padding:10px 6px;margin-right:28px;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);border-bottom:2px solid transparent;}
.auth-tab.active{color:var(--bordo);border-color:var(--bordo);}
.auth-panel{display:none;flex-direction:column;gap:12px;}
.auth-panel.active{display:flex;}
.auth-divider{display:flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:.72rem;margin:8px 0;text-transform:uppercase;letter-spacing:.06em;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--line);}
.auth-form{display:flex;flex-direction:column;gap:14px;}
.auth-form label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);display:flex;flex-direction:column;gap:7px;}
.auth-form input{padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);font-size:.9rem;background:#fff;}
.auth-form .btn{margin-top:8px;}
.auth-perk{font-size:.78rem;color:var(--gold);font-weight:500;text-align:center;margin-top:16px;}
.auth-error{font-size:.78rem;color:#a33;min-height:16px;margin:0;}
.auth-guest{text-align:center;font-size:.8rem;color:var(--ink-soft);margin-top:24px;}

.modal__panel--checkout{width:min(980px,94vw);padding:48px;}
.checkout__title{font-size:1.7rem;margin-bottom:32px;font-weight:400;}
.checkout__layout{display:grid;grid-template-columns:1.3fr .9fr;gap:50px;}
.form-section{margin-bottom:32px;}
.form-section h3{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:600;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);}
.form-grid label.span-2{grid-column:1/-1;}
.form-grid input{padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);font-size:.9rem;background:#fff;}
.form-section textarea{width:100%;min-height:80px;border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px;font-size:.9rem;background:#fff;resize:vertical;}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:.8rem;color:var(--ink-soft);margin-top:16px;line-height:1.45;}
.checkbox-row input{margin-top:3px;}
.billing-toggle{display:flex;gap:10px;margin-bottom:18px;}
.billing-toggle__btn{
  padding:9px 20px;border:1px solid var(--line);border-radius:20px;font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);
}
.billing-toggle__btn.active{background:var(--bordo);color:var(--cream);border-color:var(--bordo);}
.checkout__summary{background:var(--paper-alt);border-radius:var(--radius-lg);padding:28px;height:fit-content;position:sticky;top:20px;}
.checkout__summary h3{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:600;}
.checkout__items{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;max-height:220px;overflow-y:auto;}
.checkout__item{display:flex;justify-content:space-between;gap:10px;font-size:.82rem;color:var(--ink-soft);}
.checkout__item span:last-child{color:var(--ink);font-weight:600;white-space:nowrap;}
.checkout__disclaimer{font-size:.72rem;color:var(--ink-soft);margin-top:16px;line-height:1.55;}

.modal__panel--confirm{width:420px;padding:54px 44px;text-align:center;}
.confirm__icon{
  width:52px;height:52px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin:0 auto 22px;
}
.modal__panel--confirm h2{margin-bottom:14px;font-size:1.4rem;font-weight:400;}
.modal__panel--confirm p{color:var(--ink-soft);margin-bottom:8px;font-size:.9rem;font-weight:300;}
.modal__panel--confirm .btn{margin-top:22px;}

@media(max-width:800px){
  .checkout__layout{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .modal__panel--checkout{padding:30px;}
}

/* TOAST */
.toast{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(120%);
  background:var(--bordo);color:var(--cream);padding:16px 28px;border-radius:var(--radius);
  font-size:.85rem;box-shadow:var(--shadow);z-index:120;transition:transform .4s var(--ease);
}
.toast.show{transform:translateX(-50%) translateY(0);}
.toast strong{color:var(--gold-light);}

/* ============================================
   REVEAL ON SCROLL
   ============================================ */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
[data-reveal].revealed{opacity:1;transform:translateY(0);}
