/* Gruppo Mercati — footerul închis din redesign (oct. 2026), pe tot site-ul.
   Se încarcă din snippets/sections/footer.html.twig, în afara cache-ului.
   Rădăcina are și .gm (gm-base.css): fonturi, box-sizing, liste și linkuri
   resetate. Regulile pornesc din #footer, ca să bată theme.css și forms.css
   (eticheta plutitoare are specificitate (0,4,2)) indiferent de ordine.
   Lățimea containerului pe paginile temei (1364 + 18) se pune în
   gm-header.css, o dată pentru header și footer. */

#footer.gm-footer {
	display: block;
	padding: 0;
	border: 0;
	background: var(--gm-footer);
	box-shadow: none;
	color: var(--gm-on-dark-2);
}

/* Widgeturile din footer („Vizualizate recent") stau pe fundalul paginii,
   deasupra benzii închise: fundalul temei pe paginile ei, crem pe homepage
   (gm-home.css), unde se aliniază și cu restul secțiunilor din design. */
#footer .footer__widgets {
	padding-bottom: 40px;
	border: 0;
	background: var(--bs-body-bg);
	color: var(--gm-ink);
}

html.site-index #footer .footer__widgets { background: var(--gm-bg); }

html.site-index #footer .footer__widgets > section {
	max-width: calc(var(--gm-container) + 2 * var(--gm-gutter));
	padding-inline: var(--gm-gutter);
}

html.site-index #footer .widget-recently-viewed__clear-list { right: var(--gm-gutter); }

/* ---------- Banda-manifest ---------- */

#footer .gm-footer__manifest { border-bottom: 1px solid rgba(255, 255, 255, .12); }

#footer .gm-manifest {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 36px;
	padding-block: 27px;
	color: #fff;
	font-size: 20px;
	line-height: 36px;
	letter-spacing: .02em;
	text-align: center;
	text-transform: uppercase;
}

/* Bulina vine după fiecare promisiune, mai puțin ultima, și pleacă pe rând
   cu ea: la rupere, rândul se termină cu bulină, ca în design. */
#footer .gm-manifest__item {
	display: inline-flex;
	align-items: center;
	gap: 36px;
	font-weight: 800;
}

#footer .gm-manifest__item:not(:last-child)::after {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gm-orange);
}

#footer .gm-manifest__item--accent { color: var(--gm-orange-light); }

/* ---------- Logo, descriere, meniuri ---------- */

/* Logoul cu newsletterul ocupă două rânduri; în dreapta lui, meniurile din
   admin pe primul, insignele ANPC pe al doilea, sub primele două meniuri,
   cu baza pe aceeași linie cu newsletterul. Meniurile de după ele (aici
   „Cont client", cel mai lung) ocupă ambele rânduri. */
#footer .gm-footer__main {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) repeat(var(--gm-footer-menus, 2), minmax(0, 1fr));
	grid-template-rows: auto 1fr;
	gap: 20px 28px;
	padding-block: 52px 44px;
}

#footer .gm-footer__brand { grid-row: 1 / span 2; }
#footer .gm-footer__col--tall { grid-row: 1 / span 2; }

/* Leagă homepage-ul de cele trei coloane și ritmul vertical din referință. */
#footer .gm-footer__main--homepage {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: auto;
	gap: 28px;
	padding-block: 52px 44px;
}
#footer .gm-footer__main--homepage .gm-footer__brand { grid-row: auto; }
#footer .gm-footer__main--homepage .gm-footer__about { max-width: 410px; }

/* Bloc, nu inline-block: altfel rândul de text adaugă spațiu sub logo. */
#footer .gm-footer__logo { display: block; width: fit-content; border-radius: 8px; }
#footer .gm-footer__logo picture { display: block; }
#footer .gm-footer__logo img { width: 82px; height: auto; }
#footer .gm-footer__logo:focus-visible { outline: 2px solid var(--gm-orange-light); outline-offset: 4px; }

#footer .gm-footer__about {
	max-width: 330px;
	margin-top: 16px;
	color: var(--gm-on-dark);
	font-size: 14px;
	line-height: 1.65;
}

/* Titlurile coloanelor: portocaliu deschis, rărite. Cele din meniurile de
   admin vin ca .footer__menu-title, din snippets/footer_menu.html.twig. */
#footer :is(.gm-footer__heading, .footer__menu-title) {
	margin: 0 0 7px;
	color: var(--gm-orange-light);
	font-size: 11px;
	font-weight: 800;
	line-height: 14px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

#footer .footer__menu { flex: none; margin: 0; }

/* CSS-ul din admin dă linkurilor din <nav> greutatea 700 cu !important. */
#footer .footer__menu-list a {
	display: inline-block;
	padding: 4px 0;
	color: #fff;
	font-size: 14px;
	font-weight: 400 !important;
	line-height: 18px;
	text-decoration: none;
	transition: color .15s ease;
}

#footer .footer__menu-list a:hover,
#footer .footer__menu-list a:focus-visible { color: var(--gm-orange-light); text-decoration: none; }

#footer a:focus-visible { outline: 2px solid var(--gm-orange-light); outline-offset: 2px; border-radius: 2px; }

/* Pictogramele SAL / SOL: 250px lățime, cât cere ANPC (250 × 50 px).
   aspect-ratio ține locul până se încarcă imaginea leneșă. */
#footer .gm-footer__badges {
	display: flex;
	flex-wrap: wrap;
	grid-column: 2 / span var(--gm-footer-badge-cols, 2);
	grid-row: 2;
	align-items: flex-end;
	align-self: end;
	gap: 12px;
}

#footer .gm-footer__badge { display: block; border-radius: 10px; }
#footer .gm-footer__badge img { display: block; width: 250px; height: auto; aspect-ratio: 263 / 65; object-fit: contain; }
#footer a.gm-footer__badge { transition: box-shadow .15s ease; }
#footer a.gm-footer__badge:hover { box-shadow: 0 0 0 2px var(--gm-orange-light); }

/* ---------- Newsletter, compact: o pastilă cu câmp și buton ---------- */

#footer .gm-footer__newsletter { max-width: 380px; margin-top: 28px; }

#footer .gm-footer__newsletter .form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 8px;
}

/* Câmpul se strânge până la 140px înainte ca butonul să treacă pe rândul
   următor: între 992 și 1200px coloana logoului are în jur de 280px. */
#footer .gm-footer__newsletter .form__row--email { position: relative; flex: 1 1 140px; min-width: 0; margin: 0; }

#footer .gm-footer__newsletter .form-control {
	height: 46px;
	padding: 0 18px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 999px;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	font-size: 14px;
	box-shadow: none;
	transition: border-color .15s ease, background-color .15s ease;
}

#footer .gm-footer__newsletter .form-control:focus {
	border-color: var(--gm-orange-light);
	background: rgba(255, 255, 255, .1);
	outline: none;
	box-shadow: 0 0 0 3px rgba(244, 123, 66, .22);
}

/* Eticheta plutitoare a temei devine îndemn în câmp: se estompează la
   focus și dispare când câmpul are text. theme.css o ascunde cu !important
   și la focus; aici rămâne vizibilă cât timp câmpul e gol. */
#footer .gm-footer__newsletter .form__row--floating .form__label {
	top: 23px;
	left: 19px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--gm-on-dark);
	font-size: 14px;
	line-height: 1;
	transform: translateY(-50%);
	transition: opacity .15s ease;
}

#footer .gm-footer__newsletter .form__row--floating .form__label::before { content: none; }

#footer .gm-footer__newsletter .form__row--floating .form-control:focus:placeholder-shown ~ .form__label {
	display: flex !important;
	border: 0;
	opacity: .7;
	transform: translateY(-50%);
}

#footer .gm-footer__newsletter .form__invalid--feedback { padding-left: 18px; color: var(--gm-orange-light); }
#footer .gm-footer__newsletter .form__row--invalid .form-control { border-color: var(--gm-orange-light); }

#footer .gm-footer__newsletter .form__buttons { flex: none; width: auto; margin: 0; }

#footer .gm-footer__newsletter .btn {
	height: 46px;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: var(--gm-orange);
	color: #fff;
	font-size: 14px;
	line-height: 1;
	box-shadow: none;
	transition: background-color .15s ease;
}

#footer .gm-footer__newsletter .btn:hover,
#footer .gm-footer__newsletter .btn:focus-visible { background: var(--gm-rust); color: #fff; }
#footer .gm-footer__newsletter .btn:focus-visible { outline: 2px solid var(--gm-orange-light); outline-offset: 2px; }

#footer .gm-footer__newsletter .alert {
	margin: 0;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 12px;
	background: rgba(255, 255, 255, .06);
	color: #fff;
}

/* ---------- Bara de jos ---------- */

/* Linia de sus stă pe elementul din container, ca să se oprească la
   marginea conținutului, ca în design. */
#footer .gm-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 32px;
	padding-block: 19px 26px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	font-size: 13px;
	line-height: 20px;
}

#footer .gm-footer__copy {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
	color: var(--gm-on-dark);
}

#footer .gm-footer__powered { color: var(--gm-on-dark); text-decoration: underline; text-decoration-color: rgba(169, 194, 186, .45); text-underline-offset: 3px; }
#footer .gm-footer__powered:hover { color: #fff; }

#footer .gm-footer__end {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 12px 28px;
}

#footer .gm-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 18px; }

#footer .gm-footer__legal a {
	color: #fff;
	font-size: 13px;
	font-weight: 400 !important;
	text-decoration: none;
	transition: color .15s ease;
}

#footer .gm-footer__legal a:hover { color: var(--gm-orange-light); }

#footer .gm-footer__actions { display: flex; align-items: center; gap: 12px; }
#footer .gm-footer__actions:not(:has(*)) { display: none; }
#footer .gm-footer__actions .social-icons { display: flex; gap: 4px; margin: 0; }
#footer .gm-footer__actions .social-icons__item { padding: 6px; color: #fff; opacity: .7; transition: opacity .15s ease; }
#footer .gm-footer__actions .social-icons__item:hover { opacity: 1; }
#footer .gm-footer__actions :is(.locale-selector, .currency-selector) { color: #fff; margin: 0; }

/* Butonul WhatsApp și săgeata de sus stau fixe în colțul din dreapta jos.
   Sub ~1500px ar acoperi „ANPC" și „SOL" când pagina e derulată până la
   capăt, deci bara de jos le lasă o fâșie liberă în dreapta. */
@media (max-width: 1499.98px) {
	#footer .gm-footer__bottom { padding-right: 80px; }
}

/* ---------- Tabletă și mobil ---------- */

/* Până la 1200px, primele două meniuri sunt prea înguste pentru două
   insigne alăturate: insignele trec sub toate meniurile. */
@media (min-width: 992px) and (max-width: 1199.98px) {
	#footer .gm-footer__col--tall { grid-row: auto; }
	#footer .gm-footer__badges { grid-column: 2 / -1; }
}

/* Sub 992px fiecare promisiune are rândul ei, cu bulina între rânduri: pe
   un rând nu mai încap toate patru, iar la rupere bulina rămânea agățată
   la capătul rândului. */
@media (max-width: 991.98px) {
	#footer .gm-manifest { flex-direction: column; align-items: center; gap: 12px; padding-block: 26px; line-height: 1.3; text-wrap: balance; }
	#footer .gm-manifest__item { flex-direction: column; gap: 12px; }
	#footer .gm-manifest__item:not(:last-child)::after { width: 6px; height: 6px; }
	#footer .gm-footer__main { grid-template-columns: repeat(var(--gm-footer-menus, 2), minmax(0, 1fr)); grid-template-rows: none; gap: 36px 28px; }
	#footer :is(.gm-footer__brand, .gm-footer__col--tall, .gm-footer__badges) { grid-row: auto; }
	#footer :is(.gm-footer__brand, .gm-footer__badges) { grid-column: 1 / -1; }
	#footer .gm-footer__bottom { flex-direction: column-reverse; align-items: flex-start; }
	#footer .gm-footer__end { justify-content: flex-start; }
	#footer .gm-footer__main--homepage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
	#footer .gm-manifest { font-size: 17px; }
	#footer .gm-manifest__item { max-width: 22em; }
	#footer .gm-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; padding-block: 40px 36px; }
	#footer .gm-footer__newsletter { max-width: none; }
}

@media (max-width: 379.98px) {
	#footer .gm-footer__main { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	#footer .footer__menu-list a,
	#footer .gm-footer__legal a,
	#footer a.gm-footer__badge,
	#footer .gm-footer__newsletter :is(.form-control, .form__label, .btn) { transition: none; }
}
