/* ==========================================================================
   El Nuevo Colmao - Estilos generales
   Base: 1rem = 10px (font-size del html en 62.5% sobre los 16px por defecto)
   Sistema de color y tipografía basado en el diseño de referencia (Stitch)
   ========================================================================== */

:root {
	/* Colores principales */
	--color-cobalto: #00327d;
	--color-cobalto-oscuro: #00224f;
	--color-cobre: #b35d1e;
	--color-cobre-oscuro: #8a4716;

	--color-superficie: #fcf9f8;
	--color-superficie-baja: #f6f3f2;
	--color-superficie-alta: #eae7e7;
	--color-borde: #e5e2e1;
	--color-texto: #1c1b1b;
	--color-texto-secundario: #434653;
	--color-blanco: #ffffff;

	/* Tipografía */
	--fuente-titulares: "Raleway", Georgia, serif;
	--fuente-texto: "Work Sans", Arial, sans-serif;

	/* Espaciados (escala del diseño) */
	--espacio-xs: 0.4rem;
	--espacio-sm: 0.8rem;
	--espacio-md: 1.6rem;
	--espacio-lg: 2.4rem;
	--espacio-xl: 3.2rem;
	--espacio-xxl: 4.8rem;
	--espacio-seccion: 8rem;
	--ancho-maximo: 120rem;

	--radio-borde: 0.2rem;
	--radio-borde-grande: 0.5rem;
	--transicion-rapida: 0.25s ease;

	/* Aliases usados en el panel de administración */
	--color-fondo: var(--color-superficie-baja);
	--color-acento: var(--color-cobalto);
	--color-acento-oscuro: var(--color-cobalto-oscuro);
	--radio-tarjeta: 0.8rem;
	--radio-boton: 0.4rem;
	--sombra-tarjeta: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* ==========================================================================
   Reset básico
   ========================================================================== */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 62.5%; /* 1rem = 10px */
	scroll-behavior: smooth;
}

body {
	font-family: var(--fuente-texto);
	font-size: 1.6rem;
	line-height: 1.6;
	color: var(--color-texto);
	background-color: var(--color-superficie);
}

img {
	display: block;
	max-width: 100%;
}

ul {
	list-style: none;
}

a {
	text-decoration: none;
	color: inherit;
}

button {
	font-family: inherit;
	cursor: pointer;
	border: none;
	background: none;
}

h1, h2, h3 {
	font-family: var(--fuente-titulares);
}

/* ==========================================================================
   Cabecera
   ========================================================================== */

.cabecera {
	background-color: var(--color-superficie);
	box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.06);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

.cabecera__contenedor {
	max-width: var(--ancho-maximo);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--espacio-md);
	padding: var(--espacio-md) var(--espacio-lg);
}

.cabecera__marca {
	font-family: var(--fuente-titulares);
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--color-cobre);
	flex-shrink: 0;
}

/* ==========================================================================
   Navegación
   ========================================================================== */

.navegacion {
	display: flex;
	align-items: center;
}

.navegacion__lista {
	display: flex;
	align-items: center;
	gap: var(--espacio-md);
}

.navegacion__enlace {
	font-size: 1.6rem;
	color: var(--color-texto-secundario);
	padding-bottom: 0.4rem;
	border-bottom: 0.2rem solid transparent;
	transition: var(--transicion-rapida);
}

.navegacion__enlace:hover,
.navegacion__enlace:focus-visible {
	color: var(--color-cobre);
}

.navegacion__enlace--activo {
	color: var(--color-cobalto);
	font-weight: 700;
	border-bottom-color: var(--color-cobre);
}

a.navegacion__login-movil {
	display: none;
}

/* ==========================================================================
   Botones y acciones de la cabecera
   ========================================================================== */

.cabecera__acciones {
	display: flex;
	align-items: center;
	gap: var(--espacio-md);
	flex-shrink: 0;
}

.boton-login {
	display: inline-block;
	background-color: var(--color-cobre);
	color: var(--color-blanco);
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	border-radius: var(--radio-borde);
	padding: var(--espacio-sm) var(--espacio-md);
	transition: opacity var(--transicion-rapida);
}

.boton-login:hover,
.boton-login:focus-visible {
	opacity: 0.9;
}

.cabecera__icono-carrito {
	display: flex;
	position: relative;
	color: var(--color-cobalto);
	transition: var(--transicion-rapida);
}

.cabecera__badge {
	position: absolute;
	top: -6px;
	right: -8px;
	background: var(--color-cobre);
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	min-width: 1.8rem;
	height: 1.8rem;
	border-radius: 99px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 .3rem;
	line-height: 1;
}

.cabecera__icono-carrito:hover,
.cabecera__icono-carrito:focus-visible {
	color: var(--color-cobre);
}

/* Botón de menú móvil (hamburguesa) */
.cabecera__boton-menu {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 0.5rem;
	width: 3.6rem;
	height: 3.6rem;
}

.cabecera__boton-menu-barra {
	display: block;
	height: 0.2rem;
	width: 100%;
	background-color: var(--color-cobalto);
	border-radius: 0.2rem;
	transition: var(--transicion-rapida);
}

.cabecera__boton-menu[aria-expanded="true"] .cabecera__boton-menu-barra:nth-child(1) {
	transform: translateY(0.7rem) rotate(45deg);
}

.cabecera__boton-menu[aria-expanded="true"] .cabecera__boton-menu-barra:nth-child(2) {
	opacity: 0;
}

.cabecera__boton-menu[aria-expanded="true"] .cabecera__boton-menu-barra:nth-child(3) {
	transform: translateY(-0.7rem) rotate(-45deg);
}

/* ==========================================================================
   Hero
   ========================================================================== */

.hero {
	position: relative;
	width: 100%;
	height: 61.4rem;
	overflow: hidden;
	background-color: var(--color-superficie-alta);
}

.hero__fondo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(0, 10, 30, 0.55), rgba(0, 10, 30, 0.15) 60%);
}

.hero__contenido {
	position: relative;
	z-index: 1;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	max-width: var(--ancho-maximo);
	margin: 0 auto;
	padding: 0 var(--espacio-lg);
}

.hero__logo {
	width: 32rem;
	height: auto;
	margin-bottom: var(--espacio-lg);
}

.hero__titulo {
	font-size: 3.6rem;
	line-height: 1.2;
	font-weight: 700;
	color: var(--color-blanco);
	text-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.35);
	margin-bottom: var(--espacio-sm);
}

.hero__texto {
	font-size: 1.8rem;
	color: rgba(255, 255, 255, 0.9);
	max-width: 60rem;
	text-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.3);
	margin-bottom: var(--espacio-md);
}

.hero__boton {
	display: inline-block;
	background-color: var(--color-cobre);
	color: var(--color-blanco);
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	border: 0.2rem solid var(--color-cobre);
	border-radius: var(--radio-borde);
	padding: var(--espacio-md) var(--espacio-lg);
	transition: var(--transicion-rapida);
}

.hero__boton:hover,
.hero__boton:focus-visible {
	background-color: transparent;
	color: var(--color-blanco);
}

/* ==========================================================================
   Nuestra Cocina
   ========================================================================== */

.cocina {
	max-width: var(--ancho-maximo);
	margin: 0 auto;
	padding: var(--espacio-seccion) var(--espacio-lg);
}

.cocina__contenedor {
	display: grid;
	gap: var(--espacio-lg);
	align-items: center;
}

.cocina__titulo {
	font-size: 3.2rem;
	font-weight: 700;
	color: var(--color-cobalto);
	margin-bottom: var(--espacio-md);
}

.cocina__parrafo {
	color: var(--color-texto-secundario);
	margin-bottom: var(--espacio-md);
}

.cocina__imagen {
	border-radius: var(--radio-borde-grande);
	overflow: hidden;
	border: 1px solid var(--color-borde);
	box-shadow: 0 1rem 1.5rem -0.3rem rgba(0, 0, 0, 0.1);
}

.cocina__imagen img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* ==========================================================================
   Platos Destacados
   ========================================================================== */

.destacados {
	background-color: var(--color-superficie-baja);
	padding: var(--espacio-seccion) 0;
}

.destacados__contenedor {
	max-width: var(--ancho-maximo);
	margin: 0 auto;
	padding: 0 var(--espacio-lg);
}

.destacados__titulo {
	font-size: 2.4rem;
	font-weight: 600;
	color: var(--color-cobalto);
	text-align: center;
	margin-bottom: var(--espacio-xl);
}

.destacados__cuadricula {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--espacio-lg);
}

.tarjeta-plato {
	display: flex;
	flex-direction: column;
	background-color: var(--color-superficie);
	border: 1px solid var(--color-borde);
	border-radius: var(--radio-borde-grande);
	overflow: hidden;
	box-shadow: 0 0.4rem 1.2rem rgba(0, 50, 125, 0.05);
	transition: box-shadow var(--transicion-rapida), transform var(--transicion-rapida);
}

.tarjeta-plato:hover {
	box-shadow: 0 1.2rem 2.4rem rgba(0, 50, 125, 0.1);
	transform: translateY(-0.2rem);
}

.tarjeta-plato__imagen {
	position: relative;
	height: 16rem;
	overflow: hidden;
}

.tarjeta-plato__foto {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.tarjeta-plato__etiqueta {
	position: absolute;
	top: var(--espacio-sm);
	right: var(--espacio-sm);
	z-index: 1;
	background-color: var(--color-cobalto);
	color: var(--color-blanco);
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	padding: 0.3rem var(--espacio-xs);
	border-radius: var(--radio-borde);
}

.tarjeta-plato__contenido {
	padding: var(--espacio-md);
	flex-grow: 1;
}

.tarjeta-plato__nombre {
	font-size: 2rem;
	font-weight: 600;
	color: var(--color-texto);
	margin-bottom: var(--espacio-xs);
}

.tarjeta-plato__descripcion {
	font-size: 1.4rem;
	line-height: 1.5;
	color: var(--color-texto-secundario);
}

/* ==========================================================================
   Marcador de foto pendiente
   ========================================================================== */

.marcador-foto {
	width: 100%;
	height: 100%;
	min-height: 18rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--espacio-sm);
	color: var(--color-cobalto);
	text-align: center;
	background-image: repeating-linear-gradient(
		135deg,
		var(--color-superficie-alta),
		var(--color-superficie-alta) 1.2rem,
		var(--color-superficie-baja) 1.2rem,
		var(--color-superficie-baja) 2.4rem
	);
}

.marcador-foto__icono {
	opacity: 0.6;
}

.marcador-foto__texto {
	font-size: 1.3rem;
	font-weight: 600;
	opacity: 0.75;
}

/* ==========================================================================
   Pie de página
   ========================================================================== */

.pie {
	background-color: var(--color-cobalto);
	color: var(--color-blanco);
	font-size: 1.4rem;
	margin-top: var(--espacio-seccion);
}

.pie__contenedor {
	max-width: var(--ancho-maximo);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: var(--espacio-md);
	padding: var(--espacio-xl) var(--espacio-lg);
}

.pie__marca {
	font-family: var(--fuente-titulares);
	font-size: 2rem;
	font-weight: 600;
}

.pie__enlaces {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--espacio-md);
}

.pie__enlaces a {
	color: rgba(255, 255, 255, 0.8);
	transition: var(--transicion-rapida);
}

.pie__enlaces a:hover,
.pie__enlaces a:focus-visible {
	color: var(--color-cobre-oscuro);
	text-decoration: underline;
}

.pie__copyright {
	color: rgba(255, 255, 255, 0.8);
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 930px) {
	.navegacion {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		background-color: var(--color-superficie);
		box-shadow: 0 0.4rem 0.6rem rgba(0, 0, 0, 0.08);
		padding: var(--espacio-md) var(--espacio-lg);
	}

	.navegacion--abierta {
		display: flex;
	}

	.navegacion__lista {
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
		gap: var(--espacio-sm);
	}

	.navegacion__enlace {
		display: block;
		width: 100%;
		padding: var(--espacio-xs) 0;
	}

	a.navegacion__login-movil {
		display: block;
		width: 100%;
		text-align: center;
		margin-top: var(--espacio-md);
	}

	.cabecera__acciones .boton-login,
	.cabecera__acciones .cabecera__cliente {
		display: none;
	}

	.cabecera__boton-menu {
		display: flex;
	}

	.hero {
		height: 56rem;
	}

	.hero__titulo {
		font-size: 2.8rem;
	}
}

@media (min-width: 769px) {
	.cocina__contenedor {
		grid-template-columns: 1fr 1fr;
	}

	.destacados__cuadricula {
		grid-template-columns: repeat(3, 1fr);
	}

	.pie__contenedor {
		flex-direction: row;
		justify-content: space-between;
		text-align: left;
	}
}

@media (min-width: 1024px) {
	.hero__logo {
		width: 40rem;
	}

	.hero__titulo {
		font-size: 4.8rem;
	}
}

/* ==========================================================================
   Cabecera interna de página (banner pequeño para páginas interiores)
   ========================================================================== */

.pagina-cabecera {
	background-color: var(--color-cobalto);
	color: var(--color-blanco);
	padding: var(--espacio-xl) var(--espacio-lg);
	margin-top: 7rem;
}

.pagina-cabecera__contenedor {
	max-width: var(--ancho-maximo);
	margin: 0 auto;
}

.pagina-cabecera__titulo {
	font-size: 3.2rem;
	font-weight: 700;
	margin-bottom: var(--espacio-xs);
}

.pagina-cabecera__subtitulo {
	font-size: 1.6rem;
	color: rgba(255, 255, 255, 0.8);
}

/* ==========================================================================
   Controles del menú diario (selectores de semana, día y categoría)
   ========================================================================== */

.menu-controles {
	background-color: var(--color-superficie);
	border-bottom: 1px solid var(--color-borde);
	position: sticky;
	top: 7rem;
	z-index: 50;
}

.menu-controles__contenedor {
	max-width: var(--ancho-maximo);
	margin: 0 auto;
	padding: var(--espacio-md) var(--espacio-lg);
	display: flex;
	flex-direction: column;
	gap: var(--espacio-md);
}

/* Selector de semana */
.selector-semana {
	display: flex;
	gap: var(--espacio-sm);
	border-bottom: 1px solid var(--color-borde);
	padding-bottom: var(--espacio-md);
}

.selector-semana__boton {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: var(--espacio-sm) var(--espacio-md);
	border-radius: var(--radio-borde);
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--color-texto-secundario);
	background-color: transparent;
	border: 1px solid transparent;
	cursor: pointer;
	transition: var(--transicion-rapida);
	line-height: 1.3;
	font-family: var(--fuente-texto);
}

.selector-semana__boton:hover {
	color: var(--color-cobalto);
	border-color: var(--color-borde);
}

.selector-semana__boton--activo {
	color: var(--color-cobalto);
	background-color: rgba(0, 50, 125, 0.06);
	border-color: var(--color-cobalto);
}

.selector-semana__fecha {
	font-size: 1.2rem;
	font-weight: 400;
	color: var(--color-texto-secundario);
}

.selector-semana__boton--activo .selector-semana__fecha {
	color: var(--color-cobre);
}

/* Selector de día */
.selector-dia {
	display: flex;
	gap: var(--espacio-xs);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.selector-dia::-webkit-scrollbar {
	display: none;
}

.selector-dia__boton {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 5.6rem;
	padding: var(--espacio-sm);
	border-radius: var(--radio-borde);
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--color-texto-secundario);
	background-color: transparent;
	border: 1px solid transparent;
	cursor: pointer;
	transition: var(--transicion-rapida);
	white-space: nowrap;
	line-height: 1.3;
	font-family: var(--fuente-texto);
}

.selector-dia__boton:hover {
	color: var(--color-cobalto);
	border-color: var(--color-borde);
}

.selector-dia__boton--activo {
	color: var(--color-blanco);
	background-color: var(--color-cobalto);
	border-color: var(--color-cobalto);
}

.selector-dia__boton--activo .selector-dia__fecha {
	color: rgba(255, 255, 255, 0.8);
}

.selector-dia__fecha {
	font-size: 1.2rem;
	font-weight: 400;
}

/* Filtro de categoría */
.filtro-categoria {
	display: flex;
	gap: var(--espacio-xs);
	flex-wrap: wrap;
}

.filtro-categoria__pildora {
	padding: var(--espacio-xs) var(--espacio-md);
	border-radius: 10rem;
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--color-texto-secundario);
	background-color: var(--color-superficie-alta);
	border: 1px solid var(--color-borde);
	cursor: pointer;
	transition: var(--transicion-rapida);
	white-space: nowrap;
	font-family: var(--fuente-texto);
}

.filtro-categoria__pildora:hover {
	color: var(--color-cobalto);
	border-color: var(--color-cobalto);
}

.filtro-categoria__pildora--activa {
	color: var(--color-blanco);
	background-color: var(--color-cobalto);
	border-color: var(--color-cobalto);
}

/* ==========================================================================
   Sección de contenido del menú
   ========================================================================== */

.menu-seccion {
	padding: var(--espacio-xl) 0 var(--espacio-seccion);
}

.menu-seccion__contenedor {
	max-width: var(--ancho-maximo);
	margin: 0 auto;
	padding: 0 var(--espacio-lg);
}

.menu-categoria {
	margin-bottom: var(--espacio-xxl);
}

.menu-categoria__titulo {
	font-size: 2rem;
	font-weight: 700;
	color: var(--color-cobalto);
	padding-bottom: var(--espacio-sm);
	border-bottom: 0.2rem solid var(--color-cobre);
	margin-bottom: var(--espacio-lg);
	display: inline-block;
}

.menu-cuadricula {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--espacio-md);
}

/* Tarjeta de plato individual (sin foto, layout horizontal) */
.tarjeta-plato--lista {
	flex-direction: row;
}

.tarjeta-plato--lista .tarjeta-plato__contenido {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--espacio-md);
	flex-wrap: wrap;
}

.tarjeta-plato--lista .tarjeta-plato__nombre {
	font-size: 1.7rem;
	flex: 1;
	min-width: 14rem;
	margin-bottom: 0;
}

.tarjeta-plato--lista .tarjeta-plato__descripcion {
	flex: 2;
	min-width: 18rem;
	font-size: 1.4rem;
}

.tarjeta-plato__pie {
	display: flex;
	align-items: center;
	gap: var(--espacio-md);
	flex-shrink: 0;
}

.tarjeta-plato__precio {
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--color-cobalto);
	white-space: nowrap;
}

.tarjeta-plato__disponible {
	display: block;
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--color-texto-secundario);
	margin-top: .5rem;
}

.tarjeta-plato__disponible--pocas {
	color: #d35400;
}

.tarjeta-plato__boton-anadir {
	display: inline-block;
	background-color: var(--color-cobre);
	color: var(--color-blanco);
	font-size: 1.2rem;
	font-weight: 600;
	font-family: inherit;
	letter-spacing: 0.05em;
	border: none;
	border-radius: var(--radio-borde);
	padding: var(--espacio-xs) var(--espacio-md);
	white-space: nowrap;
	cursor: pointer;
	transition: opacity var(--transicion-rapida);
}

.tarjeta-plato__boton-anadir:hover,
.tarjeta-plato__boton-anadir:focus-visible {
	opacity: 0.85;
}

/* Tarjeta de Menú (combinado) */
.tarjeta-menu {
	background-color: var(--color-superficie);
	border: 1px solid var(--color-borde);
	border-left: 0.4rem solid var(--color-cobalto);
	border-radius: var(--radio-borde-grande);
	padding: var(--espacio-md) var(--espacio-lg);
	display: flex;
	flex-direction: column;
	gap: var(--espacio-sm);
	box-shadow: 0 0.4rem 1.2rem rgba(0, 50, 125, 0.05);
	transition: box-shadow var(--transicion-rapida), transform var(--transicion-rapida);
}

.tarjeta-menu:hover {
	box-shadow: 0 0.8rem 2rem rgba(0, 50, 125, 0.1);
	transform: translateY(-0.2rem);
}

.tarjeta-menu__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--espacio-md);
	flex-wrap: wrap;
}

.tarjeta-menu__nombre {
	font-size: 1.9rem;
	font-weight: 700;
	color: var(--color-texto);
	font-family: var(--fuente-titulares);
}

.tarjeta-menu__precio {
	font-size: 2.2rem;
	font-weight: 700;
	color: var(--color-cobalto);
	white-space: nowrap;
}

.tarjeta-menu__incluye {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: var(--espacio-xs) var(--espacio-md);
}

.tarjeta-menu__incluye li {
	font-size: 1.3rem;
	color: var(--color-texto-secundario);
	padding-left: 1.2rem;
	position: relative;
}

.tarjeta-menu__incluye li::before {
	content: "·";
	position: absolute;
	left: 0;
	color: var(--color-cobre);
	font-weight: 700;
}

.tarjeta-menu__pie {
	display: flex;
	justify-content: flex-end;
	margin-top: var(--espacio-xs);
}

/* Tarjeta de complemento */
.tarjeta-complemento {
	background-color: var(--color-superficie);
	border: 1px solid var(--color-borde);
	border-radius: var(--radio-borde-grande);
	padding: var(--espacio-md);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--espacio-md);
	box-shadow: 0 0.2rem 0.6rem rgba(0, 50, 125, 0.04);
}

.tarjeta-complemento__nombre {
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--color-texto);
}

.tarjeta-complemento__descripcion {
	font-size: 1.3rem;
	color: var(--color-texto-secundario);
}

.tarjeta-complemento__derecha {
	display: flex;
	align-items: center;
	gap: var(--espacio-md);
	flex-shrink: 0;
}

.tarjeta-complemento__precio {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--color-cobalto);
	white-space: nowrap;
}

.tarjeta-complemento__disponible {
	display: block;
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--color-texto-secundario);
	margin-top: .4rem;
}

.tarjeta-complemento__disponible--pocas {
	color: #d35400;
}

/* ==========================================================================
   Aviso de inicio de sesión
   ========================================================================== */

.aviso-login {
	background-color: rgba(0, 50, 125, 0.05);
	border-top: 1px solid var(--color-borde);
	padding: var(--espacio-xl) var(--espacio-lg);
}

.aviso-login__contenedor {
	max-width: var(--ancho-maximo);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--espacio-lg);
	flex-wrap: wrap;
	text-align: center;
}

.aviso-login__texto {
	font-size: 1.6rem;
	color: var(--color-texto-secundario);
}

.aviso-login__enlace {
	color: var(--color-cobalto);
	font-weight: 600;
	text-decoration: underline;
	transition: color var(--transicion-rapida);
}

.aviso-login__enlace:hover {
	color: var(--color-cobre);
}

.aviso-login__boton {
	display: inline-block;
	background-color: var(--color-cobalto);
	color: var(--color-blanco);
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	border-radius: var(--radio-borde);
	padding: var(--espacio-sm) var(--espacio-xl);
	transition: opacity var(--transicion-rapida);
}

.aviso-login__boton:hover {
	opacity: 0.9;
}

/* ==========================================================================
   Responsive — Menú Diario
   ========================================================================== */

@media (min-width: 769px) {
	.menu-cuadricula {
		grid-template-columns: 1fr 1fr;
	}

	.menu-cuadricula--menus,
	.menu-cuadricula--complementos {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.pagina-cabecera {
		margin-top: 0;
		padding-top: calc(7rem + var(--espacio-xl));
	}

	.menu-controles {
		top: 0;
		position: static;
	}

	.tarjeta-plato--lista .tarjeta-plato__contenido {
		flex-direction: column;
		align-items: flex-start;
	}

	.tarjeta-plato__pie {
		width: 100%;
		justify-content: space-between;
	}
}

/* ==========================================================================
   Foto en miniatura (tarjetas de lista del menú diario)
   ========================================================================== */

.tarjeta-plato__foto-mini {
	width: 9rem;
	min-width: 9rem;
	flex-shrink: 0;
	overflow: hidden;
}

.tarjeta-plato__foto-mini .marcador-foto {
	min-height: 0;
	height: 100%;
}

.tarjeta-plato__info {
	flex: 1;
	min-width: 0;
}

.tarjeta-complemento__foto-mini {
	width: 6.4rem;
	min-width: 6.4rem;
	height: 6.4rem;
	flex-shrink: 0;
	border-radius: var(--radio-borde);
	overflow: hidden;
}

.tarjeta-complemento__foto-mini .marcador-foto {
	min-height: 0;
	height: 100%;
}

.tarjeta-complemento__info {
	flex: 1;
	min-width: 0;
}

/* ==========================================================================
   Alérgenos
   ========================================================================== */

.tarjeta-plato__alergenos {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: var(--espacio-sm);
}

.alergeno-etiqueta {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--color-texto-secundario);
	background-color: var(--color-superficie-alta);
	border: 1px solid var(--color-borde);
	border-radius: var(--radio-borde);
	padding: 0.2rem 0.6rem;
	white-space: nowrap;
	font-family: var(--fuente-texto);
}

.alergeno-etiqueta--ninguno {
	background-color: transparent;
	border-style: dashed;
	opacity: 0.55;
}

.tarjeta-menu__nota-alergenos {
	font-size: 1.2rem;
	color: var(--color-texto-secundario);
	font-style: italic;
	margin-top: var(--espacio-xs);
}

@media (max-width: 768px) {
	.tarjeta-plato__foto-mini {
		width: 7rem;
		min-width: 7rem;
	}
}

/* ==========================================================================
   Panel de administración
   ========================================================================== */

.admin-cabecera {
	background: var(--color-superficie);
	border-bottom: 1px solid var(--color-borde);
	padding: 1.6rem 3.2rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.admin-cabecera h1 { font-size: 2rem; margin: 0; }
.admin-cabecera a  { font-size: 1.4rem; color: var(--color-texto-secundario); text-decoration: none; }
.admin-cabecera a:hover { color: var(--color-acento); }

.admin-nav {
	background: var(--color-superficie);
	border-bottom: 1px solid var(--color-borde);
	padding: 0 3.2rem;
	display: flex;
	gap: 0;
	align-items: stretch;
}
.admin-nav__enlace {
	display: flex;
	align-items: center;
	padding: 1.2rem 1.6rem;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--color-texto-secundario);
	text-decoration: none;
	border-bottom: 3px solid transparent;
	white-space: nowrap;
}
.admin-nav__enlace:hover,
.admin-nav__enlace.activo {
	color: var(--color-acento);
	border-bottom-color: var(--color-acento);
}
.admin-nav__grupo {
	display: flex;
	align-items: center;
}
.admin-nav__grupo .admin-nav__enlace {
	padding-right: .4rem;
}
.admin-nav__nuevo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--color-acento);
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	margin-right: 1.2rem;
	flex-shrink: 0;
	opacity: .7;
	transition: opacity .2s;
}
.admin-nav__nuevo:hover { opacity: 1; }

/* Estados del contenedor dinámico de oferta */
.oferta-cargando,
.oferta-vacia,
.oferta-error {
	text-align: center;
	padding: 6rem 2rem;
	font-size: 1.6rem;
	color: var(--color-texto-secundario);
}
.oferta-cargando::before { content: "⏳ "; }
.oferta-vacia::before    { content: "📋 "; }
.oferta-error            { color: #c0392b; }
.oferta-error::before    { content: "⚠️ "; }

/* ==========================================================================
   Lightbox de fotos de platos / complementos
   ========================================================================== */

.tarjeta-plato__foto-mini img,
.tarjeta-complemento__foto-mini img { cursor: zoom-in; }

.lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	opacity: 0;
	pointer-events: none;
	transition: opacity .22s ease;
}

.lightbox--abierto {
	opacity: 1;
	pointer-events: auto;
}

.lightbox__fondo {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .80);
	cursor: pointer;
}

.lightbox__caja {
	position: relative;
	z-index: 1;
	background: var(--color-superficie, #fff);
	border-radius: 1.2rem;
	overflow: hidden;
	max-width: min(90vw, 72rem);
	max-height: 92vh;
	display: flex;
	flex-direction: column;
	box-shadow: 0 2.4rem 6rem rgba(0, 0, 0, .55);
	transform: scale(.95);
	transition: transform .22s ease;
}

.lightbox--abierto .lightbox__caja {
	transform: scale(1);
}

.lightbox__img {
	display: block;
	width: 100%;
	max-height: 80vh;
	object-fit: contain;
	background: #111;
}

.lightbox__caption {
	margin: 0;
	padding: 1.2rem 2rem;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	color: var(--color-texto);
	border-top: 1px solid var(--color-borde);
}

.lightbox__caption[hidden] { display: none; }

.lightbox__cerrar {
	position: absolute;
	top: .8rem;
	right: .8rem;
	z-index: 2;
	background: rgba(0, 0, 0, .55);
	color: #fff;
	border: none;
	border-radius: 50%;
	width: 3.4rem;
	height: 3.4rem;
	font-size: 2.2rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s;
}

.lightbox__cerrar:hover { background: rgba(0, 0, 0, .8); }

/* ==========================================================================
   Modal de selección de menú
   ========================================================================== */

.tarjeta-menu__composicion {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--color-cobalto);
	background: rgba(0, 50, 125, .06);
	border-radius: .5rem;
	padding: .5rem 1rem;
	margin: 0 0 1.2rem;
	display: inline-block;
}

.tarjeta-menu__btn-seleccionar {
	border: none;
	cursor: pointer;
	font-family: inherit;
}

.modal-menu {
	position: fixed;
	inset: 0;
	z-index: 9998;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	opacity: 0;
	pointer-events: none;
	transition: opacity .22s ease;
}

.modal-menu--abierto {
	opacity: 1;
	pointer-events: auto;
}

.modal-menu__fondo {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .65);
	cursor: pointer;
}

.modal-menu__caja {
	position: relative;
	z-index: 1;
	background: var(--color-superficie, #fff);
	border-radius: 1.2rem;
	width: min(92vw, 54rem);
	max-height: 90vh;
	display: flex;
	flex-direction: column;
	box-shadow: 0 2.4rem 6rem rgba(0, 0, 0, .45);
	transform: scale(.96);
	transition: transform .22s ease;
}

.modal-menu--abierto .modal-menu__caja {
	transform: scale(1);
}

.modal-menu__cabecera {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.6rem;
	padding: 2rem 2.4rem;
	border-bottom: 1px solid var(--color-borde);
	flex-shrink: 0;
}

.modal-menu__titulo {
	font-size: 2rem;
	font-weight: 700;
	margin: 0 0 .3rem;
	color: var(--color-cobalto);
}

.modal-menu__precio-cabecera {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--color-cobre);
	margin: 0;
}

.modal-menu__cerrar {
	background: none;
	border: none;
	font-size: 2.6rem;
	line-height: 1;
	cursor: pointer;
	color: var(--color-texto-secundario);
	padding: 0;
	flex-shrink: 0;
}

.modal-menu__cerrar:hover { color: var(--color-texto); }

.modal-menu__cuerpo {
	overflow-y: auto;
	flex: 1;
	padding: 2rem 2.4rem;
	display: flex;
	flex-direction: column;
	gap: 2.4rem;
}

.modal-menu__grupo-titulo {
	font-size: 1.3rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--color-texto-secundario);
	margin: 0 0 1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.modal-menu__contador {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--color-acento);
}

.modal-menu__lista {
	display: flex;
	flex-direction: column;
	gap: .6rem;
}

.modal-menu__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.1rem 1.4rem;
	border: 2px solid var(--color-borde);
	border-radius: .8rem;
	cursor: pointer;
	transition: border-color .15s, background .15s;
	user-select: none;
}

.modal-menu__item:hover {
	border-color: var(--color-acento);
}

.modal-menu__item--seleccionado {
	border-color: var(--color-acento);
	background: color-mix(in srgb, var(--color-acento) 8%, transparent);
}

.modal-menu__item--desactivado {
	opacity: .35;
	cursor: not-allowed;
	pointer-events: none;
}

.modal-menu__item-nombre {
	flex: 1;
	font-size: 1.4rem;
	font-weight: 600;
}

.modal-menu__item-cat {
	font-size: 1.2rem;
	color: var(--color-texto-secundario);
	white-space: nowrap;
}

.modal-menu__vacio {
	font-size: 1.4rem;
	color: var(--color-texto-secundario);
	margin: 0;
}

.modal-menu__pie {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.6rem;
	padding: 1.6rem 2.4rem;
	border-top: 1px solid var(--color-borde);
	flex-shrink: 0;
}

.modal-menu__aviso {
	font-size: 1.3rem;
	color: var(--color-texto-secundario);
}

.modal-menu__btn-confirmar {
	background: var(--color-cobre);
	color: #fff;
	border: none;
	border-radius: var(--radio-boton);
	padding: 1rem 2.4rem;
	font-size: 1.5rem;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
	white-space: nowrap;
	transition: opacity .15s;
}

.modal-menu__btn-confirmar:disabled {
	opacity: .4;
	cursor: not-allowed;
}

.modal-menu__btn-confirmar:not(:disabled):hover { opacity: .85; }

/* Badges de categoría de platos (panel admin) */
.badge-cat {
	display: inline-block;
	padding: .4rem 1.2rem;
	border-radius: 99px;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: .03em;
}
.badge-cat--primero { background: #d4edda; color: #155724; }
.badge-cat--segundo { background: #fff3cd; color: #856404; }
.badge-cat--postre  { background: #e8d5f5; color: #5b2d8e; }

/* Wrapper de ítems — horizontal en escritorio */
.admin-nav__items {
	display: flex;
	align-items: stretch;
	flex: 1;
}

/* Hamburguesa — oculta en escritorio */
.admin-nav__hamburguesa {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 1.2rem;
	margin-left: auto;
	flex-direction: column;
	gap: .5rem;
}
.admin-nav__hamburguesa span {
	display: block;
	width: 2.2rem;
	height: .2rem;
	background: var(--color-texto-secundario);
	border-radius: 2px;
	transition: transform .25s, opacity .25s;
}

/* Estado abierto */
.admin-nav--abierto .admin-nav__hamburguesa span:nth-child(1) {
	transform: translateY(.7rem) rotate(45deg);
}
.admin-nav--abierto .admin-nav__hamburguesa span:nth-child(2) {
	opacity: 0;
}
.admin-nav--abierto .admin-nav__hamburguesa span:nth-child(3) {
	transform: translateY(-.7rem) rotate(-45deg);
}

@media (max-width: 700px) {
	.admin-nav {
		flex-wrap: wrap;
		padding: 0 1.6rem;
		position: relative;
	}
	.admin-nav__hamburguesa {
		display: flex;
	}
	/* Título de la cabecera de la barra (ocupa el ancho hasta el botón) */
	.admin-nav__items {
		width: 100%;
		display: none;
		flex-direction: column;
		border-top: 1px solid var(--color-borde);
		padding: .8rem 0;
	}
	.admin-nav--abierto .admin-nav__items {
		display: flex;
	}
	.admin-nav__enlace {
		border-bottom: none;
		border-left: 3px solid transparent;
		padding: 1rem 1.6rem;
	}
	.admin-nav__enlace:hover,
	.admin-nav__enlace.activo {
		border-bottom-color: transparent;
		border-left-color: var(--color-acento);
		background: var(--color-fondo);
	}
	.admin-nav__grupo {
		align-items: center;
	}
	.admin-nav__grupo .admin-nav__enlace {
		flex: 1;
		padding-right: .4rem;
	}
	.admin-nav__nuevo {
		margin-right: 1.6rem;
	}
}

/* ==========================================================================
   Cabecera cliente logueado
   ========================================================================== */
.cabecera__cliente {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.cabecera__cliente-saludo {
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--color-texto);
	white-space: nowrap;
}
.cabecera__cliente-cuenta {
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--color-cobalto);
	text-decoration: none;
	white-space: nowrap;
}
.cabecera__cliente-cuenta:hover {
	text-decoration: underline;
}
.cabecera__cliente-salir {
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--color-texto-secundario);
	text-decoration: none;
	border: 1px solid var(--color-borde);
	border-radius: var(--radio-boton);
	padding: .4rem 1rem;
	white-space: nowrap;
	transition: border-color .2s, color .2s;
}
.cabecera__cliente-salir:hover {
	border-color: var(--color-cobalto);
	color: var(--color-cobalto);
}

/* Versión dentro del menú móvil: oculta en escritorio */
.cabecera__cliente--movil {
	display: none;
}

@media (max-width: 930px) {
	.cabecera__cliente--movil {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: .6rem;
		padding: 1.2rem 2rem;
		border-top: 1px solid var(--color-borde);
		margin-top: .8rem;
	}
	.cabecera__cliente--movil .cabecera__cliente-saludo {
		font-size: 1.5rem;
	}
	.cabecera__cliente--movil .cabecera__cliente-salir {
		font-size: 1.4rem;
	}
}

/* ==========================================================================
   Toast de carrito
   ========================================================================== */
.carrito-toast {
	position: fixed;
	bottom: 2.8rem;
	left: 50%;
	transform: translateX(-50%) translateY(.8rem);
	background: var(--color-cobalto);
	color: #fff;
	padding: 1rem 2.4rem;
	border-radius: var(--radio-boton);
	font-size: 1.4rem;
	font-weight: 600;
	z-index: 9000;
	opacity: 0;
	transition: opacity .22s, transform .22s;
	pointer-events: none;
	white-space: nowrap;
	box-shadow: 0 4px 16px rgba(0,0,0,.18);
}
.carrito-toast--visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* ==========================================================================
   Página carrito
   ========================================================================== */
.carrito-pagina {
	max-width: 110rem;
	margin: 0 auto;
	padding: 4rem 2.4rem 6rem;
	display: grid;
	grid-template-columns: 1fr 32rem;
	gap: 3.2rem;
	align-items: start;
}
.carrito-pagina__volver {
	display: block;
	width: 100%;
	margin-top: 1rem;
	text-align: center;
	font-size: 1.4rem;
	color: var(--color-cobalto);
	text-decoration: none;
}
.carrito-pagina__volver:hover { text-decoration: underline; }

.carrito-pagina__titulo {
	font-family: 'Raleway', sans-serif;
	font-size: 2.8rem;
	font-weight: 700;
	color: var(--color-cobalto);
	margin: 0 0 2.4rem;
	grid-column: 1 / -1;
}
.carrito-lista { display: flex; flex-direction: column; gap: 1.6rem; }

.carrito-item {
	display: grid;
	grid-template-columns: 6.4rem 1fr auto;
	gap: 1.6rem;
	align-items: start;
	background: var(--color-superficie);
	border-radius: var(--radio-tarjeta);
	box-shadow: var(--sombra-tarjeta);
	padding: 1.8rem 2rem;
}
.carrito-item__foto {
	width: 6.4rem;
	height: 6.4rem;
	border-radius: .8rem;
	overflow: hidden;
	background: var(--color-fondo);
	flex-shrink: 0;
}
.carrito-item__foto img { width: 100%; height: 100%; object-fit: cover; }
.carrito-item__foto-vacia {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.4rem;
	color: var(--color-borde);
}
.carrito-item__info { min-width: 0; }
.carrito-item__nombre {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--color-texto);
	margin: 0 0 .4rem;
}
.carrito-item__tipo {
	font-size: 1.2rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--color-cobre);
	margin: 0 0 .6rem;
}
.carrito-item__fecha {
	font-size: 1.2rem;
	color: var(--color-texto-secundario);
	margin: 0 0 .6rem;
}
.carrito-item__seleccionados {
	list-style: none;
	padding: 0;
	margin: .4rem 0 0;
}
.carrito-item__seleccionados li {
	font-size: 1.3rem;
	color: var(--color-texto-secundario);
	padding: .15rem 0;
}
.carrito-item__seleccionados li::before {
	content: "→ ";
	color: var(--color-cobalto);
}
.carrito-item__acciones {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 1rem;
	flex-shrink: 0;
}
.carrito-item__precio {
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--color-acento);
}
.carrito-item__cantidad {
	display: flex;
	align-items: center;
	gap: .6rem;
}
.carrito-item__cantidad button {
	width: 2.8rem;
	height: 2.8rem;
	border: 1px solid var(--color-borde);
	border-radius: .6rem;
	background: var(--color-fondo);
	font-size: 1.6rem;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-texto);
	transition: border-color .15s;
}
.carrito-item__cantidad button:hover { border-color: var(--color-cobalto); }
.carrito-item__cantidad span {
	min-width: 2.2rem;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 600;
}
.carrito-item__eliminar {
	background: none;
	border: none;
	color: var(--color-texto-secundario);
	font-size: 1.3rem;
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
}
.carrito-item__eliminar:hover { color: #c0392b; }

/* Menús no permiten cambiar cantidad (cada selección es única) */
.carrito-item--menu .carrito-item__cantidad { display: none; }

.carrito-vacio {
	grid-column: 1 / -1;
	text-align: center;
	padding: 6rem 2rem;
}
.carrito-vacio__icono { font-size: 5.6rem; margin-bottom: 1.6rem; }
.carrito-vacio__titulo {
	font-family: 'Raleway', sans-serif;
	font-size: 2.2rem;
	font-weight: 700;
	color: var(--color-cobalto);
	margin: 0 0 .8rem;
}
.carrito-vacio__texto {
	font-size: 1.5rem;
	color: var(--color-texto-secundario);
	margin: 0 0 2.4rem;
}

.carrito-resumen {
	background: var(--color-superficie);
	border-radius: var(--radio-tarjeta);
	box-shadow: var(--sombra-tarjeta);
	padding: 2.4rem;
	position: sticky;
	top: 10rem;
}
.carrito-resumen__titulo {
	font-family: 'Raleway', sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0 0 2rem;
	color: var(--color-cobalto);
}
.carrito-resumen__fila {
	display: flex;
	justify-content: space-between;
	font-size: 1.4rem;
	color: var(--color-texto-secundario);
	margin-bottom: .8rem;
}
.carrito-resumen__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-weight: 700;
	font-size: 1.8rem;
	color: var(--color-texto);
	border-top: 1px solid var(--color-borde);
	padding-top: 1.2rem;
	margin-top: 1.2rem;
	margin-bottom: 2rem;
}
.carrito-resumen__total span:last-child { color: var(--color-acento); font-size: 2.2rem; }
.carrito-resumen__btn-confirmar {
	display: block;
	width: 100%;
	padding: 1.4rem;
	background: var(--color-cobre);
	color: #fff;
	border: none;
	border-radius: var(--radio-boton);
	font-family: 'Raleway', sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	cursor: pointer;
	transition: opacity .2s;
	text-align: center;
}
.carrito-resumen__btn-confirmar:hover:not(:disabled) { opacity: .88; }
.carrito-resumen__btn-confirmar:disabled { opacity: .45; cursor: not-allowed; }
.carrito-resumen__btn-vaciar {
	display: block;
	width: 100%;
	margin-top: 1.2rem;
	background: none;
	border: none;
	font-size: 1.3rem;
	color: var(--color-texto-secundario);
	cursor: pointer;
	text-decoration: underline;
}
.carrito-resumen__btn-vaciar:hover { color: #c0392b; }
.carrito-resumen__aviso-caducado {
	font-size: 1.3rem;
	color: #c0392b;
	margin-top: 1rem;
	text-align: center;
}

/* Artículos de días pasados en el carrito */
.carrito-item--caducado {
	opacity: .55;
	border-left: 3px solid #e74c3c;
}
.carrito-item__aviso-caducado {
	display: inline-block;
	font-size: 1.2rem;
	font-weight: 600;
	color: #c0392b;
	margin-bottom: .3rem;
}

/* Aviso de día pasado en el selector de menú diario */
.aviso-dia-pasado {
	background: #fdf0ee;
	border: 1px solid #e74c3c;
	border-radius: var(--radio-boton);
	color: #c0392b;
	font-size: 1.4rem;
	padding: 1.2rem 1.6rem;
	margin-bottom: 2.4rem;
}

@media (max-width: 930px) {
	.carrito-pagina {
		grid-template-columns: 1fr;
		padding: 2.4rem 1.6rem 4rem;
	}
	.carrito-resumen { position: static; }
	.carrito-item { grid-template-columns: 5.6rem 1fr; }
	.carrito-item__acciones { flex-direction: row; align-items: center; grid-column: 1 / -1; }
}
