/*
Theme Name: Eskala Sports Child
Template: astra
Description: Tema hijo de Astra para Eskala Sports (WooCommerce + WhatsApp). Basado en las maquetas de Home, Tienda, Categoría, Ficha, Carrito, Marcas y Cuenta.
Version: 1.0.2
Text Domain: eskala-child
*/

/* ========== 1. TOKENS ========== */
:root{
  --esk-azul:#003C8F;
  --esk-azul-osc:#0A1F44;
  --esk-azul-2:#1F6BFF;
  --esk-oro:#F2B400;
  --esk-negro:#111111;
  --esk-blanco:#FFFFFF;
  --esk-gris:#F5F5F5;
  --esk-texto:#666666;
  --esk-borde:#E4E7EC;
  --esk-radio:8px;
  --esk-display:'Bebas Neue','Anton',Impact,sans-serif;
  --esk-body:'Inter','Montserrat',system-ui,sans-serif;
}
body{font-family:var(--esk-body);color:var(--esk-negro);background:var(--esk-blanco)}
h1,h2,h3,.esk-display{font-family:var(--esk-display);letter-spacing:.01em;font-weight:400;text-transform:uppercase}
a{transition:color .15s}
:focus-visible{outline:3px solid var(--esk-oro);outline-offset:2px}

/* ========== 2. BARRA SUPERIOR + HEADER ========== */
.esk-topbar{background:var(--esk-azul-osc);color:#fff;font-size:13px;text-align:center;padding:8px 12px}
.esk-topbar strong{color:var(--esk-oro);font-weight:600}
.site-header,.ast-primary-header-bar,.main-header-bar{background:var(--esk-azul)!important}
.main-header-bar .menu-link,.ast-header-break-point .main-header-menu a{color:#fff!important;font-family:var(--esk-display);font-size:17px;letter-spacing:.05em;text-transform:uppercase}
.main-header-menu .menu-item:hover>.menu-link,.main-header-menu .current-menu-item>.menu-link{color:var(--esk-oro)!important}
.main-header-menu .menu-item.esk-ofertas>.menu-link{color:var(--esk-oro)!important}
.ast-header-search svg,.ast-site-header-cart svg,.ast-menu-toggle svg{fill:#fff!important}
.ast-cart-menu-wrap .count{background:var(--esk-oro)!important;color:var(--esk-negro)!important;border-radius:50%}

/* ========== 3. BOTONES ========== */
.button,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.single_add_to_cart_button{
  background:var(--esk-oro)!important;color:var(--esk-negro)!important;border:0;border-radius:var(--esk-radio);
  font-family:var(--esk-body);font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:14px 22px;transition:filter .15s,transform .15s}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.single_add_to_cart_button:hover{filter:brightness(.93)}
.esk-btn-sec{display:inline-flex;gap:8px;align-items:center;justify-content:center;width:100%;border:1.5px solid var(--esk-borde);
  border-radius:var(--esk-radio);padding:12px 18px;font-weight:600;color:var(--esk-negro);background:#fff;text-decoration:none}
.esk-btn-wa{border-color:#25D366;color:#0b7a3b}
.esk-btn-wa:hover{background:#25D366;color:#fff}

/* ========== 4. HERO / BANNERS ========== */
.esk-hero{position:relative;color:#fff;padding:56px 24px 48px;background:
  linear-gradient(115deg,rgba(10,31,68,.95) 35%,rgba(10,31,68,.35)),
  var(--esk-hero-img,none) center/cover,var(--esk-azul-osc)}
.esk-hero::after{content:"";position:absolute;right:-60px;top:0;bottom:0;width:140px;background:var(--esk-oro);transform:skewX(-20deg);opacity:.9}
.esk-hero h1{font-size:clamp(44px,7vw,96px);line-height:.95;margin:0 0 24px;color:#fff;position:relative;z-index:1}
.esk-hero h1 em{display:block;font-style:normal;color:var(--esk-oro)}
.esk-hero .button{position:relative;z-index:1}
.esk-banner{background:var(--esk-azul-osc) var(--esk-bg-img,none) center/cover;color:#fff;padding:36px 24px;border-radius:var(--esk-radio)}
.esk-banner h2{color:#fff;font-size:clamp(30px,4vw,48px);margin:0 0 6px}
.esk-banner h2 span{color:var(--esk-oro);display:block}
.esk-banner p{margin:0;opacity:.85}

/* ========== 5. CATEGORÍAS DESTACADAS ========== */
.esk-section-title{display:flex;justify-content:space-between;align-items:baseline;margin:32px 0 14px}
.esk-section-title h2{font-size:28px;margin:0}
.esk-section-title a{font-size:14px;color:var(--esk-azul);font-weight:600}
.esk-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(min-width:900px){.esk-cats{grid-template-columns:repeat(8,1fr);gap:14px}}
.esk-cat{position:relative;aspect-ratio:1/1;border-radius:var(--esk-radio);overflow:hidden;background:var(--esk-azul-osc) var(--esk-img,none) center/cover;
  display:flex;align-items:flex-end;justify-content:center;text-decoration:none}
.esk-cat::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,31,68,.9),transparent 60%)}
.esk-cat span{position:relative;color:#fff;font-family:var(--esk-display);font-size:18px;letter-spacing:.06em;padding:0 6px 10px}
.esk-cat:hover{box-shadow:0 0 0 3px var(--esk-oro)}

/* ========== 6. TIENDA / PRODUCTOS ========== */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0}
@media(min-width:768px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr);gap:18px}}
@media(min-width:1100px){.woocommerce ul.products.columns-4,.woocommerce ul.products{grid-template-columns:repeat(4,1fr)}}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none;background:#fff;border:1px solid var(--esk-borde);
  border-radius:var(--esk-radio);padding:10px;position:relative;display:flex;flex-direction:column}
.woocommerce ul.products li.product:hover{border-color:var(--esk-azul);box-shadow:0 6px 18px rgba(0,60,143,.12)}
.woocommerce ul.products li.product img{background:var(--esk-gris);border-radius:6px;aspect-ratio:1/1;object-fit:contain;margin-bottom:10px}
.woocommerce-loop-product__title{font-family:var(--esk-body)!important;font-size:14px!important;font-weight:600;color:var(--esk-negro);min-height:2.6em}
.woocommerce ul.products li.product .price{color:var(--esk-negro);font-weight:700;font-size:16px}
.woocommerce ul.products li.product .price del{color:var(--esk-texto);font-weight:400;font-size:13px}
.woocommerce .star-rating{color:var(--esk-oro);font-size:12px}
.woocommerce ul.products li.product .button{margin-top:auto;width:100%;text-align:center;padding:10px;font-size:12px}
/* insignias */
.esk-badge,.woocommerce span.onsale{position:absolute;top:10px;left:10px;z-index:2;min-height:0;min-width:0;line-height:1;
  border-radius:4px;padding:5px 8px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin:0}
.esk-badge--nuevo{background:var(--esk-azul);color:#fff}
.woocommerce span.onsale{background:#D62828;color:#fff}
.esk-badge--temp{background:var(--esk-oro);color:var(--esk-negro)}
.woocommerce-result-count,.woocommerce-ordering select{font-size:13px;color:var(--esk-texto)}

/* ========== 7. FICHA DE PRODUCTO ========== */
.single-product div.product .product_title{font-family:var(--esk-display);font-size:clamp(28px,4vw,40px);text-transform:uppercase}
.single-product div.product p.price{font-size:26px;font-weight:800;color:var(--esk-negro)}
.single-product .woocommerce-product-gallery{background:var(--esk-gris);border-radius:var(--esk-radio);padding:12px}
.single-product .flex-control-thumbs li img{border:2px solid transparent;border-radius:6px;opacity:.8}
.single-product .flex-control-thumbs li img.flex-active{border-color:var(--esk-azul);opacity:1}
.esk-beneficios{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0;font-size:13px;color:var(--esk-texto)}
.esk-beneficios span::before{content:"✔";color:var(--esk-azul);margin-right:6px;font-weight:700}
.single-product .variations select{border:1.5px solid var(--esk-borde);border-radius:6px;padding:10px}
.esk-wa-single{margin-top:10px}
.woocommerce-tabs ul.tabs li.active a{color:var(--esk-azul)}

/* ========== 8. CARRITO / CHECKOUT ========== */
.woocommerce-cart .cart_totals,.woocommerce-cart table.cart{border:1px solid var(--esk-borde);border-radius:var(--esk-radio)}
.woocommerce-cart .cart_totals h2{font-size:24px}
.woocommerce-cart .wc-proceed-to-checkout .button{width:100%;font-size:15px}
.woocommerce-cart .quantity .qty{border:1.5px solid var(--esk-borde);border-radius:6px;min-width:60px}
.esk-envio-nota{background:#FFF7DB;border-left:4px solid var(--esk-oro);padding:12px 14px;border-radius:6px;font-size:13px;margin:14px 0}

/* ========== 9. MARCAS ========== */
.esk-marcas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(min-width:900px){.esk-marcas{grid-template-columns:repeat(6,1fr)}}
.esk-marca{border:1px solid var(--esk-borde);border-radius:var(--esk-radio);aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:6px;text-decoration:none;color:var(--esk-negro);font-size:13px;font-weight:600;background:#fff}
.esk-marca img{max-width:60%;max-height:42px;object-fit:contain}
.esk-marca:hover{border-color:var(--esk-azul);box-shadow:0 4px 14px rgba(0,60,143,.12)}

/* ========== 10. FRANJA DE BENEFICIOS ========== */
.esk-franja{background:var(--esk-azul-osc);color:#fff;display:grid;gap:16px;padding:24px;border-radius:var(--esk-radio)}
@media(min-width:768px){.esk-franja{grid-template-columns:repeat(3,1fr)}}
.esk-franja b{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--esk-oro)}
.esk-franja small{opacity:.8}

/* ========== 11. NAVEGACIÓN INFERIOR (SOLO MÓVIL) ========== */
.esk-bottomnav{display:none}
@media(max-width:768px){
  body{padding-bottom:64px}
  .esk-bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:999;background:#fff;
    border-top:1px solid var(--esk-borde);padding:6px 0 calc(6px + env(safe-area-inset-bottom))}
  .esk-bottomnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--esk-texto);text-decoration:none;position:relative}
  .esk-bottomnav a svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}
  .esk-bottomnav a.is-active{color:var(--esk-azul);font-weight:700}
  .esk-bottomnav .esk-count{position:absolute;top:-4px;right:calc(50% - 20px);background:var(--esk-oro);color:var(--esk-negro);font-size:10px;font-weight:700;border-radius:999px;padding:1px 5px}
}

/* ========== 12. FOOTER ========== */
.site-footer,.ast-small-footer{background:var(--esk-azul-osc)!important;color:#cdd6e8}
.site-footer a{color:#fff}
.esk-slogan{font-family:var(--esk-display);font-size:22px;color:var(--esk-oro);text-align:center;padding:18px 12px;background:var(--esk-azul-osc)}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ============================================================
   13. FICHA DE PRODUCTO – IGUAL A LA REFERENCIA
   Escritorio: [miniaturas | imagen principal] [info] [tarjeta de beneficios]
   Móvil: imagen con flechas, miniaturas debajo en fila, info a ancho completo
   ============================================================ */

/* Las fotos tienen fondo blanco: se funden con el gris de la caja */
.single-product .woocommerce-product-gallery{background:var(--esk-gris);border-radius:var(--esk-radio);padding:12px;position:relative}
.single-product .woocommerce-product-gallery img,
.astra-shop-thumbnail-wrap img{mix-blend-mode:multiply;background:none!important}
.astra-shop-thumbnail-wrap{background:var(--esk-gris);border-radius:6px;margin-bottom:10px;overflow:hidden}
.woocommerce ul.products li.product img{background:none;margin-bottom:0}

/* Galería base (móvil primero) */
.single-product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0 0 20px}
.single-product .woocommerce-product-gallery .flex-viewport{border-radius:6px;background:var(--esk-gris)}
.single-product .woocommerce-product-gallery__image img{width:100%;aspect-ratio:1/1;object-fit:contain}
.single-product .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0 0!important;padding:0;list-style:none}
.single-product .flex-control-thumbs li{width:100%!important;float:none!important;margin:0!important}
.single-product .flex-control-thumbs li img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border:2px solid transparent;border-radius:6px;cursor:pointer;opacity:.75;mix-blend-mode:normal}
.single-product .flex-control-thumbs li img.flex-active{border-color:var(--esk-azul);opacity:1}

/* Flechas ‹ › sobre la imagen */
.single-product .flex-direction-nav{list-style:none;margin:0;padding:0}
.single-product .flex-direction-nav a{position:absolute;top:calc(50% - 40px);z-index:5;width:36px;height:36px;border-radius:50%;background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;color:var(--esk-negro);text-decoration:none;overflow:hidden;text-indent:0}
.single-product .flex-direction-nav .flex-prev{left:18px}
.single-product .flex-direction-nav .flex-next{right:18px}
.single-product .flex-direction-nav .flex-disabled{opacity:.35;pointer-events:none}
.single-product .woocommerce-product-gallery__trigger{top:18px;right:18px;z-index:6}

/* Insignia NUEVO sobre la galería */
.single-product .onsale{top:20px!important;left:20px!important}

/* Info */
.single-product .summary{width:100%!important;float:none!important}
.single-product .woocommerce-product-rating{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.single-product .woocommerce-product-details__short-description{color:var(--esk-texto);font-size:14px;line-height:1.55}
.single-product .stock.in-stock{color:#1a8a4a;font-weight:600;font-size:13px}
.single-product .reset_variations{display:none!important}
.single-product table.variations th.label{display:block;padding:0 0 6px;font-weight:700;font-size:14px}
.single-product table.variations td{display:block;padding:0}
.single-product table.variations tr{display:block;margin-bottom:12px}

/* Tallas como botones (las genera ficha.js) */
.esk-hide{position:absolute!important;opacity:0;pointer-events:none;height:0;width:0}
.esk-chips{display:flex;flex-wrap:wrap;gap:8px}
.esk-chip{min-width:46px;padding:10px 14px;border:1.5px solid var(--esk-borde);border-radius:6px;background:#fff;color:var(--esk-negro);font-weight:700;cursor:pointer;transition:border-color .15s,background .15s}
.esk-chip:hover{border-color:var(--esk-azul)}
.esk-chip[aria-pressed="true"]{border-color:var(--esk-azul);background:var(--esk-azul);color:#fff}
.esk-chip:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}

/* Cantidad con − / + */
.single-product form.cart,.single-product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.single-product .quantity{display:inline-flex;align-items:center;border:1.5px solid var(--esk-borde);border-radius:6px;overflow:hidden;background:#fff}
.single-product .quantity .qty{border:0;width:48px;text-align:center;font-weight:700;-moz-appearance:textfield}
.single-product .quantity .qty::-webkit-outer-spin-button,.single-product .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.esk-qty-btn{width:38px;border:0;background:var(--esk-gris);font-size:18px;font-weight:700;cursor:pointer}
.esk-qty-btn:hover{background:var(--esk-oro)}
.single-product .single_add_to_cart_button{flex:1 1 100%;display:flex;align-items:center;justify-content:center;gap:8px}
.esk-wa-single{flex:1 1 100%}
.woocommerce-cart .quantity{display:inline-flex;align-items:center}

/* Tarjeta de beneficios (solo escritorio) */
.esk-aside{display:none}
.esk-aside .esk-ben{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--esk-borde)}
.esk-aside .esk-ben:last-child{border-bottom:0}
.esk-aside svg{flex:0 0 28px;width:28px;height:28px;stroke:var(--esk-azul);fill:none;stroke-width:1.7}
.esk-aside b{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.esk-aside small{color:var(--esk-texto);font-size:12px}

/* Pestañas y relacionados a todo el ancho */
.single-product .woocommerce-tabs{grid-column:1/-1;margin-top:28px}
.single-product .woocommerce-tabs ul.tabs{padding:0;border-bottom:1px solid var(--esk-borde);margin-bottom:18px}
.single-product .woocommerce-tabs ul.tabs li a{font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.03em}
.single-product .woocommerce-tabs ul.tabs li.active{border-bottom:3px solid var(--esk-azul)}
.single-product section.related{grid-column:1/-1}
.single-product section.related>h2{font-size:28px}

/* ESCRITORIO: 3 columnas, miniaturas verticales a la izquierda */
@media(min-width:1024px){
  .single-product div.product{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 280px;gap:32px;align-items:start}
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .summary,
  .single-product div.product .esk-aside{grid-row:1}
  .single-product .woocommerce-product-gallery{grid-column:1;display:flex;flex-direction:row-reverse;gap:12px;align-items:flex-start;margin:0}
  .single-product .woocommerce-product-gallery .flex-viewport{flex:1;min-width:0}
  .single-product .flex-control-thumbs{display:flex!important;flex-direction:column;width:76px;flex:0 0 76px;margin:0!important}
  .single-product .summary{grid-column:2}
  .single-product .esk-beneficios{display:none}
  .esk-aside{display:block;grid-column:3;border:1px solid var(--esk-borde);border-radius:var(--esk-radio);padding:6px 18px;background:#fff}
  .single-product .flex-direction-nav .flex-prev{left:100px}
  .single-product .single_add_to_cart_button,.esk-wa-single{flex:1 1 100%}
}

/* ============================================================
   14. GALERÍA CON 9 IMÁGENES + FICHA RÁPIDA + COLORES + AJUSTE
   ============================================================ */

/* Miniaturas: móvil = tira horizontal deslizable (caben las 9) */
body.single-product .flex-control-thumbs{display:flex!important;flex-direction:row;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;
  padding-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
body.single-product .flex-control-thumbs li{flex:0 0 64px!important;width:64px!important;scroll-snap-align:start}

/* Escritorio = columna vertical con scroll, con la altura de la imagen principal (la ajusta ficha.js) */
@media(min-width:1024px){
  body.single-product .flex-control-thumbs{flex-direction:column;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y proximity;
    width:76px;flex:0 0 76px;padding:0 4px 0 0}
  body.single-product .flex-control-thumbs li{flex:0 0 auto!important;width:100%!important}
}

/* Contador 1 / 9 sobre la imagen */
.esk-counter{position:absolute;right:20px;bottom:22px;z-index:6;background:rgba(17,17,17,.7);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
@media(min-width:1024px){.esk-counter{right:20px}}

/* Ficha rápida */
.esk-ficha{margin:14px 0;border:1px solid var(--esk-borde);border-radius:var(--esk-radio);overflow:hidden;font-size:13px}
.esk-ficha div{display:flex;gap:12px;padding:9px 12px}
.esk-ficha div:nth-child(odd){background:var(--esk-gris)}
.esk-ficha dt{flex:0 0 130px;font-weight:700;color:var(--esk-negro)}
.esk-ficha dd{margin:0;color:var(--esk-texto)}

/* Colores del mismo modelo */
.esk-colores{margin:16px 0}
.esk-lbl{display:block;font-size:14px;margin-bottom:8px}
.esk-sw{display:flex;flex-wrap:wrap;gap:8px}
.esk-swatch{width:56px;height:56px;border:2px solid var(--esk-borde);border-radius:6px;background:var(--esk-gris);overflow:hidden;display:block}
.esk-swatch img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.esk-swatch:hover{border-color:var(--esk-azul)}
.esk-swatch.is-current{border-color:var(--esk-azul);box-shadow:0 0 0 2px #fff inset}

/* Aviso de ajuste */
.esk-ajuste{margin:4px 0 14px;font-size:13px;color:var(--esk-texto)}
.esk-ajuste a{color:var(--esk-azul);font-weight:600;text-decoration:underline}

/* Más de [marca] */
.esk-marca-rel{grid-column:1/-1;margin-top:28px}
.esk-marca-rel>h2{font-size:28px}

/* ============================================================
   15. GALERÍA PROPIA (carrusel) – .esk-gal
   ============================================================ */
.esk-gal{position:relative;width:100%;background:var(--esk-gris);border-radius:var(--esk-radio);padding:12px;margin:0 0 20px;box-sizing:border-box}
.esk-gal__main{position:relative}
.esk-gal__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  border-radius:6px;background:var(--esk-gris);outline-offset:2px;cursor:grab}
.esk-gal__track::-webkit-scrollbar{display:none}
.esk-gal__track:active{cursor:grabbing}
.esk-gal__slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:center;scroll-snap-stop:always}
.esk-gal__slide img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;mix-blend-mode:multiply;background:none;user-select:none;-webkit-user-drag:none}

.esk-gal__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:var(--esk-negro);
  box-shadow:0 2px 8px rgba(0,0,0,.2);font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;padding-bottom:3px}
.esk-gal__arrow:hover{background:var(--esk-oro)}
.esk-gal__arrow:disabled{opacity:.35;cursor:default;background:#fff}
.esk-gal__prev{left:8px}
.esk-gal__next{right:8px}
.esk-gal__counter{position:absolute;right:10px;bottom:10px;z-index:5;background:rgba(17,17,17,.72);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}

/* Miniaturas: móvil = fila deslizable bajo la imagen */
.esk-gal__thumbs{display:flex;flex-direction:row;gap:8px;margin-top:10px;overflow-x:auto;overflow-y:hidden;position:relative;padding-bottom:4px;scrollbar-width:thin}
.esk-gal__thumb{flex:0 0 64px;width:64px;height:64px;padding:0;border:2px solid transparent;border-radius:6px;background:#fff;opacity:.75;cursor:pointer;overflow:hidden}
.esk-gal__thumb img{width:100%;height:100%;object-fit:contain;display:block}
.esk-gal__thumb:hover{opacity:1}
.esk-gal__thumb.is-active{border-color:var(--esk-azul);opacity:1}

/* Escritorio: miniaturas verticales a la izquierda, con la altura de la imagen principal */
@media(min-width:1024px){
  .single-product .esk-gal{grid-column:1;grid-row:1;padding-left:100px}
  .esk-gal__thumbs{position:absolute;left:12px;top:12px;bottom:12px;width:76px;margin:0;padding:0 4px 0 0;
    flex-direction:column;overflow-x:hidden;overflow-y:auto}
  .esk-gal__thumb{flex:0 0 72px;width:72px;height:72px}
}

/* ============================================================
   16. ANCHO DE LA FICHA (Astra la dejaba en ~600 px)
   ============================================================ */
body.single-product .site-content>.ast-container,
body.single-product #content>.ast-container{max-width:1240px;width:100%;padding-left:20px;padding-right:20px;display:block}
body.single-product #primary{width:100%!important;max-width:100%;margin:0;padding:0}
body.single-product #secondary{display:none}
body.single-product .ast-woocommerce-container{max-width:100%}

/* ============================================================
   17. CABECERA DE ESCRITORIO (≥922 px)
   Fila 1: logo | buscador | WhatsApp | cuenta | carrito   Fila 2: menú de Astra
   ============================================================ */
.esk-header{display:none}
@media(min-width:922px){
  .esk-header{display:block;background:var(--esk-azul)}
  .esk-header__in{max-width:1240px;margin:0 auto;padding:14px 20px;display:grid;grid-template-columns:auto minmax(260px,1fr) auto auto auto;gap:22px;align-items:center}
  .esk-header__logo img{max-height:46px;width:auto}
  .esk-logo-text{display:flex;flex-direction:column;line-height:.9;text-decoration:none;color:#fff;font-family:var(--esk-display);font-size:30px;letter-spacing:.04em}
  .esk-logo-text small{font-size:13px;letter-spacing:.35em;color:var(--esk-oro)}

  .esk-search{display:flex;background:#fff;border-radius:999px;overflow:hidden;height:42px;max-width:620px;width:100%;justify-self:center}
  .esk-search input[type=search]{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:0 18px;font-size:14px;color:var(--esk-negro);box-shadow:none}
  .esk-search input[type=search]::placeholder{color:#8a93a3}
  .esk-search button{width:48px;border:0;background:var(--esk-oro);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
  .esk-search button svg{width:20px;height:20px;stroke:var(--esk-negro);fill:none;stroke-width:2}

  .esk-hwa{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none}
  .esk-hwa svg{width:28px;height:28px;stroke:#25D366;fill:none;stroke-width:1.8}
  .esk-hwa b{display:block;font-size:12px;line-height:1.1}
  .esk-hwa small{font-size:12px;color:#cdd6e8}
  .esk-hicon{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#fff}
  .esk-hicon svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.8}
  .esk-hicon:hover svg{stroke:var(--esk-oro)}
  .esk-cart-count{position:absolute;top:0;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--esk-oro);color:var(--esk-negro);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
  .esk-cart-count:empty{display:none}

  /* La fila de Astra pasa a ser solo el menú: sin logo ni iconos duplicados */
  .site-header .site-branding,
  .ast-primary-header-bar .site-branding,
  .ast-primary-header-bar .ast-header-search,
  .ast-primary-header-bar .ast-site-header-cart,
  .ast-primary-header-bar .ast-header-account{display:none!important}
  .ast-primary-header-bar,.main-header-bar{min-height:0}
  .ast-primary-header-bar .site-primary-header-wrap{min-height:44px}
  .ast-primary-header-bar .ast-builder-grid-row,
  .ast-primary-header-bar .main-header-menu{justify-content:center}
  .main-header-menu>.menu-item>.menu-link{padding-top:10px;padding-bottom:10px}
}

/* ============================================================
   18. MÓVIL: SIN DESBORDE LATERAL, BORDES AJUSTADOS, BARRA INFERIOR FIJA
   ============================================================ */
/* Causa del desfase: elementos que sobresalían por la derecha (p. ej. la franja dorada del hero) */
.esk-hero{overflow:hidden}
html{overflow-x:hidden}
body{overflow-x:clip;max-width:100%}
img,video,iframe,svg{max-width:100%}

/* Barra inferior: siempre dentro de la pantalla, 5 iconos repartidos sin scroll */
@media(max-width:768px){
  .esk-bottomnav{left:0;right:0;width:100%;max-width:100%;grid-template-columns:repeat(5,minmax(0,1fr));padding-left:2px;padding-right:2px}
  .esk-bottomnav a{min-width:0;font-size:10.5px;white-space:nowrap}
  .esk-bottomnav a svg{width:22px;height:22px}
  .esk-bottomnav .esk-count{right:calc(50% - 22px)}
}

/* Márgenes laterales reducidos en móvil/tablet */
@media(max-width:921px){
  .ast-container,.ast-container-fluid{padding-left:12px!important;padding-right:12px!important}
  .ast-separate-container #primary,.ast-separate-container .site-main>.ast-row{padding:0!important;margin:0!important}
  .ast-separate-container .ast-article-post,.ast-separate-container .ast-article-single{padding:0!important;background:transparent!important}
  .ast-separate-container .site-main>.ast-row,.entry-content{margin:0!important}
  /* Home: el hero y las franjas llegan a los bordes; el resto con 12 px */
  body.home .ast-container,body.home .site-content>.ast-container{padding-left:0!important;padding-right:0!important}
  body.home .esk-section-title,body.home .esk-cats,body.home .entry-content .woocommerce,
  body.home .esk-banner,body.home .esk-franja{margin-left:12px;margin-right:12px}
  .esk-hero{padding:32px 16px 28px}
  .esk-hero::after{display:none}
  .woocommerce ul.products{gap:10px}
}

/* ============================================================
   19. CABECERA MÓVIL + PANEL HAMBURGUESA
   ============================================================ */
.esk-mhead,.esk-drawer,.esk-overlay{display:none}
@media(max-width:921px){
  /* Se oculta la cabecera de Astra: la reemplaza esta */
  #masthead,.site-header{display:none!important}

  .esk-mhead{display:block;position:sticky;top:0;z-index:998;background:var(--esk-azul)}
  .esk-mhead__in{display:grid;grid-template-columns:44px 1fr 44px 44px;align-items:center;gap:4px;padding:8px 8px;min-height:56px}
  .esk-mhead__logo{min-width:0}
  .esk-mhead__logo img{max-height:38px;width:auto}
  .esk-mhead .esk-logo-text{display:flex;flex-direction:column;line-height:.9;text-decoration:none;color:#fff;font-family:var(--esk-display);font-size:24px;letter-spacing:.04em}
  .esk-mhead .esk-logo-text small{font-size:10px;letter-spacing:.35em;color:var(--esk-oro)}
  .esk-burger,.esk-msearch-btn{width:44px;height:44px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
  .esk-burger svg,.esk-msearch-btn svg,.esk-mhead .esk-hicon svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round}
  .esk-mhead .esk-hicon{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px}
  .esk-cart-count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--esk-oro);color:var(--esk-negro);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
  .esk-cart-count:empty{display:none}

  .esk-msearch{display:flex;gap:8px;padding:0 12px 10px}
  .esk-msearch[hidden]{display:none}
  .esk-msearch input[type=search]{flex:1;min-width:0;height:42px;border:0;border-radius:999px;padding:0 16px;font-size:15px}
  .esk-msearch button{height:42px;border:0;border-radius:999px;padding:0 18px;background:var(--esk-oro);color:var(--esk-negro);font-weight:700}

  /* Panel lateral */
  .esk-overlay{display:block;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.55);opacity:0;transition:opacity .25s}
  .esk-overlay[hidden]{display:none}
  .esk-overlay.is-open{opacity:1}
  .esk-drawer{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:1001;width:min(86vw,340px);background:var(--esk-azul-osc);color:#fff;
    transform:translateX(-100%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s}
  .esk-drawer.is-open{transform:none;visibility:visible;transition:transform .25s ease}
  .esk-drawer__top{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.12)}
  .esk-drawer .esk-logo-text{display:flex;flex-direction:column;line-height:.9;text-decoration:none;color:#fff;font-family:var(--esk-display);font-size:26px;letter-spacing:.04em}
  .esk-drawer .esk-logo-text small{font-size:10px;letter-spacing:.35em;color:var(--esk-oro)}
  .esk-drawer .custom-logo{max-height:38px;width:auto}
  .esk-drawer__close{width:44px;height:44px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}
  .esk-drawer__close svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round}
  .esk-drawer__nav{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:6px 0}
  .esk-drawer__nav ul{list-style:none;margin:0;padding:0}
  .esk-drawer__nav li{position:relative;border-bottom:1px solid rgba(255,255,255,.08)}
  .esk-drawer__nav li>a{display:block;padding:15px 56px 15px 18px;color:#fff;text-decoration:none;font-family:var(--esk-display);font-size:21px;letter-spacing:.05em;text-transform:uppercase}
  .esk-drawer__nav li>a:hover,.esk-drawer__nav .current-menu-item>a{color:var(--esk-oro)}
  .esk-drawer__nav .esk-ofertas>a{color:var(--esk-oro)}
  .esk-drawer__nav .sub-menu{display:none;background:rgba(0,0,0,.18)}
  .esk-drawer__nav li.is-open>.sub-menu{display:block}
  .esk-drawer__nav .sub-menu li{border-bottom:0}
  .esk-drawer__nav .sub-menu a{font-family:var(--esk-body);font-size:15px;text-transform:none;letter-spacing:0;padding:11px 18px 11px 32px;color:#dbe4f5}
  .esk-drawer__nav .ast-menu-toggle{display:none!important}
  .esk-sub-toggle{position:absolute;top:0;right:0;width:52px;height:54px;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}
  .esk-sub-toggle svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2;transition:transform .2s}
  li.is-open>.esk-sub-toggle svg{transform:rotate(180deg)}
  .esk-drawer__foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.12);display:grid;gap:10px}
  .esk-drawer__foot .button{text-align:center;width:100%}
  .esk-drawer__acc{display:block;text-align:center;color:#fff;font-weight:600;text-decoration:underline;padding:6px}
  html.esk-lock,html.esk-lock body{overflow:hidden}
}
