/* ==========================================================================
   BeChef — WooCommerce: tienda, ficha, carrito, checkout y mi cuenta
   (reemplaza los estilos genéricos de WooCommerce)
   ========================================================================== */

/* ---------- Formularios ---------- */

.woocommerce form .form-row { margin: 0 0 15px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 5px; font-weight: 600; font-size: 13px; color: var(--titulo); }
.woocommerce form .form-row .required { color: var(--rojo); text-decoration: none; border: 0; }
.woocommerce form .form-row .optional { color: var(--suave); font-weight: 400; }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select,
.woocommerce form .form-row input.input-text, .woocommerce-page select,
.select2-container--default .select2-selection--single {
	width: 100%; min-height: 46px; padding: 8px 14px;
	border: 2px solid var(--borde); border-radius: var(--radio-chico);
	background: #fff; line-height: 1.4;
}
.woocommerce textarea { min-height: 100px; }
.woocommerce input.input-text:focus, .woocommerce textarea:focus, .woocommerce select:focus { outline: none; border-color: var(--amarillo); }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 8px); float: left; }
.woocommerce form .form-row-last { float: right; }
.woocommerce form .form-row-wide, .woocommerce form .form-row.notes { clear: both; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--rojo); }
.woocommerce form .form-row.woocommerce-validated :is(input.input-text, select), .woocommerce form .form-row.woocommerce-validated .select2-selection { border-color: var(--amarillo); }
.select2-container--default .select2-selection--single { display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.4; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; right: 8px; }
.select2-dropdown { border: 2px solid var(--borde); }
.woocommerce .input-radio, .woocommerce input[type="checkbox"] { accent-color: var(--rojo); width: 16px; height: 16px; vertical-align: middle; }
.clear::after, .woocommerce::after, .col2-set::after { content: ""; display: table; clear: both; }

/* ---------- Cantidad – n + (ficha, carrito, packs) ---------- */

:is(.summary, .shop_table, .cart, .woocommerce-cart-form) div.quantity { display: inline-flex; vertical-align: top; white-space: nowrap; }
div.quantity.hidden { display: none !important; }
:is(.summary, .shop_table, .cart, .woocommerce-cart-form) div.quantity :is(.qty, .minus, .plus) {
	height: 42px; min-height: 42px; margin: 0;
	border: 2px solid rgb(0 0 0 / 10%); background: #fff; color: var(--texto); box-shadow: none;
	font: 400 14px var(--f-texto);
}
:is(.summary, .shop_table, .cart, .woocommerce-cart-form) div.quantity .qty {
	width: 30px; padding: 0; border-left: 0; border-right: 0; border-radius: 0; text-align: center;
	-moz-appearance: textfield; appearance: textfield;
}
:is(.summary, .shop_table, .cart, .woocommerce-cart-form) div.quantity .qty::-webkit-inner-spin-button, :is(.summary, .shop_table, .cart, .woocommerce-cart-form) div.quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
:is(.summary, .shop_table, .cart, .woocommerce-cart-form) div.quantity :is(.minus, .plus) { min-width: 25px; padding: 0 5px; font-weight: 600; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
:is(.summary, .shop_table, .cart, .woocommerce-cart-form) div.quantity .minus { border-radius: 5px 0 0 5px; }
:is(.summary, .shop_table, .cart, .woocommerce-cart-form) div.quantity .plus { border-radius: 0 5px 5px 0; }
:is(.summary, .shop_table, .cart, .woocommerce-cart-form) div.quantity :is(.minus, .plus):hover { background: var(--amarillo); border-color: var(--amarillo); color: #fff; }
:is(.summary, .shop_table, .cart, .woocommerce-cart-form) div.quantity .qty:focus { outline: none; }

/* ---------- Avisos ---------- */

.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px;
	margin: 0 0 25px; padding: 15px 20px;
	list-style: none;
	border-radius: var(--radio-chico); border-left: 4px solid var(--amarillo);
	background: var(--gris); font-size: 14px;
}
.woocommerce-message { border-color: #7ac142; }
.woocommerce-error { border-color: var(--rojo); flex-direction: column; align-items: flex-start; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-left: auto; min-height: 36px; padding: 6px 18px; }

/* ---------- Tienda ---------- */

.tienda { display: grid; grid-template-columns: 276fr 887fr; gap: 30px; align-items: start; }
.tienda:not(:has(.tienda__filtros)) { grid-template-columns: 1fr; }
.tienda__barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; margin-bottom: 30px; min-height: 29px; }
.tienda__barra .migas { margin: 0; font-size: 14px; color: #333; }
.tienda__barra .migas a { color: var(--suave); }
.tienda__derecha { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.tienda__mostrar { display: flex; align-items: center; color: #767676; }
.tienda__mostrar span { margin-right: 4px; }
.tienda__mostrar span::after { content: " :"; }
.tienda__mostrar a { padding: 0 7px; color: #767676; }
.tienda__mostrar a + a { border-left: 1px solid rgb(0 0 0 / 10%); }
.tienda__mostrar a:hover, .tienda__mostrar a[aria-current] { color: #333; font-weight: 600; }
.tienda__columnas { display: flex; align-items: center; gap: 12px; }
.tienda__columnas a { display: grid; gap: 2px; opacity: .35; }
.tienda__columnas a[aria-current], .tienda__columnas a:hover { opacity: 1; }
.tienda__columnas a.col-2 { grid-template-columns: repeat(2, 6px); }
.tienda__columnas a.col-3 { grid-template-columns: repeat(3, 4px); }
.tienda__columnas a.col-4 { grid-template-columns: repeat(4, 3px); }
.tienda__columnas i { display: block; aspect-ratio: 1; background: #333; }
.woocommerce-result-count { display: none; }
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select {
	width: 200px; min-height: 29px; padding: 5px 20px 5px 2px;
	border: 0; border-bottom: 2px solid rgb(0 0 0 / 10%); border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23333' stroke-width='1.3'/%3E%3C/svg%3E") right 2px center no-repeat;
	font: 600 14px/1.2 var(--f-texto); color: #242424;
	-webkit-appearance: none; appearance: none; cursor: pointer;
}
.woocommerce-ordering select:focus { outline: none; border-color: var(--amarillo); }
.tienda__abrir-filtros, .tienda__cerrar-filtros { display: none; }

.tienda__filtros .widget { margin-bottom: 30px; }
.tienda__filtros .widget-title { margin-bottom: 10px; font: 600 16px/1.4 var(--f-titulo); color: var(--titulo); }
.tienda__filtros ul { list-style: none; margin: 0; padding: 0; }
.tienda__filtros li { position: relative; margin: 0; }
.tienda__filtros li a { display: block; padding: 8px 30px 8px 0; font-size: 14px; line-height: 1.4; color: #767676; }
.tienda__filtros li a:hover, .tienda__filtros .current-cat > a, .tienda__filtros .chosen a { color: #333; }
.tienda__filtros .children { padding-left: 15px; }
.tienda__filtros .product-categories .count { display: none; }
/* Filtros por atributo: casilla + contador a la derecha (como WoodMart) */
.woocommerce-widget-layered-nav-list__item { display: flex; align-items: center; justify-content: space-between; }
.woocommerce-widget-layered-nav-list__item a { display: flex; align-items: center; gap: 10px; padding-right: 0; }
.woocommerce-widget-layered-nav-list__item a::before {
	content: ""; flex-shrink: 0; width: 14px; height: 14px;
	border: 1px solid rgb(0 0 0 / 20%); border-radius: 2px; background: #fff;
}
.woocommerce-widget-layered-nav-list__item--chosen a::before { background: var(--amarillo); border-color: var(--amarillo); box-shadow: inset 0 0 0 2px #fff; }
.woocommerce-widget-layered-nav-list__item .count { display: inline; margin-left: 10px; font-size: 12px; color: #767676; }
.cat-desplegar { position: absolute; top: 4px; right: 0; width: 28px; height: 28px; padding: 0; border: 0; background: none; color: #767676; font-size: 10px; }
.cat-desplegar[aria-expanded="true"] .ico { transform: rotate(180deg); }
.tagcloud { display: flex; flex-wrap: wrap; gap: 6px; }
.tagcloud a { padding: 4px 12px !important; border: 1px solid var(--borde); border-radius: 50px; font-size: 12px !important; }
.tagcloud a:hover { border-color: var(--rojo); }
.cat-item-15, .cat-item-215 { display: none !important; } /* Categorías ocultas en el sitio actual. */

/* Paginación y "cargar más" */
.woocommerce-pagination { margin-top: 40px; text-align: center; }
.woocommerce-pagination ul { display: inline-flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.woocommerce-pagination a, .woocommerce-pagination span {
	display: flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 10px; border-radius: 50px; font-weight: 600;
}
.woocommerce-pagination a:hover { background: var(--gris); }
.woocommerce-pagination .current { background: var(--negro); color: #fff; }
.cargar-mas { display: flex; justify-content: center; margin-top: 40px; }
.cargar-mas .boton { min-width: 240px; }
.js .woocommerce-pagination.tiene-cargar-mas { display: none; }

.woocommerce-no-products-found { grid-column: 1 / -1; }

/* ---------- Ficha de producto ---------- */

.ficha__cabecera { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 40px 0 20px; }
.ficha__cabecera .migas { margin: 0; font-size: 14px; color: #242424; }
.ficha__cabecera .migas a { color: #767676; }
.migas > :last-child, .migas { font-weight: 400; }
.ficha__nav { display: flex; align-items: center; gap: 12px; }
.ficha__nav a { display: flex; align-items: center; color: #333; font-size: 12px; }
.ficha__nav a:hover { color: rgb(51 51 51 / 60%); }
.ficha__tienda { display: grid !important; grid-template-columns: repeat(2, 5px); gap: 2px; }
.ficha__tienda i { display: block; width: 5px; height: 5px; border: 1px solid currentColor; }

.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 30px; align-items: start; }
.single-product div.product > .woocommerce-product-gallery,
.single-product div.product > .summary { min-width: 0; }
.single-product div.product > :not(.woocommerce-product-gallery):not(.summary):not(.etiqueta) { grid-column: 1 / -1; }
.single-product div.product > .etiqueta { display: none; }

.woocommerce-product-gallery { position: relative; width: 100%; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image img { width: 100%; }
.woocommerce-product-gallery__image a { display: block; }
.woocommerce-product-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; list-style: none; margin: 10px 0 0; padding: 0; }
.woocommerce-product-gallery .flex-control-thumbs img { opacity: .55; cursor: pointer; transition: opacity var(--transicion); }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active, .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; }
.woocommerce-product-gallery__trigger {
	position: absolute; top: 15px; right: 15px; z-index: 5;
	width: 40px; height: 40px; border-radius: 50%; background: #fff; box-shadow: var(--sombra);
	font-size: 0; display: flex; align-items: center; justify-content: center;
}
.woocommerce-product-gallery__trigger::before { content: ""; width: 14px; height: 14px; border: 2px solid var(--titulo); border-radius: 50%; }
.woocommerce-product-gallery__trigger::after { content: ""; position: absolute; width: 7px; height: 2px; background: var(--titulo); transform: translate(7px, 7px) rotate(45deg); }

.summary .product_title { margin-bottom: 20px; font: 700 32px/1.2 var(--f-titulo); }
.summary .price { margin-bottom: 20px; font: 600 21.7px/1.2 var(--f-texto); color: var(--amarillo); }
.summary .price .amount { font-size: 25px; font-weight: 700; color: var(--rojo); }
.summary .price del, .summary .price del .amount { color: #bdbdbd; font-size: 20px; font-weight: 600; }
.summary .price ins { text-decoration: none; }
.woocommerce-product-details__short-description { width: 85%; margin-bottom: 20px; font-size: 15px; line-height: 25px; }
.summary .stock { display: flex; align-items: center; gap: 6px; margin-bottom: 20px; font: 600 14px/1.2 var(--f-texto); color: #333; }
.summary .stock::before { content: "\f107"; font: 400 10px/1 'bechef-iconos'; }
.summary .stock.out-of-stock { color: var(--rojo); }
.summary .stock.out-of-stock::before { content: none; }
.summary form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 40px 0 20px; }
.summary form.cart:not(.variations_form) > * { margin: 0; }
.summary .single_add_to_cart_button { min-height: 52px; padding: 5px 20px; }
.summary .variations { width: 100%; border-collapse: collapse; margin-bottom: 10px; }
.summary .variations th, .summary .variations td { display: block; padding: 0 0 8px; text-align: left; }
.summary .reset_variations { margin-left: 10px; font-size: 12px; }
.woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; }

/* Pestañas: línea a todo el ancho y pestaña activa con línea amarilla arriba */
.woocommerce-tabs { position: relative; margin-top: 40px; }
.woocommerce-tabs::before { content: ""; position: absolute; top: 0; left: 50%; width: 100vw; margin-left: -50vw; border-top: 1px solid rgb(0 0 0 / 10%); }
.woocommerce-tabs ul.tabs { position: relative; display: flex; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0; padding: 0; }
.woocommerce-tabs ul.tabs li a {
	display: block; margin: 0 15px 50px; padding: 30px 0 10px;
	font: 500 16px/1.4 var(--f-titulo); color: rgb(51 51 51 / 70%);
}
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover { color: #333; }
.woocommerce-tabs ul.tabs li.active a { box-shadow: inset 0 2px 0 var(--amarillo); }
.woocommerce-Tabs-panel { max-width: none; }
.woocommerce-Tabs-panel > h2:first-child { display: none; }

.ficha__descripcion { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
.ficha__descripcion--solo { grid-template-columns: 1fr; }
.ficha__texto h3, .ficha__recomendados h2 { margin-bottom: 20px; font: 700 16px/1.4 var(--f-titulo); color: var(--titulo); }
.ficha__recomendados .upsells { margin: 0; }
.ficha__recomendados ul.products { --columnas: 3; gap: 20px; }
.ficha__recomendados .tarjeta__titulo { font-size: 14px; }
.ficha__recomendados li.product .price .amount { font-size: 14px; }
.single-product .product_meta { margin-top: 10px; font-size: 13px; color: var(--suave); }
.single-product .product_meta .tagged_as { color: #333; font-weight: 600; }
.single-product .product_meta a { color: var(--suave); font-weight: 400; }

.related.products { margin-top: 60px; }
.related.products > h2 { margin-bottom: 20px; font: 700 22px/1.4 var(--f-titulo); }

/* Reseñas */
.star-rating { position: relative; display: inline-block; width: 5.4em; height: 1.1em; font-size: 13px; line-height: 1; overflow: hidden; }
.star-rating::before { content: "★★★★★"; position: absolute; color: #ddd; letter-spacing: .1em; }
.star-rating span { position: absolute; top: 0; left: 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: "★★★★★"; position: absolute; top: 0; left: 0; color: var(--amarillo); letter-spacing: .1em; }
.commentlist { list-style: none; padding: 0; }

/* Packs (bechef-core/inc/packs.php): acceso en la ficha + grilla a todo el ancho */
.pack-cta__dcto { display: table; margin: 10px 0 12px; padding: 3px 10px; border-radius: var(--radio-chico); background: var(--amarillo); color: var(--negro); font-size: 13px; font-weight: 700; }
.summary .pack-cta { display: inline-flex; align-items: center; gap: 8px; min-height: 52px; margin: 10px 0 20px; padding: 5px 26px; }
.pack-armar { clear: both; width: 100%; min-width: 0; padding-top: 30px; scroll-margin-top: calc(var(--header-h) + 10px); }
.pack-armar__cab { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 14px; }
.pack-armar__titulo { margin: 0; font: 700 26px/1.2 var(--f-titulo); color: var(--titulo); }
.pack-form__dcto { display: inline-block; padding: 3px 10px; border-radius: var(--radio-chico); background: var(--amarillo); color: var(--negro); font-size: 13px; font-weight: 700; }
.pack-grilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(190px, 100%), 1fr)); gap: 16px; margin: 0 0 20px; padding: 0; list-style: none; }
.pack-grilla .pack-item { display: flex; flex-direction: column; overflow: hidden; border: 2px solid var(--borde); border-radius: var(--radio); background: #fff; transition: border-color var(--transicion), box-shadow var(--transicion); }
.pack-grilla .pack-item[hidden] { display: none; }
.pack-grilla .pack-item--elegido { border-color: var(--amarillo); box-shadow: 0 4px 14px rgb(255 203 0 / 25%); }
.pack-grilla .pack-item--agotado { opacity: .5; }
.pack-item__img { position: relative; cursor: pointer; }
.pack-item__img img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.pack-item__cuenta:empty { display: none; }
.pack-item__cuenta { position: absolute; top: 8px; right: 8px; min-width: 34px; padding: 5px 8px; border-radius: 20px; background: var(--amarillo); color: var(--negro); font: 700 14px/1 var(--f-titulo); text-align: center; }
.pack-grilla .pack-item__info { flex: 1; padding: 10px 12px 6px; }
.pack-item__nombre { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--titulo); }
.pack-item__precio { display: block; margin-top: 4px; font-size: 13px; color: var(--suave); }
.pack-item__precio del { margin-right: 4px; }
.pack-item__accion { margin: 0 12px 12px; }
.pack-item__agregar { width: 100%; min-height: 42px; border: 2px solid var(--negro); border-radius: 30px; background: #fff; color: var(--negro); font: 700 13px/1 var(--f-texto); text-transform: uppercase; letter-spacing: .3px; cursor: pointer; transition: background var(--transicion), color var(--transicion); }
.pack-item__agregar:hover:not(:disabled) { background: var(--negro); color: #fff; }
.pack-item__agregar:disabled { border-color: var(--borde); color: #aaa; cursor: not-allowed; }
.pack-grilla .pack-item .quantity { display: flex; }
.pack-item:not(.pack-item--elegido) .pack-item__accion .quantity, .pack-item--elegido .pack-item__agregar { display: none; }
.pack-grilla .pack-item .quantity .qty { flex: 1; width: auto; }
.pack-grilla .pack-item .quantity button:disabled { opacity: .35; cursor: not-allowed; }
.pack-resumen { position: sticky; bottom: 0; z-index: 20; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 -10px; padding: 12px 10px; background: #fff; border-top: 1px solid var(--borde); box-shadow: 0 -6px 16px rgb(0 0 0 / 6%); }
.pack-resumen__progreso { flex: 1 1 200px; padding: 0; border: 0; background: none; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.pack-resumen__ver { margin-left: 6px; font-size: 12px; font-weight: 600; color: var(--rojo); }
.pack-form--panel .pack-resumen__ver { font-size: 0; }
.pack-form--panel .pack-resumen__ver::after { content: "Cerrar ▾"; font-size: 12px; }
.pack-resumen__montos { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.pack-resumen__ahorro:empty { display: none; }
.pack-resumen__ahorro { padding: 2px 8px; border-radius: 4px; background: #e8f5e3; color: #2f7a22; font-size: 12px; font-weight: 700; }
.pack-panel { flex: 1 0 100%; max-height: 45vh; overflow-y: auto; padding: 4px 0 10px; border-bottom: 1px solid var(--borde); }
.pack-panel__titulo { margin: 0 0 6px; font: 700 14px/1.3 var(--f-titulo); }
.pack-panel__lista { margin: 0; padding: 0; list-style: none; }
.pack-panel__lista li { display: flex; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px dashed var(--borde); font-size: 14px; }
.pack-panel__n { min-width: 26px; font-weight: 700; }
.pack-panel__nombre { flex: 1; }
.pack-panel__quitar { width: 30px; height: 30px; border: 2px solid var(--borde); border-radius: 50%; background: #fff; font-size: 16px; line-height: 1; cursor: pointer; }
.pack-panel__quitar:hover { border-color: var(--rojo); color: var(--rojo); }
.pack-panel__vacio { color: var(--suave); }
.pack-resumen__cuenta { display: block; margin-bottom: 6px; font-size: 14px; color: var(--titulo); }
.pack-resumen__barra { display: block; height: 8px; border-radius: 8px; background: var(--gris); overflow: hidden; }
.pack-resumen__barra span { display: block; width: 0; height: 100%; border-radius: 8px; background: var(--amarillo); transition: width .25s ease; }
.pack-form--listo .pack-resumen__barra span { background: #3c8a2e; }
.pack-resumen__total { font: 700 20px/1 var(--f-titulo); color: var(--titulo); }
.pack-resumen .single_add_to_cart_button { min-height: 50px; }
.pack-resumen .single_add_to_cart_button:disabled { opacity: 1; background: #9a9a9a; cursor: not-allowed; }
.pack-desde { font-size: .75em; font-weight: 400; color: var(--suave); }
.pack-detalle { margin: 4px 0 0; padding-left: 16px; font-size: 12px; color: var(--suave); }
.variation dt.variation-Incluye { display: none; }
@media (max-width: 600px) {
	.pack-armar__titulo { font-size: 21px; }
	.pack-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.pack-grilla .pack-item__info { padding: 8px 10px 4px; }
	.pack-item__nombre { font-size: 13px; }
	.pack-item__accion { margin: 0 8px 8px; }
	.pack-resumen { padding-right: 70px; } /* deja libre el botón de WhatsApp */
	.pack-form .pack-resumen div.quantity { display: none; }
	.pack-item__img img { aspect-ratio: 4 / 3; }
	.pack-resumen .single_add_to_cart_button { flex: 1; padding-inline: 12px; white-space: nowrap; font-size: 13px; }
}
	.pack-item__nombre { font-size: 13px; }
	.pack-resumen { padding-right: 70px; } /* deja libre el botón de WhatsApp */
	.pack-resumen .single_add_to_cart_button { flex: 1; padding-inline: 12px; white-space: nowrap; font-size: 13px; }
}

/* ---------- Pasos de compra (banda de carrito y checkout) ---------- */

.banda-titulo--pasos { padding-block: 125px; }
.pasos-compra { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 0; margin: 0; padding: 0; list-style: none; font: 700 22px/1.6 var(--f-titulo); text-transform: uppercase; }
.pasos-compra li { display: flex; align-items: center; color: rgb(255 255 255 / 70%); }
.pasos-compra li + li::before { content: "→"; margin: 0 15px; font-weight: 400; color: rgb(255 255 255 / 70%); }
.pasos-compra a { color: inherit; }
.pasos-compra a:hover { color: #fff; }
.pasos-compra .es-activo { color: #fff; }
.pasos-compra .es-activo span { border-bottom: 2px solid var(--amarillo); }

/* ---------- Carrito ---------- */

.woocommerce-cart .contenido .texto > .woocommerce { display: grid; grid-template-columns: 775fr 387fr; gap: 0 30px; align-items: start; }
.woocommerce-cart .texto > .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
.woocommerce-cart-form { margin-bottom: 40px; }
.shop_table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.4; }
.shop_table th { padding: 15px 10px; border-bottom: 2px solid rgb(0 0 0 / 7.5%); text-align: left; font: 700 16px/1.4 var(--f-titulo); color: var(--titulo); text-transform: uppercase; }
.shop_table td { padding: 15px 12px; border-bottom: 1px solid rgb(0 0 0 / 10.6%); vertical-align: middle; }
.shop_table td:last-child { padding-right: 0; }
.shop_table .product-thumbnail img { width: 80px; max-width: none; }
.shop_table .product-name a { font: 500 14px/1.4 var(--f-titulo); color: var(--titulo); }
.shop_table .product-name a:hover { color: rgb(51 51 51 / 65%); }
.shop_table .product-remove a { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; font-size: 18px; line-height: 1; color: #333; }
.shop_table .product-remove a:hover { color: var(--rojo); }
.shop_table .product-subtotal .amount { font-weight: 600; color: var(--amarillo); }
.shop_table td.actions { padding: 30px 0 0; border: 0; }
.shop_table td.actions .coupon { display: inline-flex; gap: 10px; float: left; }
.shop_table td.actions .coupon .input-text { width: 230px; min-height: 42px; padding: 0 15px; border: 2px solid rgb(0 0 0 / 10%); border-radius: 5px; }
.shop_table td.actions .coupon .button { background: var(--negro); color: #fff; }
.shop_table td.actions .coupon .button:hover { background: var(--rojo); }
.shop_table td.actions > .button { float: right; }
.cart-collaterals { min-width: 0; }
.cart_totals { padding: 25px; border: 3px solid rgb(0 0 0 / 7.5%); }
.cart_totals h2 { margin-bottom: 15px; font: 700 22px/1.4 var(--f-titulo); text-transform: uppercase; }
.cart_totals .shop_table th { padding: 15px 10px 15px 0; border-bottom: 1px solid rgb(0 0 0 / 10.6%); font: 700 14px/1.4 var(--f-titulo); text-transform: none; }
.cart_totals .shop_table td { padding: 15px 0 15px 12px; text-align: right; }
.cart_totals .order-total .amount { font-size: 18.2px; font-weight: 600; color: var(--amarillo); }
.wc-proceed-to-checkout { padding-top: 20px; }
.wc-proceed-to-checkout .button { width: 100%; }
#shipping_method { list-style: none; margin: 0; padding: 0; }
#shipping_method li { margin-bottom: 5px; }
.woocommerce-shipping-destination, .shipping-calculator-button { font-size: 13px; }
.cart-empty { font-size: 16px; }
.cross-sells { margin-top: 40px; }

/* ---------- Checkout ---------- */

/* Avisos "¿Ya eres cliente?" y "¿Tienes un cupón?" como texto simple */
.woocommerce-form-login-toggle .woocommerce-info, .woocommerce-form-coupon-toggle .woocommerce-info {
	display: block; margin: 0 0 25px; padding: 0; border: 0; background: none; font-size: 14px;
}
.woocommerce-form-login-toggle a, .woocommerce-form-coupon-toggle a { font-weight: 600; color: var(--amarillo); }
.woocommerce-form-login-toggle a:hover, .woocommerce-form-coupon-toggle a:hover { color: #333; }
form.checkout_coupon, .woocommerce-checkout form.woocommerce-form-login { margin-bottom: 30px; padding: 20px; border: 2px dashed rgb(0 0 0 / 10%); border-radius: 0; }

form.woocommerce-checkout { display: grid; grid-template-columns: 566fr 596fr; grid-template-rows: auto auto 1fr; gap: 0 30px; align-items: start; margin-top: 23px; }
form.woocommerce-checkout > .woocommerce-NoticeGroup,
form.woocommerce-checkout > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
form.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; padding-top: 30px; }
.col2-set .col-1, .col2-set .col-2 { width: 100%; float: none; }
.woocommerce-billing-fields h3, .bechef-entrega .bechef-entrega__titulo, .woocommerce-shipping-fields h3, .woocommerce-additional-fields h3, #order_review_heading {
	margin: 0 0 20px; font: 700 22px/1.4 var(--f-titulo); color: var(--titulo); text-transform: uppercase;
}
.woocommerce form .form-row label { font-weight: 400; font-size: 14px; color: var(--titulo); margin-bottom: 5px; }
.woocommerce form .form-row .required { color: var(--rojo); }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select, .select2-container--default .select2-selection--single {
	border: 2px solid rgb(0 0 0 / 10%); border-radius: 5px; padding: 0 15px; min-height: 42px;
}
.woocommerce textarea { padding-block: 10px; }

/* Columna "Tu pedido": caja gris con borde dentado arriba y abajo (efecto boleta, como WoodMart) */
form.woocommerce-checkout #order_review_heading,
form.woocommerce-checkout #order_review { grid-column: 2; background: #f7f7f7; }
form.woocommerce-checkout #order_review_heading { grid-row: 1; }
form.woocommerce-checkout #order_review { grid-row: 2; }
form.woocommerce-checkout #order_review_heading { position: relative; margin: 0; padding: 30px 30px 20px; text-align: center; }
form.woocommerce-checkout #order_review { position: relative; padding: 0 30px 30px; }
form.woocommerce-checkout #order_review_heading::before,
form.woocommerce-checkout #order_review::after {
	content: ""; position: absolute; left: 0; right: 0; height: 10px;
	background: radial-gradient(farthest-side, transparent 6px, #f7f7f7 0) 0 0 / 20px 20px repeat-x;
}
form.woocommerce-checkout #order_review_heading::before { top: -10px; background-position: 0 10px; }
form.woocommerce-checkout #order_review::after { bottom: -10px; }
.woocommerce-checkout-review-order-table { width: calc(100% - 50px); margin: 25px 25px 50px; background: #fff; box-shadow: 0 0 0 25px #fff; }
.woocommerce-checkout-review-order-table thead th { padding: 15px 10px 15px 0; }
.woocommerce-checkout-review-order-table td { padding: 15px 12px 15px 0; }
.woocommerce-checkout-review-order-table :is(th, td):last-child { text-align: right; padding-right: 0; }
.woocommerce-checkout-review-order-table tfoot th { font: 700 14px/1.4 var(--f-titulo); text-transform: none; border-bottom: 1px solid rgb(0 0 0 / 10.6%); }
.woocommerce-checkout-review-order-table .order-total .amount { font-size: 18.2px; font-weight: 600; color: var(--amarillo); }
.woocommerce-checkout-review-order-table .cart-subtotal .amount { color: var(--amarillo); }

.wc_payment_methods { list-style: none; margin: 0; padding: 0; }
.wc_payment_method { margin-bottom: 15px; }
.wc_payment_method > label { color: var(--titulo); cursor: pointer; }
.wc_payment_method > label img { display: inline-block; max-height: 30px; width: auto; margin-left: 8px; vertical-align: middle; }
.payment_box { position: relative; margin-top: 15px; padding: 15px; background: #fff; box-shadow: 1px 1px 2px rgb(0 0 0 / 5%); font-size: 14px; }
.payment_box p:last-child { margin: 0; }
.woocommerce-terms-and-conditions-wrapper { margin-top: 5px; padding-top: 20px; border-top: 1px solid rgb(0 0 0 / 10.6%); font-size: 14px; }
.woocommerce-privacy-policy-text p { font-size: 13px; }
#place_order:disabled { opacity: 1; }
#place_order { width: 100%; min-height: 48px; margin-top: 20px; padding: 5px 28px; font-size: 14px; }

/* ---------- Mi cuenta ---------- */

.banda-titulo .migas { margin: 10px 0 0; justify-content: center; color: rgb(255 255 255 / 80%); font-size: 14px; }
.banda-titulo .migas a { color: rgb(255 255 255 / 80%); }
.banda-titulo .migas a:hover { color: #fff; }
.banda-titulo .migas > :last-child, .banda-titulo .migas { font-weight: 400; }

.woocommerce-account:not(.logged-in) .texto > .woocommerce { max-width: 1000px; margin-inline: auto; }
#customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-bottom: 80px; }
#customer_login > .u-column1, #customer_login > .u-column2 { width: auto; float: none; padding: 0 40px; }
#customer_login > .u-column1 { border-right: 1px solid rgb(0 0 0 / 10.6%); }
#customer_login > .u-column2 { text-align: center; }
#customer_login h2 { margin-bottom: 20px; font: 700 24px/1.4 var(--f-titulo); color: var(--titulo); }
#customer_login > .u-column1 h2 { text-align: left; }
#customer_login .u-column2 form { text-align: left; }
.woocommerce-form-login, .woocommerce-form-register { padding: 0; background: none; border: 0; }
button.woocommerce-form-login__submit, button.woocommerce-form-register__submit { width: 100%; background: var(--negro); color: #fff; }
button.woocommerce-form-login__submit:hover, button.woocommerce-form-register__submit:hover { background: var(--rojo); color: #fff; }
.acceso__extras { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 5px; }
.acceso__extras label { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--titulo); font-weight: 400; }
.acceso__olvide { color: var(--amarillo); }
.acceso__olvide:hover { color: #333; }
.registro-intro p { margin-bottom: 20px; }
/* Botón "ver contraseña" de WooCommerce dentro del campo */
.password-input { position: relative; display: block; }
.password-input input { padding-right: 45px !important; }
.show-password-input {
	position: absolute; top: 0; right: 0; width: 45px; height: 42px; padding: 0; border: 0; background: none; cursor: pointer;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23333' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center no-repeat;
	font-size: 0;
}
.show-password-input.display-password { opacity: .5; }

/* Cuenta con sesión iniciada (inc/cuenta.php + woocommerce/myaccount/) */
.woocommerce-account.logged-in .texto > .woocommerce { display: grid; grid-template-columns: 250px 1fr; gap: 40px; align-items: start; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-MyAccount-content { min-width: 0; }

.cuenta-menu { position: sticky; top: calc(var(--header-h) + 20px); padding: 10px; border-radius: var(--radio); background: var(--gris); }
.cuenta-menu ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.cuenta-menu a { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 10px; color: var(--texto); font-weight: 600; text-decoration: none; transition: var(--transicion); }
.cuenta-menu a:hover { background: #fff; color: var(--titulo); }
.cuenta-menu .is-active a { background: var(--amarillo); color: var(--titulo); }
.cuenta-menu .cuenta-ico { flex: 0 0 auto; opacity: .75; }
.cuenta-menu .is-active .cuenta-ico { opacity: 1; }
.cuenta-menu .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--borde); }
.cuenta-menu .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--suave); font-weight: 400; }

.cuenta-hola h2 { margin: 0 0 6px; font-size: 26px; }
.cuenta-hola p { margin: 0 0 24px; color: var(--suave); }
.cuenta-hola a { color: var(--titulo); text-decoration: underline; }
.cuenta-accesos { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.cuenta-acceso { display: flex; flex-direction: column; gap: 4px; padding: 20px; border: 1px solid var(--borde); border-radius: var(--radio); color: var(--texto); text-decoration: none; transition: var(--transicion); }
.cuenta-acceso:hover { border-color: var(--amarillo); box-shadow: var(--sombra); color: var(--texto); }
.cuenta-acceso .cuenta-ico, .cuenta-acceso .ico { width: 28px; height: 28px; margin-bottom: 8px; color: var(--titulo); font-size: 24px; }
.cuenta-acceso strong { font: 700 16px/1.3 var(--f-titulo); color: var(--titulo); }
.cuenta-acceso span:not(.ico) { overflow: hidden; color: var(--suave); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.cuenta-acceso--tienda { background: var(--negro); border-color: var(--negro); }
.cuenta-acceso--tienda strong, .cuenta-acceso--tienda .ico { color: var(--amarillo); }
.cuenta-acceso--tienda span:not(.ico) { color: #bbb; }
.cuenta-tenue { display: block; color: var(--suave); font-size: 12px; font-weight: 400; }

/* Pedidos */
.woocommerce-orders-table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--borde); border-radius: var(--radio); overflow: hidden; }
.woocommerce-orders-table th { padding: 14px 16px; background: var(--gris); font: 700 12px/1.3 var(--f-titulo); color: var(--suave); text-align: left; text-transform: uppercase; letter-spacing: .5px; }
.woocommerce-orders-table td { padding: 16px; border-top: 1px solid var(--borde); vertical-align: middle; }
.woocommerce-orders-table__cell-order-number a { font-weight: 700; color: var(--titulo); }
.woocommerce-orders-table__cell-order-actions { text-align: right; white-space: nowrap; }
.woocommerce-orders-table .button { min-height: 0; margin: 2px 0 2px 6px; padding: 8px 16px; border-radius: 30px; font-size: 12px; }
.woocommerce-orders-table .button.view { background: transparent; box-shadow: inset 0 0 0 1px var(--borde); color: var(--titulo); }
.woocommerce-orders-table .button.view:hover { box-shadow: inset 0 0 0 1px var(--titulo); }
.woocommerce-orders-table .button.repetir { background: var(--amarillo); color: var(--titulo); }
.woocommerce-orders-table .button.repetir:hover { background: var(--negro); color: #fff; }
.estado-pedido { display: inline-block; padding: 4px 10px; border-radius: 20px; background: var(--gris); color: var(--texto); font-size: 12px; font-weight: 700; white-space: nowrap; }
.estado-pedido--completed { background: #e3f6e8; color: #187a34; }
.estado-pedido--processing { background: #fff3c4; color: #8a6400; }
.estado-pedido--on-hold, .estado-pedido--pending { background: #eef1ff; color: #3b4ba8; }
.estado-pedido--cancelled, .estado-pedido--failed, .estado-pedido--refunded { background: #ffe8e3; color: var(--rojo); }
.woocommerce-pagination { display: flex; justify-content: space-between; margin-top: 20px; }

/* Direcciones */
.woocommerce-MyAccount-content > p:first-child { color: var(--suave); }
.woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.woocommerce-Address { padding: 22px; border: 1px solid var(--borde); border-radius: var(--radio); }
.woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; margin-bottom: 10px; }
.woocommerce-Address-title h2 { margin: 0; font-size: 18px; }
.woocommerce-Address-title .edit { font-size: 13px; font-weight: 700; color: var(--titulo); text-decoration: underline; }
.woocommerce-Address address { font-style: normal; line-height: 1.7; color: var(--texto); }

/* Formularios de la cuenta */
.woocommerce-EditAccountForm fieldset, .woocommerce-address-fields { margin-top: 10px; }
.woocommerce-EditAccountForm fieldset { padding: 20px; border: 1px solid var(--borde); border-radius: var(--radio); }
.woocommerce-EditAccountForm legend { padding: 0 8px; font: 700 16px var(--f-titulo); color: var(--titulo); }

.woocommerce-order-details, .woocommerce-customer-details { margin-top: 30px; }
.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 20px 40px; list-style: none; padding: 20px; background: #f7f7f7; }
.woocommerce-order-overview strong { display: block; color: var(--titulo); }

@media (max-width: 1024px) {
	.woocommerce-account.logged-in .texto > .woocommerce { grid-template-columns: 1fr; gap: 24px; }
	/* Menú como fila deslizable: el contenido queda a la vista. */
	.cuenta-menu { position: static; margin: 0 -15px; padding: 0 15px 4px; border-radius: 0; background: none; overflow-x: auto; scrollbar-width: none; }
	.cuenta-menu ul { display: flex; gap: 8px; width: max-content; }
	.cuenta-menu a { padding: 8px 14px; border-radius: 30px; background: var(--gris); font-size: 13px; white-space: nowrap; }
	.cuenta-menu .cuenta-ico { width: 17px; height: 17px; }
	.cuenta-menu .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
}
@media (max-width: 767px) {
	.woocommerce-Addresses { grid-template-columns: 1fr; }
	.cuenta-hola h2 { font-size: 22px; }
	/* Pedidos como tarjetas */
	.woocommerce-orders-table, .woocommerce-orders-table tbody, .woocommerce-orders-table tr, .woocommerce-orders-table td { display: block; width: 100%; }
	.woocommerce-orders-table { border: 0; border-radius: 0; overflow: visible; }
	.woocommerce-orders-table thead { display: none; }
	.woocommerce-orders-table tr { margin-bottom: 14px; padding: 14px 16px; border: 1px solid var(--borde); border-radius: var(--radio); }
	.woocommerce-orders-table td { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border: 0; text-align: right; }
	.woocommerce-orders-table td::before { content: attr(data-title); color: var(--suave); font-size: 13px; text-align: left; }
	.woocommerce-orders-table td .cuenta-tenue { display: inline; margin-left: 6px; }
	.woocommerce-orders-table__cell-order-actions { justify-content: flex-start !important; gap: 8px; padding-top: 12px !important; }
	.woocommerce-orders-table__cell-order-actions::before { display: none; }
	.woocommerce-orders-table .button { flex: 1; margin: 0; text-align: center; }
}

/* ---------- bechef-core: íconos y preparación ---------- */

.iconos-producto { display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 5px 0 20px; padding: 0; list-style: none; }
.iconos-producto img { width: 110px; height: auto; }
.preparacion__pasos { list-style: none; counter-reset: paso; margin: 0; padding: 0; display: grid; gap: 15px; }
.preparacion__pasos li { counter-increment: paso; display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: start; font-size: 15px; }
.preparacion__pasos li::before { content: counter(paso) "."; font: 700 20px/1.2 var(--f-titulo); color: var(--amarillo); }
.ingredientes { list-style: none; margin: 0 0 20px; padding: 0; }
.ingredientes li { position: relative; padding: 5px 0 5px 20px; font-size: 13px; line-height: 1.4; }
.ingredientes li::before { content: ""; position: absolute; left: 0; top: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--amarillo); }

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

@media (max-width: 1024px) {
	.tienda { grid-template-columns: 1fr; }
	.tienda__abrir-filtros, .tienda__cerrar-filtros { display: inline-flex; }
	.tienda__cerrar-filtros { position: absolute; top: 10px; right: 10px; }
	.tienda__filtros {
		position: fixed; top: 0; bottom: 0; left: 0; z-index: 100;
		width: min(340px, 90vw); max-height: none; padding: 60px 25px 25px;
		background: #fff; box-shadow: var(--sombra);
		transform: translateX(-105%); transition: transform .25s ease;
	}
	.tienda__filtros.esta-abierto { transform: none; }
	.woocommerce-ordering { margin-left: 0; }

	.single-product div.product { grid-template-columns: 1fr; }
	.ficha__descripcion { grid-template-columns: 1fr; }
	.ficha__cabecera { margin-top: 20px; }
	.woocommerce-product-gallery { width: 100%; }
	.woocommerce-product-details__short-description { width: 100%; }

	form.woocommerce-checkout { grid-template-columns: 1fr; grid-template-rows: none; }
	form.woocommerce-checkout #customer_details,
	form.woocommerce-checkout #order_review_heading,
	form.woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
	#order_review { position: static; }
}

@media (max-width: 767px) {
	.summary .product_title { font-size: 26px; }
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
	.woocommerce-tabs ul.tabs { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 20px; }
	.woocommerce-tabs ul.tabs li a { white-space: nowrap; }
	.ingredientes { columns: 1; }
	.iconos-producto img { width: 85px; }

	.shop_table_responsive thead { display: none; }
	.shop_table_responsive tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--borde); }
	.shop_table_responsive td { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border: 0; text-align: right; }
	.shop_table_responsive td::before { content: attr(data-title); font-weight: 600; text-align: left; }
	.shop_table_responsive td.product-remove::before, .shop_table_responsive td.product-thumbnail::before, .shop_table_responsive td.actions::before { display: none; }
	.shop_table td.actions .coupon { display: flex; width: 100%; margin-bottom: 10px; }
	.shop_table td.actions .coupon .input-text { flex: 1; width: auto; }
	.shop_table td.actions { display: block; }
	.shop_table td.actions > .button { float: none; width: 100%; }
	.cart_totals, #order_review { padding: 20px; }
	.woocommerce-cart .contenido .texto > .woocommerce { grid-template-columns: 1fr; }
	.pasos-compra { font-size: 16px; }
	.banda-titulo--pasos { padding-block: 60px; }

	.woocommerce-account.logged-in .texto > .woocommerce { grid-template-columns: 1fr; }
	#customer_login, .woocommerce-Addresses { grid-template-columns: 1fr; }
	#customer_login > .u-column1 { border-right: 0; margin-bottom: 40px; }
	#customer_login > .u-column1, #customer_login > .u-column2 { padding: 0; }
}

/* Fecha y horario de entrega (bechef-core/inc/fechas-entrega.php): mismos campos que el resto del formulario */
.bechef-entrega { clear: both; }
.bechef-entrega__aviso { margin: 0 0 12px; padding: 8px 12px; border-left: 3px solid var(--amarillo); background: #fffbea; font-size: 13px; }
.bechef-fecha__caja { position: relative; display: block; }
.bechef-fecha__texto { cursor: pointer; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23777' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") no-repeat right 14px center !important; padding-right: 44px !important; }
.bechef-fecha__texto:read-only { background-color: #fff; }
.bechef-cal { position: absolute; top: calc(100% + 6px); left: 0; z-index: 50; width: 300px; max-width: 100%; padding: 12px; background: #fff; border: 1px solid var(--borde); border-radius: var(--radio-chico); box-shadow: var(--sombra); }
.bechef-cal[hidden] { display: none; }
.bechef-cal__cab { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.bechef-cal__mes { font: 700 14px/1 var(--f-titulo); color: var(--titulo); }
.bechef-cal__nav { width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; font-size: 22px; line-height: 1; color: var(--titulo); cursor: pointer; }
.bechef-cal__nav:hover:not(:disabled) { background: var(--gris); }
.bechef-cal__nav:disabled { opacity: .25; cursor: default; }
.bechef-cal__grilla { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.bechef-cal__dow { padding: 4px 0; font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--suave); }
.bechef-cal__dia { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border: 0; border-radius: 50%; background: transparent; font-size: 14px; color: var(--titulo); }
button.bechef-cal__dia { cursor: pointer; font-weight: 600; }
button.bechef-cal__dia:hover { background: #fff3c4; }
.bechef-cal__dia.no-disponible { color: #ccc; }
.bechef-cal__dia.es-hoy { box-shadow: inset 0 0 0 1px var(--amarillo); }
.bechef-cal__dia.es-elegido { background: var(--amarillo); color: var(--negro); font-weight: 700; }
.bechef-despacho-desde { margin: 0 0 15px; font-weight: 600; color: var(--rojo); }
@media (max-width: 480px) { .bechef-cal { width: 100%; max-width: 340px; } }
.bechef-cal__dia { max-height: 40px; margin: 0 auto; width: 100%; max-width: 40px; }

/* "¿Crear una cuenta?" y "¿Enviar a una dirección diferente?" del mismo tamaño */
.woocommerce-checkout #ship-to-different-address { margin: 12px 0; font: 600 14px/1.4 var(--f-texto); text-transform: none; letter-spacing: 0; }
.woocommerce-checkout #ship-to-different-address label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.woocommerce-checkout .woocommerce-account-fields .create-account label { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }

/* Listas desplegables nativas (país, boleta/factura, horario de entrega…) iguales a los campos de texto */
.woocommerce form .form-row select,
.woocommerce-page form .form-row select,
.woocommerce-checkout .form-row select {
	-webkit-appearance: none; appearance: none;
	width: 100%; height: 46px; min-height: 46px; padding: 8px 42px 8px 14px;
	border: 2px solid var(--borde); border-radius: var(--radio-chico);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23777' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center;
	color: var(--texto); font: 400 15px/1.4 var(--f-texto); box-shadow: none; cursor: pointer;
}
.woocommerce form .form-row select:focus, .woocommerce-checkout .form-row select:focus { outline: none; border-color: var(--amarillo); }
.woocommerce form .form-row select::-ms-expand { display: none; }
/* Comuna (select2): misma flecha y alto que las demás listas */
.select2-container--default .select2-selection--single { height: 46px; min-height: 46px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 0; right: 16px; width: 12px; height: 42px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23777' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center; }
.select2-container--default .select2-selection--single .select2-selection__arrow b { display: none; }
.select2-container--default.select2-container--open .select2-selection--single { border-color: var(--amarillo); }
/* RUT (Bsale): mensaje de error */
.woocommerce form .form-row .rut-danger { margin-top: 4px; font-size: 13px; color: var(--rojo) !important; }
.woocommerce form .form-row #billing_rut[style*="255, 231, 223"] { border-color: var(--rojo); }

/* Cupón en el resumen del checkout */
.cupon-checkout { margin: 20px 0; padding: 16px; border: 2px dashed var(--amarillo); border-radius: var(--radio-chico); background: #fff; }
.cupon-checkout__titulo { display: block; margin-bottom: 10px; font: 700 14px/1.3 var(--f-titulo); color: var(--titulo); }
.cupon-checkout__fila { display: flex; gap: 8px; }
.cupon-checkout__fila .input-text { flex: 1; min-width: 0; min-height: 46px; padding: 8px 14px; border: 2px solid var(--borde); border-radius: var(--radio-chico); text-transform: uppercase; }
.cupon-checkout__fila .input-text:focus { outline: none; border-color: var(--amarillo); }
.cupon-checkout__boton { min-height: 46px; padding: 0 22px; border: 0; border-radius: 30px; background: var(--negro); color: #fff; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.cupon-checkout__boton:hover { background: var(--amarillo); color: var(--negro); }
.cupon-checkout__boton:disabled { opacity: .6; cursor: wait; }
.cupon-checkout__mensaje:empty { display: none; }
.cupon-checkout__mensaje { margin-top: 8px; font-size: 13px; }
.cupon-checkout__mensaje.es-ok { color: #3c8a2e; }
.cupon-checkout__mensaje.es-error { color: var(--rojo); }
#order_review .cupon-checkout .cupon-checkout__boton { background: var(--negro); color: #fff; }
#order_review .cupon-checkout .cupon-checkout__boton:hover { background: var(--amarillo); color: var(--negro); }
.cupon-checkout__fila .input-text::placeholder { text-transform: none; }

/* Packs: barra siempre visible, detalle del plato, "Más pedido", edición y animación */
.pack-form .pack-resumen { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; margin: 0; padding: 12px max(16px, calc((100vw - var(--contenedor)) / 2 + 16px)); }
.single-product:has(.pack-form) .footer, .single-product:has(.pack-form) footer { padding-bottom: 110px; }
.pack-resumen__cu:empty { display: none; }
.pack-resumen__cu { font-size: 12px; color: var(--suave); }
.pack-item__top { position: absolute; left: 8px; top: 8px; padding: 4px 8px; border-radius: 4px; background: var(--negro); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .2px; }
.pack-item__nombre { cursor: pointer; }
@media (hover: hover) { .pack-item__nombre:hover { color: var(--rojo); } }
.pack-editando { margin: 0 0 14px; padding: 10px 14px; border-left: 4px solid var(--amarillo); background: #fffbea; font-size: 14px; }
.pack-editar { margin-left: 8px; font-size: 12px; font-weight: 700; color: var(--rojo); text-decoration: underline; }
[data-pack-elegidos].rebota { display: inline-block; animation: pack-rebota .35s ease; }
@keyframes pack-rebota { 0% { transform: scale(1); } 40% { transform: scale(1.45); color: var(--rojo); } 100% { transform: scale(1); } }
.pack-grilla .pack-item--elegido { animation: pack-elegido .3s ease; }
@keyframes pack-elegido { 0% { transform: scale(1); } 50% { transform: scale(1.03); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { [data-pack-elegidos].rebota, .pack-grilla .pack-item--elegido { animation: none; } }

.pack-modal[hidden] { display: none; }
.pack-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; }
.pack-modal__fondo { position: absolute; inset: 0; background: rgb(0 0 0 / 55%); }
.pack-modal__caja { position: relative; display: flex; flex-direction: column; width: min(560px, 92vw); max-height: 88vh; border-radius: var(--radio); background: #fff; overflow: hidden; box-shadow: 0 20px 60px rgb(0 0 0 / 30%); }
.pack-modal__cerrar { position: absolute; top: 10px; right: 10px; z-index: 2; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgb(255 255 255 / 90%); font-size: 26px; line-height: 1; cursor: pointer; box-shadow: 0 2px 8px rgb(0 0 0 / 15%); }
.pack-modal__contenido { flex: 1; overflow-y: auto; padding: 0 20px 10px; }
.pack-modal__img { margin: 0 -20px 14px; }
.pack-modal__img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.pack-modal__nombre { margin: 0 0 10px; font: 700 20px/1.25 var(--f-titulo); }
.pack-modal .iconos-producto { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; padding: 0; list-style: none; }
.pack-modal .iconos-producto img { width: 44px; height: 44px; }
.pack-modal__desc { font-size: 14px; line-height: 1.55; }
.pack-modal h4 { margin: 14px 0 4px; font: 700 14px/1.3 var(--f-titulo); }
.pack-modal__ing { margin: 0; font-size: 14px; line-height: 1.5; color: var(--texto); }
.pack-modal__prep { margin-top: 12px; border-top: 1px solid var(--borde); padding-top: 10px; }
.pack-modal__prep summary { font: 700 14px/1.3 var(--f-titulo); cursor: pointer; }
.pack-modal__cargando { padding: 60px 0; text-align: center; color: var(--suave); }
.pack-modal__pie { display: flex; align-items: center; gap: 12px; padding: 12px 20px; border-top: 1px solid var(--borde); background: #fff; }
.pack-modal__qty { display: flex; align-items: center; gap: 12px; }
.pack-modal__qty button { width: 40px; height: 40px; border: 2px solid var(--borde); border-radius: 50%; background: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.pack-modal__qty button:disabled { opacity: .35; }
.pack-modal__qty strong { min-width: 20px; text-align: center; font-size: 18px; }
.pack-modal__listo { flex: 1; min-height: 46px; }
.pack-modal__agotado { flex: 1; text-align: center; font-weight: 700; color: var(--rojo); }
html.pack-modal-abierto { overflow: hidden; }
@media (max-width: 600px) {
	.pack-modal { align-items: flex-end; }
	.pack-modal__caja { width: 100%; max-height: 90vh; border-radius: 18px 18px 0 0; }
	/* Cabecera compacta: en los packs la grilla muestra los platos, el collage sobra */
	.single-product div.product.product-type-bechef_pack { grid-template-columns: 110px 1fr; gap: 12px 14px; }
	.single-product div.product.product-type-bechef_pack > .woocommerce-product-gallery { grid-column: 1; }
	.single-product div.product.product-type-bechef_pack > .summary { grid-column: 2; }
	.product-type-bechef_pack .woocommerce-product-gallery .flex-control-nav, .product-type-bechef_pack .woocommerce-product-gallery__trigger { display: none; }
	.product-type-bechef_pack .woocommerce-product-gallery img { border-radius: var(--radio-chico); aspect-ratio: 1; object-fit: cover; }
	.product-type-bechef_pack .summary .product_title { font-size: 19px; line-height: 1.25; margin-bottom: 4px; }
	.product-type-bechef_pack .summary .price { margin: 0 0 6px; font-size: 18px; }
	.product-type-bechef_pack .summary .price del { font-size: 14px; }
	.product-type-bechef_pack .woocommerce-product-details__short-description { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; width: 100%; margin-bottom: 0; font-size: 13px; line-height: 1.45; }
	.product-type-bechef_pack .summary :is(.pack-cta, .pack-cta__dcto, .iconos-producto, .stock, p:not([class])) { display: none; }
	.pack-armar { padding-top: 12px; }
}
@media (max-width: 600px) { .pack-form .pack-resumen { padding: 10px 76px 10px 16px; } }
/* En los packs el botón de WhatsApp sube sobre la barra fija (en celular la barra ya le deja espacio a la derecha) */
@media (min-width: 601px) { body:has(.pack-form) .bechef-wa { bottom: 100px !important; } }
.pack-item__ver { position: absolute; right: 8px; bottom: 8px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: rgb(255 255 255 / 92%); color: var(--negro); box-shadow: 0 2px 8px rgb(0 0 0 / 20%); cursor: pointer; transition: transform var(--transicion), background var(--transicion); }
.pack-item__ver:hover { transform: scale(1.08); background: var(--amarillo); }
.pack-item__img { cursor: zoom-in; }

/* Precio de packs en carrito / carrito lateral / checkout: "por separado" tachado gris + final destacado */
:is(.woocommerce-cart-form, .widget_shopping_cart_content, .woocommerce-checkout-review-order-table) del { color: #9a9a9a !important; font-weight: 400; font-size: .9em; margin-right: 4px; }
:is(.woocommerce-cart-form, .widget_shopping_cart_content, .woocommerce-checkout-review-order-table) del .amount { color: inherit !important; }
:is(.woocommerce-cart-form, .widget_shopping_cart_content, .woocommerce-checkout-review-order-table) ins { text-decoration: none; font-weight: 700; }
.widget_shopping_cart_content .quantity del, .widget_shopping_cart_content .quantity ins { display: inline; }

/* Carrito en celular: el nombre y el detalle del pack a lo ancho, alineados a la izquierda */
@media (max-width: 768px) {
	.woocommerce-cart-form .shop_table_responsive tr td.product-name { display: block; text-align: left !important; }
	.woocommerce-cart-form .shop_table_responsive tr td.product-name::before { display: none; }
	.woocommerce-cart-form td.product-name .pack-detalle, .woocommerce-cart-form td.product-name .variation { text-align: left; }
	.woocommerce-cart-form td.product-name .pack-detalle { columns: 1; padding-left: 18px; }
}
@media (max-width: 768px) { .woocommerce-cart-form .shop_table_responsive td:is(.product-price, .product-subtotal) del { margin-left: auto; margin-right: 8px; } }
.woocommerce form .form-row.bechef-oculto { display: none !important; }
.bechef-entrega { margin-bottom: 26px; padding-bottom: 6px; border-bottom: 1px solid var(--borde); }

/* ---------- Compra (bechef-core/inc/compra.php) ---------- */

/* Fecha de entrega estimada en la ficha */
.entrega-aviso { margin: 4px 0 14px; padding: 9px 14px; border-radius: var(--radio-chico); background: #fff8d6; font-size: 14px; color: var(--titulo); }
.entrega-aviso strong { font-weight: 700; }

/* Repetir pedido (Mi cuenta) */
.repetir-pedido { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin: 0 0 26px; padding: 20px 24px; border-radius: var(--radio); background: #fff8d6; border: 1px solid #ffe27a; }
.repetir-pedido__titulo { margin: 0 0 2px; font: 700 18px/1.3 var(--f-titulo); color: var(--titulo); }
.repetir-pedido__detalle { margin: 0; color: var(--texto); }
.woocommerce-orders-table .button.repetir { background: var(--amarillo); color: var(--titulo); }

/* Envío gratis */
.envio-gratis { margin: 0 0 16px; padding: 12px 14px; border-radius: var(--radio-chico); background: var(--gris); font-size: 13px; }
.envio-gratis p { margin: 0 0 8px; }
.envio-gratis__barra { height: 8px; border-radius: 8px; background: var(--borde); overflow: hidden; }
.envio-gratis__barra span { display: block; height: 100%; border-radius: 8px; background: var(--amarillo); transition: width .4s ease; }
.envio-gratis--listo { background: #e3f6e8; }
.envio-gratis--listo .envio-gratis__barra span { background: #2fa84f; }
.widget_shopping_cart_content .envio-gratis { margin: 0 0 12px; }

/* Stock bajo */
.stock-bajo { display: inline-block; margin: 0 0 4px; padding: 2px 9px; border-radius: 20px; background: #ffe8e3; color: var(--rojo); font: 700 12px/1.5 var(--f-texto); }
.summary .stock .stock-bajo { font-size: 13px; }

/* Estrellas de Google */
.google-estrellas { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; color: var(--titulo); font-size: 13px; text-decoration: none; }
.google-estrellas:hover { color: var(--titulo); text-decoration: underline; }
.google-estrellas__e { position: relative; display: inline-block; color: #ddd; letter-spacing: 1px; }
.google-estrellas__e::before { content: "★★★★★"; position: absolute; inset: 0; width: var(--nota, 100%); overflow: hidden; color: #f5b301; }
.google-estrellas__g { color: var(--suave); }
.google-estrellas--ficha { margin: -4px 0 12px; }
.google-estrellas--grande { justify-content: center; margin: 0 0 24px; font-size: 18px; }
.resenas-google__lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin: 0 0 26px; padding: 0; list-style: none; text-align: left; }
.resenas-google__lista li { padding: 22px; border-radius: var(--radio); background: var(--gris); }
.resenas-google__lista p { margin: 0 0 12px; font: italic 15px/1.55 var(--f-alt); color: var(--titulo); }
.resenas-google__lista span { font-size: 13px; font-weight: 700; color: var(--texto); }
.resenas-google__estrellas { margin-left: 4px; color: #f5b301; letter-spacing: 1px; }

/* Filtros rápidos */
.tienda__productos { min-width: 0; }
.filtros-rapidos { display: flex; gap: 8px; max-width: 100%; margin: 0 0 18px; padding: 2px 0 6px; overflow-x: auto; scrollbar-width: thin; }
.filtros-rapidos__chip { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 30px; background: #fff; box-shadow: inset 0 0 0 1px var(--borde); color: var(--titulo); font-size: 13px; font-weight: 600; white-space: nowrap; text-decoration: none; transition: var(--transicion); }
.filtros-rapidos__chip img { width: 22px; height: 22px; object-fit: contain; }
.filtros-rapidos__chip:hover { box-shadow: inset 0 0 0 1px var(--titulo); color: var(--titulo); }
.filtros-rapidos__chip.es-activo { background: var(--amarillo); box-shadow: none; }

/* Checkout */
.recordar-datos { margin-top: 6px; font-size: 13px; }
.recordar-datos input { margin-right: 6px; }
@media (max-width: 767px) {
	/* En móvil la barra no cabía (504 px): solo queda "Ordenar", las columnas las define la pantalla. */
	.tienda__mostrar, .tienda__columnas { display: none; }
	.tienda__derecha { gap: 12px; margin-left: 0; max-width: 100%; }
	.tienda__derecha .orderby { max-width: 100%; }
}
.cuenta-titulo { margin: 0 0 18px; font-size: 24px; }
.woocommerce-orders-table tbody th { padding: 16px; border-top: 1px solid var(--borde); background: none; font: inherit; text-transform: none; letter-spacing: 0; text-align: left; vertical-align: middle; }
.woocommerce-orders-table__header-order-actions { font-size: 0 !important; }
.cuenta-total strong { display: block; color: var(--titulo); }
.woocommerce-MyAccount-content mark { padding: 0; background: none; color: var(--titulo); font-weight: 700; }
.woocommerce-Address-title { flex-direction: column; align-items: flex-start; }
.woocommerce-EditAccountForm .form-row:has(#account_display_name) { display: none; }
@media (max-width: 767px) {
	.woocommerce-orders-table tbody th { display: flex; justify-content: space-between; width: 100%; padding: 0 0 8px; border: 0; font-size: 16px; }
	.woocommerce-orders-table tbody th::before { content: "Pedido"; color: var(--suave); font-size: 13px; font-weight: 400; }
	.cuenta-total { text-align: right; }
	.woocommerce-orders-table td .cuenta-total .cuenta-tenue { display: block; margin: 0; }
}
@media (max-width: 767px) {
	.woocommerce-orders-table tr { padding: 12px 0; }
	.woocommerce-orders-table tbody th, .woocommerce-orders-table td { padding-left: 16px !important; padding-right: 16px !important; }
}
.aviso-pago { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin: 0 0 22px; padding: 16px 20px; border-radius: var(--radio); background: #eef1ff; color: #2c3a8a; } .aviso-pago p { margin: 0; } .aviso-pago .button { background: var(--negro); color: #fff; }

/* ---------- Packs: incluidos fijos y grupos de elección ---------- */
.pack-incluye { margin-bottom: 26px; }
.pack-grupo { margin-bottom: 8px; }
.pack-grupo + .pack-grupo { padding-top: 18px; border-top: 1px dashed var(--borde); }
.pack-grupo__cab { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0 0 12px; }
.pack-grupo__titulo { margin: 0; font: 700 19px/1.25 var(--f-titulo); color: var(--titulo); }
.pack-grupo__cuenta { padding: 4px 12px; border-radius: 20px; background: var(--gris); font-size: 13px; font-weight: 700; color: var(--texto); }
.pack-grupo--listo .pack-grupo__cuenta { background: #e3f6e8; color: #187a34; }
.pack-grupo--listo .pack-grupo__cuenta::after { content: " ✓"; }
.pack-incluye__nota { color: var(--suave); font-size: 13px; }
.pack-grilla .pack-item--incluido { border-style: dashed; background: #fcfcfc; }
.pack-item--incluido .pack-item__img img { filter: saturate(.95); }
.pack-item--incluido .pack-item__nombre { cursor: pointer; }
.pack-item__incluido { display: flex; align-items: center; justify-content: center; min-height: 42px; border-radius: 30px; background: #e3f6e8; color: #187a34; font: 700 13px/1 var(--f-texto); }
.pack-modal__incluido { display: block; padding: 12px; border-radius: 30px; background: #e3f6e8; color: #187a34; font-weight: 700; text-align: center; }
/* Productos fijos: la lista va bajo la ficha, sin la barra de selección */
.pack-armar--fijo { padding-top: 10px; }
.pack-armar--fijo .pack-grilla { grid-template-columns: repeat(auto-fill, minmax(min(160px, 100%), 1fr)); }
@media (max-width: 600px) {
	.pack-grupo__titulo { font-size: 17px; }
	.pack-item__incluido { min-height: 36px; font-size: 12px; }
}

/* "Este pack incluye" junto al precio (lista compacta) */
.pack-resumen-incluye { margin: 6px 0 18px; padding: 14px 16px; border: 1px solid var(--borde); border-radius: var(--radio); background: #fffdf3; }
.pack-resumen-incluye__titulo { margin: 0 0 10px; font: 700 15px/1.3 var(--f-titulo); color: var(--titulo); }
.pack-resumen-incluye__titulo span { margin-left: 6px; font: 400 13px var(--f-texto); color: var(--suave); }
.pack-resumen-incluye ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pack-resumen-incluye li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--titulo); }
.pack-resumen-incluye li[data-plato] { cursor: pointer; border-radius: 8px; transition: background var(--transicion); }
.pack-resumen-incluye li[data-plato]:hover, .pack-resumen-incluye li[data-plato]:focus-visible { background: #fff3c4; outline: none; }
.pack-resumen-incluye__img { flex: 0 0 48px; width: 48px; height: 48px; overflow: hidden; border-radius: 8px; background: #fff; }
.pack-resumen-incluye__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pack-resumen-incluye__nombre { flex: 1; line-height: 1.3; }
.pack-resumen-incluye__ver { padding: 3px 10px; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px var(--borde); font-size: 12px; font-weight: 700; color: var(--texto); }
.pack-incluye__icono { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 48px; background: #f4f1ea; color: #b08a00; }
.pack-item--sin-foto .pack-item__img { aspect-ratio: 1; }
.pack-resumen-incluye__mas { margin: 10px 0 0; font-size: 13px; font-weight: 700; color: var(--texto); }
