/* ==========================================================================
   Masa Lungă – bistro
   Culori din farfurie: vânătă, ardei și muștar pe fața de masă albă.
   Planul sălii văzut de sus; felul zilei scris de mână, pe tablă.
   ========================================================================== */

:root {
	--ml-eggplant: #3D2B56;
	--ml-eggplant-dark: #2B1E3D;
	--ml-coal: #222126;
	--ml-text: #3A3842;
	--ml-muted: #6E6A78;
	--ml-pepper: #E4572E;
	--ml-mustard: #E3B23C;
	--ml-cloth: #FFFFFF;
	--ml-lilac: #EFEAF4;
	--ml-line: #DDD8E4;
	--ml-board: #2A2D2B;

	--ml-serif: "Young Serif", Georgia, serif;
	--ml-sans: "Figtree", system-ui, sans-serif;
	--ml-hand: "Caveat", cursive;
}

body {
	background: var(--ml-cloth);
	color: var(--ml-text);
	font-family: var(--ml-sans);
	font-size: 1.0625rem;
	line-height: 1.6;
}

h1, h2, h3, h4 {
	font-family: var(--ml-serif);
	font-weight: 400;
	color: var(--ml-eggplant);
	line-height: 1.08;
	text-wrap: balance;
}
h1 { font-size: clamp(2.6rem, 1.6rem + 3.6vw, 4.6rem); }
h2 { font-size: clamp(2rem, 1.4rem + 2vw, 3rem); }
h3 { font-size: 1.5rem; }

p { max-width: 62ch; }
a { color: var(--ml-eggplant); text-decoration-color: var(--ml-pepper); text-underline-offset: 0.2em; }
a:hover { color: var(--ml-pepper); }
:focus-visible { outline: 3px solid var(--ml-mustard); outline-offset: 3px; }

.elementor-button { border-radius: 99px; font-weight: 600; }
.ml-btn-line .elementor-button { background: transparent; color: var(--ml-eggplant); box-shadow: inset 0 0 0 2px currentColor; }
.ml-btn-line .elementor-button:hover { background: var(--ml-lilac); }

/* ---------- Logo ---------- */

.ml-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	color: var(--ml-eggplant);
	font-family: var(--ml-serif);
	font-size: 1.6rem;
	text-decoration: none;
}
.ml-logo:hover { color: var(--ml-eggplant); }
.ml-logo { white-space: nowrap; }
.ml-logo__table {
	position: relative;
	width: 34px;
	height: 10px;
	border-radius: 2px;
	background: var(--ml-pepper);
	box-shadow: -10px -8px 0 -3px var(--ml-mustard), 0 -8px 0 -3px var(--ml-mustard), 10px -8px 0 -3px var(--ml-mustard),
		-10px 8px 0 -3px var(--ml-mustard), 0 8px 0 -3px var(--ml-mustard), 10px 8px 0 -3px var(--ml-mustard);
}
.ml-dark .ml-logo, .ml-dark .ml-logo:hover { color: #fff; }

/* ---------- Planul sălii ---------- */

.ml-floor { margin: 0; }
.ml-floor figcaption { margin-top: 0.8rem; font-weight: 600; color: var(--ml-coal); }
.ml-plan { display: block; width: 100%; height: auto; }
.ml-window { stroke: var(--ml-line); stroke-width: 6; stroke-linecap: round; }
.ml-plan__label { font: 500 13px var(--ml-sans); fill: var(--ml-muted); }
.ml-plan__label--table { font: 16px var(--ml-serif); fill: #fff; }
.ml-table { fill: var(--ml-lilac); stroke: var(--ml-line); stroke-width: 2; }
.ml-table--long { fill: var(--ml-eggplant); stroke: none; }
.ml-table.is-mine { stroke: var(--ml-pepper); stroke-width: 3; }
.ml-seat { stroke-width: 3; transition: fill 0.2s; }
.ml-seat--free { fill: #fff; stroke: var(--ml-eggplant); }
.ml-seat--taken { fill: #C9C3D3; stroke: #C9C3D3; }
.ml-seat--mine { fill: var(--ml-pepper); stroke: var(--ml-pepper); }

.ml-legend { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; margin: 0.6rem 0 0; font-size: 0.875rem; color: var(--ml-muted); }
.ml-legend__item::before {
	content: "";
	display: inline-block;
	width: 0.85em;
	height: 0.85em;
	margin-right: 0.4em;
	vertical-align: -0.1em;
	border-radius: 50%;
	border: 2px solid var(--ml-eggplant);
	background: #fff;
}
.ml-legend__item--taken::before { background: #C9C3D3; border-color: #C9C3D3; }
.ml-legend__item--mine::before { background: var(--ml-pepper); border-color: var(--ml-pepper); }

/* ---------- Felul zilei, pe tablă ---------- */

.ml-board {
	padding: 1.6rem 1.8rem;
	background: var(--ml-board);
	border: 10px solid #8A6B4E;
	border-radius: 4px;
	color: #F3F1EA;
	box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.45);
}
.ml-board p { margin: 0; max-width: none; }
.ml-board__title { font-family: var(--ml-sans); font-size: 0.875rem; color: #B9B7AE; margin-bottom: 0.4rem !important; }
.ml-board__dish { font-family: var(--ml-hand); font-size: 2.1rem; font-weight: 700; line-height: 1.15; }
.ml-board__dish + .ml-board__dish { color: var(--ml-mustard); }

/* ---------- Meniul ---------- */

.ml-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 2rem; }
.ml-chip {
	padding: 0.5rem 1rem;
	border: 2px solid var(--ml-line);
	border-radius: 99px;
	background: #fff;
	color: var(--ml-coal);
	font: 600 0.95rem var(--ml-sans);
	cursor: pointer;
}
.ml-chip:hover { border-color: var(--ml-eggplant); }
.ml-chip[aria-pressed="true"] { border-color: var(--ml-eggplant); background: var(--ml-eggplant); color: #fff; }
.ml-menu__section { margin-bottom: 2.4rem; }
.ml-menu__section[hidden], .ml-dish[hidden], .ml-empty[hidden] { display: none; }
.ml-menu__section h3 { margin: 0 0 0.6rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ml-eggplant); }
.ml-menu ul { margin: 0; padding: 0; list-style: none; }
.ml-dish {
	display: flex;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--ml-line);
}
.ml-dish p { margin: 0; }
.ml-dish__name { font-family: var(--ml-serif); font-size: 1.25rem; color: var(--ml-coal); }
.ml-dish__desc { color: var(--ml-muted); }
.ml-dish__tags { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-top: 0.4rem !important; }
.ml-dish__price { flex: none; font-weight: 700; color: var(--ml-coal); white-space: nowrap; }
.ml-tag { padding: 0.05rem 0.5rem; border-radius: 99px; background: var(--ml-lilac); color: var(--ml-eggplant); font-size: 0.78rem; font-weight: 600; }
.ml-tag--pic { background: #FCE3DA; color: #A6361A; }
.ml-empty { padding: 1rem; background: var(--ml-lilac); }

/* ---------- Rezervarea ---------- */

.ml-reserve { display: grid; gap: 1.6rem; }
.ml-reserve label { display: grid; gap: 0.3rem; font-weight: 600; color: var(--ml-coal); }
.ml-reserve select, .ml-reserve input[type="text"], .ml-reserve input[type="tel"] {
	padding: 0.7rem 0.9rem;
	border: 2px solid var(--ml-line);
	border-radius: 10px;
	background: #fff;
	font: inherit;
	color: var(--ml-coal);
}
.ml-reserve select:focus, .ml-reserve input:focus { border-color: var(--ml-eggplant); outline: none; }
.ml-reserve__pick { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 1rem; }
.ml-stepper { display: flex; align-items: center; justify-content: space-between; border: 2px solid var(--ml-line); border-radius: 10px; background: #fff; }
.ml-stepper button { width: 2.8rem; height: 2.8rem; border: 0; background: transparent; color: var(--ml-eggplant); font-size: 1.4rem; cursor: pointer; }
.ml-stepper button:hover { color: var(--ml-pepper); }
.ml-stepper output { font-family: var(--ml-serif); font-size: 1.4rem; color: var(--ml-coal); }
.ml-reserve__where { display: flex; flex-wrap: wrap; gap: 0.6rem 1.6rem; margin: 0; padding: 0; border: 0; }
.ml-reserve__where legend { width: 100%; margin-bottom: 0.5rem; font-weight: 600; color: var(--ml-coal); }
.ml-reserve__where label { display: flex; gap: 0.5rem; align-items: center; font-weight: 400; cursor: pointer; }
.ml-reserve__where input { accent-color: var(--ml-pepper); width: 1.1rem; height: 1.1rem; }
.ml-reserve__plan { padding: 1.2rem; border-radius: 14px; background: var(--ml-lilac); }
.ml-reserve__plan [data-plan], .ml-reserve__plan .ml-legend, .ml-reserve__status { max-width: 680px; margin-left: auto; margin-right: auto; }
.ml-reserve__status { margin: 0.8rem 0 0; font-weight: 600; color: var(--ml-eggplant); max-width: none; }
.ml-reserve__contact { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: end; }
.ml-wide { grid-column: 1 / -1; }
.ml-reserve button[type="submit"] {
	grid-column: 1 / -1;
	justify-self: start;
	padding: 0.9rem 2rem;
	border: 0;
	border-radius: 99px;
	background: var(--ml-pepper);
	color: #fff;
	font: 700 1.05rem var(--ml-sans);
	cursor: pointer;
}
.ml-reserve button[type="submit"]:hover:not(:disabled) { background: #C9431D; }
.ml-reserve button[type="submit"]:disabled { background: #C9C3D3; cursor: not-allowed; }

.ml-confirm[hidden] { display: none; }
.ml-confirm { padding: 1.8rem; border-radius: 14px; background: var(--ml-eggplant); color: #E6DFEF; }
.ml-confirm h3 { margin: 0 0 0.4rem; color: #fff; font-size: 2.2rem; }
.ml-confirm p { color: #fff; font-size: 1.1rem; }
.ml-confirm__cal { display: inline-block; margin: 0.3rem 0 0.9rem; padding: 0.7rem 1.3rem; border-radius: 99px; background: var(--ml-mustard); color: var(--ml-coal); font-weight: 700; text-decoration: none; }
.ml-confirm__cal:hover { background: #fff; color: var(--ml-coal); }
.ml-confirm__note { font-size: 0.9rem !important; color: #CFC5DD !important; }

@media (max-width: 767px) {
	.ml-reserve__pick, .ml-reserve__contact { grid-template-columns: 1fr; }
	.ml-dish { flex-direction: column; gap: 0.3rem; }
	.ml-board__dish { font-size: 1.8rem; }
}

/* ---------- Secțiunea închisă: „ml-dark” ---------- */

.ml-dark { color: #D9D1E4; }
.ml-dark h1, .ml-dark h2, .ml-dark h3, .ml-dark h4, .ml-dark .elementor-heading-title { color: #fff; }
.ml-dark .elementor-widget-text-editor { color: #D9D1E4; }
.ml-dark a:not(.elementor-button) { color: #fff; }
.ml-footer p { margin-bottom: 0.3em; }

/* Producătorii, ca listă cu muștar */
.ml-producers { margin: 0; padding: 0; list-style: none; }
.ml-producers li { padding: 0.6rem 0; border-bottom: 1px solid var(--ml-line); }
.ml-producers strong { color: var(--ml-coal); }
