/* ═══════════════════════════════════════════════════════════════
   MOTORBOOK · Vetrina — stili dei tre blocchi.
   Usano le variabili del tema MOTORBOOK quando ci sono (e quindi
   anche il suo tema scuro); con un altro tema ricadono sui valori
   chiari del design system e restano leggibili.
   ═══════════════════════════════════════════════════════════════ */
.mbv-scheda, .mbv-fascicolo, .mbv-modulo {
	--mbv-bg: var(--wp--preset--color--bg, #EDEFEA);
	--mbv-surface: var(--wp--preset--color--surface, #FFFFFF);
	--mbv-surface-2: var(--wp--preset--color--surface-2, #E7EAE4);
	--mbv-surface-3: var(--wp--preset--color--surface-3, #DBDFD7);
	--mbv-ink: var(--wp--preset--color--ink, #14181A);
	--mbv-ink-2: var(--wp--preset--color--ink-2, #49524D);
	--mbv-ink-3: var(--wp--preset--color--ink-3, #78827C);
	--mbv-line: var(--wp--preset--color--line, #D3D8D0);
	--mbv-line-2: var(--wp--preset--color--line-2, #B7BFB5);
	--mbv-brand: var(--wp--preset--color--brand, #1F5D4C);
	--mbv-brand-soft: var(--wp--preset--color--brand-soft, #E0EDE7);
	--mbv-signal: var(--wp--preset--color--signal, #C24E1B);
	--mbv-signal-soft: var(--wp--preset--color--signal-soft, #F8E5DA);
	--mbv-warn: var(--wp--preset--color--warn, #8E6408);
	--mbv-warn-soft: var(--wp--preset--color--warn-soft, #F3EAD1);
	--mbv-ok: var(--wp--preset--color--ok, #2A6E45);
	--mbv-ok-soft: var(--wp--preset--color--ok-soft, #DEEBE1);
	--mbv-violet: #4B4470;
	--mbv-violet-soft: #E6E3F0;
	--mbv-mono: var(--wp--preset--font-family--mono, "IBM Plex Mono", ui-monospace, Consolas, monospace);
	--mbv-display: var(--wp--preset--font-family--display, "Arial Narrow", sans-serif);
	--mbv-r: var(--wp--custom--raggio, 3px);
	color: var(--mbv-ink);
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) :is(.mbv-scheda, .mbv-fascicolo, .mbv-modulo) { --mbv-violet: #A9A0D8; --mbv-violet-soft: #25213A; }
}
:root[data-theme="dark"] :is(.mbv-scheda, .mbv-fascicolo, .mbv-modulo) { --mbv-violet: #A9A0D8; --mbv-violet-soft: #25213A; }

/* ── Pezzi comuni ─────────────────────────────────────────────── */
:is(.mbv-scheda, .mbv-fascicolo, .mbv-modulo) .mbv-occhiello {
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mbv-ink-3);
	margin: 0 0 .5rem;
}
:is(.mbv-scheda, .mbv-fascicolo, .mbv-modulo) .mbv-dato,
:is(.mbv-scheda, .mbv-fascicolo, .mbv-modulo) .mbv-mono {
	font-family: var(--mbv-mono);
	font-variant-numeric: tabular-nums;
}
:is(.mbv-scheda, .mbv-fascicolo, .mbv-modulo) .mbv-dato { font-size: .8rem; color: var(--mbv-ink-2); }

.mbv-chip {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .22rem .45rem;
	border-radius: 2px;
	background: var(--mbv-surface-2);
	color: var(--mbv-ink-2);
	white-space: nowrap;
	margin: 0;
	line-height: 1.3;
}
.mbv-chip-brand { background: var(--mbv-brand-soft); color: var(--mbv-brand); }
.mbv-chip-warn { background: var(--mbv-warn-soft); color: var(--mbv-warn); }
.mbv-chip-viola { background: var(--mbv-violet-soft); color: var(--mbv-violet); }
.mbv-att-dichiarato { background: var(--mbv-surface-2); color: var(--mbv-ink-2); }
.mbv-att-documentato { background: var(--mbv-brand-soft); color: var(--mbv-brand); }
.mbv-att-attestato { background: var(--mbv-ok-soft); color: var(--mbv-ok); }

.mbv-foto {
	display: grid;
	place-items: center;
	min-height: 9rem;
	background: repeating-linear-gradient(135deg, var(--mbv-surface-2) 0 10px, var(--mbv-surface-3) 10px 20px);
	border-radius: var(--mbv-r);
}
.mbv-foto span {
	font-family: var(--mbv-mono);
	font-size: .7rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .3rem .55rem;
	background: var(--mbv-surface);
	border: 1px solid var(--mbv-line-2);
	color: var(--mbv-ink-2);
}

.mbv-righe { margin: 0; }
.mbv-righe > div {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: .55rem 0;
	border-top: 1px dashed var(--mbv-line);
	font-size: .88rem;
}
.mbv-righe dt { color: var(--mbv-ink-2); }
.mbv-righe dd { margin: 0; text-align: right; font-weight: 600; }
.mbv-righe dd small { display: block; font-weight: 400; font-size: .72rem; color: var(--mbv-ink-3); }

.mbv-provenienza {
	font-size: .74rem;
	color: var(--mbv-ink-3);
	margin: .8rem 0 0;
	padding-left: .9rem;
	position: relative;
}
.mbv-provenienza::before {
	content: "";
	position: absolute;
	left: 0;
	top: .45em;
	width: .45rem;
	height: .45rem;
	border-radius: 50%;
	background: var(--mbv-ink-3);
}
.mbv-prov-catalogo::before { background: var(--mbv-ok); }
.mbv-prov-copia::before { background: var(--mbv-warn); }

/* ── Scheda compatta ──────────────────────────────────────────── */
.mbv-scheda {
	background: var(--mbv-surface);
	border: 1px solid var(--mbv-line);
	border-radius: var(--mbv-r);
	overflow: hidden;
	box-shadow: 0 22px 44px -22px rgba(0, 0, 0, .55);
	max-width: 30rem;
	margin-inline: auto;
}
.mbv-scheda .mbv-foto { min-height: 12rem; border-radius: 0; }
.mbv-scheda-corpo { padding: 1.1rem 1.2rem 1.2rem; }
.mbv-scheda-t {
	font-family: var(--mbv-display) !important;
	font-stretch: 86%;
	font-weight: 720 !important;
	font-size: 1.35rem !important;
	text-transform: uppercase;
	margin: 0 0 .25rem !important;
	color: var(--mbv-ink) !important;
}
.mbv-scheda .mbv-dato { margin: 0 0 .8rem; }
.mbv-apri {
	display: inline-block;
	margin-top: .9rem;
	font-weight: 600;
	font-size: .9rem;
	color: var(--mbv-brand) !important;
	text-decoration: none;
}
.mbv-apri:hover { text-decoration: underline; }

/* ── Fascicolo ────────────────────────────────────────────────── */
.mbv-fascicolo { background: var(--mbv-bg); margin-block: 0 !important; }
.mbv-w { max-width: 72rem; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2.5rem); }
.mbv-f-testa {
	background: var(--mbv-surface);
	border-bottom: 1px solid var(--mbv-line);
	padding-block: clamp(2rem, 5vw, 3.5rem) 1.6rem;
}
.mbv-f-titolo {
	font-family: var(--mbv-display);
	font-stretch: 82%;
	font-weight: 780;
	font-size: clamp(2.2rem, 6vw, 3.6rem);
	line-height: .98;
	text-transform: uppercase;
	margin: 0 0 .6rem;
}
.mbv-f-testa .mbv-dato { margin: 0 0 1rem; font-size: .86rem; }
.mbv-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; }
.mbv-f-corpo { padding-block: 1.8rem clamp(2.5rem, 5vw, 4rem); }

.mbv-privacy {
	background: var(--mbv-signal-soft);
	border-left: 3px solid var(--mbv-signal);
	padding: 1rem 1.3rem;
	border-radius: 0 var(--mbv-r) var(--mbv-r) 0;
	margin-bottom: 1.6rem;
}
.mbv-privacy .mbv-occhiello { color: var(--mbv-signal); }
.mbv-privacy p:last-child { margin: 0; max-width: 70ch; }

.mbv-foto-fila { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem; margin-bottom: 2.2rem; }
.mbv-foto-fila .mbv-foto { min-height: 8.5rem; }
@media (max-width: 700px) { .mbv-foto-fila { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.mbv-f-griglia { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 20rem); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
@media (max-width: 900px) { .mbv-f-griglia { grid-template-columns: minmax(0, 1fr); } }

.mbv-f-h {
	font-family: var(--mbv-display);
	font-stretch: 86%;
	font-weight: 720;
	font-size: clamp(1.3rem, 2.6vw, 1.7rem);
	text-transform: uppercase;
	line-height: 1.08;
	margin: 2.2rem 0 1rem;
	padding-bottom: .5rem;
	border-bottom: 1px solid var(--mbv-line);
}
.mbv-f-principale > .mbv-f-h:first-child { margin-top: 0; }

.mbv-storia { list-style: none; margin: 0; padding: 0 0 0 1.4rem; border-left: 2px solid var(--mbv-line); }
.mbv-storia li { position: relative; padding: 0 0 1.4rem; }
.mbv-storia li::before {
	content: "";
	position: absolute;
	left: calc(-1.4rem - 7px);
	top: .25rem;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--mbv-surface);
	border: 2px solid var(--mbv-brand);
}
.mbv-storia li.mbv-s-lacuna::before { border-color: var(--mbv-violet); border-style: dashed; }
.mbv-storia li.mbv-s-passaggio::before { background: var(--mbv-brand); }
.mbv-storia li.mbv-s-fermo::before { border-color: var(--mbv-warn); background: var(--mbv-warn-soft); }
.mbv-storia .mbv-dato { margin: 0 0 .15rem; font-size: .74rem; text-transform: uppercase; letter-spacing: .04em; }
.mbv-storia h3 { font-size: 1.02rem; margin: 0 0 .25rem; text-transform: none; font-family: inherit; }
.mbv-storia p { margin: 0 0 .5rem; max-width: 62ch; color: var(--mbv-ink-2); }

.mbv-tabella { overflow-x: auto; border: 1px solid var(--mbv-line); border-radius: var(--mbv-r); background: var(--mbv-surface); }
.mbv-tabella table { width: 100%; border-collapse: collapse; font-size: .86rem; min-width: 36rem; }
.mbv-tabella th {
	text-align: left;
	font-size: .64rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--mbv-ink-3);
	padding: .7rem .8rem;
	border-bottom: 1px solid var(--mbv-line-2);
	background: var(--mbv-surface);
}
.mbv-tabella td { padding: .65rem .8rem; border-bottom: 1px solid var(--mbv-line); vertical-align: top; }
.mbv-tabella tr:last-child td { border-bottom: 0; }
.mbv-num { text-align: right !important; }

.mbv-legenda { display: grid; gap: .4rem; margin: .9rem 0 0; font-size: .8rem; color: var(--mbv-ink-2); }
.mbv-legenda > div { display: flex; gap: .6rem; align-items: baseline; }
.mbv-legenda dt { flex: 0 0 7.5rem; }
.mbv-legenda dd { margin: 0; }

.mbv-ricerche { list-style: none; margin: 0; padding: 0; }
.mbv-ricerche li {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: .9rem;
	align-items: start;
	padding: .9rem 0;
	border-top: 1px solid var(--mbv-line);
}
.mbv-ricerche li:last-child { border-bottom: 1px solid var(--mbv-line); }
.mbv-ricerca-n { font-family: var(--mbv-display); font-stretch: 80%; font-weight: 780; font-size: 1.5rem; line-height: 1; color: var(--mbv-brand); }
.mbv-ricerche h3 { font-size: .98rem; margin: 0 0 .15rem; text-transform: none; font-family: inherit; }
.mbv-ricerche p { margin: 0; font-size: .86rem; color: var(--mbv-ink-2); }

.mbv-f-lato { display: grid; gap: 1rem; position: sticky; top: 6rem; }
@media (max-width: 900px) { .mbv-f-lato { position: static; } }
.mbv-riquadro { background: var(--mbv-surface); border: 1px solid var(--mbv-line); border-radius: var(--mbv-r); padding: 1rem 1.1rem 1.1rem; }
.mbv-riquadro .mbv-righe > div:first-child { border-top: 0; }
.mbv-riquadro-brand { background: var(--mbv-brand-soft); border-color: transparent; font-size: .9rem; }
.mbv-riquadro-brand p { margin: 0; }

/* ── Modulo ───────────────────────────────────────────────────── */
.mbv-modulo, .mbv-modulo *, .mbv-fascicolo *, .mbv-scheda * { box-sizing: border-box; }
.mbv-modulo {
	background: var(--mbv-surface);
	border: 1px solid var(--mbv-line);
	border-radius: var(--mbv-r);
	padding: clamp(1.1rem, 3vw, 1.8rem);
}
.mbv-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.1rem; }
@media (max-width: 620px) { .mbv-form { grid-template-columns: 1fr; } }
.mbv-largo { grid-column: 1 / -1; }
.mbv-campo { display: flex; flex-direction: column; gap: .3rem; min-width: 0; margin: 0; }
.mbv-campo > label:not(.mbv-scelta), .mbv-scelte legend { font-size: .8rem; font-weight: 600; color: var(--mbv-ink); }
.mbv-obb { font-weight: 400; font-size: .7rem; color: var(--mbv-ink-3); margin-left: .25rem; }
.mbv-modulo :is(input[type="text"], input[type="email"], input[type="tel"], select) {
	font: inherit;
	font-size: 1rem;
	width: 100%;
	min-height: 2.8rem;
	padding: .55rem .7rem;
	color: var(--mbv-ink);
	background: var(--mbv-bg);
	border: 1px solid var(--mbv-line-2);
	border-radius: var(--mbv-r);
}
.mbv-modulo :is(input, select):focus { outline: 2px solid var(--mbv-brand); outline-offset: 1px; border-color: var(--mbv-brand); }
.mbv-modulo [aria-invalid="true"] { border-color: var(--mbv-signal); }
.mbv-modulo ::placeholder { color: var(--mbv-ink-3); opacity: 1; }

.mbv-scelte { border: 0; padding: 0; }
.mbv-scelte legend { margin-bottom: .5rem; padding: 0; line-height: 1.4; }
.mbv-scelta {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .55rem .7rem;
	margin-bottom: .35rem;
	border: 1px solid var(--mbv-line);
	border-radius: var(--mbv-r);
	cursor: pointer;
	font-size: .94rem;
	font-weight: 400;
}
.mbv-scelta:has(input:checked) { border-color: var(--mbv-brand); background: var(--mbv-brand-soft); }
.mbv-scelta input { accent-color: var(--mbv-brand); width: 1.05rem; height: 1.05rem; margin: 0; }
.mbv-quanto { margin-top: .4rem; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.mbv-quanto[hidden] { display: none; }
.mbv-quanto label { font-size: .85rem; }
.mbv-euro { display: inline-flex; align-items: center; gap: .35rem; }
.mbv-euro input { width: 6rem !important; }

.mbv-spunta { display: flex; gap: .65rem; align-items: flex-start; font-size: .9rem; line-height: 1.45; cursor: pointer; }
.mbv-spunta input { accent-color: var(--mbv-brand); width: 1.1rem; height: 1.1rem; margin: .15rem 0 0; flex: 0 0 auto; }
.mbv-spunta-errore { color: var(--mbv-signal); }
.mbv-spunta a { color: var(--mbv-brand); }

.mbv-errore { color: var(--mbv-signal); font-size: .8rem; font-weight: 600; margin: .15rem 0 0; }
.mbv-errore-testa {
	background: var(--mbv-signal-soft);
	padding: .6rem .8rem;
	border-radius: var(--mbv-r);
	margin: 0 0 1rem;
	font-size: .88rem;
}

.mbv-invio { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; margin-top: .3rem; }
.mbv-invio .mbv-dato { margin: 0; font-size: .74rem; }
.mbv-pulsante {
	font: inherit;
	font-weight: 600;
	font-size: .95rem;
	min-height: 3rem;
	padding: .75rem 1.4rem;
	cursor: pointer;
	border-radius: var(--mbv-r);
	border: 1px solid var(--mbv-brand);
	background: var(--mbv-brand);
	color: var(--mbv-surface);
}
.mbv-pulsante:hover { filter: brightness(1.1); }

/* Il campo civetta: fuori dallo schermo, non display:none (alcuni programmi lo saltano) */
.mbv-civetta { position: absolute !important; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.mbv-fatto { outline: none; }
.mbv-fatto h3 {
	font-family: var(--mbv-display);
	font-stretch: 84%;
	font-weight: 750;
	font-size: 1.6rem;
	text-transform: uppercase;
	margin: 0 0 .5rem;
	color: var(--mbv-brand);
}
.mbv-fatto p { margin: 0 0 .7rem; }
