/* ==========================================================
   Cătinata — sistem de design (v0.6, minimalist Apple)
   Schemă mixtă: capitolele cinematice pe #000, produsele și
   informațiile pe #f5f5f7. O singură familie: Inter.
   ========================================================== */

:root {
	/* fundaluri */
	--black: #000;
	--black-2: #0b0b0c;
	--light: #f5f5f7;
	--white: #fff;
	/* text pe negru */
	--on-dark: #f5f5f7;
	--on-dark-2: #a1a1a6;
	--line-dark: rgba(255, 255, 255, .12);
	/* text pe alb */
	--on-light: #1d1d1f;
	--on-light-2: #6e6e73;
	--line-light: rgba(0, 0, 0, .08);
	/* brand */
	--orange: #f08a1c;
	--orange-deep: #ad5300; /* contrast AA: 4,8:1 pe #f5f5f7, 5,2:1 cu text alb */
	--honey: #ffc46b;
	--accent: var(--orange);
	--grad-dark: linear-gradient(92deg, #ffd08a 0%, #ff9f3d 55%, #f08a1c 100%);
	--grad-light: linear-gradient(92deg, #e07a10 0%, #c25e00 100%);
	/* sticlă */
	--glass-dark: rgba(22, 22, 23, .55);
	--glass-light: rgba(255, 255, 255, .72);
	--blur: saturate(180%) blur(20px);
	/* formă și ritm */
	--sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", system-ui, sans-serif;
	--gutter: clamp(20px, 5vw, 80px);
	--radius: 28px;
	--radius-s: 18px;
	--section: clamp(110px, 16vh, 200px);
	--ease: cubic-bezier(.25, .1, .25, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }

body {
	margin: 0;
	background: var(--black);
	color: var(--on-dark);
	font-family: var(--sans);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.47;
	letter-spacing: -.011em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

img { max-width: 100%; display: block; }
a { color: inherit; }
button { font-family: inherit; }

/* ---------- tipografie ---------- */

.display {
	font-weight: 600;
	font-size: clamp(2.5rem, 6.2vw, 6rem);
	line-height: 1.04;
	letter-spacing: -.035em;
	margin: 0 0 .3em;
	text-wrap: balance;
}
.display-xl { font-size: clamp(3.4rem, 11vw, 10rem); letter-spacing: -.045em; line-height: .95; }
/* accentul din titluri: gradient cald pe negru, portocaliu adânc pe alb */
.display em {
	font-style: normal;
	background: var(--grad-dark);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: transparent;
}
.light .display em, .page-simple .display em { background-image: var(--grad-light); }

.eyebrow {
	font-size: clamp(.95rem, 1.2vw, 1.15rem);
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--honey);
	margin: 0 0 .9rem;
}
.light .eyebrow { color: var(--orange-deep); }

.lead {
	font-size: clamp(1.1rem, 1.6vw, 1.4rem);
	line-height: 1.4;
	font-weight: 500;
	letter-spacing: -.015em;
	color: var(--on-dark-2);
	max-width: 36ch;
	margin: 0;
}
.light .lead { color: var(--on-light-2); }
.center .lead { margin-inline: auto; }
.small { font-size: .82rem; color: var(--on-dark-2); }
.light .small { color: var(--on-light-2); }

/* lizibilitate peste video, fără umbre grele */
.scene .beat .display { text-shadow: 0 2px 30px rgba(0, 0, 0, .45); }
.scene .beat .display em { text-shadow: none; filter: drop-shadow(0 2px 18px rgba(0, 0, 0, .35)); }
.scene .beat .lead { color: #d2d2d7; text-shadow: 0 1px 14px rgba(0, 0, 0, .6); }
.scene.light .beat .display, .scene.light .beat .lead { text-shadow: none; }
.scene.light .beat .display em { filter: none; }
.scene.light .beat .lead { color: var(--on-light-2); }

/* ---------- butoane (pastile) ---------- */

.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4em;
	padding: .9em 1.6em;
	border-radius: 980px;
	border: 0;
	background: var(--orange);
	color: #1d1d1f; /* 6,7:1 pe portocaliu */
	font-size: 1.05rem;
	font-weight: 500;
	letter-spacing: -.01em;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .3s var(--ease), transform .3s var(--ease);
}
.btn:hover { background: #ff9a2e; }
.btn:active { transform: scale(.97); }
.light .btn { background: var(--orange-deep); color: #fff; }
.light .btn:hover { background: #994a00; }
.btn-small { padding: .5em 1.05em; font-size: .82rem; }
.btn-ghost {
	background: rgba(255, 255, 255, .1);
	color: var(--on-dark);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28);
	backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
}
.btn-ghost:hover { background: rgba(255, 255, 255, .18); }
.light .btn-ghost { background: transparent; color: var(--orange-deep); box-shadow: inset 0 0 0 1px var(--orange-deep); backdrop-filter: none; }
.light .btn-ghost:hover { background: rgba(194, 94, 0, .06); }
.cta-row { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 2rem; }
.beat .btn { pointer-events: auto; }

/* ---------- header: bară de sticlă care se adaptează fundalului ---------- */

.site-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: 50;
	height: 52px;
	display: flex;
	align-items: center;
	gap: 2rem;
	padding: 0 var(--gutter);
	background: rgba(0, 0, 0, 0);
	transition: background-color .45s var(--ease), box-shadow .45s var(--ease), color .45s var(--ease);
}
.site-header.scrolled {
	background: rgba(0, 0, 0, .62);
	backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
	box-shadow: inset 0 -1px 0 var(--line-dark);
}
.site-header.on-light {
	background: rgba(245, 245, 247, .72);
	color: var(--on-light);
	box-shadow: inset 0 -1px 0 var(--line-light);
	backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
}
.brand img { height: 24px; width: auto; }
.nav { display: flex; gap: 2rem; margin-left: auto; font-size: .8rem; letter-spacing: -.005em; }
.nav a { text-decoration: none; color: inherit; opacity: .8; transition: opacity .2s; }
.nav a:hover, .nav a[aria-current] { opacity: 1; }
.site-header .btn-small { background: var(--orange); }
.site-header.on-light .btn-small { background: var(--orange-deep); color: #fff; }

@media (max-width: 760px) {
	.nav { display: none; }
	.site-header .btn-small { margin-left: auto; }
}

/* ---------- loader ---------- */

.loader {
	position: fixed; inset: 0; z-index: 100;
	display: grid; place-content: center; gap: 26px;
	background: var(--black);
	transition: opacity .9s var(--ease), visibility .9s;
}
.loader img { width: min(240px, 54vw); opacity: .95; }
.loader-bar { height: 2px; width: min(240px, 54vw); background: rgba(255, 255, 255, .14); overflow: hidden; border-radius: 2px; }
.loader-bar span { display: block; height: 100%; width: 0; background: var(--on-dark); transition: width .3s var(--ease); }
.is-loaded .loader { opacity: 0; visibility: hidden; pointer-events: none; }

/* ---------- scene lipite (sticky) ---------- */

.scene { position: relative; height: var(--len, 300vh); background: var(--black); }
.scene.light { background: var(--light); color: var(--on-light); }
.stage {
	position: sticky; top: 0;
	height: 100vh; height: 100svh;
	overflow: hidden;
}

.media { position: absolute; inset: 0; }
.media .poster, .media canvas {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
}
.media canvas { display: none; }
.media.has-seq canvas { display: block; }
.media.has-seq .poster { display: none; }

/* umbre fine — negru pur, ca la Apple */
.shade { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at center, rgba(0,0,0,.18), rgba(0,0,0,.7)); }
.shade-left { background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.3) 50%, transparent 75%); }
.shade-right { background: linear-gradient(270deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.3) 50%, transparent 75%); }
.shade-bottom { background: linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.3) 42%, transparent 70%); }
.shade-soft { background: radial-gradient(ellipse at center, transparent 0%, rgba(0,0,0,.2) 55%, rgba(0,0,0,.55) 100%); }

.beat { position: absolute; opacity: 0; visibility: hidden; will-change: opacity, transform; }
.beat.center {
	inset: 0;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	text-align: center;
	padding: 0 var(--gutter);
}
.beat.side { left: var(--gutter); top: 50%; translate: 0 -50%; max-width: 680px; }
.beat.side.right { left: auto; right: var(--gutter); text-align: right; }
.beat.side.right .lead { margin-left: auto; }
.beat.bottom { left: var(--gutter); right: var(--gutter); bottom: 10vh; max-width: 820px; }
.beat.bottom.right { left: auto; text-align: right; }
.beat.bottom.right .lead { margin-left: auto; }
.no-js .beat { opacity: 1; visibility: visible; position: relative; }

/* straturi media suprapuse (crossfade între clipuri) */
.layer { position: absolute; inset: 0; opacity: 0; visibility: hidden; will-change: opacity; }
.layer .poster, .layer > video, .media video {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
	will-change: transform;
}
.layer .media { position: absolute; inset: 0; }

/* etichetă de capitol: pastilă de sticlă */
.chapter {
	display: inline-flex; align-items: center; gap: .6em;
	margin: 0 0 1.4rem;
	padding: .42em 1em .42em .5em;
	border-radius: 980px;
	background: var(--glass-dark);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
	backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
	font-size: .85rem; font-weight: 500; color: var(--on-dark);
}
.chapter b {
	display: grid; place-items: center;
	min-width: 1.9em; height: 1.9em; padding: 0 .45em;
	border-radius: 980px;
	background: var(--orange); color: #fff;
	font-size: .78rem; font-weight: 600; letter-spacing: 0;
}

/* titlul capitolului: masiv, apoi „explodează” spre cameră */
.scene-title .stage { background: var(--black); }
.title-mask {
	position: absolute; inset: 0; z-index: 2;
	display: grid; place-items: center; text-align: center;
	padding: 0 var(--gutter);
	background: var(--black); color: var(--on-dark);
	font-weight: 600; font-size: clamp(3.6rem, 12vw, 12rem); line-height: .92; letter-spacing: -.05em;
	will-change: transform, opacity; transform-origin: 50% 55%;
}
.title-mask em { font-style: normal; background: var(--grad-dark); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* paragraf aprins cuvânt cu cuvânt */
.scene-words .stage { display: grid; place-items: center; background: var(--black); text-align: center; padding: 0 var(--gutter); }
.words {
	font-weight: 600; font-size: clamp(1.9rem, 4.2vw, 4rem);
	line-height: 1.12; letter-spacing: -.035em;
	max-width: 20ch; margin: 0 auto;
}
.words span { opacity: .16; transition: opacity .15s linear; }

/* galerie orizontală */
.scene-strip .stage { background: var(--black); display: flex; flex-direction: column; justify-content: center; }
.strip-head { padding: 0 var(--gutter); margin-bottom: 4vh; }
.strip-head .display { font-size: clamp(2.2rem, 4.8vw, 4.6rem); margin: 0; }
.strip-track { display: flex; gap: clamp(14px, 1.6vw, 24px); padding: 0 var(--gutter); will-change: transform; width: max-content; }
.strip-item { margin: 0; width: min(64vw, 1020px); }
.strip-item .frame {
	position: relative; aspect-ratio: 16 / 9; overflow: hidden;
	border-radius: var(--radius); background: var(--black-2);
	box-shadow: inset 0 0 0 1px var(--line-dark);
}
.strip-item .frame video, .strip-item .frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.strip-item figcaption { margin-top: 1.1rem; color: var(--on-dark-2); font-size: 1.05rem; font-weight: 500; max-width: 46ch; letter-spacing: -.012em; }
.strip-item figcaption strong { color: var(--on-dark); font-weight: 600; }
@media (max-width: 760px) { .strip-item { width: 84vw; } .strip-item .frame { aspect-ratio: 4 / 5; } }

/* hero */
.hero-logo { width: min(720px, 82vw); height: auto; margin: 0 auto .5em; } /* doar textul, fără umbră sau fundal */
.scroll-hint {
	position: absolute; bottom: 30px; left: 50%; translate: -50% 0;
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	font-size: .72rem; font-weight: 500; letter-spacing: .02em; color: var(--on-dark-2);
}
.scroll-hint span { width: 1px; height: 42px; background: linear-gradient(var(--on-dark), transparent); animation: drip 2s ease-in-out infinite; transform-origin: top; }
@keyframes drip { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }

/* cifrele livezii: carduri de sticlă */
.stats {
	position: absolute; inset: auto var(--gutter) 9vh;
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.stat {
	position: relative;
	padding: 1.6rem 1.7rem 1.5rem;
	border-radius: var(--radius);
	background: var(--glass-dark);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
	backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
}
.stat .num { display: block; font-weight: 600; font-size: clamp(2.6rem, 5.4vw, 5.2rem); line-height: 1; letter-spacing: -.045em; color: var(--on-dark); font-variant-numeric: tabular-nums; margin-bottom: .5rem; }
.stat .label { color: var(--on-dark-2); font-size: .95rem; font-weight: 500; }
@media (max-width: 760px) { .stats { grid-template-columns: 1fr; gap: 10px; bottom: 6vh; } .stat { padding: 1rem 1.2rem; } .stat .num { font-size: 2.4rem; margin-bottom: .2rem; } }

/* amestec: lista „Fără…” */
.nos {
	list-style: none; padding: 0; margin: 0 0 1.6rem;
	display: grid; grid-template-columns: repeat(2, auto); gap: .1em 2.2em;
	font-weight: 600; font-size: clamp(2.2rem, 5.4vw, 5rem); line-height: 1.08; letter-spacing: -.04em;
}
.nos span { background: var(--grad-dark); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.scene-amestec .beat.center .nos {
	padding: clamp(22px, 3vw, 40px) clamp(28px, 4vw, 56px);
	border-radius: var(--radius);
	background: rgba(0, 0, 0, .5);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
	backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
	text-shadow: none;
}
@media (max-width: 560px) { .nos { grid-template-columns: 1fr; } }

.glow { position: absolute; width: 60vmin; height: 60vmin; border-radius: 50%; background: var(--orange); filter: blur(120px); opacity: 0; pointer-events: none; }

/* ---------- sortimente: scene luminoase ---------- */

.scene-produs { --accent: var(--pc); }
.scene-produs .stage { background: var(--light); } /* doar sticla pe fundal curat */
.scene-produs .glow { display: none; }
.scene-produs .glow { left: 50%; top: 50%; translate: -50% -50%; background: var(--pc); filter: blur(140px); }
.pb-wrap {
	position: absolute; left: 0; right: 0; top: 12vh; margin: 0 auto;
	height: 76vh; width: calc(76vh * 806 / 1400);
	will-change: transform;
}
.pb {
	position: absolute; bottom: 0; left: 50%; translate: -50% 0;
	height: 100%; width: auto; max-width: none;
}
.pb-fata { opacity: 0; }
.produs-text { right: var(--gutter); top: 50%; translate: 0 -50%; width: min(520px, 40vw); }
.produs-text .display { font-size: clamp(2.4rem, 4.4vw, 4.4rem); color: var(--on-light); }
.produs-text .eyebrow { color: color-mix(in srgb, var(--pc) 72%, #000); }
.produs-text .lead { color: var(--on-light-2); }

/* compoziția: card de sticlă luminos */
.mix {
	list-style: none; margin: 1.8rem 0 0; padding: 1.2rem 1.4rem;
	display: grid; gap: 1rem; max-width: 480px;
	border-radius: var(--radius-s);
	background: var(--glass-light);
	box-shadow: inset 0 0 0 1px var(--line-light), 0 20px 40px -24px rgba(0, 0, 0, .18);
	backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
}
.mix li { display: grid; grid-template-columns: 1fr auto; gap: .45rem 1rem; font-size: .95rem; font-weight: 500; color: var(--on-light); }
.mix-val { font-weight: 600; font-size: 1.25rem; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.bar { grid-column: 1 / -1; height: 4px; background: rgba(0, 0, 0, .08); border-radius: 4px; overflow: hidden; }
.bar span { display: block; height: 100%; width: 0; border-radius: 4px; background: var(--pc, var(--accent)); }
.produs-note {
	margin: 1.4rem 0 0; padding: 0;
	font-size: 1.12rem; font-weight: 500; line-height: 1.45; letter-spacing: -.015em;
	color: var(--on-light);
}
.produs-note::before { content: ""; display: block; width: 32px; height: 3px; border-radius: 3px; background: var(--pc); margin-bottom: .8rem; }
@media (max-width: 860px) {
	.pb-wrap { top: 11vh; height: 40vh; width: calc(40vh * 806 / 1400); }
	.produs-text { left: var(--gutter); right: var(--gutter); top: auto; bottom: 4vh; translate: none; width: auto; }
	.produs-text .display { font-size: 2.1rem; margin-bottom: .15em; }
	.produs-text .lead { font-size: 1rem; }
	.mix { margin-top: .9rem; gap: .6rem; padding: .9rem 1rem; }
	.produs-note { font-size: .95rem; margin-top: .8rem; }
	.produs-note::before { display: none; }
}
@media (min-width: 861px) { .scene-produs .glow { left: calc(50% - 16vw); } }
.final-bottles picture, .pb-wrap picture { display: contents; }

/* ---------- secțiuni luminoase: bento ---------- */

.block { padding: var(--section) 0; }
.block.light { background: var(--light); color: var(--on-light); }
.wrap { width: min(1180px, 100% - 2 * var(--gutter)); margin: 0 auto; }

.section-head { max-width: 900px; margin: 0 0 clamp(40px, 6vh, 72px); }
.section-head .display { color: var(--on-light); }
.section-head .lead { margin-top: .6rem; }

.bento { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; margin: 0; }
.card {
	position: relative; overflow: hidden;
	min-height: 260px;
	padding: clamp(28px, 3vw, 44px);
	border-radius: var(--radius);
	background: var(--white);
	color: var(--on-light);
	display: flex; flex-direction: column; justify-content: flex-end;
	transition: transform .5s var(--ease), box-shadow .5s var(--ease);
}
.card:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .25); }
.card h3 { font-size: clamp(1.5rem, 2.3vw, 2.2rem); font-weight: 600; line-height: 1.1; letter-spacing: -.03em; margin: 0 0 .6rem; }
.card p { margin: 0; color: var(--on-light-2); font-size: 1.02rem; font-weight: 500; line-height: 1.45; }
.span-2 { grid-column: span 2; }
.span-3 { grid-column: span 3; }
.span-4 { grid-column: span 4; }
.span-6 { grid-column: span 6; }
.card.tall { min-height: 420px; }

/* card cu imagine (rămâne întunecat, ca o fereastră spre livadă) */
.card.image { color: var(--on-dark); background: var(--black); }
.card.image picture, .card.image > img { position: absolute; inset: 0; }
.card.image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.card.image:hover img { transform: scale(1.04); }
.card.image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.25) 50%, transparent 80%); }
.card.image > *:not(picture):not(img) { position: relative; z-index: 1; }
.card.image p { color: #d2d2d7; }
.card .cert-code { margin-top: .9rem; font-size: .8rem; font-weight: 500; color: rgba(255, 255, 255, .62); letter-spacing: 0; }

@media (max-width: 960px) {
	.bento { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.span-2, .span-3 { grid-column: span 1; }
	.span-4, .span-6 { grid-column: span 2; }
	.card { min-height: 200px; }
	.card.tall { min-height: 340px; }
}
@media (max-width: 600px) {
	.bento { grid-template-columns: 1fr; }
	.span-2, .span-3, .span-4, .span-6 { grid-column: auto; }
}

/* mod de consum: cifre mari în carduri */
.fact dt { font-size: .95rem; font-weight: 600; color: var(--orange-deep); margin-bottom: .5rem; }
.fact dd { margin: 0; font-size: clamp(1.7rem, 2.8vw, 2.6rem); font-weight: 600; line-height: 1.08; letter-spacing: -.035em; }
.fact.note { background: color-mix(in srgb, var(--orange) 7%, var(--white)); }
.fact.note dd { font-size: 1.08rem; font-weight: 500; line-height: 1.5; letter-spacing: -.012em; color: var(--on-light); max-width: 70ch; }

/* ---------- final: sticlele urcă în scenă ---------- */

.scene-final .stage { background: var(--light); display: grid; place-items: center; }
.final-inner { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 70px var(--gutter) 0; }
.final-bottles { display: flex; justify-content: center; align-items: flex-end; gap: clamp(6px, 2vw, 30px); margin-bottom: clamp(24px, 5vh, 56px); }
.final-bottles img {
	height: clamp(180px, 38vh, 420px); width: auto;
	will-change: transform, opacity;
}
.final-text { position: relative; }
.final-text .display { color: var(--on-light); margin-bottom: .6em; }
.final-text .small { margin-top: 1.2rem; }

/* ---------- footer luminos, stil Apple ---------- */

.site-footer { background: var(--light); color: var(--on-light-2); padding: 56px 0 40px; font-size: .78rem; line-height: 1.5; }
.footer-inner { width: min(1180px, 100% - 2 * var(--gutter)); margin: 0 auto; }
.footer-logo { width: 190px; height: auto; margin-bottom: 2rem; border-radius: 6px; }
.footer-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; padding: 2rem 0; border-top: 1px solid rgba(0, 0, 0, .1); border-bottom: 1px solid rgba(0, 0, 0, .1); }
.footer-cols h4 { font-size: .8rem; font-weight: 600; color: var(--on-light); margin: 0 0 .7rem; letter-spacing: -.005em; }
.footer-cols p { margin: 0; }
.footer-cols a { text-decoration: none; }
.footer-cols a:hover { text-decoration: underline; color: var(--on-light); }
.bio-cert { margin-top: .8rem !important; color: var(--on-light-2); }
.link-btn { background: none; border: 0; padding: 0; color: inherit; font: inherit; cursor: pointer; }
.link-btn:hover { text-decoration: underline; color: var(--on-light); }
.anpc { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.6rem; }
.anpc-badge {
	display: inline-flex; flex-direction: column; gap: 1px;
	padding: .55rem 1rem; min-width: 200px;
	border-radius: 12px; background: var(--white);
	box-shadow: inset 0 0 0 1px var(--line-light);
	text-decoration: none;
}
.anpc-badge small { font-size: .66rem; color: var(--on-light-2); }
.anpc-badge strong { font-weight: 600; font-size: .88rem; color: var(--on-light); }
.anpc-badge:hover { box-shadow: inset 0 0 0 1px var(--orange-deep); }
.legal { margin: 1.6rem 0 0; color: var(--on-light-2); }
@media (max-width: 960px) { .footer-cols { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .footer-cols { grid-template-columns: 1fr; gap: 1.4rem; } }

.cert-note { margin-top: 2.4rem; font-size: .85rem; font-weight: 500; color: var(--on-dark-2); }

/* ---------- pagini simple (legale), pe alb ---------- */

body.page-light { background: var(--white); color: var(--on-light); }
.page-simple { padding: 140px var(--gutter) 110px; max-width: 760px; margin: 0 auto; line-height: 1.6; }
.page-simple h1 { font-weight: 600; font-size: clamp(2.6rem, 5.6vw, 4.2rem); line-height: 1.04; letter-spacing: -.04em; margin: 0 0 1.4rem; }
.page-simple h2 { font-weight: 600; font-size: 1.5rem; letter-spacing: -.025em; margin: 2.8rem 0 .7rem; color: var(--on-light); }
.page-simple p, .page-simple li { color: #424245; }
.page-simple a { color: var(--orange-deep); }
.page-simple ul { padding-left: 1.2rem; }
.page-simple li { margin-bottom: .5rem; }
.legal-meta { font-size: .9rem; font-weight: 600; color: var(--orange-deep) !important; }
.cookie-table { width: 100%; border-collapse: collapse; margin: 1.2rem 0; font-size: .9rem; }
.cookie-table th, .cookie-table td { text-align: left; padding: .75rem .6rem; border-bottom: 1px solid var(--line-light); color: #424245; vertical-align: top; }
.cookie-table th { color: var(--on-light); font-weight: 600; }
@media (max-width: 640px) { .cookie-table { display: block; overflow-x: auto; } }

/* ---------- banner cookie-uri: sticlă luminoasă ---------- */

.cc[hidden], .cc [hidden] { display: none !important; } /* butoanele și setările au display propriu */
.cc { position: fixed; inset: auto 0 0 0; z-index: 120; padding: 16px; display: flex; justify-content: center; pointer-events: none; }
.cc-box {
	pointer-events: auto; width: min(720px, 100%);
	padding: 24px 26px;
	border-radius: var(--radius);
	background: var(--glass-light);
	color: var(--on-light);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06), 0 30px 80px -20px rgba(0, 0, 0, .45);
	backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
	transform: translateY(24px); opacity: 0; transition: transform .45s var(--ease), opacity .45s var(--ease);
	max-height: calc(100svh - 32px); overflow-y: auto;
}
.cc.is-open .cc-box { transform: none; opacity: 1; }
.cc h2 { font-weight: 600; font-size: 1.3rem; letter-spacing: -.025em; margin: 0 0 .5rem; }
.cc p { margin: 0; color: #424245; font-size: .92rem; line-height: 1.5; }
.cc p a { color: var(--orange-deep); }
.cc-prefs { margin-top: 1rem; display: grid; gap: .6rem; }
.cc-row { display: flex; gap: .8rem; align-items: flex-start; padding: .85rem; border-radius: 14px; background: rgba(255, 255, 255, .7); box-shadow: inset 0 0 0 1px var(--line-light); font-size: .88rem; color: var(--on-light-2); cursor: pointer; }
.cc-row strong { display: block; color: var(--on-light); font-weight: 600; margin-bottom: .15rem; }
.cc-row input { margin-top: .2rem; width: 18px; height: 18px; accent-color: var(--orange-deep); flex: none; }
.cc-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-top: 1.2rem; }
.cc-actions .btn { background: var(--orange-deep); color: #fff; }
.cc-actions .btn:hover { background: #994a00; }
.cc-actions .btn-ghost { background: transparent; color: var(--orange-deep); box-shadow: inset 0 0 0 1px var(--orange-deep); backdrop-filter: none; }
.cc-actions .cc-secondary { background: var(--on-light); color: #fff; }
.cc-actions .cc-secondary:hover { background: #333336; }
@media (max-width: 560px) {
	.cc { padding: 10px; }
	.cc-box { padding: 18px; }
	.cc-actions .btn { flex: 1 1 calc(50% - 10px); }
}

/* ---------- apariții la scroll (pornite din JS; fără JS rămân vizibile) ---------- */

.js-reveal .reveal, .js-reveal .reveal-card { opacity: 0; }

/* ---------- mișcare redusă ---------- */

@media (prefers-reduced-motion: reduce) {
	.scene { height: auto; }
	.stage { position: relative; height: auto; min-height: 100vh; }
	.beat { position: relative !important; opacity: 1 !important; visibility: visible !important; translate: none !important; inset: auto !important; padding: 12vh var(--gutter); }
	.layer { opacity: 1; visibility: visible; }
	.title-mask { display: none; }
	.pb-fata { opacity: 1; }
	.pb-34 { display: none; }
	.bar span { width: var(--w) !important; }
	.js-reveal .reveal, .js-reveal .reveal-card { opacity: 1; }
	.card, .card.image img, .btn { transition: none; }
}
.fact.note, .fact { min-height: 0; }
.bento .fact { min-height: 200px; }
.bento .fact.note { min-height: 0; }

/* mobil: carduri mai compacte, sticlele finale încap pe ecran */
@media (max-width: 600px) {
	.card, .bento .fact { min-height: 0; }
	.card.tall, .card.image { min-height: 300px; }
	.card { padding: 26px; }
	.final-bottles { gap: 4px; }
	.final-bottles img { height: 24vh; }
}

/* notă de ecoturism: pastilă discretă de sticlă */
.eco-note {
	display: inline-block; margin: 1.2rem 0 0; padding: .55em 1em;
	border-radius: 14px; max-width: 46ch;
	background: var(--glass-dark); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
	backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
	font-size: .85rem; font-weight: 500; line-height: 1.4; color: #d2d2d7;
}

/* finalul clipului cu zimbri: fade spre negru, legat de scroll */
.fade-black { position: absolute; inset: 0; background: #000; opacity: 0; pointer-events: none; z-index: 3; }

.hero-title { margin: 0; font-size: inherit; line-height: 0; }
.page-404 { min-height: 70vh; display: flex; flex-direction: column; justify-content: center; }
.page-404 .eyebrow { color: var(--orange-deep); }
.cta-left { justify-content: flex-start; }
body.page-light .btn-ghost { background: transparent; color: var(--orange-deep); box-shadow: inset 0 0 0 1px var(--orange-deep); backdrop-filter: none; }
body.page-light .btn { background: var(--orange-deep); color: #fff; }

/* ---------- accesibilitate: focus vizibil și „sari la conținut” ---------- */
:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; border-radius: 6px; }
.light :focus-visible, .page-light :focus-visible, .site-footer :focus-visible, .cc :focus-visible { outline-color: var(--orange-deep); }
.skip-link {
	position: fixed; left: 16px; top: -60px; z-index: 200;
	padding: .7em 1.2em; border-radius: 980px;
	background: var(--white); color: var(--on-light); font-weight: 600; text-decoration: none;
	transition: top .2s var(--ease);
}
.skip-link:focus { top: 12px; }

.nowrap { white-space: nowrap; }

/* iconițe în cardurile „Mod de consum” */
.fact .icon { width: 34px; height: 34px; color: var(--orange-deep); margin-bottom: auto; padding-bottom: 1.2rem; box-sizing: content-box; }
.fact { justify-content: flex-start; }
.fact dt { margin-top: auto; }
.fact.note .icon { margin-bottom: .9rem; padding-bottom: 0; }
.fact.note dt { margin-top: 0; }
.pack dd { display: grid; gap: .45rem; font-size: clamp(1.05rem, 1.45vw, 1.3rem); letter-spacing: -.02em; }
.pack-row { display: grid; grid-template-columns: 3.3em 1fr; align-items: baseline; }
.pack-row b { font-weight: 600; color: var(--orange-deep); }
