/* Shared storefront presentation. Commerce behavior lives in index.html. */
:root{--ink:#1d1d1f;--paper:#fdfcf9;--cream:#f6f4f0;--soft:#f5f3f7;--muted:#646469;--line:#dedce1;--coral:#1d1d1f;--acid:#f1edf7;--lilac:#eee9f5;--pad:clamp(20px,5vw,80px);--section-space:clamp(52px,7vw,96px)}
body{background:var(--paper);color:var(--ink)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #716484;outline-offset:4px}
.announcement{background:#efebf3;color:var(--ink);font-size:11px;line-height:1.5;padding:10px 20px;letter-spacing:.025em}
.header{background:#fdfcf9f0;border-color:var(--line);backdrop-filter:blur(20px)}
.nav{height:80px;gap:24px}.nav-links{gap:24px;font-size:12px}.nav-tools{gap:10px}
.icon-btn{border-color:#d9d7dc;background:transparent;font-weight:600}.icon-btn:hover{background:#eeebf0;color:var(--ink);transform:none}
.btn{min-height:48px;padding:14px 24px;border-color:var(--ink);background:var(--ink);color:#fff;letter-spacing:.02em;font-weight:600;line-height:1.3;box-shadow:none}
.btn:hover{background:#353538;border-color:#353538;transform:none}.btn.white{background:#fff;color:var(--ink);border-color:#d8d5dc}.btn.white:hover{background:#efedf2}
button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}
.hero.product-hero{margin:20px var(--pad) 0;border-radius:28px;background:var(--cream);min-height:600px}
.hero.product-hero .hero-copy{padding:clamp(32px,5vw,72px);min-height:600px;gap:0}
.hero-kicker{background:#f1edf7;font-size:11px;padding:9px 14px;letter-spacing:.02em;margin-bottom:22px}
.hero.product-hero .hero-sub{font-weight:500;max-width:440px;margin-top:24px;margin-bottom:0;color:#ded0f5;line-height:1.65}
.hero-cta{margin-top:28px;background:var(--ink);border-color:var(--ink)}
.merch-tile{border-color:#e8e3e9;background:#fff;box-shadow:0 8px 24px #1d1d1f06}
.merch-tile span{font-family:var(--zivah-font);font-weight:500;letter-spacing:0;line-height:1.35}
.category-label{background:transparent;color:var(--muted);padding:32px var(--pad) 16px;font-size:11px;letter-spacing:.04em}
.category-strip{background:transparent;padding:0 var(--pad) 32px;gap:12px;border:0}
.category-strip button{background:#fff;color:var(--ink);border:1px solid #d9d6de!important;min-height:48px;padding:14px 16px;letter-spacing:.025em;font-weight:600;line-height:1.4}
.category-strip button:hover{background:#f0edf5;color:var(--ink);transform:none}.category-strip button.active{background:var(--ink);border-color:var(--ink)!important;color:#fff;transform:none}
.trust-bar{margin:0 var(--pad);padding:16px 20px;background:linear-gradient(115deg,#f1edf6,#faf7f1);border:1px solid #e4dee8;border-radius:26px}
.trust-item{padding:14px 16px;border-color:#ddd6e1}.trust-item b{font-size:11px;letter-spacing:.04em}.trust-item span{font-size:12px;color:var(--muted)}
.catalog,.editorial,.shipping,.faq{padding:var(--section-space) 0}
.catalog-head{gap:32px;margin-bottom:32px;align-items:center}.catalog-head h2{margin-bottom:0}.catalog-head p{margin-bottom:0;max-width:540px;font-size:16px;color:var(--muted)}
.kicker{color:var(--muted);margin-bottom:14px;font-size:11px;letter-spacing:.045em}
.catalog-tools{background:#f2f0f3;border:1px solid #e8e4eb;padding:18px 22px;border-radius:20px;gap:20px;margin-bottom:36px}
.search,.sort{background:transparent;color:var(--ink);border-color:#c9c5ce}.search{padding:12px 0}.sort{font-size:12px;padding:12px 16px;background:#fff;border:1px solid #d5d1da}
#product-count,.slide-controls span{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0}
.section-block{margin-bottom:0}.section-row{border-color:var(--line);padding-bottom:20px;margin-bottom:26px;gap:20px}
.section-row h2{font-size:clamp(28px,3.5vw,44px)!important}.slide-controls button{width:42px;height:42px;border-color:#d4cfd9;font-size:20px;background:#fff}
.slide-controls button:hover{background:#eeebf3;color:var(--ink);border-color:#d4cfd9}
.products{gap:28px 20px}.card{padding:10px;border:1px solid #e7e3e9;border-radius:22px;background:#fff;box-shadow:none;transition:box-shadow .2s ease}
.card:hover{transform:none;box-shadow:0 8px 24px #1d1d1f0a}.photo{border-radius:15px}.card:hover .photo img{transform:scale(1.025)}
.card-body{padding:18px 12px 12px;gap:0}.card h3{font-weight:600;margin:9px 0 12px;min-height:42px}.card-meta{font-size:10px;font-weight:500;letter-spacing:.035em;color:var(--muted)}
.price{line-height:1.25;margin-bottom:14px}.card .add{min-height:46px;font-size:12px;background:var(--ink);border-color:var(--ink)}.card .add:hover{background:#353538;border-color:#353538}
.badge{background:#f3edf9;color:#554762;font-size:10px;font-weight:600;letter-spacing:.02em;border:1px solid #e6ddec}
.editorial{background:#f3eff7}.editorial[style]{background:#f6f3ee!important}.editorial-grid{gap:24px}
.editorial-card{min-height:380px;border-radius:26px;padding:clamp(28px,4vw,56px);background:#fff;border:1px solid #e6e0eb}.editorial-card.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.editorial-card p{font-size:16px;font-weight:400;max-width:480px}.editorial-card.dark .kicker{color:#d7d2dd}.editorial-card .btn{align-self:flex-start}
.security-row{gap:8px;margin-top:20px}.security-row span{border-color:#ffffff40;padding:8px 12px;border-radius:10px;font-size:10px;letter-spacing:.025em}
.shipping{background:#f7f5f1;color:var(--ink)}.shipping p{color:var(--muted);line-height:1.65}.shipping-grid{gap:clamp(32px,6vw,88px)}
.step{border-color:var(--line);padding:20px 0;gap:18px}.step b{font-weight:600;letter-spacing:-.025em;color:#746c7d}.step span{font-size:13px;line-height:1.6;font-weight:500;letter-spacing:.01em}
#tracking-form{background:#fff;border:1px solid #e3dfe7;border-radius:22px;padding:24px}#tracking-form .search{width:100%;display:block;margin:8px 0;font-size:15px}#tracking-form .btn{margin-top:18px}
.faq{background:var(--paper)}.faq-grid{gap:48px}.faq details{border-color:var(--line);padding:22px 0}.faq summary{font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0}.faq details p{font-size:15px;line-height:1.65;color:var(--muted);margin-bottom:0}
.seller-stats{gap:14px}.seller-stats>div{background:#fff;border:1px solid #e5dfe8;border-radius:18px;padding:22px}.seller-stats span{font-size:11px;font-weight:500;letter-spacing:.025em;color:var(--muted)}.seller-stats b{font-size:24px;font-weight:600;letter-spacing:-.025em}.seller-terms{background:#f6f3f8;font-size:14px;line-height:1.6}
.footer{background:#1d1d1f;color:#f5f5f7;padding-top:64px}.footer-grid{gap:40px}.footer h3{font-size:13px;font-weight:600;letter-spacing:.025em}.footer p,.footer a{font-size:14px;line-height:1.8}.footer-bottom{padding:24px 0;color:#b9b7bd;font-size:11px;letter-spacing:.02em}
.drawer,.checkout-sheet,.account-panel,.detail-box,.spin-card{background:var(--paper);font-family:var(--zivah-font);border:1px solid #e3dfe7}
.drawer{border-radius:24px 0 0 24px}.drawer-head{background:#f1edf6;padding:24px;border-bottom:1px solid var(--line)}.drawer-head h3{font-size:20px;font-weight:600;letter-spacing:-.025em}.drawer-body{padding:24px}.drawer-foot{background:#fff;border-top:1px solid var(--line);padding:24px;box-shadow:none}
.cart-item{gap:18px;padding:20px 0;border-color:var(--line)}.cart-item h3{font-size:14px;line-height:1.4;letter-spacing:0}.cart-item img{border-radius:12px}.qty button{font-family:var(--zivah-font);font-size:13px}.notice,.mp-note{background:#f0edf6;border-radius:14px;padding:16px;font-size:13px;font-weight:400;line-height:1.6;letter-spacing:0}
.checkout-sheet,.account-panel,.spin-card{padding:clamp(26px,4vw,48px);border-radius:26px}.checkout-sheet>p,.account-hero>p{line-height:1.6;color:var(--muted)}
.checkout-grid,.vendor-form{gap:18px}.checkout-grid label,.vendor-form label{font-size:11px;font-weight:600;letter-spacing:.025em;color:#4c4851}.checkout-grid input,.vendor-form input,.vendor-form select,.vendor-form textarea,.variant-select{font-family:var(--zivah-font);font-size:16px;line-height:1.4;background:#fff;color:var(--ink);border:1px solid #d7d1dd;border-radius:12px;padding:13px 15px}
.checkout-grid input{margin-top:8px}.account-panel{background:var(--paper)}.account-card{padding:28px;background:#fff;border:1px solid #e3dfe7;border-radius:20px}.account-card h3{font-size:19px}.account-row,.white-photo-note,.account-list{font-size:14px;line-height:1.6;letter-spacing:0}.account-hero{margin-bottom:28px}.account-grid{gap:20px}
.detail-gallery{padding:24px;background:#f6f4f7}.detail-info{padding:clamp(26px,4vw,52px);gap:0}.detail-info>p{font-size:16px;line-height:1.65;color:var(--muted)}.detail-info label{font-size:12px;font-weight:600;letter-spacing:.025em}.size-note{border-color:var(--line);font-size:14px;line-height:1.6}.detail-main{object-fit:contain}.thumbs button{border-color:#d7d1dd;border-radius:10px;overflow:hidden}.detail-add{min-height:50px}
.toast{background:#f5f1fa;color:var(--ink);border:1px solid #ddd4e8;border-radius:18px;box-shadow:0 8px 30px #1d1d1f14;bottom:24px;font-size:14px;font-weight:500;letter-spacing:0;line-height:1.5}
.spin-card>p,.spin-result{font-size:15px;line-height:1.6}.wheel-label{font-family:var(--zivah-font);font-weight:600}
@media(max-width:1000px){.nav-links{gap:14px}.trust-bar{grid-template-columns:1fr 1fr}.trust-item{border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid #ddd6e1}.catalog-head{gap:22px}}
@media(max-width:800px){.nav{height:72px;gap:12px}.hero.product-hero{margin:12px 14px 0;min-height:560px;border-radius:22px}.hero.product-hero .hero-copy{min-height:560px;padding:28px 24px 36px}.hero-kicker{font-size:10px}.category-label{padding:24px 20px 12px}.category-strip{padding:0 20px 24px;gap:10px}.category-strip button{font-size:11px;min-height:44px}.trust-bar{margin:0 20px;padding:10px;border-radius:22px}.trust-item{padding:14px 8px}.catalog-head{grid-template-columns:1fr;gap:20px}.catalog-head p{font-size:15px}.catalog-tools{padding:16px;gap:16px;margin-bottom:28px}.products{gap:22px 12px}.card{padding:7px;border-radius:18px}.card-body{padding:14px 7px 10px}.card h3{font-size:13px;min-height:38px}.card .add{font-size:11px;min-height:44px;padding:11px 7px}.section-row{align-items:center;gap:12px}.slide-controls{gap:6px}.slide-controls span{font-size:10px}.slide-controls button{width:36px;height:36px}.editorial-card{min-height:330px;padding:28px}.editorial-grid,.faq-grid,.shipping-grid{gap:28px}.faq summary{font-size:13px}.drawer-body,.drawer-foot,.drawer-head{padding:20px}.account-card{padding:22px}.checkout-grid,.vendor-form{gap:16px}.footer{padding-top:48px}.footer-grid{gap:28px}.seller-stats>div{padding:16px}.toast{bottom:18px}}
@media(max-width:420px){.trust-item{grid-template-columns:64px minmax(0,1fr);justify-items:stretch;text-align:left;gap:8px}.trust-item b,.trust-item span{font-size:10px;letter-spacing:0}.trust-icon.luxury-emblem{width:64px;height:64px}.section-row h2{font-size:26px!important}.slide-controls span{display:none}.checkout-grid{grid-template-columns:1fr}.checkout-grid .wide{grid-column:1}.cart-btn{font-size:11px;padding:0 12px}}
.cart-item{grid-template-columns:86px minmax(0,1fr)}.cart-item>div{min-width:0}.cart-item h3,.cart-item .card-meta{overflow-wrap:anywhere}.qty{flex-wrap:wrap}.drawer-body{overflow-x:hidden;min-height:140px}.drawer-foot{max-height:65vh;overflow-y:auto;flex-shrink:0}.drawer-head{flex-shrink:0}
@media(max-height:600px){.drawer-foot{max-height:55vh}.drawer-body{min-height:100px}}
.spin-card{width:min(790px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:38px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;gap:14px 24px;text-align:left;overflow-y:auto}
.spin-intro{grid-column:1;grid-row:1;align-self:end}.spin-intro .kicker{margin-bottom:10px}.spin-intro h2{font-size:36px!important;margin-bottom:14px}.spin-intro>p:last-child{font-size:15px;line-height:1.55;margin-bottom:0;color:var(--muted)}
.spin-card .wheel-wrap{grid-column:2;grid-row:1/4;width:min(280px,38dvh);margin:12px auto;align-self:center;--wheel-radius:clamp(42px,10dvh,74px)}
.spin-card .spin-result{grid-column:1;grid-row:2;min-height:0;margin:0;font-size:14px;line-height:1.45;font-weight:600}.spin-card #spin-button{grid-column:1;grid-row:3;align-self:start;min-height:48px;width:100%;font-size:12px;white-space:normal}
.wheel{border:0;background:transparent url('/images/zivah-wheel-v2.png') center/contain no-repeat}.wheel:after{content:'Z';font-family:var(--zivah-font);font-size:20px;font-weight:650;letter-spacing:-.04em;width:36px;height:36px;border:0;background:#fffdf9}
.wheel .wheel-label:nth-child(n){font-family:var(--zivah-font);font-size:14px;font-weight:650;color:#1d1d1f;transform:rotate(calc(var(--sector)*45deg - 67.5deg)) translate(var(--wheel-radius)) rotate(calc(67.5deg - var(--sector)*45deg)) translate(-50%,-50%)}
.wheel-label:nth-child(1){--sector:0}.wheel-label:nth-child(2){--sector:1}.wheel-label:nth-child(3){--sector:2}.wheel-label:nth-child(4){--sector:3}.wheel-label:nth-child(5){--sector:4}.wheel-label:nth-child(6){--sector:5}.wheel-label:nth-child(7){--sector:6}.wheel-label:nth-child(8){--sector:7}
.wheel-pointer{border-left-width:10px;border-right-width:10px;border-top-width:22px;top:-2px}
.seller-visual{margin:0 0 24px;position:relative;border-radius:24px;overflow:hidden;border:1px solid #e3dfe7;background:#f6f3ee}.seller-visual img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.seller-visual figcaption{padding:16px 20px;font-size:14px;line-height:1.5;background:#fff;color:var(--muted)}.seller-offer .seller-stats{margin-top:0}
@media(max-width:600px){.spin-card{width:min(460px,calc(100% - 24px));display:flex;flex-direction:column;text-align:center;padding:26px 22px 22px;gap:10px}.spin-intro{align-self:stretch;padding-top:12px}.spin-intro .kicker{font-size:10px;margin-bottom:8px}.spin-intro h2{font-size:28px!important;margin-bottom:10px}.spin-intro>p:last-child{font-size:13px;line-height:1.45}.spin-card .wheel-wrap{width:min(220px,31dvh);margin:6px auto;--wheel-radius:clamp(36px,8.5dvh,60px)}.spin-card .spin-result{font-size:13px;line-height:1.4}.spin-card #spin-button{flex-shrink:0;align-self:stretch}.spin-close{width:34px;height:34px;top:10px;right:10px}.wheel .wheel-label:nth-child(n){font-size:12px}.seller-visual{margin-bottom:20px;border-radius:20px}}
@media(max-height:550px){.spin-card{padding:20px;gap:8px}.spin-intro h2{font-size:25px!important;margin-bottom:8px}.spin-intro>p:last-child{font-size:12px}.spin-card .wheel-wrap{width:min(190px,29dvh);margin:4px auto;--wheel-radius:clamp(30px,8dvh,52px)}.spin-card #spin-button{min-height:44px;padding:10px 16px}.spin-card .spin-result{font-size:12px}}
@media(max-width:800px){.hero.product-hero,.hero.product-hero .hero-copy{min-height:480px}.hero.product-hero .hero-sub{max-width:360px;margin-top:18px}}
.delivery-estimate{margin:0 0 16px;font-size:12px!important;line-height:1.5!important}
.delivery-estimate>b{display:block;font-size:11px;letter-spacing:.04em;margin-bottom:8px}
.delivery-estimate p{margin:0 0 8px}
.delivery-estimate small{display:block;font-size:11px;line-height:1.5;color:var(--muted)}
.tracking-note{font-size:13px;line-height:1.5;color:var(--muted)}
.tracking-package{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.tracking-package p{font-size:13px;margin:6px 0;line-height:1.5}
.tracking-package small{font-size:11px;color:var(--muted)}
.seller-public-terms{margin-top:20px;max-width:580px;color:var(--muted)}
.seller-public-terms summary{cursor:pointer;font-size:14px;line-height:1.5;padding:10px 0;text-decoration:underline;text-underline-offset:4px;list-style:none}
.seller-public-terms summary::after{content:' +';text-decoration:none}
.seller-public-terms[open] summary::after{content:' −'}
.seller-public-terms summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:4px}
.seller-public-terms>div{padding:18px 20px;margin-top:10px;border:1px solid var(--line);border-radius:16px;background:#fff}
.seller-public-terms p{font-size:13px!important;line-height:1.65;margin-bottom:14px}
.seller-public-terms p:last-child{margin-bottom:0}
/* Mobile sheets: independent scrolling, no horizontal clipping, safe-area space. */
@media(max-width:800px){
  html,body{max-width:100%;overflow-x:clip}
  .drawer{width:100%;height:100dvh;max-height:100dvh;border-radius:0;overflow:hidden}
  .drawer-head{padding:16px 18px}
  .drawer-body{min-height:0;padding:12px 18px;overflow-y:auto;overscroll-behavior:contain}
  .drawer-foot{max-height:52dvh;padding:14px 18px calc(14px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}
  .drawer-foot .total{gap:12px;align-items:flex-start;flex-wrap:wrap;font-size:13px;margin-bottom:10px}
  .drawer-foot .total strong{max-width:100%;overflow-wrap:anywhere;text-align:right}
  .drawer-foot .notice{padding:10px 12px;font-size:12px;margin:10px 0}
  .drawer-foot .search{width:100%;min-width:0;font-size:16px;padding:10px}
  .cart-item{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:14px 0}
  .cart-item img{width:64px;height:78px}
  .cart-item h3{font-size:13px;margin-bottom:8px}
  .cart-item .qty{display:grid;grid-template-columns:36px 28px 36px;gap:8px;align-items:center}
  .qty button{width:36px;min-height:36px}
  .qty span{text-align:center}
  .qty .remove{grid-column:1/-1;width:max-content;max-width:100%;margin:2px 0 0;padding:8px 0;font-size:12px;text-align:left;min-height:36px;border:0;background:none}
  .checkout-sheet{width:100%;max-width:100%;height:100dvh;max-height:100dvh;top:0;left:0;transform:none;border-radius:0;padding:64px 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
  .checkout-sheet h2{font-size:32px!important;line-height:1.08}
  .checkout-grid,.vendor-form,.account-grid{grid-template-columns:minmax(0,1fr)}
  .checkout-grid label,.vendor-form label{min-width:0}
  .account-card.wide,.vendor-form .wide{grid-column:1}
  .account-panel{height:100dvh;padding:64px 18px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}
  .detail-box{inset:0;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
  .detail-gallery{padding:64px 18px 18px;min-width:0}
  .detail-info{padding:20px 18px calc(24px + env(safe-area-inset-bottom));min-width:0}
  .detail-info h2{font-size:30px!important;overflow-wrap:anywhere}
  .detail-close,.checkout-close,.account-close{position:fixed;top:12px;right:14px;z-index:4}
  .variant-select{min-width:0;max-width:100%;font-size:16px}
  .btn{white-space:normal;overflow-wrap:anywhere;max-width:100%}
  .toast{max-width:calc(100% - 28px);width:max-content;font-size:12px;border-radius:18px;bottom:calc(18px + env(safe-area-inset-bottom));text-align:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.card:hover .photo img{transform:none}}
