/* Menú WhatsApp — Restaurantes
   Estilo visual «Sabor Vivo — fresco, moderno y animado».

   Se carga SOLO cuando este estilo está activo (Menú → Ajustes → Estilo visual)
   y se apoya en public.css: aquí solo se redefine lo que cambia.
   Todo va acotado a [data-rwa-theme="sabor_vivo"], así que los otros estilos
   no se ven afectados.

   Ajuste rápido: si tu tema de WordPress tiene un encabezado fijo, define
   --sv-sticky-top (por ejemplo 80px) para que la barra de búsqueda quede
   debajo de él al hacer scroll. */

/* =========================================================
   0. Variables propias del estilo
   ========================================================= */
[data-rwa-theme="sabor_vivo"] {
	--sv-leaf: #1B7F4E;
	--sv-line: color-mix(in srgb, var(--rwa-text) 11%, transparent);
	--sv-tint: color-mix(in srgb, var(--rwa-text) 7%, transparent);
	--sv-soft: color-mix(in srgb, var(--rwa-text) 5%, var(--rwa-surface));
	--sv-accent-ink: color-mix(in srgb, var(--rwa-accent) 82%, black);
	--sv-accent-wash: color-mix(in srgb, var(--rwa-accent) 11%, var(--rwa-surface));
	--sv-glow: color-mix(in srgb, var(--rwa-accent) 34%, transparent);
	--sv-shadow-1: 0 1px 2px color-mix(in srgb, var(--rwa-text) 8%, transparent),
		0 10px 28px -14px color-mix(in srgb, var(--rwa-text) 30%, transparent);
	--sv-shadow-2: 0 2px 4px color-mix(in srgb, var(--rwa-text) 8%, transparent),
		0 28px 50px -22px color-mix(in srgb, var(--rwa-text) 48%, transparent);
	--sv-out: cubic-bezier(.16, 1, .3, 1);
	--sv-spring: cubic-bezier(.34, 1.56, .64, 1);
	--sv-r-card: 26px;
	--sv-r-media: 18px;
	--sv-pad-x: clamp(14px, 4vw, 32px);
}

/* Los elementos con el atributo que cuelgan directamente de <body> (botón flotante,
   panel, aviso) no heredan el border-box de la hoja base, que solo cubre a sus hijos. */
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"],
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"],
.rwa-sv-toast[data-rwa-theme="sabor_vivo"] {
	box-sizing: border-box;
}

/* =========================================================
   1. Fondo de página completo y contenedores
   ========================================================= */
/* El fondo llega hasta los bordes de la pantalla sin generar scroll horizontal
   (box-shadow no cuenta como desbordamiento) y se quita el overflow:hidden
   base, que impediría que la barra de filtros quede fija al hacer scroll. */
.rwa-archive-page[data-rwa-theme="sabor_vivo"],
.rwa-cart-page[data-rwa-theme="sabor_vivo"],
.rwa-checkout-page[data-rwa-theme="sabor_vivo"],
.rwa-single-plato[data-rwa-theme="sabor_vivo"] {
	overflow: visible;
	box-shadow: 0 0 0 100vmax var(--rwa-bg);
	clip-path: inset(0 -100vmax);
}
.rwa-archive-page[data-rwa-theme="sabor_vivo"]::before,
.rwa-cart-page[data-rwa-theme="sabor_vivo"]::before,
.rwa-checkout-page[data-rwa-theme="sabor_vivo"]::before,
.rwa-single-plato[data-rwa-theme="sabor_vivo"]::before {
	display: none;
}

.rwa-archive-page[data-rwa-theme="sabor_vivo"] {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 var(--sv-pad-x) 6.5rem;
}

.rwa-menu-wrap[data-rwa-theme="sabor_vivo"] {
	overflow: visible;
	padding: clamp(14px, 3vw, 28px) clamp(14px, 3vw, 28px) 5.5rem;
	border-radius: 34px;
}
.rwa-archive-page[data-rwa-theme="sabor_vivo"] .rwa-menu-wrap[data-rwa-theme="sabor_vivo"] {
	padding: 0;
	border-radius: 0;
}

[data-rwa-theme="sabor_vivo"] h1,
[data-rwa-theme="sabor_vivo"] h2,
[data-rwa-theme="sabor_vivo"] h3 {
	font-weight: 800;
	letter-spacing: -.025em;
}
/* La hoja base parte las palabras «donde sea» si la columna se estrecha; aquí las palabras
   se mantienen enteras y solo se corta una cadena imposible de ajustar (overflow-wrap). */
[data-rwa-theme="sabor_vivo"] h1,
[data-rwa-theme="sabor_vivo"] h2,
[data-rwa-theme="sabor_vivo"] h3,
[data-rwa-theme="sabor_vivo"] p,
[data-rwa-theme="sabor_vivo"] a,
[data-rwa-theme="sabor_vivo"] span {
	word-break: normal;
}
[data-rwa-theme="sabor_vivo"] ::selection {
	background: var(--rwa-accent-2);
	color: #1a1a1a;
}
[data-rwa-theme="sabor_vivo"] a:focus-visible,
[data-rwa-theme="sabor_vivo"] button:focus-visible,
[data-rwa-theme="sabor_vivo"] input:focus-visible,
[data-rwa-theme="sabor_vivo"] select:focus-visible,
[data-rwa-theme="sabor_vivo"] textarea:focus-visible {
	outline: 3px solid var(--rwa-accent);
	outline-offset: 3px;
}

/* =========================================================
   2. Cabecera del menú (momento de entrada principal)
   ========================================================= */
[data-rwa-theme="sabor_vivo"] .rwa-archive-header {
	padding: clamp(1.6rem, 5vw, 3.4rem) 0 clamp(1rem, 2vw, 1.6rem);
}
[data-rwa-theme="sabor_vivo"] .rwa-archive-header h1 {
	font-size: clamp(2.4rem, 7vw, 4.2rem);
	line-height: 1;
	letter-spacing: -.04em;
	padding-bottom: .32em;
	margin: 0;
	animation: sv-title-in 1s var(--sv-out) backwards;
}
/* Subrayado ondulado que se «dibuja» con el color de acento. */
[data-rwa-theme="sabor_vivo"] .rwa-archive-header h1::after {
	width: 100%;
	height: 12px;
	bottom: 0;
	border-radius: 0;
	background: var(--rwa-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 6 Q6 0 12 6 T24 6' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 0 50% / 24px 12px repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 6 Q6 0 12 6 T24 6' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 0 50% / 24px 12px repeat-x;
	animation: sv-draw .9s .45s var(--sv-out) backwards;
}
[data-rwa-theme="sabor_vivo"] .rwa-menu-title {
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	letter-spacing: -.035em;
	margin-bottom: .8em;
}

/* Aviso de «cerrado ahora» */
[data-rwa-theme="sabor_vivo"] .rwa-closed-banner {
	background: color-mix(in srgb, var(--rwa-accent-2) 26%, var(--rwa-surface));
	border: 0;
	border-radius: 20px;
	padding: 14px 20px;
	font-weight: 600;
	color: var(--rwa-text);
	box-shadow: var(--sv-shadow-1);
}
[data-rwa-theme="sabor_vivo"] .rwa-closed-banner::before {
	content: '';
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--rwa-accent);
	box-shadow: 0 0 0 0 var(--sv-glow);
	animation: sv-pulse 2.2s ease-out infinite;
}

/* =========================================================
   3. Barra de búsqueda y categorías (fija al hacer scroll)
   ========================================================= */
[data-rwa-theme="sabor_vivo"] .rwa-menu-toolbar {
	position: sticky;
	top: var(--sv-sticky-top, 12px);
	z-index: 30;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 10px;
	padding: 10px;
	margin: 0 0 clamp(18px, 3vw, 30px);
	background: color-mix(in srgb, var(--rwa-surface) 90%, transparent);
	-webkit-backdrop-filter: blur(16px) saturate(1.5);
	backdrop-filter: blur(16px) saturate(1.5);
	border: 1px solid var(--sv-line);
	border-radius: 26px;
	box-shadow: var(--sv-shadow-1);
	animation: sv-rise .8s .15s var(--sv-out) backwards;
}
.admin-bar [data-rwa-theme="sabor_vivo"] .rwa-menu-toolbar {
	top: calc(var(--sv-sticky-top, 12px) + 32px);
}
@media (max-width: 782px) {
	.admin-bar [data-rwa-theme="sabor_vivo"] .rwa-menu-toolbar {
		top: calc(var(--sv-sticky-top, 12px) + 46px);
	}
}

[data-rwa-theme="sabor_vivo"] .rwa-menu-search,
[data-rwa-theme="sabor_vivo"] .rwa-filter-select,
[data-rwa-theme="sabor_vivo"] .rwa-order-select {
	height: 46px;
	border: 1.5px solid transparent;
	border-radius: 999px;
	background-color: var(--sv-soft);
	color: var(--rwa-text);
	font-size: 1rem; /* 16px: evita el zoom automático de iOS al enfocar */
	font-weight: 600;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .25s var(--sv-out);
}
[data-rwa-theme="sabor_vivo"] .rwa-menu-search {
	flex: 1 1 240px;
	padding: 0 18px 0 48px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23586E61' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 17px 50%;
	background-size: 20px;
}
[data-rwa-theme="sabor_vivo"] .rwa-menu-search::placeholder {
	color: var(--rwa-text-2);
	opacity: 1;
	font-weight: 500;
}
[data-rwa-theme="sabor_vivo"] .rwa-filter-select,
[data-rwa-theme="sabor_vivo"] .rwa-order-select {
	-webkit-appearance: none;
	appearance: none;
	padding: 0 42px 0 18px;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23586E61' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 16px;
}
[data-rwa-theme="sabor_vivo"] .rwa-filter-select option,
[data-rwa-theme="sabor_vivo"] .rwa-order-select option {
	color: #10291E;
	background: #fff;
}
[data-rwa-theme="sabor_vivo"] .rwa-menu-search:hover,
[data-rwa-theme="sabor_vivo"] .rwa-filter-select:hover,
[data-rwa-theme="sabor_vivo"] .rwa-order-select:hover {
	border-color: var(--sv-line);
}
[data-rwa-theme="sabor_vivo"] .rwa-menu-search:focus,
[data-rwa-theme="sabor_vivo"] .rwa-filter-select:focus,
[data-rwa-theme="sabor_vivo"] .rwa-order-select:focus {
	outline: none;
	background-color: var(--rwa-surface);
	border-color: var(--rwa-accent);
	box-shadow: 0 0 0 4px var(--sv-glow);
}
[data-rwa-theme="sabor_vivo"] .rwa-order-select.is-set {
	border-color: var(--rwa-accent);
	background-color: var(--sv-accent-wash);
}
[data-rwa-theme="sabor_vivo"] .rwa-menu-filters {
	flex: 0 0 auto;
	flex-wrap: nowrap;
	gap: 8px;
}
[data-rwa-theme="sabor_vivo"] .rwa-menu-filters .rwa-filter-select,
[data-rwa-theme="sabor_vivo"] .rwa-menu-filters .rwa-order-select {
	flex: 0 0 auto;
	max-width: 220px;
}

/* Categorías como chips (las crea theme-sabor-vivo.js a partir del selector).
   Si el JS no carga, el selector original sigue funcionando. */
[data-rwa-theme="sabor_vivo"] .rwa-sv-has-chips .rwa-filter-select[data-taxonomy="rwa_categoria"],
[data-rwa-theme="sabor_vivo"].rwa-sv-has-chips .rwa-filter-select[data-taxonomy="rwa_categoria"] {
	display: none;
}
[data-rwa-theme="sabor_vivo"] .rwa-sv-chips {
	position: relative;
	flex: 1 1 100%;
	display: flex;
	gap: 4px;
	padding: 3px;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
[data-rwa-theme="sabor_vivo"] .rwa-sv-chips::-webkit-scrollbar { display: none; }
[data-rwa-theme="sabor_vivo"] .rwa-sv-chips.has-more-right {
	-webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 34px), transparent);
	mask-image: linear-gradient(90deg, #000 calc(100% - 34px), transparent);
}
[data-rwa-theme="sabor_vivo"] .rwa-sv-chips.has-more-left {
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 34px);
	mask-image: linear-gradient(90deg, transparent, #000 34px);
}
[data-rwa-theme="sabor_vivo"] .rwa-sv-chips.has-more-left.has-more-right {
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 34px, #000 calc(100% - 34px), transparent);
	mask-image: linear-gradient(90deg, transparent, #000 34px, #000 calc(100% - 34px), transparent);
}
[data-rwa-theme="sabor_vivo"] .rwa-sv-chip {
	position: relative;
	z-index: 1;
	flex: 0 0 auto;
	margin: 0;
	padding: 12px 18px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--rwa-text);
	font-family: var(--rwa-font-body);
	font-size: .96rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transition: color .15s ease .1s, background-color .2s ease, transform .2s var(--sv-spring);
	-webkit-tap-highlight-color: transparent;
}
[data-rwa-theme="sabor_vivo"] .rwa-sv-chip:hover:not(.is-active) { background: var(--sv-tint); }
[data-rwa-theme="sabor_vivo"] .rwa-sv-chip:active { transform: scale(.94); }
[data-rwa-theme="sabor_vivo"] .rwa-sv-chip.is-active { color: #fff; }
/* Sin JS de deslizamiento, el chip activo se pinta solo. */
[data-rwa-theme="sabor_vivo"] .rwa-sv-chips:not(.has-glider) .rwa-sv-chip.is-active { background: var(--rwa-text); }
[data-rwa-theme="sabor_vivo"] .rwa-sv-glider {
	position: absolute;
	z-index: 0;
	top: 3px;
	bottom: 3px;
	left: 0;
	width: 0;
	border-radius: 999px;
	background: var(--rwa-text);
	transition: transform .5s var(--sv-spring), width .5s var(--sv-spring);
	pointer-events: none;
	will-change: transform;
}

@media (max-width: 560px) {
	[data-rwa-theme="sabor_vivo"] .rwa-menu-toolbar {
		flex-direction: row;
		align-items: center;
		padding: 8px;
		border-radius: 24px;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-menu-search {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-menu-filters {
		width: auto;
		flex: 0 0 auto;
	}
	/* «Ordenar» pasa a ser un botón con icono para no ocupar ancho. */
	[data-rwa-theme="sabor_vivo"] .rwa-order-select {
		width: 46px;
		flex: 0 0 46px;
		padding: 0;
		color: transparent;
		background-position: center;
		background-size: 22px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%2310291E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h10M4 12h7M4 17h4'/%3E%3Cpath d='m17 8 3 3-3 3M20 11h-.01'/%3E%3Cpath d='M18 5v14'/%3E%3C/svg%3E");
	}
	/* En pantallas estrechas los selectores de etiqueta ocupan su propia fila. */
	[data-rwa-theme="sabor_vivo"] .rwa-menu-filters .rwa-filter-select {
		flex: 1 1 100%;
		max-width: 100%;
	}
}

/* =========================================================
   4. Tarjetas de platos
   ========================================================= */
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid {
	gap: clamp(14px, 2vw, 22px);
	opacity: 1 !important; /* la carga se indica con .is-loading, no con opacidad en línea */
}
[data-rwa-theme="sabor_vivo"] .rwa-plato-card {
	container: sv-card / inline-size;
	padding: 10px;
	gap: 14px;
	border: 0;
	border-radius: var(--sv-r-card);
	background: var(--rwa-surface);
	box-shadow: var(--sv-shadow-1);
	transition: transform .45s var(--sv-out), box-shadow .45s var(--sv-out);
	animation: sv-card-in .8s var(--sv-out) backwards;
	animation-delay: calc(var(--i, 0) * 60ms + 120ms);
}
/* Entrada escalonada: cada tarjeta llega un instante después de la anterior. */
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid > .rwa-plato-card:nth-child(1)  { --i: 0; }
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid > .rwa-plato-card:nth-child(2)  { --i: 1; }
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid > .rwa-plato-card:nth-child(3)  { --i: 2; }
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid > .rwa-plato-card:nth-child(4)  { --i: 3; }
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid > .rwa-plato-card:nth-child(5)  { --i: 4; }
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid > .rwa-plato-card:nth-child(6)  { --i: 5; }
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid > .rwa-plato-card:nth-child(7)  { --i: 6; }
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid > .rwa-plato-card:nth-child(8)  { --i: 7; }
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid > .rwa-plato-card:nth-child(n+9) { --i: 8; }

@media (hover: hover) {
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card:hover {
		transform: translateY(-6px);
		box-shadow: var(--sv-shadow-2);
		border-color: transparent;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-menu-grid.rwa-view-list .rwa-plato-card:hover {
		transform: translateY(-3px);
	}
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card:hover .rwa-plato-card-media img {
		transform: scale(1.07);
	}
}

@media (hover: none) {
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card:hover,
	[data-rwa-theme="sabor_vivo"] .rwa-menu-grid.rwa-view-list .rwa-plato-card:hover {
		transform: none;
		box-shadow: var(--sv-shadow-1);
	}
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card:hover .rwa-plato-card-media img { transform: none; }
}

[data-rwa-theme="sabor_vivo"] .rwa-plato-card-media {
	border-radius: var(--sv-r-media);
	background: color-mix(in srgb, var(--rwa-accent-2) 24%, var(--rwa-surface));
	-webkit-tap-highlight-color: transparent;
}
[data-rwa-theme="sabor_vivo"] .rwa-plato-card-media::after { display: none; }
[data-rwa-theme="sabor_vivo"] .rwa-plato-card-media img {
	transition: transform .9s var(--sv-out), filter .5s ease;
}
[data-rwa-theme="sabor_vivo"] .rwa-plato-card-media-empty {
	font-size: 3rem;
	filter: none;
}

[data-rwa-theme="sabor_vivo"] .rwa-plato-badges { top: 10px; left: 10px; gap: 6px; }
[data-rwa-theme="sabor_vivo"] .rwa-badge {
	background: rgb(255 255 255 / .94);
	color: var(--rwa-text);
	padding: .42em .8em;
	font-size: .76rem;
	font-weight: 700;
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: 0 4px 12px -4px color-mix(in srgb, var(--rwa-text) 40%, transparent);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
[data-rwa-theme="sabor_vivo"] .rwa-badge-promo,
[data-rwa-theme="sabor_vivo"] .rwa-badge-mas_pedido {
	background: var(--rwa-accent);
	color: #fff;
}
[data-rwa-theme="sabor_vivo"] .rwa-badge-nuevo { background: var(--rwa-accent-2); color: #1a1a1a; }
[data-rwa-theme="sabor_vivo"] .rwa-badge-recomendado { background: var(--sv-leaf); color: #fff; }

[data-rwa-theme="sabor_vivo"] .rwa-plato-agotado-overlay {
	background: color-mix(in srgb, var(--rwa-surface) 62%, transparent);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	color: var(--rwa-text);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -.01em;
	text-transform: none;
}
[data-rwa-theme="sabor_vivo"] .rwa-plato-card.is-agotado .rwa-plato-card-media img {
	filter: grayscale(.85) brightness(.95);
}

[data-rwa-theme="sabor_vivo"] .rwa-plato-card-body {
	padding: 4px 8px 8px;
	gap: 6px;
}
[data-rwa-theme="sabor_vivo"] .rwa-plato-card-title {
	font-size: 1.16rem;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -.02em;
}
[data-rwa-theme="sabor_vivo"] .rwa-plato-card-title a:hover { color: var(--sv-accent-ink); }
[data-rwa-theme="sabor_vivo"] .rwa-plato-card-excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: .93rem;
	line-height: 1.45;
}
[data-rwa-theme="sabor_vivo"] .rwa-plato-card-detail {
	margin-top: 2px;
	padding: 9px 14px;
	font-size: .82rem;
	border-width: 1.5px;
	border-color: var(--sv-line);
	color: var(--rwa-text-2);
}
[data-rwa-theme="sabor_vivo"] .rwa-plato-card-detail:hover {
	border-color: var(--rwa-accent);
	background: var(--sv-accent-wash);
	color: var(--sv-accent-ink);
}
[data-rwa-theme="sabor_vivo"] .rwa-plato-card-footer { padding-top: 10px; gap: 10px; }
[data-rwa-theme="sabor_vivo"] .rwa-price-current {
	font-family: var(--rwa-font-display);
	font-weight: 800;
	font-size: 1.32rem;
	line-height: 1.1;
	letter-spacing: -.025em;
}
[data-rwa-theme="sabor_vivo"] .rwa-price-regular { font-size: .82rem; font-weight: 600; }
[data-rwa-theme="sabor_vivo"] .rwa-plato-price:has(.rwa-price-regular) .rwa-price-current {
	color: var(--sv-accent-ink);
}

/* ---- Botón «Añadir» ---- */
[data-rwa-theme="sabor_vivo"] .rwa-btn-add-to-cart {
	position: relative;
	overflow: hidden;
	min-height: 42px;
	padding: 6px 18px 6px 6px;
	gap: 8px;
	border-radius: 999px;
	background: var(--sv-accent-wash);
	color: var(--sv-accent-ink);
	font-size: .95rem;
	font-weight: 800;
	box-shadow: none;
	transition: background-color .25s ease, color .25s ease, transform .3s var(--sv-spring), box-shadow .3s var(--sv-out);
	-webkit-tap-highlight-color: transparent;
}
[data-rwa-theme="sabor_vivo"] .rwa-btn-add-to-cart > span[aria-hidden="true"] {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--rwa-accent);
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	transition: transform .5s var(--sv-spring), background-color .25s ease;
}
@media (hover: hover) {
	[data-rwa-theme="sabor_vivo"] .rwa-btn-add-to-cart:not(.rwa-btn-large):hover {
		background: var(--rwa-accent);
		color: #fff;
		transform: translateY(-1px);
		box-shadow: 0 10px 20px -8px var(--sv-glow);
		filter: none;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-btn-add-to-cart:not(.rwa-btn-large):hover > span[aria-hidden="true"] {
		background: rgb(255 255 255 / .24);
		transform: rotate(90deg);
	}
}
@media (hover: none) {
	/* La hoja base aplica :hover también al tocar; en pantallas táctiles queda «pegado». */
	[data-rwa-theme="sabor_vivo"] .rwa-btn-add-to-cart:not(.rwa-btn-large):hover {
		background: var(--sv-accent-wash);
		color: var(--sv-accent-ink);
		transform: none;
		box-shadow: none;
		filter: none;
	}
}
[data-rwa-theme="sabor_vivo"] .rwa-btn-add-to-cart:not(.rwa-btn-large):active {
	background: var(--rwa-accent);
	color: #fff;
	transform: scale(.94);
}
[data-rwa-theme="sabor_vivo"] .rwa-btn-add-to-cart:not(.rwa-btn-large):active > span[aria-hidden="true"] { background: rgb(255 255 255 / .24); }

/* Carga y confirmación del botón (las activa theme-sabor-vivo.js) */
[data-rwa-theme="sabor_vivo"] .rwa-btn-add-to-cart.is-loading { pointer-events: none; color: transparent; }
[data-rwa-theme="sabor_vivo"] .rwa-btn-add-to-cart.is-loading > span[aria-hidden="true"] { opacity: 0; }
[data-rwa-theme="sabor_vivo"] .rwa-btn-add-to-cart.is-loading::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border-radius: 50%;
	border: 3px solid var(--sv-glow);
	border-top-color: var(--rwa-accent);
	animation: sv-spin .7s linear infinite;
}
[data-rwa-theme="sabor_vivo"] .rwa-btn-add-to-cart.is-added::after {
	content: '✓';
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: var(--sv-leaf);
	color: #fff;
	font-size: 1.2rem;
	font-weight: 800;
	animation: sv-added .5s var(--sv-out) backwards;
}
[data-rwa-theme="sabor_vivo"] .rwa-btn-large.rwa-btn-add-to-cart.is-added::after {
	content: '✓  ' attr(data-added);
	font-size: 1.05rem;
}

[data-rwa-theme="sabor_vivo"] .rwa-btn-large.rwa-btn-add-to-cart {
	min-height: 54px;
	padding: 0 28px;
	background: linear-gradient(155deg, var(--rwa-accent), color-mix(in srgb, var(--rwa-accent) 78%, black));
	color: #fff;
	font-size: 1.05rem;
	box-shadow: 0 14px 28px -12px var(--sv-glow);
}
[data-rwa-theme="sabor_vivo"] .rwa-btn-large.rwa-btn-add-to-cart.is-loading::before {
	border-color: rgb(255 255 255 / .35);
	border-top-color: #fff;
}

[data-rwa-theme="sabor_vivo"] .rwa-btn-disabled {
	background: var(--sv-soft);
	color: var(--rwa-text-2);
	min-height: 42px;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: .9rem;
	box-shadow: none;
}

/* Tarjeta angosta (p. ej. 4 columnas): el botón ocupa todo el ancho, más fácil de tocar. */
@container sv-card (max-width: 270px) {
	.rwa-plato-card-footer { flex-direction: column; align-items: stretch; gap: 10px; }
	.rwa-plato-card-footer .rwa-btn { width: 100%; justify-content: center; }
}

/* ---- Estado de carga del listado (filtros y búsqueda) ---- */
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid.is-loading .rwa-plato-card {
	opacity: .55;
	transform: none;
	pointer-events: none;
}
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid.is-loading .rwa-plato-card::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, transparent 25%, rgb(255 255 255 / .75) 50%, transparent 75%);
	background-size: 260% 100%;
	animation: sv-shimmer 1.1s linear infinite;
	pointer-events: none;
}
[data-rwa-theme="sabor_vivo"] .rwa-no-results {
	padding: 4.5rem 1rem;
	font-size: 1.05rem;
	font-weight: 600;
}
[data-rwa-theme="sabor_vivo"] .rwa-no-results::before {
	content: '🍃';
	display: block;
	margin-bottom: .3em;
	font-size: 2.8rem;
	animation: sv-sway 2.8s ease-in-out infinite;
}

/* ---- Paginación ---- */
[data-rwa-theme="sabor_vivo"] .rwa-menu-pagination { gap: 8px; margin-top: 2.4rem; }
[data-rwa-theme="sabor_vivo"] .rwa-menu-pagination button {
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border: 0;
	border-radius: 999px;
	background: var(--rwa-surface);
	color: var(--rwa-text);
	font-weight: 700;
	box-shadow: var(--sv-shadow-1);
	transition: transform .25s var(--sv-spring), background-color .2s ease, color .2s ease;
}
[data-rwa-theme="sabor_vivo"] .rwa-menu-pagination button:hover { transform: translateY(-2px); border-color: transparent; }
[data-rwa-theme="sabor_vivo"] .rwa-menu-pagination button.is-active {
	background: var(--rwa-text);
	color: #fff;
	box-shadow: 0 10px 20px -8px color-mix(in srgb, var(--rwa-text) 60%, transparent);
}

/* ---- Tarjetas en fila: móviles y vista «lista» ---- */
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid.rwa-view-list .rwa-plato-card { flex-direction: row; align-items: stretch; }
[data-rwa-theme="sabor_vivo"] .rwa-menu-grid.rwa-view-list .rwa-plato-card-media {
	width: 168px;
	flex: 0 0 168px;
	align-self: flex-start;
	aspect-ratio: 1 / 1;
}
@media (max-width: 560px) {
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card,
	[data-rwa-theme="sabor_vivo"] .rwa-menu-grid.rwa-view-list .rwa-plato-card {
		flex-direction: row;
		align-items: stretch;
		gap: 12px;
		border-radius: 24px;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card-media,
	[data-rwa-theme="sabor_vivo"] .rwa-menu-grid.rwa-view-list .rwa-plato-card-media {
		width: 116px;
		flex: 0 0 116px;
		align-self: flex-start;
		aspect-ratio: 1 / 1;
		border-radius: 16px;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-plato-badges { top: 6px; left: 6px; }
	[data-rwa-theme="sabor_vivo"] .rwa-plato-badges .rwa-badge:nth-child(n+2) { display: none; }
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card-body { padding: 2px 2px 2px 0; gap: 4px; }
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card-title { font-size: 1.06rem; }
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card-excerpt { font-size: .88rem; }
	/* Tarjeta en fila: sin espacio para un botón completo, queda como enlace ligero. */
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card-detail {
		width: auto;
		align-self: flex-start;
		border: 0;
		padding: 2px 0;
		background: none;
		text-decoration: underline;
		text-underline-offset: 2px;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card-detail:hover { background: none; }
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card-footer { padding-top: 6px; flex-wrap: nowrap; }
	[data-rwa-theme="sabor_vivo"] .rwa-price-current { font-size: 1.2rem; }
	/* El texto sigue en el HTML (lo leen los lectores de pantalla); a la vista queda solo el «+». */
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card .rwa-btn-add-to-cart {
		flex: 0 0 auto;
		width: 44px;
		height: 44px;
		min-height: 44px;
		padding: 0;
		gap: 0;
		justify-content: center;
		font-size: 0;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card .rwa-btn-add-to-cart > span[aria-hidden="true"] {
		width: 34px;
		height: 34px;
		font-size: 1.4rem;
	}
}

/* =========================================================
   5. Botones generales
   ========================================================= */
[data-rwa-theme="sabor_vivo"] .rwa-btn {
	border-radius: 999px;
	font-weight: 800;
	letter-spacing: -.005em;
	transition: transform .3s var(--sv-spring), box-shadow .3s var(--sv-out), filter .2s ease, background-color .2s ease;
	-webkit-tap-highlight-color: transparent;
}
[data-rwa-theme="sabor_vivo"] .rwa-btn-large { padding: 17px 28px; font-size: 1.05rem; }
[data-rwa-theme="sabor_vivo"] .rwa-btn:active { transform: scale(.97); }
[data-rwa-theme="sabor_vivo"] .rwa-btn-whatsapp {
	position: relative;
	overflow: hidden;
}
[data-rwa-theme="sabor_vivo"] .rwa-btn-whatsapp::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: -60%;
	width: 40%;
	background: linear-gradient(100deg, transparent, rgb(255 255 255 / .45), transparent);
	transform: skewX(-20deg);
	transition: left .8s var(--sv-out);
}
[data-rwa-theme="sabor_vivo"] .rwa-btn-whatsapp:hover::after { left: 130%; }

/* Flecha que avanza en los botones que llevan a otro paso */
[data-rwa-theme="sabor_vivo"] .rwa-go-checkout::after,
[data-rwa-theme="sabor_vivo"] .rwa-minicart-checkout::after {
	content: '';
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .35s var(--sv-spring);
}
[data-rwa-theme="sabor_vivo"] .rwa-go-checkout:hover::after,
[data-rwa-theme="sabor_vivo"] .rwa-minicart-checkout:hover::after { transform: translateX(5px); }

/* =========================================================
   6. Ficha individual de plato
   ========================================================= */
.rwa-single-plato[data-rwa-theme="sabor_vivo"] {
	max-width: 1160px;
	gap: clamp(24px, 5vw, 68px);
	align-items: start;
	padding: clamp(20px, 4vw, 52px) var(--sv-pad-x) 6.5rem;
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-media { position: relative; min-width: 0; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-media > img {
	border-radius: 34px;
	box-shadow: var(--sv-shadow-2);
	animation: sv-media-in 1s var(--sv-out) backwards;
	transition: opacity .25s ease, transform .35s var(--sv-out);
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-media > img.is-swapping { opacity: 0; transform: scale(.98); }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-media > .rwa-plato-card-media-empty {
	aspect-ratio: var(--rwa-image-ratio);
	border-radius: 34px;
	background: color-mix(in srgb, var(--rwa-accent-2) 24%, var(--rwa-surface));
	font-size: 5rem;
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-gallery { gap: 10px; margin-top: 14px; }
[data-rwa-theme="sabor_vivo"] .rwa-gallery-thumb { display: block; border-radius: 18px; }
[data-rwa-theme="sabor_vivo"] .rwa-gallery-thumb img {
	width: 76px;
	height: 76px;
	border: 3px solid transparent;
	border-radius: 18px;
	box-shadow: var(--sv-shadow-1);
	transition: transform .3s var(--sv-spring), border-color .2s ease, opacity .2s ease;
}
[data-rwa-theme="sabor_vivo"] .rwa-gallery-thumb:hover img { transform: translateY(-3px); border-color: var(--sv-line); }
[data-rwa-theme="sabor_vivo"] .rwa-gallery-thumb.is-active img { border-color: var(--rwa-accent); transform: translateY(-3px); }

[data-rwa-theme="sabor_vivo"] .rwa-single-plato-info { min-width: 0; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-info > * {
	animation: sv-rise .8s var(--sv-out) backwards;
	animation-delay: calc(var(--n, 0) * 70ms + 160ms);
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-info > :nth-child(1) { --n: 0; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-info > :nth-child(2) { --n: 1; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-info > :nth-child(3) { --n: 2; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-info > :nth-child(4) { --n: 3; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-info > :nth-child(5) { --n: 4; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-info > :nth-child(6) { --n: 5; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-info > :nth-child(n+7) { --n: 6; }

[data-rwa-theme="sabor_vivo"] .rwa-single-plato-title {
	font-size: clamp(2.1rem, 5vw, 3.3rem);
	line-height: 1.02;
	letter-spacing: -.04em;
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-price {
	display: inline-flex;
	align-items: baseline;
	gap: .6rem;
	margin: 0 0 1.2rem;
	padding: .3em .85em;
	border-radius: 999px;
	background: var(--sv-accent-wash);
	color: var(--sv-accent-ink);
	font-family: var(--rwa-font-display);
	font-size: 1.7rem;
	font-weight: 800;
	letter-spacing: -.03em;
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-price .rwa-price-current {
	color: inherit;
	font-size: inherit;
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-price .rwa-price-regular { font-size: 1rem; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-desc {
	max-width: 60ch;
	font-size: 1.05rem;
	line-height: 1.65;
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-desc > :last-child { margin-bottom: 0; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-meta { gap: 0; margin-bottom: 1.4rem; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-meta li {
	padding: .75rem 0;
	border-bottom: 1px solid var(--sv-line);
	font-size: .98rem;
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-meta li:last-child { border-bottom: 0; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-extras,
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-nota-entrega {
	padding: 14px 18px;
	border: 0;
	border-left: 5px solid var(--rwa-accent-2);
	border-radius: 16px;
	background: var(--rwa-surface);
	box-shadow: var(--sv-shadow-1);
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-extras p { margin: .3em 0 0; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas: "note note" "qty btn";
	gap: 12px;
	margin-bottom: 1rem;
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add .rwa-nota-input { grid-area: note; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add > .rwa-qty-input,
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add > .rwa-sv-stepper { grid-area: qty; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add > .rwa-btn { grid-area: btn; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add .rwa-qty-input,
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add .rwa-nota-input {
	height: 54px;
	border: 1.5px solid var(--sv-line);
	border-radius: 999px;
	background: var(--rwa-surface);
	font-family: var(--rwa-font-body);
	font-size: 1rem;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .25s var(--sv-out);
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add .rwa-nota-input { flex: none; padding: 0 20px; min-width: 0; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add .rwa-qty-input { width: 84px; font-weight: 800; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add .rwa-nota-input:focus,
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add .rwa-qty-input:focus {
	outline: none;
	background: var(--rwa-surface);
	border-color: var(--rwa-accent);
	box-shadow: 0 0 0 4px var(--sv-glow);
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-bajo-pedido { font-style: normal; font-weight: 600; }

/* Selector de cantidad con − y + (lo crea el JS alrededor del input) */
[data-rwa-theme="sabor_vivo"] .rwa-sv-stepper {
	display: inline-flex;
	align-items: center;
	height: 54px;
	padding: 5px;
	border-radius: 999px;
	background: var(--sv-soft);
}
/* En la ficha el selector queda sobre el fondo de la página, así que va en blanco. */
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add > .rwa-sv-stepper {
	border: 1.5px solid var(--sv-line);
	background: var(--rwa-surface);
}
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add > .rwa-sv-stepper .rwa-sv-step { background: var(--sv-soft); box-shadow: none; }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add > .rwa-sv-stepper .rwa-sv-step:hover { background: var(--rwa-accent); }
[data-rwa-theme="sabor_vivo"] .rwa-single-plato-add .rwa-sv-stepper .rwa-qty-input,
[data-rwa-theme="sabor_vivo"] .rwa-sv-stepper .rwa-qty-input {
	width: 46px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}
[data-rwa-theme="sabor_vivo"] .rwa-sv-stepper .rwa-qty-input:focus { box-shadow: none; background: transparent; }
[data-rwa-theme="sabor_vivo"] .rwa-sv-stepper .rwa-qty-input::-webkit-outer-spin-button,
[data-rwa-theme="sabor_vivo"] .rwa-sv-stepper .rwa-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
[data-rwa-theme="sabor_vivo"] .rwa-sv-step {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--rwa-surface);
	color: var(--rwa-text);
	font-family: var(--rwa-font-body);
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 1px 3px color-mix(in srgb, var(--rwa-text) 22%, transparent);
	transition: transform .25s var(--sv-spring), background-color .2s ease, color .2s ease;
	-webkit-tap-highlight-color: transparent;
}
[data-rwa-theme="sabor_vivo"] .rwa-sv-step:hover { background: var(--rwa-accent); color: #fff; }
[data-rwa-theme="sabor_vivo"] .rwa-sv-step:active { transform: scale(.86); }
[data-rwa-theme="sabor_vivo"] .rwa-sv-step[disabled] { opacity: .45; pointer-events: none; }

@media (max-width: 800px) {
	[data-rwa-theme="sabor_vivo"] .rwa-single-plato-media > img { border-radius: 28px; }
}

/* =========================================================
   7. Carrito (página)
   ========================================================= */
.rwa-cart-page[data-rwa-theme="sabor_vivo"] {
	max-width: 880px;
	padding: clamp(20px, 4vw, 48px) var(--sv-pad-x) 5rem;
}
.rwa-cart-page[data-rwa-theme="sabor_vivo"] > h1 {
	font-size: clamp(2.2rem, 6vw, 3.4rem);
	letter-spacing: -.04em;
	margin-bottom: .6em;
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-empty {
	padding: 4.5rem 1.2rem;
	border: 2px dashed var(--sv-line);
	border-radius: 30px;
	background: var(--rwa-surface);
	font-weight: 600;
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-empty::before { animation: sv-sway 2.8s ease-in-out infinite; transform-origin: 50% 90%; }
[data-rwa-theme="sabor_vivo"] .rwa-cart-list { gap: 12px; }
[data-rwa-theme="sabor_vivo"] .rwa-cart-item {
	padding: 12px 16px 12px 12px;
	border: 0;
	border-radius: 24px;
	box-shadow: var(--sv-shadow-1);
	transition: box-shadow .3s var(--sv-out), transform .3s var(--sv-out);
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-item:hover { box-shadow: var(--sv-shadow-2); border-color: transparent; }
[data-rwa-theme="sabor_vivo"] .rwa-cart-item-thumb img,
[data-rwa-theme="sabor_vivo"] .rwa-cart-item-thumb span {
	border-radius: 16px;
	background: color-mix(in srgb, var(--rwa-accent-2) 24%, var(--rwa-surface));
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-item-name { font-size: 1.05rem; letter-spacing: -.015em; }
[data-rwa-theme="sabor_vivo"] .rwa-cart-item-name:hover { color: var(--sv-accent-ink); }
[data-rwa-theme="sabor_vivo"] .rwa-cart-item-subtotal {
	font-family: var(--rwa-font-display);
	font-size: 1.15rem;
	letter-spacing: -.02em;
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-item-qty {
	gap: 2px;
	padding: 4px;
	border-radius: 999px;
	background: var(--sv-soft);
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-item .rwa-qty-btn {
	width: 34px;
	height: 34px;
	border: 0;
	background: var(--rwa-surface);
	color: var(--rwa-text);
	font-size: 1.1rem;
	box-shadow: 0 1px 3px color-mix(in srgb, var(--rwa-text) 22%, transparent);
	transition: transform .25s var(--sv-spring), background-color .2s ease, color .2s ease;
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-item .rwa-qty-btn:hover { background: var(--rwa-accent); color: #fff; border-color: transparent; }
[data-rwa-theme="sabor_vivo"] .rwa-cart-item .rwa-qty-btn:active { transform: scale(.86); }
[data-rwa-theme="sabor_vivo"] .rwa-cart-item-qty input {
	width: 40px;
	padding: .3em 0;
	border: 0;
	background: transparent;
	font-weight: 800;
	-moz-appearance: textfield;
	appearance: textfield;
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-item-qty input::-webkit-outer-spin-button,
[data-rwa-theme="sabor_vivo"] .rwa-cart-item-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
[data-rwa-theme="sabor_vivo"] .rwa-cart-item-remove {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	transition: background-color .2s ease, color .2s ease, transform .25s var(--sv-spring);
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-item-remove:hover {
	background: var(--sv-accent-wash);
	color: var(--sv-accent-ink);
	transform: rotate(90deg);
}
@media (max-width: 640px) {
	[data-rwa-theme="sabor_vivo"] .rwa-cart-item {
		position: relative;
		grid-template-columns: 56px minmax(0, 1fr) auto;
		grid-template-areas:
			"thumb info info"
			"qty qty subtotal";
		padding: 12px;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-cart-item-info { padding-right: 34px; }
	[data-rwa-theme="sabor_vivo"] .rwa-cart-item-remove {
		position: absolute;
		top: 8px;
		right: 8px;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-btn-large { padding: 16px 20px; }
}

/* Resumen: bloque oscuro que destaca el total y el paso siguiente */
[data-rwa-theme="sabor_vivo"] .rwa-cart-summary {
	margin-top: 8px;
	padding: 22px;
	border: 0;
	border-radius: 30px;
	background: var(--rwa-text);
	color: #fff;
	box-shadow: var(--sv-shadow-2);
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-total { margin: 0 0 1.1rem; font-size: 1.15rem; font-weight: 600; }
[data-rwa-theme="sabor_vivo"] .rwa-cart-total strong {
	color: var(--rwa-accent-2);
	font-family: var(--rwa-font-display);
	font-size: 2rem;
	letter-spacing: -.03em;
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-summary .rwa-btn {
	background: var(--rwa-accent-2);
	color: #1a1a1a;
	box-shadow: 0 14px 28px -12px rgb(0 0 0 / .5);
}
[data-rwa-theme="sabor_vivo"] .rwa-cart-note { color: rgb(255 255 255 / .72); font-size: .84rem; }

/* =========================================================
   8. Checkout
   ========================================================= */
.rwa-checkout-page[data-rwa-theme="sabor_vivo"] {
	max-width: 1120px;
	padding: clamp(20px, 4vw, 48px) var(--sv-pad-x) 5rem;
}
[data-rwa-theme="sabor_vivo"] .rwa-checkout-header h1 {
	font-size: clamp(2.2rem, 6vw, 3.4rem);
	letter-spacing: -.04em;
}
[data-rwa-theme="sabor_vivo"] .rwa-checkout-note { line-height: 1.5; }
[data-rwa-theme="sabor_vivo"] .rwa-checkout-error {
	display: flex;
	gap: .6em;
	padding: 14px 20px;
	border: 0;
	border-radius: 18px;
	background: var(--sv-accent-wash);
	box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--rwa-accent) 45%, transparent);
	font-weight: 600;
	animation: sv-shake .5s .1s ease both;
}
[data-rwa-theme="sabor_vivo"] .rwa-checkout-grid { gap: clamp(18px, 3vw, 32px); }
[data-rwa-theme="sabor_vivo"] .rwa-form-section {
	padding: clamp(18px, 3vw, 26px);
	border: 0;
	border-radius: 28px;
	box-shadow: var(--sv-shadow-1);
	margin-bottom: 18px;
}
[data-rwa-theme="sabor_vivo"] .rwa-form-section-title {
	font-size: 1.25rem;
	padding-bottom: .7em;
	margin-bottom: 1.1em;
	border-bottom-color: var(--sv-line);
}
[data-rwa-theme="sabor_vivo"] .rwa-field label { font-size: .92rem; }
[data-rwa-theme="sabor_vivo"] .rwa-field input,
[data-rwa-theme="sabor_vivo"] .rwa-field textarea {
	padding: 14px 16px;
	border: 1.5px solid transparent;
	border-radius: 16px;
	background: var(--sv-soft);
	font-size: 1rem; /* 16px: sin zoom en iOS */
	transition: background-color .2s ease, border-color .2s ease, box-shadow .25s var(--sv-out);
}
[data-rwa-theme="sabor_vivo"] .rwa-field input:hover,
[data-rwa-theme="sabor_vivo"] .rwa-field textarea:hover { border-color: var(--sv-line); }
[data-rwa-theme="sabor_vivo"] .rwa-field input:focus,
[data-rwa-theme="sabor_vivo"] .rwa-field textarea:focus {
	background: var(--rwa-surface);
	border-color: var(--rwa-accent);
	box-shadow: 0 0 0 4px var(--sv-glow);
}
[data-rwa-theme="sabor_vivo"] #rwa-direccion-field,
[data-rwa-theme="sabor_vivo"] #rwa-mesa-field {
	animation: sv-drop .45s var(--sv-out) backwards;
}

/* Método de entrega: tarjetas seleccionables */
[data-rwa-theme="sabor_vivo"] .rwa-delivery-options { gap: 12px; }
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "icon radio" "text text";
	align-content: start;
	align-items: center;
	flex: 1 1 150px;
	gap: 12px;
	padding: 16px;
	border: 2px solid transparent;
	border-radius: 22px;
	background: var(--sv-soft);
	transition: border-color .25s ease, background-color .25s ease, transform .3s var(--sv-spring), box-shadow .3s var(--sv-out);
	-webkit-tap-highlight-color: transparent;
}
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option:hover { transform: translateY(-2px); border-color: var(--sv-line); }
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option:active { transform: scale(.98); }
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option.is-selected,
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option:has(input:checked) {
	background: var(--sv-accent-wash);
	border-color: var(--rwa-accent);
	box-shadow: 0 12px 24px -12px var(--sv-glow);
}
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option:has(input:focus-visible) {
	outline: 3px solid var(--rwa-accent);
	outline-offset: 3px;
}
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option.is-selected .rwa-delivery-icon,
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option:has(input:checked) .rwa-delivery-icon {
	animation: sv-bob .6s var(--sv-spring);
}
[data-rwa-theme="sabor_vivo"] .rwa-delivery-icon { grid-area: icon; font-size: 1.9rem; line-height: 1; }
[data-rwa-theme="sabor_vivo"] .rwa-delivery-text {
	grid-area: text;
	word-break: normal; /* la hoja base corta palabras a mitad; aquí no hace falta */
}
[data-rwa-theme="sabor_vivo"] .rwa-delivery-text strong { font-size: 1rem; line-height: 1.25; letter-spacing: -.01em; }
[data-rwa-theme="sabor_vivo"] .rwa-delivery-radio {
	position: relative;
	grid-area: radio;
	margin-left: 0;
	width: 24px;
	height: 24px;
	border: 2px solid color-mix(in srgb, var(--rwa-text-2) 55%, transparent);
	background: var(--rwa-surface);
	transition: background-color .25s ease, border-color .25s ease, transform .3s var(--sv-spring);
}
[data-rwa-theme="sabor_vivo"] .rwa-delivery-radio::after {
	content: '';
	position: absolute;
	left: 7px;
	top: 3px;
	width: 6px;
	height: 11px;
	border: solid #fff;
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg) scale(0);
	transition: transform .35s var(--sv-spring);
}
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option.is-selected .rwa-delivery-radio,
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option:has(input:checked) .rwa-delivery-radio {
	border-color: var(--rwa-accent);
	background: var(--rwa-accent);
	box-shadow: none;
	transform: scale(1.08);
}
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option.is-selected .rwa-delivery-radio::after,
[data-rwa-theme="sabor_vivo"] .rwa-delivery-option:has(input:checked) .rwa-delivery-radio::after {
	transform: rotate(45deg) scale(1);
}

[data-rwa-theme="sabor_vivo"] .rwa-checkout-summary {
	top: calc(var(--sv-sticky-top, 12px) + 8px);
	padding: 24px;
	border: 0;
	border-radius: 30px;
	box-shadow: var(--sv-shadow-2);
}
[data-rwa-theme="sabor_vivo"] .rwa-checkout-summary h2 { font-size: 1.3rem; }
[data-rwa-theme="sabor_vivo"] .rwa-summary-thumb {
	background: color-mix(in srgb, var(--rwa-accent-2) 24%, var(--rwa-surface));
	border-radius: 14px;
	font-size: 1.4rem;
}
[data-rwa-theme="sabor_vivo"] .rwa-summary-item-subtotal { font-family: var(--rwa-font-display); }
[data-rwa-theme="sabor_vivo"] .rwa-checkout-total { border-top: 1.5px dashed var(--sv-line); padding-top: 1.1rem; }
[data-rwa-theme="sabor_vivo"] .rwa-checkout-total strong {
	color: var(--sv-accent-ink);
	font-family: var(--rwa-font-display);
	font-size: 1.7rem;
	letter-spacing: -.03em;
}

/* Resumen en pantallas muy angostas: el subtotal baja bajo el nombre para que este no se parta. */
@media (max-width: 480px) {
	[data-rwa-theme="sabor_vivo"] .rwa-checkout-summary li {
		grid-template-columns: 44px minmax(0, 1fr);
		column-gap: 12px;
		row-gap: 2px;
		align-items: start;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-checkout-summary .rwa-summary-thumb {
		grid-row: 1 / span 2;
		width: 44px;
		height: 44px;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-checkout-summary .rwa-summary-item-subtotal { grid-column: 2; }
}

/* Pantalla de pedido recibido */
[data-rwa-theme="sabor_vivo"] .rwa-order-success {
	position: relative;
	max-width: 520px;
	padding: 3rem 1.6rem 2.4rem;
	border-radius: 34px;
	box-shadow: var(--sv-shadow-2);
	animation: sv-media-in .9s var(--sv-out) backwards;
}
[data-rwa-theme="sabor_vivo"] .rwa-order-success h1 { font-size: clamp(1.9rem, 5vw, 2.5rem); letter-spacing: -.035em; }
[data-rwa-theme="sabor_vivo"] .rwa-success-icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 92px;
	height: 92px;
	margin: 0 auto 1.6rem;
	border-radius: 50%;
	background: var(--sv-leaf);
	color: #fff;
	font-size: 3rem;
	font-weight: 800;
	line-height: 1;
	animation: sv-pop .7s .1s var(--sv-spring) backwards;
}
[data-rwa-theme="sabor_vivo"] .rwa-success-icon::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 3px solid var(--sv-leaf);
	animation: sv-ring 1.4s .5s ease-out infinite;
}
/* Destellos que salen desde el icono al confirmar el pedido */
[data-rwa-theme="sabor_vivo"] .rwa-success-icon::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 10px;
	margin: -5px 0 0 -5px;
	border-radius: 50%;
	box-shadow:
		0 -70px 0 0 var(--rwa-accent), 52px -50px 0 -1px var(--rwa-accent-2), 70px 0 0 0 var(--sv-leaf),
		50px 52px 0 -1px var(--rwa-accent), 0 70px 0 0 var(--rwa-accent-2), -50px 52px 0 -1px var(--sv-leaf),
		-70px 0 0 0 var(--rwa-accent), -52px -50px 0 -1px var(--rwa-accent-2);
	animation: sv-burst 1s .35s var(--sv-out) both;
}

/* =========================================================
   9. Botón flotante del pedido, panel y avisos
   ========================================================= */
/* El botón es un contenedor transparente y fijo; la «píldora» que se ve
   se desliza dentro de él (así el vuelo del plato siempre apunta al lugar correcto). */
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"] {
	position: fixed;
	top: auto;
	right: auto;
	left: 50%;
	bottom: max(16px, env(safe-area-inset-bottom));
	width: min(calc(100vw - 32px), 430px);
	height: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: #fff;
	font-family: var(--rwa-font-body);
	font-size: 1rem;
	text-align: left;
	overflow: visible;
	transform: translateX(-50%);
	transition: opacity .3s ease, visibility 0s;
	-webkit-tap-highlight-color: transparent;
}
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"]:hover { transform: translateX(-50%); }
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"].is-empty {
	visibility: hidden;
	pointer-events: none;
	transition: opacity .3s ease, visibility 0s .5s;
}
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"].is-off { display: none; }
html.rwa-sv-panel-open .rwa-minicart-toggle[data-rwa-theme="sabor_vivo"] { opacity: 0; pointer-events: none; }

.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"] .rwa-sv-pill {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 9px 9px 9px 20px;
	border-radius: 999px;
	background: var(--rwa-text);
	color: #fff;
	box-shadow: 0 22px 44px -14px color-mix(in srgb, var(--rwa-text) 75%, transparent),
		0 4px 10px -2px color-mix(in srgb, var(--rwa-text) 30%, transparent);
	transition: transform .6s var(--sv-spring), opacity .3s ease;
}
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"]:hover .rwa-sv-pill { transform: translateY(-3px); }
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"]:active .rwa-sv-pill { transform: scale(.97); }
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"].is-empty .rwa-sv-pill { transform: translateY(190%); opacity: 0; }
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"].is-bump .rwa-sv-pill { animation: sv-bump .6s var(--sv-spring); }

.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"] .rwa-sv-pill-icon {
	position: relative;
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
}
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"] .rwa-sv-pill-icon svg { width: 26px; height: 26px; }
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"] .rwa-minicart-count {
	top: -7px;
	right: -9px;
	width: auto;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--rwa-accent);
	color: #fff;
	font-size: .78rem;
	font-weight: 800;
	line-height: 22px;
	text-align: center;
	box-shadow: 0 0 0 2.5px var(--rwa-text);
}
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"] .rwa-sv-pill-label {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 1.02rem;
	font-weight: 800;
	letter-spacing: -.01em;
}
.rwa-minicart-toggle[data-rwa-theme="sabor_vivo"] .rwa-sv-pill-total {
	flex: 0 0 auto;
	padding: 11px 18px;
	border-radius: 999px;
	background: var(--rwa-accent-2);
	color: #1a1a1a;
	font-family: var(--rwa-font-display);
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: -.02em;
}

/* Fondo oscurecido */
.rwa-minicart-overlay[data-rwa-theme="sabor_vivo"] {
	background: color-mix(in srgb, var(--rwa-text) 48%, transparent);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	transition: opacity .4s ease;
}

/* Panel: cajón flotante en escritorio, hoja inferior en móvil */
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] {
	top: 12px;
	right: 12px;
	bottom: 12px;
	width: 430px;
	max-width: calc(100vw - 24px);
	height: auto;
	padding: 24px 22px 20px;
	border-radius: 32px;
	background: var(--rwa-surface);
	color: var(--rwa-text);
	box-shadow: 0 40px 90px -24px rgb(0 0 0 / .5);
	overflow: hidden;
	visibility: hidden;
	transform: translateX(calc(100% + 40px));
	transition: transform .6s var(--sv-out), visibility 0s .6s;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"].is-open {
	right: 12px;
	visibility: visible;
	transform: none;
	transition: transform .6s var(--sv-out), visibility 0s;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] h3 {
	margin: 0 0 6px;
	padding-right: 52px;
	font-size: 1.7rem;
	letter-spacing: -.035em;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-sv-panel-count {
	margin-left: .3em;
	color: var(--rwa-text-2);
	font-family: var(--rwa-font-body);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-close {
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	background: var(--sv-soft);
	color: var(--rwa-text);
	font-size: 1.4rem;
	transition: background-color .2s ease, transform .3s var(--sv-spring);
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-close:hover {
	background: var(--sv-accent-wash);
	transform: rotate(90deg);
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-sv-grip { display: none; }

.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-items {
	flex: 1 1 auto;
	min-height: 0;
	margin: 10px -10px 0;
	padding: 0 10px;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-items > p {
	padding: 3.5rem 0;
	font-size: 1rem;
	font-weight: 600;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-items > p::before {
	content: '🛒';
	display: block;
	margin-bottom: .3em;
	font-size: 2.6rem;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-item {
	position: relative;
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr);
	align-items: start;
	gap: 14px;
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--sv-line);
	transition: opacity .25s ease;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"].is-open .rwa-minicart-item:not(.is-static) {
	animation: sv-item-in .55s var(--sv-out) backwards;
	animation-delay: calc(var(--i, 0) * 55ms + 200ms);
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-item:last-child { border-bottom: 0; }
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-item.is-busy { opacity: .5; pointer-events: none; }
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-item.is-leaving {
	animation: sv-leave .3s ease forwards;
	pointer-events: none;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-item img,
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-sv-item-thumb-empty {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	border-radius: 18px;
	background: color-mix(in srgb, var(--rwa-accent-2) 24%, var(--rwa-surface));
	font-size: 1.6rem;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-item-name {
	padding-right: 32px;
	font-size: 1rem;
	letter-spacing: -.015em;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-item-qty { font-size: .84rem; }
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-remove {
	position: absolute;
	top: 10px;
	right: -6px;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border-radius: 50%;
	transition: background-color .2s ease, color .2s ease, transform .3s var(--sv-spring);
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-remove:hover {
	background: var(--sv-accent-wash);
	color: var(--sv-accent-ink);
	transform: rotate(90deg);
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-sv-item-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 10px;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-sv-item-controls .rwa-sv-stepper { height: auto; padding: 3px; }
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-sv-item-controls .rwa-sv-step {
	width: 32px;
	height: 32px;
	font-size: 1.15rem;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-sv-qty {
	min-width: 32px;
	text-align: center;
	font-weight: 800;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-sv-subtotal {
	font-family: var(--rwa-font-display);
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: -.02em;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-total {
	align-items: baseline;
	margin-top: 8px;
	padding-top: 16px;
	border-top: 1.5px dashed var(--sv-line);
	font-size: 1.05rem;
	font-weight: 600;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-total strong {
	font-family: var(--rwa-font-display);
	font-size: 1.8rem;
	font-weight: 800;
	letter-spacing: -.03em;
}
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-checkout { margin-top: 14px !important; }

.rwa-minicart-panel[data-rwa-theme="sabor_vivo"].is-empty-cart .rwa-minicart-total,
.rwa-minicart-panel[data-rwa-theme="sabor_vivo"].is-empty-cart .rwa-minicart-checkout { display: none; }

/* Aviso breve (por ejemplo, plato no disponible) */
.rwa-sv-toast[data-rwa-theme="sabor_vivo"] {
	position: fixed;
	left: 50%;
	bottom: calc(max(16px, env(safe-area-inset-bottom)) + 78px);
	z-index: 100001;
	max-width: min(92vw, 420px);
	padding: 13px 20px;
	border-radius: 18px;
	background: var(--rwa-text);
	color: #fff;
	font-family: var(--rwa-font-body);
	font-size: .96rem;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	box-shadow: 0 20px 40px -16px color-mix(in srgb, var(--rwa-text) 80%, transparent);
	opacity: 0;
	transform: translate(-50%, 16px) scale(.96);
	pointer-events: none;
	transition: opacity .3s ease, transform .45s var(--sv-spring);
}
.rwa-sv-toast[data-rwa-theme="sabor_vivo"].is-visible {
	opacity: 1;
	transform: translate(-50%, 0) scale(1);
}

/* Miniatura que vuela hacia el pedido al añadir un plato */
.rwa-sv-fly[data-rwa-theme="sabor_vivo"] {
	position: fixed;
	z-index: 100002;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--rwa-accent-2) center / cover no-repeat;
	box-shadow: 0 0 0 3px #fff, 0 14px 28px -8px rgb(0 0 0 / .45);
	font-size: 1.8rem;
	pointer-events: none;
	will-change: transform, opacity;
}

/* Bloqueo del scroll de la página mientras el pedido está abierto */
html.rwa-sv-panel-open,
html.rwa-sv-panel-open body { overflow: hidden; }

/* ---- Hoja inferior en móviles ---- */
@media (max-width: 640px) {
	.rwa-minicart-panel[data-rwa-theme="sabor_vivo"],
	.rwa-minicart-panel[data-rwa-theme="sabor_vivo"].is-open {
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		max-width: 100%;
		max-height: 88vh;
		max-height: 88dvh;
		padding: 8px 18px max(18px, env(safe-area-inset-bottom));
		border-radius: 30px 30px 0 0;
	}
	.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] { transform: translateY(105%); }
	.rwa-minicart-panel[data-rwa-theme="sabor_vivo"].is-open { transform: none; }
	.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-sv-grip {
		display: block;
		width: 44px;
		height: 5px;
		margin: 0 auto 6px;
		padding: 12px 40px;
		box-sizing: content-box;
		border-radius: 3px;
		background: var(--sv-line);
		background-clip: content-box;
		cursor: grab;
		touch-action: none;
	}
	.rwa-minicart-panel[data-rwa-theme="sabor_vivo"] .rwa-minicart-close { top: 22px; right: 16px; }
	.rwa-minicart-panel[data-rwa-theme="sabor_vivo"].is-dragging { transition: none; }
}

/* =========================================================
   10. Animaciones
   ========================================================= */
@keyframes sv-title-in {
	from { opacity: 0; transform: translateY(18px); filter: blur(10px); letter-spacing: .05em; }
	to   { opacity: 1; transform: none; filter: blur(0); letter-spacing: -.04em; }
}
@keyframes sv-draw {
	from { clip-path: inset(0 100% 0 0); }
	to   { clip-path: inset(0 0 0 0); }
}
@keyframes sv-rise {
	from { opacity: 0; transform: translateY(18px); }
	to   { opacity: 1; transform: none; }
}
@keyframes sv-card-in {
	from { opacity: 0; transform: translateY(30px) scale(.96); }
	to   { opacity: 1; transform: none; }
}
@keyframes sv-media-in {
	from { opacity: 0; transform: scale(.94) translateY(14px); }
	to   { opacity: 1; transform: none; }
}
@keyframes sv-item-in {
	from { opacity: 0; transform: translateX(18px); }
	to   { opacity: 1; transform: none; }
}
@keyframes sv-leave {
	to { opacity: 0; transform: translateX(-24px); }
}
@keyframes sv-drop {
	from { opacity: 0; transform: translateY(-8px); }
	to   { opacity: 1; transform: none; }
}
@keyframes sv-shimmer {
	from { background-position: 130% 0; }
	to   { background-position: -130% 0; }
}
@keyframes sv-spin { to { transform: rotate(360deg); } }
@keyframes sv-added {
	from { clip-path: circle(0% at 50% 50%); }
	to   { clip-path: circle(80% at 50% 50%); }
}
@keyframes sv-bump {
	0%   { transform: scale(1); }
	30%  { transform: scale(1.07) translateY(-6px); }
	60%  { transform: scale(.98); }
	100% { transform: scale(1); }
}
@keyframes sv-pulse {
	0%   { box-shadow: 0 0 0 0 var(--sv-glow); }
	70%  { box-shadow: 0 0 0 10px transparent; }
	100% { box-shadow: 0 0 0 0 transparent; }
}
@keyframes sv-sway {
	0%, 100% { transform: rotate(-6deg); }
	50%      { transform: rotate(6deg); }
}
@keyframes sv-bob {
	0%   { transform: scale(1); }
	40%  { transform: scale(1.35) rotate(-8deg); }
	100% { transform: scale(1); }
}
@keyframes sv-shake {
	0%, 100% { transform: translateX(0); }
	20%      { transform: translateX(-8px); }
	40%      { transform: translateX(7px); }
	60%      { transform: translateX(-5px); }
	80%      { transform: translateX(3px); }
}
@keyframes sv-pop {
	0%   { transform: scale(0) rotate(-40deg); }
	100% { transform: scale(1) rotate(0); }
}
@keyframes sv-ring {
	0%   { transform: scale(1); opacity: .55; }
	100% { transform: scale(1.7); opacity: 0; }
}
@keyframes sv-burst {
	0%   { transform: scale(.15); opacity: 1; }
	70%  { opacity: 1; }
	100% { transform: scale(1.15); opacity: 0; }
}

/* =========================================================
   11. Movimiento reducido
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
	[data-rwa-theme="sabor_vivo"],
	[data-rwa-theme="sabor_vivo"] *,
	[data-rwa-theme="sabor_vivo"] *::before,
	[data-rwa-theme="sabor_vivo"] *::after {
		animation-duration: .01ms !important;
		animation-delay: 0s !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		transition-delay: 0s !important;
		scroll-behavior: auto !important;
	}
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card:hover,
	[data-rwa-theme="sabor_vivo"] .rwa-plato-card:hover .rwa-plato-card-media img { transform: none; }
}
