/* ==========================================================================
   CÉLESTE – pages: product, checkout, payment, order, account, auth, policies
   ========================================================================== */

.chip input { position: absolute; opacity: 0; pointer-events: none; }
.chip:has(input) { position: relative; cursor: pointer; }
.chip:has(input:checked) { background: color-mix(in srgb, var(--accent) 18%, transparent); border-color: var(--accent); color: var(--gold-1); }
.chip:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 2px; }
.chip--link { text-decoration: none; }
.chip--link small { opacity: .6; margin-left: 4px; }
.chip--link[aria-current="page"], .chip--link.is-active { background: color-mix(in srgb, var(--accent) 18%, transparent); border-color: var(--accent); color: var(--gold-1); }

.crumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: calc(var(--header-h) + 18px) 0 16px; font-size: .78rem; letter-spacing: .06em; color: var(--muted); }
.crumbs a { color: var(--text-2); text-decoration: none; }
.crumbs a:hover { color: var(--accent); }
.crumbs [aria-current] { color: var(--gold-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60vw; }

/* ---------- product page ---------- */
.pdp-wrap { padding-bottom: 110px; }
.pdp { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.pdp > * { min-width: 0; }
@media (min-width: 960px) { .pdp { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); } .pdp__gallery { position: sticky; top: calc(var(--header-h) + 14px); } }
.gallery { position: relative; min-width: 0; }
.gallery__aura { position: absolute; inset: 8% 0 20%; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--glow) 26%, transparent), transparent); filter: blur(30px); pointer-events: none; animation: breathe 6s ease-in-out infinite; }
.gallery__track { position: relative; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; border-radius: var(--r-xl); scrollbar-width: none; overscroll-behavior-x: contain; box-shadow: var(--shadow); border: 1px solid rgba(255, 238, 205, .18); outline-offset: 4px; }
.gallery__track::-webkit-scrollbar { display: none; }
.gallery__slide { position: relative; flex: 0 0 100%; margin: 0; aspect-ratio: 4 / 5; scroll-snap-align: center; scroll-snap-stop: always; overflow: hidden; background: #0d0907; }
.gallery__slide img, .gallery__slide video { width: 100%; height: 100%; object-fit: cover; }
.gallery__slide.is-ivory { background: var(--ivory); }
.gallery__slide.is-midnight { background: #0c0806; }
.gallery__slide.is-midnight-extra { background: #0c0806; }
.gallery__slide.is-cutout { background: radial-gradient(70% 55% at 50% 72%, color-mix(in srgb, var(--glow) 30%, transparent), transparent 70%), linear-gradient(180deg, #1d150e, #0a0705); }
.gallery__slide.is-cutout img { object-fit: contain; padding: 8% 10% 14%; filter: drop-shadow(0 24px 24px rgba(0, 0, 0, .6)); position: relative; z-index: 1; }
.gallery__slide.is-infographic { background: #faf7f1; }
.gallery__slide.is-infographic img { object-fit: contain; padding: 8% 10%; }
.gallery__slide.is-clean { background: var(--ivory); }
.gallery__slide.is-clean img { object-fit: contain; padding: 6% 8%; }
.gallery__slide.is-size { background: #faf7f1; }
.gallery__slide.is-size img { object-fit: contain; }
.gallery__slide.is-placeholder { background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--glow) 25%, transparent), #0c0806 70%); }
.gallery__slide.is-placeholder img { object-fit: contain; padding: 22%; opacity: .85; }
.gallery__pedestal { position: absolute; left: 20%; right: 20%; bottom: 9%; height: 8%; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--accent) 55%, transparent), transparent); }
.gallery__kind { position: absolute; z-index: 2; left: 14px; top: 14px; padding: 4px 10px; border-radius: 999px; background: rgba(10, 7, 5, .6); backdrop-filter: blur(6px); color: var(--gold-1); font: 500 .62rem var(--f-body); letter-spacing: .2em; text-transform: uppercase; }
.gallery__nav { position: absolute; top: calc(50% - 40px); z-index: 3; width: 44px; height: 44px; border-radius: 50%; background: rgba(10, 7, 5, .55); backdrop-filter: blur(6px); border: 1px solid var(--line-2); color: var(--gold-1); font-size: 1.6rem; line-height: 1; opacity: 0; transition: opacity .3s; }
.gallery__nav--prev { left: 12px; }
.gallery__nav--next { right: 12px; }
.gallery:hover .gallery__nav, .gallery__nav:focus-visible { opacity: 1; }
@media (hover: none) { .gallery__nav { display: none; } }
.gallery__count { position: absolute; right: 14px; top: 14px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: rgba(10, 7, 5, .6); font-size: .72rem; letter-spacing: .1em; color: var(--text-2); }
.gallery__thumbs { display: flex; gap: 8px; margin-top: 12px; overflow-x: auto; scrollbar-width: none; padding: 2px; }
.gallery__thumbs::-webkit-scrollbar { display: none; }
.gallery__thumb { flex: 0 0 62px; aspect-ratio: 4 / 5; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); background: #0d0907; opacity: .6; transition: opacity .3s, border-color .3s, transform .3s; padding: 0; }
.gallery__thumb.is-ivory, .gallery__thumb.is-size, .gallery__thumb.is-infographic, .gallery__thumb.is-clean { background: var(--ivory); }
.gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.gallery__thumb.is-cutout img { object-fit: contain; }
.gallery__thumb[aria-selected="true"] { opacity: 1; border-color: var(--accent); transform: translateY(-2px); box-shadow: 0 6px 18px -8px var(--glow); }
.gallery__thumb-video { display: grid; place-items: center; width: 100%; height: 100%; color: var(--gold-1); background: radial-gradient(circle, color-mix(in srgb, var(--glow) 30%, transparent), #0d0907 70%); }
.gallery__soon { margin-top: 10px; text-align: center; color: var(--muted); }
.gallery__video { background: #0d0907; }

.pdp__info { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.pdp__info > * { min-width: 0; }
.pdp__info > * { margin: 0; }
.pdp__title { margin: 0; }
.pdp__short { font: italic 400 1.3rem/1.35 var(--f-serif); color: var(--gold-1); }
.pdp__price { font: 500 1.7rem var(--f-body); }
.pdp__price small { font-size: .72rem; letter-spacing: .06em; }
.pdp__desc { color: var(--text-2); font-size: 1.02rem; }
.design-note, .made-note { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: var(--r); border: 1px dashed color-mix(in srgb, var(--accent) 45%, transparent); background: color-mix(in srgb, var(--accent) 6%, transparent); }
.design-note p, .made-note { margin: 0; }
.design-note__icon, .made-note > span:first-child { color: var(--accent); font-size: 1.1rem; line-height: 1.4; }
.made-note { border-style: solid; border-color: var(--line); background: rgba(0, 0, 0, .2); font-size: .9rem; color: var(--text-2); }
.scent-pick { border: 0; padding: 0; margin: 0; min-width: 0; }
.scent-pick legend { padding: 0; margin-bottom: 10px; font: 500 .78rem var(--f-body); letter-spacing: .18em; text-transform: uppercase; color: var(--text); }
.scent-pick legend .small { text-transform: none; letter-spacing: 0; }
.scent-pick__opts { display: grid; gap: 8px; }
.scent-opt { position: relative; display: block; cursor: pointer; }
.scent-opt input { position: absolute; opacity: 0; inset: 0; pointer-events: none; }
.scent-opt__body { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 14px 16px; border-radius: var(--r); border: 1px solid var(--line); background: rgba(0, 0, 0, .22); transition: border-color .3s, background .3s, box-shadow .4s; }
.scent-opt:hover .scent-opt__body { border-color: color-mix(in srgb, var(--c) 55%, transparent); }
.scent-opt input:checked + .scent-opt__body { border-color: var(--c); background: color-mix(in srgb, var(--c) 12%, transparent); box-shadow: 0 10px 30px -14px var(--g), inset 0 0 0 1px color-mix(in srgb, var(--c) 40%, transparent); }
.scent-opt input:focus-visible + .scent-opt__body { outline: 2px solid var(--c); outline-offset: 2px; }
.scent-opt__dot { width: 20px; height: 20px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff9, var(--c) 45%, color-mix(in srgb, var(--g) 60%, #000)); box-shadow: 0 0 0 3px rgba(0, 0, 0, .3), 0 0 14px -2px var(--g); }
.scent-opt input:checked + .scent-opt__body .scent-opt__dot { box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 35%, transparent), 0 0 20px var(--g); }
.scent-opt__name { font: 400 1.1rem var(--f-serif); color: var(--text); }
.scent-opt__price { font-size: .8rem; color: var(--muted); }
.scent-opt input:checked + .scent-opt__body .scent-opt__price { color: var(--gold-1); }
.scent-pick__notes { margin-top: 10px; padding: 4px 16px 12px; border-radius: var(--r); background: rgba(0, 0, 0, .18); animation: viewIn .5s var(--ease) both; }
.scent-pick__notes:empty { display: none; }
.pdp__buy { display: flex; gap: 10px; align-items: stretch; }
.pdp__meta { display: flex; flex-wrap: wrap; gap: 8px; }

.pdp-details { display: grid; gap: 14px; margin-top: clamp(40px, 7vw, 80px); }
@media (min-width: 760px) { .pdp-details { grid-template-columns: repeat(2, 1fr); } .detail-card--wide { grid-column: 1 / -1; } }
@media (min-width: 1100px) { .pdp-details { grid-template-columns: repeat(4, 1fr); } .detail-card--wide { grid-column: span 2; } }
.detail-card { padding: 22px; border-radius: var(--r-lg); border: 1px solid var(--line); background: linear-gradient(160deg, rgba(255, 235, 200, .045), rgba(0, 0, 0, .18)); }
.detail-card > :last-child { margin-bottom: 0; }
.detail-card .display-sm { margin-bottom: .5em; }
.dims { display: grid; gap: 0; margin: 0 0 10px; }
.dims div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.dims dt { color: var(--muted); font-size: .88rem; }
.dims dd { margin: 0; font: 400 1.05rem var(--f-serif); color: var(--gold-1); text-align: right; }
.care-list { margin: 0 0 12px; padding-left: 1.2em; display: grid; gap: 6px; color: var(--text-2); }
.care-list li::marker { color: var(--accent); font-family: var(--f-display); }
.size-img { width: 100%; height: auto; border-radius: var(--r); background: #faf7f1; margin-top: 12px; }

.pdp-film { display: grid; gap: 26px; align-items: center; margin-top: clamp(50px, 8vw, 100px); padding: clamp(14px, 3vw, 30px); border-radius: var(--r-xl); border: 1px solid var(--line); background: radial-gradient(80% 60% at 20% 50%, color-mix(in srgb, var(--glow) 12%, transparent), transparent), rgba(0, 0, 0, .3); }
.pdp-film__frame { position: relative; aspect-ratio: 4 / 5; max-height: 80vh; border-radius: var(--r-lg); overflow: hidden; background: #0d0907; box-shadow: var(--shadow); margin-inline: auto; width: 100%; max-width: 520px; }
.pdp-film__frame::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(120% 90% at 50% 40%, transparent 60%, rgba(0, 0, 0, .45)); }
.pdp-film__video { width: 100%; height: 100%; object-fit: cover; }
.pdp-film__cap .lead { font: italic 400 1.25rem var(--f-serif); color: var(--gold-1); }
.pdp-film__facts { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 0; }
.pdp-film__facts li { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.pdp-film__facts span { font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.pdp-film__facts b { font: 400 1.05rem var(--f-serif); color: var(--text); text-align: right; }
@media (min-width: 900px) { .pdp-film { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.tag--gold { background: var(--gold); color: #1a1007; border-color: transparent; }

.buybar { position: fixed; z-index: 60; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 18px; border-radius: 999px; background: rgba(16, 11, 7, .88); backdrop-filter: blur(14px) saturate(1.3); -webkit-backdrop-filter: blur(14px) saturate(1.3); border: 1px solid var(--line-2); box-shadow: 0 20px 40px -10px #000; transform: translateY(140%); transition: transform .5s var(--ease); }
.buybar.is-shown { transform: none; }
.buybar__info { display: grid; min-width: 0; line-height: 1.2; }
.buybar__info b { font: 400 .95rem var(--f-display); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.buybar__info span { color: var(--gold-1); font-size: .9rem; }
@media (min-width: 960px) { .buybar { left: auto; right: 24px; bottom: 24px; width: 420px; } }

/* ---------- checkout ---------- */
.checkout { padding-top: calc(var(--header-h) + 24px); padding-bottom: 80px; }
.checkout__head { display: grid; gap: 16px; margin-bottom: 24px; }
.checkout__grid { display: grid; gap: 18px; align-items: start; }
@media (min-width: 960px) { .checkout__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } .checkout__summary { position: sticky; top: calc(var(--header-h) + 14px); } }
.checkout__main, .checkout__summary { padding: clamp(18px, 3.5vw, 32px); scroll-margin-top: calc(var(--header-h) + 10px); }
.steps { list-style: none; display: flex; gap: 6px; padding: 0; margin: 0; counter-reset: s; }
.steps li { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; position: relative; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); text-align: center; }
.steps li span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--line-2); font: 500 .85rem var(--f-display); background: var(--ink); position: relative; z-index: 1; transition: all .4s; }
.steps li + li::before { content: ''; position: absolute; top: 16px; right: 50%; width: 100%; height: 1px; background: var(--line-2); }
.steps li.is-done, .steps li.is-current { color: var(--text); }
.steps li.is-done span { background: var(--gold); color: #1a1007; border-color: transparent; }
.steps li.is-done + li::before, .steps li.is-current::before { background: var(--accent); }
.steps li.is-current span { border-color: var(--accent); color: var(--gold-1); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent), 0 0 20px var(--glow); }
.step-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: 22px; }
.review-block { position: relative; padding: 14px 16px; margin-bottom: 12px; border-radius: var(--r); border: 1px solid var(--line); background: rgba(0, 0, 0, .2); }
.review-block p { margin: 0; }
.review-block .link-btn { position: absolute; right: 14px; top: 12px; }
.sum-lines { list-style: none; padding: 0; margin: 14px 0; display: grid; gap: 12px; }
.sum-lines li { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; }
.sum-lines img { width: 56px; height: 70px; object-fit: cover; border-radius: 10px; background: var(--ivory); }
.sum-lines div { display: grid; min-width: 0; }
.sum-lines b { font-weight: 500; font-size: .92rem; }
.sum-totals { margin: 0; display: grid; gap: 6px; padding-top: 12px; border-top: 1px solid var(--line); }
.sum-totals div { display: flex; justify-content: space-between; gap: 10px; }
.sum-totals dt { color: var(--text-2); font-size: .9rem; }
.sum-totals dd { margin: 0; }
.sum-lucky dt, .sum-lucky dd { color: var(--gold-1) !important; }
.sum-total { margin-top: 6px; padding-top: 10px; border-top: 1px solid var(--line); }
.sum-total dt { color: var(--text) !important; font: 400 1.05rem var(--f-display) !important; letter-spacing: .08em; }
.sum-total dd { font: 500 1.3rem var(--f-body); color: var(--gold-1); }
.addr-list { display: grid; gap: 10px; margin: 16px 0; }
.addr-card { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: start; padding: 16px; border-radius: var(--r); border: 1px solid var(--line); background: rgba(0, 0, 0, .2); cursor: pointer; transition: border-color .3s, background .3s; }
.addr-card input[type=radio] { margin-top: 4px; accent-color: var(--accent); width: 18px; height: 18px; }
.addr-card:has(input:checked) { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); }
.addr-card__body { display: grid; gap: 3px; min-width: 0; }
.addr-card__top { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.addr-card__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.addr-card--static { display: block; cursor: default; }
.pay-methods { display: grid; gap: 12px; margin-top: 14px; }
.pay-opt { display: block; position: relative; cursor: pointer; }
.pay-opt input { position: absolute; opacity: 0; pointer-events: none; }
.pay-opt__body { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; padding: 16px; border-radius: var(--r); border: 1px solid var(--line); background: rgba(0, 0, 0, .2); transition: border-color .3s, box-shadow .3s; }
.pay-opt__body > span:last-child { display: grid; gap: 2px; }
.pay-opt input:checked + .pay-opt__body { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), 0 14px 30px -18px var(--glow); }
.pay-opt__logo { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg, #fff, #e8e2d6); color: #3b2a8f; font: 800 .95rem var(--f-body); font-style: italic; letter-spacing: -.02em; }
.pay-opt__logo--rp { background: linear-gradient(135deg, #3395ff, #0b2a6b); color: #fff; font-style: normal; }
.pay-opt.is-disabled { cursor: not-allowed; opacity: .5; filter: grayscale(.6); }
.lucky-note { margin: 0; padding: 12px 14px; border-radius: var(--r); background: color-mix(in srgb, var(--accent) 8%, transparent); color: var(--text-2); }
.lucky-note b { color: var(--gold-1); font-weight: 500; }

/* ---------- order & payment ---------- */
.order { padding-top: calc(var(--header-h) + 24px); padding-bottom: 80px; }
.order__head { display: grid; gap: 8px; justify-items: start; margin-bottom: 24px; }
.order__head .display-md { margin: 0; }
.order__grid { display: grid; gap: 16px; align-items: start; }
.order__main, .order__side { display: grid; gap: 16px; min-width: 0; }
.order__main > .card-glass, .order__side > .card-glass { padding: clamp(18px, 3.5vw, 30px); }
.order__actions { display: grid; gap: 10px; justify-items: center; }
@media (min-width: 960px) { .order__grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } .order__side { position: sticky; top: calc(var(--header-h) + 14px); } }
.status-pill { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: .4em .95em; border-radius: 999px; font: 500 .7rem var(--f-body); letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; border: 1px solid currentColor; color: var(--gold-1); background: color-mix(in srgb, currentColor 10%, transparent); }
.status-pill::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.status-pill--pending_payment { color: #f0b860; }
.status-pill--payment_submitted { color: #8fc7ff; }
.status-pill--paid, .status-pill--delivered { color: #7fdc9a; }
.status-pill--crafting { color: #f3c98b; }
.status-pill--shipped { color: #b9a3ff; }
.status-pill--cancelled, .status-pill--rejected { color: #ff8a80; }
.pay { display: grid; gap: 20px; text-align: center; position: relative; overflow: hidden; }
.pay::before { content: ''; position: absolute; left: 50%; top: -30%; width: 120%; aspect-ratio: 1; translate: -50% 0; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--glow) 16%, transparent), transparent); pointer-events: none; }
.pay > * { position: relative; }
.pay__amount { display: grid; justify-items: center; gap: 4px; }
.pay__sum { font: 500 clamp(2.4rem, 9vw, 3.4rem)/1.05 var(--f-display); letter-spacing: .02em; }
.pay__timer { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: .92rem; color: var(--text-2); }
.pay__timer b { color: var(--gold-1); font-variant-numeric: tabular-nums; }
.pay__timer.is-expired { padding: 12px; border-radius: var(--r); background: color-mix(in srgb, var(--warn) 12%, transparent); }
.pay__ring { --p: 1; width: 26px; height: 26px; border-radius: 50%; background: conic-gradient(var(--accent) calc(var(--p) * 360deg), rgba(255, 255, 255, .08) 0); -webkit-mask: radial-gradient(circle, transparent 54%, #000 56%); mask: radial-gradient(circle, transparent 54%, #000 56%); }
.pay__apps { display: grid; gap: 10px; }
.pay__apps p { margin: 0; }
.pay__app-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.app-btn { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 10px; border-radius: 14px; font: 600 .95rem var(--f-body); text-decoration: none; color: #fff; border: 1px solid rgba(255, 255, 255, .15); transition: transform .2s, filter .2s; }
.app-btn:hover, .app-btn:active { color: #fff; transform: translateY(-2px); filter: brightness(1.1); }
.app-btn--gpay { background: linear-gradient(135deg, #fff, #eef1f6); color: #3c4043; }
.app-btn--gpay:hover { color: #1a73e8; }
.app-btn--phonepe { background: linear-gradient(135deg, #6739b7, #4a2590); }
.app-btn--paytm { background: linear-gradient(135deg, #00baf2, #002e6e); }
.app-btn--bhim { background: linear-gradient(135deg, #f47a20, #12824b); }
.pay__qr-wrap { display: grid; justify-items: center; gap: 10px; }
.pay__qr { margin: 0; display: grid; justify-items: center; gap: 10px; }
.pay__qr img { width: min(260px, 70vw); height: auto; padding: 12px; border-radius: 20px; background: #fff; box-shadow: 0 0 0 1px rgba(212, 166, 90, .5), 0 0 0 7px rgba(212, 166, 90, .12), 0 20px 50px -14px var(--glow); }
.pay__static { width: 100%; max-width: 360px; }
.pay__static summary { cursor: pointer; color: var(--accent); }
.pay__static img { width: min(240px, 66vw); height: auto; margin: 12px auto 6px; border-radius: 14px; background: #fff; }
.pay__id { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 12px; padding: 14px; border-radius: var(--r); border: 1px dashed var(--line-2); }
.pay__id code { font: 500 1.08rem ui-monospace, SFMono-Regular, Consolas, monospace; color: var(--gold-1); user-select: all; }
.pay__id .tiny { flex-basis: 100%; }
.utr-form { text-align: left; padding-top: 18px; border-top: 1px solid var(--line); }
.utr-form input { font: 500 1.2rem ui-monospace, Consolas, monospace; letter-spacing: .14em; text-align: center; }
.proof { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.proof .eyebrow, .proof p { flex-basis: 100%; margin: 0; }
.verify { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; }
.verify p { margin: 0; }
.verify__glow { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--glow) 40%, transparent), transparent); animation: breathe 3s ease-in-out infinite; }
.tracking p { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; }
.timeline { list-style: none; padding: 0; margin: 10px 0 0; display: grid; }
.timeline li { position: relative; display: grid; grid-template-columns: 22px 1fr; gap: 14px; padding-bottom: 18px; color: var(--muted); }
.timeline li:last-child { padding-bottom: 0; }
.timeline li div { display: grid; }
.timeline li b { font-weight: 400; }
.timeline li::before { content: ''; position: absolute; left: 10px; top: 20px; bottom: 0; width: 2px; background: var(--line); }
.timeline li:last-child::before { display: none; }
.timeline li.is-done::before { background: linear-gradient(var(--accent), color-mix(in srgb, var(--accent) 40%, transparent)); }
.timeline__dot { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--line-2); background: var(--ink); position: relative; z-index: 1; }
.timeline li.is-done { color: var(--text); }
.timeline li.is-done .timeline__dot { border-color: var(--accent); background: var(--gold); }
.timeline li.is-current .timeline__dot { box-shadow: 0 0 0 5px color-mix(in srgb, var(--accent) 22%, transparent), 0 0 18px var(--glow); animation: breathe 2.4s ease-in-out infinite; }
.timeline li.is-current b { color: var(--gold-1); font-weight: 500; }
.timeline li.is-failed .timeline__dot { border-color: var(--err); background: var(--err); }
.timeline li.is-failed b { color: var(--err); }

/* ---------- account ---------- */
.account { padding-top: calc(var(--header-h) + 24px); padding-bottom: 80px; display: grid; gap: 22px; }
.account__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 14px; }
.account__head .display-md { margin: 0; }
.order-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.order-row { padding: 0 !important; overflow: hidden; transition: border-color .3s, transform .3s; }
.order-row:hover { border-color: color-mix(in srgb, var(--accent) 45%, transparent); transform: translateY(-2px); }
.order-row__link { display: grid; grid-template-columns: auto 1fr; gap: 12px 14px; align-items: center; padding: 14px 16px; color: var(--text); text-decoration: none; }
.order-row__link:hover { color: var(--text); }
.order-row__imgs { display: flex; }
.order-row__imgs img { width: 42px; height: 52px; object-fit: cover; border-radius: 8px; border: 2px solid var(--ink-2); background: var(--ivory); }
.order-row__imgs img + img { margin-left: -16px; }
.order-row__info { display: grid; min-width: 0; }
.order-row__end { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
@media (min-width: 700px) { .order-row__link { grid-template-columns: auto 1fr auto; } .order-row__end { grid-column: auto; flex-direction: column; align-items: flex-end; } }
.mini-timeline { display: flex; gap: 4px; padding: 0 16px 14px; }
.mini-timeline i { flex: 1; height: 3px; border-radius: 3px; background: var(--line); }
.mini-timeline i.is-done { background: var(--gold); }
.addr-grid { display: grid; gap: 12px; }
@media (min-width: 700px) { .addr-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .addr-grid { grid-template-columns: repeat(3, 1fr); } }
.addr-add { display: grid; place-items: center; align-content: center; gap: 6px; min-height: 150px; border: 1px dashed var(--line-2) !important; color: var(--text-2); font: 400 1rem var(--f-display); letter-spacing: .1em; cursor: pointer; transition: border-color .3s, color .3s; }
.addr-add span { font-size: 2rem; color: var(--accent); line-height: 1; }
.addr-add:hover { border-color: var(--accent) !important; color: var(--gold-1); }
.profile-grid { display: grid; gap: 12px; }
@media (min-width: 700px) { .profile-grid { grid-template-columns: repeat(2, 1fr); } }
.address-form { gap: 14px; }

/* ---------- map picker ---------- */
.map-host { min-height: 60px; }
.mappicker { display: grid; gap: 8px; }
.mappicker__search { position: relative; z-index: 40; }
.mappicker__search input { padding-left: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23d4a65a' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m13 13 4 4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 13px 50%; }
.mappicker__results { position: absolute; left: 0; right: 0; top: calc(100% + 4px); list-style: none; margin: 0; padding: 6px; max-height: 260px; overflow-y: auto; border-radius: var(--r); background: rgba(20, 14, 9, .98); border: 1px solid var(--line-2); box-shadow: var(--shadow); z-index: 50; }
.mappicker__results li, .mappicker__results button { display: block; width: 100%; text-align: left; padding: 10px 12px; border-radius: 10px; font-size: .88rem; color: var(--text-2); cursor: pointer; background: none; border: 0; }
.mappicker__results li:hover, .mappicker__results button:hover, .mappicker__results button:focus-visible, .mappicker__results button.is-active { background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--text); }
.mappicker__map { position: relative; height: clamp(240px, 42vh, 360px); border-radius: var(--r); overflow: hidden; border: 1px solid var(--line-2); background: #1a130d; z-index: 1; }
.mappicker__loading { position: absolute; inset: 0; display: grid; place-items: center; padding: 20px; text-align: center; color: var(--muted); font-size: .9rem; }
.mappicker__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.mappicker .leaflet-container { font: inherit; background: #1a130d; }
.mappicker .leaflet-control-attribution { font-size: 9px; background: rgba(255, 255, 255, .75); }
.map-pin { background: none; border: 0; }
.map-pin span { position: absolute; left: 3px; top: 0; width: 28px; height: 28px; border-radius: 50% 50% 50% 0; rotate: -45deg; background: var(--gold); border: 2px solid #fff; box-shadow: 0 6px 14px rgba(0, 0, 0, .5); }
.map-pin span::after { content: ''; position: absolute; inset: 8px; border-radius: 50%; background: #2a1a0c; }
.gmp-pac { width: 100%; }
.pac-container { z-index: 2000 !important; border-radius: 12px; font-family: var(--f-body); }

/* ---------- auth / login ---------- */
.auth { padding: clamp(22px, 4vw, 36px); max-width: 480px; margin-inline: auto; width: 100%; }
.auth__head { text-align: center; margin-bottom: 18px; }
.auth__head .display-sm { margin-bottom: .3em; }
.auth__google { display: flex; justify-content: center; min-height: 44px; }
.login { display: grid; gap: 30px; align-items: center; padding-top: calc(var(--header-h) + 30px); padding-bottom: 80px; }
.login__art { position: relative; display: none; border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--shadow); }
.login__art img { width: 100%; height: auto; display: block; }
.login__quote { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 60px 24px 24px; text-align: center; font: 400 1.4rem var(--f-serif); color: var(--gold-1); background: linear-gradient(transparent, rgba(8, 5, 3, .9)); }
@media (min-width: 900px) { .login { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); } .login__art { display: block; max-width: 440px; } }

/* ---------- policies / 404 ---------- */
.policy { padding-top: calc(var(--header-h) + 24px); padding-bottom: 80px; }
.policy__layout { display: grid; gap: 18px; align-items: start; }
.policy__nav { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.policy__nav a { flex: none; padding: .55em 1.1em; border-radius: 999px; border: 1px solid var(--line); color: var(--text-2); text-decoration: none; font-size: .85rem; }
.policy__nav a[aria-current] { border-color: var(--accent); color: var(--gold-1); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.policy__body { padding: clamp(20px, 4vw, 44px); }
.policy__body h2 { font: 400 1.25rem var(--f-display); letter-spacing: .06em; margin-top: 1.6em; }
.policy__body h2:first-child { margin-top: 0; }
.policy__body p, .policy__body li { color: var(--text-2); }
@media (min-width: 900px) { .policy__layout { grid-template-columns: 220px 1fr; } .policy__nav { flex-direction: column; position: sticky; top: calc(var(--header-h) + 14px); } .policy__nav a { border-radius: var(--r-sm); } }
.notfound { min-height: 80vh; display: grid; place-content: center; justify-items: center; gap: 12px; padding-top: calc(var(--header-h) + 20px); }

/* cart empty candle */
.mini-candle { position: relative; width: 46px; height: 64px; margin: 30px auto 16px; border-radius: 8px 8px 10px 10px; background: linear-gradient(90deg, #e9dcc6, #fff6e6 45%, #cdbb9c); box-shadow: 0 0 40px -8px var(--glow); }
.mini-candle::before { content: ''; position: absolute; left: 50%; top: -8px; width: 2px; height: 9px; margin-left: -1px; background: #3a2a1a; }
.mini-candle i { position: absolute; left: 50%; top: -30px; width: 14px; height: 24px; margin-left: -7px; border-radius: 50% 50% 45% 45% / 62% 62% 38% 38%; background: radial-gradient(ellipse at 50% 80%, #fff 0 15%, #ffe39a 35%, var(--glow) 65%, transparent 75%); filter: drop-shadow(0 0 10px var(--glow)); animation: flicker 2s ease-in-out infinite; transform-origin: 50% 90%; }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .hero__stills img, .hero__orbit i, .hero__constellation, .hero__showcase img, .hero__pedestal, .ribbon__track, .gallery__aura, .verify__glow, .timeline li.is-current .timeline__dot, .scroll-cue span, .vial__flame, .mini-candle i { animation: none !important; }
  .pcard__link, .hero__visual, .hero__copy { transform: none !important; }
  .gallery__track { scroll-behavior: auto; }
}
