/* ==========================================================================
   Hermeziu — Între Soare și Lună
   Tokens · bază · header + mega-meniu · sertar coș · carduri · home · magazin · PDP · pagini
   ========================================================================== */

:root {
	/* Pământ, piatră, lut: neutrele care țin totul împreună */
	--creta: #F4EEE4;      /* fundalul de bază: cretă caldă */
	--creta-2: #EAE1D2;
	--piatra: #CFC6B8;
	--lut: #B5835F;
	--arama: #B07B4F;      /* accent metalic discret */
	--aur: #C9A15B;
	--cerneala: #1E1519;   /* text */
	--cerneala-2: #5B4B50;
	--linie: rgba(30, 21, 25, .14);

	/* ADN-ul brandului de pe site-ul actual */
	--prune: #501F60;
	--rubin: #A51248;
	--foita: #F6E2E2;

	/* Tonul activ: suprascris de .tone-* (PDP, carduri, capitole) și de ziua de pe home */
	--bg: var(--creta);
	--ink: var(--cerneala);
	--ink-soft: color-mix(in oklab, var(--ink) 62%, var(--bg));
	--accent: var(--rubin);
	--line: color-mix(in oklab, var(--ink) 14%, transparent);
	--halo: #FFF3E2;
	--glass: rgba(255, 250, 242, .55);

	--serif: 'Bodoni Moda', 'Didot', 'Bodoni 72', Georgia, serif;
	--sans: 'Hanken Grotesk', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;

	--fs-hero: clamp(3.4rem, 10.5vw, 11rem);
	--fs-1: clamp(2.6rem, 6.4vw, 6.4rem);
	--fs-2: clamp(2rem, 4.2vw, 3.9rem);
	--fs-3: clamp(1.45rem, 2.4vw, 2.1rem);
	--fs-lead: clamp(1.1rem, 1.45vw, 1.35rem);

	--gutter: clamp(16px, 4vw, 56px);
	--max: 1440px;
	--r: 22px;
	--ease: cubic-bezier(.22, 1, .36, 1);
	--ease-io: cubic-bezier(.65, 0, .35, 1);
	--header-h: 76px;
}

.tone-alb     { --bg: #EFE8D6; --ink: #221B16; --accent: #9C7A3C; --halo: #FFF6DC; --glass: rgba(255, 250, 235, .55); }
.tone-rose    { --bg: #F3D9D3; --ink: #3A1420; --accent: #B4324B; --halo: #FFE9E3; --glass: rgba(255, 240, 236, .55); }
.tone-rosu    { --bg: #3B0F1D; --ink: #F5E9E4; --accent: #D9A066; --halo: #7A1E36; --glass: rgba(70, 18, 34, .55); }
.tone-spumant { --bg: #E6E9EE; --ink: #141A2B; --accent: #3A5BD9; --halo: #FFFFFF; --glass: rgba(248, 250, 255, .6); }
.tone-noapte  { --bg: #0C0E10; --ink: #E9F2DA; --accent: #C9FF5E; --halo: #1E2A12; --glass: rgba(20, 26, 18, .6); }
[class*='tone-'] { --ink-soft: color-mix(in oklab, var(--ink) 64%, var(--bg)); --line: color-mix(in oklab, var(--ink) 16%, transparent); }

/* ---------- Bază ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body {
	margin: 0; background: var(--bg); color: var(--ink);
	font: 400 17px/1.6 var(--sans); letter-spacing: .005em;
	-webkit-font-smoothing: antialiased; overflow-x: clip;
	transition: background-color .9s var(--ease), color .9s var(--ease);
}
img, svg, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
::selection { background: var(--accent); color: var(--bg); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 4px; }
.ic { width: 22px; height: 22px; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.wrap { width: min(100% - 2 * var(--gutter), var(--max)); margin-inline: auto; }
.serif { font-family: var(--serif); font-optical-sizing: auto; }
.kicker { font: 600 .74rem/1.2 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--ink-soft); }
.kicker--accent { color: var(--accent); }
.h-hero, .h1, .h2, .h3 { font-family: var(--serif); font-weight: 400; line-height: .95; letter-spacing: -.02em; margin: 0; text-wrap: balance; }
.h-hero { font-size: var(--fs-hero); line-height: .86; letter-spacing: -.035em; }
.h1 { font-size: var(--fs-1); }
.h2 { font-size: var(--fs-2); line-height: 1; }
.h3 { font-size: var(--fs-3); line-height: 1.08; letter-spacing: -.01em; }
.h-hero em, .h1 em, .h2 em, .h3 em { font-style: italic; }
.lead { font-size: var(--fs-lead); line-height: 1.55; color: var(--ink-soft); max-width: 38ch; text-wrap: pretty; }
.muted { color: var(--ink-soft); }

.btn {
	--b: var(--ink); --t: var(--bg);
	display: inline-flex; align-items: center; justify-content: center; gap: .7em;
	min-height: 52px; padding: 0 1.6em; border-radius: 999px;
	background: var(--b); color: var(--t); font: 600 .95rem/1 var(--sans); letter-spacing: .01em;
	transition: transform .5s var(--ease), background-color .3s, color .3s, box-shadow .5s var(--ease);
	position: relative; overflow: hidden; isolation: isolate; white-space: nowrap;
}
.btn::after { content: ''; position: absolute; inset: 0; background: var(--accent); transform: translateY(101%); transition: transform .55s var(--ease); z-index: -1; border-radius: inherit; }
.btn:hover::after { transform: none; }
.btn:hover { color: #fff; }
.btn:active { transform: scale(.97); }
.btn .ic { width: 18px; height: 18px; transition: transform .5s var(--ease); }
.btn:hover .ic { transform: translateX(4px); }
.btn--ghost { --b: transparent; --t: var(--ink); box-shadow: inset 0 0 0 1px var(--line); }
.btn--ghost:hover { box-shadow: inset 0 0 0 1px var(--accent); }
.btn--accent { --b: var(--accent); --t: #fff; }
.btn--accent::after { background: var(--ink); }
.btn--block { width: 100%; }
.btn[disabled] { opacity: .45; pointer-events: none; }
.link-arrow { display: inline-flex; align-items: center; gap: .5em; font-weight: 600; border-bottom: 1px solid var(--line); padding-bottom: .2em; transition: border-color .3s, gap .4s var(--ease); }
.link-arrow:hover { border-color: var(--accent); gap: .9em; }
.link-arrow .ic { width: 16px; height: 16px; }

.chip { display: inline-flex; align-items: center; gap: .45em; min-height: 40px; padding: 0 1.05em; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--line); font-size: .9rem; font-weight: 500; transition: background-color .3s, color .3s, box-shadow .3s; white-space: nowrap; }
.chip:hover { box-shadow: inset 0 0 0 1px var(--ink); }
.chip[aria-pressed='true'], .chip.is-on { background: var(--ink); color: var(--bg); box-shadow: none; }

/* Emblema eclipsei */
.eclipse { width: 100%; height: auto; overflow: visible; }
.eclipse__rays { fill: var(--aur); }
.eclipse__sun { fill: var(--aur); }
.eclipse__moon { fill: var(--cerneala); }
.eclipse__shadow { fill: var(--bg); transition: fill .9s var(--ease); }

/* ---------- Header ---------- */
.hdr {
	position: fixed; inset: 0 0 auto; z-index: 60; height: var(--header-h);
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px;
	padding-inline: var(--gutter); color: var(--ink);
	transition: transform .6s var(--ease), background-color .5s, color .5s, backdrop-filter .5s;
}
.hdr.is-solid { background: color-mix(in oklab, var(--bg) 90%, transparent); backdrop-filter: blur(18px) saturate(1.4); -webkit-backdrop-filter: blur(18px) saturate(1.4); box-shadow: 0 1px 0 var(--line); }
.hdr.is-hidden { transform: translateY(-100%); }
.hdr__nav { display: flex; gap: clamp(14px, 2.2vw, 34px); font-size: .92rem; font-weight: 500; }
.hdr__nav a, .hdr__nav button { position: relative; padding-block: 8px; }
.hdr__nav a::after, .hdr__nav button::after { content: ''; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .45s var(--ease); }
.hdr__nav a:hover::after, .hdr__nav button:hover::after, .hdr__nav [aria-expanded='true']::after { transform: scaleX(1); transform-origin: left; }
.logo { display: flex; flex-direction: column; align-items: center; line-height: 1; }
.logo__word { font: 400 1.65rem/1 var(--serif); letter-spacing: .2em; margin-right: -.2em; }
.logo__sub { font: 600 .55rem/1 var(--sans); letter-spacing: .42em; text-transform: uppercase; margin-top: 6px; opacity: .7; margin-right: -.42em; }
.hdr__tools { display: flex; justify-content: flex-end; align-items: center; gap: 6px; }
.hdr__tools a, .hdr__tools button { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; transition: background-color .3s; position: relative; }
.hdr__tools a:hover, .hdr__tools button:hover { background: var(--line); }
.hdr__somm { width: auto !important; padding: 0 16px; border-radius: 999px !important; box-shadow: inset 0 0 0 1px var(--line); font-size: .85rem; font-weight: 600; gap: 8px; display: flex !important; }
.cart-count { position: absolute; top: 6px; right: 4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--accent); color: #fff; font: 700 .66rem/18px var(--sans); text-align: center; transform: scale(0); transition: transform .45s var(--ease); }
.cart-count.has { transform: scale(1); }
.cart-count.bump { animation: bump .6s var(--ease); }
@keyframes bump { 40% { transform: scale(1.5); } }
.hdr__burger { display: none !important; }

/* Mega-meniu */
.mega {
	position: fixed; inset: var(--header-h) 0 auto; z-index: 55; color: var(--cerneala);
	background: var(--creta); box-shadow: 0 30px 80px rgba(30, 21, 25, .18);
	clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path .7s var(--ease), visibility 0s .7s;
}
.mega.is-open { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path .7s var(--ease); }
.mega__in { display: grid; grid-template-columns: 1.25fr .8fr .8fr .9fr 1.15fr; gap: clamp(20px, 3vw, 48px); padding-block: 40px 48px; }
.mega h4 { margin: 0 0 16px; font: 600 .7rem/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--cerneala-2); }
.mega ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.mega__ranges a { display: flex; align-items: baseline; gap: 12px; padding: 5px 0; font: 400 1.45rem/1.1 var(--serif); transition: color .3s, padding .45s var(--ease); }
.mega__ranges a small { font: 500 .72rem/1 var(--sans); letter-spacing: .08em; color: var(--cerneala-2); text-transform: uppercase; }
.mega__ranges a:hover { color: var(--rubin); padding-left: 8px; }
.mega__col a { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: .98rem; transition: color .3s; }
.mega__col a:hover { color: var(--rubin); }
.dot { width: 10px; height: 10px; border-radius: 50%; flex: none; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.dot--alb { background: #EBDDA9; } .dot--rose { background: #F0A9A4; } .dot--rosu { background: #6E1028; } .dot--spumant { background: linear-gradient(135deg, #fff, #BFCBEA); } .dot--noapte { background: #C9FF5E; box-shadow: 0 0 8px #C9FF5E; }
.mega__preview { position: relative; border-radius: var(--r); overflow: hidden; background: var(--foita); min-height: 300px; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; isolation: isolate; }
.mega__preview img { position: absolute; right: 14px; bottom: 14px; height: 86%; width: auto; z-index: -1; filter: drop-shadow(0 20px 24px rgba(58, 20, 32, .25)); transition: transform .8s var(--ease), opacity .4s; }
.mega__preview strong { font: 400 1.7rem/1.05 var(--serif); max-width: 10ch; }
.mega__preview p { margin: 8px 0 14px; font-size: .88rem; max-width: 20ch; color: var(--cerneala-2); }
.mega__preview .btn { align-self: flex-start; min-height: 42px; font-size: .85rem; --b: var(--cerneala); --t: var(--creta); }
.mega__veil { position: fixed; inset: 0; z-index: 50; background: rgba(20, 12, 16, .3); opacity: 0; pointer-events: none; transition: opacity .5s; }
.mega__veil.is-on { opacity: 1; pointer-events: auto; }

/* Ceasul zilei (home) */
.dayclock { position: fixed; left: var(--gutter); bottom: 22px; z-index: 40; display: flex; align-items: center; gap: 12px; font: 500 .78rem/1 var(--sans); letter-spacing: .08em; pointer-events: none; color: var(--ink); transition: opacity .5s, color .9s; }
.dayclock.is-off { opacity: 0; }
.dayclock__t { font: 400 1.35rem/1 var(--serif); letter-spacing: 0; font-variant-numeric: tabular-nums; }
.dayclock__orb { width: 26px; height: 26px; border-radius: 50%; background: var(--aur); box-shadow: 0 0 22px var(--aur); position: relative; overflow: hidden; }
.dayclock__orb::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: var(--bg); transform: translateX(calc(var(--moon, 0) * 70% - 110%)); transition: background-color .9s; }
.dayclock__lbl { text-transform: uppercase; opacity: .7; }

/* ---------- Age gate ---------- */
.gate { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 24px; background: rgba(30, 21, 25, .55); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.gate[hidden] { display: none; }
.gate__card { width: min(440px, 100%); background: var(--creta); color: var(--cerneala); border-radius: 28px; padding: 44px 36px 32px; text-align: center; box-shadow: 0 40px 120px rgba(0, 0, 0, .35); --bg: var(--creta); }
.gate__card .eclipse { width: 64px; margin: 0 auto 18px; }
.gate__card h2 { font: 400 2rem/1.05 var(--serif); margin: 6px 0 10px; }
.gate__card p { color: var(--cerneala-2); margin: 0 0 24px; font-size: .95rem; }
.gate__btns { display: grid; gap: 10px; }
.gate__no { font-size: .88rem; color: var(--cerneala-2); text-decoration: underline; text-underline-offset: 3px; margin-top: 6px; }
.gate__msg { margin-top: 14px; font-size: .9rem; }

/* ---------- Sertarul de coș ---------- */
.drawer { position: fixed; inset: 0; z-index: 120; pointer-events: none; overflow: hidden; }
.drawer__veil { position: absolute; inset: 0; background: rgba(20, 12, 16, .4); opacity: 0; transition: opacity .5s; }
.drawer__panel {
	position: absolute; top: 10px; right: 10px; bottom: 10px; width: min(460px, calc(100% - 20px));
	background: var(--creta); color: var(--cerneala); border-radius: 26px; display: flex; flex-direction: column;
	transform: translateX(calc(100% + 140px)); transition: transform .7s var(--ease); box-shadow: 0 30px 90px rgba(0, 0, 0, .3);
	--bg: var(--creta); --ink: var(--cerneala); --line: var(--linie); --accent: var(--rubin);
}
.drawer.is-open { pointer-events: auto; }
.drawer.is-open .drawer__veil { opacity: 1; }
.drawer.is-open .drawer__panel { transform: none; }
.drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px 14px; }
.drawer__head h2 { font: 400 1.8rem/1 var(--serif); margin: 0; }
.drawer__x { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; }
.drawer__x:hover { background: var(--linie); }
.box6 { margin: 0 24px; padding: 18px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--linie); }
.box6__slots { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-bottom: 12px; }
.box6__slot { aspect-ratio: 1 / 2.2; border-radius: 8px; background: var(--creta-2); position: relative; overflow: hidden; }
.box6__slot.is-full { background: var(--foita); }
.box6__slot img { position: absolute; inset: 6% 0 0; height: 94%; width: 100%; object-fit: contain; animation: drop .7s var(--ease) both; }
@keyframes drop { from { transform: translateY(-60%); opacity: 0; } }
.box6__txt { font-size: .88rem; color: var(--cerneala-2); margin: 0; }
.box6__txt strong { color: var(--cerneala); }
.ship { margin: 12px 24px 0; font-size: .82rem; color: var(--cerneala-2); }
.ship__bar { height: 3px; border-radius: 3px; background: var(--creta-2); margin-top: 6px; overflow: hidden; }
.ship__bar i { display: block; height: 100%; background: var(--rubin); width: 0; transition: width .8s var(--ease); }
.drawer__items { flex: 1; overflow: auto; padding: 8px 24px; overscroll-behavior: contain; }
.line { display: grid; grid-template-columns: 64px 1fr auto; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--linie); }
.line__img { width: 64px; height: 84px; border-radius: 12px; background: var(--creta-2); display: grid; place-items: center; overflow: hidden; }
.line__img img { height: 92%; width: 90%; object-fit: contain; }
.line__name { font: 400 1.05rem/1.2 var(--serif); margin: 0; }
.line__range { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cerneala-2); margin: 0 0 3px; }
.qty { display: inline-flex; align-items: center; gap: 2px; margin-top: 8px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--line); }
.qty button { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; }
.qty button .ic { width: 15px; height: 15px; }
.qty span, .qty input { min-width: 24px; text-align: center; font-weight: 600; font-size: .9rem; border: 0; background: none; width: 34px; -moz-appearance: textfield; }
.qty input::-webkit-inner-spin-button { -webkit-appearance: none; }
.line__price { text-align: right; font-weight: 600; font-size: .95rem; }
.line__rm { display: block; font-size: .75rem; color: var(--cerneala-2); text-decoration: underline; margin-top: 6px; margin-left: auto; }
.drawer__empty { text-align: center; padding: 40px 10px; color: var(--cerneala-2); }
.drawer__empty .h3 { color: var(--cerneala); margin-bottom: 10px; }
.drawer__foot { padding: 16px 24px 22px; border-top: 1px solid var(--linie); }
.drawer__row { display: flex; justify-content: space-between; font-size: .92rem; margin-bottom: 6px; }
.drawer__row--save { color: var(--rubin); font-weight: 600; }
.drawer__row--total { font: 400 1.5rem/1 var(--serif); margin: 12px 0 16px; }
.drawer__note { font-size: .75rem; color: var(--cerneala-2); text-align: center; margin: 10px 0 0; }

.toast { position: fixed; left: 50%; bottom: 24px; z-index: 130; transform: translate(-50%, 160%); background: var(--cerneala); color: var(--creta); padding: 12px 20px; border-radius: 999px; font-size: .9rem; transition: transform .6s var(--ease); display: flex; gap: 10px; align-items: center; }
.toast.is-on { transform: translate(-50%, 0); }

/* ---------- Carduri de produs ---------- */
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); gap: clamp(14px, 1.6vw, 24px); }
.card { position: relative; display: flex; flex-direction: column; border-radius: var(--r); background: var(--bg); color: var(--ink); overflow: hidden; isolation: isolate; transition: transform .7s var(--ease), box-shadow .7s var(--ease); }
.card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -30px color-mix(in oklab, var(--ink) 45%, transparent); }
.card__link { position: absolute; inset: 0; z-index: 2; }
.card__stage { position: relative; aspect-ratio: 4 / 4.6; overflow: hidden; }
.card__halo { position: absolute; left: 50%; top: 52%; width: 74%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, var(--halo) 0, transparent 70%); transform: translate(-50%, -50%) scale(.85); transition: transform 1s var(--ease); }
.card:hover .card__halo { transform: translate(-50%, -50%) scale(1.15); }
.card__bottle { position: absolute; left: 7%; right: 7%; bottom: 5%; height: 84%; width: 86%; object-fit: contain; object-position: 50% 100%; transform-origin: 50% 100%; transition: transform 1s var(--ease); filter: drop-shadow(0 26px 20px rgba(0, 0, 0, .22)); }
.card:hover .card__bottle { transform: translateY(-4%) rotate(-3deg) scale(1.03); }
.card__medal { position: absolute; top: 14px; left: 14px; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font: 700 .72rem/1 var(--sans); color: #4A3510; background: radial-gradient(circle at 35% 30%, #F6E2A8, var(--aur) 60%, #8E6A2E); box-shadow: 0 4px 10px rgba(0, 0, 0, .18); }
.card__flag { position: absolute; top: 16px; right: 14px; font: 600 .7rem/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; padding: 7px 10px; border-radius: 999px; background: var(--ink); color: var(--bg); }
.card__flag--sale { background: var(--accent); color: #fff; }
.card__body { padding: 4px 20px 18px; display: flex; flex-direction: column; flex: 1; }
.card__range { margin: 0; font: 600 .68rem/1.3 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--accent); }
.card__name { margin: 6px 0 4px; font: 400 1.32rem/1.12 var(--serif); letter-spacing: -.01em; }
.card__meta { margin: 0; font-size: .82rem; color: var(--ink-soft); }
.card__foot { margin-top: auto; padding-top: 14px; display: flex; align-items: center; justify-content: space-between; }
.card__price { margin: 0; font-weight: 600; font-size: 1rem; }
.card__price s { font-weight: 400; color: var(--ink-soft); font-size: .85rem; margin-right: 4px; }
.card__add { position: relative; z-index: 3; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--bg); transition: transform .5s var(--ease), background-color .3s; }
.card__add:hover { transform: rotate(90deg) scale(1.08); background: var(--accent); color: #fff; }
.card__add.is-done { background: var(--accent); color: #fff; }
.card__add .ic { width: 18px; height: 18px; }

/* ---------- Secțiuni comune ---------- */
.sec { padding-block: clamp(80px, 13vw, 180px); position: relative; }
.sec__head { display: flex; justify-content: space-between; align-items: end; gap: 32px; flex-wrap: wrap; margin-bottom: clamp(32px, 5vw, 64px); }
.sec__head .h1, .sec__head .h2 { max-width: 14ch; margin-top: 14px; }
.reveal-line { overflow: hidden; display: block; padding-bottom: .06em; }
.reveal-line > span { display: inline-block; }

/* ---------- HOME ---------- */
.hero { position: relative; min-height: 100svh; display: grid; place-items: center; overflow: hidden; isolation: isolate; padding: calc(var(--header-h) + 20px) var(--gutter) 90px; }
.hero__sky { position: absolute; inset: 0; z-index: -2; background: radial-gradient(120% 80% at 50% 105%, #F2C7A8 0%, #F5DECB 32%, var(--bg) 70%); }
/* Clipul de fundal stă sub cerul pastel: voalul îl ține luminos, ca textul și sticlele să rămână primul plan */
.hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; opacity: 0; transition: opacity 1.6s var(--ease); }
.hero__video.is-on { opacity: 1; }
.hero__veil { position: absolute; inset: 0; z-index: -2; pointer-events: none; background: linear-gradient(180deg, color-mix(in oklab, var(--bg) 92%, transparent) 0%, color-mix(in oklab, var(--bg) 55%, transparent) 38%, color-mix(in oklab, var(--bg) 20%, transparent) 70%, color-mix(in oklab, var(--bg) 70%, transparent) 100%); }
.hero:has(.hero__video) .hero__sun { mix-blend-mode: soft-light; opacity: .8; }
.rpanel__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; opacity: .35; mix-blend-mode: luminosity; }
.hero__sun { position: absolute; left: 50%; top: 62%; width: min(70vw, 760px); aspect-ratio: 1; border-radius: 50%; transform: translate(-50%, -50%); z-index: -1; background: radial-gradient(circle, #FBE7C2 0%, #F3C99B 38%, rgba(243, 201, 155, 0) 70%); }
.hero__title { text-align: center; position: relative; z-index: 2; margin-top: -30vh; }
.hero__title .h-hero { display: flex; flex-direction: column; align-items: center; }
.hero__title .h-hero .l2 { font-style: italic; margin-top: -.02em; }
.hero__emb { width: clamp(70px, 9vw, 120px); margin: 0 auto clamp(18px, 3vw, 30px); }
.hero__emb .eclipse__rays { transform-origin: 100px 100px; animation: spin 60s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.hero__bottles { position: absolute; inset: auto 0 4%; height: 47%; display: flex; justify-content: center; align-items: flex-end; gap: clamp(8px, 4vw, 70px); z-index: 1; pointer-events: none; }
.hero__bottles::after { content: ''; position: absolute; left: 50%; bottom: -1.5%; width: min(560px, 70vw); height: 5%; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(40, 20, 20, .35), transparent); z-index: -1; }
.hero__bottles img { height: 100%; width: auto; object-fit: contain; filter: drop-shadow(0 40px 40px rgba(80, 31, 60, .28)); will-change: transform; }
.hero__bottles img:nth-child(1), .hero__bottles img:nth-child(3) { height: 80%; }
.hero__copy { position: absolute; left: var(--gutter); bottom: 34px; z-index: 3; max-width: 320px; }
.hero__copy p { margin: 0; font-size: .98rem; line-height: 1.5; }
.hero__cta { position: absolute; right: var(--gutter); bottom: 34px; z-index: 3; display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.hero__scroll { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 3; font: 600 .66rem/1 var(--sans); letter-spacing: .3em; text-transform: uppercase; display: none; flex-direction: column; align-items: center; gap: 10px; opacity: .7; }

/* Manifest */
.manifest { padding-block: clamp(110px, 18vw, 240px); }
.manifest__txt { font: 400 clamp(1.8rem, 4.1vw, 4rem)/1.12 var(--serif); letter-spacing: -.015em; max-width: 22ch; margin: 22px 0 0; text-wrap: balance; }
.manifest__txt .w { opacity: .14; transition: opacity .2s; }
.manifest__txt em { color: var(--accent); }
.manifest__meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: clamp(60px, 8vw, 110px); border-top: 1px solid var(--line); padding-top: 26px; }
.stat__n { font: 400 clamp(2.4rem, 5vw, 4.6rem)/1 var(--serif); letter-spacing: -.03em; }
.stat__l { font-size: .88rem; color: var(--ink-soft); margin-top: 8px; max-width: 22ch; }

/* Terroir: hartă desenată la scroll */
.terroir__pin { position: relative; height: 100svh; display: grid; grid-template-columns: 1fr 1.05fr; align-items: center; gap: var(--gutter); padding-inline: var(--gutter); overflow: hidden; }
.terroir__steps { position: relative; height: 56vh; max-width: 480px; }
.tstep { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; opacity: 0; }
.tstep:first-child { opacity: 1; }
.tstep .h2 { margin: 14px 0 18px; }
.tstep p { margin: 0; max-width: 40ch; color: var(--ink-soft); font-size: 1.05rem; }
.map { position: relative; height: 82vh; }
.map svg { width: 100%; height: 100%; overflow: visible; }
.map .contour { fill: none; stroke: var(--ink); stroke-opacity: .13; stroke-width: 1; }
.map .river { fill: none; stroke: #5F82A8; stroke-width: 3.2; stroke-linecap: round; }
.map .river-glow { fill: none; stroke: #9DB8D6; stroke-width: 16; stroke-opacity: .28; stroke-linecap: round; }
.map .border-lbl { font: italic 400 16px var(--serif); fill: #5F82A8; letter-spacing: .08em; }
.map .vines path { stroke: #6D7A3A; stroke-width: 1.8; stroke-linecap: round; }
.pin circle.c { fill: var(--accent); }
.pin circle.r { fill: none; stroke: var(--accent); stroke-opacity: .5; transform-box: fill-box; transform-origin: center; animation: ping 2.6s var(--ease) infinite; }
@keyframes ping { from { transform: scale(.4); opacity: 1; } to { transform: scale(2.6); opacity: 0; } }
.pin text { font: 600 12px var(--sans); letter-spacing: .14em; text-transform: uppercase; fill: var(--ink); }
.pin text.s { font: italic 400 15px var(--serif); letter-spacing: 0; text-transform: none; fill: var(--ink-soft); }
.map__photo { position: absolute; right: 0; bottom: 4%; width: 40%; aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .35); }
.map__photo img { width: 100%; height: 100%; object-fit: cover; }

/* Gamele: carusel orizontal, fiecare panou își schimbă fundalul */
.ranges__pin { height: 100svh; overflow: hidden; position: relative; }
.ranges__track { display: flex; height: 100%; will-change: transform; }
.rpanel { flex: 0 0 100vw; height: 100%; position: relative; display: grid; grid-template-columns: 1fr minmax(260px, 34vw) 1fr; align-items: center; padding: calc(var(--header-h) + 10px) var(--gutter) 70px; gap: 3vw; isolation: isolate; color: var(--ink); background: var(--bg); }
.rpanel__ghost { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -54%); font: italic 400 clamp(6rem, 22vw, 24rem)/.8 var(--serif); letter-spacing: -.05em; white-space: nowrap; color: var(--ink); opacity: .07; z-index: -1; pointer-events: none; }
.rpanel__bottle { height: min(70vh, 740px); display: flex; justify-content: center; align-items: flex-end; position: relative; }
.rpanel__bottle::before { content: ''; position: absolute; bottom: -2%; left: 50%; width: 70%; height: 6%; border-radius: 50%; transform: translateX(-50%); background: radial-gradient(closest-side, rgba(0, 0, 0, .28), transparent); }
.rpanel__bottle img { height: 100%; width: 100%; min-height: 0; object-fit: contain; object-position: 50% 100%; filter: drop-shadow(0 30px 30px rgba(0, 0, 0, .25)); }
.rpanel__bottle.is-wide img { height: 62%; }
.rpanel__hour { font: 400 clamp(3rem, 7vw, 6.6rem)/1 var(--serif); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.rpanel__left .kicker { color: var(--accent); }
.rpanel__name { font: 400 var(--fs-2)/1 var(--serif); margin: 10px 0 0; letter-spacing: -.02em; }
.rpanel__right { max-width: 360px; justify-self: end; }
.rpanel__right .h3 { margin: 0 0 14px; }
.rpanel__right p { color: var(--ink-soft); margin: 0 0 24px; }
.rpanel__mini { display: flex; gap: 6px; margin-top: 26px; flex-wrap: wrap; }
.rpanel__mini a { width: 54px; height: 72px; border-radius: 10px; background: var(--glass); display: grid; place-items: center; transition: transform .4s var(--ease); }
.rpanel__mini a:hover { transform: translateY(-4px); }
.rpanel__mini img { height: 88%; width: 90%; object-fit: contain; }
.rpanel.tone-noapte .rpanel__bottle img { filter: drop-shadow(0 0 40px rgba(201, 255, 94, .35)) drop-shadow(0 30px 30px rgba(0, 0, 0, .6)); animation: glow 3.2s ease-in-out infinite; }
@keyframes glow { 50% { filter: drop-shadow(0 0 70px rgba(201, 255, 94, .6)) drop-shadow(0 30px 30px rgba(0, 0, 0, .6)); } }
.ranges__progress { position: absolute; left: var(--gutter); right: var(--gutter); bottom: 28px; height: 1px; background: rgba(128, 128, 128, .3); z-index: 3; }
.ranges__progress i { display: block; height: 100%; width: 100%; transform: scaleX(0); transform-origin: left; background: var(--accent); }

/* Bestsellers */
.picks .grid { grid-template-columns: repeat(4, 1fr); }

/* Cutia de 6 – teaser */
.box-tease { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(30px, 5vw, 90px); align-items: center; }
.box-visual { position: relative; aspect-ratio: 1.15; border-radius: 30px; background: linear-gradient(160deg, #EADCC8, #D7BB97); overflow: hidden; }
.box-visual__crate { position: absolute; left: 6%; right: 6%; bottom: 8%; height: 34%; border-radius: 10px; background: linear-gradient(180deg, #E8CFA9, #C9A276); box-shadow: 0 30px 40px -20px rgba(70, 40, 10, .5), inset 0 2px 0 rgba(255, 255, 255, .4); display: flex; align-items: center; justify-content: center; z-index: 2; }
.box-visual__crate span { font: 400 clamp(1.2rem, 2.6vw, 2.2rem)/1 var(--serif); letter-spacing: .3em; color: rgba(90, 50, 20, .5); }
.box-visual__bottles { position: absolute; left: 9%; right: 9%; top: 10%; bottom: 24%; display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: 100%; align-items: end; gap: 1%; z-index: 1; }
.box-visual__bottles img { width: 100%; height: 100%; min-height: 0; object-fit: contain; object-position: 50% 100%; filter: drop-shadow(0 16px 12px rgba(60, 30, 10, .3)); }
.box-tease ol { list-style: none; counter-reset: s; padding: 0; margin: 28px 0 34px; display: grid; gap: 14px; }
.box-tease li { counter-increment: s; display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: baseline; }
.box-tease li::before { content: counter(s, decimal-leading-zero); font: italic 400 1.1rem var(--serif); color: var(--accent); }
.tiers { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 30px; }
.tier { padding: 12px 18px; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--line); }
.tier b { font: 400 1.6rem/1 var(--serif); display: block; }
.tier span { font-size: .8rem; color: var(--ink-soft); }

/* Somelier rapid */
.somm-q { border-radius: 34px; padding: clamp(28px, 6vw, 80px); background: var(--prune); color: #F6ECF4; position: relative; overflow: hidden; isolation: isolate; --ink: #F6ECF4; --bg: var(--prune); --line: rgba(246, 236, 244, .22); --ink-soft: rgba(246, 236, 244, .72); --accent: #F0A9C0; }
.somm-q::before { content: ''; position: absolute; right: -10%; top: -30%; width: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(240, 169, 192, .35), transparent 65%); z-index: -1; }
.somm-q__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 80px); align-items: center; }
.somm-q__dishes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.somm-q__res { min-height: 380px; display: grid; grid-template-columns: 150px 1fr; gap: 26px; align-items: center; }
.somm-q__res img { height: 340px; width: auto; justify-self: center; filter: drop-shadow(0 30px 30px rgba(0, 0, 0, .4)); }
.somm-q__res .kicker { color: var(--accent); }
.somm-q__res h3 { font: 400 2rem/1.05 var(--serif); margin: 8px 0 10px; }
.somm-q__res p { margin: 0 0 18px; color: var(--ink-soft); font-size: .95rem; }
.somm-q .btn { --b: #F6ECF4; --t: var(--prune); }

/* Medalii */
.medals { overflow: hidden; }
.medals__counts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: clamp(40px, 6vw, 80px); }
.medal-n { display: flex; align-items: center; gap: 16px; }
.medal-n i { width: 54px; height: 54px; border-radius: 50%; flex: none; box-shadow: 0 8px 18px rgba(0, 0, 0, .15), inset 0 -3px 6px rgba(0, 0, 0, .15); }
.medal-n i.aur { background: radial-gradient(circle at 35% 30%, #F8E7B4, #C9A15B 55%, #8C6828); }
.medal-n i.argint { background: radial-gradient(circle at 35% 30%, #FFFFFF, #C4C8CF 55%, #858A93); }
.medal-n i.bronz { background: radial-gradient(circle at 35% 30%, #F2C9A0, #B07B4F 55%, #6E4425); }
.medal-n i.comp { background: conic-gradient(var(--aur), var(--rubin), var(--prune), var(--aur)); }
.marquee { display: flex; white-space: nowrap; font: italic 400 clamp(2rem, 5vw, 4.4rem)/1.25 var(--serif); padding-block: 10px; border-block: 1px solid var(--line); overflow: hidden; }
.marquee__in { display: flex; flex: none; animation: marq 60s linear infinite; }
.marquee__in span { padding-right: 60px; }
.marquee__in span::after { content: '✦'; font-style: normal; font-size: .4em; vertical-align: middle; margin-left: 60px; color: var(--accent); }
@keyframes marq { to { transform: translateX(-100%); } }
.medals__star { display: grid; grid-template-columns: minmax(260px, 400px) 1fr; gap: clamp(24px, 5vw, 80px); align-items: center; margin-top: clamp(40px, 6vw, 80px); }
.medals__stage { position: relative; aspect-ratio: 4 / 5; border-radius: 28px; background: radial-gradient(circle at 50% 46%, var(--halo) 0 38%, transparent 70%), color-mix(in oklab, var(--bg) 70%, #fff 30%); overflow: hidden; }
.medals__stage::after { content: ''; position: absolute; left: 50%; bottom: 7%; width: 46%; height: 4%; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(58, 20, 32, .3), transparent); }
.medals__stage img { position: absolute; left: 10%; right: 10%; bottom: 8%; height: 82%; width: 80%; object-fit: contain; object-position: 50% 100%; z-index: 1; filter: drop-shadow(0 26px 24px rgba(58, 20, 32, .22)); }
.medals__list { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; }
.medals__list li { display: flex; gap: 10px; align-items: baseline; font-size: .9rem; padding: 9px 0; border-bottom: 1px solid var(--line); }
.medals__list li i { width: 10px; height: 10px; border-radius: 50%; flex: none; transform: translateY(1px); }
.medals__list li i.aur { background: var(--aur); } .medals__list li i.argint { background: #BFC4CC; } .medals__list li i.bronz { background: var(--arama); } .medals__list li i.rating { background: var(--ink); }
.medals__list b { font-weight: 600; }
.medals__list span { color: var(--ink-soft); margin-left: auto; white-space: nowrap; }

/* Soiuri */
.soiuri { overflow: hidden; }
.soi-rail { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px var(--gutter) 30px; margin-inline: calc(-1 * var(--gutter)); scrollbar-width: none; }
.soi-rail::-webkit-scrollbar { display: none; }
.soi { flex: 0 0 clamp(270px, 27vw, 370px); scroll-snap-align: start; border-radius: var(--r); padding: 28px 26px; background: var(--bg); color: var(--ink); min-height: 420px; display: flex; flex-direction: column; transition: transform .6s var(--ease); }
.soi:hover { transform: translateY(-6px); }
.soi h3 { font: 400 2rem/1 var(--serif); margin: 10px 0 auto; }
.soi blockquote { margin: 26px 0 14px; font: italic 400 1.1rem/1.4 var(--serif); }
.soi p { margin: 0; font-size: .85rem; color: var(--ink-soft); }
.sergiu { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(20px, 4vw, 60px); align-items: center; margin-top: 40px; }
.sergiu img { border-radius: var(--r); width: 100%; aspect-ratio: 16 / 8; object-fit: cover; }

/* Vizită */
.visit__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: auto auto; gap: 16px; }
.vcard { position: relative; border-radius: var(--r); overflow: hidden; min-height: 300px; color: #fff; display: flex; flex-direction: column; justify-content: flex-end; padding: 26px; isolation: isolate; }
.vcard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.4s var(--ease); }
.vcard::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(20, 10, 14, .05) 20%, rgba(20, 10, 14, .55) 55%, rgba(20, 10, 14, .88)); }
.vcard:hover img { transform: scale(1.06); }
.vcard--big { grid-row: span 2; min-height: 620px; }
.vcard--wide { grid-column: span 2; }
.vcard h3 { font: 400 clamp(1.5rem, 2.2vw, 2.3rem)/1.04 var(--serif); margin: 8px 0 8px; text-wrap: balance; }
.vcard--big h3 { font-size: clamp(2rem, 3.2vw, 3rem); }
.vcard p { margin: 0 0 14px; font-size: .92rem; opacity: .88; max-width: 40ch; }
.vcard .kicker { color: rgba(255, 255, 255, .8); }
.vcard .link-arrow { border-color: rgba(255, 255, 255, .4); align-self: flex-start; }

/* Magazine */
.stores { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.store { padding: 26px 22px 26px 0; border-right: 1px solid var(--line); }
.store + .store { padding-left: 22px; }
.store:last-child { border-right: 0; }
.store h3 { font: 400 1.5rem/1.1 var(--serif); margin: 0 0 10px; }
.store p { margin: 0 0 4px; font-size: .9rem; color: var(--ink-soft); }
.store a { font-weight: 600; font-size: .95rem; display: inline-block; margin-top: 8px; }

/* ---------- Footer ---------- */
.ftr { background: #0D0B0C; color: #EDE5DC; padding: clamp(80px, 10vw, 140px) 0 34px; position: relative; overflow: hidden; --ink: #EDE5DC; --bg: #0D0B0C; --line: rgba(237, 229, 220, .14); --ink-soft: rgba(237, 229, 220, .6); --accent: #C9FF5E; }
.ftr__big { font: 400 clamp(3rem, 11vw, 12rem)/.85 var(--serif); letter-spacing: -.04em; margin: 0 0 clamp(50px, 7vw, 100px); }
.ftr__big em { color: var(--accent); text-shadow: 0 0 40px rgba(201, 255, 94, .45); }
.ftr__grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 30px; padding-bottom: 50px; border-bottom: 1px solid var(--line); }
.ftr h4 { font: 600 .7rem/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 18px; }
.ftr ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: .95rem; }
.ftr ul a:hover { color: var(--accent); }
.club p { color: var(--ink-soft); margin: 0 0 18px; max-width: 36ch; }
.club form { display: flex; gap: 6px; padding: 6px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--line); max-width: 420px; }
.club input { flex: 1; min-width: 0; background: none; border: 0; padding: 0 16px; outline: none; color: var(--ink); }
.club input::placeholder { color: var(--ink-soft); }
.club .btn { --b: var(--accent); --t: #0D0B0C; min-height: 46px; }
.club__ok { color: var(--accent); margin-top: 10px; font-size: .9rem; }
.ftr__legal { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 26px; font-size: .78rem; color: var(--ink-soft); }
.ftr__legal p { margin: 0; }

/* ---------- MAGAZIN ---------- */
.shop-hero { padding: calc(var(--header-h) + clamp(40px, 7vw, 90px)) 0 clamp(30px, 4vw, 50px); }
.shop-hero .h1 { margin-top: 14px; }
.shop-hero .h1 em { color: var(--accent); }
.filters { position: sticky; top: 0; z-index: 30; background: color-mix(in oklab, var(--bg) 88%, transparent); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-block: 1px solid var(--line); transition: top .6s var(--ease); }
body.hdr-shown .filters { top: var(--header-h); }
.filters__bar { display: flex; gap: 8px; align-items: center; padding-block: 12px; overflow-x: auto; scrollbar-width: none; }
.filters__bar::-webkit-scrollbar { display: none; }
.filters__sep { width: 1px; height: 24px; background: var(--line); flex: none; margin-inline: 6px; }
.filters__more { margin-left: auto; }
.fpanel { display: none; padding-block: 18px 26px; border-top: 1px solid var(--line); }
.fpanel.is-open { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.fpanel h4 { margin: 0 0 12px; font: 600 .7rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--ink-soft); }
.fpanel__opts { display: flex; flex-wrap: wrap; gap: 6px; }
.fpanel__opts .chip { min-height: 34px; font-size: .84rem; }
.range-slider { width: 100%; accent-color: var(--accent); }
.shop-count { display: flex; justify-content: space-between; align-items: center; padding-block: 22px; font-size: .9rem; color: var(--ink-soft); gap: 16px; flex-wrap: wrap; }
.shop-count select { border: 0; background: none; font-weight: 600; color: var(--ink); cursor: pointer; }
.shop-grid { padding-bottom: clamp(80px, 10vw, 140px); }
.shop-grid .card.is-hidden { display: none; }
.shop-empty { text-align: center; padding: 80px 0; display: none; }
.shop-empty.is-on { display: block; }
.range-band { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: end; padding: 40px 0 6px; border-bottom: 1px solid var(--line); }
.range-band:first-child { padding-top: 0; }
.range-band.is-hidden { display: none; }
.range-band h2 { font: 400 clamp(2rem, 4vw, 3.4rem)/1 var(--serif); margin: 6px 0 0; }
.range-band p { margin: 0; color: var(--ink-soft); max-width: 46ch; font-size: .95rem; }

/* ---------- PDP ---------- */
.pdp__top { display: grid; grid-template-columns: 1.05fr 1fr; min-height: 100svh; }
.pdp__stage { position: sticky; top: 0; height: 100svh; display: grid; place-items: end center; padding-bottom: 9vh; overflow: hidden; isolation: isolate; }
.pdp__ghost { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); text-align: center; font: italic 400 clamp(5rem, 15vw, 16rem)/.8 var(--serif); letter-spacing: -.05em; opacity: .07; z-index: -1; white-space: nowrap; }
.pdp__halo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, var(--halo), transparent 68%); z-index: -1; }
.pdp__bottle { height: min(74vh, 780px); width: min(80%, 640px); object-fit: contain; object-position: 50% 100%; filter: drop-shadow(0 50px 40px rgba(0, 0, 0, .28)); will-change: transform; }
.pdp__bottle.is-wide { height: min(52vh, 560px); width: min(72%, 560px); }
.pdp__shadow { position: absolute; bottom: calc(9vh - 1.5vh); left: 35%; width: 30%; height: 3vh; border-radius: 50%; background: radial-gradient(closest-side, rgba(0, 0, 0, .3), transparent); z-index: -1; }
.pdp__crumbs { position: absolute; top: calc(var(--header-h) + 14px); left: var(--gutter); font-size: .8rem; color: var(--ink-soft); display: flex; gap: 8px; }
.pdp__crumbs a:hover { color: var(--ink); }
.pdp__info { padding: calc(var(--header-h) + clamp(40px, 6vw, 80px)) var(--gutter) 60px clamp(10px, 3vw, 50px); display: flex; flex-direction: column; justify-content: center; max-width: 640px; }
.pdp__range { display: flex; align-items: center; gap: 12px; }
.pdp__range a { color: var(--accent); }
.pdp__title { font: 400 clamp(2.6rem, 5vw, 4.8rem)/.95 var(--serif); letter-spacing: -.025em; margin: 16px 0 14px; text-wrap: balance; }
.pdp__sub { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .9rem; color: var(--ink-soft); margin-bottom: 26px; }
.pdp__sub span + span::before { content: '·'; margin-right: 16px; }
.pdp__sense { font: italic 400 clamp(1.2rem, 1.7vw, 1.5rem)/1.38 var(--serif); margin: 0 0 26px; max-width: 34ch; }
.pdp__medals { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.mbadge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px 7px 8px; border-radius: 999px; background: var(--glass); font-size: .78rem; font-weight: 500; box-shadow: inset 0 0 0 1px var(--line); }
.mbadge i { width: 18px; height: 18px; border-radius: 50%; }
.mbadge i.aur { background: radial-gradient(circle at 35% 30%, #F8E7B4, #C9A15B 60%, #8C6828); }
.mbadge i.argint { background: radial-gradient(circle at 35% 30%, #fff, #BFC4CC 60%, #858A93); }
.mbadge i.bronz { background: radial-gradient(circle at 35% 30%, #F2C9A0, #B07B4F 60%, #6E4425); }
.mbadge i.rating { background: var(--ink); }
.buy { border-radius: 24px; background: var(--glass); box-shadow: inset 0 0 0 1px var(--line); padding: 18px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.buy__opts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
.buy__opt { position: relative; text-align: left; padding: 14px 16px; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--line); transition: box-shadow .3s, background-color .3s; }
.buy__opt[aria-pressed='true'] { box-shadow: inset 0 0 0 2px var(--ink); }
.buy__opt b { display: block; font-size: .95rem; }
.buy__opt span { font-size: .8rem; color: var(--ink-soft); }
.buy__opt em { position: absolute; top: -9px; right: 12px; font: 700 .64rem/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; font-style: normal; background: var(--accent); color: #fff; padding: 5px 8px; border-radius: 999px; }
.buy__row { display: flex; gap: 10px; align-items: center; }
.buy__row .qty { margin: 0; height: 52px; padding: 0 6px; }
.buy__row .btn { flex: 1; }
.buy__price { display: flex; align-items: baseline; gap: 10px; margin: 0 0 14px; flex-wrap: wrap; }
.buy__price b { font: 400 2rem/1 var(--serif); }
.buy__price s { color: var(--ink-soft); }
.buy__price small { color: var(--accent); font-weight: 600; }
.buy__trust { display: flex; gap: 18px; flex-wrap: wrap; margin: 14px 0 0; font-size: .78rem; color: var(--ink-soft); }
.buy__trust span { display: flex; align-items: center; gap: 6px; }
.buy__trust .ic { width: 16px; height: 16px; }
.buy__out { padding: 14px; border-radius: 14px; background: var(--line); font-size: .9rem; }
.pdp__sticky { position: fixed; left: 50%; bottom: 16px; transform: translate(-50%, 160%); z-index: 45; display: flex; align-items: center; gap: 16px; padding: 8px 8px 8px 12px; border-radius: 999px; background: color-mix(in oklab, var(--bg) 82%, transparent); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 20px 50px -10px rgba(0, 0, 0, .3), inset 0 0 0 1px var(--line); transition: transform .6s var(--ease); max-width: calc(100% - 24px); }
.pdp__sticky.is-on { transform: translate(-50%, 0); }
.pdp__sticky img { height: 46px; width: auto; }
.pdp__sticky b { font: 400 1.05rem/1.1 var(--serif); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 30vw; }
.pdp__sticky .btn { min-height: 44px; }

/* Profil senzorial */
.sense { padding-block: clamp(80px, 11vw, 150px); }
.sense__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 6vw, 100px); align-items: center; }
.wheel { position: relative; width: min(100%, 520px); aspect-ratio: 1; margin-inline: auto; }
.wheel svg { width: 100%; height: 100%; overflow: visible; }
.wheel .seg { stroke: var(--bg); stroke-width: 2; transition: opacity .4s, transform .6s var(--ease); transform-origin: 260px 260px; }
.wheel .seg.off { opacity: .13; }
.wheel .seg.on:hover { transform: scale(1.03); }
.wheel text { font: 600 10.5px var(--sans); letter-spacing: .14em; text-transform: uppercase; fill: var(--ink); }
.wheel .center { font: italic 400 30px var(--serif); letter-spacing: 0; text-transform: none; }
.wheel .center-s { font: 500 11px var(--sans); fill: var(--ink-soft); letter-spacing: .12em; }
.notes { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 36px; }
.note { padding: 10px 16px; border-radius: 999px; background: var(--glass); box-shadow: inset 0 0 0 1px var(--line); font: italic 400 1.05rem/1 var(--serif); }
.scales { display: grid; gap: 22px; }
.scale__top { display: flex; justify-content: space-between; font-size: .85rem; margin-bottom: 10px; }
.scale__top b { font-weight: 600; }
.scale__top span { color: var(--ink-soft); }
.scale__bar { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
.scale__bar i { height: 8px; border-radius: 4px; background: var(--line); transition: background-color .5s; transition-delay: calc(var(--i) * 90ms); }
.scale__bar i.on { background: var(--ink); }
.scale__ends { display: flex; justify-content: space-between; font-size: .72rem; color: var(--ink-soft); margin-top: 6px; letter-spacing: .04em; }
.serve { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 34px; }
.serve > div { border-radius: 18px; padding: 18px; background: var(--glass); box-shadow: inset 0 0 0 1px var(--line); }
.serve .ic { width: 24px; height: 24px; color: var(--accent); }
.serve b { display: block; font: 400 1.5rem/1 var(--serif); margin: 12px 0 4px; }
.serve span { font-size: .8rem; color: var(--ink-soft); }
.thermo { position: relative; height: 6px; border-radius: 3px; background: linear-gradient(90deg, #8DB7E8, #F1D9A6, #D5664F); margin-top: 12px; }
.thermo i { position: absolute; top: -4px; height: 14px; border-radius: 7px; background: var(--ink); box-shadow: 0 0 0 3px var(--bg); min-width: 14px; }
.est { font-size: .75rem; color: var(--ink-soft); margin-top: 18px; }

/* Food pairing */
.pair { padding-block: clamp(70px, 10vw, 140px); border-top: 1px solid var(--line); }
.pair__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 6vw, 100px); align-items: center; }
.plates { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.plate { aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; text-align: center; padding: 16%; background: radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--bg) 55%, #fff 45%) 0 55%, var(--glass) 56% 100%); box-shadow: inset 0 0 0 1px var(--line), 0 18px 30px -18px rgba(0, 0, 0, .35); font: italic 400 1.02rem/1.2 var(--serif); transition: transform .6s var(--ease); }
.plate:hover { transform: rotate(-6deg) scale(1.04); }
.plate small { display: block; font: 600 .6rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; font-style: normal; color: var(--accent); margin-bottom: 6px; }

/* Fișa tehnică */
.tech { padding-block: clamp(60px, 9vw, 120px); border-top: 1px solid var(--line); }
.tech__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 6vw, 100px); }
.acc { border-top: 1px solid var(--line); }
.acc details { border-bottom: 1px solid var(--line); }
.acc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 22px 0; font: 400 1.5rem/1.1 var(--serif); }
.acc summary::-webkit-details-marker { display: none; }
.acc summary .ic { transition: transform .5s var(--ease); }
.acc details[open] summary .ic { transform: rotate(45deg); }
.acc .acc__body { padding: 0 0 26px; color: var(--ink-soft); }
.acc .acc__body p { margin: 0 0 12px; max-width: 62ch; }
.spec { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 0; }
.spec div { padding: 14px 0; border-bottom: 1px solid var(--line); }
.spec dt { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); }
.spec dd { margin: 4px 0 0; font: 400 1.2rem/1.2 var(--serif); color: var(--ink); }
.related { padding-block: clamp(60px, 9vw, 120px); border-top: 1px solid var(--line); }

/* ---------- Pagini: Cutia de 6, Somelier, Vizită, generic ---------- */
.page-hero { padding: calc(var(--header-h) + clamp(50px, 8vw, 110px)) 0 clamp(30px, 5vw, 60px); }
.page-hero .h1 { margin: 14px 0 20px; max-width: 16ch; }
.page-hero .h1 em { color: var(--accent); }

.builder { display: grid; grid-template-columns: 1fr 400px; gap: clamp(20px, 3vw, 44px); padding-bottom: 120px; align-items: start; }
.builder__side { position: sticky; top: calc(var(--header-h) + 16px); border-radius: 28px; padding: 22px; background: #fff; box-shadow: inset 0 0 0 1px var(--linie), 0 30px 60px -40px rgba(0, 0, 0, .4); color: var(--cerneala); --line: var(--linie); --ink: var(--cerneala); --bg: #fff; --accent: var(--rubin); }
.crate { position: relative; border-radius: 18px; background: linear-gradient(180deg, #F0DEC5, #DDBF98); padding: 18px 14px 0; overflow: hidden; }
.crate__slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.crate__slot { position: relative; aspect-ratio: 1 / 1.6; border-radius: 10px; background: rgba(110, 70, 30, .1); box-shadow: inset 0 3px 8px rgba(80, 40, 10, .18); display: grid; place-items: end center; }
.crate__slot > span { position: absolute; top: 8px; left: 10px; font: italic 400 .9rem var(--serif); color: rgba(90, 50, 20, .45); }
.crate__slot img { position: absolute; left: 0; right: 0; bottom: 4%; height: 90%; width: 100%; object-fit: contain; object-position: bottom; animation: drop .8s var(--ease) both; filter: drop-shadow(0 10px 8px rgba(60, 30, 10, .3)); }
.crate__slot button { position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border-radius: 50%; background: rgba(255, 255, 255, .9); display: grid; place-items: center; }
.crate__slot button .ic { width: 14px; height: 14px; }
.crate__front { margin: 14px -14px 0; height: 50px; background: linear-gradient(180deg, #E3C59D, #C9A276); display: grid; place-items: center; font: 400 1.1rem/1 var(--serif); letter-spacing: .3em; color: rgba(90, 50, 20, .55); }
.builder__meter { margin: 18px 0 6px; display: flex; justify-content: space-between; align-items: center; font-size: .88rem; }
.builder__meter b { font: 400 1.6rem/1 var(--serif); }
.builder__badge { display: inline-block; padding: 6px 10px; border-radius: 999px; font: 700 .68rem/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; background: var(--creta-2); color: var(--cerneala-2); transition: background-color .4s, color .4s; }
.builder__badge.is-on { background: var(--rubin); color: #fff; }
.builder__msg { font-size: .85rem; color: var(--cerneala-2); min-height: 2.6em; margin: 6px 0 14px; }
.builder__chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.builder__grid .card__add { width: auto; padding: 0 14px; border-radius: 999px; font-size: .8rem; font-weight: 600; gap: 6px; display: flex; }
.builder__grid .card__add:hover { transform: scale(1.05); }

.quiz { min-height: 100svh; padding: calc(var(--header-h) + 40px) 0 80px; display: grid; align-items: center; }
.quiz__step { display: none; }
.quiz__step.is-on { display: block; animation: fadeup .8s var(--ease) both; }
@keyframes fadeup { from { opacity: 0; transform: translateY(24px); } }
.quiz__q { font: 400 var(--fs-1)/1 var(--serif); letter-spacing: -.025em; margin: 18px 0 40px; max-width: 18ch; text-wrap: balance; }
.quiz__q em { color: var(--accent); }
.quiz__opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.qopt { text-align: left; padding: 22px; border-radius: 22px; box-shadow: inset 0 0 0 1px var(--line); transition: box-shadow .3s, transform .5s var(--ease), background-color .3s; min-height: 130px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; }
.qopt:hover { box-shadow: inset 0 0 0 1px var(--ink); transform: translateY(-3px); }
.qopt b { font: 400 1.5rem/1.1 var(--serif); }
.qopt span { font-size: .85rem; color: var(--ink-soft); }
.quiz__prog { display: flex; gap: 6px; margin-bottom: 8px; max-width: 420px; }
.quiz__prog i { height: 3px; flex: 1; border-radius: 2px; background: var(--line); transition: background-color .5s; }
.quiz__prog i.on { background: var(--ink); }
.quiz__back { margin-top: 30px; font-size: .9rem; color: var(--ink-soft); text-decoration: underline; text-underline-offset: 3px; }
.verdict { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 6vw, 90px); align-items: center; }
.verdict__bottle { height: min(70vh, 640px); display: flex; justify-content: center; align-items: flex-end; position: relative; }
.verdict__bottle img { height: 100%; width: auto; filter: drop-shadow(0 40px 40px rgba(0, 0, 0, .3)); }
.verdict__why { list-style: none; padding: 0; margin: 20px 0 30px; display: grid; gap: 8px; }
.verdict__why li { display: flex; gap: 10px; align-items: baseline; color: var(--ink-soft); }
.verdict__why li::before { content: '✦'; color: var(--accent); font-size: .7em; }
.verdict__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.verdict__alt { margin-top: clamp(50px, 7vw, 90px); }

.exp { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.exp button { text-align: left; border-radius: 22px; padding: 22px; box-shadow: inset 0 0 0 1px var(--line); min-height: 220px; display: flex; flex-direction: column; gap: 10px; transition: box-shadow .3s, background-color .3s, color .3s; }
.exp button[aria-pressed='true'] { background: var(--ink); color: var(--bg); }
.exp button[aria-pressed='true'] p { color: inherit; opacity: .75; }
.exp b { font: 400 1.5rem/1.05 var(--serif); }
.exp p { margin: 0; font-size: .86rem; color: var(--ink-soft); }
.exp small { margin-top: auto; font-weight: 600; font-size: .8rem; }
.form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 30px; position: relative; }
.form label { display: grid; gap: 6px; font-size: .8rem; font-weight: 600; letter-spacing: .04em; }
.form input, .form textarea, .form select { width: 100%; min-height: 54px; padding: 14px 18px; border-radius: 16px; border: 0; background: var(--glass); box-shadow: inset 0 0 0 1px var(--line); font-weight: 400; font-size: 1rem; outline: none; transition: box-shadow .3s; }
.form input:focus, .form textarea:focus, .form select:focus { box-shadow: inset 0 0 0 2px var(--ink); }
.form .full { grid-column: 1 / -1; }
.form .check { display: flex; gap: 10px; align-items: center; font-weight: 500; font-size: .92rem; letter-spacing: 0; }
.form .check input { width: 20px; min-height: 20px; accent-color: var(--accent); box-shadow: none; }
.form__ok { border-radius: 26px; padding: 40px; background: var(--ink); color: var(--bg); text-align: center; }
.form__ok .h2 { margin: 10px 0; }
.form__err { color: var(--rubin); font-size: .9rem; margin: 0; }
.hp { position: absolute; left: -9999px; }

.prose { max-width: 720px; font-size: 1.08rem; line-height: 1.75; }
.prose h2 { font: 400 2.2rem/1.1 var(--serif); margin: 2em 0 .6em; }
.prose p { margin: 0 0 1.2em; }
.prose blockquote { margin: 2em 0; padding-left: 24px; border-left: 2px solid var(--accent); font: italic 400 1.5rem/1.35 var(--serif); }

/* WooCommerce: coș / finalizare / cont (blocuri) */
.woo-page { padding: calc(var(--header-h) + 50px) 0 120px; }
.woo-page > .wrap > h1 { font: 400 var(--fs-1)/1 var(--serif); margin: 0 0 40px; }
.woo-page .wc-block-components-button:not(.is-link) { border-radius: 999px !important; background: var(--cerneala) !important; color: var(--creta) !important; min-height: 52px; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.mega__in { grid-template-columns: 1fr 1fr 1fr; }
	.mega__preview { display: none; }
	.picks .grid { grid-template-columns: repeat(2, 1fr); }
	.visit__grid { grid-template-columns: 1fr 1fr; }
	.vcard--big { grid-column: 1 / -1; grid-row: auto; min-height: 420px; }
	.vcard--wide { grid-column: 1 / -1; }
	.exp { grid-template-columns: 1fr 1fr; }
	.builder { grid-template-columns: 1fr; }
	.builder__side { position: relative; top: 0; }
	.fpanel.is-open { grid-template-columns: 1fr 1fr; }
	.rpanel { grid-template-columns: 1fr minmax(220px, 32vw) 1fr; }
}
@media (max-width: 860px) {
	:root { --header-h: 64px; }
	body { font-size: 16px; }
	.hdr { grid-template-columns: auto 1fr auto; gap: 8px; }
	.hdr__nav { display: none; }
	.hdr__burger { display: grid !important; }
	.logo { align-items: flex-start; }
	.logo__word { font-size: 1.3rem; }
	.hdr__somm, .hdr__acct { display: none !important; }
	.mega { inset: var(--header-h) 0 0; overflow: auto; }
	.mega__in { grid-template-columns: 1fr 1fr; padding-block: 24px 60px; }
	.mega__ranges { grid-column: 1 / -1; }
	.hero__title { margin-top: 0; }
	.hero__copy { left: var(--gutter); right: var(--gutter); bottom: 108px; max-width: none; text-align: center; }
	.hero__cta { left: var(--gutter); right: var(--gutter); justify-content: center; bottom: 34px; }
	.hero__bottles { height: 40%; bottom: 196px; }
	.hero__copy p { font-size: .9rem; }
	.hero__bottles img:nth-child(1), .hero__bottles img:nth-child(3) { display: none; }
	.hero { align-items: start; padding-top: calc(var(--header-h) + 36px); }
	.manifest__meta { grid-template-columns: 1fr 1fr; row-gap: 34px; }
	.terroir__pin { grid-template-columns: 1fr; grid-template-rows: auto 1fr; align-content: start; padding-top: calc(var(--header-h) + 16px); gap: 0; }
	.terroir__steps { height: 34vh; }
	.tstep .h2 { font-size: 2rem; }
	.tstep p { font-size: .95rem; }
	.map { height: 54vh; }
	.map__photo { width: 38%; }
	.rpanel { grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; text-align: center; padding-bottom: 60px; gap: 10px; }
	.rpanel__bottle { height: 40vh; }
	.rpanel__right { justify-self: center; }
	.rpanel__right p:not(.h3), .rpanel__mini { display: none; }
	.rpanel__right .h3 { font-size: 1.15rem; margin-bottom: 14px; }
	.rpanel__hour { font-size: 2.2rem; }
	.rpanel__name { font-size: 2.6rem; }
	.box-tease, .somm-q__grid, .sense__grid, .pair__grid, .tech__grid, .verdict, .sergiu { grid-template-columns: 1fr; }
	.somm-q__res { grid-template-columns: 100px 1fr; min-height: 0; gap: 16px; }
	.somm-q__res img { height: 220px; }
	.medals__counts { grid-template-columns: 1fr 1fr; }
	.medals__star { grid-template-columns: 1fr; }
	.medals__stage { max-width: 320px; width: 100%; margin-inline: auto; }
	.medals__list { grid-template-columns: 1fr; }
	.stores { grid-template-columns: 1fr 1fr; }
	.store { border-right: 0; border-bottom: 1px solid var(--line); padding: 22px 0 !important; }
	.ftr__grid { grid-template-columns: 1fr 1fr; }
	.club { grid-column: 1 / -1; }
	.pdp__top { grid-template-columns: 1fr; }
	.pdp__stage { position: relative; height: 70svh; padding-bottom: 5svh; }
	.pdp__shadow { bottom: 3.5svh; }
	.pdp__bottle { height: 56svh; width: 86%; }
	.pdp__info { padding: 10px var(--gutter) 50px; }
	.pdp__crumbs { display: none; }
	.pdp__sticky b { display: none; }
	.verdict__bottle { height: 46vh; }
	.form { grid-template-columns: 1fr; }
	.dayclock__lbl { display: none; }
}
@media (max-width: 520px) {
	.picks .grid, .grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.card__body { padding: 2px 12px 14px; }
	.card__name { font-size: 1.08rem; }
	.card__add { width: 38px; height: 38px; }
	.card__medal { width: 28px; height: 28px; top: 10px; left: 10px; }
	.card__flag { top: 10px; right: 10px; }
	.stores { grid-template-columns: 1fr; }
	.visit__grid { grid-template-columns: 1fr; }
	.exp { grid-template-columns: 1fr; }
	.exp button { min-height: 0; }
	.serve { grid-template-columns: 1fr 1fr; }
	.serve > div:last-child { grid-column: 1 / -1; }
	.buy__opts { grid-template-columns: 1fr; }
	.fpanel.is-open { grid-template-columns: 1fr; }
	.spec { grid-template-columns: 1fr; }
	.hero__cta .btn { padding: 0 1.1em; font-size: .88rem; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.manifest__txt .w { opacity: 1; }
}
