/*
Theme Name: Dola Modern
Theme URI: https://test.dolasprosper.ro/
Description: Temă WordPress standalone (independentă), construită de la zero pentru Dolas Prosper — coroane funerare, flori artificiale și aranjamente. Fără page builder, fără temă părinte — control total.
Author: Dolas Prosper
Version: 1.0.0
Text Domain: dola-modern
*/

/* ==========================================================================
   Design Tokens — ART DIRECTION "PIATRĂ & CETINĂ"
   Piatră calcaroasă caldă (nu alb ecran) · cerneală de ardezie cu subton de
   cetină (nu negru de doliu) · salvie ca accent (nu auriu festiv) · lut în
   loc de roșu.

   PRINCIPIUL: produsele sunt colorate — flori artificiale roșii, albe, mov.
   Interfața e un cadru TĂCUT care le lasă să respire. Respectul se exprimă
   prin sobrietate și aer, nu prin negru și nu prin ornament.

   Toate valorile de mai jos sunt validate WCAG AA (≥4.5:1 pentru text).
   Raporturile din comentarii sunt calculate, nu estimate.
   ========================================================================== */
:root {
	/* --- SUPRAFEȚE: piatră, nu ecran --------------------------------------- */
	--stone:         #f5f2ea;  /* fundalul paginii — calcar cald */
	--stone-raised:  #fcfaf4;  /* carduri (mai deschis decât fundalul = elevație fără umbră) */
	--stone-sunken:  #e9e4d8;  /* casete de imagine, secțiuni alternate */
	--stone-deep:    #dad3c3;  /* inputuri, separatoare pline */

	/* --- CERNEALĂ: ardezie cu subton de cetină (verdele se simte, nu se vede) */
	--color-text:       #0f1f1a;  /* titluri, CTA primar — 16.14:1 */
	--color-text-muted: #526359;  /* secundar — 4.62:1, PODEAUA sistemului */

	/* NOTĂ: #526359 e cea mai deschisă valoare care mai trece AA pe piatră.
	   Nu există un al doilea gri, mai deschis, pentru „meta/caption" — orice
	   încercare (#74796f = 4.12:1) pică. Un singur gri secundar, intenționat. */

	/* --- ACCENT: SALVIE — verdeața din coroană.
	   Nu auriu: auriul e festiv și, într-un context funerar, sună a vânzare.
	   Salvia e calmă, se împacă cu orice culoare de floare și nu concurează
	   cu produsul. --color-accent e valoarea implicită: merge și ca text pe
	   piatră (6.15:1), și ca fundal sub text alb (6.65:1). --- */
	--color-accent:      #1b5443;  /* implicit: text ȘI fundal — trece AA în ambele */
	--sage-ink:          #1b5443;  /* alias explicit pentru uz ca text */
	--sage-deep:         #123a2e;  /* hover pe suprafețe de salvie — 8.44:1 */
	--sage-orn:          #6b8172;  /* ORNAMENT ONLY: linii, contururi, gradienturi */
	--sage-light:        #c3ccc2;  /* pe fundal ÎNCHIS devine text valid — 7.77:1 pe cetină */
	--color-accent-soft: rgba(107,129,114, 0.12);

	/* REGULA CELOR DOUĂ VERZURI — cea mai ușor de încălcat din reflex:
	   --sage-ink (#1b5443) poartă text. --sage-orn (#6b8172) NU — dă 2.09:1
	   pe piatră, e strict decorativ. Pe fundal închis raportul se INVERSEAZĂ:
	   acolo salvia închisă dă 1.93:1 și se folosește --sage-orn / --sage-light. */

	/* --- SEMANTIC: folosite cu zgârcenie ----------------------------------- */
	--fir:       #0e241d;  /* cetină — hero, footer, marcaje de brand — 11.86:1 */
	--fir-ink:   #1b5443;  /* „în stoc", confirmări — 6.66:1 */
	--violet:    #5b4a66;  /* DOLIU / liturgic — accent rar, niciodată decorativ — 7.43:1 */
	--violet-ink:#6b5878;  /* doliu ca text — 5.90:1 */
	--clay:      #8a5a44;  /* reducere / urgență — lut, NU roșu — 5.36:1 */
	--clay-ink:  #9c5f45;  /* text de eroare — 4.70:1 */

	/* Roșul lipsește DELIBERAT din sistem. Într-un magazin funerar, roșul de
	   „reducere" citește ca lipsă de respect. Urgența se exprimă prin lut. */

	--color-border: rgba(15,31,26, 0.075);
	--color-border-strong: rgba(15,31,26, 0.14);

	/* Semantic aliases (compatibilitate markup existent) */
	--black: var(--color-text);
	--black-soft: #0f1f1a;
	--black-muted: #33453d;
	--white: var(--stone-raised);
	--color-bg: var(--stone);
	--bg-soft: #f0ece1;  /* secțiuni alternate — mai deschis decât casetele de imagine */
	--sage: var(--color-accent);
	--text: var(--color-text);
	--text-muted: var(--color-text-muted);

	/* Umbre reci-neutre, stratificate — umbra caldă pe piatră arată gălbuie */
	--shadow-sm: 0 1px 2px rgba(15,31,26, 0.05);
	--shadow-md: 0 2px 4px rgba(15,31,26, 0.035), 0 8px 24px rgba(15,31,26, 0.06);
	--shadow-lg: 0 4px 8px rgba(15,31,26, 0.035), 0 16px 48px rgba(15,31,26, 0.08);

	--radius: 8px;
	--radius-lg: 16px;
	--container: 1200px;
	/* pe ecrane mari containerul se lățește (vezi media query de mai jos) */
	--header-height: 70px;

	--font-serif: 'Cormorant Garamond', Georgia, serif;
	--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	/* Fundaluri prin gradient (înlocuiește cu imagini din Media după upload) */
	--hero-bg: radial-gradient(120% 100% at 25% 15%, #2b4034 0%, #1d2f25 55%, #131f19 100%);
	--cat-coroane: linear-gradient(150deg, #2a3d31 0%, #16211b 100%);
	--cat-flori:   linear-gradient(150deg, #3a3340 0%, #1e1a22 100%);
	--cat-jerbe:   linear-gradient(150deg, #333a33 0%, #1b1f1b 100%);
}


/* ==========================================================================
   Desktop — zoom-out global 88% + scară de spațiere premium
   ========================================================================== */
/* ==========================================================================
   GRILE FLUIDE — se adaptează la lățimea reală disponibilă, nu la breakpoint-uri.
   Rezolvă definitiv problema laptopurilor cu scaling (viewport CSS 800–1000px).
   Regulile efective sunt definite la sursă (vezi .woocommerce ul.products etc.)
   ========================================================================== */

/* ==========================================================================
   POLISH E-COMMERCE — carduri de produs, tipografie, butoane, badge-uri
   ========================================================================== */

/* 1. Fundal subtil pe listinguri, carduri albe curate */
body.woocommerce-shop,
body.tax-product_cat,
body.post-type-archive-product { background: #f8f9fa; }

/* 2. Card: contur fin, colțuri rotunjite, fără umbră în repaus */
body.woocommerce ul.products li.product {
	background: #ffffff;
	border: 1px solid #ebebeb !important;
	border-radius: 8px;
	box-shadow: none;
	overflow: hidden;
	transition: box-shadow 0.28s ease, border-color 0.28s ease, transform 0.28s ease;
}

/* 3. Hover: umbră fină, ridicare discretă */
body.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
	border-color: #e0e0e0 !important;
}

/* Imaginea: fundal neutru, fără padding inutil */
body.woocommerce ul.products li.product a img {
	background: #fbf8f1;
	border-radius: 6px;
	margin-bottom: 2px;
}

/* 4. Tipografie e-commerce — titlu discret pe 2 rânduri, preț dominant */
body.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.7em;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	line-height: 1.35;
	color: #333333 !important;
	letter-spacing: 0;
	padding: 12px 0 6px !important;
}

body.woocommerce ul.products li.product .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 7px;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #14211c !important;
	letter-spacing: -0.01em;
}
body.woocommerce ul.products li.product .price del {
	order: 2;
	font-size: 12.5px;
	font-weight: 400;
	color: #9a9a9a;
	opacity: 1;
	text-decoration: line-through;
}
body.woocommerce ul.products li.product .price ins {
	order: 1;
	text-decoration: none;
	font-weight: 700;
	color: #14211c;
}

/* Stele — compacte, aurii */
body.woocommerce ul.products li.product .star-rating {
	font-size: 11px;
	margin: 0 0 6px;
	color: var(--color-accent);
}

/* 5. Buton plat, minimalist */
body.woocommerce ul.products li.product .button {
	background: #14211c !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 11px 0 !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	box-shadow: none !important;
	transition: background 0.22s ease;
}
body.woocommerce ul.products li.product .button:hover {
	background: #3d3d3d !important;
	transform: none;
}

/* 6. Badge de reducere — mic, modern, în colț */
body.woocommerce ul.products li.product .onsale,
body.woocommerce span.onsale {
	top: 10px !important;
	left: 10px !important;
	right: auto;
	padding: 4px 9px !important;
	border-radius: 5px !important;
	background: #14211c !important;
	color: #fff !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: 0.4px;
	line-height: 1.4 !important;
	box-shadow: none;
}

/* ==========================================================================
   ELEVATION — micro-design de lux (ierarhie cromatică, greutăți fine, invizibil)
   ========================================================================== */
:root {
	/* Ierarhie cromatică sofisticată — nu tot e negru, totul are subton de pin */
	--ink:        #0f1f1a;  /* acțiune, titluri majore — 16.7:1 pe hârtie */
	--ink-soft:   #33453d;  /* text de produs, corp — 9.8:1 */
	--ink-muted:  #526359;  /* meta, secundar — 4.57:1, trece AA (era #526359, pica) */
	--ink-faint:  #526359;  /* prețuri tăiate, micro-labels — 4.56:1, trece AA.
	                           Demovarea vine din mărime + tăiere, nu din estompare
	                           ilizibilă: prețul vechi e informație, nu ornament. */
	--hairline:   rgba(15,31,26, 0.075);  /* linii sugerate, nu desenate */
	--hairline-2: rgba(15,31,26, 0.05);
	/* Curbe organice */
	--ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Corp: gri-charcoal, nu negru */
body { color: var(--ink-soft); -webkit-font-smoothing: antialiased; }

/* Titluri: optical tracking negativ, greutate temperată */
/* .hero__title NU face parte din acest grup: stă pe o fotografie întunecată,
   nu pe hârtie. Culoarea lui e definită separat, în secțiunea HERO de mai jos. */
body .shop-layout__title,
body .page-article__title,
body .section-heading__title,
body .brand-story__title,
body .single-product .product_title {
	color: var(--ink) !important;
	font-weight: 600 !important;
	letter-spacing: -0.025em !important;
}

/* Micro-labels uppercase: tracking generos, ton estompat */
body .site-nav__list a,
body .woocommerce-result-count,
body .bento__label,
body .trust-bar__subtitle,
body .section-heading__subtitle { color: var(--ink-muted) !important; }

body .site-nav__list a {
	font-weight: 400 !important;
	letter-spacing: 0.11em !important;
	font-size: 11.5px !important;
	transition: color 0.32s var(--ease);
}
body .site-nav__list a:hover { color: var(--ink) !important; }

/* Linii: sugerate, nu trasate */
body .site-header { border-bottom: 1px solid var(--hairline) !important; }
body .shop-layout__header,
body .woocommerce ul.products li.product { border-color: var(--hairline) !important; }

/* Card: umbră stratificată, abia perceptibilă; mișcare organică */
body.woocommerce ul.products li.product {
	border: 1px solid var(--hairline) !important;
	box-shadow: none;
	transition: box-shadow 0.5s var(--ease), transform 0.5s var(--ease), border-color 0.5s var(--ease);
}
body.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	border-color: var(--hairline-2) !important;
	box-shadow:
		0 1px 2px rgba(15,31,26, 0.03),
		0 14px 38px rgba(15,31,26, 0.055);
}
/* Imaginea respiră lent la hover */
body.woocommerce ul.products li.product a img { transition: transform 0.9s var(--ease); }
body.woocommerce ul.products li.product:hover a img { transform: scale(1.035); }

/* Titlu produs: charcoal, linie fină */
body.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--ink-soft) !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}
/* Preț: prezență prin dimensiune, nu prin bold agresiv */
body.woocommerce ul.products li.product .price {
	color: var(--ink) !important;
	font-weight: 600 !important;
	letter-spacing: -0.015em !important;
}
body.woocommerce ul.products li.product .price del { color: var(--ink-faint) !important; font-weight: 400 !important; }
body.woocommerce ul.products li.product .price ins { color: var(--ink) !important; font-weight: 600 !important; }

/* Buton: plat, tracking fin, tranziție lentă */
body.woocommerce ul.products li.product .button {
	background: var(--ink) !important;
	font-weight: 500 !important;
	letter-spacing: 0.09em !important;
	font-size: 10.5px !important;
	padding: 12px 0 !important;
	transition: background 0.4s var(--ease), opacity 0.4s var(--ease);
}
body.woocommerce ul.products li.product .button:hover { background: #143028 !important; }

/* Badge: discret, nu strident */
body.woocommerce span.onsale {
	background: rgba(15,31,26, 0.86) !important;
	font-weight: 500 !important;
	letter-spacing: 0.04em !important;
	backdrop-filter: blur(6px);
}

/* Pastile de filtrare: hairline, tranziție organică */
body .shop-cats__chip {
	border: 1px solid var(--hairline) !important;
	color: var(--ink-muted) !important;
	font-weight: 400 !important;
	letter-spacing: 0.02em !important;
	transition: color 0.35s var(--ease), border-color 0.35s var(--ease), background 0.35s var(--ease);
}
body .shop-cats__chip:hover { color: var(--ink) !important; border-color: rgba(15,31,26,0.18) !important; background: transparent !important; }
body .shop-cats__chip.is-active {
	background: var(--ink) !important;
	border-color: var(--ink) !important;
	color: #fff !important;
	font-weight: 500 !important;
}

/* Select de sortare: hairline, fără greutate inutilă */
body.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--hairline) !important;
	color: var(--ink-soft) !important;
	font-weight: 400 !important;
}

/* Search: hairline, focus subtil */
body .search-form__input {
	border: 1px solid var(--hairline) !important;
	background: rgba(15,31,26, 0.022) !important;
	transition: background 0.35s var(--ease), border-color 0.35s var(--ease);
}
body .search-form__input:focus {
	background: #fff !important;
	border-color: rgba(15,31,26,0.16) !important;
	box-shadow: none !important;
}

/* Stele: discrete, aurii-estompate */
body.woocommerce ul.products li.product .star-rating { opacity: 0.85; }





/* ==========================================================================
   Reset & Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 1.5;
	color: var(--text);
	background: var(--white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

.screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	transition: box-shadow 0.3s ease;
}

.site-header--scrolled { box-shadow: var(--shadow-sm); }

.site-header__container {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	align-items: center;
	gap: 30px;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 24px;
	min-height: var(--header-height);
}

.site-header__logo-text {
	font-family: var(--font-sans);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -1px;
	color: var(--black);
	transition: color 0.25s ease;
}

.site-header__logo:hover .site-header__logo-text { color: var(--sage); }

.site-header__nav { display: flex; justify-content: center; }

.site-nav__list {
	display: flex;
	gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-nav__list a {
	color: var(--black-soft);
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: color 0.2s ease;
}

.site-nav__list a:hover { color: var(--sage); }

/* AJAX Search */
.site-header__search { max-width: 280px; width: 100%; }

.search-form { position: relative; display: flex; align-items: center; }

.search-form__input {
	width: 100%;
	padding: 10px 40px 10px 18px;
	border: 1px solid #ddd8cc;
	border-radius: 99px;
	background: var(--bg-soft);
	color: var(--text);
	font-family: var(--font-sans);
	font-size: 13px;
	outline: none;
	transition: all 0.3s ease;
}

.search-form__input:focus {
	background: var(--white);
	border-color: var(--black);
	box-shadow: 0 0 0 1px var(--black);
}

.search-form__button {
	position: absolute;
	right: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px; height: 32px;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: var(--black);
	cursor: pointer;
	transition: color 0.2s ease;
}

.search-form__button:hover { color: var(--sage); }

.search-form__results {
	position: absolute;
	top: calc(100% + 10px);
	left: 0; right: 0;
	background: var(--white);
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	overflow: hidden;
	z-index: 100;
	border: 1px solid #eee;
}

.search-form__result {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border-bottom: 1px solid #f5f5f5;
	transition: background 0.2s ease;
}

.search-form__result:hover { background: var(--bg-soft); }

.search-form__result-img { width: 44px; height: 44px; object-fit: cover; border-radius: 6px; }
.search-form__result-body { display: flex; flex-direction: column; font-size: 13px; }
.search-form__result-body strong { color: var(--black); font-weight: 600; }
.search-form__result-price { color: var(--black-muted); font-weight: 500; }
.search-form__empty { margin: 0; padding: 16px; font-size: 14px; color: var(--text-muted); }

/* Icons */
.site-header__icons { display: flex; align-items: center; gap: 20px; }

.site-header__icon-link {
	position: relative;
	color: var(--black);
	display: flex;
	transition: color 0.2s ease, transform 0.2s ease;
}

.site-header__icon-link:hover { color: var(--sage); transform: scale(1.05); }

.site-header__cart-count {
	position: absolute;
	top: -6px; right: -8px;
	min-width: 16px; height: 16px;
	padding: 0 4px;
	border-radius: 50%;
	background: var(--sage);
	color: var(--white);
	font-size: 9px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Mobile toggle */
.site-header__toggle {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 24px; height: 16px;
	background: transparent;
	border: none;
	padding: 0;
	cursor: pointer;
}

.site-header__toggle span {
	display: block;
	height: 2px;
	background: var(--black);
	border-radius: 2px;
	transition: all 0.3s ease;
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 68vh;
	padding: 72px 24px 64px;
	background-color: #15110d;
	background-image: url('assets/images/hero-coroane.jpg');
	background-size: cover;
	background-position: center;
	color: var(--white);
	text-align: center;
	overflow: hidden;
}

.hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.25) 40%, rgba(0, 0, 0, 0.55) 100%);
}

.hero__content {
	position: relative;
	z-index: 1;
	max-width: 820px;
	animation: heroRise 1.1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes heroRise {
	from { opacity: 0; transform: translateY(28px); }
	to   { opacity: 1; transform: none; }
}

.hero__eyebrow {
	margin: 0 0 14px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--sage);
}

.hero__eyebrow::after {
	content: '';
	display: block;
	width: 40px;
	height: 1px;
	margin: 12px auto 0;
	background: linear-gradient(90deg, transparent, var(--sage), transparent);
}

/* Scroll cue */
.hero__scroll {
	position: absolute;
	left: 50%;
	bottom: 18px;
	transform: translateX(-50%);
	z-index: 1;
	color: rgba(255, 255, 255, 0.7);
	animation: scrollCue 2s ease-in-out infinite;
}

@keyframes scrollCue {
	0%, 100% { transform: translate(-50%, 0); opacity: 0.7; }
	50%      { transform: translate(-50%, 8px); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.hero__content { animation: none; }
	.hero__scroll { animation: none; }
}

.hero__title {
	margin: 0 0 14px;
	font-family: var(--font-serif);
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: 0.5px;
}

.hero__subtitle {
	margin: 0 auto 28px;
	max-width: 540px;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.9);
}

.hero__cta {
	display: inline-block;
	padding: 14px 36px;
	background: var(--white);
	color: var(--black);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	border-radius: 99px;
	transition: all 0.3s ease;
}

.hero__cta:hover {
	background: var(--sage);
	color: var(--white);
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

/* ==========================================================================
   Sections
   ========================================================================== */
.main-categories,
.featured-products,
.benefits { max-width: var(--container); margin: 0 auto; padding: 52px 24px; }

.featured-products { background: var(--bg-soft); max-width: none; }
.featured-products .section-heading,
.featured-products .featured-products__carousel,
.featured-products .section-cta {
	max-width: var(--container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

.section-heading { text-align: center; margin-bottom: 32px; }

.section-heading::before {
	content: '';
	display: block;
	width: 32px;
	height: 2px;
	margin: 0 auto 14px;
	background: var(--sage);
}

.section-heading__title {
	margin: 0 0 8px;
	font-family: var(--font-serif);
	font-size: clamp(1.65rem, 3.5vw, 2.15rem);
	color: var(--black);
	font-weight: 700;
}

/* Scroll-reveal */
.reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: opacity, transform;
}

.reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
}

.section-heading__subtitle { margin: 0; color: var(--text-muted); font-size: 14px; }

/* Categories */
.main-categories { padding-top: 72px; padding-bottom: 72px; }

.main-categories__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 30px; }

.category-card {
	display: block;
	background: var(--white);
	border: 1px solid #ececec;
	border-radius: var(--radius);
	overflow: hidden;
	transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

.category-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.06);
	border-color: transparent;
}

.category-card__image {
	height: 220px;
	background-color: var(--bg-soft);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	transition: transform 0.6s ease;
}

.category-card:hover .category-card__image { transform: scale(1.04); }

.category-card__content {
	padding: 26px 24px 28px;
	text-align: center;
	border-top: 1px solid #f3f3f3;
}

.category-card__title {
	margin: 0 0 6px;
	font-family: var(--font-serif);
	font-size: 1.2rem;
	color: var(--black);
	font-weight: 600;
}

.category-card__desc {
	margin: 0 auto 10px;
	max-width: 32ch;
	color: var(--black-muted);
	font-size: 13px;
	line-height: 1.5;
}

.category-card__link {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--sage);
	transition: transform 0.3s ease;
}

.category-card:hover .category-card__link { transform: translateX(5px); }

/* ==========================================================================
   Products grid — 3 coloane desktop, swipe orizontal pe mobil
   ========================================================================== */
.featured-products__carousel {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 24px;
}


.carousel__item {
	min-width: 0;
	scroll-snap-align: start;
}

/* CTA centrat sub secțiuni */
.section-cta { text-align: center; margin-top: 28px; }

.btn-outline {
	display: inline-block;
	padding: 13px 32px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--black);
	border: 1px solid var(--black);
	border-radius: 50px;
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.btn-outline:hover {
	background: var(--black);
	color: var(--white);
	border-color: var(--black);
}

.product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--white);
	border: 1px solid #f0ece1;
	border-radius: var(--radius);
	overflow: hidden;
	transition: all 0.3s ease;
}

.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: transparent; }

.product-card__image { width: 100%; aspect-ratio: 3/4; object-fit: contain; background: var(--bg-soft); border-radius: var(--radius); padding: 10px; }

.product-card__body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }

.product-card__title {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--black);
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.product-card__price { font-size: 15px; font-weight: 600; color: var(--black); margin-top: auto; }
.product-card__price del { color: var(--text-muted); font-weight: 400; font-size: 14px; margin-right: 8px; }
.product-card__price ins { text-decoration: none; color: #8a5a44; }

.featured-products__empty { margin: 0; color: var(--text-muted); }

/* ==========================================================================
   Benefits — "De ce coroane artificiale"
   ========================================================================== */
.benefits__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}

.benefit {
	padding: 24px 20px;
	background: var(--bg-soft);
	border: 1px solid #f0ece1;
	border-radius: var(--radius);
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.benefit:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-md);
	border-color: transparent;
}

.benefit__icon {
	display: inline-flex;
	color: var(--sage);
	margin-bottom: 12px;
}

.benefit__icon svg { width: 32px; height: 32px; }

.benefit__title {
	margin: 0 0 6px;
	font-family: var(--font-serif);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--black);
}

.benefit__text { margin: 0; font-size: 13px; line-height: 1.55; color: var(--black-muted); }

/* ==========================================================================
   Brand story
   ========================================================================== */
.brand-story {
	background: var(--black);
	color: var(--white);
	padding: 56px 24px;
}

.brand-story__inner { max-width: 680px; margin: 0 auto; text-align: center; }

.brand-story__eyebrow {
	margin: 0 0 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--sage);
}

.brand-story__title {
	margin: 0 0 16px;
	font-family: var(--font-serif);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	line-height: 1.2;
}

.brand-story__text {
	margin: 0 auto 22px;
	max-width: 580px;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72);
}

.brand-story__cta {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--sage);
	transition: transform 0.3s ease;
}

.brand-story__cta:hover { transform: translateX(5px); }

/* ==========================================================================
   Trust bar (mobile-first scroll-snap)
   ========================================================================== */
.trust-bar {
	background: #f7f7f7;
	padding: 32px 0;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}

.trust-bar__container {
	max-width: var(--container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: start;
	padding: 0 24px;
	gap: 32px;
}

.trust-bar__item {
	display: flex;
	flex-direction: row;
	align-items: center;
	text-align: left;
	gap: 14px;
}

.trust-bar__icon {
	flex-shrink: 0;
	color: var(--sage);
	display: flex;
	background: var(--white);
	padding: 10px;
	border-radius: 50%;
	box-shadow: var(--shadow-sm);
	transition: color 0.3s ease;
}

.trust-bar__icon svg { width: 22px; height: 22px; }

.trust-bar__item:hover .trust-bar__icon { color: var(--black); }

.trust-bar__body { display: flex; flex-direction: column; gap: 2px; }

.trust-bar__title {
	font-size: 14px;
	font-weight: 700;
	color: var(--black);
}

.trust-bar__subtitle {
	font-size: 12.5px;
	font-weight: 400;
	color: var(--text-muted);
}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer { background: var(--black); color: var(--white); padding: 80px 24px 30px; }

.site-footer__container { max-width: var(--container); margin: 0 auto; }

.site-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 60px; margin-bottom: 60px; }

.site-footer__logo-text {
	display: block;
	margin-bottom: 16px;
	font-family: var(--font-sans);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -1px;
	color: var(--white);
}

.site-footer__tagline { margin: 0; font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, 0.6); max-width: 300px; }

.site-footer__heading {
	margin: 0 0 24px;
	font-size: 12px;
	color: var(--white);
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.site-footer__links { list-style: none; margin: 0; padding: 0; }
.site-footer__links li { margin-bottom: 12px; }
.site-footer__links a { color: rgba(255, 255, 255, 0.6); font-size: 14px; transition: color 0.2s ease; }
.site-footer__links a:hover { color: var(--sage); }

.site-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 12px;
	color: rgba(255, 255, 255, 0.4);
}
.site-footer__bottom p { margin: 0; }
.site-footer__pay { display: flex; gap: 8px; align-items: center; }
.site-footer__pay svg { border-radius: 4px; }

@media (max-width: 600px) {
	.site-footer__bottom { justify-content: center; text-align: center; }
}

/* ==========================================================================
   Pages & WooCommerce
   ========================================================================== */
.page-layout, .shop-layout { padding: 48px 24px 72px; }
.page-layout__inner, .shop-layout__inner { max-width: var(--container); margin: 0 auto; }
.page-layout--center { text-align: center; }

.page-article__title {
	margin: 0 0 24px;
	font-family: var(--font-serif);
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	color: var(--black);
}

/* ==========================================================================
   Pagina Contact — layout bento
   ========================================================================== */
.contact-page { padding: 56px 24px 88px; }
.contact-page__inner { max-width: 1080px; margin: 0 auto; }

.contact-hero { max-width: 720px; margin: 0 0 44px; }
.contact-hero__eyebrow {
	margin: 0 0 14px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--color-accent);
}
.contact-hero__title {
	margin: 0 0 18px;
	font-family: var(--font-serif);
	font-size: clamp(2rem, 4.5vw, 3.1rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--color-text);
}
.contact-hero__lead {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--black-muted);
}

.contact-bento {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.bento {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: var(--white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 28px 26px;
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
a.bento:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 44px rgba(20,33,28, 0.08);
	border-color: transparent;
}

.bento__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 6px;
	border-radius: 50%;
	background: var(--color-accent-soft);
	color: var(--color-accent);
	transition: background 0.3s ease, color 0.3s ease;
}
a.bento:hover .bento__icon { background: var(--color-accent); color: #fff; }

.bento__label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--text-muted);
}
.bento__value {
	font-family: var(--font-sans);
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--color-text);
	line-height: 1.2;
}
.bento__hint { font-size: 13px; color: var(--text-muted); line-height: 1.55; margin-top: auto; padding-top: 6px; }
.bento__text { margin: 4px 0 0; font-size: 14.5px; line-height: 1.7; color: var(--black-muted); }

/* Card program */
.bento__hours { list-style: none; margin: 6px 0 0; padding: 0; }
.bento__hours li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 9px 0;
	border-bottom: 1px solid var(--color-border);
	font-size: 14px;
	color: var(--black-muted);
}
.bento__hours li:last-child { border-bottom: 0; }
.bento__hours strong { color: var(--color-text); font-weight: 600; }

/* Card date companie — pe toată lățimea */
.bento--company { grid-column: 1 / -1; background: var(--bg-soft); }
.bento__company {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px 28px;
	margin: 10px 0 0;
}
.bento__company div { min-width: 0; }
.bento__company dt {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--text-muted);
	margin-bottom: 5px;
}
.bento__company dd { margin: 0; font-size: 14.5px; font-weight: 600; color: var(--color-text); }

.bento--promise { background: var(--bg-soft); }

.contact-extra { margin-top: 40px; }

/* CTA final */
.contact-cta {
	margin-top: 44px;
	padding: 44px 32px;
	text-align: center;
	background: var(--bg-soft);
	border-radius: var(--radius-lg);
}
.contact-cta__title {
	margin: 0 0 10px;
	font-family: var(--font-serif);
	font-size: clamp(1.4rem, 3vw, 1.9rem);
	color: var(--color-text);
}
.contact-cta__text { margin: 0 0 24px; font-size: 15px; color: var(--black-muted); }
.contact-cta__btn {
	display: inline-block;
	padding: 15px 40px;
	border-radius: 99px;
	background: var(--color-text);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: background 0.25s ease, transform 0.15s ease;
}
.contact-cta__btn:hover { background: var(--color-accent); transform: translateY(-2px); }

@media (max-width: 900px) {
	.contact-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bento__company { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.contact-page { padding: 36px 16px 64px; }
	.contact-bento { grid-template-columns: 1fr; gap: 14px; }
	.bento { padding: 24px 20px; }
	.bento__company { grid-template-columns: 1fr; gap: 16px; }
	.contact-cta { padding: 34px 20px; }
}

/* Banner cookie-uri */
.dola-cookie {
	position: fixed;
	left: 50%;
	bottom: 20px;
	transform: translate(-50%, 24px);
	z-index: 1900;
	width: min(940px, calc(100% - 32px));
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: 0 20px 60px rgba(20,33,28, 0.16);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease, transform 0.35s ease;
}
.dola-cookie.is-visible { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }

.dola-cookie__inner {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 16px 22px;
	flex-wrap: wrap;
}
.dola-cookie__text { display: flex; align-items: center; gap: 12px; flex: 1 1 340px; min-width: 0; }
.dola-cookie__icon { font-size: 24px; flex-shrink: 0; }
.dola-cookie__text p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--black-muted); }
.dola-cookie__text a { color: var(--color-accent); font-weight: 600; text-decoration: underline; }

.dola-cookie__actions { display: flex; gap: 10px; flex-shrink: 0; }
.dola-cookie__btn {
	padding: 11px 22px;
	border-radius: 99px;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.5px;
	cursor: pointer;
	border: 1px solid transparent;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	white-space: nowrap;
}
.dola-cookie__btn--ghost {
	background: transparent;
	border-color: var(--color-border-strong);
	color: var(--color-text);
}
.dola-cookie__btn--ghost:hover { background: var(--bg-soft); }
.dola-cookie__btn--accept {
	background: var(--color-accent);
	color: #fff;
}
.dola-cookie__btn--accept:hover { background: #123a2e; }

@media (max-width: 560px) {
	.dola-cookie { bottom: 12px; }
	.dola-cookie__inner { padding: 16px; }
	.dola-cookie__actions { width: 100%; }
	.dola-cookie__btn { flex: 1 1 auto; text-align: center; }
}

/* Pagini legale (Termeni, Confidențialitate) — lectură aerisită, cuprins navigabil */
.page-article__content { max-width: 820px; }
/* Coș / Checkout au nevoie de lățime completă */
.woocommerce-cart .page-article__content,
.woocommerce-checkout .page-article__content { max-width: 100%; }
.page-article__content .legal-updated {
	font-size: 13px;
	color: var(--text-muted);
	margin: 0 0 20px;
}
.page-article__content .legal-intro {
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--black-muted);
	margin: 0 0 28px;
}
.page-article__content .legal-toc {
	background: var(--bg-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 22px 26px;
	margin: 0 0 40px;
}
.page-article__content .legal-toc__title {
	margin: 0 0 12px;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--color-text);
}
.page-article__content .legal-toc ol {
	margin: 0;
	padding-left: 20px;
	columns: 2;
	column-gap: 32px;
}
.page-article__content .legal-toc li { margin: 0 0 7px; break-inside: avoid; }
.page-article__content .legal-toc a {
	color: var(--black-muted);
	font-size: 14px;
	transition: color 0.2s ease;
}
.page-article__content .legal-toc a:hover { color: var(--color-accent); }
.page-article__content h2 {
	scroll-margin-top: 90px;
	margin: 40px 0 14px;
	padding-top: 22px;
	border-top: 1px solid var(--color-border);
	font-family: var(--font-serif);
	font-size: 1.4rem;
	color: var(--color-text);
}
.page-article__content h2:first-of-type { border-top: 0; padding-top: 0; }
.page-article__content p,
.page-article__content li { line-height: 1.75; color: var(--black-muted); }
.page-article__content ul { padding-left: 22px; margin: 0 0 16px; }
.page-article__content li { margin-bottom: 8px; }
.page-article__content a { color: var(--color-accent); text-decoration: underline; }

@media (max-width: 640px) {
	.page-article__content .legal-toc ol { columns: 1; }
}

.shop-layout__header { margin-bottom: 32px; text-align: center; }
.shop-layout__title { margin: 0; font-family: var(--font-serif); font-size: clamp(1.8rem, 4vw, 2.5rem); color: var(--black); }

.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 30px;
	margin: 0;
	padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

.woocommerce ul.products li.product {
	list-style: none;
	margin: 0 !important;
	width: 100% !important;
	float: none !important;
	background: var(--white);
	border: 1px solid #f0ece1;
	border-radius: var(--radius);
	padding: 20px !important;
	transition: all 0.3s ease;
}

.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: transparent; }

/* Aliniere perfectă: butonul „Adaugă în coș" pe aceeași linie la toate cardurile din rând */
.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a.woocommerce-loop-product__link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
.woocommerce ul.products li.product .price { margin-top: auto; padding-top: 10px; }
.woocommerce ul.products li.product .button { margin-top: 14px; }

.woocommerce ul.products li.product a img {
	width: 100%;
	height: auto;
	aspect-ratio: 3/4;
	/* `contain`, nu `cover`: pozele de produs nu au toate același raport (unele sunt
	   aproape pătrate) și decuparea le tăia vârful și baza. Cutia rămâne fixă. */
	object-fit: contain;
	background: var(--bg-soft);
	border-radius: var(--radius);
	margin: 0 0 4px;
	transition: transform 0.4s ease;
}

.woocommerce ul.products li.product:hover a img { transform: scale(1.03); }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	text-align: left;
	color: var(--black);
	padding: 16px 0 8px !important;
}

/* Stele rating în grilă — aurii, discrete */
.dola-stars {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 6px;
	line-height: 1;
}
.dola-stars__row { display: inline-flex; gap: 1px; }
.dola-stars__star {
	font-size: 13px;
	line-height: 1;
	color: #e0ddd6;
}
.dola-stars__star.is-full { color: var(--color-accent); }
.dola-stars__star.is-half {
	background: linear-gradient(90deg, var(--color-accent) 50%, #e0ddd6 50%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.dola-stars__count {
	font-size: 12px;
	color: var(--text-muted);
	font-weight: 500;
}

.woocommerce ul.products li.product .price { color: var(--black); font-weight: 600; font-size: 16px; }

.woocommerce ul.products li.product .button {
	display: block;
	width: 100%;
	text-align: center;
	margin-top: 16px;
	background: var(--black) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: 99px;
	padding: 12px 0 !important;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: all 0.3s ease;
}

.woocommerce ul.products li.product .button:hover { background: var(--sage) !important; }

/* Shop header — category chips */
.shop-cats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 24px;
}

.shop-cats__chip {
	padding: 9px 20px;
	border: 1px solid #ddd8cc;
	border-radius: 99px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: var(--black-muted);
	transition: all 0.25s ease;
}

.shop-cats__chip:hover { border-color: var(--black); color: var(--black); }
.shop-cats__chip.is-active { background: var(--sage); border-color: var(--sage); color: var(--white); }

/* Archive description */
.woocommerce .term-description,
.woocommerce-products-header__title + p {
	max-width: 680px;
	margin: 0 auto 32px;
	text-align: center;
	color: var(--black-muted);
	font-size: 15px;
	line-height: 1.7;
}

/* Result count + ordering toolbar */
.woocommerce .woocommerce-result-count {
	float: left;
	margin: 0 0 24px;
	color: var(--text-muted);
	font-size: 13px;
	line-height: 44px;
}

.woocommerce .woocommerce-ordering { float: right; margin: 0 0 24px; }

.woocommerce .woocommerce-ordering select {
	height: 44px;
	min-width: 220px;
	padding: 0 40px 0 18px;
	border: 1px solid #ddd8cc;
	border-radius: 99px;
	background-color: var(--white);
	font-family: var(--font-sans);
	font-size: 14px;
	color: var(--black);
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23000' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
}

.woocommerce .woocommerce-ordering select:focus { border-color: var(--black); outline: none; }

.woocommerce ul.products { clear: both; }

/* Pagination */
.woocommerce nav.woocommerce-pagination { margin-top: 48px; text-align: center; }
/* PAGINAREA ARE VOIE SĂ SE RUPĂ PE DOUĂ RÂNDURI.
   Cu `nowrap`, cele șapte butoane de pe /magazin/ (1–5, „…", „înainte") cereau
   394 px pe un ecran de 372 și puneau o bară de derulare orizontală pe toată
   pagina — se putea trage tot catalogul în lateral cu degetul. */
.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	border: none;
	padding: 0;
}
.woocommerce nav.woocommerce-pagination ul li { border: none; margin: 0; }

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	border: 1px solid #ddd8cc;
	border-radius: 99px;
	font-size: 14px;
	font-weight: 600;
	color: var(--black);
	transition: all 0.25s ease;
}

.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--black); }

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--black);
	border-color: var(--black);
	color: var(--white);
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 767px) {
	.site-header__container { grid-template-columns: auto 1fr auto; }
	.site-header__nav { display: none; }
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
	.site-header__container { grid-template-columns: auto 1fr auto; gap: 16px; padding: 0 16px; min-height: 60px; }
	.site-header__toggle { display: flex; }
	.site-header__search { display: none; }

	.site-header__nav {
		display: block;
		position: fixed;
		top: 60px;
		left: -100%;
		width: 100%;
		height: calc(100vh - 60px);
		background: var(--white);
		padding: 40px 24px;
		transition: left 0.4s cubic-bezier(0.77, 0, 0.175, 1);
		z-index: 999;
		overflow-y: auto;
	}

	body.nav-open .site-header__nav { left: 0; }
	body.nav-open .site-header__toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	body.nav-open .site-header__toggle span:nth-child(2) { opacity: 0; }
	body.nav-open .site-header__toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	.site-nav__list { flex-direction: column; gap: 0; }
	.site-nav__list a { display: block; padding: 20px 0; font-size: 16px; font-weight: 600; color: var(--black); border-bottom: 1px solid #f0ece1; }

	.hero { min-height: 58vh; padding: 56px 16px 48px; }
	.hero__title { font-size: 2rem; }
	.hero__subtitle { font-size: 0.95rem; margin-bottom: 22px; }

	.category-card__image { height: 200px; }
	.category-card__content { padding: 16px 18px 18px; }

	.main-categories,
	.benefits { padding: 36px 16px; }
	.featured-products { padding: 36px 0; }
	.featured-products .section-heading,
	.featured-products .featured-products__carousel,
	.featured-products .section-cta { padding-left: 16px; padding-right: 16px; }
	.section-heading { margin-bottom: 22px; }
	.section-heading::before { margin-bottom: 12px; }
	.main-categories__grid { gap: 14px; }
	.benefits__grid { gap: 12px; }
	.benefit { padding: 20px 18px; }
	.brand-story { padding: 44px 20px; }
	.trust-bar { padding: 24px 0; }
	.shop-layout,
	.page-layout { padding: 28px 16px 48px; }
	.shop-layout__header { margin-bottom: 24px; }

	.shop-cats {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: none;
		scrollbar-width: none;
		margin: 20px -16px 0;
		padding: 0 16px;
	}
	.shop-cats::-webkit-scrollbar { display: none; }
	.shop-cats__chip { flex: 0 0 auto; padding: 12px 22px; }

	.trust-bar__container { grid-template-columns: 1fr; padding: 0 20px; gap: 22px; }

	/* Listă produse: scroll orizontal nativ, swipe, fără scrollbar */
	.featured-products__carousel {
		display: flex;
		grid-template-columns: unset;
		gap: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 8px;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.featured-products__carousel::-webkit-scrollbar {
		display: none;
		width: 0;
		height: 0;
	}

	.carousel__item {
		flex: 0 0 78%;
		max-width: 280px;
	}

	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering { float: none; display: block; width: 100%; }
	.woocommerce .woocommerce-result-count { line-height: 1.5; margin-bottom: 12px; }
	.woocommerce .woocommerce-ordering select { width: 100%; }

	.benefits__grid { grid-template-columns: 1fr; }
	.site-footer__grid { grid-template-columns: 1fr; gap: 40px; }
	.woocommerce ul.products { grid-template-columns: 1fr; }

	/* Produse similare (PDP) — scroll orizontal, nu stivă verticală de 2000px+ */
	.related ul.products,
	.upsells ul.products {
		display: flex !important; /* suprascrie .woocommerce ul.products { display: grid !important } */
		grid-template-columns: unset;
		gap: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 8px;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.related ul.products::-webkit-scrollbar,
	.upsells ul.products::-webkit-scrollbar { display: none; }

	.related li.product,
	.upsells li.product {
		flex: 0 0 78%;
		max-width: 280px;
		scroll-snap-align: start;
	}
}

/* ==========================================================================
   WooCommerce — Breadcrumb
   ========================================================================== */
.woocommerce .woocommerce-breadcrumb {
	max-width: var(--container);
	margin: 24px auto 0;
	padding: 0 24px;
	font-size: 12px;
	letter-spacing: 0.5px;
	color: var(--text-muted);
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--text-muted);
	transition: color 0.2s ease;
}

.woocommerce .woocommerce-breadcrumb a:hover { color: var(--sage); }

/* ==========================================================================
   WooCommerce — Single Product (PDP) — Split-screen premium
   ========================================================================== */
.pdp-layout {
	padding: 32px 24px 96px;
	background: var(--color-bg);
}

.pdp-layout__inner {
	max-width: var(--container);
	margin: 0 auto;
}

.dola-pdp .woocommerce-breadcrumb {
	max-width: none;
	margin: 0 0 28px;
	padding: 0;
}

/* Split-screen 50/50 — galerie stânga (înaltă), sumar sticky dreapta (scund).
   Galeria ocupă 2 rânduri explicit ca înălțimea ei să nu forțeze un gol sub sumar
   înainte de tab-uri (rândurile de grid altfel s-ar dimensiona după cel mai înalt copil). */
.single-product div.product {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	gap: 48px 56px;
	align-items: start;
}

.single-product div.product .woocommerce-product-gallery {
	grid-column: 1;
	grid-row: 1 / 3;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	position: relative;
	top: auto;
	margin: 0;
	float: none;
	width: 100% !important;
	background: var(--bg-soft);
	border-radius: var(--radius-lg);
	padding: 18px;
	border: 1px solid var(--color-border);
	box-shadow: 0 24px 60px rgba(20,33,28, 0.06);
}

.single-product div.product .woocommerce-product-gallery__wrapper {
	border-radius: var(--radius);
	overflow: hidden;
}

/* Cutie fixă pentru fiecare imagine din galerie — fără salt la swipe între poze cu proporții diferite */
.single-product div.product .woocommerce-product-gallery__image {
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
	height: auto !important;
}

/* Ancora din jurul imaginii umple cutia și centrează poza vertical + orizontal */
.single-product div.product .woocommerce-product-gallery__image > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.single-product div.product .woocommerce-product-gallery__image img {
	border-radius: var(--radius);
	box-shadow: none;
	background: var(--white);
	/* Produsul se vede întreg, indiferent de raportul pozei — cutia 4/5 rămâne fixă
	   ca să nu sară layout-ul la swipe, dar poza se încadrează, nu se decupează. */
	object-fit: contain;
	width: 100% !important;
	height: 100% !important;
	cursor: zoom-in;
}

/* Viewer galerie produs — fundal blurat, modern */
.dola-glightbox {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(26px);
	-webkit-backdrop-filter: blur(26px);
}

.dola-glightbox.is-open { display: flex; }

.dola-glightbox__img {
	max-width: 90%;
	max-height: 88vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: var(--radius);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
}

.dola-glightbox__close,
.dola-glightbox__nav {
	position: absolute;
	border: none;
	background: transparent;
	color: rgba(20,33,28, 0.5);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: background 0.2s ease, color 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.dola-glightbox__close:hover,
.dola-glightbox__nav:hover {
	background: rgba(255, 255, 255, 0.55);
	color: var(--color-text);
}

.dola-glightbox__close {
	top: 16px;
	right: 18px;
	width: 42px;
	height: 42px;
}

.dola-glightbox__nav {
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
}

.dola-glightbox__nav:hover { transform: translateY(-50%) scale(1.08); }

.dola-glightbox__nav--prev { left: 18px; }
.dola-glightbox__nav--next { right: 18px; }

.dola-glightbox__counter {
	position: absolute;
	top: 24px;
	left: 50%;
	transform: translateX(-50%);
	padding: 5px 14px;
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.75);
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 600;
}

.dola-glightbox--single .dola-glightbox__nav,
.dola-glightbox--single .dola-glightbox__counter { display: none; }

@media (max-width: 768px) {
	.dola-glightbox__nav { width: 42px; height: 42px; font-size: 22px; }
	.dola-glightbox__nav--prev { left: 8px; }
	.dola-glightbox__nav--next { right: 8px; }
	.dola-glightbox__img { max-width: 96%; }
}

.single-product div.product .flex-control-thumbs {
	display: flex;
	gap: 10px;
	margin-top: 14px;
	padding: 0;
	list-style: none;
	flex-wrap: wrap;
}

/* width inline de la flexslider — suprascriem pentru miniaturi compacte, uniforme */
.single-product div.product .flex-control-thumbs li {
	width: 64px !important;
	margin: 0;
}

.single-product div.product .flex-control-thumbs img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: var(--radius);
	cursor: pointer;
	opacity: 0.55;
	border: 2px solid transparent;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}

.single-product div.product .flex-control-thumbs img.flex-active,
.single-product div.product .flex-control-thumbs img:hover {
	opacity: 1;
	border-color: var(--color-accent);
}

/* Desktop: thumbnails verticale în stânga imaginii principale (aspect premium) */
@media (min-width: 992px) {
	.single-product div.product .woocommerce-product-gallery {
		display: flex;
		flex-direction: row;
		gap: 14px;
		align-items: flex-start;
	}

	.single-product div.product .woocommerce-product-gallery .flex-viewport {
		order: 2;
		flex: 1 1 auto;
		min-width: 0;
	}

	.single-product div.product .woocommerce-product-gallery > .flex-control-thumbs {
		order: 1;
		flex: 0 0 66px;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 10px;
		margin: 0;
		max-height: 620px;
		overflow-y: auto;
		scrollbar-width: none;
	}

	.single-product div.product .woocommerce-product-gallery > .flex-control-thumbs::-webkit-scrollbar { display: none; }
}

/* Sumarul de cumpărare — flux normal.
   NU folosim position:sticky: pe ecrane scurte conținutul depășea viewport-ul,
   iar partea de jos (inclusiv butonul „Adaugă în coș") devenea inaccesibilă la scroll. */
.single-product div.product .summary {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	position: relative;
	align-self: start;
	margin: 0;
	float: none;
	width: 100% !important;
	padding: 8px 0;
}

.single-product .product_title {
	font-family: var(--font-serif);
	font-size: clamp(1.9rem, 3vw, 2.6rem);
	font-weight: 700;
	line-height: 1.1;
	color: var(--color-text);
	margin: 0 0 14px;
	letter-spacing: -0.02em;
}

/* Badge status stoc */
.dola-stock {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.3px;
}

.dola-stock__dot { width: 8px; height: 8px; border-radius: 50%; }

.dola-stock--in { color: #1b5443; }
.dola-stock--in .dola-stock__dot {
	background: #1b5443;
	box-shadow: 0 0 0 3px rgba(27,84,67, 0.16);
}

.dola-stock--out { color: #8a5a44; }
.dola-stock--out .dola-stock__dot {
	background: #8a5a44;
	box-shadow: 0 0 0 3px rgba(138,90,68, 0.16);
}

/* Eticheta „Inaltime" — heading premium, element cheie de conversie */
.single-product table.variations th.label label {
	display: inline-block;
	margin-bottom: 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--color-text);
}

.single-product div.product p.price,
.single-product div.product span.price {
	font-family: var(--font-sans);
	font-size: 2rem;
	font-weight: 700;
	color: var(--color-text);
	margin: 0 0 26px;
	padding-bottom: 26px;
	letter-spacing: -0.02em;
	border-bottom: 1px solid var(--color-border);
}

.single-product div.product p.price del {
	color: var(--text-muted);
	font-weight: 400;
	font-size: 1.05rem;
	margin-right: 10px;
}

.single-product div.product p.price ins {
	text-decoration: none;
	color: #c0392b;
}

.single-product .woocommerce-product-details__short-description {
	color: var(--black-muted);
	font-size: 15px;
	line-height: 1.75;
	margin-bottom: 32px;
}

.single-product .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

/* Ascundere elemente inutile din sumar */
.single-product .woocommerce-product-rating,
.single-product .product_meta,
.single-product .dola-product-perks {
	display: none !important;
}

/* Cantitate + Adaugă în coș */
.single-product div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin: 0 0 8px;
	padding-top: 4px;
}

.single-product .quantity input.qty {
	width: 72px;
	height: 52px;
	border: 1px solid var(--color-border-strong);
	border-radius: 99px;
	text-align: center;
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 600;
	background: var(--white);
	color: var(--color-text);
}

.single-product div.product form.cart .button,
.single-product div.product .single_add_to_cart_button {
	flex: 1 1 auto;
	min-width: 200px;
	height: 52px;
	padding: 0 36px !important;
	background: var(--color-text) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: 99px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
}

.single-product div.product .single_add_to_cart_button:hover {
	background: var(--color-accent) !important;
	transform: translateY(-1px);
	box-shadow: var(--shadow-md);
}

.dola-trust-badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px 22px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--color-border);
}

.dola-trust-badges__item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12.5px;
	font-weight: 500;
	color: #666666;
	white-space: nowrap;
}

.dola-trust-badges__icon {
	flex-shrink: 0;
	color: var(--color-accent);
}

/* Variații — layout de câmp (etichetă deasupra, pastile dedesubt), nu tabel lateral */
.single-product table.variations,
.single-product table.variations tbody,
.single-product table.variations tr,
.single-product table.variations th,
.single-product table.variations td {
	display: block;
	width: 100%;
	text-align: left;
}

.single-product table.variations {
	margin: 0 0 8px;
	border: 0;
}

/* Link-ul "Șterge" rezervă spațiu invizibil (visibility:hidden) cât timp nu e activ — îl scoatem din flux */
.reset_variations[style*="hidden"] {
	display: none;
}

.single-product table.variations td {
	padding: 6px 0;
	border: 0;
}

.single-product table.variations label {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--color-text);
}

.single-product table.variations select {
	width: 100%;
	min-height: 48px;
	border: 1px solid #ddd8cc;
	border-radius: 8px;
	padding: 0 18px;
	font-family: var(--font-sans);
	background: var(--white);
	color: var(--color-text);
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.single-product table.variations select:focus {
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px var(--color-accent-soft);
}

.woocommerce div.product form.cart .variations select.dola-swatches__native {
	display: none;
}

.dola-swatches {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 12px;
}

.dola-swatches__pill {
	flex: 0 0 auto;
	min-width: 108px;
	min-height: 58px;
	padding: 0 28px;
	border: 1.5px solid #ddd;
	border-radius: 99px;
	background: var(--white);
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.dola-swatches__pill:hover { border-color: var(--color-text); transform: translateY(-2px); }

.dola-swatches__pill.is-active {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: var(--white);
	box-shadow: 0 6px 16px rgba(27,84,67, 0.28);
}

/* Formular recenzie — inputuri moderne */
#review_form .comment-form { display: flex; flex-direction: column; }

#review_form .comment-form-comment { order: 1; }
#review_form .comment-form-photos { order: 2; }
#review_form .comment-form-author { order: 3; }
#review_form .comment-form-email { order: 4; }
#review_form .comment-form-cookies-consent { order: 5; }
#review_form .form-submit { order: 6; }

#review_form label {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--color-text);
}

#review_form p { margin: 0 0 18px; }

#review_form input[type="text"],
#review_form input[type="email"],
#review_form textarea {
	width: 100%;
	padding: 13px 16px;
	border: 1px solid #ddd8cc;
	border-radius: var(--radius);
	background: var(--white);
	font-family: var(--font-sans);
	font-size: 15px;
	color: var(--color-text);
	line-height: 1.5;
	outline: none;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#review_form textarea { min-height: 120px; resize: vertical; }

#review_form input[type="text"]:focus,
#review_form input[type="email"]:focus,
#review_form textarea:focus {
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px var(--color-accent-soft);
}

/* Stele — mai aerisite */
#review_form .stars a { margin-right: 4px; }

/* Consimțământ cookie — aliniat fin */
#review_form .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 9px;
}
#review_form .comment-form-cookies-consent label {
	margin: 0;
	font-weight: 400;
	font-size: 13px;
	color: var(--text-muted);
	line-height: 1.5;
}
#review_form .comment-form-cookies-consent input { margin-top: 2px; }

/* Buton trimite — premium */
#review_form .form-submit .submit {
	display: inline-block;
	min-height: 50px;
	padding: 0 40px;
	background: var(--color-text);
	color: var(--white);
	border: none;
	border-radius: 99px;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.25s ease, transform 0.15s ease;
}

#review_form .form-submit .submit:hover {
	background: var(--color-accent);
	transform: translateY(-1px);
}

/* Formular recenzie — upload poze */
.comment-form-photos { margin: 0 0 18px; }

.comment-form-photos > label {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--color-text);
}

.comment-form-photos__drop {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 78px;
	padding: 16px;
	border: 1.5px dashed var(--color-border-strong);
	border-radius: var(--radius);
	background: var(--bg-soft);
	text-align: center;
	transition: border-color 0.2s ease, background 0.2s ease;
	cursor: pointer;
}

.comment-form-photos__drop:hover {
	border-color: var(--color-accent);
	background: var(--color-accent-soft);
}

.comment-form-photos__drop input[type="file"] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.comment-form-photos__cta {
	font-size: 13px;
	font-weight: 500;
	color: var(--text-muted);
	pointer-events: none;
}

.comment-form-photos__preview {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.comment-form-photos__thumb {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: var(--radius);
	border: 1px solid var(--color-border);
}

/* Poze în recenzii */
.dola-review-images {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 12px 0 4px;
}

.dola-review-images__item {
	display: block;
	width: 84px;
	height: 84px;
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--bg-soft);
	transition: transform 0.2s ease;
}

.dola-review-images__item:hover { transform: scale(1.04); }

.dola-review-images__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Lightbox recenzii */
.dola-lightbox {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(22px);
	-webkit-backdrop-filter: blur(22px);
}

.dola-lightbox.is-open { display: flex; }

.dola-lightbox__img {
	max-width: 100%;
	max-height: 90vh;
	width: auto;
	height: auto;
	border-radius: var(--radius);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.dola-lightbox__close {
	position: absolute;
	top: 18px;
	right: 22px;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 50%;
	background: rgba(20,33,28, 0.55);
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease;
}

.dola-lightbox__close:hover { background: rgba(20,33,28, 0.8); }

/* Tab „Informații" — tabel de specificații tehnice, aspect premium */
.woocommerce-product-attributes {
	max-width: 640px;
	margin: 0 auto;
	border-collapse: collapse;
	width: 100%;
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
	padding: 15px 4px;
	border: 0;
	border-bottom: 1px solid var(--color-border);
	font-size: 15px;
	line-height: 1.5;
	vertical-align: top;
	background: transparent;
}

.woocommerce-product-attributes th {
	width: 42%;
	text-align: left;
	font-weight: 700;
	color: var(--color-text);
}

.woocommerce-product-attributes td {
	text-align: right;
	color: var(--black-muted);
}

.woocommerce-product-attributes tr:last-child th,
.woocommerce-product-attributes tr:last-child td {
	border-bottom: 0;
}

.woocommerce-product-attributes td p { margin: 0; }

/* Mobil: cele 3 tab-uri să încapă pe un rând fără să se taie */


/* Related / Upsells */
.single-product .related,
.single-product .upsells {
	grid-column: 1 / -1;
	margin-top: 64px;
}

.single-product .related > h2,
.single-product .upsells > h2 {
	font-family: var(--font-serif);
	font-size: clamp(1.5rem, 3vw, 2rem);
	text-align: center;
	margin-bottom: 36px;
	color: var(--color-text);
	font-weight: 700;
}

/* Sticky bottom bar — mobil conversie */
.dola-sticky-atc {
	display: none;
}

@media (max-width: 768px) {
	body.dola-pdp {
		padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
	}

	.pdp-layout {
		padding: 20px 16px 32px;
	}

	.dola-pdp .woocommerce-breadcrumb {
		margin-bottom: 20px;
		font-size: 11px;
	}

	.single-product div.product {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
		gap: 24px;
	}

	.single-product div.product .woocommerce-product-gallery {
		grid-column: 1;
		grid-row: auto;
		min-width: 0;
		padding: 12px;
	}

	.single-product div.product .summary {
		grid-column: 1;
		grid-row: auto;
		position: static;
		padding: 0;
	}

	.single-product .product_title {
		font-size: 1.65rem;
	}

	.single-product div.product p.price,
	.single-product div.product span.price {
		font-size: 1.45rem;
		margin-bottom: 14px;
	}

	/* Butonul principal + cantitatea — ascunse pe mobil (sticky bar preia comanda, cantitate implicită 1) */
	.single-product div.product form.cart .single_add_to_cart_button,
	.single-product div.product form.cart .quantity {
		display: none !important;
	}

	.single-product div.product form.cart {
		display: block;
		margin: 0;
	}

	.single-product table.variations {
		margin-bottom: 0;
	}

	/* Bara lipicioasă — preț + CTA permanent */
	.dola-sticky-atc {
		display: flex;
		align-items: center;
		gap: 14px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1001;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
		background: rgba(255, 255, 255, 0.98);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
		border-top: 1px solid var(--color-border);
		box-shadow: 0 -8px 32px rgba(20,33,28, 0.08);
	}

	.dola-sticky-atc__price {
		flex: 0 0 auto;
		font-size: 1.15rem;
		font-weight: 700;
		color: var(--color-text);
		line-height: 1.2;
		min-width: 0;
	}

	.dola-sticky-atc__price del {
		display: block;
		font-size: 0.75rem;
		font-weight: 400;
		color: var(--text-muted);
	}

	.dola-sticky-atc__price ins {
		text-decoration: none;
	}

	.dola-sticky-atc__btn {
		flex: 1 1 auto;
		min-height: 48px;
		padding: 0 20px;
		border: none;
		border-radius: 99px;
		background: var(--color-accent);
		color: var(--white);
		font-family: var(--font-sans);
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 1px;
		text-transform: uppercase;
		cursor: pointer;
		transition: background 0.2s ease, transform 0.15s ease;
		-webkit-tap-highlight-color: transparent;
	}

	.dola-sticky-atc__btn:hover,
	.dola-sticky-atc__btn:active {
		background: #123a2e;
	}

	.dola-sticky-atc__btn.is-loading {
		opacity: 0.75;
		pointer-events: none;
	}

	.woocommerce-cart table.shop_table thead { display: none; }
}

/* ==========================================================================
   WooCommerce — Cart
   ========================================================================== */
.woocommerce-cart table.shop_table {
	border: 1px solid #eee;
	border-radius: var(--radius-lg);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.woocommerce-cart table.shop_table th {
	background: var(--bg-soft);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--text-muted);
	padding: 18px 20px;
}

.woocommerce-cart table.shop_table td { padding: 20px; border-top: 1px solid #f0ece1; }
.woocommerce-cart .product-thumbnail img { width: 72px; border-radius: var(--radius); }

.woocommerce-cart .cart_totals h2 { font-family: var(--font-serif); color: var(--black); }
.woocommerce-cart .cart_totals table.shop_table {
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border);
	background: var(--bg-soft);
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	padding: 15px 20px;
	border-top: 1px solid var(--color-border);
	font-size: 14px;
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	font-size: 16px;
	font-weight: 700;
	color: var(--color-text);
}

/* Cantitate — pill modern */
.woocommerce-cart .quantity input.qty {
	width: 74px;
	height: 46px;
	border: 1px solid #ddd8cc;
	border-radius: var(--radius);
	text-align: center;
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--color-text);
	background: var(--white);
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.woocommerce-cart .quantity input.qty:focus {
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px var(--color-accent-soft);
}

/* Cupon — câmp + buton aliniate elegant */
.woocommerce-cart .coupon { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.woocommerce-cart .coupon input#coupon_code {
	height: 48px;
	min-width: 200px;
	border: 1px solid #ddd8cc;
	border-radius: var(--radius);
	padding: 0 16px;
	font-family: var(--font-sans);
	font-size: 14px;
	background: var(--white);
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.woocommerce-cart .coupon input#coupon_code:focus {
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px var(--color-accent-soft);
}

/* Link „Elimină" (×) din coș — discret, rotund */
.woocommerce-cart td.product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--bg-soft);
	color: var(--text-muted) !important;
	font-size: 18px;
	line-height: 1;
	transition: background 0.2s ease, color 0.2s ease;
}
.woocommerce-cart td.product-remove a.remove:hover {
	background: #8a5a44;
	color: #fff !important;
}

/* Mesaj dinamic livrare gratuită (up-sell) */
.dola-shipnote {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 14px;
	background: var(--bg-soft);
	border: 1px solid var(--color-border);
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-lg);
	padding: 16px 20px;
	margin: 0 0 24px;
	font-size: 14.5px;
	color: var(--color-text);
}
.dola-shipnote__icon { font-size: 19px; line-height: 1; flex-shrink: 0; }
.dola-shipnote__text { flex: 1 1 240px; line-height: 1.5; }
.dola-shipnote__text strong { color: var(--color-text); font-weight: 700; }
.dola-shipnote__text .amount { white-space: nowrap; }

.dola-shipnote__bar {
	flex: 1 1 100%;
	height: 6px;
	border-radius: 99px;
	background: rgba(20,33,28, 0.08);
	overflow: hidden;
}
.dola-shipnote__fill {
	display: block;
	height: 100%;
	border-radius: 99px;
	background: linear-gradient(90deg, var(--color-accent), #2a7358);
	transition: width 0.4s ease;
}

.dola-shipnote--done {
	border-left-color: #1b5443;
	background: rgba(27,84,67, 0.06);
}
.dola-shipnote--done .dola-shipnote__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #1b5443;
	color: #fff;
	font-size: 13px;
}

/* ==========================================================================
   Coș modern — carduri produse + sumar sticky
   ========================================================================== */
.dola-cart {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 370px;
	gap: 32px;
	align-items: start;
}

.dola-cart__main { min-width: 0; }
.dola-cart a { text-decoration: none; }

.dola-cart__items { display: flex; flex-direction: column; gap: 14px; }

.dola-cart__item {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) auto 116px 34px;
	gap: 20px;
	align-items: center;
	background: var(--white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 14px 18px 14px 14px;
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.dola-cart__item:hover { box-shadow: 0 12px 30px rgba(20,33,28, 0.06); border-color: transparent; }

.dola-cart__thumb img {
	width: 92px;
	height: 108px;
	object-fit: cover;
	border-radius: var(--radius);
	background: var(--bg-soft);
	display: block;
}

.dola-cart__info { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.dola-cart__name {
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--color-text);
	line-height: 1.35;
}
.dola-cart__name:hover { color: var(--color-accent); }
.dola-cart__meta { font-size: 13px; color: var(--text-muted); line-height: 1.4; }
.dola-cart__meta p, .dola-cart__meta dl { margin: 0; }
.dola-cart__meta dt, .dola-cart__meta dd { display: inline; margin: 0; font-weight: 400; }
.dola-cart__unit { margin-top: 5px; font-size: 13px; color: var(--text-muted); }
.dola-cart__unit-label { opacity: 0.7; }

.dola-cart__qty .quantity { margin: 0; }
.dola-cart__qty input.qty {
	width: 72px;
	height: 44px;
	border: 1px solid #ddd8cc;
	border-radius: var(--radius);
	text-align: center;
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--color-text);
	background: var(--white);
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.dola-cart__qty input.qty:focus { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-soft); }

.dola-cart__subtotal {
	text-align: right;
	font-size: 16px;
	font-weight: 700;
	color: var(--color-text);
}
.dola-cart__subtotal .amount { white-space: nowrap; }

.dola-cart__remove a.remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--bg-soft);
	color: var(--text-muted) !important;
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.dola-cart__remove a.remove:hover { background: #8a5a44; color: #fff !important; }

/* Acțiuni (cupon + actualizare) */
.dola-cart__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--color-border);
}
.dola-cart__actions .coupon { display: flex; gap: 8px; margin: 0; }
.dola-cart__actions input#coupon_code {
	height: 46px;
	min-width: 170px;
	border: 1px solid #ddd8cc;
	border-radius: var(--radius);
	padding: 0 16px;
	font-family: var(--font-sans);
	font-size: 14px;
	background: var(--white);
	outline: none;
}
.dola-cart__actions input#coupon_code:focus { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-soft); }
.dola-cart__actions .coupon .button { background: var(--color-text); }
.dola-cart__update {
	margin-left: auto;
	background: transparent !important;
	color: var(--color-text) !important;
	border: 1px solid var(--color-border-strong) !important;
}
.dola-cart__update:hover { background: var(--bg-soft) !important; color: var(--color-text) !important; }

/* Sumar sticky */
.dola-cart__aside { position: sticky; top: 100px; }
.dola-cart__aside .cart-collaterals { width: 100%; }
.dola-cart__aside .cart_totals { float: none; width: 100%; }
.dola-cart__aside .cart_totals > h2 {
	font-family: var(--font-serif);
	font-size: 1.4rem;
	color: var(--color-text);
	margin: 0 0 16px;
}
.dola-cart__aside .cart_totals table.shop_table {
	background: var(--bg-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.dola-cart__aside .cart_totals table.shop_table th,
.dola-cart__aside .cart_totals table.shop_table td {
	padding: 15px 20px;
	border-top: 1px solid var(--color-border);
	font-size: 14px;
	vertical-align: middle;
}
.dola-cart__aside .cart_totals tr:first-child th,
.dola-cart__aside .cart_totals tr:first-child td { border-top: 0; }
.dola-cart__aside .cart_totals .order-total th,
.dola-cart__aside .cart_totals .order-total td {
	font-size: 17px;
	font-weight: 700;
	color: var(--color-text);
}
/* Livrare gratuită oriunde — ascundem destinația/calculatorul rămas */
.dola-cart__aside .woocommerce-shipping-destination,
.dola-cart__aside .shipping-calculator-button,
.dola-cart__aside .shipping-calculator-form { display: none !important; }

.dola-cart__aside .wc-proceed-to-checkout { padding: 18px 0 0; }
.dola-cart__aside .wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	text-align: center;
	background: var(--color-accent) !important;
	color: #fff !important;
	border-radius: 99px;
	padding: 17px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: background 0.25s ease, transform 0.15s ease;
}
.dola-cart__aside .wc-proceed-to-checkout a.checkout-button:hover { background: #123a2e !important; transform: translateY(-1px); }

@media (max-width: 900px) {
	.dola-cart { grid-template-columns: 1fr; gap: 24px; }
	.dola-cart__aside { position: static; }
}

@media (max-width: 560px) {
	.dola-cart__item {
		grid-template-columns: 76px 1fr auto;
		grid-template-areas:
			"thumb info remove"
			"thumb qty sub";
		column-gap: 14px;
		row-gap: 14px;
		align-items: start;
	}
	.dola-cart__thumb { grid-area: thumb; }
	.dola-cart__thumb img { width: 76px; height: 92px; }
	.dola-cart__info { grid-area: info; }
	.dola-cart__remove { grid-area: remove; align-self: start; }
	.dola-cart__qty { grid-area: qty; align-self: center; }
	.dola-cart__subtotal { grid-area: sub; align-self: center; text-align: right; }
	.dola-cart__actions { flex-direction: column; align-items: stretch; }
	.dola-cart__actions .coupon { width: 100%; }
	.dola-cart__actions input#coupon_code { flex: 1 1 auto; min-width: 0; }
	.dola-cart__update { margin-left: 0; }
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	background: var(--black);
	color: var(--white);
	border-radius: 99px;
	padding: 14px 32px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: all 0.3s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover { background: var(--sage); }

.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block;
	text-align: center;
	font-size: 14px;
	padding: 18px;
}

/* ==========================================================================
   WooCommerce — Checkout (conversie rapidă RO)
   ========================================================================== */
.woocommerce-checkout h3 {
	font-family: var(--font-serif);
	color: var(--black);
	margin: 0 0 20px;
	font-size: 1.5rem;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
	margin-bottom: 14px;
}

.woocommerce form .form-row label {
	font-size: 13px;
	font-weight: 500;
	color: var(--black-muted);
	margin-bottom: 6px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
	border: 1px solid #ddd8cc !important;
	border-radius: var(--radius);
	padding: 14px 16px !important;
	min-height: 48px !important;
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.3;
	background: var(--white);
	box-sizing: border-box;
}

/* Părintele .select2-selection--single are deja `padding: 14px 16px` (regula de mai
   sus, comună cu inputurile). Un line-height de 48px aici se ADUNA peste acel padding
   → caseta ajungea la 93.6px în loc de 50px. Interiorul nu mai adaugă spațiu propriu;
   doar rezervă la dreapta cât să nu intre textul sub săgeată. */
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 20.8px !important;
	padding: 0 18px 0 0 !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
	height: 100% !important;
	top: 0 !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--color-accent) !important;
	box-shadow: 0 0 0 3px var(--color-accent-soft);
	outline: none;
}

.woocommerce-checkout #order_review {
	background: var(--bg-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 24px;
}

.woocommerce-checkout #order_review table.shop_table {
	border: 0;
	margin: 0 0 20px;
}

.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td {
	padding: 12px 0;
	border-top: 1px solid #eee;
	font-size: 14px;
}

.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td {
	font-size: 16px;
	font-weight: 700;
	border-top: 2px solid var(--color-text);
}

.woocommerce-checkout #place_order {
	display: block;
	width: 100%;
	min-height: 56px;
	margin: 0;
	padding: 16px 24px;
	background: #1b5443 !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--radius);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	transition: background 0.25s ease, transform 0.15s ease;
}

.woocommerce-checkout #place_order:hover {
	background: #a68358 !important;
}

/* ==========================================================================
   Comandă primită (thank you) — modern
   ========================================================================== */
.woocommerce-order { max-width: 760px; margin: 0 auto; }

.woocommerce-order > .woocommerce-notice--success,
.woocommerce-thankyou-order-received {
	position: relative;
	background: var(--bg-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 30px 28px 30px 78px;
	margin: 0 0 28px;
	font-family: var(--font-serif);
	font-size: 1.35rem;
	color: var(--color-text);
	line-height: 1.4;
}
.woocommerce-thankyou-order-received::before {
	content: '✓';
	position: absolute;
	left: 26px;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--color-accent);
	color: #fff;
	font-size: 20px;
	font-family: var(--font-sans);
}

.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.woocommerce-order-overview li {
	flex: 1 1 140px;
	margin: 0;
	padding: 18px 22px;
	border-right: 1px solid var(--color-border);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--text-muted);
	line-height: 1.5;
}
.woocommerce-order-overview li:last-child { border-right: 0; }
.woocommerce-order-overview li strong {
	display: block;
	margin-top: 5px;
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: var(--color-text);
}

.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title {
	font-family: var(--font-serif);
	font-size: 1.25rem;
	color: var(--color-text);
	margin: 32px 0 16px;
}
.woocommerce-order table.woocommerce-table--order-details,
.woocommerce-order table.shop_table {
	width: 100%;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
.woocommerce-order table.shop_table th,
.woocommerce-order table.shop_table td {
	padding: 14px 20px;
	border-top: 1px solid var(--color-border);
	font-size: 14px;
	text-align: left;
}
.woocommerce-order table.shop_table tfoot .order-total th,
.woocommerce-order table.shop_table tfoot .order-total td {
	font-size: 16px;
	font-weight: 700;
	color: var(--color-text);
}

@media (max-width: 560px) {
	.woocommerce-thankyou-order-received { font-size: 1.15rem; padding: 24px 20px 24px 66px; }
	.woocommerce-order-overview li { flex: 1 1 100%; border-right: 0; border-bottom: 1px solid var(--color-border); }
	.woocommerce-order-overview li:last-child { border-bottom: 0; }
}

/* Desktop: 55% formular / 45% sumar sticky */
@media (min-width: 768px) {
	form.woocommerce-checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
		column-gap: 48px;
		row-gap: 0;
		align-items: start;
	}

	form.woocommerce-checkout #customer_details {
		grid-column: 1;
		grid-row: 1 / span 3;
		width: 100%;
		float: none;
	}

	form.woocommerce-checkout #customer_details .col-1,
	form.woocommerce-checkout #customer_details .col-2 {
		width: 100%;
		float: none;
		padding: 0;
	}

	form.woocommerce-checkout #order_review_heading {
		grid-column: 2;
		grid-row: 1;
		margin-top: 0;
	}

	form.woocommerce-checkout #order_review {
		grid-column: 2;
		grid-row: 2;
		position: sticky;
		top: 100px;
		padding: 28px;
	}
}

/* Mobil: o coloană, CTA lat + accent */
@media (max-width: 767px) {
	form.woocommerce-checkout {
		display: block;
	}

	.woocommerce-checkout #order_review {
		margin-top: 28px;
		padding: 20px;
	}

	.woocommerce-checkout #place_order {
		width: 100%;
		min-height: 56px;
		font-weight: 700;
		background: #1b5443 !important;
	}
}

/* ==========================================================================
   WooCommerce — Notices
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 14px;
	border: 1px solid var(--color-border);
	border-left: 4px solid var(--sage);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: 0 8px 24px rgba(20,33,28, 0.06);
	padding: 15px 20px 15px 52px;
	font-size: 14px;
	font-weight: 500;
	color: var(--color-text);
	list-style: none;
}

/* Iconița — cerc auriu cu bifă, poziționată în padding (nu peste text) */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--sage);
	color: #fff;
	font-size: 12px;
	line-height: 1;
}

.woocommerce-info::before { background: var(--color-text); }
.woocommerce-error { border-left-color: #8a5a44; }
.woocommerce-error::before { background: #8a5a44; }

/* Butonul „Vezi coșul" din mesaj — pill discret */
.woocommerce-message .button.wc-forward,
.woocommerce-info .button.wc-forward {
	margin-left: auto;
	padding: 9px 20px !important;
	background: var(--color-text) !important;
	color: #fff !important;
	border-radius: 99px !important;
	font-size: 11px !important;
	font-weight: 600;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	transition: background 0.2s ease;
}
.woocommerce-message .button.wc-forward:hover,
.woocommerce-info .button.wc-forward:hover { background: var(--color-accent) !important; }

/* Sale badge */
.woocommerce span.onsale {
	position: absolute;
	top: 14px;
	left: 14px;
	min-height: auto;
	min-width: auto;
	margin: 0;
	padding: 6px 12px;
	background: var(--black);
	color: var(--white);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 1;
	border-radius: 99px;
}

.single-product .woocommerce span.onsale { top: 18px; left: 18px; background: var(--color-accent); }

/* ==========================================================================
   WooCommerce pages — responsive (PDP tablet)
   ========================================================================== */
@media (max-width: 900px) {
	.single-product div.product {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
		gap: 28px;
	}

	.single-product div.product .woocommerce-product-gallery {
		grid-column: 1;
		grid-row: auto;
		min-width: 0;
	}

	.single-product div.product .summary {
		grid-column: 1;
		grid-row: auto;
		position: static;
	}
}

/* ==========================================================================
   OVERRIDE FORȚAT — grilă & PDP tipografie (prioritate maximă, în afara media queries)
   ========================================================================== */
.woocommerce-loop-product__excerpt {
	display: none !important;
}

.woocommerce-Tabs-panel--description {
	display: block;
	margin: 40px auto 0;
	max-width: 800px;
	padding: 0 20px;
	font-size: 16px;
	color: var(--black-muted);
}

.woocommerce-Tabs-panel--description h2,
.woocommerce-Tabs-panel--description h3 {
	text-align: center;
	font-family: var(--font-serif);
	color: var(--color-text);
	line-height: 1.3;
	margin: 0 0 20px;
}

.woocommerce-Tabs-panel--description h2 { font-size: clamp(1.4rem, 3vw, 1.9rem); }
.woocommerce-Tabs-panel--description h3 { font-size: 1.2rem; margin-top: 36px; }

.woocommerce-Tabs-panel--description p {
	text-align: left;
	line-height: 1.8;
	margin: 0 0 20px;
}

.woocommerce-Tabs-panel--description ul {
	display: grid;
	gap: 12px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	text-align: left;
}

.woocommerce-Tabs-panel--description ul li {
	position: relative;
	padding-left: 24px;
	line-height: 1.6;
}

.woocommerce-Tabs-panel--description ul li::before {
	content: '';
	position: absolute;
	left: 4px;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--color-accent);
}

.woocommerce-Tabs-panel--description img {
	display: block;
	width: 100%;
	height: auto;
	margin: 32px 0;
	border-radius: var(--radius-lg);
}

.woocommerce-Tabs-panel--description strong { color: var(--color-text); font-weight: 600; }




/* ==========================================================================
   SISTEM DESKTOP — proporții naturale, scară fluidă
   Mobilul (<768px) rămâne neatins.
   ========================================================================== */
@media (min-width: 768px) {

	/* Container: lat cât să fie generos, plafonat cât să nu obosească.
	   Padding lateral respirabil, care crește odată cu ecranul. */
	:root {
		--container: 1280px;
		--gutter: clamp(24px, 4vw, 64px);
		--header-height: 68px;
	}

	.page-layout__inner,
	.shop-layout__inner,
	.site-header__container,
	.site-footer__container,
	.main-categories,
	.benefits,
	.trust-bar__container,
	.featured-products .section-heading,
	.featured-products .featured-products__carousel,
	.featured-products .section-cta,
	.brand-story__inner,
	.contact-page__inner {
		max-width: var(--container);
		margin-left: auto;
		margin-right: auto;
		padding-left: var(--gutter);
		padding-right: var(--gutter);
	}

	.page-layout,
	.shop-layout { padding: 40px 0 80px; }

	/* Ritm vertical armonios — secțiunile respiră fără să se piardă */
	.main-categories,
	.featured-products,
	.benefits { padding-top: 72px; padding-bottom: 72px; }
	.brand-story { padding: 80px 0; }
	.trust-bar { padding: 26px 0; }
	.section-heading { margin-bottom: 36px; }
	.section-cta { margin-top: 36px; }
	.shop-layout__header { margin-bottom: 32px; }
	.hero { min-height: 58vh; }

	/* Tipografie fluidă — scalează natural cu ecranul */
	body { font-size: 15px; }
	.hero__title { font-size: clamp(2.1rem, 3.6vw, 3.2rem); }
	.hero__subtitle { font-size: clamp(0.95rem, 1.1vw, 1.05rem); }
	.section-heading__title { font-size: clamp(1.5rem, 2.2vw, 2rem); }
	.shop-layout__title,
	.page-article__title { font-size: clamp(1.6rem, 2.4vw, 2.1rem); margin-bottom: 10px; }
	.brand-story__title { font-size: clamp(1.5rem, 2.2vw, 2rem); }

	/* Navigație și filtre — lizibile, nu miniaturale */
	.site-nav__list { gap: 28px; }
	.site-nav__list a { font-size: 12.5px; letter-spacing: 0.08em; }
	.site-header__search { max-width: 260px; }
	.search-form__input { height: 40px; font-size: 13.5px; }
	.shop-cats { gap: 9px; margin-top: 18px; }
	.shop-cats__chip { font-size: 13px; padding: 8px 18px; }
	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering select { font-size: 13px; }
	.woocommerce .woocommerce-ordering select { height: 40px; }

	/* Grile: densitate care se adaptează natural */
	.woocommerce ul.products,
	.featured-products__carousel {
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
		gap: 36px 26px;
	}
	.main-categories__grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 26px; }
	.benefits__grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }

	/* Cardul de produs — fotografia e eroul */
	.woocommerce ul.products li.product { padding: 14px !important; }
	.woocommerce ul.products li.product a img,
	.product-card__image {
		aspect-ratio: 3 / 4;
		max-height: none;
		height: auto;
		width: 100%;
		object-fit: contain;
		background: #fbf8f1;
		padding: 8px;
	}
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 13.5px;
		line-height: 1.45;
		min-height: 2.9em;
		padding: 12px 0 6px !important;
	}
	.woocommerce ul.products li.product .price { font-size: 16px; }
	.woocommerce ul.products li.product .price del { font-size: 12.5px; }
	.woocommerce ul.products li.product .button {
		font-size: 11px;
		letter-spacing: 0.09em;
		padding: 12px 0 !important;
		margin-top: 12px;
	}

	/* Categorii / beneficii */
	.category-card__image { height: 210px; }
	.category-card__content { padding: 22px 22px 24px; }
	.category-card__title { font-size: 1.15rem; }
	.category-card__desc { font-size: 13px; }
	.benefit { padding: 22px 20px; }
	.benefit__title { font-size: 15px; }
	.benefit__text { font-size: 13px; }

	/* PDP */
	.single-product div.product { gap: 48px 56px; }
	.single-product .related,
	.single-product .upsells { margin-top: 72px; }

	/* Trust bar / footer */
	.trust-bar__container { gap: 40px; }
	.site-footer { padding: 64px 0 28px; }
	.site-footer__grid { gap: 44px; margin-bottom: 40px; }
}
/* ==========================================================================
   PDP — zona de cumpărare: flux clar, fără suprapuneri
   ========================================================================== */
.single-product div.product .summary { overflow: visible; }

/* Blocul de variație (preț + stoc) — spațiu propriu, nu se suprapune peste buton */
.single-product .single_variation_wrap { display: block; margin-top: 4px; }
.single-product .woocommerce-variation {
	margin: 0 0 14px;
	padding: 0;
	clear: both;
}
.single-product .woocommerce-variation-price { display: block; margin-bottom: 6px; }
.single-product .woocommerce-variation-availability { display: block; }
.single-product .woocommerce-variation-availability p { margin: 0; font-size: 13px; }

/* Butonul stă mereu pe rândul lui, la lățime completă pe desktop */
.single-product div.product .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	clear: both;
}
@media (min-width: 768px) {
	.single-product div.product .single_add_to_cart_button {
		flex: 1 1 260px;
		min-width: 240px;
	}
}

/* ==========================================================================
   CHECKOUT — experiență modernă, 2 coloane, încredere
   ========================================================================== */

/* Titluri de secțiune discrete */
.woocommerce-checkout h3 {
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--ink, #111);
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--hairline, rgba(15,31,26,.07));
}

/* Câmpuri: etichete fine, spațiere strânsă */
.woocommerce-checkout .form-row { margin-bottom: 14px !important; }
.woocommerce-checkout .form-row label {
	font-size: 12px;
	font-weight: 500;
	color: var(--ink-muted, #526359);
	letter-spacing: 0.01em;
	margin-bottom: 6px;
}
.woocommerce-checkout .form-row .required { color: var(--ink-faint, #b3ac9d); text-decoration: none; }
.woocommerce form .form-row input.input-text::placeholder { color: #bdbdbd; }

/* Zona de plată — bloc distinct, semnal de siguranță */
.woocommerce-checkout #payment {
	background: transparent;
	border-radius: var(--radius);
	margin-top: 18px;
}
.woocommerce-checkout #payment ul.payment_methods {
	padding: 0;
	margin: 0 0 16px;
	border: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.woocommerce-checkout #payment ul.payment_methods li {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--hairline, rgba(15,31,26,.07));
	border-radius: var(--radius);
	background: #fff;
	transition: border-color 0.3s var(--ease, ease), background 0.3s var(--ease, ease);
}
.woocommerce-checkout #payment ul.payment_methods li:hover { border-color: rgba(15,31,26,.16); }
.woocommerce-checkout #payment ul.payment_methods li label {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--ink, #111);
	margin: 0;
	cursor: pointer;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { accent-color: var(--color-accent); }
.woocommerce-checkout #payment .payment_box {
	background: var(--bg-soft);
	border-radius: var(--radius);
	padding: 12px 14px;
	margin: 10px 0 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--ink-soft, #35403a);
}
.woocommerce-checkout #payment .payment_box::before { display: none; }

/* Semnale de încredere */
.dola-checkout-trust {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--hairline, rgba(15,31,26,.07));
}
.dola-checkout-trust__item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--ink-muted, #526359);
	line-height: 1.4;
}
.dola-checkout-trust__item svg { flex-shrink: 0; color: var(--color-accent); }

/* Mesaje de eroare — blânde, nu alarmante */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error {
	background: #fdf8f3 !important;
	border: 1px solid rgba(27,84,67, 0.28) !important;
	border-left: 3px solid var(--color-accent) !important;
	border-radius: var(--radius);
	color: var(--ink-soft, #35403a) !important;
	padding: 14px 18px 14px 46px !important;
	font-size: 13.5px;
	box-shadow: none !important;
	list-style: none;
}
.woocommerce-checkout .woocommerce-error::before {
	background: var(--color-accent) !important;
	color: #fff !important;
	content: '!' !important;
	font-weight: 600;
	left: 16px !important;
	width: 20px; height: 20px;
	font-size: 12px !important;
}
.woocommerce-checkout .woocommerce-error li { margin: 0 0 4px; padding: 0; }
.woocommerce-checkout .woocommerce-error li:last-child { margin-bottom: 0; }
/* Câmp cu problemă — subliniere caldă, nu roșu strident */
.woocommerce-checkout .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-invalid select {
	border-color: rgba(27,84,67, 0.55) !important;
	background: #fffdfa !important;
}
.woocommerce-checkout .woocommerce-validated input.input-text { border-color: rgba(27,84,67, 0.35) !important; }

/* Desktop: sumarul urmărește scroll-ul (e scurt, deci sigur) */
@media (min-width: 768px) {
	form.woocommerce-checkout #order_review {
		position: sticky;
		top: 90px;
		align-self: start;
		max-height: calc(100vh - 110px);
		overflow-y: auto;
		scrollbar-width: thin;
	}
	.woocommerce-checkout .col2-set .col-1,
	.woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
}

/* Mobil: o coloană, buton confortabil */
@media (max-width: 767px) {
	.woocommerce-checkout #order_review { margin-top: 24px; }
	.dola-checkout-trust { gap: 10px; }
}

/* Caseta de descriere a metodei de plată — suprascrie stilul default WooCommerce (mov) */
.woocommerce-checkout #payment div.payment_box,
body.woocommerce-checkout #payment div.payment_box {
	background: #f7f7f5 !important;
	color: var(--ink-soft, #35403a) !important;
	border-radius: var(--radius) !important;
	padding: 12px 14px !important;
	margin: 10px 0 0 !important;
	font-size: 12.5px !important;
	line-height: 1.6 !important;
	box-shadow: none !important;
}
.woocommerce-checkout #payment div.payment_box::before,
body.woocommerce-checkout #payment div.payment_box::before {
	display: none !important;
	content: none !important;
	border: 0 !important;
}
/* Butonul final — proeminent, cald */
body.woocommerce-checkout #place_order {
	letter-spacing: 0.06em;
	font-size: 13.5px !important;
	border-radius: 8px !important;
}

/* ==========================================================================
   CHECKOUT INTELIGENT — selector PF/PJ, lookup CUI, switch livrare
   ========================================================================== */

/* Selector Persoană fizică / Firmă — segmented control
   GRID cu două coloane egale: pastila nu mai depinde de lățimea textului.
   Geometrie exactă, fără numere magice — vezi comentariul de la .__pill. */
.dola-entity {
	position: relative;
	display: inline-grid;
	grid-template-columns: 1fr 1fr;
	padding: 4px;
	margin: 0 0 22px;
	background: var(--bg-soft, #f0ece1);
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	border-radius: 99px;
}
.dola-entity__opt {
	position: relative;
	z-index: 1;
	appearance: none;
	border: 0;
	background: transparent;
	border-radius: 99px;
	padding: 9px 22px;
	font-family: var(--font-sans);
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--ink-muted, #526359);
	cursor: pointer;
	white-space: nowrap;
	text-align: center;
	transition: color 0.32s var(--ease, ease);
	-webkit-tap-highlight-color: transparent;
}
.dola-entity__opt.is-active { color: #fff; font-weight: 600; }
.dola-entity__opt:not(.is-active):hover { color: var(--ink, #0f1f1a); }

/* Pastila care alunecă.
   left:4px + right:50% → marginea dreaptă cade exact pe mijlocul padding-box-ului,
   adică fix pe limita primei coloane de grid. Lățimea rezultată (PB/2 - 4px) este
   identică cu lățimea unei coloane, deci translateX(100%) aterizează perfect pe
   a doua — la orice lățime a containerului, în orice limbă. Zero calc(), zero JS. */
.dola-entity__pill {
	position: absolute;
	z-index: 0;
	top: 4px;
	bottom: 4px;
	left: 4px;
	right: 50%;
	border-radius: 99px;
	background: var(--ink, #0f1f1a);
	transition: transform 0.42s var(--ease, cubic-bezier(0.22,1,0.36,1));
}
.dola-entity:has(.dola-entity__opt:last-of-type.is-active) .dola-entity__pill {
	transform: translateX(100%);
}
@media (prefers-reduced-motion: reduce) {
	.dola-entity__pill { transition: none; }
}

/* Rânduri ascunse — tranziție lină, nu salt */
.dola-hidden-row {
	display: none !important;
}

/* Status lookup CUI */
.dola-cui-status {
	display: block;
	margin-top: 6px;
	font-size: 11.5px;
	line-height: 1.4;
	min-height: 14px;
	color: var(--ink-muted, #526359);
	transition: color 0.3s ease;
}
.dola-cui-status.is-loading { color: var(--color-accent); }
.dola-cui-status.is-loading::after {
	content: '';
	display: inline-block;
	width: 9px; height: 9px;
	margin-left: 6px;
	border: 1.5px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	vertical-align: -1px;
	animation: dolaSpin 0.7s linear infinite;
}
@keyframes dolaSpin { to { transform: rotate(360deg); } }
.dola-cui-status.is-ok { color: #1b5443; font-weight: 500; }
.dola-cui-status.is-error { color: #8a5a44; }

/* Switch modern pentru „livrare la altă adresă" */
.woocommerce-checkout #ship-to-different-address label.dola-switch-label,
.dola-switch-label {
	display: flex !important;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	color: var(--ink, #111) !important;
	user-select: none;
}
.dola-switch-label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 0; height: 0;
	pointer-events: none;
}
.dola-switch {
	order: 2;
	margin-left: auto;
	position: relative;
	flex-shrink: 0;
	width: 46px;
	height: 27px;
	border-radius: 99px;
	background: #e3e3e3;
	transition: background 0.32s var(--ease, ease);
}
.dola-switch::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,0.18);
	transition: transform 0.32s var(--ease, cubic-bezier(0.22,1,0.36,1));
}
.dola-switch.is-on { background: var(--color-accent, #1b5443); }
.dola-switch.is-on::after { transform: translateX(19px); }

/* Titlul secțiunii de livrare — aliniat cu switch-ul */
.woocommerce-checkout #ship-to-different-address {
	margin: 8px 0 16px;
	padding: 14px 16px;
	border: 1px solid var(--hairline, rgba(15,31,26,.07));
	border-radius: var(--radius, 8px);
	background: #fff;
}
.woocommerce-checkout #ship-to-different-address span { font-weight: 500; }

@media (max-width: 767px) {
	.dola-entity { display: grid; width: 100%; }
	.dola-entity__opt { padding: 11px 12px; }  /* 44px touch target */
}

/* ==========================================================================
   COMANDĂ PRIMITĂ — sumar vizual modern
   ========================================================================== */
.dola-thankyou { max-width: 760px; margin: 0 auto; }

/* Hero de confirmare */
.dola-ty__hero { text-align: center; padding: 8px 0 34px; }
.dola-ty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px; height: 58px;
	margin-bottom: 20px;
	border-radius: 50%;
	background: rgba(27,84,67, 0.08);
	color: #1b5443;
}
.dola-ty__hero--failed .dola-ty__icon {
	background: rgba(138,90,68, 0.08);
	color: #8a5a44;
	font-size: 26px;
	font-weight: 600;
}
.dola-ty__title {
	margin: 0 0 10px;
	font-family: var(--font-serif);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	color: var(--ink, #111);
	line-height: 1.2;
}
.dola-ty__lead {
	margin: 0 auto;
	max-width: 480px;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--ink-muted, #526359);
}
.dola-ty__lead strong { color: var(--ink-soft, #35403a); font-weight: 500; }

/* Rezumat rapid — 4 celule */
.dola-ty__meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1px;
	background: var(--hairline, rgba(15,31,26,.07));
	border: 1px solid var(--hairline, rgba(15,31,26,.07));
	border-radius: var(--radius-lg, 16px);
	overflow: hidden;
	margin-bottom: 14px;
}
.dola-ty__meta-item {
	background: #fff;
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.dola-ty__meta-label {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--ink-faint, #b3ac9d);
}
.dola-ty__meta-value {
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ink, #111);
	line-height: 1.3;
}
.dola-ty__meta-item--total { background: var(--bg-soft, #fbf8f1); }
.dola-ty__meta-item--total .dola-ty__meta-value { font-size: 16px; }

.dola-ty__hint {
	margin: 0 0 28px;
	padding: 13px 16px;
	background: var(--color-accent-soft, rgba(27,84,67,.12));
	border-radius: var(--radius, 8px);
	font-size: 13px;
	line-height: 1.55;
	color: var(--ink-soft, #35403a);
}

/* Blocuri */
.dola-ty__block {
	margin-top: 34px;
	padding-top: 30px;
	border-top: 1px solid var(--hairline, rgba(15,31,26,.07));
}
.dola-ty__h2 {
	margin: 0 0 18px;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--ink-muted, #526359);
}

/* Produse */
.dola-ty__items { list-style: none; margin: 0 0 22px; padding: 0; }
.dola-ty__item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--hairline-2, rgba(15,31,26,.045));
}
.dola-ty__item:last-child { border-bottom: 0; }
.dola-ty__item-thumb { flex-shrink: 0; }
.dola-ty__item-thumb img {
	width: 56px; height: 68px;
	object-fit: contain;
	background: #fbf8f1;
	border-radius: 6px;
	display: block;
}
.dola-ty__item-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.dola-ty__item-name { font-size: 13.5px; font-weight: 500; color: var(--ink-soft, #35403a); line-height: 1.4; }
.dola-ty__item-qty { font-size: 12px; color: var(--ink-muted, #526359); }
.dola-ty__item-price { font-size: 14px; font-weight: 600; color: var(--ink, #111); white-space: nowrap; }

/* Defalcare fiscală */
.dola-ty__totals {
	margin: 0;
	padding: 18px 20px;
	background: var(--bg-soft, #fbf8f1);
	border-radius: var(--radius-lg, 16px);
}
.dola-ty__total-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 7px 0;
}
.dola-ty__total-row dt { font-size: 13px; color: var(--ink-muted, #526359); margin: 0; }
.dola-ty__total-row dd { font-size: 13.5px; color: var(--ink-soft, #35403a); margin: 0; font-weight: 500; white-space: nowrap; }
.dola-ty__total-row--tax {
	border-top: 1px dashed var(--hairline, rgba(15,31,26,.07));
	margin-top: 4px;
	padding-top: 11px;
}
.dola-ty__total-row--grand {
	border-top: 1.5px solid var(--ink, #111);
	margin-top: 8px;
	padding-top: 13px;
}
.dola-ty__total-row--grand dt,
.dola-ty__total-row--grand dd {
	font-size: 16px;
	font-weight: 700;
	color: var(--ink, #111);
}

/* Adrese */
.dola-ty__addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 32px; }
.dola-ty__addr address {
	font-style: normal;
	font-size: 13.5px;
	line-height: 1.75;
	color: var(--ink-soft, #35403a);
}
.dola-ty__fiscal {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--hairline-2, rgba(15,31,26,.045));
	font-size: 12.5px;
	color: var(--ink-muted, #526359);
}
.dola-ty__fiscal strong { color: var(--ink-soft, #35403a); font-weight: 600; }
.dola-ty__phone { display: block; margin-top: 6px; color: var(--ink-muted, #526359); font-size: 13px; }

/* Ce urmează */
.dola-ty__steps { list-style: none; counter-reset: step; margin: 0 0 24px; padding: 0; }
.dola-ty__steps li {
	counter-increment: step;
	position: relative;
	padding: 0 0 18px 40px;
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--ink-muted, #526359);
}
.dola-ty__steps li::before {
	content: counter(step);
	position: absolute;
	left: 0; top: -1px;
	width: 26px; height: 26px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--color-accent-soft, rgba(27,84,67,.12));
	color: var(--color-accent, #1b5443);
	font-size: 11.5px;
	font-weight: 600;
}
.dola-ty__steps li::after {
	content: '';
	position: absolute;
	left: 13px; top: 30px; bottom: 4px;
	width: 1px;
	background: var(--hairline, rgba(15,31,26,.07));
}
.dola-ty__steps li:last-child { padding-bottom: 0; }
.dola-ty__steps li:last-child::after { display: none; }
.dola-ty__steps strong { display: block; color: var(--ink, #111); font-weight: 600; margin-bottom: 2px; font-size: 13.5px; }

.dola-ty__support { font-size: 13px; color: var(--ink-muted, #526359); margin: 0 0 22px; }
.dola-ty__support a { color: var(--color-accent, #1b5443); font-weight: 500; }

.dola-ty__btn {
	display: inline-block;
	padding: 13px 30px;
	border-radius: 8px;
	background: var(--ink, #111);
	color: #fff !important;
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.32s var(--ease, ease);
}
.dola-ty__btn:hover { background: #143028; }
.dola-ty__actions { margin-top: 22px; }

@media (max-width: 600px) {
	.dola-ty__meta { grid-template-columns: 1fr 1fr; }
	.dola-ty__item-thumb img { width: 48px; height: 58px; }
	.dola-ty__addresses { gap: 24px; }
}

/* Linia de TVA din coș/checkout — discretă, informativă */
.dola-vat-line th,
.dola-vat-line td {
	font-size: 12px !important;
	font-weight: 400 !important;
	color: var(--ink-muted, #526359) !important;
	padding-top: 4px !important;
	padding-bottom: 12px !important;
	border-top: 0 !important;
}

/* ==========================================================================
   MINI-COȘ LATERAL (Cart Drawer)
   ========================================================================== */
.dola-drawer {
	position: fixed;
	inset: 0;
	z-index: 2100;
	visibility: hidden;
	pointer-events: none;
}
.dola-drawer.is-open { visibility: visible; pointer-events: auto; }

.dola-drawer__scrim {
	position: absolute;
	inset: 0;
	background: rgba(15,31,26, 0.28);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity 0.42s var(--ease, cubic-bezier(0.22,1,0.36,1));
}
.dola-drawer.is-open .dola-drawer__scrim { opacity: 1; }

.dola-drawer__panel {
	position: absolute;
	top: 0; right: 0; bottom: 0;
	width: min(420px, 100%);
	display: flex;
	flex-direction: column;
	background: #fff;
	box-shadow: -14px 0 46px rgba(15,31,26, 0.12);
	transform: translateX(100%);
	transition: transform 0.46s var(--ease, cubic-bezier(0.22,1,0.36,1));
}
.dola-drawer.is-open .dola-drawer__panel { transform: translateX(0); }

/* Header */
.dola-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 22px;
	border-bottom: 1px solid var(--hairline, rgba(15,31,26,.07));
	flex-shrink: 0;
}
.dola-drawer__title {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink, #111);
}
.dola-drawer__close {
	display: flex; align-items: center; justify-content: center;
	width: 34px; height: 34px;
	border: 0; border-radius: 50%;
	background: transparent;
	color: var(--ink-muted, #526359);
	cursor: pointer;
	transition: background 0.3s var(--ease, ease), color 0.3s var(--ease, ease);
}
.dola-drawer__close:hover { background: var(--bg-soft, #fbf8f1); color: var(--ink, #111); }

/* Corp scrollabil */
.dola-drawer__body {
	flex: 1 1 auto;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	scrollbar-width: thin;
	transition: opacity 0.25s ease;
}
.dola-drawer.is-busy .dola-drawer__body { opacity: 0.55; pointer-events: none; }

/* Progres livrare gratuită */
.dola-drawer__ship {
	padding: 14px 22px 16px;
	border-bottom: 1px solid var(--hairline-2, rgba(15,31,26,.045));
	flex-shrink: 0;
}
.dola-drawer__ship-text { display: block; font-size: 12.5px; color: var(--ink-muted, #526359); margin-bottom: 9px; line-height: 1.4; }
.dola-drawer__ship-text strong { color: var(--ink, #111); font-weight: 600; }
.dola-drawer__ship-text .amount { white-space: nowrap; }
.dola-drawer__ship-bar {
	display: block;
	height: 4px;
	border-radius: 99px;
	background: rgba(15,31,26,.07);
	overflow: hidden;
}
.dola-drawer__ship-fill {
	display: block; height: 100%;
	border-radius: 99px;
	background: linear-gradient(90deg, var(--color-accent, #1b5443), #2a7358);
	transition: width 0.5s var(--ease, ease);
}
.dola-drawer__ship.is-done .dola-drawer__ship-fill { background: #1b5443; }

/* Produse */
.dola-drawer__items { list-style: none; margin: 0; padding: 6px 0; flex: 1 1 auto; }
.dola-drawer__item {
	position: relative;
	display: flex;
	gap: 13px;
	padding: 15px 22px;
	border-bottom: 1px solid var(--hairline-2, rgba(15,31,26,.045));
	transition: opacity 0.25s ease, transform 0.25s ease;
}
.dola-drawer__item.is-removing { opacity: 0; transform: translateX(14px); }
.dola-drawer__item-thumb { flex-shrink: 0; }
.dola-drawer__item-thumb img {
	width: 62px; height: 76px;
	object-fit: contain;
	background: #fbf8f1;
	border-radius: 6px;
	display: block;
}
.dola-drawer__item-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.dola-drawer__item-name { font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--ink-soft, #35403a); }
.dola-drawer__item-name a { color: inherit; text-decoration: none; }
.dola-drawer__item-name a:hover { color: var(--color-accent, #1b5443); }
.dola-drawer__item-meta { font-size: 11.5px; color: var(--ink-muted, #526359); line-height: 1.4; }
.dola-drawer__item-meta p, .dola-drawer__item-meta dl { margin: 0; }
.dola-drawer__item-meta dt, .dola-drawer__item-meta dd { display: inline; margin: 0; font-weight: 400; }
.dola-drawer__item-row {
	display: flex; align-items: center; justify-content: space-between;
	gap: 12px; margin-top: 5px;
}
.dola-drawer__item-price { font-size: 13.5px; font-weight: 600; color: var(--ink, #111); white-space: nowrap; }

/* Stepper cantitate */
.dola-drawer__qty {
	display: inline-flex; align-items: center;
	border: 1px solid var(--hairline, rgba(15,31,26,.07));
	border-radius: 99px;
	overflow: hidden;
}
.dola-drawer__qty-btn {
	width: 26px; height: 26px;
	border: 0; background: transparent;
	color: var(--ink-muted, #526359);
	font-size: 14px; line-height: 1;
	cursor: pointer;
	transition: background 0.25s ease, color 0.25s ease;
	-webkit-tap-highlight-color: transparent;
}
.dola-drawer__qty-btn:hover { background: var(--bg-soft, #fbf8f1); color: var(--ink, #111); }
.dola-drawer__qty-val { min-width: 22px; text-align: center; font-size: 12.5px; font-weight: 600; color: var(--ink, #111); }

.dola-drawer__remove {
	position: absolute;
	top: 12px; right: 16px;
	width: 24px; height: 24px;
	display: flex; align-items: center; justify-content: center;
	border: 0; border-radius: 50%;
	background: transparent;
	color: var(--ink-faint, #b3ac9d);
	cursor: pointer;
	transition: background 0.25s ease, color 0.25s ease;
}
.dola-drawer__remove:hover { background: rgba(138,90,68,.07); color: #8a5a44; }

/* Subsol */
.dola-drawer__foot {
	flex-shrink: 0;
	padding: 18px 22px 22px;
	border-top: 1px solid var(--hairline, rgba(15,31,26,.07));
	background: #fff;
}
.dola-drawer__totals {
	display: flex; align-items: baseline; justify-content: space-between;
	gap: 16px; margin-bottom: 3px;
}
.dola-drawer__total-label { font-size: 13px; color: var(--ink-muted, #526359); }
.dola-drawer__total-value { font-size: 18px; font-weight: 700; color: var(--ink, #111); letter-spacing: -0.02em; }
.dola-drawer__vat { margin: 0 0 14px; font-size: 11.5px; color: var(--ink-faint, #b3ac9d); }

.dola-drawer__btn {
	display: block;
	width: 100%;
	padding: 14px 20px;
	border-radius: 8px;
	text-align: center;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.32s var(--ease, ease), color 0.32s var(--ease, ease), border-color 0.32s var(--ease, ease);
}
.dola-drawer__btn--primary {
	background: var(--color-accent, #1b5443);
	color: #fff !important;
	margin-bottom: 9px;
}
.dola-drawer__btn--primary:hover { background: #123a2e; }
.dola-drawer__btn--ghost {
	background: transparent;
	color: var(--ink-muted, #526359) !important;
	border: 1px solid var(--hairline, rgba(15,31,26,.07));
}
.dola-drawer__btn--ghost:hover { color: var(--ink, #111) !important; border-color: rgba(15,31,26,.18); }

/* Coș gol */
.dola-drawer__empty {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 60px 30px;
	text-align: center;
}
.dola-drawer__empty-icon { color: var(--ink-faint, #b3ac9d); }
.dola-drawer__empty-text { margin: 0; font-size: 14px; color: var(--ink-muted, #526359); }
.dola-drawer__empty .dola-drawer__btn { width: auto; padding: 12px 26px; }

/* Blocăm scroll-ul paginii cât timp sertarul e deschis */
body.dola-drawer-open { overflow: hidden; }

@media (max-width: 480px) {
	.dola-drawer__panel { width: 100%; }
	.dola-drawer__item-thumb img { width: 54px; height: 66px; }
}

/* ==========================================================================
   HOMEPAGE — aliniere la limbajul vizual al catalogului
   ========================================================================== */

/* --- Hero: tipografie temperată, CTA rafinat --- */
body .hero__title {
	font-weight: 600 !important;
	letter-spacing: -0.03em !important;
	font-size: clamp(1.9rem, 3.4vw, 2.9rem) !important;
}
body .hero__eyebrow {
	font-size: 10px !important;
	letter-spacing: 0.24em !important;
	font-weight: 600 !important;
}
body .hero__subtitle {
	font-size: 14.5px !important;
	font-weight: 300 !important;
	max-width: 500px;
}
body .hero__cta {
	padding: 14px 34px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.11em !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--ink, #111) !important;
	transition: background 0.35s var(--ease, ease), transform 0.35s var(--ease, ease), box-shadow 0.35s var(--ease, ease) !important;
}
body .hero__cta:hover {
	background: var(--color-accent, #1b5443) !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(15,31,26,0.18) !important;
}

/* --- Trust bar: linii sugerate --- */
body .trust-bar {
	background: #fbfbfa;
	border-top: 1px solid var(--hairline, rgba(15,31,26,.07));
	border-bottom: 1px solid var(--hairline, rgba(15,31,26,.07));
}
body .trust-bar__title { font-weight: 600 !important; color: var(--ink, #111) !important; }
body .trust-bar__subtitle { color: var(--ink-muted, #526359) !important; }
body .trust-bar__icon {
	background: #fff;
	border: 1px solid var(--hairline, rgba(15,31,26,.07));
	box-shadow: none;
}

/* --- Titluri de secțiune: aceeași scară ca în catalog --- */
body .section-heading__title {
	font-weight: 600 !important;
	letter-spacing: -0.025em !important;
	color: var(--ink, #111) !important;
}
body .section-heading__subtitle { color: var(--ink-muted, #526359) !important; }
body .section-heading::before { background: var(--color-accent, #1b5443); opacity: 0.9; }

/* --- Carduri de categorie: hairline + mișcare organică --- */
body .category-card {
	border: 1px solid var(--hairline, rgba(15,31,26,.07)) !important;
	border-radius: 8px;
	box-shadow: none;
	overflow: hidden;
	transition: box-shadow 0.5s var(--ease, ease), transform 0.5s var(--ease, ease), border-color 0.5s var(--ease, ease) !important;
}
body .category-card:hover {
	transform: translateY(-4px);
	border-color: var(--hairline-2, rgba(15,31,26,.045)) !important;
	box-shadow: 0 1px 2px rgba(15,31,26,.03), 0 14px 38px rgba(15,31,26,.055);
}
body .category-card__image { transition: transform 0.9s var(--ease, ease) !important; }
body .category-card:hover .category-card__image { transform: scale(1.035) !important; }
body .category-card__title {
	font-family: var(--font-serif);
	font-weight: 600 !important;
	letter-spacing: -0.02em;
	color: var(--ink, #111) !important;
}
body .category-card__desc { color: var(--ink-muted, #526359) !important; }
body .category-card__link {
	font-size: 10.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	color: var(--color-accent, #1b5443) !important;
}

/* --- Carduri de produs din carusel: identice cu cele din catalog --- */
body .product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid var(--hairline, rgba(15,31,26,.07)) !important;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: none;
	transition: box-shadow 0.5s var(--ease, ease), transform 0.5s var(--ease, ease), border-color 0.5s var(--ease, ease) !important;
}
body .carousel__item:hover .product-card,
body .product-card:hover {
	transform: translateY(-4px);
	border-color: var(--hairline-2, rgba(15,31,26,.045)) !important;
	box-shadow: 0 1px 2px rgba(15,31,26,.03), 0 14px 38px rgba(15,31,26,.055);
}
body .product-card__image {
	background: #fbf8f1 !important;
	transition: transform 0.9s var(--ease, ease) !important;
}
body .product-card:hover .product-card__image { transform: scale(1.035) !important; }
body .product-card__title {
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	color: var(--ink-soft, #35403a) !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.9em;
}
body .product-card__price {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--ink, #111) !important;
	letter-spacing: -0.015em;
	margin-top: auto;
}
body .product-card__price del { font-size: 12px; color: var(--ink-faint, #b3ac9d); font-weight: 400; }
body .product-card__price ins { text-decoration: none; font-weight: 600; }

/* --- Beneficii: carduri fine --- */
body .benefit {
	background: #fff;
	border: 1px solid var(--hairline, rgba(15,31,26,.07));
	border-radius: 8px;
	transition: border-color 0.4s var(--ease, ease), box-shadow 0.4s var(--ease, ease);
}
body .benefit:hover {
	border-color: var(--hairline-2, rgba(15,31,26,.045));
	box-shadow: 0 1px 2px rgba(15,31,26,.03), 0 10px 26px rgba(15,31,26,.04);
}
body .benefit__icon { color: var(--color-accent, #1b5443); }
body .benefit__title { font-weight: 600 !important; color: var(--ink, #111) !important; letter-spacing: -0.01em; }
body .benefit__text { color: var(--ink-muted, #526359) !important; line-height: 1.6; }

/* --- Brand story --- */
body .brand-story { background: #fbfbfa; border-top: 1px solid var(--hairline, rgba(15,31,26,.07)); }
body .brand-story__eyebrow {
	font-size: 10px !important;
	letter-spacing: 0.22em !important;
	font-weight: 600 !important;
	color: var(--color-accent, #1b5443) !important;
}
body .brand-story__title { font-weight: 600 !important; letter-spacing: -0.025em !important; color: var(--ink, #111) !important; }
body .brand-story__text { color: var(--ink-muted, #526359) !important; line-height: 1.75; }
body .brand-story__cta {
	font-size: 10.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	color: var(--color-accent, #1b5443) !important;
}

/* --- Butoane secundare (Vezi toate produsele) --- */
body .btn-outline {
	display: inline-block;
	padding: 13px 32px;
	border: 1px solid var(--hairline, rgba(15,31,26,.07));
	border-radius: 8px;
	background: transparent;
	color: var(--ink, #111);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	transition: background 0.35s var(--ease, ease), border-color 0.35s var(--ease, ease), color 0.35s var(--ease, ease);
}
body .btn-outline:hover {
	background: var(--ink, #111);
	border-color: var(--ink, #111);
	color: #fff;
}


/* ==========================================================================
   ART DIRECTION — "PIATRĂ & CETINĂ"  ·  strat final de atmosferă
   Doar culorile hardcodate pe care tokenii nu le pot atinge din :root.
   Zero imagini, zero JS, zero request-uri noi. Totul e culoare și lumină.
   ========================================================================== */

/* --- 1. LUMÂNAREA: o singură sursă de lumină caldă, sus, în spatele paginii.
   Nu e un efect — e motivul pentru care hârtia pare hârtie, nu ecran. --- */
html {
	background-color: var(--stone);
	background-image: radial-gradient(90% 100% at 50% 0%, rgba(107,129,114, 0.11) 0%, rgba(107,129,114, 0) 70%);
	background-repeat: no-repeat;
	background-size: 100% 760px;
}

/* Paginile de catalog lasă lumina să treacă (erau #f8f9fa, gri rece) */
body,
body.woocommerce-shop,
body.tax-product_cat,
body.post-type-archive-product { background: transparent; }

/* --- 2. SUPRAFEȚE: cardul e mai deschis decât fundalul → elevație fără umbră -- */
body.woocommerce ul.products li.product,
body .product-card,
body .trust-bar,
.dola-drawer__foot { background: var(--stone-raised); }

body.woocommerce ul.products li.product a img,
body .product-card__image,
body .brand-story { background: var(--stone-sunken) !important; }

/* --- 3. CERNEALĂ în catalog (era #333 / #14211c / #9a9a9a) ----------------- */
body.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--ink-soft) !important; }
body.woocommerce ul.products li.product .price,
body.woocommerce ul.products li.product .price ins { color: var(--ink) !important; }
body.woocommerce ul.products li.product .price del { color: var(--ink-faint); }

/* --- 4. CTA: cerneală de pin, NU auriu.
   Auriul #1b5443 cu text alb dă 2.8:1 — pică WCAG AA și arată ieftin.
   Pe cerneală: 17.7:1. Auriul rămâne ornament, nu suprafață de buton. --- */
body.woocommerce ul.products li.product .button,
.woocommerce-checkout #place_order,
.dola-drawer__btn--primary,
.dola-cart__aside .wc-proceed-to-checkout a.checkout-button,
.dola-cookie__btn--accept,
.dola-sticky-atc__btn {
	background: var(--ink) !important;
	color: #fff !important;
}
body.woocommerce ul.products li.product .button:hover,
.woocommerce-checkout #place_order:hover,
.dola-drawer__btn--primary:hover,
.dola-cart__aside .wc-proceed-to-checkout a.checkout-button:hover,
.dola-cookie__btn--accept:hover,
.dola-sticky-atc__btn:hover { background: var(--fir) !important; }

/* Hero CTA: alb pe hero întunecat → la hover intră în șampanie profundă (4.99:1) */
body .hero__cta:hover { background: var(--sage-deep) !important; }

/* --- 5. REDUCEREA: lut, nu roșu ------------------------------- */
body.woocommerce ul.products li.product .onsale,
body.woocommerce span.onsale { background: var(--clay) !important; }
.product-card__price ins,
body .product-card__price ins { color: var(--clay); }

/* --- 6. SEMNALE semantice, temperate --------------------------------------- */
.dola-stock--in { color: var(--fir-ink); }
.dola-stock--in .dola-stock__dot {
	background: var(--fir-ink);
	box-shadow: 0 0 0 3px rgba(27,84,67, 0.14);
}
.dola-stock--out,
.dola-cui-status.is-error { color: var(--clay-ink); }
.dola-stock--out .dola-stock__dot {
	background: var(--clay-ink);
	box-shadow: 0 0 0 3px rgba(138,90,68, 0.14);
}
.dola-cui-status.is-ok { color: var(--fir-ink); }
.woocommerce-error { border-left-color: var(--clay-ink); }
.woocommerce-error::before { background: var(--clay-ink); }
.dola-cart__remove a.remove:hover { background: var(--clay-ink); }
.dola-drawer__remove:hover { background: rgba(138,90,68, 0.07); color: var(--clay-ink); }

/* --- 7. FIRUL DE AUR: singura licărire din site.
   Se trage sub card la hover — 1px, GPU-only (scaleX), fără reflow. --- */
body.woocommerce ul.products li.product,
body .product-card { position: relative; }

body.woocommerce ul.products li.product::after,
body .product-card::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--sage-orn) 50%, transparent 100%);
	transform: scaleX(0);
	transition: transform 0.6s var(--ease);
	pointer-events: none;
}
body.woocommerce ul.products li.product:hover::after,
body .product-card:hover::after { transform: scaleX(1); }

/* Ornament pur — aici auriul deschis e corect (nu poartă text) */
body.woocommerce ul.products li.product .star-rating,
body .star-rating,
.dola-stars__star.is-full { color: var(--sage-orn); }
body .section-heading::before { background: var(--sage-orn); }
.dola-drawer__ship-fill { background: linear-gradient(90deg, var(--sage-orn), #dcc7a0); }

/* Footer (fundal cerneală): auriul închis ar da 3.5:1 — se inversează, ca la hero */
.site-footer__links a:hover { color: var(--sage-orn); }

/* --- 8. DETALII care se simt, nu se observă ------------------------------- */
::selection { background: var(--color-accent-soft); color: var(--ink); }

:focus-visible {
	outline: 2px solid var(--sage-ink);
	outline-offset: 3px;
	border-radius: 3px;
}

/* Eyebrow-uri și micro-linkuri PE FUNDAL DESCHIS: șampania text-safe (4.71:1) */
body .brand-story__eyebrow,
body .brand-story__cta,
.dola-ty__support a { color: var(--sage-ink) !important; }

/* PE HERO ÎNTUNECAT se inversează: șampania închisă ar da 2.3:1.
   Aici auriul deschis e singurul corect — 6:1 pe pinul din hero. */
body .hero__eyebrow { color: #d0b98d !important; }

/* Respect pentru utilizatorii care cer mai puțină mișcare */
@media (prefers-reduced-motion: reduce) {
	body.woocommerce ul.products li.product::after,
	body .product-card::after { transition: none; }
}


/* ==========================================================================
   QA CHECKOUT — fixuri de layout descoperite la verificarea pe live
   ========================================================================== */

/* 1. BUG: select-ul nativ ascuns de Select2 rămânea vizibil ca ciot de 48px.
   Cauza: regula generică `.woocommerce form .form-row select { min-height:48px !important }`
   învingea `height:1px` al clasei .select2-hidden-accessible — min-height bate
   întotdeauna height. Îl scoatem explicit din acea regulă. */
.woocommerce form .form-row select.select2-hidden-accessible {
	min-height: 0 !important;
	height: 1px !important;
	padding: 0 !important;
	border: 0 !important;
}

/* 2. Câmpurile de facturare/livrare trec de pe float-uri pe GRID.
   Float-urile nu pot alinia inputurile când un label se rupe pe două rânduri
   („Nr. Reg. Comerțului" vs „CUI / CIF" — 26px decalaj măsurat pe mobil).
   Cu grid + label sus / input jos, alinierea e garantată la orice lungime de text. */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 16px;
}
/* Clasele sunt dublate intenționat (.form-row.form-row-first) ca să depășim
   specificitatea regulii WooCommerce `.woocommerce form .form-row-first {width:47%}`
   — 3 clase bat 2 clase + 1 element. Fără !important. */
.woocommerce-billing-fields__field-wrapper > .form-row,
.woocommerce-shipping-fields__field-wrapper > .form-row,
.woocommerce-billing-fields__field-wrapper > .form-row.form-row-first,
.woocommerce-billing-fields__field-wrapper > .form-row.form-row-last,
.woocommerce-billing-fields__field-wrapper > .form-row.form-row-wide,
.woocommerce-shipping-fields__field-wrapper > .form-row.form-row-first,
.woocommerce-shipping-fields__field-wrapper > .form-row.form-row-last,
.woocommerce-shipping-fields__field-wrapper > .form-row.form-row-wide {
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	margin-left: 0;
	margin-right: 0;
}
.woocommerce-billing-fields__field-wrapper > .form-row .woocommerce-input-wrapper,
.woocommerce-shipping-fields__field-wrapper > .form-row .woocommerce-input-wrapper {
	display: block;
}
.woocommerce-billing-fields__field-wrapper > .form-row-wide,
.woocommerce-shipping-fields__field-wrapper > .form-row-wide,
.woocommerce-billing-fields__field-wrapper > .form-row.notes,
.woocommerce-shipping-fields__field-wrapper > .form-row.notes { grid-column: 1 / -1; }

/* Pragul e 560px, nu 420px: sub această lățime coloana ajunge la ~250px și
   „Nr. Reg. Comerțului" se rupe pe două rânduri, dezaliniind inputul vecin.
   O coloană unică rezolvă cauza, nu simptomul. */
@media (max-width: 559px) {
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
}

/* 3. „(opțional)" apărea de 5 ori într-un singur formular — zgomot vizual.
   Câmpurile obligatorii sunt deja marcate cu *; absența lui spune restul. */
.woocommerce form .form-row label .optional { display: none; }


/* ==========================================================================
   HERO — lizibilitate peste fotografie
   Măsurat pe hero-coroane.jpg: luminanța din banda titlului variază între
   0.00 și 0.97 (lumini aproape albe). Nici textul închis, nici albul simplu
   nu rezistă pe tot intervalul. Soluția e în trei straturi, nu într-o culoare.
   ========================================================================== */

/* 1. Scrim-ul era cel mai SLAB (0.25) exact în banda unde stă textul.
   Îl uniformizăm: rămâne gradient pentru profunzime, dar nu mai coboară
   sub 0.45 acolo unde contează. */
.hero__overlay {
	background-image: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.58) 0%,
		rgba(0, 0, 0, 0.46) 45%,
		rgba(0, 0, 0, 0.62) 100%
	);
}

/* 2. Titlul: alb cald, ca restul hero-ului (subtitlu, eyebrow, CTA sunt deja deschise) */
body .hero__title {
	color: var(--stone-raised, #fcfaf4) !important;
}

/* 3. Umbră largă și difuză — nu se citește ca efect, dar ridică textul de pe
   luminile punctuale ale fotografiei, acolo unde scrim-ul singur n-ar ajunge. */
body .hero__title,
body .hero__subtitle {
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28), 0 2px 28px rgba(0, 0, 0, 0.45);
}

/* Subtitlul era la opacitate 0.9 — pierdea contrast fără câștig vizual.
   E text mic (14.5px), deci are nevoie de tot contrastul disponibil. */
body .hero__subtitle {
	color: var(--stone-raised, #fcfaf4) !important;
}


/* ==========================================================================
   SELECT NATIV — după eliminarea Select2
   `appearance: none` scoate săgeata sistemului, deci o desenăm noi.
   SVG inline (data URI): zero request-uri, se colorează o dată, nu se descarcă.
   ========================================================================== */
.woocommerce form .form-row select {
	appearance: none;
	-webkit-appearance: none;
	background-color: var(--stone-raised, #fcfaf4);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%236e736c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 11px 7px;
	padding-right: 42px !important;
	cursor: pointer;
	text-overflow: ellipsis;
}

/* Săgeata se închide la culoare când câmpul e activ — semnal discret de focus */
.woocommerce form .form-row select:focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%23131a16' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}


/* ==========================================================================
   COMANDĂ PRIMITĂ — redesign (două coloane, fără repetiții)
   Tabelul implicit WooCommerce e scos din hook în functions.php; aici rămâne
   doar layoutul nostru.
   ========================================================================== */

.woocommerce-order.dola-thankyou {
	max-width: 1080px;
	margin: 0 auto;
}

/* Hero mai aerisit — confirmarea trebuie să respire, nu să fie înghesuită */
.dola-thankyou .dola-ty__hero { padding: clamp(12px, 3vw, 30px) 0 clamp(28px, 4vw, 42px); }

/* Banda de rezumat: 4 celule pe desktop, 2 pe mobil */
.dola-thankyou .dola-ty__meta {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--hairline, rgba(15,31,26,.075));
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	border-radius: var(--radius-lg, 16px);
	overflow: hidden;
	margin-bottom: clamp(28px, 4vw, 44px);
}
.dola-thankyou .dola-ty__meta-item { background: var(--stone-raised, #fcfaf4); }

@media (max-width: 640px) {
	.dola-thankyou .dola-ty__meta { grid-template-columns: repeat(2, 1fr); }
}

/* Grila principală */
.dola-ty__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: clamp(20px, 2.6vw, 40px);
	align-items: start;
}
@media (max-width: 880px) {
	.dola-ty__grid { grid-template-columns: 1fr; }
}

/* Blocurile laterale devin carduri fine; cel principal rămâne liber */
.dola-ty__side { display: flex; flex-direction: column; gap: clamp(16px, 2vw, 22px); }
.dola-ty__side .dola-ty__block {
	background: var(--stone-raised, #fcfaf4);
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	border-radius: var(--radius-lg, 16px);
	padding: clamp(18px, 2.2vw, 24px);
	margin: 0;
}
.dola-ty__main .dola-ty__block { margin: 0; }

/* Adresa — acum <address> cu clasă proprie, nu descendent */
.dola-ty__addr {
	font-style: normal;
	font-size: 13.5px;
	line-height: 1.75;
	color: var(--ink-soft, #33453d);
	margin: 0;
}
.dola-ty__addr-line { display: block; margin-top: 6px; color: var(--ink-muted, #526359); }

.dola-ty__h2--sub { margin-top: 20px; }

.dola-ty__note {
	margin: 12px 0 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--ink-muted, #526359);
}

/* Date fiscale — listă de definiții, aliniată */
.dola-ty__fiscal {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 14px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--hairline-2, rgba(15,31,26,.05));
}
.dola-ty__fiscal > div { display: flex; justify-content: space-between; gap: 14px; }
.dola-ty__fiscal dt { margin: 0; font-size: 12px; color: var(--ink-muted, #526359); }
.dola-ty__fiscal dd { margin: 0; font-size: 12.5px; font-weight: 600; color: var(--ink-soft, #33453d); }

/* Pașii următori — titlu pe rând propriu, descriere dedesubt */
.dola-thankyou .dola-ty__steps { margin: 0; }
.dola-thankyou .dola-ty__steps li { padding-bottom: 20px; }
.dola-thankyou .dola-ty__steps li:last-child { padding-bottom: 0; }
.dola-thankyou .dola-ty__steps strong {
	display: block;
	margin-bottom: 3px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ink, #0f1f1a);
}
.dola-thankyou .dola-ty__steps span { display: block; }

/* Suport — linkuri pe rânduri, ușor de apăsat pe mobil */
.dola-ty__block--support .dola-ty__support {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	font-size: 13.5px;
}
.dola-ty__block--support .dola-ty__support a {
	color: var(--sage-ink, #1b5443);
	font-weight: 500;
	text-decoration: none;
	padding: 4px 0;
}
.dola-ty__block--support .dola-ty__support a:hover { text-decoration: underline; }

/* Indiciul de ramburs stă sub totaluri, nu peste pagină */
.dola-thankyou .dola-ty__hint { margin: 16px 0 0; }

/* Acțiunea finală, centrată și cu aer */
.dola-thankyou .dola-ty__actions {
	margin: clamp(30px, 4vw, 46px) 0 0;
	text-align: center;
}


/* ==========================================================================
   FOOTER — conformitate legală (date firmă + ANPC SAL/SOL)
   ========================================================================== */
.site-footer__legal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px 28px;
	padding-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer__company {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	margin: 0;
	font-size: 11.5px;
	letter-spacing: 0.02em;
	color: rgba(252,250,244, 0.5);
}
/* Separatoare desenate din CSS — fără caractere „|" în markup */
.site-footer__company span + span::before {
	content: "";
	display: inline-block;
	width: 3px;
	height: 3px;
	margin-right: 10px;
	border-radius: 50%;
	background: currentColor;
	vertical-align: middle;
	opacity: 0.65;
}

.site-footer__anpc {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}
.site-footer__anpc a {
	padding: 7px 14px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 99px;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: rgba(252,250,244, 0.72);
	text-decoration: none;
	white-space: nowrap;
	transition: border-color 0.32s var(--ease, ease), color 0.32s var(--ease, ease);
}
.site-footer__anpc a:hover {
	border-color: var(--sage-orn, #6b8172);
	color: var(--sage-orn, #6b8172);
}

@media (max-width: 767px) {
	.site-footer__legal { justify-content: center; text-align: center; }
	.site-footer__company { justify-content: center; }
	.site-footer__anpc { justify-content: center; }
}


/* ==========================================================================
   CHATY (WhatsApp) — coexistență cu elementele fixe ale temei
   Pluginul se poziționează `fixed; bottom:25px; z-index:10001`, adică peste
   TOT ce ține de temă. Pe pagina de produs acoperea butonul „Adaugă în coș".
   `!important` e necesar: Chaty își scrie regulile într-un <style> inline,
   după foaia noastră de stil.
   ========================================================================== */

/* 1. Pe mobil, pe pagina de produs, ridicăm butonul deasupra barei sticky (69px) */
@media (max-width: 768px) {
	body.dola-pdp .chaty-widget,
	body.dola-pdp .chaty-widget.right-position {
		bottom: 92px !important;
	}
}

/* 2. Cât timp mini-coșul e deschis, butonul de chat nu are ce căuta peste el */
body.dola-drawer-open .chaty-widget {
	opacity: 0 !important;
	pointer-events: none !important;
	transition: opacity 0.2s var(--ease, ease);
}

/* 3. Idem cât timp bannerul de cookie cere o decizie */
body:has(.dola-cookie.is-visible) .chaty-widget {
	opacity: 0 !important;
	pointer-events: none !important;
}


/* ==========================================================================
   WHATSAPP — buton nativ (înlocuiește pluginul Chaty)
   Pastilă care se deschide la hover pe desktop, doar iconiță pe mobil.
   Se dă la o parte singură când apare bara sticky, mini-coșul sau cookie-ul.
   ========================================================================== */
.dola-wa {
	position: fixed;
	right: clamp(16px, 2vw, 24px);
	bottom: clamp(16px, 2vw, 24px);
	z-index: 1500;               /* peste conținut, SUB drawer (2100) și cookie (1900) */
	display: inline-flex;
	align-items: center;
	gap: 0;
	height: 54px;
	padding: 0 15px;
	border-radius: 99px;
	background: #1f8f4e;          /* verde WhatsApp temperat — recognoscibil, nu strident */
	color: #fff;
	text-decoration: none;
	box-shadow: 0 4px 10px rgba(15,31,26, 0.14), 0 12px 32px rgba(15,31,26, 0.16);
	transition: transform 0.4s var(--ease, ease), box-shadow 0.4s var(--ease, ease),
	            background 0.3s var(--ease, ease), gap 0.4s var(--ease, ease);
	-webkit-tap-highlight-color: transparent;
}

.dola-wa__icon { display: flex; flex-shrink: 0; }

/* Eticheta e ascunsă prin lățime 0, nu display:none — ca să poată anima */
.dola-wa__label {
	max-width: 0;
	overflow: hidden;
	white-space: nowrap;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.01em;
	opacity: 0;
	transition: max-width 0.45s var(--ease, ease), opacity 0.3s var(--ease, ease);
}

@media (hover: hover) and (min-width: 769px) {
	.dola-wa:hover,
	.dola-wa:focus-visible {
		gap: 9px;
		background: #1a7a42;
		transform: translateY(-2px);
		box-shadow: 0 6px 14px rgba(15,31,26, 0.16), 0 18px 44px rgba(15,31,26, 0.2);
	}
	.dola-wa:hover .dola-wa__label,
	.dola-wa:focus-visible .dola-wa__label { max-width: 160px; opacity: 1; }
}

/* Mobil: cerc curat, ridicat deasupra barei sticky de pe pagina de produs */
@media (max-width: 768px) {
	.dola-wa { height: 52px; width: 52px; padding: 0; justify-content: center; }
	body.dola-pdp .dola-wa { bottom: calc(69px + 18px); }
}

/* Nu concurează cu straturile care cer o decizie */
body.dola-drawer-open .dola-wa,
body:has(.dola-cookie.is-visible) .dola-wa {
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
}

@media (prefers-reduced-motion: reduce) {
	.dola-wa, .dola-wa__label { transition: none; }
}


/* ==========================================================================
   UX MOBIL — corecții măsurate (audit 2026-07-30)
   ========================================================================== */

/* 1. ȚINTE DE ATINGERE în header.
   Măsurat: hamburger 24×16px, iconițele cont/coș 20×20px — cele mai apăsate
   elemente de pe telefon, sub jumătate din pragul recomandat de 44px.
   Mărim zona de atingere prin padding, fără să schimbăm dimensiunea vizuală
   a pictogramelor; marginea negativă păstrează spațierea din header. */
.site-header__toggle,
.site-header__icon-link {
	padding: 12px;
	margin: -12px;
	box-sizing: content-box;
}
.site-header__toggle { min-width: 20px; min-height: 20px; }

/* 2. CATALOG PE DOUĂ COLOANE pe mobil.
   O coloană însemna un card de 358×595px — un singur produs pe ecran și
   scroll lung. Două coloane permit comparare și scanare, cum fac magazinele
   moderne. Tipografia se strânge proporțional ca să nu se înghesuie. */
@media (max-width: 767px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px 12px;
	}

	body.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 12.5px !important;
		min-height: 2.6em;
		padding: 10px 0 4px !important;
	}
	body.woocommerce ul.products li.product .price { font-size: 14.5px !important; gap: 5px; }
	body.woocommerce ul.products li.product .price del { font-size: 11.5px; }

	/* 3. Butonul din card avea 35px — îl ducem la pragul de atingere */
	body.woocommerce ul.products li.product .button {
		min-height: 44px;
		padding: 0 8px !important;
		font-size: 11px !important;
		letter-spacing: 0.5px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* Badge-ul de reducere se strânge, ca să nu acopere produsul */
	body.woocommerce ul.products li.product .onsale,
	body.woocommerce span.onsale {
		top: 7px !important;
		left: 7px !important;
		padding: 3px 7px !important;
		font-size: 9.5px !important;
	}
}

/* Ecrane foarte înguste: revenim la o coloană, altfel cardul devine ilizibil */
@media (max-width: 359px) {
	.woocommerce ul.products { grid-template-columns: 1fr; }
}


/* Indiciu că bara de categorii mai are conținut la dreapta */
.shop-cats { position: relative; scroll-behavior: smooth; }
.shop-cats::-webkit-scrollbar { display: none; }
.shop-cats { scrollbar-width: none; }
.shop-cats.has-more::after {
	content: "";
	position: sticky;
	right: 0;
	flex: 0 0 36px;
	align-self: stretch;
	margin-left: -36px;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(250, 248, 245, 0) 0%, var(--stone, #f5f2ea) 85%);
}


/* ==========================================================================
   COMPARATOR DE MĂRIME (PDP) — diametru sau înălțime, după categorie
   ========================================================================== */
.dola-scale {
	margin: 18px 0 22px;
	padding: 16px 18px 12px;
	background: var(--stone-sunken, #e9e4d8);
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	border-radius: var(--radius-lg, 16px);
}
.dola-scale__svg { display: block; width: 100%; height: auto; max-height: 210px; }

.dola-scale__ground { stroke: var(--ink-soft, #33453d); stroke-width: 1.4; }
.dola-scale__rule { stroke: var(--ink-muted, #526359); stroke-width: 1; }
.dola-scale__tick {
	fill: var(--ink-muted, #526359);
	font-family: var(--font-sans);
	font-size: 10px;
	letter-spacing: 0.04em;
}
.dola-scale__person { fill: var(--ink-faint, #526359); opacity: 0.42; }

/* Forma produsului — contur, nu siluetă plină: citește ca o coroană, iar
   grosimea conturului e proporțională cu mărimea (o dă PHP/JS, nu CSS). */
.dola-scale__shape {
	fill: none;
	stroke: var(--fir, #0e241d);
	stroke-linejoin: round;
	stroke-linecap: round;
}

/* Aranjamentul crește lin când schimbi mărimea — asta e tot efectul */
.dola-scale__shape {
	transition: transform 0.55s var(--ease, cubic-bezier(.22,1,.36,1)),
		r 0.55s var(--ease, cubic-bezier(.22,1,.36,1)),
		cy 0.55s var(--ease, cubic-bezier(.22,1,.36,1)),
		stroke-width 0.55s var(--ease, cubic-bezier(.22,1,.36,1));
}

.dola-scale__caption {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-top: 6px;
	flex-wrap: wrap;
}
.dola-scale__value {
	font-size: 15px;
	font-weight: 700;
	color: var(--ink, #0f1f1a);
	letter-spacing: -0.01em;
}
.dola-scale__hint { font-size: 12px; color: var(--ink-muted, #526359); }

@media (prefers-reduced-motion: reduce) {
	.dola-scale__shape { transition: none; }
}

/* ==========================================================================
   ESTIMARE DE LIVRARE (PDP)
   ========================================================================== */
.dola-delivery {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 14px 0 0;
	padding: 11px 14px;
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	border-radius: var(--radius, 8px);
	background: var(--stone-raised, #fcfaf4);
	font-size: 13px;
	line-height: 1.5;
	color: var(--ink-soft, #33453d);
}
.dola-delivery__icon { display: flex; flex-shrink: 0; color: var(--fir-ink, #1b5443); }
.dola-delivery strong { color: var(--ink, #0f1f1a); font-weight: 600; }

/* ==========================================================================
   FILTRU DE ÎNĂLȚIME (catalog)
   ========================================================================== */
.dola-hfilter {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 22px;
	flex-wrap: wrap;
}
.dola-hfilter__label {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-muted, #526359);
	flex-shrink: 0;
}
.dola-hfilter__chips {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	padding-bottom: 2px;
}
.dola-hfilter__chips::-webkit-scrollbar { display: none; }

.dola-hfilter__chip {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	border-radius: 99px;
	background: var(--stone-raised, #fcfaf4);
	color: var(--ink-soft, #33453d);
	font-size: 12.5px;
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
	transition: border-color 0.3s var(--ease, ease), color 0.3s var(--ease, ease),
	            background 0.3s var(--ease, ease);
}
.dola-hfilter__chip:hover { border-color: var(--ink-muted, #526359); color: var(--ink, #0f1f1a); }
.dola-hfilter__chip.is-active {
	background: var(--ink, #0f1f1a);
	border-color: var(--ink, #0f1f1a);
	color: #fff;
	font-weight: 600;
}

/* ==========================================================================
   VIEW TRANSITIONS — navigare fără reîncărcare bruscă
   Suportat nativ; browserele fără suport ignoră regula complet.
   ========================================================================== */
@view-transition { navigation: auto; }

::view-transition-old(root) { animation: dola-vt-out 0.22s var(--ease, ease) both; }
::view-transition-new(root) { animation: dola-vt-in 0.32s var(--ease, ease) both; }

@keyframes dola-vt-out { to { opacity: 0; } }
@keyframes dola-vt-in { from { opacity: 0; transform: translateY(6px); } }

/* Imaginea produsului se transformă din card în imaginea mare de pe PDP */
::view-transition-group(product-image) { animation-duration: 0.45s; }

@media (prefers-reduced-motion: reduce) {
	::view-transition-old(root),
	::view-transition-new(root) { animation: none; }
}


/* Filtrul de înălțime a trecut de la pastile la select nativ (17 mărimi reale) */
.dola-hfilter { gap: 10px; }
.dola-hfilter__select {
	min-height: 44px;
	padding: 0 42px 0 16px;
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	border-radius: 99px;
	background-color: var(--stone-raised, #fcfaf4);
	color: var(--ink-soft, #33453d);
	font-family: var(--font-sans);
	font-size: 13px;
	cursor: pointer;
}
.dola-hfilter__select:focus {
	border-color: var(--color-accent, #1b5443);
	box-shadow: 0 0 0 3px var(--color-accent-soft, rgba(107,129,114,.1));
	outline: none;
}


/* ==========================================================================
   1. SCARĂ TIPOGRAFICĂ — site-ul se citea „de departe" pe telefon
   Corpul era 15px. Ridicăm baza și lăsăm titlurile să crească proporțional.
   ========================================================================== */
body { font-size: 16px; }

@media (max-width: 768px) {
	body { font-size: 16.5px; line-height: 1.65; }
	.single-product div.product .product_title { font-size: clamp(1.72rem, 7vw, 2.15rem) !important; line-height: 1.16; }
	.single-product div.product .summary .price { font-size: 1.45rem !important; }
	.woocommerce-Tabs-panel p,
	.woocommerce-Tabs-panel li { font-size: 15.5px; line-height: 1.72; }
}

/* ==========================================================================
   3. DESCRIERE — text care curge, fără goluri și fără rânduri prea lungi
   ========================================================================== */
.woocommerce-Tabs-panel {
	max-width: 68ch;           /* lungime de rând lizibilă, nu toată lățimea */
	padding: 0;
}
.woocommerce-Tabs-panel > h2:first-child { margin-top: 0; }
.woocommerce-Tabs-panel h2 {
	font-size: clamp(1.15rem, 2.4vw, 1.45rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.28;
	color: var(--ink, #0f1f1a);
	margin: 34px 0 14px;
}
.woocommerce-Tabs-panel h3 {
	font-size: 1.02rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--ink, #0f1f1a);
	margin: 30px 0 12px;
}
.woocommerce-Tabs-panel p { margin: 0 0 16px; color: var(--ink-soft, #33453d); }
.woocommerce-Tabs-panel p:empty { display: none; }   /* paragrafele rămase goale */
.woocommerce-Tabs-panel ul { margin: 0 0 20px; padding-left: 0; list-style: none; }
.woocommerce-Tabs-panel ul li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 9px;
	color: var(--ink-soft, #33453d);
}
.woocommerce-Tabs-panel ul li::before {
	content: "";
	position: absolute;
	left: 2px; top: 0.62em;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--sage-orn, #6b8172);
}
.woocommerce-Tabs-panel img { border-radius: var(--radius, 8px); margin: 6px 0 18px; }

/* ==========================================================================
   BLOC „TEHNOLOGIE FULL 3D" — înlocuiește imaginea statică
   ========================================================================== */
.dola-tech {
	margin: 26px 0;
	padding: 22px 22px 18px;
	background: var(--stone-sunken, #e9e4d8);
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	border-radius: var(--radius-lg, 16px);
}
.dola-tech__eyebrow {
	margin: 0 0 2px !important;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--sage-ink, #1b5443);
}
.dola-tech__title {
	margin: 0 0 18px !important;
	font-family: var(--font-serif);
	font-size: clamp(1.4rem, 4vw, 1.8rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--ink, #0f1f1a);
}
.dola-tech__list { margin: 0 !important; padding: 0 !important; list-style: none; display: grid; gap: 16px; }
.dola-tech__item { display: flex; gap: 13px; align-items: flex-start; margin: 0 !important; padding: 0 !important; }
.dola-tech__item::before { display: none !important; }   /* nu moștenim bulina din listă */
.dola-tech__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	background: var(--stone-raised, #fcfaf4);
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	color: var(--fir, #0e241d);
}
.dola-tech__body { display: flex; flex-direction: column; gap: 2px; }
.dola-tech__name { font-size: 14px; font-weight: 600; color: var(--ink, #0f1f1a); letter-spacing: -0.005em; }
.dola-tech__text { font-size: 13px; line-height: 1.6; color: var(--ink-muted, #526359); }

@media (min-width: 700px) {
	.dola-tech__list { grid-template-columns: repeat(3, 1fr); gap: 22px; }
	.dola-tech__item { flex-direction: column; gap: 11px; }
}

.woocommerce div.product .woocommerce-Tabs-panel { margin-bottom: 0 !important; }
.woocommerce div.product .woocommerce-Tabs-panel > *:last-child { margin-bottom: 0 !important; }

.woocommerce div.product .related,
.woocommerce div.product .upsells {
	margin-top: clamp(40px, 5vw, 64px) !important;
	padding-top: clamp(28px, 3.5vw, 40px);
	border-top: 1px solid var(--hairline, rgba(15,31,26,.075));
}

/* Galeria și sumarul: o singură margine sub blocul de sus */
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .summary { margin-bottom: 0 !important; }

/* ==========================================================================
   TEXT — rând lizibil, dar nu înghesuit într-o coloană îngustă
   ========================================================================== */
.woocommerce-Tabs-panel {
	max-width: 74ch;
	margin-inline: 0;
}
.woocommerce-Tabs-panel p,
.woocommerce-Tabs-panel li { text-wrap: pretty; }        /* fără cuvinte orfane pe ultimul rând */
.woocommerce-Tabs-panel h2,
.woocommerce-Tabs-panel h3 { text-wrap: balance; }        /* titlurile se rup echilibrat */

/* Blocul de tehnologie iese din coloana de text — e un card, nu un paragraf */
.dola-tech { max-width: none; margin-block: clamp(22px, 3vw, 32px); }

/* Ultimul paragraf dinaintea unui titlu nu mai dublează spațiul */
.woocommerce-Tabs-panel p + h2,
.woocommerce-Tabs-panel p + h3,
.woocommerce-Tabs-panel ul + h2,
.woocommerce-Tabs-panel ul + h3 { margin-top: clamp(24px, 3vw, 32px); }

@media (max-width: 768px) {
	.woocommerce-Tabs-panel { max-width: none; }
	.woocommerce div.product .related,
	.woocommerce div.product .upsells { padding-top: 26px; }
}


/* Ajustare finală: marginile se adunau în continuare (related 64+40, plus un
   h2 cu 26.5px moștenit). O singură dată spațiul, titlul lipit de separator. */

.woocommerce div.product .related,
.woocommerce div.product .upsells {
	margin-top: clamp(26px, 2.8vw, 34px) !important;
	padding-top: clamp(18px, 2vw, 24px);
}
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
	margin-top: 0 !important;
	margin-bottom: clamp(20px, 2.4vw, 28px) !important;
}

/* Ultimul element din sumar și din galerie nu mai împinge secțiunea următoare */
.woocommerce div.product .summary > *:last-child,
.woocommerce div.product .woocommerce-Tabs-panel > *:last-child { margin-bottom: 0 !important; }
.woocommerce div.product .summary { padding-bottom: 0 !important; }
.woocommerce-Tabs-panel {
	max-width: none;
	margin-inline: auto;
}

/* Produsele similare rămân pe toată lățimea, dar titlul se aliniază la centru
   ca să nu pară agățat de marginea din stânga sub o coloană centrată */
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
	text-align: center;
	max-width: 78ch;
	margin-inline: auto;
}

@media (max-width: 768px) {
	.woocommerce div.product .related > h2,
	.woocommerce div.product .upsells > h2 { text-align: left; }
}


/* ==========================================================================
   AXĂ DE ALINIERE UNICĂ
   Header și footer foloseau max-width 1280 + padding 4vw (marginea la 51px),
   iar conținutul paginii 1217 + margin auto (marginea la 24px). Logo-ul nu
   stătea pe aceeași verticală cu produsul de sub el — se simte fără să se vadă.
   Toate învelișurile împart acum aceeași anvelopă.
   ========================================================================== */
:root {
	--shell: 1280px;
	--gutter: clamp(20px, 4vw, 64px);
}

.pdp-layout__inner,
.page-layout__inner,
.shop-layout__inner,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
	max-width: var(--shell);
	width: 100%;
	margin-inline: auto;
	padding-inline: var(--gutter);
}

/* Învelișurile exterioare păstrează doar spațierea verticală */
.pdp-layout,
.page-layout,
.shop-layout { padding-inline: 0 !important; }

/* Header și footer se aliniază la aceeași valoare */
.site-header__container,
.site-footer__container {
	max-width: var(--shell);
	padding-inline: var(--gutter);
}

/* .site-footer avea padding orizontal propriu (24px) care se aduna peste
   gutter-ul containerului → brandul din footer stătea cu 24px mai la dreapta
   decât conținutul paginii. Gutter-ul rămâne o singură dată, pe container. */
.site-footer { padding-inline: 0 !important; }


/* ==========================================================================
   FIȘĂ TEHNICĂ — valorile se schimbă odată cu mărimea aleasă
   ========================================================================== */
.dola-specs { margin: 22px 0 0; }
.dola-specs__title {
	margin: 0 0 12px;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-muted, #526359);
}
.dola-specs__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
	gap: 1px;
	margin: 0;
	background: var(--hairline, rgba(15,31,26,.075));
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	border-radius: var(--radius-lg, 16px);
	overflow: hidden;
}
.dola-specs__cell {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 14px 12px;
	background: var(--stone-raised, #fcfaf4);
	text-align: center;
}
.dola-specs__value {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--ink, #0f1f1a);
	font-variant-numeric: tabular-nums;   /* cifrele nu mai saltă la schimbare */
	transition: opacity 0.18s ease;
}
.dola-specs__unit {
	margin-left: 2px;
	font-size: 11px;
	font-weight: 500;
	color: var(--ink-muted, #526359);
}
.dola-specs__label {
	font-size: 10.5px;
	letter-spacing: 0.05em;
	color: var(--ink-muted, #526359);
}
.dola-specs__cell[data-field="box"] .dola-specs__value { font-size: 13.5px; }
.dola-specs.is-updating .dola-specs__value { opacity: 0.35; }

.dola-specs__note {
	margin: 9px 0 0;
	font-size: 11.5px;
	line-height: 1.5;
	color: var(--ink-muted, #526359);
}

@media (max-width: 480px) {
	.dola-specs__grid { grid-template-columns: repeat(3, 1fr); }
	.dola-specs__cell { padding: 12px 8px; }
	.dola-specs__value { font-size: 15.5px; }
}


/* ==========================================================================
   PAGINA DE PRODUS — DESKTOP
   Sumarul e mai lung decât galeria (937 vs 616px), deci galeria rămâne fixă
   cât derulezi specificațiile. Imaginea nu mai dispare când citești fișa.
   ========================================================================== */
@media (min-width: 992px) {
	/* .images e clasa pe care WooCommerce o tinteste cu .woocommerce div.product div.images
	   (0,3,2) — o includem ca sa castigam pe specificitate, fara !important. */
	.single-product div.product div.woocommerce-product-gallery.images {
		position: sticky;
		top: calc(var(--header-height, 68px) + 20px);
		align-self: start;
	}

	/* Ierarhie în coloana de cumpărare: grupuri separate de linii sugerate */
	.single-product div.product .summary { padding-top: 4px !important; }

	.single-product div.product .summary .product_title {
		font-size: clamp(1.7rem, 2.3vw, 2.1rem) !important;
		line-height: 1.18;
		margin-bottom: 10px !important;
	}

	/* Prețul: cel mai greu element vizual din coloană */
	.single-product div.product .summary .price {
		font-size: 1.75rem !important;
		font-weight: 700 !important;
		letter-spacing: -0.025em;
		padding-bottom: 20px !important;
		margin-bottom: 20px !important;
		border-bottom: 1px solid var(--hairline, rgba(15,31,26,.075));
	}

	/* Formularul de variații respiră, apoi se separă de zona de încredere */
	.single-product div.product form.cart {
		padding-bottom: 22px;
		margin-bottom: 20px;
		border-bottom: 1px solid var(--hairline, rgba(15,31,26,.075));
	}

	/* Insignele devin un rând discret, nu trei blocuri */
	.dola-trust-badges {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 20px;
		margin: 0 0 14px;
	}
	.dola-trust-badges__item {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		font-size: 12.5px;
		color: var(--ink-muted, #526359);
	}
	.dola-trust-badges__icon { color: var(--fir-ink, #1b5443); flex-shrink: 0; }

	.dola-delivery { margin-bottom: 18px; }
	.dola-specs { margin-top: 0; }
}

/* Butonul principal: mai prezent, cu inerție la apăsare */
.single-product div.product .single_add_to_cart_button {
	min-height: 54px;
	border-radius: 99px !important;
	font-size: 13px !important;
	letter-spacing: 0.09em;
	transition: transform 0.35s var(--ease, ease), box-shadow 0.35s var(--ease, ease),
	            background 0.3s var(--ease, ease);
}
.single-product div.product .single_add_to_cart_button:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(15,31,26, 0.16);
}
.single-product div.product .single_add_to_cart_button:active { transform: translateY(0); }

/* Galeria: colțuri și fundal consecvente cu restul paginii */
.single-product div.product .woocommerce-product-gallery__image {
	background: var(--stone-sunken, #e9e4d8);
	border-radius: var(--radius-lg, 16px);
}


/* ==========================================================================
   PDP — grila mutata pe invelisul galerie+sumar
   `div.product` ramane bloc simplu; grila cu doua coloane trece pe
   .dola-pdp-top, ca sticky-ul galeriei sa se opreasca sub sumar,
   nu sa treaca peste taburi si produse similare.
   ========================================================================== */
.single-product div.product { display: block; }

.single-product div.product .dola-pdp-top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px 56px;
	align-items: start;
}

/* Taburile si produsele similare ocupa toata latimea, sub grila */
.single-product div.product .related,
.single-product div.product .upsells { width: 100%; }

@media (max-width: 900px) {
	.single-product div.product .dola-pdp-top {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
}


/* ==========================================================================
   PAGINA DE CONTACT — aliniere si grila echilibrata
   Rândul 2 avea un singur card si doua coloane goale, iar „Date oficiale"
   era o banda lata de 170px. Le punem sa umple randul: 2/3 + 1/3.
   ========================================================================== */
.contact-page { padding-inline: 0 !important; }
.contact-page__inner {
	max-width: var(--shell, 1280px);
	margin-inline: auto;
	padding-inline: var(--gutter, clamp(20px, 4vw, 64px));
}

@media (min-width: 900px) {
	.contact-bento { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
	.bento--promise { grid-column: span 2; }
	.bento--company { grid-column: span 1; }
}

/* Cardurile: acelasi limbaj ca restul site-ului, cu reactie la hover */
.bento {
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	border-radius: var(--radius-lg, 16px);
	transition: border-color 0.35s var(--ease, ease), box-shadow 0.35s var(--ease, ease),
	            transform 0.35s var(--ease, ease);
}
a.bento:hover {
	transform: translateY(-2px);
	border-color: var(--hairline-2, rgba(15,31,26,.05));
	box-shadow: 0 2px 4px rgba(15,31,26,.03), 0 12px 32px rgba(15,31,26,.07);
}

/* Datele oficiale: perechi eticheta/valoare, nu tabel intins */
.bento--company dl { display: grid; gap: 10px; margin: 0; }
.bento--company dt { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted, #526359); margin: 0; }
.bento--company dd { margin: 0 0 2px; font-size: 13.5px; font-weight: 600; color: var(--ink-soft, #33453d); }


/* ==========================================================================
   CONTACT — sectiunea „Unde ne gasesti" (inlocuieste continutul vechi)
   ========================================================================== */
.contact-map {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: clamp(20px, 2.5vw, 32px);
	align-items: stretch;
	margin-top: clamp(20px, 2.5vw, 32px);
}
.contact-map__info {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: clamp(22px, 2.4vw, 30px);
	background: var(--stone-raised, #fcfaf4);
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	border-radius: var(--radius-lg, 16px);
}
.contact-map__address {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--ink, #0f1f1a);
	letter-spacing: -0.01em;
}
.contact-map__note { margin: 0; font-size: 13px; line-height: 1.6; color: var(--ink-muted, #526359); }
.contact-map__link {
	margin-top: auto;
	align-self: flex-start;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sage-ink, #1b5443);
	text-decoration: none;
}
.contact-map__link:hover { text-decoration: underline; }

.contact-map__frame {
	overflow: hidden;
	border-radius: var(--radius-lg, 16px);
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	min-height: 280px;
}
.contact-map__frame iframe {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 280px;
	border: 0;
	filter: saturate(0.9);
}

@media (max-width: 780px) {
	.contact-map { grid-template-columns: 1fr; }
	.contact-map__frame { min-height: 240px; }
}

/* Plasa de siguranta: orice SVG ramas din continut nu mai poate exploda in pagina */
.contact-page .entry-content svg,
.entry-content > p > svg { max-width: 48px; max-height: 48px; }

/* Pagini legale nepublicate inca — text, nu link mort */
.site-footer__soon { color: rgba(252,250,244,.32); cursor: default; }


/* Date oficiale: regula veche facea 4 coloane (cardul era pe toata latimea).
   Acum are 376px, deci perechile stau una sub alta, eticheta peste valoare. */
.bento--company .bento__company,
.bento--company dl {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 12px !important;
	margin: 0;
}
.bento--company dl > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.bento--company dt {
	margin: 0;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink-muted, #526359);
}
.bento--company dd {
	margin: 0;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ink-soft, #33453d);
	overflow-wrap: anywhere;
}

/* Cardul de facturare inlocuieste fostul card cu datele firmei */
.bento--invoice { background: var(--bg-soft, #f0ece1); }

/* Poza atasata unei recenzii */
.dola-review__photo { margin: 12px 0 0; }
.dola-review__img {
	max-width: 190px; height: auto; display: block;
	border-radius: var(--radius, 8px);
	border: 1px solid var(--hairline, rgba(15,31,26,.075));
	transition: transform 0.35s var(--ease, ease), box-shadow 0.35s var(--ease, ease);
}
.dola-review__photo a:hover .dola-review__img {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(15,31,26,.14);
}


/* ==========================================================================
   FIȘA PRODUSULUI — secțiuni continue în locul tab-urilor
   Tab-urile ascundeau caracteristicile și recenziile în spatele unui click.
   Acum totul curge vertical, iar navigatorul lipicios ține orientarea.
   Markup: woocommerce/single-product/tabs/tabs.php
   ========================================================================== */
.dola-info {
	max-width: 78ch;
	margin: clamp(40px, 5vw, 68px) auto 0;
	counter-reset: dola-sec;
}

/* --- Navigatorul lipicios ------------------------------------------------ */
.dola-info__nav {
	position: sticky;
	top: var(--header-height, 70px);
	z-index: 20;
	margin: 0 0 clamp(28px, 4vw, 44px);
	background: color-mix(in srgb, var(--stone, #f5f2ea) 88%, transparent);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid var(--hairline, rgba(15,31,26, 0.075));
}

.dola-info__nav-track {
	position: relative;
	display: flex;
	gap: clamp(20px, 3vw, 36px);
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-snap-type: x proximity;
}
.dola-info__nav-track::-webkit-scrollbar { display: none; }

.dola-info__link {
	flex: 0 0 auto;
	scroll-snap-align: start;
	padding: 15px 1px 14px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1;
	color: var(--ink-muted, #526359);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.3s var(--ease, ease);
}
.dola-info__link:hover { color: var(--ink, #0f1f1a); }
.dola-info__link.is-current { color: var(--ink, #0f1f1a); font-weight: 600; }

/* Bara care alunecă sub eticheta activă — singurul accent de culoare de aici */
.dola-info__ink {
	position: absolute;
	bottom: -1px;
	left: 0;
	height: 2px;
	width: 0;
	border-radius: 2px;
	background: var(--sage-orn, #6b8172);
	transition: transform 0.45s var(--ease, cubic-bezier(0.22, 1, 0.36, 1)),
	            width 0.45s var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
	pointer-events: none;
}

/* --- Secțiunile ---------------------------------------------------------- */
.dola-sec {
	scroll-margin-top: var(--dola-anchor, 132px);
	padding: clamp(30px, 4vw, 46px) 0;
	border-top: 1px solid var(--hairline, rgba(15,31,26, 0.075));
}
.dola-sec:first-of-type { border-top: 0; padding-top: 0; }
.dola-sec:last-of-type { padding-bottom: 0; }

/* Numerotare automată — „01", „02", „03" fără nimic în markup */
.dola-sec__title {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0 0 clamp(18px, 2.4vw, 26px);
	font-family: var(--font-serif, Georgia, serif);
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--ink, #0f1f1a);
	text-wrap: balance;
}
.dola-sec__title::before {
	counter-increment: dola-sec;
	content: counter(dola-sec, decimal-leading-zero);
	flex: 0 0 auto;
	font-family: var(--font-sans, sans-serif);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: var(--sage-ink, #1b5443);
}

/* Titlul propriu al blocului de recenzii ar dubla antetul secțiunii */
.dola-sec .woocommerce-Reviews-title { display: none; }

/* --- Caracteristici: fișă tehnică pe două coloane, fără aspect de tabel --- */
.dola-sec--additional_information .shop_attributes {
	display: block;
	width: 100%;
	border: 0;
	margin: 0;
}
.dola-sec--additional_information .shop_attributes tbody {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(28px, 4vw, 52px);
}
.dola-sec--additional_information .shop_attributes tr {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	padding: 13px 0;
	border-bottom: 1px solid var(--hairline, rgba(15,31,26, 0.075));
}
.dola-sec--additional_information .shop_attributes th,
.dola-sec--additional_information .shop_attributes td {
	display: block;
	border: 0;
	padding: 0;
	background: none;
	font-style: normal;
}
.dola-sec--additional_information .shop_attributes th {
	flex: 0 0 auto;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--ink-muted, #526359);
}
.dola-sec--additional_information .shop_attributes td {
	text-align: right;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--ink, #0f1f1a);
}
.dola-sec--additional_information .shop_attributes td p { margin: 0; }

@media (max-width: 700px) {
	.dola-sec--additional_information .shop_attributes tbody { grid-template-columns: minmax(0, 1fr); }
}

/* --- Recenzii ------------------------------------------------------------ */
.dola-sec--reviews #reviews { margin: 0; }
.dola-sec--reviews #review_form_wrapper { margin-top: clamp(26px, 3.5vw, 38px); }

/* Pe ecrane mici bara lipicioasă ar fura prea mult din înălțimea utilă */
@media (max-width: 600px) {
	.dola-info { max-width: none; }
	.dola-info__link { font-size: 12.5px; padding: 13px 1px 12px; }
}

@media (prefers-reduced-motion: reduce) {
	.dola-info__ink { transition: none; }
}


/* ==========================================================================
   FINISAJ GLOBAL — inel de focus, ancore, ritm
   ========================================================================== */

/* Ancorele nu mai aterizează sub header-ul lipicios */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

/* Un singur inel de focus, în accentul mărcii, pentru tot ce e interactiv.
   Contur, nu umbră: nu deplasează layout-ul și se vede pe orice fundal. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--sage-ink, #1b5443);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Subtitlurile din descriere veneau centrate din editorul vechi, într-o coloană
   aliniată la stânga — se citeau ca titluri rătăcite. Aliniere unică. */
.dola-sec__body h2,
.dola-sec__body h3,
.dola-sec__body h4 { text-align: left; }


/* ==========================================================================
   CORECTURI GRILĂ ȘI ZOOM
   ========================================================================== */

/* Titlurile nu se mai taie. Erau limitate la 2 rânduri, iar pe telefon numele
   noi cer 3 — clientul citea „Coroană funerară rotundă premium — Verde cu…".
   Alinierea grilei nu suferă: prețul și butonul sunt împinse la bază de
   `margin-top: auto`, deci cardurile rămân egale indiferent de câte rânduri
   ocupă titlul. `min-height` păstrează ritmul când titlul are un singur rând. */
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body .product-card__title {
	display: block;
	-webkit-line-clamp: none;
	overflow: visible;
	text-wrap: pretty;
}
body.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.7em; }
body .product-card__title { min-height: 2.9em; }

/* Pe ecrane cu atingere, lupa de hover nu are sens: degetul nu „plutește", iar
   stratul de zoom fură gestul de scroll. Rămâne tap → viewer pe tot ecranul. */
@media (hover: none), (pointer: coarse) {
	.woocommerce-product-gallery__image .zoomImg { display: none !important; }
	.woocommerce-product-gallery__image img { cursor: pointer; }
}

/* Insignă „Cumpărător verificat" — semnalul cel mai căutat dintr-o recenzie.
   Verde de pin, nu verde de notificare: rămâne în paleta mărcii. */
.dola-verified {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-left: 8px;
	padding: 3px 9px 3px 7px;
	border-radius: 100px;
	background: rgba(27,84,67, 0.09);
	color: var(--fir-ink, #1b5443);
	font-size: 10.5px;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.02em;
	line-height: 1.4;
	white-space: nowrap;
	vertical-align: middle;
}
.dola-verified__icon { flex: 0 0 auto; }

@media (max-width: 480px) {
	.dola-verified { margin-left: 0; margin-top: 4px; }
}

/* Antetul recenziei: numele, insigna și data pe un rând controlat. Fără asta,
   data se rupea între „– 3" și „decembrie 2024". */
#comments p.meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
}
#comments p.meta .woocommerce-review__published-date { white-space: nowrap; }
#comments p.meta .dola-verified { margin-left: 0; }

/* Pe ecrane înguste insigna coboară singură pe rândul ei, iar liniuța dispare:
   „Nume — dată" pe primul rând, insigna dedesubt. */
@media (max-width: 560px) {
	/* Numele și data cad oricum pe rânduri diferite (stelele ocupă dreapta),
	   iar liniuța rămânea agățată după nume, fără nimic după ea. */
	#comments p.meta .woocommerce-review__dash { display: none; }
	#comments p.meta .woocommerce-review__published-date { order: 2; flex-basis: 100%; }
	#comments p.meta .dola-verified { order: 3; margin-top: 2px; }
}


/* ==========================================================================
   REFERINȚE (Argeș Mall) — compoziție asimetrică
   O fotografie dominantă plus sateliți: ochiul intră o dată, apoi rătăcește.
   Layout-ul se schimbă după câte poze sunt încărcate, ca să nu rămână goluri.
   ========================================================================== */
.dola-mall {
	padding: clamp(56px, 8vw, 104px) 0;
	background: var(--stone, #f5f2ea);
}
.dola-mall__inner {
	max-width: var(--shell, 1280px);
	margin-inline: auto;
	padding-inline: var(--gutter, clamp(20px, 4vw, 64px));
}

.dola-mall__head {
	max-width: 62ch;
	margin: 0 0 clamp(28px, 4vw, 44px);
}
.dola-mall__eyebrow {
	margin: 0 0 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--sage-ink, #1b5443);
}
.dola-mall__title {
	margin: 0;
	font-family: var(--font-serif, Georgia, serif);
	font-size: clamp(1.6rem, 3.4vw, 2.5rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.15;
	color: var(--ink, #0f1f1a);
	text-wrap: balance;
}
.dola-mall__text {
	margin: 14px 0 0;
	font-size: clamp(14.5px, 1.5vw, 16px);
	line-height: 1.7;
	color: var(--ink-muted, #526359);
	text-wrap: pretty;
}

.dola-mall__grid {
	display: grid;
	gap: clamp(10px, 1.2vw, 16px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: clamp(150px, 22vw, 210px);
}

.dola-mall__item {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius-lg, 16px);
	background: var(--stone-sunken, #e9e4d8);
	border: 1px solid var(--hairline, rgba(15,31,26, 0.075));
}
.dola-mall__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 1.1s var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}
.dola-mall__item:hover .dola-mall__img { transform: scale(1.04); }

/* Pe telefon prima fotografie ocupă rândul întreg, restul se împart în două */
.dola-mall__item:first-child { grid-column: span 2; }

@media (min-width: 760px) {
	.dola-mall__grid { grid-auto-rows: clamp(170px, 17vw, 250px); }

	/* 1 poză — o singură bandă lată */
	.dola-mall__grid--1 { grid-template-columns: minmax(0, 1fr); grid-auto-rows: clamp(280px, 34vw, 480px); }
	.dola-mall__grid--1 .dola-mall__item:first-child { grid-column: auto; }

	/* 2 poze — una mare, una îngustă */
	.dola-mall__grid--2 { grid-template-columns: 1.6fr 1fr; grid-auto-rows: clamp(240px, 30vw, 400px); }
	.dola-mall__grid--2 .dola-mall__item:first-child { grid-column: auto; }

	/* 3 poze — una dominantă pe două rânduri, două alături */
	.dola-mall__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dola-mall__grid--3 .dola-mall__item:first-child { grid-column: span 2; grid-row: span 2; }

	/* 4 poze — dominantă 2x2, două mici sus, una lată jos */
	.dola-mall__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.dola-mall__grid--4 .dola-mall__item:first-child { grid-column: span 2; grid-row: span 2; }
	.dola-mall__grid--4 .dola-mall__item:nth-child(4) { grid-column: span 2; }

	/* 5 poze — dominantă 2x2 plus patru sateliți: dreptunghi perfect */
	.dola-mall__grid--5 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.dola-mall__grid--5 .dola-mall__item:first-child { grid-column: span 2; grid-row: span 2; }
}


/* ==========================================================================
   VIDEO — panou cu buton de redare; iframe-ul apare abia la click
   ========================================================================== */
.dola-video {
	padding: 0 0 clamp(56px, 8vw, 104px);
	background: var(--stone, #f5f2ea);
	padding-inline: var(--gutter, clamp(20px, 4vw, 64px));
}
.dola-video__inner {
	position: relative;
	max-width: calc(var(--shell, 1280px) - 2 * var(--gutter, 64px));
	margin-inline: auto;
	border-radius: var(--radius-lg, 16px);
	overflow: hidden;
	isolation: isolate;
	background: var(--hero-bg, linear-gradient(150deg, #1d3b2b 0%, #0f1f17 100%));
	min-height: clamp(280px, 38vw, 420px);
	display: flex;
	align-items: flex-end;
}

.dola-video__poster { position: absolute; inset: 0; z-index: -1; }
.dola-video__poster-img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Voal întunecat: textul alb trebuie să rămână lizibil pe orice fotografie */
.dola-video__poster::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(14,36,29, 0.25) 0%, rgba(14,36,29, 0.72) 100%);
}

.dola-video__body {
	position: relative;
	padding: clamp(28px, 4vw, 52px);
	max-width: 56ch;
	color: #fff;
}
.dola-video__eyebrow {
	margin: 0 0 10px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--sage-orn, #6b8172);
}
.dola-video__title {
	margin: 0;
	font-family: var(--font-serif, Georgia, serif);
	font-size: clamp(1.5rem, 3.2vw, 2.3rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.15;
	color: #fff;
	text-wrap: balance;
}
.dola-video__text {
	margin: 12px 0 0;
	font-size: clamp(14px, 1.5vw, 15.5px);
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.78);
	text-wrap: pretty;
}

.dola-video__play {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: clamp(20px, 2.6vw, 28px);
	padding: 11px 22px 11px 13px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: #fff;
	font-family: inherit;
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background 0.35s var(--ease, ease), border-color 0.35s var(--ease, ease), transform 0.35s var(--ease, ease);
}
.dola-video__play:hover {
	background: rgba(255, 255, 255, 0.18);
	border-color: rgba(255, 255, 255, 0.45);
	transform: translateY(-2px);
}
.dola-video__play-icon {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff;
	color: var(--fir, #0e241d);
	padding-left: 2px;   /* triunghiul pare descentrat fara asta */
}


/* ==========================================================================
   Lightbox video — fundal întunecat și blurat, pe tot ecranul
   ========================================================================== */
.dola-vbox {
	position: fixed;
	inset: 0;
	z-index: 3000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: clamp(16px, 4vw, 48px);
	background: rgba(14,36,29, 0.72);
	backdrop-filter: blur(18px) saturate(140%);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	opacity: 0;
	transition: opacity 0.32s var(--ease, ease);
}
.dola-vbox.is-open { display: flex; }
.dola-vbox.is-visible { opacity: 1; }

.dola-vbox__frame {
	position: relative;
	width: min(100%, 460px);
	aspect-ratio: 9 / 16;
	max-height: 88vh;
	border-radius: var(--radius-lg, 16px);
	overflow: hidden;
	background: #000;
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.5);
	transform: scale(0.97);
	transition: transform 0.38s var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}
.dola-vbox--orizontal .dola-vbox__frame {
	width: min(100%, 1100px);
	aspect-ratio: 16 / 9;
}
.dola-vbox.is-visible .dola-vbox__frame { transform: scale(1); }
.dola-vbox__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.dola-vbox__close {
	position: absolute;
	top: clamp(12px, 3vw, 26px);
	right: clamp(12px, 3vw, 26px);
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: #fff;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.3s var(--ease, ease);
}
.dola-vbox__close:hover { background: rgba(255, 255, 255, 0.22); }

@media (prefers-reduced-motion: reduce) {
	.dola-vbox, .dola-vbox__frame { transition: none; }
}


/* ==========================================================================
   FOTOGRAFII DE LA CLIENȚI ÎN RECENZII
   Miniatura de 84px trecea neobservată. O poză reală de la un cumpărător e
   argumentul cel mai puternic dintr-o recenzie — merită să se vadă.
   ========================================================================== */
.dola-review-images__label {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 16px 0 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sage-ink, #1b5443);
}

.dola-review-images {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 4px;
}

.dola-review-images__item {
	position: relative;
	display: block;
	width: clamp(104px, 26vw, 132px);
	height: clamp(104px, 26vw, 132px);
	border-radius: var(--radius, 8px);
	overflow: hidden;
	background: var(--stone-sunken, #e9e4d8);
	border: 1px solid var(--hairline, rgba(15,31,26, 0.075));
	transition: transform 0.35s var(--ease, ease), box-shadow 0.35s var(--ease, ease);
}
.dola-review-images__item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(15,31,26, 0.14);
}

.dola-review-images__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Lupă în colț: spune din prima că poza se poate mări */
.dola-review-images__zoom {
	position: absolute;
	right: 6px;
	bottom: 6px;
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(14,36,29, 0.55);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	color: #fff;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.3s var(--ease, ease), transform 0.3s var(--ease, ease);
}
.dola-review-images__item:hover .dola-review-images__zoom,
.dola-review-images__item:focus-visible .dola-review-images__zoom {
	opacity: 1;
	transform: translateY(0);
}

/* Pe ecrane tactile nu există hover — lupa rămâne mereu vizibilă */
@media (hover: none), (pointer: coarse) {
	.dola-review-images__zoom { opacity: 1; transform: none; }
}
