/* ==========================================================================
   BeChef — estilos base, header, footer, home y tarjetas de producto
   ========================================================================== */

@font-face{font-family:'Montserrat';font-style:normal;font-weight:500 700;font-display:swap;src:url(../fonts/montserrat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/open-sans.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'bechef-iconos';font-style:normal;font-weight:400;font-display:block;src:url(../fonts/iconos.woff2) format('woff2')}
@font-face{font-family:'PT Serif';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/pt-serif-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root {
	--amarillo: #ffcb00;
	--rojo: #d64730;
	--negro: #1b1918;
	--titulo: #0f0f0f;
	--texto: #3a3a3a;
	--suave: #777;
	--gris: #f7f7f7;
	--borde: #e8e8e8;
	--blanco: #fff;

	--f-titulo: 'Montserrat', Arial, Helvetica, sans-serif;
	--f-texto: 'Open Sans', Arial, Helvetica, sans-serif;
	--f-alt: 'PT Serif', Georgia, serif;

	--contenedor: 1222px;
	--radio: 15px;
	--radio-chico: 5px;
	--header-h: 85px;
	--sombra: 0 6px 24px rgb(0 0 0 / 8%);
	--transicion: .2s ease;
}

/* ---------- Reset mínimo ---------- */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font: 400 14px/1.6 var(--f-texto);
	color: var(--texto);
	background: var(--blanco);
	-webkit-font-smoothing: antialiased;
	overflow-x: clip; /* líneas a todo el ancho (100vw) sin barra horizontal */
}
img, svg, video, picture { max-width: 100%; height: auto; display: block; }
img { border-style: none; }
a { color: #333; text-decoration: none; transition: color var(--transicion); }
a:hover { color: var(--rojo); }
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .6em;
	font-family: var(--f-titulo);
	font-weight: 700;
	line-height: 1.25;
	color: var(--titulo);
}
p { margin: 0 0 1.2em; }
ul, ol { margin: 0 0 1.2em; padding-left: 1.2em; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--rojo); outline-offset: 2px; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.saltar {
	position: absolute; left: 10px; top: -60px; z-index: 1000;
	padding: 10px 16px; background: var(--negro); color: #fff; border-radius: var(--radio-chico);
}
.saltar:focus { top: 10px; color: #fff; }

.contenedor { width: 100%; max-width: var(--contenedor); margin-inline: auto; padding-inline: 15px; }
.contenido { padding-block: 0 60px; }
.seccion { margin-block: 60px; }
.seccion--gris { background: var(--gris); padding-block: 60px; }
.seccion--centro { text-align: center; }
.icono { flex-shrink: 0; }

/* Íconos de la fuente original de WoodMart */
.ico { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; line-height: 1; }
.ico::before { font-family: 'bechef-iconos'; font-weight: 400; font-style: normal; speak: never; }
.ico--buscar::before { content: "\f130"; }
.ico--usuario::before { content: "\f124"; }
.ico--carrito::before { content: "\f105"; }
.ico--bolsa::before { content: "\f126"; }
.ico--menu::before { content: "\f15a"; }
.ico--cerrar::before { content: "\f112"; }
.ico--flecha-izq::before { content: "\f114"; }
.ico--flecha-der::before { content: "\f113"; }
.ico--abajo::before { content: "\f129"; }
.ico--check::before { content: "\f107"; }

/* ---------- Botones (valores de WoodMart: redondeados; "shop" oscuros → rojo) ---------- */

.boton, .button, button.button, input.button, a.button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 42px;
	padding: 5px 20px;
	border: 0; border-radius: 35px;
	background: #f7f7f7; color: #333;
	font: 600 13px/1.2 var(--f-texto);
	letter-spacing: .3px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}
.boton:hover, .button:hover { background: #efefef; color: #333; }
/* Botones de compra (add to cart, checkout, pagar) */
.boton--negro, .button.alt, .button.checkout, .checkout-button, .single_add_to_cart_button, #place_order,
.woocommerce-mini-cart__buttons .checkout, .add_to_cart_button {
	background: var(--negro); color: #fff;
}
.boton--negro:hover, .button.alt:hover, .button.checkout:hover, .checkout-button:hover, .single_add_to_cart_button:hover, #place_order:hover,
.woocommerce-mini-cart__buttons .checkout:hover, .add_to_cart_button:hover {
	background: var(--rojo); color: #fff;
}
.boton--negro { padding-inline: 40px; }
.boton--borde { background: transparent; color: var(--titulo); box-shadow: inset 0 0 0 2px rgb(0 0 0 / 10%); }
.boton--borde:hover { background: transparent; color: var(--titulo); box-shadow: inset 0 0 0 2px rgb(0 0 0 / 15%); }
.boton--chico { min-height: 36px; padding: 5px 16px; }
.button:disabled, .button.disabled { opacity: .5; cursor: not-allowed; }
.button.loading { opacity: .6; pointer-events: none; }

/* ---------- Barra superior ---------- */

.huincha { overflow: hidden; background: #000; color: #fff; }
.huincha__pista { display: flex; width: max-content; animation: huincha 45s linear infinite; }
.huincha:hover .huincha__pista { animation-play-state: paused; }
.huincha__lista { display: flex; margin: 0; padding: 0; list-style: none; }
.huincha__lista li { display: flex; align-items: center; white-space: nowrap; font: 500 15px/1 var(--f-titulo); letter-spacing: .02em; padding-block: 15px; }
.huincha__lista li::after { content: "✦"; margin-inline: 34px; color: var(--amarillo); font-size: 14px; }
.huincha__lista li:has(> [hidden]) { display: none; }
.huincha a { color: #fff; text-decoration: underline; }
.huincha strong { font-weight: 700; color: var(--amarillo); }
@keyframes huincha { to { transform: translateX(-50%); } }

/* ---------- Header ---------- */

.header {
	position: sticky; top: 0; z-index: 50;
	background: #fff;
	border-bottom: 1px solid var(--borde);
	transition: box-shadow var(--transicion);
}
.header.es-fijo { box-shadow: 0 1px 8px rgb(0 0 0 / 10%); }
.admin-bar .header { top: 32px; }
.header__fila { display: flex; align-items: center; gap: 20px; height: var(--header-h); transition: height var(--transicion); }
.header.es-fijo .header__fila { height: 60px; }
.logo { display: block; flex-shrink: 0; }
.logo__img { width: auto; height: calc(var(--header-h) - 10px); max-width: 245px; transition: height var(--transicion); }
.header.es-fijo .logo__img { height: 50px; }

.header__acciones { display: flex; align-items: center; gap: 6px; margin-left: 24px; height: 18px; }
.header__boton {
	position: relative;
	display: inline-flex; align-items: center; justify-content: center;
	height: 40px; padding: 0 10px;
	border: 0; background: none; color: #111;
	font-size: 23px;
}
.header__boton:hover { color: rgb(51 51 51 / 60%); }
.header__boton .icono { width: 20px; height: 20px; }
.header__carrito .ico--carrito { display: none; }
.header__carrito .ico--bolsa { display: inline-flex; }
.header__burger { display: none; }
.carrito-contador {
	position: absolute; top: 3px; right: 1px;
	min-width: 15px; height: 15px; padding: 0 3px;
	border-radius: 8px;
	background: var(--amarillo); color: #fff;
	font: 400 9px/15px var(--f-texto); text-align: center;
}

/* Menú principal */
.nav-principal { margin-left: auto; }
.menu-principal, .menu-principal ul { list-style: none; margin: 0; padding: 0; }
.menu-principal { display: flex; align-items: center; gap: 24px; }
.menu-principal > li { position: relative; }
.menu-principal > li > a {
	display: flex; align-items: center; gap: 4px;
	padding: 5px 0; min-height: 42px;
	font: 400 13px/1.2 var(--f-texto); color: #111;
}
.menu-principal > li > a:hover,
.menu-principal > .current-menu-item > a,
.menu-principal > .current-menu-ancestor > a { color: var(--rojo); }
.menu-principal > .menu-item-has-children > a::after {
	content: "\f129"; margin-left: 4px; font: 400 8px/1 'bechef-iconos'; opacity: .5;
}

.menu-principal > .menu-boton { margin-left: 18px; }
.menu-principal > .menu-boton > a {
	min-height: 0; padding: 8px 15px; gap: 6px;
	border: 1.5px solid #000; border-radius: 30px;
	color: #000; transition: var(--transicion);
}
.menu-principal > .menu-boton > a::after { content: "\f113"; font: 400 11px/1 'bechef-iconos'; }
.menu-principal > .menu-boton.current-menu-item > a { color: #000; }
.menu-principal > .menu-boton > a:hover { background: #000; color: #fff; }
@media (max-width: 1300px) {
	.menu-principal { gap: 18px; }
	.menu-principal > .menu-boton { margin-left: 6px; }
}

.menu-principal .sub-menu {
	position: absolute; top: 100%; left: 0; z-index: 60;
	min-width: 220px; padding: 15px 0;
	background: #fff; border-radius: var(--radio-chico); box-shadow: var(--sombra);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity var(--transicion), transform var(--transicion), visibility var(--transicion);
}
.menu-principal li:hover > .sub-menu,
.menu-principal li:focus-within > .sub-menu,
.menu-principal li.esta-abierto > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.menu-principal .sub-menu a { display: block; padding: 6px 20px; font-size: 13px; color: #333; }
.menu-principal .sub-menu a:hover { color: var(--rojo); }

/* Mega menú: ítem cuyos hijos tienen hijos */
.menu-principal > .es-mega { position: static; }
.menu-principal > .es-mega > .sub-menu {
	left: 50%; right: auto; transform: translate(-50%, 8px);
	width: min(1100px, calc(100vw - 30px));
	display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px 30px;
	padding: 30px 35px;
}
.menu-principal > .es-mega:hover > .sub-menu,
.menu-principal > .es-mega:focus-within > .sub-menu,
.menu-principal > .es-mega.esta-abierto > .sub-menu { transform: translate(-50%, 0); }
.menu-principal > .es-mega > .sub-menu > li > a { padding: 0 0 10px; font: 700 14px/1.3 var(--f-titulo); color: var(--titulo); }
.menu-principal > .es-mega .sub-menu .sub-menu {
	position: static; min-width: 0; padding: 0;
	box-shadow: none; opacity: 1; visibility: inherit; transform: none; transition: none;
}
.menu-principal > .es-mega .sub-menu .sub-menu a { padding: 4px 0; }
.menu-principal .ver-todo > a { color: var(--rojo) !important; font-weight: 700; margin-top: 6px; }

/* Buscador */
.buscador { position: relative; }
.buscador__panel {
	position: absolute; top: calc(100% + 10px); right: -60px; z-index: 60;
	width: min(420px, calc(100vw - 30px));
	padding: 15px; background: #fff; border-radius: var(--radio-chico); box-shadow: var(--sombra);
}
.form-buscar { display: flex; }
.form-buscar input[type="search"] {
	flex: 1; min-width: 0; height: 46px; padding: 0 15px;
	border: 2px solid var(--borde); border-right: 0; border-radius: var(--radio-chico) 0 0 var(--radio-chico);
	background: #fff;
}
.form-buscar input[type="search"]:focus { outline: none; border-color: var(--amarillo); }
.form-buscar button {
	width: 50px; height: 46px; border: 0;
	border-radius: 0 var(--radio-chico) var(--radio-chico) 0;
	background: var(--amarillo); color: var(--titulo);
	display: flex; align-items: center; justify-content: center;
}

/* ---------- Paneles laterales (menú móvil y carrito) ---------- */

.capa { position: fixed; inset: 0; z-index: 90; background: rgb(0 0 0 / 45%); }
.cajon {
	position: fixed; top: 0; bottom: 0; z-index: 100;
	width: min(380px, 90vw);
	display: flex; flex-direction: column;
	background: #fff; box-shadow: var(--sombra);
	overflow-y: auto; overscroll-behavior: contain;
	animation: .25s ease both;
}
.cajon--izq { left: 0; animation-name: entrar-izq; }
.cajon--der { right: 0; animation-name: entrar-der; }
@keyframes entrar-izq { from { transform: translateX(-100%); } }
@keyframes entrar-der { from { transform: translateX(100%); } }
.cajon__cabecera {
	position: sticky; top: 0; z-index: 1;
	display: flex; align-items: center; justify-content: space-between;
	padding: 10px 10px 10px 20px; background: #fff; border-bottom: 1px solid var(--borde);
}
.cajon__titulo { font: 700 16px var(--f-titulo); color: var(--titulo); }
body.panel-abierto { overflow: hidden; }

.menu-movil__buscar { padding: 15px 20px; }
.menu-movil__pestanas { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--borde); }
.menu-movil__pestanas button {
	padding: 14px 10px; border: 0; background: #f7f7f7;
	font: 600 13px/1.2 var(--f-texto); text-transform: uppercase; color: #767676;
}
.menu-movil__pestanas button[aria-selected="true"] { background: #fff; color: #333; box-shadow: inset 0 -2px 0 var(--amarillo); }
.menu-movil__titulo { margin: 0; padding: 25px 20px 10px; font: 700 12px var(--f-titulo); letter-spacing: .08em; text-transform: uppercase; color: var(--suave); }
.menu-movil__lista, .menu-movil__lista ul { list-style: none; margin: 0; padding: 0; }
.menu-movil__lista li { position: relative; border-bottom: 1px solid var(--borde); }
.menu-movil__lista a { display: block; padding: 13px 50px 13px 20px; font-weight: 600; color: var(--titulo); }
.menu-movil__lista .sub-menu { background: var(--gris); }
.menu-movil__lista .sub-menu a { font-weight: 400; padding-left: 32px; }
.menu-movil__lista .sub-menu .sub-menu a { padding-left: 44px; }
.menu-movil__lista .sub-menu li:last-child { border-bottom: 0; }
.submenu-toggle {
	position: absolute; top: 0; right: 0;
	width: 50px; height: 48px; border: 0; border-left: 1px solid var(--borde); background: none;
	display: flex; align-items: center; justify-content: center;
}
.submenu-toggle[aria-expanded="true"] .icono { transform: rotate(180deg); }

/* Mini carrito */
.carrito-lateral .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1; padding: 0 20px 20px; }
.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; flex: 1; }
.woocommerce-mini-cart-item {
	position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 0 12px; align-items: start;
	padding: 15px 28px 15px 0; border-bottom: 1px solid var(--borde); font-size: 13px;
}
.woocommerce-mini-cart-item img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; display: block; }
.mini-cart-item__foto { display: block; }
.mini-cart-item__info { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.mini-cart-item__nombre { font: 500 14px/1.3 var(--f-titulo); color: var(--titulo); }
.mini-cart-item__precio { font-size: 13px; color: var(--rojo); font-weight: 600; }
.mini-cart-item__precio .amount { color: var(--rojo); }
.mini-cart-item__unidad { color: var(--suave); font-weight: 400; font-size: 12px; }
.mini-cart-item__cantidad { display: inline-flex; align-items: stretch; width: max-content; margin-top: 2px; border: 1px solid var(--borde); border-radius: 8px; overflow: hidden; }
.mini-cart-item__cantidad button { width: 28px; border: 0; background: #f3f1ea; color: var(--titulo); font-size: 16px; line-height: 1; cursor: pointer; }
.mini-cart-item__cantidad button:hover { background: var(--amarillo); }
.mini-cart-item__cantidad input { width: 34px; text-align: center; border: 0; border-inline: 1px solid var(--borde); font: 600 13px var(--f-texto); background: #fff; -moz-appearance: textfield; appearance: textfield; }
.mini-cart-item__cantidad input::-webkit-inner-spin-button, .mini-cart-item__cantidad input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.mini-cart-item__cantidad.cargando { opacity: .5; pointer-events: none; }
.woocommerce-mini-cart-item > a:not(.remove) { font-weight: 600; color: var(--titulo); line-height: 1.35; }
.woocommerce-mini-cart-item .quantity { color: var(--suave); }
.woocommerce-mini-cart-item .quantity .amount { color: var(--rojo); font-weight: 600; }
.woocommerce-mini-cart-item .remove {
	position: absolute; top: 12px; right: 0;
	width: 22px; height: 22px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	color: var(--suave); font-size: 18px; line-height: 1;
}
.woocommerce-mini-cart-item .remove:hover { background: var(--rojo); color: #fff; }
.woocommerce-mini-cart-item dl.variation { grid-column: 2; margin: 2px 0; font-size: 12px; color: var(--suave); }
.woocommerce-mini-cart-item dl.variation dt, .woocommerce-mini-cart-item dl.variation dd { display: inline; margin: 0; }
.woocommerce-mini-cart-item dl.variation p { display: inline; margin: 0; }
.woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 20px 0 15px; font: 700 16px var(--f-titulo); color: var(--titulo); }
.woocommerce-mini-cart__total .amount { color: var(--rojo); }
.woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
.woocommerce-mini-cart__buttons .button { width: 100%; }
.woocommerce-mini-cart__empty-message { margin: 40px 0; text-align: center; color: var(--suave); }

/* ---------- Footer ---------- */

.footer { background: var(--negro); color: #fff; font-size: 14px; }
.footer a { color: #fff; }
.footer a:hover { color: rgb(255 255 255 / 70%); }
.footer__columnas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; padding-block: 70px 20px; }
.footer__col:not(:first-child) { padding-left: 60px; }
.footer__col > :last-child { margin-bottom: 0; }
.footer__col--marca { text-align: center; }
.footer__logo { display: block; margin-bottom: 20px; }
.footer__logo img { width: 70%; height: auto; max-width: none; margin-inline: auto; }
.footer__titulo { margin-bottom: 15px; font: 700 16px/1.6 var(--f-titulo); color: #fff; }
.footer__titulo--menu { margin-bottom: 20px; font-weight: 600; line-height: 1.4; }
.footer__menu { list-style: none; padding: 0; margin: 0; }
.footer__menu li { margin-bottom: 15px; line-height: 1.4; }
.redes { display: flex; justify-content: center; gap: 10px; list-style: none; margin: 0; padding: 0; }
.redes a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgb(255 255 255 / 30%); color: #fff; }
.redes a:hover { background: rgb(255 255 255 / 45%); color: #fff; }
.redes .icono { width: 16px; height: 16px; }
.footer__pagos-titulo { margin-bottom: 30px; font-size: 16px; line-height: 1.4; }
.footer__pago { margin-bottom: 20px; }
.footer__pago img { display: block; width: auto; height: auto; max-width: 150px; max-height: 36px; } /* misma altura: los logos casi cuadrados (Edenred) no quedan gigantes */
.footer__contacto { list-style: none; margin: 0; padding: 0; }
.footer__contacto li { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 18px; line-height: 1.4; }
.footer__contacto img { width: 15px; height: 15px; margin-top: 2px; flex-shrink: 0; }
.footer__barra { padding-block: 15px; border-top: 1px solid rgb(255 255 255 / 10%); font-size: 12px; color: rgb(255 255 255 / 70%); }

/* ---------- Banda de título ---------- */

.banda-titulo {
	margin-bottom: 80px;
	padding-block: 100px;
	background: var(--negro) url(../img/fondo-bechef.webp) center / cover no-repeat;
	text-align: center; color: rgb(255 255 255 / 80%);
}
.banda-titulo__titulo {
	display: flex; flex-direction: column; align-items: center; gap: 12px;
	margin: 0; font: 700 50px/1.2 var(--f-titulo); color: #fff;
}
.banda-titulo__titulo::before { content: ""; width: 33px; height: 46px; background: url(../img/bolsa-bechef.svg) center / contain no-repeat; }
.banda-titulo--sin-icono .banda-titulo__titulo::before { display: none; }
.banda-titulo__desc { max-width: 760px; margin: 12px auto 0; font-size: 16px; }
.banda-titulo__desc p:last-child { margin: 0; }

/* ---------- Títulos de sección ---------- */

.titulo-seccion { margin-bottom: 40px; text-align: center; }
.titulo-seccion--izq { text-align: left; }
.titulo-seccion__titulo { margin: 0; font-size: 30px; }
.titulo-seccion__sub { margin: 0; font: italic 400 28px/1.3 var(--f-alt); color: var(--rojo); }

/* ---------- Slider ---------- */

.slider { position: relative; overflow: hidden; background: var(--gris); }
.slider__pista { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.slider__pista::-webkit-scrollbar { display: none; }
.slider__slide { flex: 0 0 100%; scroll-snap-align: start; }
.slider__slide img { width: 100%; height: auto; }
.slider__flecha {
	position: absolute; top: 50%; translate: 0 -50%;
	width: 46px; height: 46px; border: 0; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: rgb(255 255 255 / 85%); color: var(--titulo);
}
.slider__flecha:hover { background: var(--amarillo); }
.slider__flecha { opacity: 0; transition: opacity .25s ease, background .2s; }
.slider:hover .slider__flecha, .slider__flecha:focus-visible { opacity: 1; }
.slider__flecha--prev { left: 20px; }
.slider__flecha--next { right: 20px; }
.slider__puntos { position: absolute; left: 0; right: 0; bottom: 15px; display: flex; justify-content: center; gap: 8px; }
.slider__puntos button { width: 10px; height: 10px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: transparent; }
.slider__puntos button[aria-current="true"] { background: #fff; }

/* Portada (primer slide del home) */
.portada { position: relative; display: flex; align-items: center; min-height: clamp(480px, 36.5vw, 720px); background: #f4c947; overflow: hidden; }
.portada__foto { position: absolute; top: 0; right: 0; width: 56% !important; height: 100% !important; object-fit: cover; object-position: right center; -webkit-mask-image: linear-gradient(to right, transparent, #000 18%); mask-image: linear-gradient(to right, transparent, #000 18%); }
.portada__texto { position: relative; z-index: 1; padding-block: 60px; }
.portada__titulo { max-width: 40vw; margin: 0 0 22px; font: 500 clamp(32px, 3.3vw, 60px)/1.12 var(--f-titulo); color: #000; letter-spacing: -.01em; }
.portada__titulo strong { font-weight: 700; }
.portada__bajada { margin: 0 0 30px; font-size: clamp(16px, 1.5vw, 22px); line-height: 1.55; color: #111; }
.portada__opciones { display: flex; gap: 14px; margin-bottom: 30px; }
.portada__opciones button { padding: 8px 18px; border: 1px solid rgb(0 0 0 / 25%); border-radius: 6px; background: transparent; font: 400 17px/1.3 var(--f-texto); color: #222; cursor: pointer; transition: var(--transicion); }
.portada__opciones button:hover { border-color: #000; }
.portada__opciones button[aria-checked="true"] { border: 2px solid #000; background: #fff; font-weight: 600; color: #000; }
.portada__cta { display: inline-flex; align-items: center; gap: 14px; padding: 18px 28px; border-radius: 40px; background: #000; color: #fff; font: 500 18px/1 var(--f-titulo); transition: var(--transicion); }
.portada__cta b { font-weight: inherit; }
.portada__cta:hover { background: #333; color: #fff; }
.portada__otra { margin: 45px 0 0; font: 700 17px/1.4 var(--f-titulo); color: #000; }
.portada__otra a { display: inline-flex; align-items: center; gap: 10px; color: #000; border-bottom: 2px solid #000; }
.portada__otra a:hover { color: var(--rojo); border-color: var(--rojo); }
.portada .ico { font-size: .9em; }

/* ---------- Banners ---------- */

.banners { display: grid; gap: 30px; margin-bottom: 30px; }
.banners--2 { grid-template-columns: repeat(2, 1fr); }
.banners--4 { grid-template-columns: repeat(4, 1fr); }
.banner { position: relative; display: block; overflow: hidden; border-radius: var(--radio); color: rgb(255 255 255 / 80%); }
.banner img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
a.banner:hover img { transform: scale(1.04); }
a.banner:hover { color: rgb(255 255 255 / 80%); }
.banner__contenido {
	position: absolute; inset: auto 0 0 0;
	display: flex; flex-direction: column; align-items: center; gap: 4px;
	padding: 30px; text-align: center;
}
.banner__titulo { font: 700 22px/1.3 var(--f-titulo); color: #fff; }
.banner__texto { font-size: 14px; line-height: 1.6; }

/* Banner ancho "Pastelería de autor": la imagen ya trae las esquinas y el degradado */
.banner--ancho { border-radius: 0; }
.banner--ancho .banner__contenido { inset: 0 50% 0 0; justify-content: center; align-items: flex-start; gap: 0; padding: 30px 0 30px 10%; text-align: left; }
.banner--ancho .banner__titulo { margin-bottom: 15px; font: italic 700 40px/1.4 var(--f-alt); }
.banner--ancho .banner__texto { font-size: 16px; line-height: 1.6; }
.banner__boton {
	display: inline-flex; align-items: center; min-height: 42px; margin-top: 30px; padding: 5px 40px;
	border-radius: 35px; background: var(--amarillo); color: #000;
	font: 600 13px/1.2 var(--f-texto); text-transform: uppercase; transition: background .25s, color .25s;
}
a.banner:hover .banner__boton { background: var(--rojo); color: #fff; }

/* ---------- Grilla y tarjeta de producto ---------- */

ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--columnas, 4), minmax(0, 1fr)); gap: 30px 20px; }
.tienda ul.products { --columnas: 3; gap: 20px; }
.tienda ul.products.columns-2 { --columnas: 2; }
.tienda ul.products.columns-4 { --columnas: 4; }
ul.products::before, ul.products::after { display: none; }
ul.products > li.product { position: relative; display: flex; flex-direction: column; margin: 0; width: auto; float: none; text-align: center; }

/* Imagen + barra de compra (estilo "quick" de WoodMart) */
.tarjeta__media { position: relative; margin-bottom: 10px; overflow: hidden; border-radius: var(--radio); background: var(--gris); }
.tarjeta__imagen { display: block; }
.tarjeta__imagen img { width: 100%; aspect-ratio: 430 / 470; object-fit: cover; }
.etiqueta {
	position: absolute; top: 7px; right: 7px; z-index: 2;
	padding: 5px 10px; min-width: 50px;
	font: 600 12px/1.2 var(--f-texto); text-transform: uppercase; text-align: center;
}
.etiqueta--oferta { background: var(--amarillo); color: #fff; }

.tarjeta__comprar {
	--btn-bg: var(--negro); --btn-bg-hover: var(--rojo);
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 3;
	display: flex; min-height: 38px;
	opacity: .8; visibility: hidden;
	transform: translateY(103%);
	transition: transform .3s ease, opacity .3s ease;
}
li.product:hover .tarjeta__comprar, .tarjeta__comprar:focus-within { transform: none; visibility: visible; }
.tarjeta__comprar:hover { opacity: 1; }

.tarjeta__comprar .button {
	position: relative; flex: 1; min-height: 38px; margin: 0; padding: 0 10px;
	border-radius: 0; overflow: hidden;
	background: var(--btn-bg); color: #fff;
	font: 600 13px/1 var(--f-titulo); text-transform: uppercase;
}
.tarjeta__comprar:hover .button, .tarjeta__comprar:hover .quantity :is(input, button) { background: var(--btn-bg-hover); color: #fff; }
/* Al pasar el mouse el texto sube y aparece el ícono del carrito */
.tarjeta__comprar .button .ico, .tarjeta__comprar .button .tarjeta__texto { transition: transform .25s ease, opacity .15s ease; }
.tarjeta__comprar .button .ico { position: absolute; inset: 0; font-size: 20px; transform: translateY(100%); }
.tarjeta__comprar .button:hover .ico { transform: none; }
.tarjeta__comprar .button:hover .tarjeta__texto { transform: translateY(-250%); }
.tarjeta__comprar .button.loading .ico, .tarjeta__comprar .button.loading .tarjeta__texto { opacity: 0; }
.tarjeta__comprar .button.loading::after {
	content: ""; position: absolute; top: calc(50% - 9px); left: calc(50% - 9px);
	width: 18px; height: 18px; border: 1px solid transparent; border-left-color: currentColor; border-radius: 50%;
	animation: girar .45s infinite linear;
}
.tarjeta__comprar .button.added .ico::before { content: "\f107"; }
@keyframes girar { to { transform: rotate(360deg); } }

/* Cantidad superpuesta a la izquierda del botón (80px) */
.tarjeta__comprar .quantity { position: absolute; top: 0; bottom: 0; left: 0; z-index: 2; display: flex; filter: brightness(.95); }
.tarjeta__comprar .quantity :is(input, button) {
	height: 100%; min-height: 0; padding: 0 5px; border: 0; border-radius: 0;
	background: var(--btn-bg); color: #fff; font: 600 13px var(--f-titulo);
	transition: background .25s ease;
}
.tarjeta__comprar .quantity button { min-width: 25px; }
.tarjeta__comprar .quantity input { width: 30px; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.tarjeta__comprar .quantity input::-webkit-inner-spin-button, .tarjeta__comprar .quantity input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.tarjeta__comprar.tiene-cantidad .button { padding-left: 80px; }
.tarjeta__comprar.tiene-cantidad .button .ico { left: 80px; }
li.product .added_to_cart { display: none; }

.tarjeta__titulo { margin: 0 0 7px; font: 500 16px/1.4 var(--f-titulo); }
.tarjeta__titulo a { color: var(--titulo); }
.tarjeta__titulo a:hover { color: rgb(51 51 51 / 65%); }
li.product .price { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 0 4px; font: 600 14px/1.4 var(--f-texto); color: var(--amarillo); }
li.product .price .amount { color: var(--rojo); font-size: 16px; font-weight: 600; }
li.product .price del, li.product .price del .amount { color: #bbb; font-size: 12.6px; font-weight: 400; }
li.product .price ins { text-decoration: none; }
.price .screen-reader-text { position: absolute !important; }

/* Carruseles (productos destacados, Instagram) */
[data-carrusel] { position: relative; }
.carrusel__pista {
	display: grid !important; grid-auto-flow: column; grid-template-columns: none !important;
	grid-auto-columns: calc((100% - 60px) / 4); gap: 20px;
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth;
}
.carrusel__pista::-webkit-scrollbar { display: none; }
.carrusel__pista > * { scroll-snap-align: start; }
.carrusel__flecha {
	position: absolute; top: 35%; z-index: 3;
	width: 44px; height: 44px; border: 0; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #fff; color: var(--titulo); box-shadow: var(--sombra); font-size: 16px;
	opacity: 0; transition: opacity .25s ease;
}
[data-carrusel]:hover .carrusel__flecha:not(:disabled) { opacity: 1; }
.carrusel__flecha:disabled { pointer-events: none; }
.carrusel__flecha--prev { left: -22px; }
.carrusel__flecha--next { right: -22px; }
.carrusel__puntos { display: flex; justify-content: center; gap: 10px; margin-top: 30px; }
.carrusel__puntos button { width: 10px; height: 10px; padding: 0; border: 2px solid #bbb; border-radius: 50%; background: transparent; }
.carrusel__puntos button[aria-current="true"] { border-color: #333; background: #333; }

/* Instagram */
.insta { margin-bottom: 30px; }
.insta__lista { list-style: none; margin: 0; padding: 0; }
.insta .carrusel__pista { grid-auto-columns: calc((100% - 80px) / 5); }
.insta img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.insta a { display: block; overflow: hidden; }
.insta a:hover img { opacity: .85; }

/* ---------- Pestañas de productos (home) ---------- */

.pestanas { margin-block: 60px; }
.pestanas__cabecera {
	display: flex; align-items: stretch; gap: 25px; margin-bottom: 50px;
	border-bottom: 2px solid rgb(0 0 0 / 10.6%);
}
.pestanas__titulo {
	margin: 0 0 -2px; padding: 5px 0;
	border-bottom: 2px solid var(--amarillo);
	font: 700 22px/1.4 var(--f-titulo); color: var(--titulo); white-space: nowrap;
}
.pestanas__lista { display: flex; flex-wrap: wrap; align-items: center; gap: 0 30px; }
.pestanas__lista button {
	position: relative; padding: 1px 0; margin: 0 0 0 10px;
	border: 0; background: none;
	font: 500 14px/1.2 var(--f-titulo); color: rgb(51 51 51 / 70%);
}
.pestanas__lista button:hover { color: #333; }
.pestanas__lista button[aria-selected="true"] { color: #333; }
.pestanas__lista button[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--amarillo); }
.pestanas__cargando { min-height: 300px; display: flex; align-items: center; justify-content: center; color: var(--suave); }

/* ---------- Cajas (beneficios / cómo calentar) ---------- */

.cajas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.caja { padding: 65px 30px 30px; border-radius: 10px; background: #fbfbf9; text-align: center; min-height: 342px; }
.caja img { width: 100px; height: 100px; margin: 0 auto 15px; }
.caja__titulo { margin: 0; font: 600 18px/1.3 var(--f-titulo); color: var(--titulo); }
.caja p { margin: 10px 0 0; }
.caja--simple { background: none; padding: 0; min-height: 0; }
.caja--simple img { width: 168px; height: auto; margin-bottom: 15px; }

/* Franjas a todo el ancho con imagen de fondo (como en WoodMart) */
.franja { background: center / cover no-repeat; }
.franja--video { padding-block: 20px; background-image: url(../img/fondo-home-video.webp); background-position: 100% 50%; }
.franja--calentar { padding-block: 110px; background-image: url(../img/fondo-iconos.webp); }

.calentar { display: grid; grid-template-columns: 1fr 3fr; gap: 30px; align-items: center; }
.calentar__titulo { margin-bottom: 15px; font: 700 26px/1.4 var(--f-titulo); color: rgb(59 57 52); }
.calentar__intro p { margin: 0; }
.calentar__metodos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }

/* ---------- Video ---------- */

.video-home { display: grid; grid-template-columns: 7fr 5fr; gap: 30px; align-items: center; min-height: 442px; }
.video { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #000; cursor: pointer; }
.video img, .video iframe { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
.video__play {
	position: absolute; top: 50%; left: 50%; translate: -50% -50%;
	width: 68px; height: 48px; border: 0; border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
	background: #f00; color: #fff; transition: background var(--transicion);
}
.video:hover .video__play { background: #c00; }
.video__play .icono { width: 26px; height: 26px; margin-left: 2px; }
.video-home__desc { max-width: 70%; font-size: 14px; }

/* ---------- Contenido de páginas ---------- */

.texto { max-width: 860px; margin-inline: auto; font-size: 15px; }
.texto h2 { font-size: 24px; margin-top: 1.5em; }
.texto h3 { font-size: 19px; margin-top: 1.3em; }
.texto img { border-radius: var(--radio); }
.texto table:not(.shop_table):not(.woocommerce-table) { width: 100%; border-collapse: collapse; margin-bottom: 1.5em; }
.texto table:not(.shop_table):not(.woocommerce-table) :is(th, td) { padding: 10px; border: 1px solid var(--borde); text-align: left; }
.contenido--woo .texto, .woocommerce-cart .texto, .woocommerce-checkout .texto, .woocommerce-account .texto { max-width: none; }

.entradas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.entrada img { border-radius: var(--radio); margin-bottom: 15px; }
.entrada__titulo { font-size: 18px; }
.pagina-404 { text-align: center; max-width: 560px; }
.pagina-404 .form-buscar { margin: 30px 0; }

/* Migas de pan */
.migas { margin-bottom: 25px; font-size: 13px; color: var(--suave); }
.migas a { color: var(--suave); }
.migas a:hover { color: var(--rojo); }
.migas__sep { margin-inline: 8px; }

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
	:root { --header-h: 60px; }
	.huincha__lista li { font-size: 13px; padding-block: 10px; }
	.huincha__lista li::after { margin-inline: 22px; }
	.nav-principal { display: none; }
	.header__fila { gap: 5px; }
	.header__burger { display: inline-flex; order: 2; }
	.logo { margin-right: auto; }
	.header__acciones { order: 3; margin-left: 0; margin-right: -10px; }
	.logo__img { width: 150px; }
	.header__acciones { border: 0; padding: 0; }
	.header__cuenta, .buscador { display: none; }
	.header__carrito .ico--carrito { display: none; }
	.header__carrito .ico--bolsa { display: inline-flex; }

	/* Tarjeta en móvil/tablet: botón cuadrado con ícono + cantidad amarilla, siempre visible */
	.tarjeta__comprar { right: auto; transform: none; visibility: visible; opacity: 1; min-height: 40px; }
	.tarjeta__comprar .button { flex: 0 0 auto; width: 40px; height: 40px; min-height: 40px; padding: 0; }
	.tarjeta__comprar .button .tarjeta__texto { display: none; }
	.tarjeta__comprar .button .ico { transform: none; left: 0; }
	.tarjeta__comprar.tiene-cantidad .button { width: 120px; padding: 0 80px 0 0; }
	.tarjeta__comprar.tiene-cantidad .button .ico { left: 0; right: 80px; }
	.tarjeta__comprar .quantity { left: 40px; filter: none; }
	.tarjeta__comprar .quantity :is(input, button) { background: var(--amarillo) !important; color: var(--titulo) !important; }
	.header.es-fijo .header__fila { height: var(--header-h); }

	ul.products { --columnas: 3; }
	.carrusel__pista { grid-auto-columns: calc((100% - 40px) / 3); }
	.recomendados .carrusel__pista { grid-auto-columns: 100%; }
	.insta .carrusel__pista { grid-auto-columns: calc((100% - 40px) / 3); }
	.footer__col:not(:first-child) { padding-left: 0; }
	.pestanas__cabecera { flex-direction: column; align-items: flex-start; gap: 15px; border: 0; }
	.pestanas__titulo { margin: 0; }
	.carrusel__flecha--prev { left: -8px; }
	.carrusel__flecha--next { right: -8px; }
	.banners--4 { grid-template-columns: repeat(2, 1fr); }
	.footer__columnas { grid-template-columns: repeat(2, 1fr); }
	.calentar { grid-template-columns: 1fr; text-align: center; }
	.video-home { grid-template-columns: 1fr; gap: 30px; }
	.video-home__desc { max-width: none; }
}

@media (max-width: 782px) {
	.admin-bar .header { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .header { top: 0; }
}

@media (max-width: 767px) {
	.seccion { margin-block: 40px; }
	.titulo-seccion { margin-bottom: 25px; }
	.titulo-seccion__titulo, .pestanas__titulo { font-size: 26px; }
	.titulo-seccion__sub { font-size: 24px; }
	.banda-titulo { margin-bottom: 30px; padding-block: 35px; }

	ul.products, .tienda ul.products { --columnas: 2; gap: 25px 12px; }
	.carrusel__pista { grid-auto-columns: calc((100% - 12px) / 2); gap: 12px; }
	.insta .carrusel__pista { grid-auto-columns: calc((100% - 12px) / 2); }
	.franja--calentar { padding-block: 60px; }
	.caja { min-height: 0; padding: 30px; }
	.carrusel__flecha { display: none; }
	.tarjeta__titulo { font-size: 14px; }
	li.product .price { font-size: 15px; }

	.banners--2, .banners--4 { grid-template-columns: 1fr; }
	.banners { gap: 20px; margin-bottom: 20px; }
	.banner--ancho .banner__contenido { inset: auto 0 0 0; padding: 25px; }
	.cajas, .calentar__metodos { grid-template-columns: 1fr; gap: 15px; }
	.pestanas__cabecera { margin-bottom: 25px; }
	.pestanas__lista { flex-wrap: nowrap; justify-content: flex-start; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
	.pestanas__lista button { white-space: nowrap; }
	.slider__flecha { display: none; }

	.footer__columnas { grid-template-columns: 1fr; gap: 30px; padding-block: 50px 20px; }
	.entradas { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.huincha__pista { animation: none; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ---------- Páginas institucionales: bloque imagen + texto ---------- */

.bloque-img { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.bloque-img--invertido .bloque-img__media { order: -1; }
.bloque-img__titulo { margin: 0 0 25px; font: 700 30px/1.3 var(--f-titulo); color: var(--titulo); }
.bloque-img__cargo { margin: -10px 0 20px; font: italic 20px/1.4 var(--f-alt); color: var(--rojo); }
.bloque-img__desc { max-width: 90%; font-size: 15px; }
.bloque-img__desc p { margin: 0 0 1em; }
.bloque-img__texto .boton { margin-top: 15px; }
.bloque-img__media img { width: 100%; height: auto; border-radius: var(--radio-chico); }
.seccion--centro .boton .icono { width: 14px; height: 14px; vertical-align: -2px; }

@media (max-width: 767px) {
	.bloque-img { grid-template-columns: 1fr; gap: 25px; }
	.bloque-img--invertido .bloque-img__media { order: 0; }
	.bloque-img__desc { max-width: none; }
	.bloque-img__titulo { font-size: 24px; }
}

/* ---------- Páginas institucionales: piezas comunes ---------- */

.titulo-pagina { margin: 0 0 40px; font: 700 30px/1.3 var(--f-titulo); color: var(--titulo); text-align: center; }
.dos-col { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.dos-col--centro { align-items: start; justify-items: center; }
.dos-col__img img { width: 100%; height: auto; border-radius: var(--radio-chico); margin-bottom: 25px; }
.nota { font-size: 13px; color: var(--suave); }
.lista-check { margin: 0 0 1em; padding: 0; list-style: none; }
.lista-check li { position: relative; padding-left: 26px; margin-bottom: 6px; }
.lista-check li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 12px; height: 7px; border: solid var(--amarillo); border-width: 0 0 2px 2px; transform: rotate(-45deg); }

/* Contacto */
.datos-contacto { margin: 30px 0 0; padding: 0; list-style: none; display: grid; gap: 18px; }
.datos-contacto li { display: flex; gap: 14px; align-items: flex-start; font-size: 15px; }
.datos-contacto .icono { flex: none; width: 22px; height: 22px; color: var(--amarillo); margin-top: 1px; }
.datos-contacto a { color: inherit; }
.formulario { padding: 35px; border-radius: var(--radio); background: var(--gris); }
.formulario__titulo { margin: 0 0 20px; font: 700 22px/1.3 var(--f-titulo); color: var(--titulo); }
.formulario input:not([type="submit"]):not([type="checkbox"]), .formulario textarea, .formulario select { width: 100%; }
.formulario textarea { min-height: 140px; }

/* Mapa: se carga al hacer clic */
.mapa { position: relative; height: 420px; margin-top: 20px; background: var(--gris) url(../img/fondo-iconos.webp) center / cover; }
.mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mapa__boton { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: 100%; border: 0; background: rgb(255 255 255 / 55%); cursor: pointer; font: 600 16px/1.4 var(--f-titulo); color: var(--titulo); }
.mapa__boton .icono { width: 36px; height: 36px; color: var(--rojo); }

/* Cobertura */
.tabla-cobertura { width: 100%; max-width: 420px; margin: 5px 0 20px; border-collapse: collapse; font-size: 15px; }
.tabla-cobertura th { text-align: left; font: 600 13px/1.4 var(--f-titulo); text-transform: uppercase; color: var(--suave); border-bottom: 2px solid var(--amarillo); padding: 8px 0; }
.tabla-cobertura td { padding: 9px 0; border-bottom: 1px solid var(--borde); }
.tabla-cobertura td:last-child, .tabla-cobertura th:last-child { text-align: right; font-weight: 600; }
.tabla-cobertura__gratis { font-weight: 600; color: var(--rojo); }

/* FAQ (acordeón con <details>) */
.faq { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.faq__item { border-bottom: 1px solid var(--borde); }
.faq__item summary { position: relative; padding: 18px 30px 18px 0; list-style: none; cursor: pointer; font: 600 16px/1.4 var(--f-titulo); color: var(--titulo); }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: "+"; position: absolute; right: 4px; top: 50%; translate: 0 -50%; font-size: 22px; font-weight: 400; color: var(--rojo); }
.faq__item[open] summary::after { content: "−"; }
.faq__resp { padding-bottom: 18px; font-size: 15px; }
.faq__resp p { margin: 0 0 .8em; }

/* Alianzas */
.datos-aliado { margin: 10px 0 0; padding: 0; list-style: none; font-size: 15px; }
.datos-aliado li { margin-bottom: 6px; }
.caja-cupon { padding: 30px; border: 2px dashed var(--amarillo); border-radius: var(--radio); background: #fffbea; font-size: 15px; }
.caja-cupon p:last-child, .caja-cupon ul:last-child { margin-bottom: 0; }

/* Instrucciones */
.instruccion { width: 100%; max-width: 420px; text-align: center; }
.instruccion__titulo { margin: 0 0 15px; font: 700 22px/1.3 var(--f-titulo); color: var(--titulo); }
.instruccion__video { width: 100%; height: auto; border-radius: var(--radio-chico); background: #000; }

@media (max-width: 767px) {
	.dos-col, .faq { grid-template-columns: 1fr; gap: 30px; }
	.faq { gap: 0; }
	.formulario { padding: 25px 20px; }
	.mapa { height: 320px; }
	.titulo-pagina { font-size: 24px; }
}

/* Formularios de Contact Form 7 */
.formulario .wpcf7-form p { margin: 0 0 14px; }
.formulario input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .formulario textarea, .formulario select {
	min-height: 46px; padding: 10px 15px; border: 1px solid var(--borde); border-radius: var(--radio-chico);
	background: var(--blanco); font: 15px/1.4 var(--f-texto); color: var(--texto); transition: border-color var(--transicion);
}
.formulario input:focus, .formulario textarea:focus, .formulario select:focus { outline: none; border-color: var(--amarillo); }
.formulario input[type="submit"] {
	min-height: 44px; padding: 10px 40px; border: 0; border-radius: 35px; background: var(--negro); color: var(--blanco);
	font: 600 13px/1.2 var(--f-titulo); text-transform: uppercase; letter-spacing: .3px; cursor: pointer; transition: background var(--transicion);
}
.formulario input[type="submit"]:hover { background: var(--rojo); }
.formulario .wpcf7-spinner { vertical-align: middle; }
.formulario .wpcf7-not-valid-tip { font-size: 13px; }
.formulario .wpcf7-response-output { margin: 15px 0 0 !important; border-radius: var(--radio-chico); font-size: 14px; }

/* Buscador: resultados mientras se escribe */
.form-buscar { position: relative; }
.buscar-resultados { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 200; max-height: min(70vh, 480px); overflow-y: auto; padding: 6px; border: 1px solid var(--borde); border-radius: var(--radio-chico); background: #fff; box-shadow: var(--sombra); text-align: left; }
.buscar-resultados[hidden] { display: none; }
.buscar-resultados__item { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; padding: 8px; border-radius: var(--radio-chico); color: var(--titulo); }
.buscar-resultados__item:hover, .buscar-resultados__item.es-activo { background: #fff6d1; color: var(--titulo); }
.buscar-resultados__item img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; }
.buscar-resultados__nombre { font-size: 14px; font-weight: 600; line-height: 1.3; }
.buscar-resultados__precio { font-size: 13px; color: var(--suave); white-space: nowrap; }
.buscar-resultados__item.es-agotado { opacity: .55; }
.buscar-resultados__todos { display: block; margin-top: 4px; padding: 10px; border-top: 1px solid var(--borde); font-size: 13px; font-weight: 700; text-align: center; color: var(--rojo); }
.buscar-resultados__msg { margin: 0; padding: 14px; font-size: 14px; color: var(--suave); }

@media (max-width: 900px) {
	.portada { flex-direction: column; align-items: stretch; min-height: 0; }
	.portada__foto { position: static; order: -1; width: 100% !important; height: 260px !important; object-position: 70% center; }
	.portada__titulo { max-width: none; }
	.portada__salto { display: none; }
	.portada__foto { -webkit-mask-image: none; mask-image: none; }
	.portada__texto { padding-block: 28px 50px; }
	.portada__titulo { margin-bottom: 14px; }
	.portada__bajada { margin-bottom: 20px; }
	.portada__bajada br { display: none; }
	.portada__opciones { gap: 8px; margin-bottom: 20px; }
	.portada__opciones button { flex: 1; padding: 9px 6px; font-size: 15px; }
	.portada__cta { width: 100%; justify-content: center; font-size: 16px; padding: 16px 20px; }
	.portada__otra { margin-top: 24px; font-size: 15px; }
}

/* Home: ¿Qué se te antoja hoy? */
.antojos__cabeza { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 36px; }
.antojos__antetitulo { margin: 0 0 6px; font: 500 15px/1.3 var(--f-titulo); letter-spacing: .02em; text-transform: uppercase; color: #a86149; }
.antojos__titulo { margin: 0; font: 700 clamp(26px, 2.6vw, 40px)/1.15 var(--f-titulo); text-transform: uppercase; color: #111; }
.antojos__todo { display: inline-flex; align-items: center; gap: 14px; flex-shrink: 0; padding: 16px 26px; border-radius: 40px; background: #000; color: #fff; font: 500 16px/1 var(--f-titulo); transition: var(--transicion); }
.antojos__todo:hover { background: #333; color: #fff; }
.antojos__grilla { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.antojo { position: relative; display: block; aspect-ratio: 49 / 43; overflow: hidden; border-radius: 28px; background: #111; color: #fff; isolation: isolate; }
.antojo img { position: absolute; inset: 0 0 auto; width: 100%; height: 78%; object-fit: cover; object-position: center top; transition: transform .5s ease; }
.antojo::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to bottom, transparent 38%, rgb(17 17 17 / 60%) 58%, #111 77%); }
.antojo:hover img { transform: scale(1.05); }
.antojo__texto { position: absolute; left: 9%; right: 25%; bottom: 9%; z-index: 2; display: flex; flex-direction: column; gap: 4px; }
.antojo__bajada { font: 400 clamp(13px, 1.1vw, 18px)/1.2 var(--f-titulo); letter-spacing: .02em; opacity: .92; }
.antojo__nombre { font: 700 clamp(16px, 1.45vw, 23px)/1.2 var(--f-titulo); }
.antojo__flecha { position: absolute; right: 6%; bottom: 9%; z-index: 2; display: grid; place-items: center; width: 52px; height: 52px; border: 2px solid #fff; border-radius: 50%; font-size: 18px; transition: var(--transicion); }
.antojo:hover .antojo__flecha { background: var(--amarillo); border-color: var(--amarillo); color: #000; }
.antojo:hover { color: #fff; }

@media (max-width: 767px) {
	.antojos__cabeza { flex-direction: column; align-items: flex-start; margin-bottom: 20px; }
	.antojos__antetitulo { font-size: 12px; }
	.antojos__todo { order: 3; padding: 12px 20px; font-size: 14px; }
	.antojos__grilla { grid-template-columns: 1fr; gap: 14px; }
	.antojo { aspect-ratio: 16 / 10; border-radius: 18px; }
	.antojo img { height: 70%; }
	.antojo::after { background: linear-gradient(to bottom, transparent 30%, rgb(17 17 17 / 60%) 50%, #111 69%); }
	.antojo__texto { left: 12px; right: 12px; bottom: 12px; }
	.antojo__bajada { font-size: 14px; }
	.antojo__nombre { font-size: 19px; }
	.antojo__flecha { display: none; }
}

/* Home: Hay un plato para cada ocasión */
.planes__grilla { display: grid; grid-template-columns: repeat(2, 1fr); gap: 46px 22px; }
.plan { position: relative; display: flex; align-items: center; aspect-ratio: 960 / 493; overflow: hidden; border-radius: 32px; background-color: #f6f5ee; background-image: var(--plan-bg); background-size: cover; background-position: center center; background-repeat: no-repeat; color: #111; }
.plan:hover { box-shadow: 0 6px 24px rgba(0,0,0,.08); }
.plan:hover { color: #111; }
.plan__texto { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; width: 50%; padding: 0 3% 0 6.5%; }
.plan__titulo { margin-bottom: 16px; font: 700 clamp(24px, 2.1vw, 40px)/1.18 var(--f-titulo); }
.plan__ult { white-space: nowrap; }
.plan__doodle { display: inline-block; width: .8em; height: .8em; margin-left: .2em; vertical-align: -.05em; fill: none; stroke: var(--amarillo); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.plan__desc { margin-bottom: 30px; font-size: clamp(15px, 1.15vw, 19px); line-height: 1.45; color: #222; }
.plan__boton { display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px; border: 1.5px solid #000; border-radius: 30px; font-size: 16px; transition: var(--transicion); }
.plan:hover .plan__boton { background: #000; color: #fff; }

/* Home: Pastelería de autor */
.pasteleria { position: relative; display: flex; align-items: center; min-height: clamp(380px, 30vw, 560px); overflow: hidden; border-radius: 32px; background: #000; color: #fff; isolation: isolate; }
.pasteleria__foto { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: right center; transform: scale(1.03); transition: transform .6s ease; }
.pasteleria::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to right, rgb(0 0 0 / 88%) 0%, rgb(0 0 0 / 60%) 38%, transparent 62%); }
.pasteleria:hover .pasteleria__foto { transform: scale(1.06); }
.pasteleria:hover { color: #fff; }
.pasteleria__texto { display: flex; flex-direction: column; align-items: flex-start; max-width: 760px; padding: 40px 0 40px 6%; }
.pasteleria__titulo { margin-bottom: 26px; font: 700 clamp(30px, 3.3vw, 58px)/1.1 var(--f-titulo); }
.pasteleria__desc { max-width: 540px; margin-bottom: 36px; font-size: clamp(15px, 1.35vw, 22px); line-height: 1.3; }
.pasteleria__boton { display: inline-flex; align-items: center; gap: 12px; padding: 18px 30px; border-radius: 40px; background: #f4c947; color: #000; font: 700 clamp(15px, 1.15vw, 19px)/1 var(--f-titulo); transition: var(--transicion); }
.pasteleria:hover .pasteleria__boton { background: var(--amarillo); }

@media (max-width: 900px) {
	.planes__grilla { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 767px) {
	.plan { background-image: var(--plan-bg-movil); aspect-ratio: 724 / 950; min-height: 0; border-radius: 22px; background-position: center top; align-items: flex-start; }
	.plan__texto { width: 100%; padding: 28px 26px 0; justify-content: flex-start; }
	.plan__titulo { margin-bottom: 10px; font-size: 27px; }
	.plan__desc { margin-bottom: 18px; font-size: 14px; }
	.plan__boton { gap: 8px; padding: 9px 16px; font-size: 14px; }
	.pasteleria { align-items: flex-start; min-height: 600px; border-radius: 22px; }
	.pasteleria__foto { object-position: center bottom; transform: none; }
	.pasteleria::before { background: linear-gradient(to bottom, rgb(0 0 0 / 70%) 0%, rgb(0 0 0 / 30%) 45%, transparent 65%); }
	.pasteleria__texto { padding: 34px 22px; }
	.pasteleria__titulo { margin-bottom: 12px; }
	.pasteleria__desc { margin-bottom: 20px; }
	.pasteleria__boton { padding: 14px 22px; }
}

/* Home: Un combo que va contigo */
.combos .antojos__cabeza { margin-bottom: 26px; }
.combos__pestanas { display: flex; flex-wrap: wrap; gap: 14px 22px; margin-bottom: 46px; }
.combos__pestanas button { padding: 11px 24px; border: 1.5px solid #000; border-radius: 30px; background: #fff; font: 600 17px/1.2 var(--f-texto); color: #000; transition: var(--transicion); }
.combos__pestanas button:hover { background: #fdf3cf; }
.combos__pestanas button[aria-selected="true"] { border-color: #f4c947; background: #f4c947; }
.combo { display: grid; grid-template-columns: 49% 1fr; grid-template-rows: 410px; overflow: hidden; border-radius: 32px; background: #f5f2ec; }
.combo[hidden] { display: none; }
.combo__foto { width: 100%; height: 100%; object-fit: cover; }
.combo__texto { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 28px 8% 28px 28%; }
.combo__texto::before { content: ""; position: absolute; top: 3%; left: 0; width: 26%; height: 75%; background: url(../img/combo-hoja.webp) left top / contain no-repeat; pointer-events: none; }
.combo__antetitulo { margin: 0 0 12px; font: 500 15px/1.3 var(--f-titulo); text-transform: uppercase; letter-spacing: .02em; color: #4d5a3a; }
.combo__titulo { margin: 0 0 18px; font: 700 clamp(26px, 2.4vw, 40px)/1.2 var(--f-titulo); color: #111; }
.combo__desc { margin: 0 0 28px; font-size: clamp(15px, 1.2vw, 19px); line-height: 1.4; color: #333; }
.combo__boton { display: inline-flex; align-items: center; gap: 12px; padding: 14px 24px; border-radius: 30px; background: #000; color: #fff; font: 600 17px/1 var(--f-texto); transition: var(--transicion); }
.combo__boton:hover { background: #333; color: #fff; }

/* Home: Recomendados del chef */

/* Home: El toque del chef */
.chef { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 8%; }
.chef__media img, .chef__media video { display: block; width: 100%; height: auto; aspect-ratio: 743 / 407; object-fit: cover; border-radius: 28px; }
.chef__texto { display: flex; flex-direction: column; align-items: flex-start; }
.chef__texto .antojos__titulo { margin-bottom: 18px; }
.chef__desc { margin: 0 0 30px; font-size: clamp(15px, 1.35vw, 22px); line-height: 1.55; color: #333; }
.chef__desc strong { font-weight: 700; color: #222; }

/* Home: ¿Cómo calentar tu pedido? */
.calentar2 { position: relative; overflow: hidden; padding-block: 120px; background: #282624; color: #fff; isolation: isolate; }
.calentar2::before, .calentar2::after { content: ""; position: absolute; z-index: -1; pointer-events: none; }
.calentar2::before { top: 0; right: 0; bottom: 0; width: 230px; background: url(../img/calentar-der.webp) right center / cover no-repeat; -webkit-mask-image: linear-gradient(to right, transparent, #000 60%); mask-image: linear-gradient(to right, transparent, #000 60%); }
.calentar2::after { left: 0; bottom: 0; width: 360px; height: 150px; background: url(../img/calentar-izq.webp) left bottom / cover no-repeat; -webkit-mask-image: radial-gradient(ellipse at left bottom, #000 35%, transparent 72%); mask-image: radial-gradient(ellipse at left bottom, #000 35%, transparent 72%); }
.calentar2__fila { display: grid; grid-template-columns: 34% 1fr; align-items: center; gap: 6%; }
.calentar2 .antojos__antetitulo { color: #f4c947; }
.calentar2 .antojos__titulo { margin-bottom: 14px; color: #fff; }
.calentar2__intro p:last-child { margin: 0; font-size: clamp(15px, 1.35vw, 22px); line-height: 1.5; color: #eee; }
.calentar2__metodos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; text-align: center; }
.calentar2__metodo img { width: 150px; height: auto; margin: 0 auto 22px; }
.calentar2__metodo h3 { margin: 0 0 14px; font: 700 clamp(18px, 1.5vw, 24px)/1.2 var(--f-titulo); color: #fff; }
.calentar2__metodo p { margin: 0; font-size: 16px; line-height: 1.6; color: #ddd; }

@media (max-width: 900px) {
	.combo { grid-template-columns: 1fr; grid-template-rows: auto; }
	.combo__foto { min-height: 0; height: 240px; }
	.combo__texto { padding: 28px 24px 32px; }
	.combo__texto::before { display: none; }
	.chef { grid-template-columns: 1fr; gap: 30px; }
	.calentar2 { padding-block: 60px; }
	.calentar2::before { width: 120px; opacity: .6; }
	.calentar2__fila { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 767px) {
	.combos__pestanas { flex-wrap: nowrap; gap: 8px; margin: 0 -15px 24px; padding: 0 15px 4px; overflow-x: auto; scrollbar-width: none; }
	.combos__pestanas::-webkit-scrollbar { display: none; }
	.combos__pestanas button { flex-shrink: 0; padding: 9px 16px; font-size: 14px; }
	.combo { border-radius: 22px; }
	.combo__boton { font-size: 15px; padding: 12px 20px; }
	.calentar2__metodos { grid-template-columns: 1fr; gap: 34px; }
	.calentar2__metodo img { width: 110px; margin-bottom: 14px; }
	.calentar2__metodo p { font-size: 14px; }
}

/* Home: Tú eliges cómo recibirlo */
.entrega { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 6%; }
.entrega__texto { display: flex; flex-direction: column; align-items: flex-start; }
.entrega__texto .antojos__titulo { margin-bottom: 26px; }
.entrega__desc { max-width: 600px; margin: 0 0 30px; font-size: clamp(15px, 1.35vw, 22px); line-height: 1.55; color: #333; }
.entrega__mapa { display: block; width: 78%; margin: 30px 0 0 5%; }
.entrega__mapa img { width: 100%; height: auto; mix-blend-mode: multiply; }
.entrega__local { position: relative; overflow: hidden; border-radius: 32px; background: #222; color: #fff; }
.entrega__local img { display: block; width: 100%; height: auto; aspect-ratio: 716 / 796; object-fit: cover; }
.entrega__local::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(to bottom, transparent, rgb(0 0 0 / 82%) 50%, rgb(0 0 0 / 88%)); }
.entrega__local-texto { position: absolute; left: 9%; right: 9%; bottom: 8%; z-index: 1; }
.entrega__local-texto h3 { margin: 0 0 10px; font: 700 clamp(22px, 2vw, 32px)/1.2 var(--f-titulo); color: #fff; }
.entrega__local-texto p { margin: 0 0 22px; font-size: clamp(16px, 1.4vw, 24px); color: #fff; }
.entrega__local-texto a { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 6px; border-bottom: 1.5px solid #fff; color: #fff; font: 700 clamp(15px, 1.2vw, 20px)/1.2 var(--f-texto); }
.entrega__local-texto a:hover { color: var(--amarillo); border-color: var(--amarillo); }

/* Home: Instagram */
.instagram .antojos__titulo { text-transform: none; }
.instagram img { border-radius: 18px; }

@media (max-width: 900px) {
	.entrega { grid-template-columns: 1fr; gap: 30px; }
	.entrega__mapa { width: 100%; margin: 24px 0 0; }
	.entrega .antojos__todo { order: 0; }
	.entrega__local { border-radius: 22px; }
	.entrega__local img { aspect-ratio: 4 / 3.4; }
}

/* Fondo sección "Nosotros ya cocinamos por ti" */
.calentar2{background:linear-gradient(rgba(20,18,16,.5),rgba(20,18,16,.5)),url(../img/nosotros-cocinamos.webp) center/cover no-repeat;}
.calentar2::before,.calentar2::after{display:none;}

/* === AJUSTES HOME 2 (Daniela) === */
/* Banner como fondo del primer slide (portada) */
.portada{background:#f4c947 url(../img/portada-fondo.jpg) center center/cover no-repeat;}
@media (max-width:767px){.portada{background-image:url(../img/portada-fondo-movil.jpg);background-position:center top;aspect-ratio:430/880;min-height:0;}.portada__otra{display:none;}}
/* Igualar alto de los slides de imagen (sacar franja gris) */
.slider__slide:not(.portada){height:clamp(480px,36.5vw,720px);}
.slider__slide:not(.portada) > a,.slider__slide:not(.portada) picture{display:block;height:100%;}
.slider__slide:not(.portada) img{width:100%;height:100%;object-fit:cover;}
/* Nombres de producto del home: semi-bold y un poco más chicos */

/* === AJUSTE SLIDER ALTURA (que los slides de imagen se estiren al alto de la portada) === */
.slider__slide:not(.portada){height:auto;position:relative;}
.slider__slide:not(.portada) > a,.slider__slide:not(.portada) picture{position:absolute;inset:0;height:auto;display:block;}
.slider__slide:not(.portada) img{width:100%;height:100%;object-fit:cover;}

/* Video YouTube temporal en seccion chef */
.chef__media--video{position:relative;aspect-ratio:743/407;width:100%;border-radius:28px;overflow:hidden;background:#000;}
.chef__media--video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* === Checkout 2 columnas UX (escritorio): formulario + resumen fijo al lado === */
@media (min-width:1000px){
  .woocommerce-checkout form.checkout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 400px;
    column-gap:48px;
    align-items:start;
  }
  .woocommerce-checkout #customer_details{ grid-column:1; grid-row:1 / span 2; }
  .woocommerce-checkout #order_review_heading{ grid-column:2; grid-row:1; margin-top:0; }
  .woocommerce-checkout #order_review{
    grid-column:2; grid-row:2;
    position:sticky; top:20px;
    background:#fff;
    border:1px solid var(--borde);
    border-radius:var(--radio-chico);
    padding:24px;
  }
}

/* refuerzo 2 columnas checkout (gana a float/width de WooCommerce) */
@media (min-width:1000px){
  .woocommerce-checkout form.checkout{ display:grid !important; grid-template-columns:minmax(0,1fr) 400px !important; }
  .woocommerce-checkout form.checkout > #customer_details{ grid-column:1 !important; grid-row:1 / span 2 !important; width:auto !important; float:none !important; }
  .woocommerce-checkout form.checkout > #order_review_heading{ grid-column:2 !important; grid-row:1 !important; width:auto !important; float:none !important; }
  .woocommerce-checkout form.checkout > #order_review{ grid-column:2 !important; grid-row:2 !important; width:auto !important; float:none !important; }
}

/* === Ajustes diseno feedback Daniela === */
/* Rojo unificado: subtitulo del home = rojo de marca */
.antojos__antetitulo{ color: var(--rojo); }
/* Nombres de producto en recomendados: medium, como la tienda */
/* Precio tachado en gris en todas las tarjetas (como la tienda) */
.tarjeta del, .tarjeta del .amount, li.product del, li.product del .amount{ color:#bbb !important; font-weight:400 !important; }
/* Etiqueta OFERTA en capsula */
.etiqueta{ border-radius:999px; }
/* Sacar badge "Quedan N" */
.stock-bajo{ display:none !important; }
/* Sacar barra de filtros rapidos de la tienda */
.filtros-rapidos{ display:none !important; }
/* Sacar capa oscura de "Nosotros ya cocinamos por ti" (la foto ya trae opacidad) */
.calentar2{ background:url(../img/nosotros-cocinamos.webp) center/cover no-repeat !important; }
/* Sacar capa de "Retira en el local" */
.entrega__local::after{ display:none !important; }

/* TU PEDIDO sin fondo gris suelto (checkout) */
.woocommerce-checkout #order_review_heading{ background:transparent !important; padding:0 0 10px !important; text-align:left; }

/* mini-cart nombre fix: nombre del producto en el carrito lateral, medium y chico */
.carrito-lateral .woocommerce-mini-cart-item > a:not(.remove),
.woocommerce-mini-cart-item > a:not(.remove){ font: 500 14px/1.35 var(--f-titulo) !important; }

/* Sacar lineas filtro layered: el pseudo-checkbox que se ve como linea gris en "Filtrar por" */
.woocommerce-widget-layered-nav-list__item a::before{ content:none !important; }

/* Contacto como prod: formulario sin fondo gris + sin iconos amarillos en los datos */
.formulario{ background:none !important; padding:0 !important; }
.datos-contacto .icono{ display:none !important; }

/* === Ajustes 28 oct (Daniela): antojos sin capa extra, h2 home mas chicos, iconos planes === */
/* La foto de las tarjetas de antojos ya trae su propio oscurecido: saco la capa que habia agregado */
.antojo::after { display: none !important; }
.antojo img { inset: -1px !important; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important; max-width: none !important; }  /* overscan 1px: tapa la costura negra del borde (6-nov) */
/* H2 del home un poco mas chicos */
.antojos__titulo { font-size: clamp(22px, 2.2vw, 34px) !important; }
/* Iconos nuevos de los planes (amarillos, con su propio color): solo tamano, sin forzar fill/stroke */
.plan__doodle { width: 1.05em !important; height: 1.05em !important; margin-left: .25em; vertical-align: -.16em; fill: revert !important; stroke: revert !important; overflow: visible; }

/* Ilustraciones por combo (reemplazan la hojita combo-hoja) */
#combo-0 .combo__texto::before { background-image: url(../img/combo-il-vegetariano.jpg); }
#combo-1 .combo__texto::before { background-image: url(../img/combo-il-ninos.jpg); }
#combo-2 .combo__texto::before { background-image: url(../img/combo-il-oficina.jpg); }
#combo-3 .combo__texto::before { background-image: url(../img/combo-il-proteina.jpg); }
#combo-4 .combo__texto::before { background-image: url(../img/combo-il-parados.png); }
#combo-5 .combo__texto::before { background-image: url(../img/combo-il-invitados.jpg); }
/* Subtítulo (antetítulo) del combo con el color de su ilustración */
#combo-1 .combo__antetitulo { color: #D99527; } /* niños: amarillo */
#combo-2 .combo__antetitulo { color: #633A90; } /* oficina: morado */
#combo-3 .combo__antetitulo { color: #C03C10; } /* proteína: naranja */
#combo-4 .combo__antetitulo { color: #1C4C7E; } /* para dos: azul */
#combo-5 .combo__antetitulo { color: #D6573A; } /* invitados: coral */


/* ---------- Slide "Lasañas y Pastas" del slider (HTML, como la portada) ---------- */
.slider__slide.slide-banner { position: relative; display: flex; align-items: center; min-height: clamp(480px, 36.5vw, 720px); background-color: #f6f1e4; background-repeat: no-repeat; background-position: center center; background-size: cover; overflow: hidden; }
.slide-banner--lasanas { background-image: url(../img/banner-lasanas.jpg); }
.slide-banner--filete  { background-image: url(../img/banner-filete.jpg); }
.slide-banner--picoteo { background-image: url(../img/banner-picoteo.jpg); }
.slide-banner__texto { position: relative; z-index: 1; padding-block: 50px; }
.slide-banner__ante { margin: 0 0 10px; font: 700 clamp(13px, 1.1vw, 15px)/1.3 var(--f-texto); color: #1b1b1b; }
.slide-banner__titulo { max-width: 42vw; margin: 0; font: 700 clamp(30px, 3.6vw, 58px)/1.08 var(--f-titulo); color: #1b1b1b; }
.slide-banner__palabra { position: relative; display: inline-block; }
.slide-banner__raya { position: absolute; left: 0; bottom: -0.24em; width: 100%; height: auto; line-height: 0; overflow: visible; pointer-events: none; }
.slide-banner__raya svg { display: block; width: 100%; height: auto; }
.slide-banner__desc { max-width: 30ch; margin: 30px 0 26px; font-size: clamp(15px, 1.2vw, 19px); line-height: 1.45; color: #333; }
.slide-banner__boton { display: inline-flex; align-items: center; gap: 10px; padding: 15px 28px; border-radius: 30px; background: #1b1b1b; color: #fff; font: 700 16px/1 var(--f-texto); transition: var(--transicion); }
.slide-banner__boton:hover { background: #000; color: #fff; }
@media (max-width: 767px) {
	.slider__slide.slide-banner { min-height: 0; aspect-ratio: 430 / 880; background-size: cover; background-position: center top; align-items: flex-start; }
	.slide-banner--lasanas { background-image: url(../img/banner-lasanas-movil.jpg?v=7n); }
	.slide-banner--filete  { background-image: url(../img/banner-filete-movil.jpg?v=7n); }
	.slide-banner--picoteo { background-image: url(../img/banner-picoteo-movil.jpg?v=7n); }
	.slide-banner__titulo, .slide-banner__desc { max-width: none; }
	.slide-banner__texto { padding-block: 34px 0; }
}

.mini-cart-item__precio--regalo { color: #2e7d32; font-weight: 700; }

.mayorista-cierre .bloque-img__desc { max-width: 820px; font-size: clamp(15px,1.15vw,18px); line-height: 1.55; color: #333; }

.wpcf7 .hidden-fields-container { display: none; }

/* Mobile: en las tarjetas de la tienda, ocultar el +/- y el botón de carro (se entra al producto para agregar) */
@media (max-width: 767px) {
	.tarjeta__comprar { display: none !important; }
}

/* ---------- Carrito (página /carrito/) compacto en mobile: foto al lado + detalle ---------- */
@media (max-width: 767px) {
	.woocommerce-cart table.cart.shop_table_responsive { border: 0; }
	.woocommerce-cart table.cart.shop_table_responsive thead { display: none; }
	.woocommerce-cart table.cart.shop_table_responsive tbody tr.cart_item {
		display: grid; position: relative;
		grid-template-columns: 72px 1fr;
		grid-template-areas: 'thumb name' 'thumb precio' 'thumb cantidad';
		column-gap: 14px; row-gap: 3px; align-items: center;
		padding: 16px 0; border-bottom: 1px solid var(--borde);
	}
	.woocommerce-cart table.cart.shop_table_responsive tbody tr.cart_item td {
		display: block !important; width: auto !important; padding: 0 !important;
		border: 0 !important; text-align: left !important; font-size: 14px; margin: 0;
	}
	.woocommerce-cart table.cart.shop_table_responsive .cart_item td::before {
		content: attr(data-title) ': ' !important; display: inline; float: none !important;
		font-weight: 600; color: var(--suave); margin-right: 5px;
	}
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-thumbnail { grid-area: thumb; }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-thumbnail::before { content: none !important; }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-thumbnail img { width: 72px !important; height: 72px; object-fit: cover; border-radius: 8px; display: block; }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-name { grid-area: name; font: 600 17px/1.3 var(--f-titulo); margin-bottom: 5px; }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-name::before { content: none !important; }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-name a { color: var(--titulo); }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-price { grid-area: precio; }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-quantity { grid-area: cantidad; }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-quantity .quantity { display: inline-flex; vertical-align: middle; }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-subtotal { display: none !important; }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-subtotal .amount { color: var(--rojo); font-weight: 600; }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-remove { position: absolute; top: 10px; right: 0; width: auto !important; }
	.woocommerce-cart table.cart.shop_table_responsive .cart_item .product-remove::before { content: none !important; }
	/* fila 'actualizar carrito / cupón' que no desborde */
	.woocommerce-cart table.cart td.actions { display: block; width: auto; text-align: left; }
	.woocommerce-cart .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
	.woocommerce-cart .coupon .input-text { flex: 1 1 140px; min-width: 0; }
}

/* Checkout mobile: tabla 'Tu pedido' a ancho completo dentro del bloque gris */
@media (max-width: 767px) {
	.woocommerce-checkout #order_review .shop_table,
	.woocommerce-checkout .woocommerce-checkout-review-order-table { width: 100% !important; margin: 0 !important; table-layout: auto; }
	.woocommerce-checkout #order_review { padding-inline: 20px; }
	.woocommerce-checkout #order_review .shop_table th,
	.woocommerce-checkout #order_review .shop_table td { padding-inline: 0; }
}

/* --- Ajustes checkout/carrito mobile (6-nov): envío en columna, notas sin scroll, "Tu pedido" sin corte, giftcard ordenada --- */
@media (max-width: 767px) {
	/* "Tu pedido": aire arriba y abajo para que no quede pegado ni cortado por la caja */
	.woocommerce-checkout #order_review_heading { padding: 20px 0 20px !important; line-height: 1.55 !important; overflow: visible; }

	/* Notas del pedido: caja más alta, sin scroll interno con el placeholder */
	.woocommerce-checkout #order_comments { min-height: 104px !important; height: auto; overflow: auto; line-height: 1.4; }

	/* Envío en una sola columna, ordenado (carrito y checkout) */
	.cart_totals tr.shipping th,
	.woocommerce-checkout #order_review tr.shipping th { display: block; width: 100%; text-align: left; padding: 12px 0 2px !important; }
	.cart_totals tr.shipping td,
	.woocommerce-checkout #order_review tr.shipping td { display: block; width: 100%; text-align: left; padding: 0 0 10px !important; }
	.cart_totals tr.shipping td::before,
	.woocommerce-checkout #order_review tr.shipping td::before { content: none !important; }
	ul#shipping_method, ul.woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
	ul#shipping_method li, ul.woocommerce-shipping-methods li { display: flex; align-items: flex-start; gap: 8px; padding: 5px 0; text-align: left; }
	ul#shipping_method li label, ul.woocommerce-shipping-methods li label { margin: 0; }
	.woocommerce-shipping-destination { margin-top: 6px; color: var(--suave); }

	/* Giftcard: tarjeta clara y separada, que no quede encima de la tabla blanca */
	.woocommerce-checkout .agcfw-checkout-redeem { margin: 32px 0 16px !important; }
	.woocommerce-checkout .agcfw-checkout-redeem > h3 { background: #fff !important; border: 1px solid var(--borde); border-radius: 12px; padding: 14px 16px !important; font-size: 15px; margin: 0 !important; }
}

/* Iniciar sesión / Mi cuenta al final del menú móvil (6-nov) */
.menu-movil__cuenta { margin-top: 4px; border-top: 1px solid var(--borde); }
.menu-movil__sesion { display: flex; align-items: center; gap: 12px; padding: 14px 20px; font-weight: 600; color: var(--titulo); border-bottom: 1px solid var(--borde); }
.menu-movil__sesion .icono { width: 22px; height: 22px; flex: none; }
.menu-movil__sesion--salir { font-weight: 400; color: var(--suave); }

/* Checkout mobile (6-nov): la raya decorativa (sombra ::before de woo.css) sobre "Tu pedido" se ve como corte; se oculta en mobile */
@media (max-width: 767px) {
	.woocommerce-checkout #order_review_heading::before { display: none !important; }
}

/* Raya bajo los títulos del slider del banner: versión BLANCA (archivo de Daniela) solo en mobile (6-nov) */
@media (max-width: 767px) {
	.slide-banner__raya svg { display: none !important; }
	.slide-banner__raya { display: none !important; }
}

/* Rayita decorativa (::before de woo.css) sobre "Tu pedido": se oculta en TODOS los anchos (parece cortar el titulo) (6-nov) */
.woocommerce-checkout #order_review_heading::before { display: none !important; }

/* Cupón "¿Tienes un código de descuento?": input en una línea y botón abajo (carrito + checkout) (6-nov) */
.cupon-checkout__fila { flex-direction: column; align-items: stretch; gap: 10px; }
.cupon-checkout__fila .input-text { width: 100%; flex: none; }
.cupon-checkout__boton { align-self: flex-start; }
.woocommerce-cart .coupon { flex-direction: column; align-items: stretch; gap: 10px; }
.woocommerce-cart .coupon .input-text { flex: 1 1 auto; width: 100%; }
.woocommerce-cart .coupon .button { align-self: flex-start; }

/* ===== Ajustes 7-nov: cupón inline desktop / apilado mobile + precio pack checkout ===== */
.woocommerce-cart .coupon,
.cupon-checkout__fila { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch; gap: 10px; }
.woocommerce-cart .coupon .input-text,
.cupon-checkout__fila .input-text { flex: 1 1 auto; width: auto; min-width: 0; }
.woocommerce-cart .coupon .button,
.cupon-checkout__boton { flex: 0 0 auto; align-self: stretch; width: auto; white-space: nowrap; }
@media (max-width: 767px) {
	.woocommerce-cart .coupon,
	.cupon-checkout__fila { flex-direction: column; align-items: stretch; }
	.woocommerce-cart .coupon .input-text,
	.cupon-checkout__fila .input-text { width: 100%; flex: 1 1 auto; }
	.woocommerce-cart .coupon .button,
	.cupon-checkout__boton { align-self: flex-start; }
}
/* Checkout "Tu pedido": precio alineado arriba, a la altura del título del producto */
.woocommerce-checkout #order_review table.shop_table tbody tr td { vertical-align: top; }
