/*
 * LAHI — toate stilurile site-ului.
 * Sursa: brand/brand-bible-editia-II.html (culori, tipografie, identitate digitala).
 * Fonturile sunt gazduite local (assets/fonts, doar latin + latin-ext pentru diacritice).
 * Brand bible Ediția III: trei familii — Cinzel (titluri), Jost (etichete, cifre cu unitati, preturi), Crimson Pro (text si citate italic).
 */

/* ---------- fonturi ---------- */

@font-face {
	font-family: 'Cinzel';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(fonts/cinzel-normal-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Cinzel';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(fonts/cinzel-normal-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Crimson Pro';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url(fonts/crimson-pro-italic-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Crimson Pro';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url(fonts/crimson-pro-italic-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Crimson Pro';
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url(fonts/crimson-pro-normal-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Crimson Pro';
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url(fonts/crimson-pro-normal-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Jost';
	font-style: normal;
	font-weight: 400 500;
	font-display: swap;
	src: url(fonts/jost-normal-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Jost';
	font-style: normal;
	font-weight: 400 500;
	font-display: swap;
	src: url(fonts/jost-normal-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--lahi-red:        #6E1A1C;
	--lahi-red-deep:   #4B090B;
	--lahi-red-bright: #8E302E;
	--lahi-gold:       #C79A64;
	--lahi-gold-hi:    #DEAC77;
	--lahi-gold-lo:    #AD7A4E;
	--lahi-coal:       #0B0A08;
	--lahi-cream:      #F3E9DC;
	--lahi-cream-soft: #EADCCA;
	--lahi-brown:      #5A3A28;

	--font-display: "Cinzel", "Times New Roman", serif;
	--font-label:   "Jost", "Helvetica Neue", Arial, sans-serif;
	--font-text:    "Crimson Pro", Georgia, serif;
	--font-accent:  "Crimson Pro", Georgia, serif; /* Ediția III: citatele in Crimson Pro italic */

	--lahi-line-gold: 1px solid rgba(199, 154, 100, .35);
	--lahi-gutter: 24px;
	/* colturi usor rotunjite (decizie 9 oct. 2026: forme rotunde, ca ceasca si boaba) */
	--lahi-r-sm: 6px;   /* butoane, campuri, filtre */
	--lahi-r:    12px;  /* carduri, casete, mesaje */
	--lahi-r-lg: 20px;  /* panouri mari, ferestre */
	--lahi-seal: linear-gradient(160deg, var(--lahi-gold-hi), var(--lahi-gold) 45%, var(--lahi-gold-lo));
}

/* ---------- baza ---------- */

*, *::before, *::after {
	box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
}
/* Zona de sub ceas/camera (iPhone, inainte de derulare) si capetele la tragere au culoarea fundalului paginii, pe care
   Safari o calculeaza din <html> si <body> PUSE UNUL PESTE ALTUL — body crem opac acoperea orice culoare pe <html>.
   Deci body = rosul benzii de sus si al capatului footer-ului, iar crema sta pe <main>. Doar paginile cu banda
   (nu fereastra de comanda din iframe). Pagina de produs cu fotografia mare are culoarea ei (lahi-shop.css). */
body.lahi-site {
	background: var(--lahi-red-deep);
}
body.lahi-site > .lahi-main {
	background: var(--lahi-cream);
}
body {
	margin: 0;
	background: var(--lahi-cream);
	color: var(--lahi-coal);
	font-family: var(--font-text);
	font-size: 18px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
img, svg, video {
	max-width: 100%;
	height: auto;
}
img {
	display: block;
}
::selection {
	background: var(--lahi-red);
	color: var(--lahi-cream);
}
a {
	color: var(--lahi-red);
}
a:hover,
a:focus {
	color: var(--lahi-red-bright);
}
:focus-visible {
	outline: 2px solid var(--lahi-gold);
	outline-offset: 2px;
}
p {
	margin: 0 0 1em;
}
h1, h2, h3, h4 {
	font-family: var(--font-display);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .12em;
	line-height: 1.25;
	color: var(--lahi-coal);
	margin: 0 0 .6em;
}
h1 { font-size: clamp(28px, 3.6vw, 40px); }
h2 { font-size: clamp(24px, 2.8vw, 30px); }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
h5, h6 {
	font-family: var(--font-label);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .24em;
	font-size: 13px;
	margin: 0 0 .8em;
}
blockquote {
	font-family: var(--font-accent);
	font-style: italic;
	margin: 0;
}
button,
input,
select,
textarea {
	font: inherit;
	border-radius: 0;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="search"], input[type="number"], input[type="url"], select, textarea {
	background: #fff;
	border: 1px solid var(--lahi-cream-soft);
	color: var(--lahi-coal);
	padding: 10px 14px;
	font-family: var(--font-label);
	font-size: 16px; /* sub 16px, iPhone mareste pagina la atingere */
	max-width: 100%;
}
input:focus, select:focus, textarea:focus {
	outline: none;
	border-color: var(--lahi-gold);
}
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
.lahi-skip:focus {
	position: fixed !important;
	top: 8px;
	left: 8px;
	width: auto;
	height: auto;
	clip: auto;
	z-index: 100;
	padding: 10px 16px;
	background: var(--lahi-gold);
	color: var(--lahi-coal);
	font-family: var(--font-label);
}
[hidden] {
	display: none !important;
}

.lahi-wrap {
	width: 100%;
	max-width: calc(1240px + 2 * var(--lahi-gutter));
	margin: 0 auto;
	/* telefon tinut orizontal: textul si butoanele raman in afara zonei camerei */
	padding-left: max(var(--lahi-gutter), env(safe-area-inset-left, 0px));
	padding-right: max(var(--lahi-gutter), env(safe-area-inset-right, 0px));
}

/* ---------- butoane si linkuri ---------- */

.lahi-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px 28px;
	margin-top: 32px;
}
.lahi-btn,
.button,
button[type="submit"],
input[type="submit"] {
	display: inline-block;
	font-family: var(--font-label);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1;
	padding: 18px 30px;
	border: 1px solid var(--lahi-red);
	border-radius: 0;
	background: var(--lahi-red);
	color: var(--lahi-cream);
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}
.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	background: var(--lahi-red-deep);
	border-color: var(--lahi-gold);
	color: var(--lahi-cream);
}
.lahi-btn--gold,
button.lahi-btn--gold {
	background: var(--lahi-gold);
	border-color: var(--lahi-gold);
	color: var(--lahi-coal);
}
.lahi-btn--gold:hover,
.lahi-btn--gold:focus-visible,
button.lahi-btn--gold:hover {
	background: var(--lahi-gold-hi);
	border-color: var(--lahi-gold-hi);
	color: var(--lahi-coal);
}
.lahi-btn--outline,
button.lahi-btn--outline {
	background: transparent;
	border-color: var(--lahi-red);
	color: var(--lahi-red);
}
.lahi-btn--outline:hover,
.lahi-btn--outline:focus-visible,
button.lahi-btn--outline:hover {
	background: var(--lahi-red);
	color: var(--lahi-cream);
}
.lahi-link {
	font-family: var(--font-label);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--lahi-red);
	background: none;
	border: 0;
	padding: 4px 0;
	cursor: pointer;
	text-decoration: underline;
	text-decoration-color: var(--lahi-gold);
	text-decoration-thickness: 1px;
	text-underline-offset: 7px;
}
.lahi-link:hover {
	color: var(--lahi-red-bright);
}

.lahi-eyebrow {
	display: block;
	font-family: var(--font-label);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--lahi-red);
	margin-bottom: 16px;
}

/* ---------- logo ---------- */

.lahi-logo {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	color: var(--lahi-gold);
	text-decoration: none;
	line-height: 1;
}
.lahi-logo:hover,
.lahi-logo:focus {
	color: var(--lahi-gold-hi);
}
.lahi-logo__mark {
	display: block;
	width: 118px;
	height: auto;
}
.lahi-logo__sub {
	display: block;
	font-family: var(--font-label);
	font-size: 8.5px;
	font-weight: 400;
	letter-spacing: .42em;
	margin-right: -.42em;
	text-transform: uppercase;
	white-space: nowrap;
}
/* linie — boaba — linie, ca sub „Premium Coffee” pe punga */
.lahi-logo__rule {
	display: flex;
	align-items: center;
	gap: 6px;
}
.lahi-logo__rule::before,
.lahi-logo__rule::after {
	content: "";
	width: 34px;
	height: 1px;
	background: currentColor;
	opacity: .75;
}
.lahi-logo__rule svg {
	display: block;
}
.lahi-logo--left {
	align-items: flex-start;
}
.lahi-logo--left .lahi-logo__rule::before {
	display: none;
}
.lahi-seal {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 52px;
	background: var(--lahi-seal);
}
.lahi-seal svg {
	width: 16px;
}

/* ---------- header ---------- */

.lahi-topbar {
	background: var(--lahi-red-deep);
	padding: calc(9px + env(safe-area-inset-top, 0px)) 16px 9px; /* sub camera / bara de stare */
	font-family: var(--font-label);
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--lahi-cream);
	text-align: center;
	line-height: 1.5;
}
.lahi-topbar p {
	margin: 0;
}
.lahi-topbar em {
	font-style: normal;
	color: var(--lahi-gold);
}

/*
 * Header-ul derulează odată cu pagina (nimic lipit de marginea de sus: pe iPhone zona de sub URL și cameră
 * rămâne transparentă). După ce iese din ecran, de sus coboară capsula .lahi-float (aceeași bară, plutitoare).
 */
.lahi-header {
	position: relative;
	z-index: 40;
	height: 96px;
}
.lahi-header__bar {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	padding: 0 40px;
	background: var(--lahi-red);
}

/* capsula: aceeasi bara ca header-ul, plutitoare, coboara de sus dupa derulare (html.lahi-scrolled, din lahi.js).
   Nu atinge marginea de sus — pe iPhone zona de sub URL si camera ramane transparenta. */
.lahi-float {
	position: fixed;
	z-index: 45;
	top: calc(env(safe-area-inset-top, 0px) + 10px);
	left: calc(16px + env(safe-area-inset-left, 0px));
	right: calc(16px + env(safe-area-inset-right, 0px));
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: 64px;
	padding: 0 20px;
	border: 1px solid rgba(199, 154, 100, .4);
	border-radius: var(--lahi-r-lg);
	/* fundal: textura cutiei LAHI (decupaj din fotografia ambalajelor, oglindit ca sa se repete fara cusatura) */
	background: var(--lahi-red) url(img/ambalaj.webp?v=2) center / auto 100% repeat-x;
	box-shadow: 0 14px 36px rgba(75, 9, 11, .22), 0 2px 6px rgba(75, 9, 11, .1);
	color: var(--lahi-cream);
	opacity: 0;
	visibility: hidden;
	transform: translateY(calc(-100% - 24px));
	transition: transform .4s cubic-bezier(.2, .8, .2, 1), opacity .25s ease, visibility 0s linear .4s;
}
/* iPhone in Safari: la 60px. Mai sus intra in zona ceasului, iar Safari o umple opac cu culoarea ei
   (testat: 30/44/52 opac, 60 transparent). Ca aplicatie pe ecranul principal ramane valoarea de mai sus. */
.lahi-ios .lahi-float {
	top: 60px;
}
.lahi-scrolled .lahi-float {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: transform .4s cubic-bezier(.2, .8, .2, 1), opacity .25s ease;
}
.lahi-float__side {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}
.lahi-float__side--end {
	justify-content: flex-end;
}
.lahi-float__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	color: var(--lahi-cream);
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
.lahi-float__btn:hover,
.lahi-float__btn:focus-visible {
	background: rgba(243, 233, 220, .1);
	color: var(--lahi-gold);
}
.lahi-float__burger {
	display: none;
}
.lahi-float__logo {
	display: flex;
	color: var(--lahi-gold);
}
.lahi-float__logo:hover {
	color: var(--lahi-gold-hi);
}
.lahi-float__logo .lahi-logo__mark {
	width: 92px;
}
.lahi-float__list {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}
.lahi-float__list a {
	display: block;
	padding: 10px 12px;
	border-radius: var(--lahi-r-sm);
	font-family: var(--font-label);
	font-size: 12px;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--lahi-cream);
	transition: background-color .2s, color .2s;
}
.lahi-float__list a:hover,
.lahi-float__list .current-menu-item > a {
	background: rgba(243, 233, 220, .07);
	color: var(--lahi-gold);
}
.lahi-float .lahi-cart__count {
	top: 2px;
	right: 0;
}
@media (max-width: 991px) {
	.lahi-float {
		left: calc(10px + env(safe-area-inset-left, 0px));
		right: calc(10px + env(safe-area-inset-right, 0px));
		height: 56px;
		padding: 0 8px;
	}
	.lahi-float__burger {
		display: inline-flex;
	}
	.lahi-float__nav,
	.lahi-float__account {
		display: none;
	}
	.lahi-float__logo .lahi-logo__mark {
		width: 78px;
	}
}
@media (max-width: 991px) {
	/* pe telefon nu avem capsula: navigarea e in bara de jos */
	.lahi-float {
		display: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	.lahi-float {
		transform: none;
	}
}
.lahi-header__side {
	display: flex;
	align-items: center;
	min-width: 0;
}
.lahi-header__side--end {
	justify-content: flex-end;
	gap: 22px;
}
.lahi-header__center {
	padding: 0;
}
.lahi-header__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 0;
	background: none;
	border: 0;
	color: var(--lahi-cream);
	cursor: pointer;
	transition: color .2s;
}
.lahi-header__icon:hover,
.lahi-header__icon:focus-visible {
	color: var(--lahi-gold);
}
.lahi-header__side--end .lahi-header__icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	transition: color .2s, background-color .2s;
}
.lahi-header__side--end .lahi-header__icon:hover {
	background: rgba(243, 233, 220, .1);
}
.lahi-header__burger,
.lahi-nav__head,
.lahi-nav__extra {
	display: none;
}
.lahi-cart__count {
	position: absolute;
	top: -5px;
	right: -9px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 8px;
	background: var(--lahi-gold);
	color: var(--lahi-coal);
	font-family: var(--font-label);
	font-size: 9px;
	font-weight: 500;
	line-height: 16px;
	text-align: center;
}

.lahi-nav__list {
	display: flex;
	list-style: none;
	margin: 0 0 0 -9.5px;
	padding: 0;
}
.lahi-nav__list a {
	position: relative;
	display: block;
	padding: 10px 12px;
	border-radius: var(--lahi-r-sm);
	font-family: var(--font-label);
	font-size: 12px;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--lahi-cream);
	transition: color .2s;
}
.lahi-nav__list a::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 4px;
	height: 1px;
	background: var(--lahi-gold);
	transform: scaleX(0);
	transition: transform .25s;
}
.lahi-nav__list a:hover,
.lahi-nav__list .current-menu-item > a {
	color: var(--lahi-gold);
	background: rgba(243, 233, 220, .07);
}
.lahi-nav__list a:hover::after,
.lahi-nav__list .current-menu-item > a::after {
	transform: scaleX(1);
}

.lahi-search {
	position: absolute;
	top: calc(100% + 8px);
	border-radius: var(--lahi-r);
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	padding: 18px var(--lahi-gutter);
	background: var(--lahi-cream);
	border-bottom: 1px solid var(--lahi-cream-soft);
	box-shadow: 0 18px 30px rgba(75, 9, 11, .12);
}
.lahi-search input[type="search"] {
	width: 100%;
	max-width: 520px;
	height: 48px;
	border-right: 0;
}
.lahi-search button {
	height: 48px;
	padding: 0 22px;
}

/* ---------- footer ----------
   Sus: newsletter-ul intr-o caseta; la mijloc:
   brandul si linkurile; jos: bara legala. */

.lahi-footer {
	position: relative;
	z-index: 1;
	padding-top: 64px; /* spatiul de sus e in footer, nu marginea casetei (altfel iese din footer) */
	background: var(--lahi-red-deep);
	color: rgba(243, 233, 220, .74);
	font-family: var(--font-label);
	font-size: 14px;
	line-height: 1.9;
}
.lahi-footer a {
	color: rgba(243, 233, 220, .74);
	text-decoration: none;
	transition: color .2s;
}
.lahi-footer a:hover,
.lahi-footer a:focus {
	color: var(--lahi-gold);
}

/* newsletter */
.lahi-footer__news {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: 24px 56px;
	align-items: center;
	margin: 0;
	padding: 36px 40px;
	border: 1px solid rgba(199, 154, 100, .25);
	border-radius: var(--lahi-r-lg);
	background: rgba(243, 233, 220, .05);
}
.lahi-footer__news .lahi-eyebrow {
	margin-bottom: 10px;
	color: var(--lahi-gold);
}
.lahi-footer__news h2 {
	margin: 0 0 8px;
	font-size: clamp(22px, 2.4vw, 30px);
	color: var(--lahi-cream);
}
.lahi-footer__news p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}
.lahi-news__hp {
	position: absolute;
	left: -9999px;
}
.lahi-news__row {
	display: flex;
	padding: 6px;
	border: 1px solid rgba(199, 154, 100, .45);
	border-radius: 14px;
	background: rgba(11, 10, 8, .18);
}
.lahi-footer .lahi-news input[type="email"] {
	flex: 1 1 0;
	min-width: 0;
	height: 48px;
	padding: 0 14px;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--lahi-cream);
}
.lahi-news input[type="email"]::placeholder {
	color: rgba(243, 233, 220, .5);
}
.lahi-footer .lahi-news button {
	height: 48px;
	padding: 0 22px;
	border-radius: 10px;
	font-size: 11px;
	background: var(--lahi-gold);
	border-color: var(--lahi-gold);
	color: var(--lahi-coal);
}
.lahi-footer .lahi-news button:hover {
	background: var(--lahi-gold-hi);
	border-color: var(--lahi-gold-hi);
	color: var(--lahi-coal);
}
.lahi-news__acord {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-top: 12px;
	font-size: 12px;
	line-height: 1.5;
	cursor: pointer;
}
.lahi-news__acord input {
	accent-color: var(--lahi-gold);
	margin: 2px 0 0;
}
.lahi-footer .lahi-news__acord a {
	text-decoration: underline;
	text-underline-offset: 2px;
}
.lahi-news__msg {
	margin: 12px 0 0;
	padding: 8px 12px;
	border: 1px solid var(--lahi-gold);
	border-radius: var(--lahi-r-sm);
	font-size: 13px;
	color: var(--lahi-cream);
}

/* brandul si linkurile */
.lahi-footer__main {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
	gap: 40px 48px;
	padding: 64px 0 24px;
}
.lahi-fcol {
	min-width: 0;
}
.lahi-fcol--brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}
.lahi-footer__title {
	font-family: var(--font-label);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .3em;
	line-height: 1.6;
	color: var(--lahi-gold);
	margin: 0 0 16px;
}
.lahi-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.lahi-footer li a {
	display: inline-block;
	padding: 2px 0;
}
.lahi-footer .lahi-logo__mark {
	width: 132px;
}
.lahi-footer__tagline {
	margin: 0;
	max-width: 300px;
	font-family: var(--font-accent);
	font-style: italic;
	font-size: 21px;
	line-height: 1.35;
	color: var(--lahi-cream);
}
.lahi-footer__social {
	display: flex;
	gap: 10px;
}
.lahi-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(199, 154, 100, .35);
	border-radius: 50%;
	color: var(--lahi-cream);
	transition: background-color .2s, color .2s, border-color .2s;
}
.lahi-footer__social a:hover {
	background: var(--lahi-gold);
	border-color: var(--lahi-gold);
	color: var(--lahi-coal);
}

@media (max-width: 991px) and (min-width: 768px) {
	.lahi-footer__main {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.lahi-fcol--brand {
		grid-column: 1 / -1;
	}
	.lahi-footer__news {
		grid-template-columns: 1fr;
	}
}

/* bara legala */
.lahi-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 28px;
	margin-top: 40px;
	padding: 22px 0 26px;
	border-top: 1px solid rgba(199, 154, 100, .25);
	font-size: 12px;
	letter-spacing: .04em;
}
.lahi-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.lahi-footer__legal a,
.lahi-footer__cc {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid rgba(199, 154, 100, .35);
	border-radius: 999px;
	font-size: 10px;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1.4;
}
.lahi-footer__cc {
	background: none;
	color: inherit;
	font-family: inherit;
	cursor: pointer;
}

/* ---------- acordul pentru cookie-uri (inc/analytics.php; il arata lahi.js) ----------
   Jos, deasupra barei; fara umbra pe telefon (s-ar vedea spre bara Safari, vezi iphone-transparenta.md). */
.lahi-cc {
	position: fixed;
	z-index: 60;
	left: calc(16px + env(safe-area-inset-left, 0px));
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	width: min(420px, calc(100% - 32px));
	padding: 22px 22px 18px;
	background: var(--lahi-cream);
	border: 1px solid var(--lahi-gold);
	border-radius: var(--lahi-r-lg);
	color: var(--lahi-coal);
	box-shadow: 0 24px 60px rgba(11, 10, 8, .22);
}
.lahi-cc[hidden] {
	display: none;
}
.lahi-has-bar .lahi-cc {
	bottom: calc(96px + env(safe-area-inset-bottom, 0px));
}
.lahi-cc__title {
	margin: 0 0 6px;
	font-family: var(--font-display);
	font-size: 17px;
	letter-spacing: .06em;
}
.lahi-cc__text {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.5;
}
.lahi-cc__text a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.lahi-cc__opts {
	display: grid;
	gap: 10px;
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.4;
}
.lahi-cc__opts[hidden] {
	display: none;
}
.lahi-cc__opts label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	cursor: pointer;
}
.lahi-cc__opts input {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: var(--lahi-red);
}
.lahi-cc__opts strong {
	display: block;
	font-family: var(--font-label);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.lahi-cc__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
}
.lahi-cc .lahi-cc__actions .lahi-btn {
	padding: 14px 18px;
	letter-spacing: .16em;
}
.lahi-cc__pick {
	padding: 6px 0;
	background: none;
	border: 0;
	color: var(--lahi-coal);
	font-family: var(--font-label);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 4px;
	cursor: pointer;
}
@media (max-width: 991px) {
	.lahi-cc {
		left: calc(12px + env(safe-area-inset-left, 0px));
		right: calc(12px + env(safe-area-inset-right, 0px));
		width: auto;
		padding: 18px 18px 14px;
		box-shadow: none;
	}
}

/* ---------- sectiunile paginilor ---------- */

.lahi-sec {
	padding: 104px 0;
}

.lahi-intro {
	max-width: 640px;
	margin: 0 0 48px;
}
.lahi-intro h2 {
	font-size: clamp(26px, 3.2vw, 36px);
	line-height: 1.2;
	margin: 0 0 12px;
}
.lahi-intro__lead {
	font-family: var(--font-accent);
	font-style: italic;
	font-size: 22px;
	line-height: 1.4;
	color: var(--lahi-brown);
	margin: 0;
}

/* hero */
.lahi-hero {
	background: var(--lahi-red);
	padding: 88px 0 96px;
}
.lahi-hero__grid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 56px;
}
.lahi-hero__text {
	flex: 1 1 400px;
}
.lahi-hero__figure {
	flex: 1.25 1 440px;
	margin: 0;
	position: relative;
}
.lahi-hero .lahi-eyebrow,
.lahi-band .lahi-eyebrow,
.lahi-name .lahi-eyebrow {
	color: var(--lahi-gold);
}
.lahi-hero h1 {
	font-size: clamp(32px, 4.4vw, 54px);
	line-height: 1.12;
	letter-spacing: .1em;
	color: var(--lahi-cream);
	margin: 0;
}
.lahi-hero__h1-big,
.lahi-hero__h1-small {
	display: block;
}
/* „MOȘTENIRE,” mare, cu majuscule (Cinzel); restul pe randul urmator, mai mic */
.lahi-hero__h1-big {
	font-size: clamp(40px, 5.2vw, 76px);
	line-height: 1.05;
	letter-spacing: .08em;
}
.lahi-hero__h1-small {
	margin-top: 10px;
	font-size: clamp(22px, 2.5vw, 34px);
	line-height: 1.2;
	letter-spacing: .12em;
}
.lahi-hero__aside {
	font-family: var(--font-accent);
	font-style: italic;
	font-size: clamp(26px, 2.6vw, 34px);
	line-height: 1.2;
	color: var(--lahi-gold);
	margin: 20px 0 26px;
}
.lahi-hero__body {
	font-size: 19px;
	line-height: 1.6;
	color: rgba(243, 233, 220, .86);
	max-width: 460px;
	margin: 0;
}
.lahi-hero .lahi-link {
	color: var(--lahi-cream);
}
.lahi-hero .lahi-link:hover {
	color: var(--lahi-gold);
}
.lahi-hero__figure::after {
	content: "";
	position: absolute;
	inset: 14px -14px -14px 14px;
	border: var(--lahi-line-gold);
	pointer-events: none;
}
.lahi-hero__figure img {
	position: relative;
	z-index: 1;
	width: 100%;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
}

/* cele trei formate */
.lahi-formats__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
.lahi-format {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 380px;
	padding: 76px 32px 32px;
	background: var(--lahi-red);
	color: var(--lahi-cream);
	text-decoration: none;
	border: 1px solid transparent;
	transition: border-color .25s, transform .25s, background-color .25s;
}
.lahi-format:hover,
.lahi-format:focus-visible {
	color: var(--lahi-cream);
	border-color: var(--lahi-gold);
	background: var(--lahi-red-deep);
	transform: translateY(-4px);
}
.lahi-format__seal {
	position: absolute;
	top: 0;
	left: 32px;
	width: 26px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--lahi-seal);
}
.lahi-format__size {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 46px;
	line-height: 1;
	letter-spacing: .08em;
	color: var(--lahi-gold);
}
.lahi-format__name {
	font-family: var(--font-label);
	font-size: 12px;
	letter-spacing: .3em;
	text-transform: uppercase;
	margin: 14px 0 22px;
}
.lahi-format__line {
	font-family: var(--font-accent);
	font-style: italic;
	font-size: 22px;
	line-height: 1.35;
	flex: 1;
}
.lahi-format__meta {
	font-family: var(--font-label);
	font-size: 12px;
	letter-spacing: .08em;
	color: rgba(243, 233, 220, .7);
	margin: 26px 0 18px;
	padding-top: 18px;
	border-top: var(--lahi-line-gold);
}
.lahi-format__size small {
	margin-left: .08em;
	font-family: var(--font-label);
	font-size: .62em;
	letter-spacing: 0;
}
.lahi-format__cta {
	font-family: var(--font-label);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--lahi-gold);
}
.lahi-format__cta::after {
	content: " \2192";
	letter-spacing: 0;
}

/* servetelul zilei */
.lahi-napkin-sec {
	background: var(--lahi-cream-soft);
}
.lahi-napkin-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: 72px;
	align-items: center;
}
.lahi-napkin-copy h2 {
	font-size: clamp(26px, 3.2vw, 36px);
	margin: 0 0 18px;
}
.lahi-napkin-copy p {
	max-width: 440px;
}
.lahi-napkin-status {
	font-family: var(--font-label);
	font-size: 13px;
	color: var(--lahi-brown);
	min-height: 1.5em;
	margin-top: 14px;
}
.lahi-napkin {
	position: relative;
	margin: 0;
	padding: 64px 56px 56px;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background:
		repeating-linear-gradient(0deg, rgba(90, 58, 40, .025) 0 2px, transparent 2px 6px),
		#FBF7F0;
	box-shadow: 0 2px 0 rgba(90, 58, 40, .06), 0 30px 60px rgba(75, 9, 11, .16);
	transform: rotate(-2deg);
}
.lahi-napkin__seal {
	position: absolute;
	top: 0;
	right: 40px;
	width: 18px;
	height: 28px;
	background: var(--lahi-seal);
}
.lahi-napkin__msg {
	font-size: clamp(26px, 2.8vw, 36px);
	line-height: 1.3;
	color: var(--lahi-coal);
}
.lahi-napkin__cup {
	position: absolute;
	right: 28px;
	bottom: 22px;
	font-family: var(--font-label);
	font-size: 10px;
	letter-spacing: .42em;
	color: var(--lahi-red);
}

/* detaliile serioase */
.lahi-facts__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 48px;
}
.lahi-fact {
	border-top: 1px solid var(--lahi-red);
	padding-top: 28px;
}
.lahi-fact__icon {
	display: block;
	margin-bottom: 18px;
}
.lahi-fact h3 {
	font-size: 18px;
	margin: 0 0 12px;
}
.lahi-fact p {
	margin: 0;
	color: #3A2A20;
}

/* numele */
.lahi-name {
	background: var(--lahi-coal);
	color: rgba(243, 233, 220, .82);
}
.lahi-name__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 72px;
	align-items: center;
}
.lahi-name__lahi {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(72px, 10vw, 136px);
	line-height: 1;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lahi-gold);
	margin: 0;
}
.lahi-name__def {
	font-family: var(--font-accent);
	font-size: 26px;
	color: var(--lahi-cream);
	margin: 18px 0 0;
}
.lahi-name__def em {
	color: var(--lahi-gold);
}
.lahi-name__text p {
	font-size: 19px;
	line-height: 1.65;
}
.lahi-name .lahi-link {
	color: var(--lahi-gold);
}
.lahi-name .lahi-link:hover {
	color: var(--lahi-gold-hi);
}

/* banda finala */
.lahi-band {
	/* crem inchis: intre sectiunea neagra si footerul bordo, fara inca o banda rosie */
	background: var(--lahi-cream-soft);
	padding: 0 0 104px;
	text-align: center;
}
.lahi-band__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.lahi-band__seal {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 56px;
	margin-bottom: 44px;
	background: var(--lahi-seal);
	border-radius: 0 0 var(--lahi-r-sm) var(--lahi-r-sm);
}
.lahi-band .lahi-eyebrow {
	color: var(--lahi-gold-lo);
}
.lahi-band__title {
	max-width: 820px;
	margin: 0 0 18px;
	font-size: clamp(30px, 4.2vw, 54px);
	line-height: 1.15;
	letter-spacing: .1em;
	color: var(--lahi-red);
}
.lahi-band__lead {
	max-width: 560px;
	margin: 0;
	font-size: 19px;
	line-height: 1.6;
	color: var(--lahi-brown);
}
.lahi-band .lahi-actions {
	justify-content: center;
}

/* homepage: doua momente in care o sectiune ramane pe loc si urmatoarea urca peste ea
   (hero → formate, fotografia → servetelul). O sectiune .is-stick se lipeste sus abia dupa ce s-a vazut toata
   (--lahi-stick = inaltimea ecranului - inaltimea ei, din lahi.js). */
.lahi-home .lahi-main > .lahi-sec {
	position: relative;
	background-color: var(--lahi-cream);
}
html:not(.lahi-ios) .lahi-home .lahi-main > .lahi-sec.is-stick {
	position: sticky;
	top: var(--lahi-stick, 0px);
}
html:not(.lahi-ios) .lahi-home .lahi-main > .is-stick + .lahi-sec {
	box-shadow: 0 -28px 56px rgba(11, 10, 8, .2);
}
/* iPhone in Safari (.lahi-ios pe <html>, pus inline in header.php inainte de prima afisare): fara sticky.
   Hero-ul se deruleaza normal; fotografia ramane pe loc cat timp iese din ecran — o translatie egala cu derularea,
   legata de pozitia ei (animation-timeline: view()), deci fara intarziere si fara tremur */
/* Intervalul e legat de MARGINEA DE JOS a fotografiei (cover 100% = ea ajunge sus) si are exact inaltimea ei (100vh):
   nu depinde de inaltimea zonei vizibile, care pe iPhone se schimba cand se strange/largeste bara Safari.
   Cu „exit 0% exit 100%” (pana pe 12 oct.) intervalul urma zona vizibila, deci translatia nu era 1:1 cu derularea
   si fotografia tremura la fiecare miscare a barei. */
@supports (animation-timeline: view()) {
	.lahi-ios .lahi-home .lahi-main > .lahi-photo.is-stick {
		animation: lahi-hold linear both;
		animation-timeline: view();
		animation-range: cover calc(100% - 100vh) cover 100%;
	}
	.lahi-ios .lahi-home .lahi-main > .lahi-photo.is-stick + .lahi-sec {
		box-shadow: 0 -28px 56px rgba(11, 10, 8, .2);
	}
}
@keyframes lahi-hold {
	from { transform: translateY(0); }
	to { transform: translateY(100%); }
}
.lahi-home .lahi-main > .lahi-hero { background-color: var(--lahi-red); }
.lahi-home .lahi-main > .lahi-napkin-sec { background-color: var(--lahi-cream-soft); }
.lahi-home .lahi-main > .lahi-name { background-color: var(--lahi-coal); }
.lahi-home .lahi-main > .lahi-band { background-color: var(--lahi-cream-soft); }
.lahi-home .lahi-footer {
	position: relative;
	z-index: 1;
}

/* fotografia pe tot ecranul, peste care urca sectiunea urmatoare */
.lahi-photo {
	position: relative;
	height: 100vh;
	padding: 0;
	overflow: hidden;
	background: var(--lahi-coal);
}
.lahi-photo__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 24% 50%; /* pe telefon ramane in cadru punga, nu doar paharul */
}
.lahi-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11, 10, 8, 0) 35%, rgba(11, 10, 8, .72) 100%);
}
.lahi-photo__text {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 72px;
	z-index: 1;
}
.lahi-photo__line {
	font-family: var(--font-display);
	font-size: clamp(26px, 3.4vw, 46px);
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1.15;
	color: var(--lahi-cream);
	margin: 0;
}
.lahi-photo__aside {
	font-family: var(--font-accent);
	font-style: italic;
	font-size: clamp(22px, 2.4vw, 32px);
	line-height: 1.25;
	color: var(--lahi-gold);
	margin: 10px 0 0;
}

/* ---------- pagini de continut ---------- */

.lahi-page {
	padding-top: 72px;
	padding-bottom: 104px;
}
.lahi-page__head {
	max-width: 760px;
	margin-bottom: 40px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--lahi-red);
}
.lahi-page__head h1 {
	margin: 0;
}
.lahi-content {
	max-width: 760px;
}
.lahi-content h2 { margin-top: 1.6em; }
.lahi-content h3 { margin-top: 1.4em; }
.lahi-content ul,
.lahi-content ol {
	padding-left: 1.2em;
}
.lahi-content blockquote {
	font-size: 26px;
	line-height: 1.35;
	border-left: 1px solid var(--lahi-gold);
	padding-left: 24px;
	margin: 1.5em 0;
}
.lahi-page__empty {
	font-family: var(--font-accent);
	font-style: italic;
	font-size: 24px;
	color: var(--lahi-brown);
}
.lahi-list__item {
	padding: 28px 0;
	border-bottom: 1px solid var(--lahi-cream-soft);
}
.lahi-list__item h2 {
	font-size: 22px;
}
.lahi-list__item h2 a {
	color: var(--lahi-coal);
	text-decoration: none;
}

/* cos, checkout si contul folosesc tot page.php, dar au nevoie de toata latimea */
.woocommerce-cart .lahi-content,
.woocommerce-checkout .lahi-content,
.woocommerce-account .lahi-content,
.woocommerce-cart .lahi-page__head,
.woocommerce-checkout .lahi-page__head,
.woocommerce-account .lahi-page__head {
	max-width: none;
}

.lahi-404 {
	background: var(--lahi-red);
	padding: 120px 0;
	color: var(--lahi-cream);
}
.lahi-404 .lahi-eyebrow {
	color: var(--lahi-gold);
}
.lahi-404 h1 {
	color: var(--lahi-cream);
	font-size: clamp(30px, 4vw, 48px);
	max-width: 760px;
	margin: 0;
}
.lahi-404__aside {
	font-family: var(--font-accent);
	font-style: italic;
	font-size: 28px;
	color: var(--lahi-gold);
	margin: 14px 0 0;
}
.lahi-404 .lahi-link {
	color: var(--lahi-cream);
}

/* Customer Reviews isi pune galeria in footer pe toate paginile; CSS-ul ei se incarca doar pe produse */
body:not(.single-product) .cr-pswp,
.lahi-pd-page .cr-pswp:not(.pswp--open) {
	display: none;
}

.lahi-from {
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.lahi-format__price {
	display: block;
	margin-top: 8px;
	font-family: var(--font-label);
	font-size: 20px;
	letter-spacing: .02em;
	color: var(--lahi-gold);
}
.lahi-format__price .lahi-from {
	font-family: var(--font-label);
}

/* ---------- servetelul mic, folosit in povesti (bara de jos e mai jos, dupa regulile pentru ecrane mici) ---------- */

.lahi-napkin--small {
	min-height: 220px;
	padding: 52px 28px 48px;
}
.lahi-napkin--small .lahi-napkin__msg {
	font-size: 26px;
}


/* ---------- ecrane medii si mici ---------- */

@media (max-width: 991px) {
	/* telefon: header-ul fara fundal (ca sageata si cosul de pe pagina de produs), fara banda de sus.
	   Sta pe fundalul paginii, de aceeasi culoare cu prima sectiune: rosu pe prima pagina si 404, crem in rest.
	   Tot de aici vine si culoarea zonei de sub ceas/camera pe iPhone (vezi iphone-transparenta.md). */
	.lahi-topbar {
		display: none;
	}
	.lahi-header__bar {
		background: transparent;
	}
	body.lahi-site {
		background: var(--lahi-cream);
	}
	body.lahi-site.home,
	body.lahi-site.error404 {
		background: var(--lahi-red);
	}
	/* prima pagina: logo-ul alb pe rosu */
	body.home .lahi-header .lahi-logo,
	body.home .lahi-header .lahi-logo:hover {
		color: #FFFFFF;
	}
	/* pe crem: iconitele si logo-ul bordo */
	body:not(.home):not(.error404) .lahi-header__icon,
	body:not(.home):not(.error404) .lahi-header .lahi-logo {
		color: var(--lahi-red);
	}
	body:not(.home):not(.error404) .lahi-header .lahi-logo:hover {
		color: var(--lahi-red-bright);
	}
	body:not(.home):not(.error404) .lahi-header__side--end .lahi-header__icon:hover {
		background: rgba(110, 26, 28, .08);
	}
	.lahi-header {
		height: 76px;
	}
	.lahi-header__bar {
		padding: 0 16px;
	}
	.lahi-header__side--end .lahi-header__icon,
	.lahi-header__burger {
		width: 40px;
		height: 40px;
	}
	.lahi-header__burger {
		display: inline-flex;
	}
	.lahi-header__account {
		display: none;
	}
	.lahi-header__side--end {
		gap: 16px;
	}

	/* meniul devine panou lateral */
	.lahi-nav {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 50;
		width: min(320px, 86vw);
		padding: 20px 24px 32px;
		background: var(--lahi-cream);
		border-right: var(--lahi-line-gold);
		border-radius: 0 var(--lahi-r-lg) var(--lahi-r-lg) 0;
		box-shadow: 20px 0 50px rgba(11, 10, 8, .25);
		overflow-y: auto;
		transform: translateX(-100%);
		visibility: hidden;
		transition: transform .3s ease, visibility 0s .3s;
	}
	.lahi-nav-open .lahi-nav {
		transform: none;
		visibility: visible;
		transition: transform .3s ease;
	}
	/* panoul e in header; header-ul trebuie sa treaca peste fundalul intunecat */
	.lahi-nav-open .lahi-header {
		z-index: 60;
	}
	.lahi-nav-backdrop {
		position: fixed;
		inset: 0;
		z-index: 40;
		background: rgba(11, 10, 8, .55);
	}
	.lahi-nav__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 24px;
	}
	.lahi-nav__head .lahi-logo,
	.lahi-nav__head .lahi-header__icon {
		color: var(--lahi-red);
	}
	.lahi-nav__head .lahi-logo__mark {
		width: 84px;
	}
	.lahi-nav__head .lahi-logo__sub,
	.lahi-nav__head .lahi-logo__rule {
		display: none;
	}
	.lahi-nav__list {
		display: block;
		margin: 0;
	}
	.lahi-nav__list a,
	.lahi-nav__extra {
		display: block;
		padding: 15px 0;
		font-family: var(--font-label);
		font-size: 13px;
		letter-spacing: .22em;
		text-transform: uppercase;
		text-decoration: none;
		color: var(--lahi-coal);
		border-bottom: 1px solid var(--lahi-cream-soft);
	}
	.lahi-nav__list a::after {
		display: none;
	}
	.lahi-nav__list a:hover,
	.lahi-nav__list .current-menu-item > a,
	.lahi-nav__extra:hover {
		color: var(--lahi-red);
	}

	.lahi-formats__grid,
	.lahi-facts__grid {
		grid-template-columns: 1fr;
	}
	.lahi-format {
		min-height: 0;
	}
	.lahi-napkin-wrap,
	.lahi-name__grid {
		grid-template-columns: 1fr;
		gap: 44px;
	}
	.lahi-hero__grid {
		gap: 44px;
	}
}

@media (max-width: 767px) {
	:root {
		--lahi-gutter: 16px;
	}
	body {
		font-size: 17px;
	}
	.lahi-topbar {
		font-size: 10px;
		letter-spacing: .14em;
	}
	.lahi-topbar__extra {
		display: none;
	}
	.lahi-logo__mark {
		width: 96px;
	}
	.lahi-logo__sub {
		font-size: 7px;
	}
	.lahi-sec {
		padding: 64px 0;
	}
	.lahi-band {
		padding: 0 0 64px;
	}
	.lahi-band__seal {
		margin-bottom: 32px;
	}
	.lahi-hero {
		padding: 48px 0 56px;
	}
	.lahi-hero__text,
	.lahi-hero__figure {
		flex-basis: 100%;
	}
	.lahi-hero__figure::after {
		inset: 10px -8px -10px 8px;
	}
	.lahi-intro {
		margin-bottom: 32px;
	}
	.lahi-napkin {
		padding: 52px 28px 48px;
		min-height: 240px;
		transform: rotate(-1deg);
	}
	.lahi-footer {
		padding-top: 40px;
	}
	.lahi-footer__news {
		grid-template-columns: 1fr;
		padding: 24px 18px;
	}
	.lahi-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 20px;
		padding: 44px 0 16px;
	}
	.lahi-fcol--brand {
		grid-column: 1 / -1;
	}
	.lahi-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}
	.lahi-page {
		padding-top: 48px;
		padding-bottom: 72px;
	}
	.lahi-404 {
		padding: 80px 0;
	}
}

/* bara de jos: plutitoare, pe toate ecranele (pe desktop centrata, cat sa incapa cercul cu povesti) */
.lahi-has-bar {
	padding-bottom: calc(88px + env(safe-area-inset-bottom));
}
.lahi-bar {
	position: fixed;
	left: calc(12px + env(safe-area-inset-left, 0px));
	right: calc(12px + env(safe-area-inset-right, 0px));
	bottom: calc(10px + env(safe-area-inset-bottom));
	z-index: 30;
	display: flex;
	align-items: stretch;
	gap: 4px;
	height: 64px;
	padding: 6px;
	/* acelasi fundal ca la capsula de sus: textura ambalajului */
	background: var(--lahi-red) url(img/ambalaj.webp?v=2) center / auto 100% repeat-x;
	border: 1px solid rgba(199, 154, 100, .4);
	border-radius: 22px;
}
.lahi-bar__item {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	margin: 4px;
	padding: 0 4px;
	background: none;
	border: 0;
	border-radius: 14px;
	color: var(--lahi-cream);
	font-family: var(--font-label);
	font-size: 11px;
	letter-spacing: .04em;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s;
	-webkit-tap-highlight-color: transparent;
}
.lahi-bar__item:active {
	opacity: .7;
}
/* pagina curenta: fara fundal; textul auriu si o liniuta aurie sub el */
.lahi-bar__item.is-active {
	position: relative;
	color: var(--lahi-gold);
}
.lahi-bar__item.is-active::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -3px;
	width: 16px;
	height: 2px;
	margin-left: -8px;
	border-radius: 1px;
	background: var(--lahi-gold);
}
.lahi-bar__icon {
	position: relative;
	display: flex;
	color: var(--lahi-gold);
}
.lahi-bar__icon .lahi-icon {
	width: 22px;
	height: 22px;
}
.lahi-bar__count {
	position: absolute;
	top: -5px;
	right: -10px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--lahi-gold);
	color: var(--lahi-coal);
	font-size: 10px;
	font-weight: 500;
	line-height: 17px;
	letter-spacing: 0;
	text-align: center;
}
.lahi-bar__label {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.lahi-bar__buy {
	flex: 1.5;
	align-self: center;
	height: 42px;
	margin: 0 2px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	padding: 0 12px;
	background: transparent;
	border: 1px solid var(--lahi-gold);
	border-radius: 13px;
	color: var(--lahi-cream);
	font-family: var(--font-label);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: none;
	-webkit-tap-highlight-color: transparent;
}
.lahi-bar__buy:active {
	background: rgba(199, 154, 100, .15);
}
.lahi-bar__buy small {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .02em;
	text-transform: none;
}

/* cercul cu povesti (ca pe ababi): iese deasupra barei, inel auriu care pulseaza; povestile se incarca la atingere */
.lahi-bar__story {
	position: relative;
	flex: 0 0 auto;
	align-self: center;
	width: 74px;
	height: 74px;
	margin: -30px 2px -6px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.lahi-bar__story::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: rgba(199, 154, 100, .7);
	pointer-events: none;
	animation: lahi-st-wave 2.4s ease-out infinite;
}
.lahi-bar__ring {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 3px;
	border-radius: 50%;
	background: conic-gradient(var(--lahi-gold-hi), var(--lahi-gold-lo), var(--lahi-gold-hi), var(--lahi-gold), var(--lahi-gold-hi));
	box-shadow: 0 2px 6px rgba(75, 9, 11, .3);
	color: var(--lahi-gold);
	animation: lahi-st-pulse 2.4s ease-out infinite;
}
.lahi-bar__ring img {
	width: 100%;
	height: 100%;
	border: 3px solid var(--lahi-red-deep);
	border-radius: 50%;
	object-fit: cover;
}
.lahi-bar__ring .lahi-logo__mark {
	width: 70%;
}
.lahi-bar.is-product .lahi-bar__item {
	flex: .9;
}
.lahi-bar.is-product .lahi-bar__buy {
	flex: 1.6;
	padding: 0 8px;
	letter-spacing: .1em;
}
@media (prefers-reduced-motion: reduce) {
	.lahi-bar__story::before,
	.lahi-bar__ring {
		animation: none;
	}
	.lahi-bar__story::before {
		opacity: 0;
	}
}
@media (min-width: 992px) {
	.lahi-has-bar {
		padding-bottom: 96px;
	}
	.lahi-bar {
		left: 50%;
		right: auto;
		bottom: 16px;
		width: 420px;
		transform: translateX(-50%);
	}
	.lahi-bar.is-product {
		width: 560px;
	}
	.lahi-bar__item {
		font-size: 12px;
	}
}
@keyframes lahi-st-pulse {
	0%, 60%, 100% { transform: scale(1); }
	30% { transform: scale(1.045); }
}
@keyframes lahi-st-wave {
	0% { transform: scale(1); opacity: 1; }
	60%, 100% { transform: scale(1.3); opacity: 0; }
}

/* ---------- colturi rotunjite ---------- */

.lahi-btn,
.button,
button[type="submit"],
input[type="submit"],
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="search"], input[type="number"], input[type="url"], select, textarea {
	border-radius: var(--lahi-r-sm);
}
.lahi-search input[type="search"],
.lahi-news input[type="email"] {
	border-radius: var(--lahi-r-sm) 0 0 var(--lahi-r-sm);
}
.lahi-search button,
.lahi-news button {
	border-radius: 0 var(--lahi-r-sm) var(--lahi-r-sm) 0;
}
.lahi-hero__figure img,
.lahi-hero__figure::after {
	border-radius: var(--lahi-r-lg);
}
.lahi-format {
	border-radius: var(--lahi-r);
}
.lahi-napkin {
	border-radius: 4px;
}
.lahi-skip:focus {
	border-radius: var(--lahi-r-sm);
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition: none !important;
	}
}
