/* =============================================================================
   STILURI PENTRU TOT SITE-UL  (se încarcă pe fiecare pagină)
   =============================================================================

   CE E AICI
   Variabilele comune ale site-ului, componentele refolosite de mai multe pagini
   (secțiunile, eticheta numerotată, capul de secțiune, CTA-ul final, bara de căutare), header-ul și footer-ul, mega meniul,
   bucățile din landing page-urile de funcții și regula celor două fonturi.
   Ce ține de o singură pagină stă în fișierul ei (home, pricing, checkout, kb).

   CE NU E AICI
   Tipografia, culorile de bază, spațierile generale: alea vin din tema Canvas
   (theme.json). Dacă vrei să schimbi cum arată un titlu, se schimbă acolo.

   CUM E ORGANIZAT FIȘIERUL
     0. VARIABILE (culori pe rol, rotunjimi, umbră, stele)
     1. UTILITARE (etichete, chip-uri, stele, legende)
     2. COMPONENTE COMUNE (secțiunile, eticheta numerotată, capul de secțiune, CTA-ul final, bara de căutare)
     3. MEGA MENIU
     4. ZIDUL DE ALBUME
     5. BLOCURI DE COD
     6. PLAYLISTUL DE VIDEO
     7. CAPTURI DE ECRAN ȘI VIDEO
     8. LISTA CU BIFE
     9. DEMO DE IMAGE PROOFING
    10. CORECȚII PENTRU GALERIILE MODULA
    11. SLIDER
    12. HEADER ȘI FOOTER
    13. DOAR DOUĂ FAMILII DE FONTURI
    14. NOTE

   REGULI RESPECTATE ÎN TOATE FIȘIERELE DE CSS
   - Culorile vin din paleta temei, direct sau prin variabilele `--mc-*` de mai
     jos (aceleași culori, cu nume după rol). Singurele valori „crude" sunt
     `rgb(... / ...)` folosite ca voaluri și umbre, care trebuie să meargă peste
     orice fotografie, și auriul stelelor.
   - Fonturile doar prin variabilele temei (`--wp--preset--font-family--*`).
   - Rotunjimile care se repetă au variabile (`--mc-radius-*`); cele de o
     singură folosință rămân scrise pe loc.

   PALETA (Global Styles)
     --wp--preset--color--main / primary    cerneala: text și butoane      (#1E1E1C)
     --wp--preset--color--base              crem, fundalul paginii          (#F5F3EE)
     --wp--preset--color--tertiary          alb, fundalul cardurilor        (#FFFFFF)
     --wp--preset--color--secondary         gri de text secundar            (#6B675F)
     --wp--preset--color--border-light      linii fine pe fundal deschis    (#D8D3C9)
     --wp--preset--color--border-dark       linii fine pe fundal închis     (#3A3A37)
     --wp--preset--color--primary-accent    bej deschis (fundaluri, hover)  (#EDEBE6)
     --wp--preset--color--primary-alt       bej cald                        (#E8E3DA)
     --wp--preset--color--main-accent       gri cald, text pe negru         (#D9D6CF)

   CONVENȚIE DE DENUMIRE
   `.modula-dark` e pusă în editor pe secțiunile cu fundal închis. Oriunde o vezi
   într-un selector, regula de după ea e varianta „pe negru" a unei reguli
   scrise mai sus pentru fundal alb. Prefixele: `mh-` homepage și elementele din
   canvas (header, footer, mega meniu), `mc-` componente comune și checkout,
   `mod-` pricing, `mkb` Knowledge Base, `modula-` landing page-urile de funcții.
   ========================================================================== */


/* -----------------------------------------------------------------------------
   0. VARIABILE
   Aceleași valori în toate paginile; fișierele de pagină le folosesc, nu le
   redefinesc.
   -------------------------------------------------------------------------- */

:root {
	/* Culorile temei, cu nume după rolul lor. */
	--mc-ink: var(--wp--preset--color--main);
	--mc-muted: var(--wp--preset--color--secondary);
	--mc-line: var(--wp--preset--color--border-light);
	--mc-card: var(--wp--preset--color--tertiary);
	--mc-tint: var(--wp--preset--color--primary-accent);

	/* Rotunjimile repetate: carduri, rânduri și casete mici, câmpuri și butoane mici. */
	--mc-radius-card: 18px;
	--mc-radius-row: 14px;
	--mc-radius-control: 10px;

	/* Umbra cardurilor și a barelor care „plutesc" deasupra paginii. */
	--mc-shadow-float: 0 14px 40px rgb(30 30 28 / .08);

	/* Stelele (singura culoare din afara paletei), un auriu închis, aceeași pe tot
	   site-ul. Stelele sunt un semn grafic, deci au nevoie de minimum 3:1 față de
	   fundal (WCAG 1.4.11): #B07D1A dă 3.6:1 pe alb și 3.3:1 pe crem. Galbenul
	   clasic (#fcb900) dădea 1.7:1, adică stele pe care nu le vede nimeni. */
	--mc-star: #B07D1A;
}


/* -----------------------------------------------------------------------------
   1. UTILITARE
   Bucăți mici, refolosite în mai multe pagini.
   -------------------------------------------------------------------------- */

/* Eticheta-pilulă mare, de deasupra titlurilor de secțiune. */
.modula-badge-pill {
	display: inline-block;
	padding: .35rem 1rem;
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-size: .75rem !important;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}

/* Eticheta „NEW", mică, lipită după un cuvânt. */
.modula-badge-new {
	display: inline-block;
	margin-left: .5rem;
	padding: .14rem .5rem;
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-size: .6rem !important;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	vertical-align: middle;
}

/* Rând de chip-uri conturate, centrate. */
.modula-chips {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	justify-content: center;
}

.modula-chip {
	padding: .45rem 1.1rem;
	border: 1px solid var(--wp--preset--color--border-light);
	border-radius: var(--wp--preset--border-radius--full);
	color: var(--wp--preset--color--primary);
	font-size: .875rem !important;
}

.modula-chip .check {
	margin-right: .35rem;
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

/* Șirul de steluțe. Are `aria-label` în markup, deci culoarea e pur decorativă. */
.modula-stars {
	color: var(--mc-star);
	letter-spacing: 3px;
}

/* Legendă mică sub imagini și demo-uri. */
.modula-caption {
	color: var(--wp--preset--color--secondary);
	font-size: .9rem !important;
}


/* -----------------------------------------------------------------------------
   2. COMPONENTE COMUNE
   -------------------------------------------------------------------------- */

/* Secțiunile (`.mh-section`, generate de kit.section() în ~/modula-ollie-build): în
   interior, blocurile se așază la distanța din design (`--mh-hd`, titlu → conținut),
   nu la `blockGap`-ul general al temei. Homepage, blog, paginile de comparație. */
.mh-section { --mh-hd: 48px; position: relative; }
.mh-section .mh-inner > * { margin-block: 0; }
.mh-section .mh-inner > * + * { margin-block-start: var(--mh-hd); }

@media (max-width: 760px) {
	.mh-section { --mh-hd: 32px; }
}

/* Eticheta numerotată de deasupra secțiunilor (`01 ─── SHOWCASE`): un grup flex
   cu numărul și eticheta, cu linia fină de sus pusă din editor. Homepage,
   pricing, Knowledge Base. */
.mh-rule { width: 100%; }
.mh-rule > * { margin: 0; }

/* Capul de secțiune: titlul în stânga, o frază scurtă în dreapta, aliniate jos
   (generat de kit.head() în ~/modula-ollie-build). Homepage și pricing. */
.mh-head { gap: 24px; align-items: last baseline; }
.mh-head > * { margin: 0; }
.mh-head .mh-title { max-width: 640px; }
.mh-head .mh-lead { max-width: 450px; line-height: 1.6; }
.mh-title { line-height: 1; }

/* CTA-ul final (`.mh-start-box`, kit.start()): cutia albă coboară peste footer, iar
   footer-ul primește spațiu în plus sus doar pe paginile care o au. */
.mh-start { z-index: 3; }
.mh-start-box {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	margin-bottom: -140px !important;
	padding: 112px 48px;
	border-radius: var(--wp--preset--border-radius--lg);
	box-shadow: 0 30px 80px rgb(30 30 28 / .12);
}
.mh-start-box > * { margin: 0 !important; }
.mh-start-box .mh-title { max-width: 900px; line-height: 1.04; }

body:has(.mh-start-box) .wp-site-blocks > footer { margin-block-start: 0; }
body:has(.mh-start-box) .mh-footer { padding-top: calc(140px + var(--wp--preset--spacing--xx-large)) !important; }

@media (max-width: 760px) {
	.mh-start-box { padding: 64px 24px; margin-bottom: -90px !important; }
	body:has(.mh-start-box) .mh-footer { padding-top: calc(90px + var(--wp--preset--spacing--xx-large)) !important; }
}

/* Bara de căutare (`.mc-search`): blocul Search core, îmbrăcat ca pastilă albă cu
   umbră, cu lupa în față și butonul negru în dreapta. Demo-ul AI de pe homepage
   (`.is-voice`: microfon în loc de lupă) și căutarea din Knowledge Base
   (`.is-compact`: mai mică, fără umbră, butonul doar iconiță).
   Selectoarele au și `.wp-block-search`, ca să treacă peste regulile core ale
   blocului (bordura gri și padding-ul wrapper-ului). */
.mc-search.wp-block-search { margin: 0; }
.mc-search.wp-block-search .wp-block-search__inside-wrapper {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 8px 8px 22px;
	border: 1px solid var(--mc-line);
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--mc-card);
	box-shadow: var(--mc-shadow-float);
	transition: border-color .2s ease;
}
.mc-search.wp-block-search .wp-block-search__inside-wrapper:focus-within { border-color: var(--mc-ink); }
.mc-search.wp-block-search:not(.is-compact) .wp-block-search__inside-wrapper::before {
	content: "";
	flex: 0 0 18px;
	height: 18px;
	background: var(--mc-muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat center / contain;
}
.mc-search.is-voice.wp-block-search .wp-block-search__inside-wrapper::before {
	flex-basis: 20px;
	height: 20px;
	background: var(--mc-ink);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='3' width='6' height='11' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v3'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='3' width='6' height='11' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v3'/%3E%3C/svg%3E");
}
.mc-search.wp-block-search .wp-block-search__input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 48px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	outline: 0;
	background: transparent;
	box-shadow: none;
	font: inherit;
	font-size: var(--wp--preset--font-size--base);
	color: var(--mc-ink);
}
.mc-search.wp-block-search .wp-block-search__input::placeholder { color: var(--mc-muted); opacity: 1; }
.mc-search.wp-block-search .wp-block-search__button {
	flex: 0 0 auto;
	min-height: 48px;
	margin: 0;
	padding: 0 26px;
	border: 0;
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--mc-ink);
	color: var(--mc-card);
	font-size: var(--wp--preset--font-size--xx-small);
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
}
.mc-search.wp-block-search .wp-block-search__button:focus-visible { outline: 2px solid var(--mc-ink); outline-offset: 3px; }

.mc-search.is-compact .wp-block-search__inside-wrapper { padding: 4px 4px 4px 18px; box-shadow: none; }
.mc-search.is-compact .wp-block-search__input { min-height: 38px; font-size: var(--wp--preset--font-size--x-small); }
.mc-search.is-compact .wp-block-search__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	min-height: 38px;
	padding: 0;
}
.mc-search.is-compact .wp-block-search__button svg { width: 18px; height: 18px; fill: currentColor; }

@media (max-width: 781px) {
	.mc-search.wp-block-search:not(.is-compact) .wp-block-search__inside-wrapper { gap: 8px; padding-left: 16px; }
	.mc-search.wp-block-search:not(.is-compact) .wp-block-search__button { padding: 0 16px; }
	/* Sub 16px, Safari pe iPhone mărește pagina când atingi câmpul. */
	.mc-search.wp-block-search .wp-block-search__input { font-size: max(16px, var(--wp--preset--font-size--base)); }
}


/* -----------------------------------------------------------------------------
   3. MEGA MENIU
   Panourile mari care se deschid din meniul principal. Blocul de bază e
   ollie/mega-menu; aici doar îmbrăcăm conținutul pe care îl punem noi în el.
   -------------------------------------------------------------------------- */

/* Meniul de sus e scris cu majuscule mici, spațiate (atributele blocului
   Navigation din header). În panouri și în dropdown-uri revenim la textul
   obișnuit al site-ului, cel din paragrafe: același font, litere normale, fără
   spațiere în plus, la o mărime ușor de citit. Titlurile din panouri sunt
   `h4`, deci ar lua fontul de titluri; aici rămân tot pe fontul de text. */
.mh-nav .wp-block-navigation__submenu-container,
.mh-nav .wp-block-ollie-mega-menu__menu-container {
	font-family: var(--wp--preset--font-family--instrument-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}
.mh-nav .wp-block-ollie-mega-menu__menu-container :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--wp--preset--font-family--instrument-sans);
	letter-spacing: 0;
}
.mh-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .55em 1.25em;
}

.wp-block-ollie-mega-menu__menu-container {
	border: 1px solid var(--wp--preset--color--border-light);
	border-radius: var(--wp--preset--border-radius--lg);
	box-shadow: var(--wp--preset--shadow--large-dark);
	overflow: hidden;
}

.wp-block-ollie-mega-menu__menu-container.menu-width-wide {
	width: min(1260px, calc(100vw - 3rem));
}

/* CORECȚIE: panoul mega-meniului acoperea bara de navigare la încărcare lentă.
   Fișierul view.js al blocului ollie/mega-menu scrie decalajul de sus al
   panoului (din atributul `data-top-spacing`) abia când `document.readyState`
   devine "complete", adică la evenimentul `load` al ferestrei — nu la
   DOMContentLoaded. Stylesheet-ul lui de bază pornește cu `top:0`, așa că dacă
   treceai cu mouse-ul peste meniu după ce pagina începuse să se deseneze, dar
   înainte să se termine de încărcat fiecare imagine și script, panoul se
   deschidea lipit de marginea de sus a elementului de meniu, adică peste bara
   de navigare, până când se executa în sfârșit acel JS întârziat.
   Valoarea corectă (`data-top-spacing="78"` pe ambele mega-meniuri, Features și
   Resources) e deja în HTML-ul venit de la server, deci o putem aplica de la
   prima desenare, fără să depindem de JavaScript.
   DE REȚINUT: regula asta țintește exact valoarea de `topSpacing` folosită acum.
   Dacă setarea blocului se schimbă din editor, adaugă încă un
   `[data-top-spacing="N"]` sau actualizeaz-o pe asta. */
.wp-block-ollie-mega-menu__menu-container[data-top-spacing="78"] {
	top: 78px;
}

/* Când treci de pe un panou pe altul (Features → Resources), blocul închide
   panoul vechi cu fade, cam 150ms, timp în care cele două se suprapun. Dacă un
   panou e deschis, celelalte dispar pe loc; închiderea obișnuită (ieși cu
   mouse-ul din meniu) rămâne cu fade. */
.mh-nav:has(.wp-block-ollie-mega-menu__toggle[aria-expanded="true"]) .wp-block-ollie-mega-menu__toggle[aria-expanded="false"] ~ .wp-block-ollie-mega-menu__menu-container {
	transition: none;
}

/* Panoul Features: trei coloane de link-uri, fiecare cu o descriere scurtă luată
   de pe pagina funcției, și un card închis pentru noutatea 3.0. Titlurile de
   coloană repetă motivul de pe homepage: număr mic, nume, linie fină dedesubt.
   La hover, rândul primește un fundal discret și o săgeată. */
.mh-mf { border-radius: inherit; }
.mh-mf-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.15fr);
	gap: 8px 28px;
	align-items: start;
}
.mh-mf-grid > * { margin: 0 !important; }

.mh-mf-col { display: flex; flex-direction: column; gap: 2px; padding-top: 6px; }
.mh-mf-col > * { margin: 0 !important; }
.mh-mf-head {
	gap: 10px;
	align-items: baseline;
	margin-bottom: 10px !important;
	padding: 0 12px 12px;
	border-bottom: 1px solid var(--wp--preset--color--border-light);
}
.mh-mf-head > * { margin: 0; }
.mh-mf-num { font-size: 12px; font-variant-numeric: tabular-nums; color: var(--wp--preset--color--secondary); }
.mh-mf-label { font-size: var(--wp--preset--font-size--small); }
.mh-mf-label strong { font-weight: 600; }

.mh-mf-item { line-height: 1.3; }
.mh-mf-link {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 10px 30px 10px 12px;
	border-radius: var(--wp--preset--border-radius--md);
	color: var(--wp--preset--color--main);
	text-decoration: none !important;
	transition: background .2s ease;
}
.mh-mf-t { font-size: var(--wp--preset--font-size--small); font-weight: 500; }
.mh-mf-d { font-size: 14px; color: var(--wp--preset--color--secondary); }
.mh-mf-link::after {
	content: "→";
	position: absolute;
	right: 10px;
	top: 50%;
	opacity: 0;
	transform: translate(-6px, -50%);
	transition: opacity .2s ease, transform .2s ease;
}
.mh-mf-link:hover,
.mh-mf-link:focus-visible { background: var(--wp--preset--color--tertiary); }
.mh-mf-link:hover::after,
.mh-mf-link:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
.mh-mf-link:focus-visible { outline: 2px solid var(--wp--preset--color--main); outline-offset: 0; }

/* Cardul 3.0: sigla Modula și „3.0" mare, pe un fundal cu sigla repetată, uriașă
   și abia vizibilă, care se rotește puțin la hover (ca un obturator). */
.mh-mf-card { overflow: hidden; border-radius: var(--mc-radius-card); }
.mh-mf-card > * { margin: 0 !important; }
.mh-mf-v3 {
	position: relative;
	height: 150px;
	overflow: hidden;
	background:
		radial-gradient(120% 90% at 85% 110%, color-mix(in srgb, var(--wp--preset--color--tertiary) 14%, transparent), transparent 60%),
		color-mix(in srgb, var(--wp--preset--color--main) 88%, var(--wp--preset--color--tertiary));
	border-bottom: 1px solid var(--wp--preset--color--border-dark);
}
.mh-mf-v3 > * { margin: 0 !important; }
.mh-mf-v3-bg {
	position: absolute !important;
	right: -46px;
	bottom: -70px;
	width: 220px;
	opacity: .07;
	transform: rotate(-12deg);
	transition: transform 1.2s cubic-bezier(.2, .7, .2, 1);
}
.mh-mf-v3-bg img { width: 100%; height: auto; display: block; }
.mh-mf-card:hover .mh-mf-v3-bg { transform: rotate(48deg); }
.mh-mf-v3-lockup {
	position: absolute !important;
	left: 22px;
	bottom: 18px;
	gap: 14px;
}
.mh-mf-v3-lockup > * { margin: 0 !important; }
.mh-mf-v3-mark { flex: 0 0 auto; width: 40px; }
.mh-mf-v3-mark img { width: 40px; height: 40px; display: block; }
.mh-mf-v3-num {
	padding-left: 14px;
	border-left: 1px solid color-mix(in srgb, var(--wp--preset--color--tertiary) 30%, transparent);
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 64px;
	font-weight: 500;
	line-height: .9;
	letter-spacing: -.02em;
	/* Cormorant are implicit cifre „de text" (3 coboară sub linie); aici vrem cifre de titlu. */
	font-variant-numeric: lining-nums;
	color: var(--wp--preset--color--tertiary);
}
@media (prefers-reduced-motion: reduce) {
	.mh-mf-v3-bg { transition: none; }
	.mh-mf-card:hover .mh-mf-v3-bg { transform: rotate(-12deg); }
}

.mh-mf-body { display: flex; flex-direction: column; gap: 10px; padding: 18px 22px 22px; }
.mh-mf-body > * { margin: 0 !important; }
.mh-mf-badge {
	align-self: flex-start;
	padding: 5px 10px;
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--main);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	line-height: 1.2;
	text-transform: uppercase;
}
/* Singurul titlu din panou, deci singurul în fontul de titluri, la o mărime la
   care se citește ușor. */
.mh-nav .wp-block-ollie-mega-menu__menu-container .mh-mf-title {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	line-height: 1.1;
	color: var(--wp--preset--color--tertiary);
}
.mh-mf-text { font-size: 14px; line-height: 1.5; color: var(--wp--preset--color--main-accent); }
.mh-mf-more a {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: var(--wp--preset--color--tertiary);
	text-decoration: underline;
	text-underline-offset: 4px;
}
.mh-mf-more a::after { content: " →"; }

/* Pe telefon (sub 600px, pragul blocului) panoul devine un ecran întreg, cu
   butonul lui de închidere în colțul din dreapta sus: fără ramă rotunjită, pe
   fundalul alb al meniului de telefon și cu loc deasupra conținutului pentru buton. */
@media (max-width: 599px) {
	.wp-block-ollie-mega-menu__menu-container { border: 0; border-radius: 0; box-shadow: none; }
	.wp-block-ollie-mega-menu__menu-container .mh-mf { padding: 72px 12px 32px !important; background: transparent !important; }
}

/* Panoul Resources: aceleași rânduri ca la Features, pe două coloane, fără card. */
.mh-mf-grid.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 1100px) {
	.mh-mf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mh-mf-card { grid-column: 1 / -1; display: grid; grid-template-columns: 240px 1fr; }
	.mh-mf-v3 { height: auto; min-height: 150px; border-bottom: 0; border-right: 1px solid var(--wp--preset--color--border-dark); }
}
@media (max-width: 781px) {
	.mh-mf { padding: 8px 4px !important; }
	.mh-mf-col + .mh-mf-col { margin-top: 24px !important; }
	.mh-mf-grid, .mh-mf-grid.is-two, .mh-mf-card { grid-template-columns: 1fr; }
	.mh-mf-v3 { height: 130px; border-right: 0; border-bottom: 1px solid var(--wp--preset--color--border-dark); }
}

/* -----------------------------------------------------------------------------
   4. ZIDUL DE ALBUME
   Carduri cu coperți de galerii reale, prezentate ca albume răsfoibile.
   -------------------------------------------------------------------------- */

.modula-albumwall {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.modula-albumcard {
	display: block;
	border: 1px solid var(--wp--preset--color--border-light);
	border-radius: var(--wp--preset--border-radius--lg);
	background: var(--wp--preset--color--base);
	box-shadow: var(--wp--preset--shadow--small-light);
	overflow: hidden;
	text-decoration: none;
	transition: transform .18s ease, box-shadow .18s ease;
}

.modula-albumcard:hover {
	transform: translateY(-4px);
	box-shadow: var(--wp--preset--shadow--medium-light);
}

.modula-albumcard .cover {
	position: relative;
	aspect-ratio: 16/11;
	background-size: cover;
	background-position: center;
}

/* Voal întunecat spre partea de jos, ca eticheta și miniaturile să se vadă. */
.modula-albumcard .cover::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(0 0 0 / .28), rgb(0 0 0 / 0) 55%);
}

.modula-albumcard .badge {
	position: absolute;
	z-index: 2;
	top: 12px;
	right: 12px;
	padding: 5px 11px;
	border-radius: var(--wp--preset--border-radius--full);
	background: rgb(20 20 24 / .82);
	color: var(--wp--preset--color--base);
	font-size: 12px;
	font-weight: 600;
	backdrop-filter: blur(4px);
}

/* Teancul de miniaturi din colțul de jos-stânga. */
.modula-albumcard .stack {
	position: absolute;
	z-index: 2;
	bottom: 12px;
	left: 12px;
	display: flex;
	gap: 5px;
}

.modula-albumcard .stack span {
	width: 28px;
	height: 28px;
	border: 2px solid var(--wp--preset--color--base);
	border-radius: var(--wp--preset--border-radius--xs);
	background-size: cover;
	background-position: center;
	box-shadow: var(--wp--preset--shadow--small-dark);
}

.modula-albumcard .meta {
	padding: 16px 18px 18px;
}

.modula-albumcard .t {
	display: block;
	color: var(--wp--preset--color--primary);
	font-size: 1.25rem;
	line-height: 1.2;
}

.modula-albumcard .d {
	display: block;
	margin-top: 4px;
	color: var(--wp--preset--color--secondary);
	font-size: .82rem;
}

@media (max-width: 900px) {

	.modula-albumwall {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {

	.modula-albumwall {
		grid-template-columns: 1fr;
	}
}


/* -----------------------------------------------------------------------------
   5. BLOCURI DE COD
   În articolele din baza de cunoștințe apar fragmente de CSS cu linii lungi.
   Implicit ar ieși din coloană; aici le rupem pe mai multe rânduri.
   -------------------------------------------------------------------------- */

.wp-block-code {
	overflow-x: auto;
}

.wp-block-code code {
	display: block;
	white-space: pre-wrap;
	word-break: break-word;
	overflow-wrap: anywhere;
}


/* -----------------------------------------------------------------------------
   6. PLAYLISTUL DE VIDEO
   Lista laterală din galeriile video are o bară de derulare nativă groasă.
   O înlocuim cu una subțire, care se accentuează la hover.
   `scrollbar-width` și `scrollbar-color` sunt standardul; regulile
   `::-webkit-scrollbar-*` acoperă Chrome și Safari, care încă nu îl respectă.
   Bara stă peste fundal închis, deci albul transparent e o nuanță de lumină, nu
   o culoare de brand.
   -------------------------------------------------------------------------- */

.modula-video-items {
	scrollbar-width: thin;
	scrollbar-color: rgb(255 255 255 / .28) transparent;
}

.modula-video-items::-webkit-scrollbar {
	width: 6px;
}

.modula-video-items::-webkit-scrollbar-track {
	background: transparent;
}

.modula-video-items::-webkit-scrollbar-thumb {
	background: rgb(255 255 255 / .28);
	border-radius: var(--wp--preset--border-radius--full);
}

.modula-video-items:hover {
	scrollbar-color: rgb(255 255 255 / .5) transparent;
}

.modula-video-items:hover::-webkit-scrollbar-thumb {
	background: rgb(255 255 255 / .5);
}

/* Săgețile de la capetele barei, în Chrome. */
.modula-video-items::-webkit-scrollbar-button {
	display: none;
	width: 0;
	height: 0;
}


/* -----------------------------------------------------------------------------
   7. CAPTURI DE ECRAN ȘI VIDEO
   Imaginile de produs din paginile de funcționalități, plus clipurile care
   pornesc la click, cu buton mare de play peste ele.
   -------------------------------------------------------------------------- */

.modula-shot img,
.modula-shot video {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--wp--preset--border-radius--lg);
	box-shadow: var(--wp--preset--shadow--large-dark);
}

figure.wp-block-video.modula-shot {
	position: relative;
	margin: 0;
}

figure.wp-block-video.modula-shot video {
	cursor: pointer;
}

/* Stratul de play. E un `<button>` întins peste tot clipul, ca să meargă și cu
   tastatura. Voalul întunecat crește la hover. */
.modula-vplay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: var(--wp--preset--border-radius--lg);
	background: linear-gradient(180deg, rgb(10 10 14 / .06), rgb(10 10 14 / .28));
	cursor: pointer;
	transition: background .18s ease;
}

.modula-vplay:hover {
	background: linear-gradient(180deg, rgb(10 10 14 / .10), rgb(10 10 14 / .38));
}

.modula-vplay .disc {
	width: 96px;
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--wp--preset--border-radius--full);
	background: rgb(255 255 255 / .96);
	box-shadow: var(--wp--preset--shadow--large-dark);
	transition: transform .18s ease;
}

.modula-vplay:hover .disc {
	transform: scale(1.07);
}

/* Triunghiul de play, desenat din borduri: două transparente pe verticală și
   una plină pe stânga. Marginea îl împinge optic în centrul cercului. */
.modula-vplay .disc::after {
	content: "";
	margin-left: 7px;
	border-left: 30px solid var(--wp--preset--color--primary);
	border-top: 19px solid transparent;
	border-bottom: 19px solid transparent;
}

.modula-vbadge {
	position: absolute;
	z-index: 2;
	top: 14px;
	left: 14px;
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .34rem .7rem;
	border-radius: var(--wp--preset--border-radius--full);
	background: rgb(20 20 24 / .86);
	color: var(--wp--preset--color--base);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	backdrop-filter: blur(4px);
	pointer-events: none;
}

/* Triunghiul mic din fața cuvântului „Video". */
.modula-vbadge::before {
	content: "";
	border-left: 8px solid var(--wp--preset--color--base);
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}

/* Cât timp clipul rulează, eticheta dispare. */
figure.wp-block-video.modula-shot.is-playing .modula-vbadge {
	opacity: 0;
	transition: opacity .2s ease;
}

/* Pe telefon butonul de play se micșorează, altfel acoperă tot clipul. */
@media (max-width: 600px) {

	.modula-vplay .disc {
		width: 70px;
		height: 70px;
	}

	.modula-vplay .disc::after {
		margin-left: 5px;
		border-left-width: 22px;
		border-top-width: 14px;
		border-bottom-width: 14px;
	}
}


/* -----------------------------------------------------------------------------
   8. LISTA CU BIFE
   O listă `<ul>` obișnuită din editor, cu bulinele înlocuite de bife în cerc.
   -------------------------------------------------------------------------- */

.modula-checklist {
	display: flex;
	flex-direction: column;
	gap: .65rem;
	margin: 1.4rem 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.modula-checklist li {
	position: relative;
	padding-left: 2rem;
	color: var(--wp--preset--color--main);
	font-size: .98rem;
	line-height: 1.4;
}

.modula-checklist li::before {
	content: "✓";
	position: absolute;
	top: .02rem;
	left: 0;
	width: 1.35rem;
	height: 1.35rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-size: .72rem;
	font-weight: 700;
}


/* -----------------------------------------------------------------------------
   9. DEMO DE IMAGE PROOFING
   Grilă de fotografii pe care vizitatorul le poate „selecta", ca să înțeleagă
   cum arată fluxul de aprobare. Selecția e ținută de site.js prin clasele
   `.is-selected` și `.is-sent`.
   -------------------------------------------------------------------------- */

.modula-proof {
	width: 100%;
}

.modula-proof-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.modula-proof-count {
	color: var(--wp--preset--color--secondary);
	font-size: .92rem;
}

/* `tabular-nums` ține cifrele la aceeași lățime, ca numărătoarea să nu tresară
   la fiecare click. */
.modula-proof-count strong {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.modula-proof-approve {
	position: relative;
	padding: .5rem 1.15rem;
	border: 0;
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-size: .85rem;
	font-weight: 500;
	cursor: pointer;
	transition: transform .12s ease, background .25s ease;
}

.modula-proof-approve:hover {
	opacity: .9;
}

.modula-proof-approve:active {
	transform: scale(.97);
}

/* Butonul are două texte în el; se vede doar unul, în funcție de stare. */
.modula-proof-approve .done {
	display: none;
}

.modula-proof-approve.is-sent {
	background: var(--wp--preset--color--secondary);
}

.modula-proof-approve.is-sent .label {
	display: none;
}

.modula-proof-approve.is-sent .done {
	display: inline;
}

.modula-proof-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

/* `outline` în loc de `border`: outline-ul nu ocupă spațiu, deci fotografiile nu
   se mișcă atunci când apare conturul de selecție. */
.modula-proof-card {
	position: relative;
	margin: 0;
	aspect-ratio: 4/3;
	border-radius: var(--wp--preset--border-radius--lg);
	background: var(--wp--preset--color--primary);
	box-shadow: var(--wp--preset--shadow--small-light);
	outline: 2px solid transparent;
	outline-offset: -2px;
	overflow: hidden;
	cursor: pointer;
	transition: box-shadow .2s ease, outline-color .2s ease;
}

.modula-proof-card:focus-visible {
	outline-color: var(--wp--preset--color--primary);
}

.modula-proof-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease;
}

.modula-proof-card:hover img {
	transform: scale(1.035);
}

.modula-proof-card.is-selected {
	outline-color: var(--wp--preset--color--primary);
	box-shadow: var(--wp--preset--shadow--medium-light);
}

/* Eticheta „Selected". Intră printr-o mică alunecare de sus. */
.modula-proof-badge {
	position: absolute;
	top: .7rem;
	left: .7rem;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .34rem .72rem .34rem .5rem;
	border-radius: var(--wp--preset--border-radius--full);
	background: rgb(20 20 20 / .92);
	color: var(--wp--preset--color--base);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .01em;
	opacity: 0;
	transform: translateY(-5px) scale(.94);
	transition: opacity .18s ease, transform .18s ease;
	pointer-events: none;
}

.modula-proof-badge svg {
	width: 15px;
	height: 15px;
	color: var(--wp--preset--color--base);
}

.modula-proof-card.is-selected .modula-proof-badge {
	opacity: 1;
	transform: none;
}

/* Pătrățelul de bifat din colțul din dreapta sus. Bifa din interior are
   `stroke="#fff"` scris direct în SVG-ul din HTML, deci fundalul stării selectate
   trebuie să rămână închis la culoare, altfel bifa devine invizibilă. */
.modula-proof-tick {
	position: absolute;
	top: .6rem;
	right: .6rem;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: var(--wp--preset--border-radius--sm);
	background: rgb(255 255 255 / .94);
	box-shadow: var(--wp--preset--shadow--small-dark);
	transition: background .16s ease, transform .14s ease;
	pointer-events: none;
}

.modula-proof-tick svg {
	width: 17px;
	height: 17px;
	opacity: 0;
	transform: scale(.7);
	transition: opacity .16s ease, transform .16s ease;
}

.modula-proof-card:hover .modula-proof-tick {
	transform: scale(1.06);
}

.modula-proof-card.is-selected .modula-proof-tick {
	background: var(--wp--preset--color--primary);
}

.modula-proof-card.is-selected .modula-proof-tick svg {
	opacity: 1;
	transform: none;
}

.modula-proof-hint {
	margin: 1rem 0 0 !important;
	color: var(--wp--preset--color--secondary);
	font-size: .82rem;
	text-align: center;
}

/* Aceleași elemente, pe secțiune cu fundal închis. */
.modula-dark .modula-proof-count,
.modula-dark .modula-proof-hint {
	color: var(--wp--preset--color--main-accent);
}

/* Numărul propriu-zis rămâne alb, ca să iasă din text. */
.modula-dark .modula-proof-count strong {
	color: var(--wp--preset--color--base);
}

.modula-dark .modula-proof-approve {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

.modula-dark .modula-proof-approve.is-sent {
	background: var(--wp--preset--color--main-accent);
	color: var(--wp--preset--color--primary);
}

.modula-dark .modula-proof-card.is-selected {
	outline-color: var(--wp--preset--color--base);
}

@media (max-width: 820px) {

	.modula-proof-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 600px) {

	.modula-proof-grid {
		gap: .7rem;
	}

	.modula-proof-badge {
		font-size: .72rem;
	}
}


/* -----------------------------------------------------------------------------
   10. CORECȚII PENTRU GALERIILE MODULA
   Plugin-ul Modula lasă în DOM un element „placeholder" peste care se încarcă
   apoi imaginea adevărată. La unele layout-uri asta strică umplerea celulei.
   Excludem explicit layout-ul „tiled" (`:not(.modula-item-tiled)`), care își
   calculează singur dimensiunile și pe care regulile de aici l-ar rupe.
   -------------------------------------------------------------------------- */

/* Pe secțiunile închise, titlul și legenda galeriei trebuie să devină albe. */
.modula-dark .modula-title,
.modula-dark .figc p {
	color: var(--wp--preset--color--base) !important;
}

.modula .modula-item:not(.modula-item-tiled):not(.modula-item-tiled *) .modula-item-picture-stack .modula-item-picture--placeholder {
	display: none !important;
}

.modula .modula-item:not(.modula-item-tiled):not(.modula-item-tiled *) picture.modula-item-picture {
	display: block;
	width: 100% !important;
	height: 100% !important;
}

.modula .modula-item:not(.modula-item-tiled):not(.modula-item-tiled *) picture.modula-item-picture img.pic {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}


/* -----------------------------------------------------------------------------
   11. SLIDER
   -------------------------------------------------------------------------- */

#panel-slider {
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
}

/* Pe telefon, săgețile carusel-ului se micșorează, ca să nu acopere fotografia.
   `--f-arrow-*` sunt variabilele bibliotecii Fancyapps, folosită de Modula. */
@media (max-width: 600px) {

	.modula .modula-slider .modula-items.f-carousel {
		--f-arrow-width: 40px !important;
		--f-arrow-height: 40px !important;
		--f-arrow-svg-width: 14px !important;
		--f-arrow-svg-height: 14px !important;
	}
}

/* Galeriile puse în secțiuni full-bleed se întindeau pe toată lățimea ecranului și arătau
   lăbărțate. Limita e raportată la VIEWPORT, nu la părinte: `min(100%, 80vw)` prinde doar
   galeriile mai late de 80% din ecran, iar pe cele deja încadrate (alignwide, coloane,
   paginile de feature la 1120px) le lasă exact cum sunt. */
/* Doar pe ecrane late: pe telefon, 80vw dintr-un ecran de 390px lăsa galeria la
   312px și o îngusta inutil (review CSS/JS, 4.3.2). */
@media (min-width: 761px) {
	.modula.modula-gallery {
		max-width: min(100%, 80vw);
		margin-inline: auto;
	}
}


/* -----------------------------------------------------------------------------
   12. HEADER ȘI FOOTER
   Header-ul și footer-ul sunt template parts în tema Canvas (parts/); culorile, fonturile și
   spațierile sunt setate pe blocuri. Aici e doar așezarea coloanelor și
   comportamentul link-urilor.
   -------------------------------------------------------------------------- */

.mh-announce a { text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }

/* Bara de Black Friday (gen_parts.py). site.js numără până la data din data-ends și o ascunde când trece. */
.mh-promo[hidden] { display: none; }
.mh-promo-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 24px;
	max-width: 1260px;
	margin-inline: auto;
}
.mh-promo-in > * { margin: 0 !important; }
.mh-promo-in p {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.mh-promo-in .mh-promo-title {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 27px;
	font-style: italic;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
}
.mh-promo-offer, .mh-promo-left { padding-left: 24px; border-left: 1px solid rgb(255 255 255 / .2); }
/* „Made in Europe” stă în bară cât ține promoția: o singură bandă în loc de două.
   Banda albastră a plugin-ului wpchill-eu-banner revine singură când site.js ascunde bara. */
body:has(.mh-promo:not([hidden])) .wpchill-eu-banner { display: none; }
.mh-promo-in .mh-promo-eu {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-left: 24px;
	border-left: 1px solid rgb(255 255 255 / .2);
	white-space: nowrap;
}
.mh-promo-in .mh-promo-eu::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='26' cy='26' r='25' fill='%231146b8'%3E%3C/circle%3E%3Cg fill='%23FFCC00'%3E%3Ccircle cx='26' cy='7.8' r='1.7'%3E%3C/circle%3E%3Ccircle cx='35.1' cy='10.2' r='1.7'%3E%3C/circle%3E%3Ccircle cx='41.8' cy='16.9' r='1.7'%3E%3C/circle%3E%3Ccircle cx='44.2' cy='26' r='1.7'%3E%3C/circle%3E%3Ccircle cx='41.8' cy='35.1' r='1.7'%3E%3C/circle%3E%3Ccircle cx='35.1' cy='41.8' r='1.7'%3E%3C/circle%3E%3Ccircle cx='26' cy='44.2' r='1.7'%3E%3C/circle%3E%3Ccircle cx='16.9' cy='41.8' r='1.7'%3E%3C/circle%3E%3Ccircle cx='10.2' cy='35.1' r='1.7'%3E%3C/circle%3E%3Ccircle cx='7.8' cy='26' r='1.7'%3E%3C/circle%3E%3Ccircle cx='10.2' cy='16.9' r='1.7'%3E%3C/circle%3E%3Ccircle cx='16.9' cy='10.2' r='1.7'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
/* Numărătoarea și eticheta au aceeași înălțime și aceeași linie de bază ca ofertele de lângă. */
@media (min-width: 761px) {
	.mh-promo-in .mh-promo-left, .mh-promo-in .mh-promo-eu { padding-block: 9px 4px; }
}
/* Unde nu încape pe același rând, bara rămâne fără etichetă. */
@media (min-width: 761px) and (max-width: 1279px) {
	.mh-promo-in .mh-promo-eu { display: none; }
}
.mh-promo-offer strong {
	margin-right: 6px;
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 21px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}
.mh-promo-time { font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: .06em; text-transform: none; }
.mh-promo-in .mh-promo-cta { margin-left: 4px !important; }
.mh-promo-cta a {
	display: inline-block;
	padding: 9px 18px;
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--main);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.mh-promo-cta a:hover, .mh-promo-cta a:focus-visible { background: var(--wp--preset--color--tertiary); }
@media (max-width: 1080px) {
	.mh-promo-offer, .mh-promo-left { padding-left: 0; border-left: 0; }
}
@media (max-width: 760px) {
	.mh-promo-in { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; }
	.mh-promo-in .mh-promo-title { grid-column: 1; grid-row: 1; }
	.mh-promo-in .mh-promo-cta { grid-column: 2; grid-row: 1; justify-self: end; margin: 0 !important; }
	.mh-promo-left { grid-column: 1; grid-row: 2; }
	.mh-promo-in .mh-promo-eu { grid-column: 2; grid-row: 2; justify-self: end; padding-left: 0; border-left: 0; }
	.mh-promo-in p { font-size: 10px; letter-spacing: .1em; }
	.mh-promo-offer strong { display: block; margin: 0; }
}

.mh-header { position: relative; z-index: 10; }
.mh-wordmark a, .mh-ft-wordmark a { text-decoration: none; }
.mh-wordmark a { color: var(--wp--preset--color--main); }
.mh-nav a { text-decoration: none; }
.mh-signin { margin: 0; }
.mh-signin a { text-decoration: none; text-underline-offset: 4px; }
.mh-signin a:hover, .mh-signin a:focus-visible { text-decoration: underline; }
.mh-get-pro .wp-block-button__link { padding: 12px 20px; }
/* Butonul de meniu de pe mobil: fără cutia albă pe care o pune tema. */
.mh-header .wp-block-navigation__responsive-container-open:has(svg),
.mh-header .wp-block-navigation__responsive-container-close:has(svg) { background: transparent; }

@media (max-width: 760px) {
	.mh-signin { display: none; }
}

.mh-footer .mh-ft-top { display: flex; flex-wrap: wrap; gap: 64px 48px; }
.mh-footer .mh-ft-top > * { margin: 0; }
.mh-ft-brand { flex: 1 1 320px; gap: 30px; align-items: flex-start; }
.mh-ft-brand > * { margin: 0; }
.mh-ft-wordmark a { color: var(--wp--preset--color--tertiary); }

.mh-ft-cols { flex: 2 1 620px; min-width: 0; display: flex; flex-direction: column; gap: 56px; }
.mh-ft-cols > * { margin: 0; }
.mh-ft-row3 { display: grid; grid-template-columns: 1fr 1fr 1.6fr; gap: 48px; }
.mh-ft-row3 > * { margin: 0; }
.mh-ft-h { margin: 0 0 20px; }
.mh-ft-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px 24px; }
.mh-ft-links.is-two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mh-ft-links > li { margin: 0 !important; font-size: 15px; line-height: 1.4; }
.mh-ft-links a { text-decoration: none; }
.mh-footer a:hover, .mh-footer-min a:hover { color: var(--wp--preset--color--tertiary); text-decoration: underline; text-underline-offset: 3px; }

.mh-ft-bottom { margin-top: var(--wp--preset--spacing--x-large) !important; color: color-mix(in srgb, var(--wp--preset--color--main-accent) 65%, var(--wp--preset--color--main)); }
.mh-ft-bottom > * { margin: 0; }
.mh-ft-legal { word-spacing: .6em; }
.mh-ft-legal a { text-decoration: none; }

@media (max-width: 980px) {
	.mh-ft-row3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
}
@media (max-width: 760px) {
	.mh-ft-row3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mh-ft-links.is-two-col { grid-template-columns: 1fr; }
}



/* -----------------------------------------------------------------------------
   13. DOAR DOUĂ FAMILII DE FONTURI
   Pe tot site-ul se folosesc doar Cormorant Garamond (titluri) și Instrument
   Sans (restul). Locurile de mai jos ar fi adus a treia familie: câmpurile de
   formular (browserul le dă fontul sistemului), codul (monospace) și câteva
   plugin-uri care își declară singure fontul de sistem: evidențierea de cod din
   KB (Prism), bara lightbox-ului Modula, panoul de comentarii din lightbox
   (Modula Comments) și dropdown-ul de filtre din galerii.
   -------------------------------------------------------------------------- */

button,
input,
select,
optgroup,
textarea {
	font-family: inherit;
}

code,
kbd,
pre,
samp,
:is(code, pre)[class*="language-"],
.wp-block-code,
.wp-block-preformatted,
.modula-best-grid-gallery .fancybox__toolbar,
.fancybox__container,
.fancybox__container .fancybox__col,
#modula-comments-wrapper,
select.filters {
	font-family: var(--wp--preset--font-family--instrument-sans);
}
.mh-ft-tagline { max-width: 320px; margin: 0; line-height: 1.5; }

/* -----------------------------------------------------------------------------
   14. NOTE
   „Note:”, „Tip:” și alte precizări scurte din conținut: o bulă ușor de observat.
   -------------------------------------------------------------------------- */

.mc-note {
	margin-block: 1.6em;
	padding: 14px 20px;
	border-radius: 18px;
	background: var(--wp--preset--color--primary-alt);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.55;
}
.mc-note strong:first-child { font-weight: 700; }

/* -----------------------------------------------------------------------------
   15. LĂȚIMEA PAGINII PE TELEFON
   Niciun element nu are voie să lărgească documentul peste ecran.
   -------------------------------------------------------------------------- */

/* URL-urile scrise în clar (Privacy Policy) se rup pe rânduri. */
.wp-block-post-content :is(p, li) { overflow-wrap: break-word; }

/* Câmpurile de căutare înguste: trei puncte, nu text tăiat. */
.mc-search.wp-block-search .wp-block-search__input { text-overflow: ellipsis; }

/* Tabelul comparativ: textele pentru cititoare de ecran sunt absolute și, fără
   un părinte poziționat, scapă din zona lui de derulare. */
.wpct-scroll { position: relative; }

/* Slider-ul modern din Modula: banda de miniaturi e mai lată decât galeria. */
.modula-slider { overflow-x: clip; }


/* Antetul rămâne pe un singur rând. Pe telefon strângem spațiile; între 600 și
   860 px meniul complet nu încape lângă siglă, așa că rămâne hamburgerul. */
@media (max-width: 599px) {
	.wp-block-group:has(> .mh-header-actions) { flex-wrap: nowrap; column-gap: 12px; }
	.wp-block-group.mh-header-actions { gap: 10px; }
	.mh-header-actions .wp-block-button__link { padding: .95em 1.4em; letter-spacing: .1em; }
}
@media (max-width: 339px) {
	.mh-header-actions .wp-block-buttons { display: none; }
}
@media (min-width: 600px) and (max-width: 860px) {
	.wp-block-group:has(> .mh-header-actions) { flex-wrap: nowrap; }
	.mh-nav.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.mh-nav.wp-block-navigation .wp-block-navigation__responsive-container-open { display: flex; }
	.mh-nav.wp-block-navigation .wp-block-navigation__responsive-container-close { display: flex; }
}

/* Butoanele cu contur au aceeași înălțime ca cele pline. */
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link { padding: 1.15em 2.1em; }

/* Iconița de video de lângă o funcție nu rămâne singură pe rând. */
@media (max-width: 599px) {
	p > .mod-vinfo { margin-right: -22px; }
}


/* -----------------------------------------------------------------------------
   16. FORMULARUL DE CONTACT (Kali Forms) ȘI BANNERUL UE
   Kali Forms aduce propriile mărimi, borduri și un buton mare, gri. Plugin-ul
   există doar pe live, deci aceste reguli nu se văd pe site-ul local.
   -------------------------------------------------------------------------- */

.kaliforms-form-container.bootstrap-wrapper :is(input:not([type="submit"], [type="checkbox"], [type="radio"], [type="file"]), select, textarea) {
	padding: .5em 1em;
	border: 1px solid var(--mc-line);
	border-radius: 5px;
	background-color: #fff;
	box-shadow: none;
	color: var(--mc-ink);
	font-size: var(--wp--preset--font-size--small);
}

.kaliforms-form-container.bootstrap-wrapper input[type="submit"].btn {
	padding: 1.15em 2.1em;
	border: 0;
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--main);
	box-shadow: none;
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--xx-small);
	font-weight: 600;
	letter-spacing: .14em;
	line-height: 1.2;
	text-transform: uppercase;
}
.kaliforms-form-container.bootstrap-wrapper input[type="submit"].btn:hover {
	background: var(--wp--preset--color--border-dark);
	color: var(--wp--preset--color--base);
}

body .wpchill-eu-banner__text { font-family: var(--wp--preset--font-family--instrument-sans); }
/* Linia subțire a plugin-ului se vedea ca o cusătură deasupra barei Black Friday. */
body .wpchill-eu-banner__badge { border-bottom: 0; }
