/* Caracool Carta — estructura del bloque en el front
   ─────────────────────────────────────────────────────────────────────
   Solo estructura. Ni un color de marca, ni una tipografía. Todo eso lo
   pone el tema del cliente sobre estas clases, igual que en Caracool
   Motion los colores salen del Kit de Elementor.

   Lo único que este archivo defiende son tres cosas que, si se pierden,
   la carta deja de leerse bien:

     · Los precios alineados. Cifras tabulares y columna a la derecha.
     · Las secciones sin partirse entre columnas.
     · Una sola columna en móvil, pase lo que pase.
*/

.cc-carta {
	--cc-carta-hueco: 2.5rem;
	--cc-carta-min: 300px;
}

.cc-carta__fecha {
	margin: 0 0 1.6em;
	font-size: .8125em;
	letter-spacing: .1em;
	text-transform: uppercase;
	opacity: .7;
}

.cc-carta__rejilla {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(var(--cc-carta-min), 1fr));
	gap: .5rem var(--cc-carta-hueco);
	align-items: start;
}

.cc-carta--cols-1 .cc-carta__rejilla { grid-template-columns: 1fr; }
.cc-carta--cols-2 .cc-carta__rejilla { grid-template-columns: repeat(2, 1fr); }
.cc-carta--cols-3 .cc-carta__rejilla { grid-template-columns: repeat(3, 1fr); }

.cc-carta__seccion {
	break-inside: avoid;
	margin-bottom: 1.8em;
}

.cc-carta__titulo {
	margin: 0 0 .6em;
	font-size: 1.25em;
	line-height: 1.2;
}

.cc-carta__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cc-carta__plato {
	display: flex;
	align-items: baseline;
	gap: .6em;
	padding: .32em 0;
	border-bottom: 1px solid currentColor;
	border-color: color-mix(in srgb, currentColor 14%, transparent);
}

.cc-carta__nombre {
	flex: 1 1 auto;
	min-width: 0;
}

.cc-carta__precio {
	flex: 0 0 auto;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum" 1;
}

.cc-carta__unidad {
	font-size: .84em;
	opacity: .65;
	margin-left: .12em;
}

.cc-carta__marca {
	font-size: .6em;
	vertical-align: super;
	margin-left: .35em;
	opacity: .8;
}

.cc-carta__nota {
	margin: 1.6em 0 0;
	font-size: .875em;
	opacity: .7;
}

.cc-carta__aviso {
	margin: 0;
}

@media (max-width: 640px) {
	.cc-carta__rejilla,
	.cc-carta--cols-2 .cc-carta__rejilla,
	.cc-carta--cols-3 .cc-carta__rejilla {
		grid-template-columns: 1fr;
	}
}

/* Al imprimir, la carta se comporta como una carta: dos columnas, sin
   adornos y sin cortar una sección por la mitad. */
@media print {
	.cc-carta__rejilla { grid-template-columns: repeat(2, 1fr); }
	.cc-carta__seccion { page-break-inside: avoid; }
}
