/*
 * Meniul de azi. Culorile și fonturile vin din theme.json, prin variabilele
 * de preset; aici stă doar așezarea.
 */
.v32-meniu {
	--v32-gap: 1.25rem;
}

.v32-meniu__antet {
	margin-bottom: 2rem;
}

.v32-meniu__data {
	font-family: var(--wp--preset--font-family--secondary);
	font-size: var(--wp--preset--font-size--medium);
	margin: 0;
}

.v32-meniu__actualizat,
.v32-meniu__nota {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
	margin: 0.25rem 0 0;
}

.v32-meniu__gol {
	background: var(--wp--preset--color--tertiary);
	border-radius: 5px;
	padding: 1.25rem 1.5rem;
	margin: 0 0 2.5rem;
}

.v32-meniu__gol a {
	white-space: nowrap;
}

.v32-meniu__sectiune {
	margin: 0 0 2.5rem;
}

.v32-meniu__sectiune > h2 {
	border-bottom: 1px solid var(--wp--preset--color--border-light);
	padding-bottom: 0.5rem;
	margin: 0 0 1rem;
}

/*
 * Ierarhia: capitol (h2) > grup (h3, „Cafea", „Vinuri") > subgrup (h4, „Vin
 * alb") > fel. Titlurile de grup, cu fontul de titluri, sunt mai mari decât
 * numele felurilor; înainte erau mai mici și se pierdeau.
 */
.v32-meniu__sectiune h3 {
	font-family: var(--wp--preset--font-family--secondary);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	margin: 2rem 0 0.75rem;
}

.v32-meniu__sectiune h4 {
	font-family: var(--wp--preset--font-family--secondary);
	font-size: clamp(1.1rem, 1rem + 0.5vw, 1.35rem);
	font-weight: 500;
	color: var(--wp--preset--color--primary);
	margin: 1.5rem 0 0.5rem;
}

.v32-meniu__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

/*
 * Rânduri alternate: fiecare al doilea fel, pe fond de var, ca ochiul să
 * urmărească rândul până la preț. Fără linii între ele.
 */
.v32-fel {
	padding: 0.75rem 0.85rem;
	border-radius: 4px;
}

.v32-meniu__lista > .v32-fel:nth-child(even) {
	background: var(--wp--preset--color--tertiary);
}

/*
 * Ultimul rând al felului: detaliile în stânga („sec · De la …"), porția și
 * prețul în dreapta, pe aceeași linie. A doua porție coboară pe rândul ei,
 * tot în dreapta. Aliniere pe linia de bază a primului rând.
 */
.v32-fel__jos {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 1rem;
	align-items: baseline;
	margin-top: 0.3rem;
}

.v32-fel__jos > .v32-fel__detalii,
.v32-fel__jos > .v32-fel__preturi {
	margin: 0;
}

/*
 * Numele se rupe în coloana lui, prețul stă mereu sus în dreapta. Cu
 * flex-wrap, un nume lung împingea prețul pe rândul următor, la stânga.
 */
.v32-fel__cap {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	gap: var(--v32-gap);
	align-items: baseline;
}

.v32-fel__nume {
	font-weight: 600;
}

.v32-fel__cap > .v32-fel__nume {
	flex: 1 1 auto;
	min-width: 0;
}

.v32-fel__pret {
	flex: 0 0 auto;
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.v32-fel__descriere {
	margin: 0.3rem 0 0;
}

.v32-fel__detalii {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
	margin: 0.3rem 0 0;
}

/*
 * Bifarea, pentru cine e logat și poate edita produse.
 * Ținte mari: se bifează de pe telefon, în bucătărie.
 */
.v32-meniu__stare {
	border-radius: 5px;
	padding: 0.75rem 1rem;
	margin: 0.75rem 0 0;
	background: var(--wp--preset--color--tertiary);
}

.v32-meniu__stare--ok {
	background: var(--wp--preset--color--primary-accent);
}

.v32-meniu__stare--atentie {
	border-left: 4px solid var(--wp--preset--color--primary);
}

.v32-meniu__salveaza {
	position: sticky;
	bottom: 0;
	z-index: 2;
	margin: 1rem 0;
	padding: 0.75rem 0;
	background: var(--wp--preset--color--base);
}

.v32-meniu__salveaza .wp-element-button {
	width: 100%;
	min-height: 3rem;
	background: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--base);
}

.v32-meniu__numar {
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--secondary);
	font-weight: 400;
}

.v32-fel--bifabil {
	padding: 0 0.85rem;
}

.v32-fel__bifa {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	padding: 0.85rem 0;
	cursor: pointer;
	min-height: 2.75rem;
}

/*
 * Căsuță desenată de noi: Chrome și Safari pe iPhone ignoră width/height pe
 * căsuța nativă, care rămâne la ~13 px. Aici are 24 px, bună pentru deget.
 */
.v32-fel__bifa input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	flex: 0 0 auto;
	display: grid;
	place-content: center;
	width: 1.5rem;
	height: 1.5rem;
	margin: 0.05rem 0 0;
	border: 2px solid var(--wp--preset--color--secondary);
	border-radius: 4px;
	background: var(--wp--preset--color--base);
	cursor: pointer;
}

.v32-fel__bifa input[type="checkbox"]::before {
	content: "";
	width: 0.85rem;
	height: 0.85rem;
	background: var(--wp--preset--color--base);
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
	transform: scale(0);
}

.v32-fel__bifa input[type="checkbox"]:checked {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}

.v32-fel__bifa input[type="checkbox"]:checked::before {
	transform: scale(1);
}

.v32-fel__bifa input[type="checkbox"]:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.v32-fel__bifa .v32-fel__cap {
	flex: 1;
}

.v32-fel--nebifat .v32-fel__nume,
.v32-fel--nebifat .v32-fel__preturi {
	color: var(--wp--preset--color--secondary);
	font-weight: 400;
}

.v32-meniu__pliat > summary {
	cursor: pointer;
	list-style: none;
}

.v32-meniu__pliat > summary::-webkit-details-marker {
	display: none;
}

.v32-meniu__pliat > summary h2 {
	display: inline;
}

.v32-meniu__pliat > summary::after {
	content: " ▾";
}

.v32-meniu__pliat[open] > summary::after {
	content: " ▴";
}

/*
 * Etichetele felurilor: pastile colorate, câte o culoare pe etichetă.
 * Contrast text / fond între 6,3 și 9,5 : 1 (AA cere 4,5), verificat pe
 * 2026-09-26. Bordura, în culoarea textului, ține forma pe fundal alb.
 */
.v32-etichete {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	list-style: none;
	margin: 0.4rem 0 0;
	padding: 0;
}

.v32-fel--bifabil .v32-etichete {
	margin: -0.35rem 0 0.75rem 2.35rem;
}

.v32-eticheta {
	--v32-eticheta-fond: var(--wp--preset--color--tertiary);
	--v32-eticheta-text: var(--wp--preset--color--main);
	display: inline-block;
	padding: 0.1rem 0.6rem;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--v32-eticheta-text) 30%, transparent);
	background: var(--v32-eticheta-fond);
	color: var(--v32-eticheta-text);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	line-height: 1.6;
	white-space: nowrap;
}

.v32-eticheta--vegetarian {
	--v32-eticheta-fond: #e4f1e0;
	--v32-eticheta-text: #2c6124;
}

.v32-eticheta--de-post {
	--v32-eticheta-fond: #dff0ec;
	--v32-eticheta-text: #1c5a52;
}

.v32-eticheta--fara-alcool {
	--v32-eticheta-fond: var(--wp--preset--color--primary-accent);
	--v32-eticheta-text: var(--wp--preset--color--primary-alt-accent);
}

.v32-eticheta--reteta-de-familie {
	--v32-eticheta-fond: #f8e4d8;
	--v32-eticheta-text: #8a3510;
}

.v32-eticheta--reteta-saseasca {
	--v32-eticheta-fond: #f5ecd0;
	--v32-eticheta-text: #654a08;
}

.v32-eticheta--recomandat-slow-food {
	--v32-eticheta-fond: #f3e1ea;
	--v32-eticheta-text: #782049;
}

/*
 * Mai multe porții: un tabel mic jos în dreapta. Porțiile într-o coloană,
 * aliniate la stânga; prețurile în alta, aliniate la dreapta, cu cifre
 * tabulare. Rândurile de lungimi diferite nu mai ies strâmbe.
 */
.v32-fel__preturi {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: end;
	column-gap: 1rem;
	margin: 0.35rem 0 0;
	font-variant-numeric: tabular-nums;
}

.v32-fel__portie,
.v32-fel__suma {
	white-space: nowrap;
}

.v32-fel__suma {
	text-align: right;
}

.v32-fel__bifa .v32-fel__preturi {
	flex: 0 0 auto;
	margin: 0;
}

/*
 * Rândul de sub dată, pentru cine poate bifa: starea în stânga, comutatorul
 * Manager / Oaspete în dreapta, pe același rând, și pe telefon. Mesajele lungi
 * (bifele de ieri, salvarea) sunt cutii pe toată lățimea: comutatorul stă
 * atunci deasupra lor, în dreapta, ca să nu le strângă într-o coloană.
 */
.v32-meniu__rand {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin: 0.4rem 0 0;
}

.v32-meniu__rand > p {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
}

.v32-meniu__rand > .v32-meniu__stare {
	flex-basis: 100%;
	order: 2;
}

/*
 * Comutatorul: două opțiuni cu cerc de radio; cea activă, verde plin cu text
 * alb. Verdele e cel al etichetei „Vegetarian" (#2c6124): 7,2 : 1 pe alb.
 */
.v32-comutator {
	--v32-verde: #2c6124;
	display: inline-flex;
	flex: 0 0 auto;
	order: 1;
	margin-left: auto;
	border: 1px solid var(--v32-verde);
	border-radius: 999px;
	overflow: hidden;
	font-size: var(--wp--preset--font-size--small);
}

.v32-comutator__optiune {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.35rem 0.9rem;
	color: var(--v32-verde);
	text-decoration: none;
	white-space: nowrap;
}

.v32-comutator__optiune::before {
	content: "";
	flex: 0 0 auto;
	width: 0.85rem;
	height: 0.85rem;
	border: 2px solid currentColor;
	border-radius: 50%;
	box-sizing: border-box;
}

.v32-comutator__optiune:hover {
	background: #e4f1e0;
}

.v32-comutator__optiune[aria-current] {
	background: var(--v32-verde);
	color: #fff;
}

.v32-comutator__optiune[aria-current]::before {
	border-color: #fff;
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--v32-verde);
}

.v32-comutator__optiune:focus-visible {
	outline: 3px solid var(--v32-verde);
	outline-offset: -3px;
}

/* Pe telefon, comutatorul e mai strâns, ca „Actualizat la 00:15" să rămână pe un rând. */
.v32-meniu__rand > .v32-meniu__actualizat {
	white-space: nowrap;
}

@media (max-width: 480px) {
	.v32-comutator__optiune {
		gap: 0.35rem;
		padding: 0.35rem 0.65rem;
	}
}

.v32-meniu__nota-categorie {
	margin: -0.25rem 0 0.75rem;
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
	font-style: italic;
}

/* Un număr de telefon nu se rupe pe două rânduri. */
.v32-meniu a[href^="tel:"] {
	white-space: nowrap;
}

/*
 * „· actualizat la 00:15", lângă dată, în antetul de sub titlu: text mic, gri,
 * cu fontul textului, și nerupt („actualizat la / 00:15" arăta stricat pe
 * telefon). Dacă nu încape, trece întreg pe rândul următor.
 */
.v32-meniu__data .v32-meniu__actualizat {
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--secondary);
	white-space: nowrap;
}
