/* Gruppo Mercati — landing de onboarding (/page/onboarding), oct. 2026.
   Valorile vin din HTML-ul clientului (stiluri inline). Tokenurile și .gm-btn
   sunt în gm-base.css. Containerul paginii e mai îngust decât cel al
   homepage-ului: în design conținutul are 1264px (1320 cu tot cu margini).
   CSS-ul din admin impune cu !important greutăți pe p, li, h1–h6, nav, button; unde
   designul cere altceva, greutatea e pe clasă, tot cu !important. */

/* ---------- Pagina ---------- */

body:has(.gm-onb) { background: var(--gm-bg); }
@media (prefers-reduced-motion: no-preference) {
	html:has(.gm-onb) { scroll-behavior: smooth; }
}

.gm-onb {
	/* Griul #8A8D91 din design are sub 4,5:1 pe fundalurile deschise; textul mic
	   de acolo folosește această nuanță, ca la meta-datele produselor din design. */
	--gm-onb-muted: #6B6E72;
	/* Piersica #FFC9A8 are 4,3:1 pe verde; textul mic de pe verde o folosește pe
	   aceasta, puțin mai deschisă (4,6:1). */
	--gm-onb-peach-text: #FFD3B8;
	background: var(--gm-bg);
	color: var(--gm-ink);
	overflow-x: clip;
}
/* Designul lasă line-height nespecificat (normal) unde nu cere altceva;
   tema pune 1.5 pe body. Marginile laterale rămân de 28px și pe telefon, ca în
   randarea de mobil a clientului (gm-base.css le reduce la 16px sub 768px);
   doar sub 360px coboară la 16px. */
.gm-onb, .gm-onb-header, .gm-onb-footer { --gm-gutter: 28px; line-height: normal; }
@media (max-width: 359.98px) {
	.gm-onb, .gm-onb-header, .gm-onb-footer { --gm-gutter: 16px; }
}
.gm-onb .gm-container,
.gm-onb-header__inner,
.gm-onb-footer__inner {
	width: 100%;
	max-width: calc(1264px + 2 * var(--gm-gutter));
	margin-inline: auto;
	padding-inline: var(--gm-gutter);
}
/* Ancorele secțiunilor (#inscriere, #palet…) sunt repere fără înălțime, puse cu
   88px deasupra marginii de sus a secțiunii (72px pe telefon, unde headerul e mai
   scund). Scriptul temei derulează el la ancoră, fără headerul paginii în calcul
   și peste scroll-margin, apoi „clipește" ținta: așa secțiunea ajunge sub header
   și din linkuri, și din adrese cu #, iar clipirea cade pe un element invizibil.
   Reperul e poziționat absolut, ca padding-ul secțiunii să nu-l împingă în jos. */
.gm-onb-hero, .gm-onb-section, .gm-onb-signup, .gm-onb-circuit { position: relative; }
.gm-onb-anchor { position: absolute; top: -88px; }
@media (max-width: 479.98px) {
	.gm-onb-anchor { top: -72px; }
}
/* Câmpurile formularului nu se ascund sub headerul lipit când primesc focus. */
.gm-onb [id]:not(.gm-onb-anchor) { scroll-margin-top: 88px; }
.gm-onb [hidden], .gm-onb-header [hidden] { display: none !important; }
/* Conturul de focus are cel puțin 3:1 față de fundal: cerneală pe fundalurile
   deschise, portocaliu deschis pe cele închise, alb pe verde și pe portocaliu. */
.gm-onb :focus-visible,
.gm-onb .gm-btn:focus-visible,
.gm-onb-header :focus-visible { outline: 3px solid var(--gm-ink); outline-offset: 2px; }
.gm-onb :is(.gm-onb-circuit, .gm-onb-summary, .gm-onb-dock, .gm-onb-tutorials__panel) :focus-visible,
.gm-onb-footer :focus-visible { outline: 3px solid var(--gm-orange-light); outline-offset: 2px; }
.gm-onb :is(.gm-onb-vs__card--new, .gm-onb-fomo, .gm-onb-slider__dots) :focus-visible { outline-color: #fff; }
/* Butoanele din design au line-height normal, iar cele pline n-au chenar. Pe
   ecranele foarte înguste textul lung se rupe pe două rânduri în loc să iasă
   din pagină. */
.gm-onb .gm-btn, .gm-onb-footer .gm-btn { max-width: 100%; line-height: normal; white-space: normal; text-align: center; }
.gm-onb .gm-btn--orange, .gm-onb .gm-btn--white, .gm-onb-footer .gm-btn--orange { border: 0; }

/* Culorile categoriilor: oklch(0.74 0.13 h) și oklch(0.82 0.1 h) din design. */
.gm-onb-cat--cafea { --cat: #E99355; --cat-tint: #F7B385; }
.gm-onb-cat--dulciuri { --cat: #F18790; --cat-tint: #FEA9AF; }
.gm-onb-cat--paste { --cat: #C5A93B; --cat-tint: #D8C477; }
.gm-onb-cat--snacks { --cat: #69C27E; --cat-tint: #95D7A2; }
.gm-onb-cat--ingrijire { --cat: #52B5F4; --cat-tint: #86CDFF; }

/* Etichete, titluri, capete de secțiune */
.gm-onb-kicker,
.gm-onb-eyebrow,
.gm-onb-mini__label,
.gm-onb-vs__label,
.gm-onb-vs__key,
.gm-onb-next__n,
.gm-onb-step__top,
.gm-onb-tutorials__n,
.gm-onb-poster__tag,
.gm-onb-product__tag,
.gm-onb-product__meta,
.gm-onb-summary__cap,
.gm-onb-cell,
.gm-onb-tracking__top,
.gm-onb-track__day,
.gm-onb-order__id,
.gm-onb-order__qty,
.gm-onb-stage__day,
.gm-onb-stage__n,
.gm-onb-manifest__year,
.gm-onb-rules__tag,
.gm-onb-fomo__tag,
.gm-onb-form__step-title,
.gm-onb-footer__heading,
.gm-onb-footer__company,
.gm-onb-quote__tag {
	--font-principal: var(--gm-mono);
	--font-secundar: var(--gm-mono);
	font-family: var(--gm-mono);
}
.gm-onb-kicker {
	font-size: 12px;
	font-weight: 400 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gm-orange);
}
.gm-onb-kicker--peach { color: var(--gm-onb-peach-text); }
.gm-onb-kicker--light { color: var(--gm-orange-light); }

.gm-onb-h2 {
	font-size: clamp(34px, 4vw, 56px);
	line-height: 1.02;
	letter-spacing: -.03em;
	font-weight: 700 !important;
	text-wrap: balance;
}
.gm-onb-h2--sm { font-size: clamp(34px, 4vw, 52px); }
/* Titlurile de la pași și de la întrebări nu sunt echilibrate în design. */
.gm-onb-steps .gm-onb-h2, .gm-onb-faq .gm-onb-h2 { text-wrap: wrap; }

.gm-onb-section { padding-block: 100px 40px; }
.gm-onb-head { margin-bottom: 44px; }
.gm-onb-head--split {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: 40px;
	align-items: end;
}
.gm-onb-head--tight { margin-bottom: 34px; }
.gm-onb-head--narrow { display: flex; flex-direction: column; gap: 16px; max-width: 780px; }
.gm-onb-head__main { display: flex; flex-direction: column; gap: 16px; }
.gm-onb-head__lead {
	max-width: 520px;
	font-size: 18px;
	line-height: 1.55;
	color: var(--gm-text);
	text-wrap: pretty;
}

/* ---------- Header ---------- */

.gm-onb-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(243, 241, 236, .92);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--gm-line);
}
.gm-onb-header__inner {
	display: flex;
	align-items: center;
	gap: 32px;
	padding-block: 14px;
}
.gm-onb-header__logo { flex: none; display: flex; }
.gm-onb-header__logo img { width: auto; height: 48px; }
.gm-onb-header__nav {
	flex: 1;
	min-width: 0;
	display: flex;
	gap: 18px;
	white-space: nowrap;
}
.gm-onb-header__nav a {
	font-size: 14px;
	font-weight: 500 !important;
	color: var(--gm-ink);
	transition: color .2s;
}
.gm-onb-header__actions { margin-left: auto; display: flex; gap: 10px; align-items: center; flex: none; }
.gm-onb-header__login {
	padding: 10px 14px;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	color: var(--gm-ink);
	transition: color .2s;
}
.gm-onb-header .gm-onb-header__nav a:hover,
.gm-onb-header .gm-onb-header__login:hover { color: var(--gm-orange); }
.gm-onb-header .gm-onb-header__cta {
	padding: 11px 18px;
	border-radius: 999px;
	background: var(--gm-green);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	transition: background-color .2s;
}
.gm-onb-header .gm-onb-header__cta:hover { background: var(--gm-orange); color: #fff; }
@media (max-width: 979.98px) {
	.gm-onb-header__nav { display: none; }
}
@media (max-width: 479.98px) {
	.gm-onb-header__inner { gap: 10px; padding-block: 10px; }
	.gm-onb-header__logo img { height: 40px; }
	.gm-onb-header__actions { gap: 4px; }
	.gm-onb-header__login { padding: 10px 8px; font-size: 13px; }
	.gm-onb-header .gm-onb-header__cta { padding: 10px 14px; font-size: 13px; }
}

/* ---------- 01 Hero ---------- */

.gm-onb-hero { padding-block: 56px 40px; }
.gm-onb-hero__grid { display: grid; gap: 48px; align-items: center; }
@media (min-width: 900px) {
	.gm-onb-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; }
}
@media (min-width: 1200px) {
	.gm-onb-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
}
.gm-onb-hero__copy { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.gm-onb-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gm-text-2);
}
.gm-onb-eyebrow__dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--gm-orange); }
.gm-onb-hero__title {
	font-size: clamp(44px, 6vw, 84px);
	line-height: .98;
	letter-spacing: -.035em;
	font-weight: 700 !important;
	text-wrap: balance;
}
.gm-onb-accent { color: var(--gm-orange); }
.gm-onb-hero__subtitle { font-size: 22px; line-height: 1.4; font-weight: 600 !important; color: var(--gm-ink); }
.gm-onb-hero__lead {
	max-width: 560px;
	font-size: 20px;
	line-height: 1.5;
	color: var(--gm-text);
	text-wrap: pretty;
}

.gm-onb-loc { display: flex; flex-direction: column; gap: 10px; max-width: 560px; }
.gm-onb-loc__box {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px;
	border: 1px solid var(--gm-line);
	border-radius: 16px;
	background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
.gm-onb-loc__box:focus-within { border-color: var(--gm-green); box-shadow: 0 0 0 3px rgba(0, 109, 85, .14); }
.gm-onb-loc__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex: none;
	border-radius: 10px;
	background: var(--gm-mint);
}
.gm-onb-loc__icon::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--gm-green); }
.gm-onb .gm-onb-loc__input {
	flex: 1;
	min-width: 0;
	padding: 12px 4px;
	border: 0;
	outline: 0;
	background: transparent;
	font-size: 16px;
	line-height: normal;
	color: var(--gm-ink);
}
.gm-onb-loc__input::placeholder { color: var(--gm-onb-muted); opacity: 1; }
.gm-onb-loc__btn {
	flex: none;
	padding: 13px 18px;
	border: 0;
	border-radius: 12px;
	background: var(--gm-ink);
	color: #fff;
	font-size: 14px;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background-color .2s;
}
.gm-onb-loc__btn:hover { background: var(--gm-green); }
.gm-onb-loc__result {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 12px;
	background: var(--gm-mint);
	font-size: 14px;
	color: var(--gm-ink);
}
.gm-onb-loc__result:empty { display: none; }
.gm-onb-loc__check { color: var(--gm-green); font-weight: 700; }

.gm-onb-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.gm-onb .gm-onb-hero__cta { min-height: 0; padding: 17px 26px; }
.gm-onb .gm-onb-hero__how { min-height: 0; padding: 16px 24px; }
.gm-onb-hero__how-icon { font-size: 15px; }
.gm-onb-hero__checks { display: flex; flex-wrap: wrap; gap: 22px; font-size: 14px; color: var(--gm-text-2); }

/* Designul mai are min-height: 420px; în coloana îngustă de la 900–940px și pe
   telefon ar împinge cadrul peste marginea paginii, deci rămâne doar raportul. */
.gm-onb-hero__visual { position: relative; aspect-ratio: 4 / 4.4; }
.gm-onb-slider {
	position: absolute;
	inset: 0;
	overflow: hidden;
	border-radius: 28px;
	background: #E5E1D8;
}
.gm-onb-slider__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	opacity: 0;
	color: transparent;
	transition: opacity .8s ease;
}
.gm-onb-slider__img.is-active { opacity: 1; }
.gm-onb-slider__dots {
	position: absolute;
	right: 18px;
	bottom: 18px;
	display: flex;
	padding: 0 4px;
	border-radius: 999px;
	background: rgba(0, 33, 28, .55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
/* Fiecare buton e o țintă de 24px; punctul desenat rămâne de 8px (22px cel activ),
   deci punctele stau puțin mai rar decât în design. */
.gm-onb-slider__dot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	transition: width .3s;
}
.gm-onb-slider__dot::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 4px;
	background: rgba(255, 255, 255, .5);
	transition: width .3s, background-color .3s;
}
.gm-onb-slider__dot[aria-pressed="true"] { width: 38px; }
.gm-onb-slider__dot[aria-pressed="true"]::before { width: 22px; background: #fff; }

.gm-onb-mini {
	position: absolute;
	left: -22px;
	bottom: 28px;
	width: 272px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--gm-shadow);
}
.gm-onb-mini__head { display: flex; justify-content: space-between; align-items: baseline; }
.gm-onb-mini__label { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--gm-text-2); }
.gm-onb-mini__pct { font-size: 22px; font-weight: 700; line-height: 1.1; }
.gm-onb-mini__grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 2px; }
.gm-onb-mini__cell { aspect-ratio: 1; border-radius: 2px; background: var(--cat, #EDEAE4); transition: background-color .25s; }
.gm-onb-mini__deck { height: 6px; background: repeating-linear-gradient(90deg, var(--gm-wood) 0 18%, transparent 18% 41%); }
.gm-onb-mini__foot { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--gm-text); white-space: nowrap; }
.gm-onb-mini__foot a { font-weight: 600; color: var(--gm-orange); }
.gm-onb-mini__foot a:hover { color: var(--gm-ink); }

.gm-onb-badge {
	position: absolute;
	top: 18px;
	right: 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	border-radius: 16px;
	background: var(--gm-ink);
	color: #fff;
	pointer-events: none;
}
.gm-onb-badge strong { font-size: 34px; line-height: 1; font-weight: 700; }
.gm-onb-badge span { font-size: 13px; line-height: 1.3; }

@media (max-width: 899.98px) {
	.gm-onb-hero__visual { width: 100%; max-width: 560px; }
}
/* Între 900 și 1024px cadrul e prea îngust pentru card și puncte pe același rând:
   punctele urcă în colțul din stânga sus, departe de insigna din dreapta. */
@media (min-width: 900px) and (max-width: 1023.98px) {
	.gm-onb-slider__dots { top: 18px; right: auto; bottom: auto; left: 18px; }
}
@media (max-width: 599.98px) {
	/* Pe telefon cardul „Paletul tău" ar acoperi subiectul cadrelor: devine
	   compact (două rânduri de celule) și atârnă sub marginea de jos a imaginii. */
	.gm-onb-hero__visual { margin-bottom: 64px; }
	.gm-onb-mini { left: 12px; bottom: -64px; width: 236px; padding: 12px; gap: 8px; border-radius: 16px; }
	.gm-onb-mini__label { font-size: 10px; }
	.gm-onb-mini__pct { font-size: 18px; }
	.gm-onb-mini__cell:nth-child(-n+10) { display: none; }
	.gm-onb-mini__deck { height: 5px; }
	.gm-onb-mini__foot { font-size: 12px; }
	/* Cardul acoperă ultimii 64px ai cadrului; punctele stau deasupra lui, nu sub el. */
	.gm-onb-slider__dots { right: 12px; bottom: 76px; }
}

/* ---------- 02 Cifre ---------- */

.gm-onb-stats { background: var(--gm-green); color: #fff; }
.gm-onb .gm-onb-stats__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 28px;
	padding-block: 34px;
}
.gm-onb-stat { display: flex; flex-direction: column; gap: 6px; }
@media (min-width: 480px) and (max-width: 899.98px) {
	.gm-onb .gm-onb-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.gm-onb-stat__value { font-size: 44px; line-height: 1.1; letter-spacing: -.03em; font-weight: 700 !important; }
.gm-onb-stat__value--accent { color: var(--gm-peach); }
.gm-onb-stat__label { font-size: 14px; color: var(--gm-on-green); }

/* ---------- Banda Faza 1 ---------- */

.gm-onb-fomo { background: var(--gm-orange); color: #fff; }
.gm-onb .gm-onb-fomo__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding-block: 14px;
	font-size: 15px;
}
.gm-onb-fomo__text { display: flex; align-items: center; gap: 12px; }
.gm-onb-fomo__tag {
	flex: none;
	padding: 4px 8px;
	border: 1px solid rgba(255, 255, 255, .6);
	border-radius: 6px;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.gm-onb-fomo__text strong { font-weight: 600; }
.gm-onb .gm-onb-fomo__link { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.gm-onb .gm-onb-fomo__link:hover { color: #fff; text-decoration-thickness: 2px; }

/* ---------- 03 Comparativ ---------- */

.gm-onb-compare { padding-top: 110px; }
.gm-onb-vs {
	position: relative;
	display: grid;
	gap: 20px;
	align-items: start;
	padding-top: 20px;
}
.gm-onb-vs__card {
	display: flex;
	flex-direction: column;
	gap: 26px;
	padding: 32px;
	border-radius: 28px;
}
.gm-onb-vs__card--old { background: var(--gm-stone); }
.gm-onb-vs__card--new {
	position: relative;
	overflow: hidden;
	background: var(--gm-green);
	color: #fff;
	box-shadow: 0 30px 70px -20px rgba(0, 109, 85, .55);
}
.gm-onb-vs__blob {
	position: absolute;
	top: -60px;
	right: -60px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: var(--gm-teal);
	pointer-events: none;
}
.gm-onb-vs__top { position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.gm-onb-vs__who { display: flex; flex-direction: column; gap: 8px; }
.gm-onb-vs__card--new .gm-onb-vs__who { gap: 10px; }
/* Pe cardul de piatră griul mai deschis din design rămâne sub 4,5:1. */
.gm-onb-vs__label { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--gm-text-2); }
.gm-onb-vs__card--new .gm-onb-vs__label { color: var(--gm-onb-peach-text); }
.gm-onb-vs__name { font-size: 24px; line-height: normal; letter-spacing: -.01em; font-weight: 700 !important; color: #4A4D51; }
.gm-onb-vs__logo img { width: auto; height: 64px; }
.gm-onb-vs__big { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.gm-onb-vs__big span { font-size: 12px; color: var(--gm-text-2); }
.gm-onb-vs__big s {
	font-size: 56px;
	line-height: 1;
	letter-spacing: -.04em;
	font-weight: 800;
	color: #7C7F83;
	text-decoration: line-through;
	text-decoration-color: var(--gm-orange);
	text-decoration-thickness: 4px;
}
.gm-onb-vs__big strong { font-size: 72px; line-height: .9; letter-spacing: -.05em; font-weight: 800; }
.gm-onb-vs__big--new span { color: var(--gm-on-green); }
.gm-onb-vs__rows { position: relative; display: flex; flex-direction: column; }
.gm-onb-vs__row {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	min-height: 120px;
	padding: 14px 0;
	border-top: 1px dashed #C9C4BA;
}
.gm-onb-vs__card--new .gm-onb-vs__row { border-top: 1px solid var(--gm-sage); }
.gm-onb-vs__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1.5px solid #B3AFA7;
	border-radius: 50%;
	font-size: 13px;
	color: var(--gm-text-3);
}
.gm-onb-vs__card--new .gm-onb-vs__mark { border: 0; background: var(--gm-orange); color: #fff; font-size: 14px; font-weight: 700; }
.gm-onb-vs__text { display: flex; flex-direction: column; gap: 3px; }
.gm-onb-vs__key { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #5F6266; }
.gm-onb-vs__val { font-size: 16px; color: var(--gm-text-2); }
.gm-onb-vs__card--new .gm-onb-vs__key { color: var(--gm-onb-peach-text); }
.gm-onb-vs__card--new .gm-onb-vs__val { font-size: 17px; line-height: 1.35; font-weight: 600; color: #fff; }
/* Săgeata stă la un spațiu de text (&nbsp; în markup), ca în design. */
.gm-onb .gm-onb-vs__cta { position: relative; align-self: flex-start; gap: 0; min-height: 0; padding: 15px 22px; font-size: 15px; }
.gm-onb-vs__badge {
	position: absolute;
	top: 120px;
	left: 50%;
	z-index: 2;
	display: none;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border: 5px solid var(--gm-bg);
	border-radius: 50%;
	background: var(--gm-ink);
	color: #fff;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: .02em;
	transform: translateX(-50%);
	pointer-events: none;
}
/* Cardurile stau alăturat de la 860px de conținut, ca în design. */
@media (min-width: 916px) {
	.gm-onb-vs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gm-onb-vs__card--old { margin-top: 28px; }
	.gm-onb-vs__badge { display: flex; }
}
/* Sub lățimea de referință (390px) „Distribuitor" nu mai încape lângă 30%. */
@media (max-width: 389.98px) {
	.gm-onb-vs__card { padding: 24px 20px; gap: 20px; }
	.gm-onb-vs__name { font-size: 21px; }
	.gm-onb-vs__big s { font-size: 44px; }
	.gm-onb-vs__big strong { font-size: 60px; }
}

/* ---------- 11 Înscriere ---------- */

.gm-onb-signup { background: var(--gm-green); color: #fff; }
.gm-onb .gm-onb-signup__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 48px;
	align-items: start;
	padding-block: 100px;
}
.gm-onb-signup__copy { display: flex; flex-direction: column; gap: 24px; }
.gm-onb-signup__title { font-size: clamp(38px, 4.6vw, 64px); line-height: 1; letter-spacing: -.035em; }
.gm-onb-peach { color: var(--gm-peach); }
.gm-onb-signup__lead { max-width: 520px; font-size: 18px; line-height: 1.55; color: var(--gm-on-green); }
.gm-onb-next { display: flex; flex-direction: column; margin-top: 8px; }
.gm-onb-next__item { display: flex; gap: 18px; padding: 18px 0; border-top: 1px solid var(--gm-sage); }
.gm-onb-next__n { padding-top: 3px; font-size: 13px; color: var(--gm-onb-peach-text); }
.gm-onb-next__body { display: flex; flex-direction: column; gap: 4px; }
.gm-onb-next__t { font-size: 17px; font-weight: 700; }
.gm-onb-next__d { font-size: 14px; color: #CFE3DC; }

.gm-onb-signup__card { padding: 32px; border-radius: 26px; background: #fff; color: var(--gm-ink); scroll-margin-top: 96px; }
.gm-onb-form { display: flex; flex-direction: column; gap: 18px; }
.gm-onb-form__title { font-size: 24px; line-height: normal; letter-spacing: -.01em; font-weight: 700 !important; }
.gm-onb-form__step { display: flex; flex-direction: column; gap: 18px; }
.gm-onb-form__step + .gm-onb-form__step { padding-top: 6px; }
.gm-onb-form__step-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.gm-onb-form__step-title { flex: 1 1 auto; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--gm-text-2); }
.gm-onb-form__bar { display: flex; gap: 4px; flex: none; }
.gm-onb-form__bar span { width: 26px; height: 4px; border-radius: 2px; background: var(--gm-stone); }
.gm-onb-form__bar .is-on { background: var(--gm-orange); }
.gm-onb-form__back {
	order: -1;
	flex: none;
	padding: 6px 10px 6px 0;
	border: 0;
	background: none;
	color: var(--gm-ink);
	font-size: 14px;
	font-weight: 600 !important;
	cursor: pointer;
}
.gm-onb-form__back:hover { color: var(--gm-orange); }
.gm-onb-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.gm-onb-field { min-width: 0; }
.gm-onb-field--wide { grid-column: 1 / -1; }
.gm-onb-field__hint { margin-top: 6px; font-size: 12px; line-height: 1.4; color: var(--gm-onb-muted); }
@media (max-width: 520px) {
	.gm-onb-form__fields { grid-template-columns: minmax(0, 1fr); }
}

/* Câmpurile platformei (customer_signup). Id-ul formularului bate selectoarele
   lungi ale etichetelor plutitoare din tema (forms.css). */
#customer_signup .form__row { display: flex; flex-direction: column; gap: 6px; margin: 0; }
#customer_signup .form__row--floating .form__label {
	position: static;
	order: -1;
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	transform: none;
	pointer-events: auto;
	font-size: 13px;
	line-height: 17px;
	font-weight: 600;
	color: var(--gm-ink);
}
#customer_signup .form__row--floating .form__label::before { display: none; }
/* Marcăm câmpurile opționale, nu pe cele obligatorii: aproape toate sunt obligatorii. */
#customer_signup .form__row--floating :is(input, select):not([required]) ~ .form__label::after {
	content: " (opțional)";
	font-weight: 400;
	color: var(--gm-onb-muted);
}
#customer_signup .form-control,
#customer_signup .form-select {
	width: 100%;
	height: auto;
	min-height: 0;
	padding: 14px;
	border: 1px solid #D2CEC6;
	border-radius: 12px;
	background-color: var(--gm-cream);
	background-image: none;
	box-shadow: none;
	font-size: 15px;
	line-height: normal;
	color: var(--gm-ink);
	transition: border-color .15s, box-shadow .15s, background-color .15s;
}
#customer_signup .form-select {
	padding-right: 42px;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300211C' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M3 6l5 5 5-5'/%3e%3c/svg%3e");
	background-position: right 14px center;
	background-repeat: no-repeat;
	background-size: 14px;
	cursor: pointer;
}
#customer_signup .form-control::placeholder { color: var(--gm-onb-muted); opacity: 1; }
#customer_signup .form-control:hover,
#customer_signup .form-select:hover { border-color: #B3AFA7; }
#customer_signup .form-control:focus,
#customer_signup .form-select:focus {
	border-color: var(--gm-orange);
	background-color: #fff;
	box-shadow: 0 0 0 3px rgba(218, 74, 12, .16);
	outline: 0;
}
/* Parola vine ca type="text" mascat cu fontul „disc" al temei; CSS-ul din admin
   impune font-family pe input prin --font-secundar, deci redefinim variabila. */
#customer_signup .form-control-disc { --font-secundar: disc; font-family: disc; letter-spacing: .1em; }
#customer_signup .form-control-disc::placeholder { font-family: var(--gm-font); }
#customer_signup .form__row--password .form-control { padding-right: 52px; }
/* Ochiul stă pe câmp (46px), sub etichetă (17px + 6px), și când apare eroarea dedesubt. */
#customer_signup .form__row--password .btn[data-toggle-pw] {
	top: 23px;
	right: 4px;
	width: 44px;
	height: 46px;
	margin: 0;
	background-size: 18px;
}
#customer_signup .form-control.parsley-error,
#customer_signup .form-select.parsley-error,
#customer_signup .form__row--invalid .form-control,
#customer_signup .form__row--invalid .form-select {
	border-color: var(--gm-rust);
	background-color: var(--gm-blush);
}
#customer_signup .form__invalid--feedback { margin: 0; font-size: 13px; line-height: 1.35; color: var(--gm-rust); }
#customer_signup .form__invalid--feedback.filled,
#customer_signup .form__row--invalid .form__invalid--feedback { display: block; }

/* Bifele (newsletter, termeni). */
#customer_signup .form__toggle { display: flex; align-items: flex-start; gap: 12px; min-height: 0; margin: 0; padding: 0; }
#customer_signup .form__toggle-input {
	float: none;
	flex: none;
	width: 22px;
	height: 22px;
	margin: 0;
	border: 1.5px solid #B3AFA7;
	border-radius: 7px;
	background-color: #fff;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 14px;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: background-color .15s, border-color .15s;
}
#customer_signup .form__toggle-input:checked {
	border-color: var(--gm-orange);
	background-color: var(--gm-orange);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4' d='M3.5 8.5l3 3 6-7'/%3e%3c/svg%3e");
}
#customer_signup .form__toggle-input:focus-visible { outline: 3px solid var(--gm-orange-light); outline-offset: 2px; }
#customer_signup .form__toggle-input.parsley-error,
#customer_signup .form__row--invalid .form__toggle-input { border-color: var(--gm-rust); }
#customer_signup .form__toggle .form__label {
	margin: 0;
	padding-top: 1px;
	font-size: 14px;
	line-height: 1.45;
	font-weight: 400;
	color: var(--gm-text);
	cursor: pointer;
	-webkit-user-select: auto;
	user-select: auto;
}
#customer_signup .form__toggle .form__label a { color: var(--gm-ink); text-decoration: underline; text-underline-offset: 2px; }
#customer_signup .form__toggle .form__label a:hover { color: var(--gm-orange); }
#customer_signup .form__row--toggle .form__invalid--feedback { padding-left: 34px; }

.gm-onb .gm-onb-form__next { width: 100%; min-height: 0; padding: 18px; }
.gm-onb-form__actions { display: flex; flex-direction: column; align-items: center; gap: 10px; }
#customer_signup .gm-onb-form__submit {
	width: 100%;
	min-height: 0;
	padding: 18px;
	border: 0;
	border-radius: 999px;
	background: var(--gm-orange);
	color: #fff;
	font-family: var(--gm-font);
	font-size: 16px;
	line-height: normal;
	font-weight: 600 !important;
	box-shadow: none;
	transition: background-color .2s;
}
#customer_signup .gm-onb-form__submit:hover,
#customer_signup .gm-onb-form__submit:focus-visible { background: var(--gm-ink); color: #fff; }
#customer_signup .gm-onb-form__actions .btn-link {
	margin: 0;
	padding: 4px;
	font-size: 14px;
	font-weight: 400 !important;
	color: var(--gm-text);
	text-decoration: underline;
	text-underline-offset: 2px;
}
#customer_signup .gm-onb-form__actions .btn-link:hover { color: var(--gm-orange); }
.gm-onb-form__fine { font-size: 12px; line-height: 1.5; color: var(--gm-onb-muted); }
.gm-onb-form__alert { padding: 10px 14px; border-radius: 10px; background: var(--gm-blush); color: var(--gm-rust); font-size: 14px; line-height: 1.45; }
/* Eroarea și confirmarea primesc focusul din script doar ca să fie anunțate. */
.gm-onb .gm-onb-form__alert:focus, .gm-onb .gm-onb-member:focus { outline: 0; }

.gm-onb-member { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 20px 0; }
.gm-onb-member__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--gm-green);
	color: #fff;
	font-size: 26px;
}
.gm-onb-member__icon--orange { background: var(--gm-orange); }
.gm-onb-member__title { font-size: 30px; line-height: 1.1; letter-spacing: -.02em; font-weight: 700 !important; }
.gm-onb-member__text { font-size: 16px; line-height: 1.55; color: var(--gm-text); }
.gm-onb-member__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- 04 Cum funcționează ---------- */

.gm-onb-steps__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
@media (min-width: 900px) and (max-width: 1199.98px) {
	.gm-onb-steps__list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.gm-onb-step {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-height: 220px;
	padding: 22px;
	border: 1px solid var(--gm-line);
	border-radius: 20px;
	background: #fff;
}
.gm-onb-step__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.gm-onb-step__n { font-size: 13px; color: var(--gm-orange); }
.gm-onb-step__t { font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--gm-onb-muted); text-align: right; }
.gm-onb-step__title { margin-top: auto; font-size: 21px; line-height: 1.15; letter-spacing: -.01em; font-weight: 700 !important; }
.gm-onb-step__d { font-size: 14px; line-height: 1.5; color: var(--gm-text-2); }

.gm-onb-tutorials {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 14px;
	margin-top: 14px;
}
/* Afișul „în curând" stă în locul clipului din design. */
.gm-onb-poster {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 12px;
	min-height: 320px;
	padding: 30px;
	overflow: hidden;
	border-radius: 20px;
	background:
		radial-gradient(circle at 82% 22%, rgba(255, 255, 255, .55), transparent 42%),
		var(--gm-stone);
}
.gm-onb-poster__tag {
	align-self: flex-start;
	padding: 6px 10px;
	border-radius: 999px;
	background: #fff;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gm-orange);
}
.gm-onb-poster__title { max-width: 26ch; font-size: 28px; line-height: 1.1; letter-spacing: -.02em; font-weight: 700 !important; text-wrap: balance; }
.gm-onb-poster__note { max-width: 44ch; font-size: 14px; line-height: 1.5; color: var(--gm-text-2); }
.gm-onb-poster__pallet {
	position: absolute;
	top: 30px;
	right: 30px;
	display: grid;
	grid-template-columns: repeat(4, 26px);
	gap: 3px;
	padding: 3px 3px 0;
	transform: rotate(-4deg);
}
.gm-onb-poster__pallet span { aspect-ratio: 1.15; border-radius: 3px; background: var(--cat); box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14); }
.gm-onb-poster__pallet::after {
	content: "";
	grid-column: 1 / -1;
	height: 10px;
	margin-inline: -3px;
	border-radius: 0 0 3px 3px;
	background: repeating-linear-gradient(90deg, var(--gm-wood-dark) 0 16%, #A5825A 16% 42%);
}
/* Sub 480px textul de jos urcă până în colțul paletului și eticheta „în curând"
   ar rămâne sub el: paletul (decorativ, ultimul în markup) intră în flux, sus în
   dreapta, iar textul stă jos. */
@media (max-width: 479.98px) {
	.gm-onb-poster__pallet { position: static; order: -1; align-self: flex-end; margin-bottom: auto; }
	.gm-onb-poster__tag { margin-top: 6px; }
}
.gm-onb-tutorials__panel {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 30px;
	border-radius: 20px;
	background: var(--gm-ink);
	color: #fff;
}
.gm-onb-tutorials__title { font-size: 28px; line-height: 1.1; letter-spacing: -.02em; font-weight: 700 !important; }
.gm-onb-tutorials__list { display: flex; flex-direction: column; margin-top: auto; }
.gm-onb-tutorials__list li { display: flex; gap: 12px; padding: 13px 0; border-top: 1px solid var(--gm-dark-line); font-size: 15px; }
.gm-onb-tutorials__n { padding-top: 2px; font-size: 12px; color: var(--gm-orange-light); }
.gm-onb-tutorials__note { font-size: 13px; line-height: 1.5; color: var(--gm-on-dark); }

/* ---------- Benzile de CTA ---------- */

.gm-onb .gm-onb-cta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 18px;
	padding-top: 44px;
	text-align: center;
}
.gm-onb .gm-onb-cta__btn { min-height: 0; }
.gm-onb .gm-onb-cta__btn:hover { background: var(--gm-green); }
.gm-onb-cta__note { font-size: 14px; color: var(--gm-text-2); }

/* ---------- 05 Constructorul de palet ---------- */

.gm-onb-builder__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	gap: 24px;
	align-items: start;
}
.gm-onb-builder__shop { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.gm-onb-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gm-onb-chip {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 15px;
	border: 1px solid var(--gm-line);
	border-radius: 999px;
	background: #fff;
	color: var(--gm-ink);
	font-size: 14px;
	font-weight: 500 !important;
	cursor: pointer;
	transition: background-color .2s, border-color .2s, color .2s;
}
.gm-onb-chip:hover { border-color: var(--gm-ink); }
.gm-onb-chip__dot { width: 9px; height: 9px; flex: none; border-radius: 3px; background: var(--cat, var(--gm-ink)); }
.gm-onb-chip[aria-pressed="true"] { border-color: var(--gm-ink); background: var(--gm-ink); color: #fff; }

.gm-onb-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.gm-onb-product {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px;
	border: 1px solid var(--gm-line);
	border-radius: 18px;
	background: #fff;
}
.gm-onb-product__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
}
.gm-onb-product__media img { width: 88%; height: 88%; object-fit: contain; color: transparent; }
.gm-onb-product__tag {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	padding: 4px 7px;
	border-radius: 6px;
	background: var(--cat-tint);
	font-size: 10px;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--gm-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.gm-onb-product__name { min-height: 36px; font-size: 14px; line-height: 1.3; font-weight: 600 !important; }
.gm-onb-product__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 8px; font-size: 12px; color: #6B6E72; }
.gm-onb-product__meta > span { white-space: nowrap; }
/* Sub 400px „preț după activare" nu mai încape pe un rând în cardul îngust
   (la 390px intră la limită) și s-ar lipi de marginea cardului. */
@media (max-width: 399.98px) {
	.gm-onb-product__meta > span { white-space: normal; }
}
.gm-onb-product__lock { display: inline-flex; align-items: center; gap: 5px; }
.gm-onb-product__lock svg { width: 12px; height: 12px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; }
.gm-onb-qty { display: flex; align-items: center; gap: 8px; margin-top: auto; }
.gm-onb-qty__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: none;
	padding: 0;
	border: 1px solid var(--gm-line);
	border-radius: 12px;
	background: #fff;
	color: var(--gm-ink);
	font-size: 18px;
	line-height: 1;
	font-weight: 400 !important;
	cursor: pointer;
	transition: background-color .2s, border-color .2s, opacity .2s;
}
.gm-onb-qty__btn:hover { border-color: var(--gm-ink); }
.gm-onb-qty__btn--add { border-color: var(--gm-ink); background: var(--gm-ink); color: #fff; }
.gm-onb-qty__btn--add:hover { border-color: var(--gm-orange); background: var(--gm-orange); }
.gm-onb-qty__btn:disabled { opacity: .35; cursor: default; }
.gm-onb-qty__btn:disabled:hover { border-color: var(--gm-line); }
.gm-onb-qty__btn--add:disabled:hover { border-color: var(--gm-ink); background: var(--gm-ink); }
.gm-onb-qty__count { flex: 1; text-align: center; font-size: 15px; font-weight: 600; white-space: nowrap; }
.gm-onb-builder__note { font-size: 14px; line-height: 1.5; color: var(--gm-text-2); }

/* Lipit la 88px, ca în design. Pe ecranele mai joase decât rezumatul scriptul
   coboară top-ul (și sub zero), ca uneltele și butonul de jos să rămână la vedere. */
.gm-onb-summary {
	position: sticky;
	top: var(--gm-onb-summary-top, 88px);
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 26px;
	border-radius: 24px;
	background: var(--gm-ink);
	color: #fff;
}
.gm-onb-summary__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.gm-onb-summary__title { font-size: 22px; line-height: normal; font-weight: 700 !important; }
.gm-onb-summary__cap { font-size: 12px; color: var(--gm-text-3); white-space: nowrap; }
.gm-onb-pallet { display: flex; flex-direction: column; }
.gm-onb-summary__dimensions { font-size: 13px; line-height: 1.4; color: var(--gm-on-dark); }
.gm-onb-pallet__grid {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	gap: 3px;
	padding: 3px;
	border-radius: 8px 8px 0 0;
	background: var(--gm-dark-3);
}
.gm-onb-cell {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1.15;
	min-width: 0;
	overflow: hidden;
	border-radius: 3px;
	background: #0F3830;
	font-size: 9px;
	font-weight: 500;
	color: var(--gm-ink);
	transition: background-color .2s;
}
.gm-onb-cell[class*="gm-onb-cat--"] { background: var(--cat); box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .18); }
.gm-onb-pallet__deck { height: 14px; border-radius: 0 0 3px 3px; background: #A5825A; }
.gm-onb-pallet__feet { display: flex; justify-content: space-between; padding: 0 3%; }
.gm-onb-pallet__feet span { width: 12%; height: 10px; background: var(--gm-wood-dark); }
.gm-onb-summary__bar { height: 6px; overflow: hidden; border-radius: 3px; background: var(--gm-dark-line); }
.gm-onb-summary__bar span,
.gm-onb-dock__bar span { display: block; height: 100%; background: var(--gm-orange-light); transition: width .25s; }
.gm-onb-summary__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border-radius: 14px;
	background: var(--gm-dark-line);
}
.gm-onb-kpi { padding: 14px; background: var(--gm-dark-2); }
.gm-onb-kpi__v { font-size: 26px; font-weight: 700 !important; }
.gm-onb-kpi__v--accent { color: var(--gm-orange-light); }
.gm-onb-kpi__l { font-size: 12px; color: var(--gm-text-3); }
.gm-onb-summary__note { font-size: 13px; line-height: 1.5; color: var(--gm-on-dark); }
.gm-onb-summary__tools { display: flex; flex-wrap: wrap; gap: 10px; }
.gm-onb-summary__tool {
	padding: 13px 16px;
	border: 1px solid var(--gm-dark-line-2);
	border-radius: 999px;
	background: transparent;
	color: var(--gm-on-dark);
	font-size: 14px;
	font-weight: 400 !important;
	cursor: pointer;
	transition: border-color .2s, color .2s;
}
.gm-onb-summary__tool--fill { flex: 1; color: #fff; font-weight: 600 !important; }
.gm-onb-summary__tool:hover { border-color: var(--gm-orange-light); color: #fff; }
.gm-onb .gm-onb-summary__cta {
	display: block;
	padding: 16px;
	border-radius: 999px;
	background: var(--gm-orange);
	color: #fff;
	text-align: center;
	text-wrap: balance;
	font-size: 16px;
	font-weight: 600;
	transition: background-color .2s, color .2s;
}
.gm-onb .gm-onb-summary__cta:hover { background: #fff; color: var(--gm-ink); }

/* Pe ecran îngust rezumatul vine după produse; bara lipită jos arată umplerea
   și duce la el. */
.gm-onb-dock { display: none; }
@media (max-width: 959.98px) {
	/* Static în flux, dar tot poziționat: ancora #gm-onb-summary se așază față de el.
	   Fără deplasare: top-ul de la desktop l-ar împinge sub produse, peste secțiunea următoare. */
	.gm-onb-summary { position: relative; top: auto; }
	/* Marginea din dreapta lasă loc butonului plutitor de WhatsApp al site-ului. */
	.gm-onb-dock {
		position: sticky;
		bottom: 12px;
		z-index: 5;
		display: flex;
		align-items: center;
		gap: 12px;
		margin-right: 64px;
		padding: 8px 8px 8px 18px;
		border-radius: 999px;
		background: var(--gm-ink);
		color: #fff;
		box-shadow: 0 14px 34px -10px rgba(0, 33, 28, .55);
	}
	.gm-onb-dock__bar { order: 1; width: 44px; height: 6px; flex: none; overflow: hidden; border-radius: 3px; background: var(--gm-dark-line); }
	.gm-onb-dock__text { flex: 1; min-width: 0; font-size: 14px; line-height: 1.3; }
	.gm-onb-dock__text strong { font-weight: 600; }
	.gm-onb .gm-onb-dock__link {
		order: 2;
		flex: none;
		padding: 10px 16px;
		border-radius: 999px;
		background: var(--gm-orange);
		color: #fff;
		font-size: 14px;
		font-weight: 600;
	}
	.gm-onb .gm-onb-dock__link:hover { background: #fff; color: var(--gm-ink); }
}
@media (max-width: 599.98px) {
	.gm-onb-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.gm-onb-product { padding: 10px; gap: 8px; border-radius: 16px; }
	.gm-onb-product__name { font-size: 13px; min-height: 51px; }
	.gm-onb-product__meta { font-size: 11px; }
	.gm-onb-qty { gap: 4px; }
	.gm-onb-qty__btn { width: 36px; height: 36px; border-radius: 10px; }
	.gm-onb-qty__count { font-size: 14px; }
	.gm-onb-dock { gap: 10px; padding-left: 16px; }
	.gm-onb-dock__bar { display: none; }
	.gm-onb .gm-onb-dock__link { padding: 10px 14px; }
}

/* ---------- 06 Branduri ---------- */

.gm-onb-brands__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	gap: 40px;
	align-items: start;
}
.gm-onb-brands__copy { display: flex; flex-direction: column; gap: 18px; }
.gm-onb-brands__lead { font-size: 17px; line-height: 1.55; color: var(--gm-text); }
.gm-onb-why { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 8px; }
.gm-onb-why__item { display: flex; flex-direction: column; gap: 4px; padding-top: 12px; border-top: 2px solid var(--gm-ink); }
.gm-onb-why__t { font-size: 17px; font-weight: 700; }
.gm-onb-why__d { font-size: 14px; line-height: 1.45; color: var(--gm-text-2); }
.gm-onb-wordmarks {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	min-width: 0;
	border-top: 1px solid var(--gm-line);
	border-left: 1px solid var(--gm-line);
}
.gm-onb-wordmarks__item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	aspect-ratio: 1.5;
	padding: 8px;
	border-right: 1px solid var(--gm-line);
	border-bottom: 1px solid var(--gm-line);
	font-size: 17px;
	line-height: 1.2;
	font-weight: var(--w, 700) !important;
	letter-spacing: var(--ls, 0);
	color: #2A2C2F;
	text-align: center;
}
.gm-onb-wordmarks__item[data-italic] { font-style: italic; }
@media (max-width: 599.98px) {
	.gm-onb-wordmarks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- 07 Circuitul mărfii + manifest ---------- */

.gm-onb-circuit { margin-top: 80px; background: var(--gm-ink); color: #fff; }
.gm-onb .gm-onb-circuit__inner { padding-block: 100px; }
.gm-onb-circuit .gm-onb-head__lead { color: var(--gm-on-dark); }
.gm-onb-tracking {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 28px;
	margin-bottom: 14px;
	padding: 28px;
	border: 1px solid var(--gm-dark-line);
	border-radius: 26px;
	background: var(--gm-dark-2);
}
.gm-onb-tracking__route { flex: 2 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.gm-onb-tracking__top {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 12px;
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #8FABA2;
}
.gm-onb-tracking__live { color: var(--gm-orange-light); }
.gm-onb-tracking__live::before { content: "● "; }
.gm-onb-track { position: relative; padding-top: 22px; }
.gm-onb-track__line { position: absolute; top: 36px; left: 14px; right: 14px; border-top: 2px dashed var(--gm-dark-line-2); }
.gm-onb-track__fill {
	position: absolute;
	top: 35px;
	left: 14px;
	width: calc((100% - 28px) * var(--p, .5));
	height: 4px;
	border-radius: 2px;
	background: var(--gm-orange);
	transition: width .9s ease;
}
.gm-onb-track__nodes { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.gm-onb-track__node { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.gm-onb-track__node:first-child { align-items: flex-start; text-align: left; }
.gm-onb-track__node:last-child { align-items: flex-end; text-align: right; }
.gm-onb-track__dot {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 2px solid var(--gm-dark-line-2);
	border-radius: 50%;
	background: var(--gm-dark-2);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	transition: background-color .4s, border-color .4s, box-shadow .4s;
}
.gm-onb-track__node.is-done .gm-onb-track__dot,
.gm-onb-track__node.is-current .gm-onb-track__dot { border-color: var(--gm-orange); background: var(--gm-orange); }
.gm-onb-track__node.is-done .gm-onb-track__dot::before { content: "✓"; }
.gm-onb-track__node.is-current .gm-onb-track__dot { box-shadow: 0 0 0 6px rgba(218, 74, 12, .25); }
.gm-onb-track__node.is-current .gm-onb-track__dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #fff; }
/* Pe un rând: „La ușa ta" s-ar rupe în coloana îngustă de pe telefon. */
.gm-onb-track__t { font-size: 14px; font-weight: 600; color: #8FABA2; white-space: nowrap; transition: color .4s; }
.gm-onb-track__node.is-done .gm-onb-track__t,
.gm-onb-track__node.is-current .gm-onb-track__t { color: #fff; }
.gm-onb-track__day { font-size: 11px; color: #8FABA2; }

.gm-onb-order {
	flex: 1 1 300px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 18px;
	border-radius: 18px;
	background: #fff;
	color: var(--gm-ink);
}
.gm-onb-order__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.gm-onb-order__id { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #6B6E72; }
.gm-onb-order__status {
	padding: 4px 8px;
	border-radius: 999px;
	background: var(--gm-mint);
	color: var(--gm-green);
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}
.gm-onb-order__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--gm-stone);
}
.gm-onb-order__facts span { display: block; font-size: 12px; color: #6B6E72; }
.gm-onb-order__facts strong { display: block; font-size: 18px; font-weight: 700; }
.gm-onb-order__item { display: flex; align-items: center; gap: 12px; }
.gm-onb-order__thumb {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	width: 44px;
	height: 44px;
	flex: none;
	padding: 6px;
	border-radius: 10px;
	background: var(--gm-bg);
}
.gm-onb-order__thumb i { border-radius: 1px; background: var(--gm-orange); }
.gm-onb-order__thumb i:nth-child(2), .gm-onb-order__thumb i:nth-child(4) { background: var(--gm-green); }
.gm-onb-order__thumb i:nth-child(3), .gm-onb-order__thumb i:nth-child(5) { background: #E8B04A; }
.gm-onb-order__what { flex: 1; }
.gm-onb-order__what strong { display: block; font-size: 15px; font-weight: 600; }
.gm-onb-order__what span { display: block; font-size: 13px; color: #6B6E72; }
.gm-onb-order__qty { font-size: 12px; color: #6B6E72; }

.gm-onb-stages { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
@media (min-width: 900px) {
	.gm-onb-stages { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.gm-onb-stage { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.gm-onb-stage__media { position: relative; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 18px; background: var(--gm-dark-3); }
.gm-onb-stage__media img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; color: transparent; }
.gm-onb-stage__day {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 5px 8px;
	border-radius: 6px;
	background: var(--gm-ink);
	color: #fff;
	font-size: 11px;
	line-height: 1.2;
}
.gm-onb-stage__text { display: flex; align-items: baseline; gap: 12px; }
.gm-onb-stage__n { font-size: 13px; color: var(--gm-orange-light); }
.gm-onb-stage__body { display: flex; flex-direction: column; gap: 4px; }
.gm-onb-stage__t { font-size: 18px; font-weight: 700; }
.gm-onb-stage__d { font-size: 14px; line-height: 1.45; color: #8FABA2; }

.gm-onb-manifest { background: var(--gm-ink); color: #fff; border-top: 1px solid var(--gm-dark-line); }
.gm-onb-manifest__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	grid-auto-rows: minmax(90px, auto);
	border-top: 1px solid var(--gm-dark-line-2);
	border-left: 1px solid var(--gm-dark-line-2);
}
.gm-onb-manifest__cell { border-right: 1px solid var(--gm-dark-line-2); border-bottom: 1px solid var(--gm-dark-line-2); transition: background-color .6s; }
.gm-onb-manifest__cell--green { background: var(--gm-dark-3); }
.gm-onb-manifest__cell--green.is-on { background: var(--gm-green); }
.gm-onb-manifest__cell--orange { background: var(--gm-dark-line); }
.gm-onb-manifest__cell--orange.is-on { background: var(--gm-orange); }
.gm-onb-manifest__text {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	grid-template-rows: repeat(4, minmax(90px, auto));
	pointer-events: none;
}
.gm-onb-manifest__year { grid-column: 1 / span 2; grid-row: 1; padding: 16px; font-size: 12px; color: #8FABA2; }
.gm-onb-manifest__big {
	grid-column: 2 / span 6;
	grid-row: 2 / span 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	padding: 0 16px;
	font-size: clamp(32px, 5.4vw, 78px);
	line-height: .95;
	letter-spacing: -.04em;
	font-weight: 800 !important;
	text-transform: uppercase;
}
.gm-onb-manifest__big span { display: block; }
.gm-onb-manifest__accent { color: var(--gm-orange-light); }
.gm-onb-manifest__no {
	grid-column: 6 / span 3;
	grid-row: 4;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 16px;
	font-size: 15px;
	line-height: 1.35;
	letter-spacing: .02em;
	font-weight: 600 !important;
	text-transform: uppercase;
}
.gm-onb-manifest__sum { grid-column: 1 / span 2; grid-row: 4; display: flex; align-items: center; padding: 16px; font-size: 13px; line-height: 1.45; color: var(--gm-on-dark); }

@media (max-width: 899.98px) {
	.gm-onb-tracking { padding: 22px; gap: 22px; }
	.gm-onb-manifest__big { font-size: clamp(32px, 5vw, 78px); }
}
@media (max-width: 639.98px) {
	/* În design etichetele traseului se suprapun la lățimea de telefon. */
	.gm-onb-tracking { padding: 20px 16px; border-radius: 22px; }
	.gm-onb-track__t { font-size: 12px; }
	.gm-onb-track__day { font-size: 10px; }
	.gm-onb-track__dot { width: 26px; height: 26px; }
	.gm-onb-track { padding-top: 20px; }
	.gm-onb-track__line { top: 32px; left: 13px; right: 13px; }
	.gm-onb-track__fill { top: 31px; left: 13px; width: calc((100% - 26px) * var(--p, .5)); }
	/* Etapele devin un șir derulabil pe orizontală, cu următorul card la vedere. */
	.gm-onb-stages {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 74%;
		gap: 12px;
		margin-inline: calc(-1 * var(--gm-gutter));
		padding: 0 var(--gm-gutter) 6px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--gm-gutter);
		scrollbar-width: none;
	}
	.gm-onb-stages::-webkit-scrollbar { display: none; }
	.gm-onb-stage { scroll-snap-align: start; }
	/* Manifestul: 4 coloane și text pe toată lățimea. */
	.gm-onb-manifest__grid,
	.gm-onb-manifest__text { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(64px, auto); }
	.gm-onb-manifest__text { grid-template-rows: repeat(8, minmax(64px, auto)); }
	.gm-onb-manifest__year { grid-column: 1 / span 4; padding: 14px 12px; }
	.gm-onb-manifest__big { grid-column: 1 / span 4; grid-row: 2 / span 3; padding: 0 12px; font-size: clamp(28px, 8.4vw, 40px); }
	.gm-onb-manifest__no { grid-column: 2 / span 3; grid-row: 6 / span 2; padding: 12px; font-size: 14px; }
	.gm-onb-manifest__sum { grid-column: 1 / span 4; grid-row: 8; padding: 12px; }
}
/* Sub 375px „Comandă" și „Depozit" s-ar atinge. */
@media (max-width: 374.98px) {
	.gm-onb-track__t { font-size: 11px; }
}

/* ---------- 08 Condiții ---------- */

.gm-onb-conditions { padding-top: 110px; }
.gm-onb-conditions .gm-onb-head { margin-bottom: 40px; }
.gm-onb-conditions__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 14px; }
.gm-onb-conditions__side { display: flex; flex-direction: column; gap: 14px; }
.gm-onb-panel { padding: 30px; border: 1px solid var(--gm-line); border-radius: 22px; background: #fff; }
.gm-onb-panel__label { display: block; font-size: 15px; font-weight: 400; color: var(--gm-text-2); }
.gm-onb-panel__fine { font-size: 12px; line-height: 1.45; color: var(--gm-onb-muted); }
.gm-onb-calc { display: flex; flex-direction: column; gap: 22px; }
.gm-onb-calc__value { display: block; font-size: 44px; letter-spacing: -.03em; font-weight: 700; }
/* Cursorul nativ al browserului, colorat cu accent-color, ca în design. */
.gm-onb-calc__range { width: 100%; accent-color: var(--gm-orange); cursor: pointer; }
.gm-onb-calc__tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gm-onb-calc__tile { display: flex; flex-direction: column; gap: 2px; padding: 18px; border-radius: 16px; }
.gm-onb-calc__tile span { font-size: 13px; }
.gm-onb-calc__tile strong { font-size: 28px; font-weight: 700; }
.gm-onb-calc__tile--loss { background: var(--gm-blush); }
.gm-onb-calc__tile--loss span { color: var(--gm-text-2); }
.gm-onb-calc__tile--loss strong { color: var(--gm-rust); }
.gm-onb-calc__tile--keep { background: var(--gm-ink); color: #fff; }
.gm-onb-calc__tile--keep span { color: var(--gm-on-dark); }
.gm-onb-calc__tile--keep strong { color: var(--gm-orange-light); }
.gm-onb-pay { display: flex; flex-direction: column; gap: 18px; }
.gm-onb-pay__bar { display: flex; height: 58px; overflow: hidden; border-radius: 12px; color: #fff; }
.gm-onb-pay__big { flex: 9; display: flex; align-items: center; padding: 0 18px; background: var(--gm-ink); font-size: 22px; font-weight: 700; }
.gm-onb-pay__small { flex: 1.4; display: flex; align-items: center; justify-content: center; background: var(--gm-orange); font-size: 16px; font-weight: 700; }
.gm-onb-pay__legend { display: flex; justify-content: space-between; gap: 16px; font-size: 14px; color: var(--gm-text); }
.gm-onb-pay__legend span:last-child { text-align: right; }
.gm-onb-transport { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.gm-onb-transport__item { display: flex; flex-direction: column; gap: 4px; }
.gm-onb-transport__item strong { font-size: 36px; letter-spacing: -.02em; font-weight: 700; white-space: nowrap; }
.gm-onb-transport__accent { color: var(--gm-orange); }
.gm-onb-transport__eq { font-size: 28px; color: #B3AFA7; }
.gm-onb-rules { margin-top: 14px; padding: 30px; border-radius: 22px; background: var(--gm-stone-2); }
.gm-onb-rules__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 22px; }
.gm-onb-rules__title { font-size: 24px; line-height: normal; letter-spacing: -.01em; font-weight: 700 !important; }
.gm-onb-rules__tag { font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: var(--gm-text-2); }
.gm-onb-rules__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px 28px; }
.gm-onb-rule { display: flex; flex-direction: column; gap: 6px; padding-top: 14px; border-top: 1px solid #CFCAC0; }
.gm-onb-rule__t { font-size: 16px; font-weight: 700; }
.gm-onb-rule__d { font-size: 14px; line-height: 1.5; color: #4A4D51; }
/* Sub lățimea de referință (390px) sumele nu mai încap în casete. */
@media (max-width: 389.98px) {
	.gm-onb-panel, .gm-onb-rules { padding: 24px 20px; }
	.gm-onb-calc__value { font-size: 38px; }
	.gm-onb-calc__tile { padding: 14px; }
	.gm-onb-calc__tile strong { font-size: 22px; }
	.gm-onb-transport__item strong { font-size: 32px; }
}

/* ---------- 09 Testimoniale (ascunse până vin cele reale) ---------- */

.gm-onb-videos { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin-bottom: 14px; }
.gm-onb-video { display: flex; flex-direction: column; gap: 12px; }
.gm-onb-video__player { width: 100%; aspect-ratio: 4 / 5; border-radius: 20px; background: #E5E1D8; object-fit: cover; }
.gm-onb-video__who { display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--gm-text-2); }
.gm-onb-video__who strong { font-size: 16px; color: var(--gm-ink); }
.gm-onb-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; }
.gm-onb-quote { display: flex; flex-direction: column; gap: 20px; padding: 26px; border: 1px solid var(--gm-line); border-radius: 20px; background: #fff; }
.gm-onb-quote__text { font-size: 19px; line-height: 1.45; font-weight: 500; text-wrap: pretty; }
.gm-onb-quote__by { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--gm-stone); font-size: 13px; color: var(--gm-text-2); }
.gm-onb-quote__by strong { display: block; font-size: 15px; color: var(--gm-ink); }
.gm-onb-quote__tag { font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--gm-orange); }

/* ---------- 10 Întrebări ---------- */

.gm-onb-faq { padding-bottom: 100px; }
.gm-onb-faq__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 40px; align-items: start; }
.gm-onb-faq__copy { display: flex; flex-direction: column; gap: 16px; }
.gm-onb-faq__lead { font-size: 16px; line-height: 1.5; color: var(--gm-text-2); }
.gm-onb .gm-onb-faq__lead a { color: var(--gm-ink); text-decoration: underline; text-underline-offset: 2px; }
.gm-onb .gm-onb-faq__lead a:hover { color: var(--gm-orange); }
.gm-onb-faq__list { border-top: 1px solid var(--gm-line); }
.gm-onb-faq__item { border-bottom: 1px solid var(--gm-line); }
.gm-onb-faq__q {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 20px 0;
	list-style: none;
	font-size: 18px;
	font-weight: 600;
	color: var(--gm-ink);
	cursor: pointer;
}
.gm-onb-faq__q::-webkit-details-marker { display: none; }
.gm-onb-faq__q:hover { color: var(--gm-orange); }
/* Cât rândul semnului „+" de 22px din design: întrebarea are aceeași înălțime. */
.gm-onb-faq__icon { position: relative; width: 14px; height: 22px; flex: none; margin-right: 4px; }
.gm-onb-faq__icon::before,
.gm-onb-faq__icon::after { content: ""; position: absolute; top: 11px; left: 0; width: 14px; height: 2px; border-radius: 1px; background: var(--gm-orange); transition: transform .25s var(--gm-ease); }
.gm-onb-faq__icon::after { transform: rotate(90deg); }
.gm-onb-faq__item[open] .gm-onb-faq__icon::after { transform: rotate(0); }
.gm-onb-faq__a { padding: 0 40px 22px 0; font-size: 16px; line-height: 1.55; color: var(--gm-text); }

/* ---------- 12 Footer ---------- */

.gm-onb-footer { background: var(--gm-footer); color: var(--gm-on-dark); }
.gm-onb-footer__inner { padding-top: 72px; }
.gm-onb-footer__top {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding-bottom: 48px;
	border-bottom: 1px solid var(--gm-dark-line);
}
.gm-onb-footer__claim { max-width: 640px; font-size: clamp(26px, 3vw, 40px); line-height: 1.05; letter-spacing: -.03em; font-weight: 700 !important; color: #fff; }
.gm-onb-footer__claim span { color: var(--gm-orange-light); }
.gm-onb-footer .gm-onb-footer__cta { min-height: 0; padding: 16px 24px; font-size: 15px; }
.gm-onb-footer .gm-onb-footer__cta:hover { background: #fff; color: var(--gm-ink); }
.gm-onb-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 40px 32px; padding-block: 56px; }
.gm-onb-footer__brand { grid-column: span 2; display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.gm-onb-footer__brand img { align-self: flex-start; width: auto; height: 84px; }
.gm-onb-footer__brand p { max-width: 340px; font-size: 14px; line-height: 1.6; }
.gm-onb-footer__social { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 1099.98px) {
	.gm-onb-footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gm-onb-footer__brand { grid-column: 1 / -1; }
}
.gm-onb-footer__social a { display: block; padding: 8px 12px; border: 1px solid var(--gm-dark-line-2); border-radius: 999px; font-size: 13px; color: var(--gm-on-dark-2); }
.gm-onb-footer__social a:hover { border-color: var(--gm-orange-light); color: var(--gm-orange-light); }
.gm-onb-footer__col { display: flex; flex-direction: column; gap: 12px; font-size: 14px; }
.gm-onb-footer__col ul { display: flex; flex-direction: column; gap: 12px; }
.gm-onb-footer__heading { margin-bottom: 4px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--gm-orange-light); }
/* Adresa de email nu are unde să se rupă și e mai lată decât coloana pe ecranele medii. */
.gm-onb-footer__col a { overflow-wrap: anywhere; font-weight: 400 !important; color: var(--gm-on-dark-2); transition: color .2s; }
.gm-onb-footer__col a:hover,
.gm-onb-footer__legal a:hover { color: var(--gm-orange-light); }
/* Datele firmei și, alături, pictogramele SAL / SOL, la 250px lățime, cât cere ANPC. */
.gm-onb-footer__info {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px 32px;
	padding-block: 22px;
	border-top: 1px solid var(--gm-dark-line);
}
.gm-onb-footer__company { flex: 1 1 360px; font-size: 12px; line-height: 1.6; letter-spacing: .04em; }
.gm-onb-footer__badges { display: flex; flex-wrap: wrap; gap: 12px; }
.gm-onb-footer__badges a { display: block; border-radius: 10px; transition: box-shadow .15s; }
.gm-onb-footer__badges a:hover { box-shadow: 0 0 0 2px var(--gm-orange-light); }
.gm-onb-footer__badges img { display: block; width: 250px; height: auto; }
.gm-onb-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding-block: 22px 30px;
	border-top: 1px solid var(--gm-dark-line);
	font-size: 13px;
}
.gm-onb-footer__legal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
.gm-onb-footer__legal a { display: inline-flex; align-items: center; gap: 18px; font-weight: 400 !important; color: var(--gm-on-dark-2); }
.gm-onb-footer__legal a + a::before { content: ""; width: 1px; height: 12px; background: var(--gm-dark-line-2); }
@media (max-width: 599.98px) {
	.gm-onb-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	/* Contactul stă oricum singur pe rând; cu tot rândul, emailul încape întreg. */
	.gm-onb-footer__col:last-child { grid-column: 1 / -1; }
	.gm-onb-footer__legal { gap: 10px 18px; }
	.gm-onb-footer__legal a + a::before { display: none; }
}
