/*
Theme Name: Librería Bulnes
Theme URI: https://libreriabulnes.cl
Author: Librería Bulnes
Author URI: https://libreriabulnes.cl
Description: Tema a medida para Librería Bulnes (Loncoche). Diseño negro/amarillo con soporte completo para WooCommerce: tienda, producto, carro, checkout y mi cuenta. Reemplaza al tema Electro.
Version: 1.3.8
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
Text Domain: libreria-bulnes
Tags: e-commerce, woocommerce, custom-menu, footer-widgets, translation-ready
*/

:root{
  --yellow:#FFE100;
  --yellow-deep:#FFC400;
  --amber:#FFB300;
  --black:#0E0E0E;
  --ink:#161616;
  --panel:#1C1C1C;
  --paper:#F6F5F1;
  --white:#FFFFFF;
  --gray:#8A8A8A;
  --line:#E8E6DF;
  --radius:14px;
  --shadow:0 10px 30px rgba(14,14,14,.10);
  --font-d:'Oswald',sans-serif;
  --font-b:'Inter',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);background:var(--paper);color:var(--ink)}
img{max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer}
ul{list-style:none}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.led{height:3px;background:linear-gradient(90deg,transparent,var(--yellow) 15%,var(--yellow-deep) 50%,var(--yellow) 85%,transparent);box-shadow:0 0 14px 2px rgba(255,196,0,.55);position:relative;z-index:5}
.screen-reader-text{position:absolute;left:-9999px}

/* ================= HEADER ================= */
.announce{background:var(--black);color:#CFCFCF;font-size:12.5px}
.announce .wrap{display:flex;justify-content:space-between;align-items:center;height:36px;gap:16px;flex-wrap:wrap}
.announce b{color:var(--yellow);font-weight:600}
.announce nav{display:flex;gap:18px}
.announce nav a:hover{color:var(--yellow)}
header.main{background:var(--black);color:#fff;position:sticky;top:0;z-index:50}
.head-row{display:flex;align-items:center;gap:28px;padding:18px 0}
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
.logo img.logo-img{max-height:52px;width:auto;display:block}
.logo-mark{width:52px;height:52px;border-radius:50%;background:var(--yellow);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 0 22px rgba(255,225,0,.35)}
.logo-mark::after{content:"";position:absolute;inset:4px;border:2.5px solid var(--black);border-radius:50%}
.logo-mark span{font-family:var(--font-d);font-weight:700;font-size:28px;color:var(--black);line-height:1;position:relative;z-index:1}
.logo-text{font-family:var(--font-d);line-height:1}
.logo-text .l1{font-size:21px;font-weight:700;letter-spacing:.04em}
.logo-text .l2{font-size:10px;letter-spacing:.34em;color:var(--yellow);font-weight:500;margin-top:3px}
.head-search{flex:1;display:flex;background:#fff;border-radius:999px;overflow:hidden;height:48px;max-width:640px}
.head-search input[type="search"]{flex:1;border:none;outline:none;padding:0 22px;font-size:14.5px;font-family:var(--font-b);color:var(--ink);background:transparent}
.head-search button{background:var(--yellow);width:64px;display:flex;align-items:center;justify-content:center;transition:.2s;border:none}
.head-search button:hover{background:var(--yellow-deep)}
.head-actions{display:flex;align-items:center;gap:22px;margin-left:auto}
.h-act{display:flex;align-items:center;gap:10px;font-size:13px;color:#DADADA}
.h-act:hover{color:var(--yellow)}
.h-act .ic{width:38px;height:38px;border:1.5px solid #333;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}
.badge{position:absolute;top:-5px;right:-6px;background:var(--yellow);color:var(--black);font-size:10.5px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.h-act small{display:block;color:#8f8f8f;font-size:11px}
.h-act b{font-size:13px;color:#fff;font-weight:600}
.catnav{border-top:1px solid #232323}
.catnav .wrap{display:flex;align-items:center;gap:4px;height:48px;overflow-x:auto;scrollbar-width:none}
.catnav .wrap::-webkit-scrollbar{display:none}
.catnav ul{display:flex;align-items:center;gap:4px;height:48px;margin:0}
.catnav li{list-style:none;flex-shrink:0}
.catnav a.nl,.catnav a{padding:0 16px;height:48px;display:flex;align-items:center;font-size:13.5px;color:#D6D6D6;font-weight:500;position:relative;white-space:nowrap}
.catnav a:hover{color:var(--yellow)}
.catnav li:first-child > a{background:var(--yellow);color:var(--black);font-weight:700;padding:0 18px;margin-right:4px;border-radius:0}
.catnav li:first-child > a:hover{background:var(--yellow-deep);color:var(--black)}
.catnav a::after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2.5px;background:var(--yellow);transform:scaleX(0);transition:.22s}
.catnav a:hover::after{transform:scaleX(1)}
.catnav .spacer{flex:1}
.catnav .wsp{display:flex;align-items:center;gap:8px;font-size:13px;color:#D6D6D6}
.catnav .wsp:hover{color:#4ade80}

/* ================= BREADCRUMB / STEPS ================= */
.crumb{background:#fff;border-bottom:1px solid var(--line)}
.crumb .wrap{display:flex;align-items:center;gap:8px;height:48px;font-size:13px;color:var(--gray);flex-wrap:wrap}
.crumb a:hover{color:var(--ink)}
.crumb span.sep{color:#c8c6bd}
.crumb span.cur{color:var(--ink);font-weight:600}
.steps{background:#fff;border-bottom:1px solid var(--line)}
.steps .wrap{display:flex;align-items:center;justify-content:center;gap:0;padding:20px 24px}
.step{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--gray)}
.step .n{width:28px;height:28px;border-radius:50%;background:var(--paper);color:var(--gray);display:flex;align-items:center;justify-content:center;font-size:12.5px;border:1.5px solid var(--line)}
.step.on{color:var(--ink)}
.step.on .n{background:var(--black);color:var(--yellow);border-color:var(--black)}
.step.done .n{background:var(--yellow);color:var(--black);border-color:var(--yellow)}
.step-line{width:60px;height:2px;background:var(--line);margin:0 14px}

/* ================= HERO SLIDER (home) ================= */
.hero{position:relative;overflow:hidden;background:var(--black)}
.slides{display:flex;transition:transform .65s cubic-bezier(.7,0,.25,1)}
.slide{min-width:100%;position:relative;min-height:560px;background-size:cover;background-position:center;display:flex;align-items:center}
.slide::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,10,10,.90) 0%,rgba(10,10,10,.68) 42%,rgba(10,10,10,.22) 75%);z-index:1}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,10,.55) 0%,transparent 35%);z-index:1}
.slide-inner{position:relative;z-index:2;max-width:600px;padding:56px 0}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;padding:8px 16px;border-radius:999px;margin-bottom:22px;background:rgba(255,225,0,.14);color:var(--yellow);border:1px solid rgba(255,225,0,.4)}
.slide h1{font-family:var(--font-d);font-weight:700;font-size:clamp(38px,5vw,58px);line-height:1.06;text-transform:uppercase;letter-spacing:.01em;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.slide h1 em{font-style:normal;color:var(--yellow)}
.slide p.sub{margin-top:18px;font-size:16.5px;line-height:1.6;max-width:460px;color:#E4E4E4}
.slide .ctas{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;padding:15px 30px;border-radius:999px;transition:.2s;border:none}
.btn-y{background:var(--yellow);color:var(--black)}
.btn-y:hover{background:var(--yellow-deep);transform:translateY(-2px)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.45);color:#fff;background:transparent}
.btn-ghost:hover{border-color:var(--yellow);color:var(--yellow)}
.btn-dark{background:var(--black);color:var(--yellow)}
.btn-dark:hover{transform:translateY(-2px)}
.h-arrows{position:absolute;inset:0;pointer-events:none}
.h-arrow{pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.10);backdrop-filter:blur(6px);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;transition:.2s;border:1px solid rgba(255,255,255,.18)}
.h-arrow:hover{background:var(--yellow);color:var(--black);border-color:var(--yellow)}
.h-prev{left:18px}.h-next{right:18px}
.h-dots{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:10px}
.h-dot{width:34px;height:5px;border-radius:3px;background:rgba(255,255,255,.28);transition:.3s;cursor:pointer;overflow:hidden;position:relative}
.h-dot.on::after{content:"";position:absolute;inset:0;background:var(--yellow);animation:dotfill 6s linear forwards}
@keyframes dotfill{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}

/* ================= SECTIONS / CARDS ================= */
.section{padding:64px 0}
.sec-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px;gap:20px;flex-wrap:wrap}
.kicker{font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#9a9484;display:flex;align-items:center;gap:10px}
.kicker::before{content:"";width:26px;height:3px;background:var(--yellow-deep);border-radius:2px}
.sec-head h2{font-family:var(--font-d);font-size:clamp(26px,3vw,36px);font-weight:600;text-transform:uppercase;letter-spacing:.01em;margin-top:8px}
.see-all{font-size:13.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--yellow);padding-bottom:3px;white-space:nowrap}
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cat-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);text-align:center;transition:.22s;position:relative;overflow:hidden;display:block}
.cat-card:hover{border-color:var(--yellow);transform:translateY(-4px);box-shadow:var(--shadow)}
.cat-card .photo{width:100%;height:132px;overflow:hidden;position:relative;background:var(--paper)}
.cat-card .photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.cat-card:hover .photo img{transform:scale(1.09)}
.cat-card .led-line{height:3px;background:linear-gradient(90deg,var(--yellow) 0%,var(--yellow-deep) 100%);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.cat-card:hover .led-line{transform:scaleX(1)}
.cat-card .info{padding:14px 16px 18px}
.cat-card b{display:block;font-size:14px;font-weight:700}
.cat-card span{font-size:12px;color:var(--gray)}

.wa-band{background:var(--black) url('https://images.unsplash.com/photo-1560264280-88b68371db39?q=80&w=1600&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D') center/cover no-repeat;border-radius:20px;padding:30px 36px;display:flex;align-items:center;gap:24px;color:#fff;position:relative;overflow:hidden;flex-wrap:wrap}
.wa-band::before{content:"";position:absolute;top:0;left:8%;right:8%;height:3px;background:linear-gradient(90deg,transparent,var(--yellow),transparent);box-shadow:0 0 16px 3px rgba(255,196,0,.5);z-index:2}
.wa-band::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(4,4,4,.94) 0%,rgba(4,4,4,.88) 40%,rgba(4,4,4,.7) 75%,rgba(4,4,4,.55) 100%);z-index:1}
.wa-band>*{position:relative;z-index:2}
.wa-band .wa-ic{width:54px;height:54px;border-radius:50%;background:rgba(255,225,0,.16);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wa-band h3{font-family:var(--font-d);font-size:21px;font-weight:600;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.wa-band p{color:#dcdcdc;font-size:14px;margin-top:4px}
.wa-band .btn{margin-left:auto;flex-shrink:0;border-radius:999px}

/* ================= PRODUCT CARDS / CAROUSEL / GRID ================= */
.car-zone{position:relative}
.carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 22px}
.carousel::-webkit-scrollbar{display:none}
/* v1.1.1: sin ancho fijo, .prod dentro del carrusel se ajustaba al tamano de la imagen (shrink-to-fit) y quedaba angosta/rectangular. */
.carousel .prod{flex:0 0 236px;width:236px}
.carousel .prod .pimg{height:200px}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
/* v1.1.2: Ofertas 2026 a 5 columnas (como se ven las de "Sugerencias del mes" en el carrusel), imagen un poco mas baja para que la ficha, mas angosta, no quede desproporcionada. */
.ofertas-grid{grid-template-columns:repeat(5,1fr)}
.ofertas-grid .prod .pimg{height:175px}
ul.products,.woocommerce ul.products,.woocommerce-page ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none}
ul.products::before,ul.products::after,.woocommerce ul.products::before,.woocommerce ul.products::after,.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{content:none;display:none}
.prod,li.product,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{scroll-snap-align:start;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:16px;position:relative;transition:.22s;display:flex;flex-direction:column;float:none;width:auto;margin:0}
ul.products li.product{flex:none;width:auto}
/* v1.0.6: SpeedyCache combina el CSS del tema ANTES que el CSS de WooCommerce (CDN Jetpack, no combinable). Estas reglas con !important ganan sin importar el orden de carga. */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,.woocommerce ul.products[class*="columns-"] li.product,.woocommerce-page ul.products[class*="columns-"] li.product{width:auto!important;float:none!important;margin:0!important;clear:none!important;padding:16px!important;box-sizing:border-box!important}
/* v1.0.7: mas neutralizaciones de woocommerce.css (carga despues del CSS combinado de SpeedyCache). */
/* 1) Clearfix de WooCommerce en ul.products: con CSS Grid el pseudo-elemento se vuelve un item fantasma que deja la primera celda vacia. */
ul.products::before,ul.products::after,.woocommerce ul.products::before,.woocommerce ul.products::after,.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{content:none!important;display:none!important}
/* 2) Floats/anchos de WooCommerce en la ficha de producto: aplastaban galeria y resumen dentro de .pdp-grid. */
.woocommerce div.product div.images,.woocommerce-page div.product div.images,.woocommerce div.product .woocommerce-product-gallery,.woocommerce-page div.product .woocommerce-product-gallery,.woocommerce div.product div.summary,.woocommerce-page div.product div.summary{width:100%!important;float:none!important;margin:0!important}
.prod:hover,li.product:hover{border-color:var(--yellow);transform:translateY(-5px);box-shadow:var(--shadow)}
.prod .pimg,li.product .pimg{height:170px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;position:relative}
.prod .pimg img,li.product .pimg img,li.product img.attachment-woocommerce_thumbnail{max-height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply;margin:0 auto}
.prod .pbadge,li.product .pbadge,.onsale{position:absolute;top:12px;left:12px;background:var(--yellow)!important;color:var(--black)!important;font-size:11px;font-weight:800;letter-spacing:.06em;padding:5px 10px;border-radius:6px;text-transform:uppercase;z-index:2;margin:0}
.prod .pbadge.dark{background:var(--black);color:var(--yellow)}
.prod .pwish{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--gray);z-index:2;transition:.2s}
.prod .pcat,li.product .pcat{font-size:11px;color:var(--gray);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.prod .pname,li.product .woocommerce-loop-product__title{font-size:13.5px;font-weight:600;line-height:1.4;min-height:38px}
.stars{display:flex;align-items:center;gap:5px;margin-top:8px}
.stars .s{color:var(--yellow-deep);font-size:12px;letter-spacing:1px}
.stars small{color:var(--gray);font-size:11px}
.prod .prow,li.product .prow{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px}
.prod .price,li.product .price,.price{font-family:var(--font-d);font-size:20px;font-weight:600;color:var(--ink)}
.price del{font-family:var(--font-b);font-size:12px;color:var(--gray);font-weight:400}
.price ins{text-decoration:none}
.prod .add,li.product a.add_to_cart_button,li.product a.added_to_cart{width:40px;height:40px;min-width:40px;flex:0 0 40px;border-radius:50%;background:var(--black);color:var(--yellow)!important;font-size:19px;display:flex;align-items:center;justify-content:center;transition:.2s;text-align:center;line-height:40px;position:relative;overflow:hidden}
/* v1.0.9: estados del boton add-to-cart AJAX + animacion del carrito en el header */
.add.lb-loading{opacity:.55;pointer-events:none;cursor:wait}
.add.lb-done{background:#3aa35a!important;color:#fff!important;border-color:#3aa35a!important}
.add.lb-error{background:#c0392b!important;color:#fff!important}
.single_add_to_cart_button.lb-loading{opacity:.7;pointer-events:none;cursor:wait}
.single_add_to_cart_button.lb-done{background:#3aa35a!important;color:#fff!important}
.single_add_to_cart_button.lb-error{background:#c0392b!important;color:#fff!important}
.head-actions .ic.lb-bump{animation:lbBump .5s ease}
@keyframes lbBump{0%{transform:scale(1)}30%{transform:scale(1.28)}60%{transform:scale(.94)}100%{transform:scale(1)}}
.prod .add:hover,li.product a.add_to_cart_button:hover{background:var(--yellow);color:var(--black)!important;transform:rotate(90deg)}
li.product a.add_to_cart_button,li.product a.added_to_cart{font-size:0}
li.product a.add_to_cart_button::after{content:"+";font-size:19px;font-weight:700;line-height:1}
li.product a.added_to_cart::after{content:"\2713";font-size:16px;font-weight:700;line-height:1}
li.product a.add_to_cart_button.loading::after{content:"\22ef"}
.prod .stock,li.product .stock{font-size:11px;color:#3aa35a;font-weight:600;margin-top:8px;display:flex;align-items:center;gap:5px}
.prod .stock::before{content:"";width:6px;height:6px;border-radius:50%;background:#3aa35a}
.c-arrow{position:absolute;top:38%;width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid var(--line);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;font-size:18px;z-index:4;transition:.2s}
.c-arrow:hover{background:var(--yellow);border-color:var(--yellow)}
.c-prev{left:-14px}.c-next{right:-14px}

.ofertas{background:var(--black);color:#fff;position:relative}
.ofertas .kicker{color:#7a7460}
.ofertas .sec-head h2{color:#fff}
.ofertas .sec-head h2 em{font-style:normal;color:var(--yellow)}
.ofertas .see-all{color:#fff}
.ofertas .prod{background:#1B1B1B;border-color:#2A2A2A}
.ofertas .prod:hover{border-color:var(--yellow);box-shadow:0 14px 40px rgba(0,0,0,.5)}
.ofertas .prod .pimg{background:#fff;border-radius:10px;padding:10px}
.ofertas .prod .pname{color:#EDEDED}
.ofertas .prod .pcat{color:#7d7d7d}
.ofertas .prod .price{color:var(--yellow)}
/* v1.1.0: Ofertas ahora es una grilla (2 filas) en vez de carrusel. v1.1.2: 5 columnas (ver arriba). */
.ofertas-grid{margin-top:4px}
.ofertas .c-arrow{background:#1B1B1B;border-color:#333;color:#fff}
.ofertas .c-arrow:hover{background:var(--yellow);color:var(--black)}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.promo{border-radius:20px;padding:40px;min-height:230px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.promo h3{font-family:var(--font-d);font-size:28px;font-weight:600;text-transform:uppercase;line-height:1.1;position:relative;z-index:2}
.promo p{font-size:14px;margin:10px 0 20px;max-width:320px;position:relative;z-index:2}
.promo .btn{position:relative;z-index:2}
.promo.p-tech{background:var(--black) url('https://images.unsplash.com/photo-1519389950473-47ba0277781c?q=80&w=1200&auto=format&fit=crop') center/cover no-repeat;color:#fff}
.promo.p-tech::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(4,4,4,.93) 0%,rgba(4,4,4,.82) 45%,rgba(4,4,4,.55) 100%);z-index:1}
.promo.p-tech h3 em{font-style:normal;color:var(--yellow)}
.promo.p-tech p{color:#c9c9c9}
.promo.p-emp{background:url('https://images.unsplash.com/photo-1509062522246-3755977927d7?q=80&w=1200&auto=format&fit=crop') center/cover no-repeat;color:var(--black)}
.promo.p-emp::after{content:"";position:absolute;inset:0;background:rgba(255,225,0,.82);z-index:1}
.promo.p-emp p{color:#4a4630}

/* ================= SHOP / ARCHIVE ================= */
.cat-banner{background:var(--black);color:#fff;padding:38px 0;position:relative;overflow:hidden}
.cat-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 260px at 85% 30%,rgba(255,225,0,.10),transparent 70%)}
.cat-banner .wrap{position:relative;display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cat-banner h1{font-family:var(--font-d);font-size:clamp(28px,3.4vw,42px);font-weight:600;text-transform:uppercase;margin-top:10px}
.cat-banner p{color:#B9B9B9;font-size:14px;margin-top:8px;max-width:520px}
.cat-count{font-family:var(--font-d);font-size:15px;color:var(--yellow);background:rgba(255,225,0,.1);border:1px solid rgba(255,225,0,.35);padding:8px 16px;border-radius:999px;white-space:nowrap}
.shop{padding:40px 0 72px}
.shop-grid{display:grid;grid-template-columns:264px 1fr;gap:32px;align-items:start}
.side-box{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:18px}
.side-box h3{font-family:var(--font-d);font-size:14.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:16px}
.side-cats{display:flex;flex-direction:column;gap:2px}
.side-cats a{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border-radius:8px;font-size:13.5px;color:#3a3a3a}
.side-cats a:hover{background:var(--paper);color:var(--ink)}
.side-cats a.active,.side-cats li.current-cat a{background:var(--yellow);color:var(--black);font-weight:700}
.side-box .widget_price_filter .price_slider{margin-bottom:14px}
.side-box .widget_price_filter .button{background:var(--black);color:var(--yellow);font-weight:700;font-size:13px;padding:10px 18px;border-radius:8px;border:none}
.side-box ul.wc-layered-nav-list{display:flex;flex-direction:column;gap:2px}
.side-box ul.wc-layered-nav-list a{font-size:13px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.toolbar .count{font-size:13.5px;color:var(--gray)}
.sortbox select{appearance:none;background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:10px 34px 10px 14px;font-size:13px;font-family:var(--font-b);font-weight:600;color:var(--ink)}
.pagination,nav.woocommerce-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:44px}
nav.woocommerce-pagination ul{display:flex;gap:8px}
.pagination a,.pagination span,nav.woocommerce-pagination a,nav.woocommerce-pagination span{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:600;border:1.5px solid var(--line);background:#fff;color:var(--ink)}
nav.woocommerce-pagination .current{background:var(--black);color:var(--yellow);border-color:var(--black)}

/* ================= SINGLE PRODUCT ================= */
.pdp{padding:40px 0 20px}
.pdp-grid{display:grid;grid-template-columns:480px 1fr 320px;gap:36px;align-items:start}
.gallery{position:sticky;top:112px}
.g-main{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);height:420px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.g-main img{max-height:82%;object-fit:contain;mix-blend-mode:multiply}
.g-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.g-thumb{width:78px;height:78px;border-radius:10px;border:1.5px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.g-thumb img{max-height:78%;object-fit:contain;mix-blend-mode:multiply}
.p-info .pcat-link{font-size:12px;color:var(--gray);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.p-info h1,.p-info .product_title{font-family:var(--font-d);font-size:clamp(24px,2.4vw,32px);font-weight:600;margin:10px 0 12px;line-height:1.2}
.p-price-row{display:flex;align-items:baseline;gap:12px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}
.p-price-row .price{font-family:var(--font-d);font-size:34px;font-weight:600}
.p-desc-short{font-size:14.5px;line-height:1.7;color:#3a3a3a;margin-bottom:22px}
.tabs{margin-top:38px;border-top:1px solid var(--line)}
.woocommerce-tabs ul.tabs{display:flex;gap:6px;margin-top:22px;flex-wrap:wrap;border:none}
.woocommerce-tabs ul.tabs li{list-style:none}
.woocommerce-tabs ul.tabs li a{padding:12px 20px;border-radius:999px;font-size:13.5px;font-weight:700;color:var(--gray);border:1.5px solid var(--line);background:#fff;display:block}
.woocommerce-tabs ul.tabs li.active a{background:var(--black);color:var(--yellow);border-color:var(--black)}
.woocommerce-tabs .panel{padding:26px 0;font-size:14.5px;line-height:1.8;color:#3a3a3a;max-width:760px;border:none}
.buybox{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:22px;position:sticky;top:112px}
.buybox form.cart{display:flex;flex-direction:column;gap:14px}
.buybox .quantity{display:flex}
.buybox .quantity input.qty{width:70px;height:42px;border:1.5px solid var(--line);border-radius:10px;text-align:center;font-weight:700}
.buybox button.single_add_to_cart_button{width:100%;background:var(--black)!important;color:var(--yellow)!important;font-weight:700;font-size:14.5px;padding:15px!important;border-radius:12px!important;border:none}
.buybox button.single_add_to_cart_button:hover{background:#000!important}
.ship-info{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:12px;margin-top:16px}
.ship-item{display:flex;gap:12px;font-size:13px}
.ship-item .ic{width:32px;height:32px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px}

/* ================= CART ================= */
.cart-sec{padding:40px 0 72px}
.cart-grid{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start}
.delivery-banner{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
.dopt{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;gap:14px;align-items:flex-start}
.dopt .ic{width:42px;height:42px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.dopt.hi{border-color:var(--yellow-deep);background:rgba(255,225,0,.06)}
.dopt .tag{display:inline-block;background:var(--yellow);color:var(--black);font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:5px;margin-left:8px;text-transform:uppercase;vertical-align:middle}
table.shop_table{width:100%;border-collapse:collapse;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);overflow:hidden}
table.shop_table th{text-align:left;font-size:11.5px;text-transform:uppercase;color:var(--gray);padding:14px 16px;border-bottom:1.5px solid var(--line)}
table.shop_table td{padding:16px;border-bottom:1px solid var(--line);font-size:13.5px}
table.shop_table td.product-thumbnail img{width:64px;border-radius:10px}
.quantity input.qty{width:64px;height:38px;border:1.5px solid var(--line);border-radius:10px;text-align:center;font-weight:700}
a.remove{color:var(--gray)!important;font-size:18px}
a.remove:hover{color:#c0392b!important;background:transparent!important}
.summary,.cart_totals{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:24px;position:sticky;top:112px;width:100%!important;float:none!important;box-sizing:border-box}
.cart_totals h2{font-family:var(--font-d);font-size:17px;font-weight:600;text-transform:uppercase;margin-bottom:18px}
.cart_totals table{width:100%}
.cart_totals th,.cart_totals td{padding:9px 0;font-size:14px;text-align:left}
.cart_totals .includes_tax,.woocommerce-checkout-review-order-table .includes_tax{display:none}
#coupon_code{border:1.5px solid var(--line);border-radius:10px;padding:12px 16px;font-size:13.5px}
button[name="apply_coupon"],button[name="update_cart"]{background:var(--black);color:var(--yellow);font-weight:700;font-size:13px;padding:12px 22px;border-radius:10px;border:none}
.wc-proceed-to-checkout a.checkout-button{width:100%;background:var(--black)!important;color:var(--yellow)!important;font-weight:700;font-size:14.5px;padding:16px!important;border-radius:12px!important;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center}

/* ================= CHECKOUT ================= */
.checkout{padding:40px 0 72px}
.co-grid{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start}
.co-box{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:20px}
.co-box h3{font-family:var(--font-d);font-size:16px;font-weight:600;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.woocommerce-checkout .form-row label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:#3a3a3a}
.woocommerce-checkout input.input-text,.woocommerce-checkout select,.woocommerce-checkout textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;font-size:13.5px;font-family:var(--font-b);color:var(--ink)}
/* Un solo método de pago habilitado ("Posterior a cotización") — no hace falta
   mostrar el selector, se envía igual como único método disponible. */
ul.wc_payment_methods{display:none}
ul.wc_payment_methods li.payment_method_bacs,ul.wc_payment_methods li{border:1.5px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:10px}
ul.wc_payment_methods li input[type="radio"]{margin-right:10px}
#place_order{width:100%;background:var(--yellow)!important;color:var(--black)!important;font-weight:700;font-size:14.5px;padding:16px!important;border-radius:12px!important;border:none}
#place_order:hover{background:var(--yellow-deep)!important}
.quote-note{background:rgba(255,225,0,.12);border:1px solid rgba(255,196,0,.4);border-radius:10px;padding:10px 14px;font-size:12px;color:#5a4c00;margin-top:10px;line-height:1.5}

/* ================= WOOCOMMERCE: ELEMENTOS NATIVOS SIN ESTILO =================
   Radios de metodo de envio, caja de metodo de pago y aviso de cupon quedaban
   con el CSS por defecto de WooCommerce (sin tema aplicado): radios pegados,
   texto apretado, fondo lila (rgba(129,110,153,.14)) de la caja de pago y un
   icono roto (glifo de una fuente de iconos que este tema no carga) en el aviso
   de cupon. v1.2.5: se les da tratamiento visual acorde al resto del sitio. */
.woocommerce-shipping-methods,ul.shipping_method{list-style:none;display:flex;flex-direction:column;gap:10px;margin:4px 0}
.woocommerce-shipping-methods li,ul.shipping_method li{font-size:13px;line-height:1.5;display:flex;align-items:flex-start;gap:8px}
.woocommerce-shipping-methods input[type="radio"],ul.shipping_method input[type="radio"]{margin-top:3px;accent-color:var(--black);flex-shrink:0;cursor:pointer}
.woocommerce-shipping-methods label,ul.shipping_method label{cursor:pointer}
.woocommerce-shipping-destination{display:none}
.shipping-calculator-form{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.shipping-calculator-form select,.shipping-calculator-form input{border:1.5px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12.5px;font-family:var(--font-b)}
.shipping-calculator-form .button{background:var(--black);color:var(--yellow);font-weight:700;font-size:12px;padding:8px 14px;border-radius:8px;border:none}
a.shipping-calculator-button{font-size:12px;color:var(--gray);text-decoration:underline}

.woocommerce-checkout-payment{background:none!important;padding:0!important;border-radius:0!important}
ul.wc_payment_methods li label{font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:8px;cursor:pointer}
ul.wc_payment_methods li input[type="radio"]{accent-color:var(--black)}
.payment_box{background:var(--paper);border-radius:8px;padding:12px 14px;margin:10px 0 0;font-size:12.5px;color:#3a3a3a;line-height:1.6}
.payment_box p{margin:0}
.payment_box::before{display:none}

.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews{background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:12px 16px;font-size:13px;list-style:none;color:var(--ink)}
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before{display:none}
.woocommerce-form-coupon-toggle{margin-bottom:20px}
form.checkout_coupon.woocommerce-form-coupon{display:flex;gap:10px;flex-wrap:wrap;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:18px;margin:12px 0 20px}
form.checkout_coupon.woocommerce-form-coupon p{margin:0;width:100%;display:flex;gap:10px;flex-wrap:wrap}

/* ================= MY ACCOUNT ================= */
.acc-banner{background:var(--black);color:#fff;padding:36px 0}
.acc-banner h1{font-family:var(--font-d);font-size:clamp(26px,3vw,36px);font-weight:600;text-transform:uppercase}
.woocommerce-account .dash-grid{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start;padding:40px 0 72px}
.woocommerce-MyAccount-navigation{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:20px;width:100%!important;float:none!important;box-sizing:border-box!important}
.woocommerce-MyAccount-navigation ul{display:flex;flex-direction:column;gap:2px}
.woocommerce-MyAccount-navigation li a{padding:11px 12px;border-radius:8px;font-size:13.5px;display:block;color:#3a3a3a}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--black);color:var(--yellow);font-weight:700}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{color:#c0392b}
.woocommerce-MyAccount-content{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:26px}

/* ================= CONTACT / MAP / POLICY ================= */
.chero{position:relative;min-height:440px;background-size:cover;background-position:center;display:flex;align-items:center;overflow:hidden}
.chero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.72) 40%,rgba(10,10,10,.35) 75%);z-index:1}
.chero-inner{position:relative;z-index:2;padding:56px 0;max-width:620px}
.chero h1{font-family:var(--font-d);font-weight:700;font-size:clamp(34px,4.6vw,52px);line-height:1.08;text-transform:uppercase;color:#fff}
.chero h1 em{font-style:normal;color:var(--yellow)}
.chero p{margin-top:16px;font-size:15.5px;line-height:1.7;color:#E4E4E4;max-width:460px}
.chero-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.cfact{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);padding:10px 16px;border-radius:999px;font-size:13px;color:#fff}
.cfact b{color:var(--yellow)}
.chero-ctas{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.info-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:24px}
.info-card .ic{width:48px;height:48px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:21px;margin-bottom:16px}
.info-card b{font-size:14.5px;display:block;margin-bottom:6px}
.info-card span{font-size:13px;color:var(--gray);line-height:1.6;display:block}
.info-card a.link{font-size:12.5px;font-weight:700;color:var(--ink);border-bottom:2px solid var(--yellow);padding-bottom:2px;display:inline-block;margin-top:10px}
.map-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:460px;position:relative}
.map-card iframe{width:100%;height:100%;min-height:460px;border:0;display:block}
.map-badge{position:absolute;top:16px;left:16px;background:var(--black);color:var(--yellow);font-size:12px;font-weight:700;padding:9px 16px;border-radius:999px;display:flex;align-items:center;gap:8px;z-index:2}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.form-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:32px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid .full{grid-column:1/-1}
.field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:#3a3a3a}
.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;font-size:13.5px;font-family:var(--font-b);color:var(--ink)}
.form-submit{width:100%;background:var(--black);color:var(--yellow);font-weight:700;font-size:14.5px;padding:15px;border-radius:12px;margin-top:16px;border:none}
.vol-panel{background:var(--black);border-radius:20px;padding:36px;color:#fff;position:relative;overflow:hidden;height:100%}
.vol-panel h3{font-family:var(--font-d);font-size:23px;font-weight:600;text-transform:uppercase;line-height:1.25}
.vol-panel h3 em{font-style:normal;color:var(--yellow)}
.vol-panel p{color:#a9a9a9;font-size:14px;margin:14px 0 24px;line-height:1.7}
.vol-list{display:flex;flex-direction:column;gap:12px;margin-bottom:26px}
.vol-item{display:flex;gap:10px;font-size:13.5px;color:#d6d6d6}
.vol-item::before{content:"✓";color:var(--yellow);font-weight:800;flex-shrink:0}

.pol-grid{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:start;padding:44px 0 72px}
.toc{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:22px;position:sticky;top:100px}
.toc a{display:block;font-size:13.5px;padding:8px 10px;border-radius:8px;color:#3a3a3a}
.toc a:hover{background:var(--paper);color:var(--ink)}
.pol-content{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:40px}
.pol-content h2{font-family:var(--font-d);font-size:20px;font-weight:600;text-transform:uppercase;margin:34px 0 14px;scroll-margin-top:100px}
.pol-content p{font-size:14.5px;line-height:1.8;color:#3a3a3a;margin-bottom:14px}
.callout{background:var(--paper);border-left:3px solid var(--yellow-deep);border-radius:0 10px 10px 0;padding:16px 20px;font-size:13.5px;color:#3a3a3a;margin:18px 0;line-height:1.7}

/* ================= 404 ================= */
.nf{min-height:64vh;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--black);color:#fff;position:relative;overflow:hidden;padding:70px 24px}
.nf-inner{position:relative;max-width:560px}
.nf-num{font-family:var(--font-d);font-weight:700;font-size:clamp(90px,16vw,150px);line-height:1;color:var(--yellow)}
.nf h1{font-family:var(--font-d);font-size:clamp(22px,3vw,30px);font-weight:600;text-transform:uppercase;margin-top:6px}
.nf p{color:#B9B9B9;font-size:14.5px;margin:14px 0 30px;line-height:1.7}

/* ================= EMPTY SEARCH ================= */
.empty-box{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:56px 32px;text-align:center}
.empty-box .eic{font-size:44px;margin-bottom:18px}
.empty-box h3{font-family:var(--font-d);font-size:20px;font-weight:600;text-transform:uppercase;margin-bottom:10px}
.empty-box p{font-size:14px;color:var(--gray);max-width:440px;margin:0 auto 24px;line-height:1.7}

/* ================= TRUST BAR ================= */
.trust{background:#fff;border-top:1px solid var(--line)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:30px 24px}
.t-item{display:flex;align-items:center;gap:14px;justify-content:center}
.t-item .ic{width:44px;height:44px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.t-item b{font-size:13.5px;display:block}
.t-item span{font-size:12px;color:var(--gray)}

/* ================= FOOTER ================= */
footer.site-footer{background:var(--black);color:#B9B9B9}
.f-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:44px;padding-top:56px;padding-bottom:40px}
.f-brand p{font-size:14px;line-height:1.7;margin:16px 0 20px}
.f-social{display:flex;gap:10px}
.f-social a{width:38px;height:38px;border:1.5px solid #333;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.2s}
.f-social a:hover{background:var(--yellow);border-color:var(--yellow);color:var(--black)}
footer h4{font-family:var(--font-d);color:#fff;font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;padding-bottom:10px;position:relative}
footer h4::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:3px;background:var(--yellow);border-radius:2px}
footer ul{display:flex;flex-direction:column;gap:11px;font-size:13.5px}
footer ul a:hover{color:var(--yellow)}
.f-contact li{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.f-contact .fi{color:var(--yellow);flex-shrink:0}
.f-bottom{border-top:1px solid #232323;padding-top:20px;padding-bottom:20px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;gap:16px;flex-wrap:wrap}
.pay{display:flex;gap:8px}
.pay span{border:1px solid #333;border-radius:6px;padding:5px 12px;font-size:11.5px;color:#9c9c9c}

/* ================= RESPONSIVE ================= */
/* v1.2.0: pase completo de responsive — tablet (820px) y ajustes moviles que faltaban
   (ofertas-grid a 5 col no se achicaba, pdp-grid seguia a 2 columnas fijas en el telefono,
   form-grid/delivery-banner sin colapsar, sticky de sidebars pisando contenido al apilarse,
   tabla del carro desbordando en pantallas angostas). */
@media(max-width:1150px){
  .pdp-grid{grid-template-columns:1fr 1fr}
  .buybox{grid-column:1/-1;position:static;max-width:480px}
}
@media(max-width:1024px){
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .prod-grid,ul.products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr)}
  .ofertas-grid{grid-template-columns:repeat(3,1fr)}
  .shop-grid,.cart-grid,.co-grid,.dash-grid,.pol-grid{grid-template-columns:1fr}
  .contact-grid,.duo{grid-template-columns:1fr}
  .info-grid{grid-template-columns:repeat(2,1fr)}
  .trust .wrap{grid-template-columns:repeat(2,1fr)}
  .f-grid{grid-template-columns:1fr 1fr}
  /* al apilarse en una columna, los sidebars sticky (resumen del carro, totales, indice de politicas)
     ya no tienen sentido: quedarian flotando sobre el contenido siguiente al hacer scroll. */
  .summary,.cart_totals,.toc{position:static;top:auto}
}
/* ---- Tablets (iPad vertical ~768-820px y similares) ---- */
@media(max-width:820px){
  .head-row{flex-wrap:wrap;gap:14px}
  .head-search{order:3;min-width:100%}
  .pdp-grid{grid-template-columns:1fr}
  .gallery{position:static;top:auto}
  .g-main{height:360px}
  .buybox{position:static;top:auto;max-width:none}
  .form-grid{grid-template-columns:1fr}
  .delivery-banner{grid-template-columns:1fr}
  .woocommerce-account .dash-grid,.pol-grid{gap:18px}
}
/* ---- Telefonos ---- */
@media(max-width:640px){
  .h-act .lbl{display:none}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .prod-grid,ul.products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr)}
  .ofertas-grid{grid-template-columns:repeat(2,1fr)}
  .wa-band{flex-direction:column;text-align:center}
  .wa-band .btn{margin:0}
  .announce nav{display:none}
  .f-grid{grid-template-columns:1fr;gap:32px}
  .trust .wrap{grid-template-columns:1fr}
  .info-grid{grid-template-columns:1fr}
  .step span.lbl{display:none}
  .step-line{width:28px}
  .section{padding:44px 0}
  .g-main{height:280px}
  .g-thumb{width:60px;height:60px}
  .form-card,.pol-content,.co-box{padding:20px}
  .vol-panel{padding:26px}
  .steps .wrap{padding:16px}
  .slide{min-height:480px}
  .slide-inner{padding:40px 0}

  /* Tabla del carro: en telefono cada fila pasa de columnas a una tarjeta,
     usando los atributos data-title que ya trae la plantilla cart.php. */
  table.shop_table.shop_table_responsive thead{display:none}
  table.shop_table.shop_table_responsive tr{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px;position:relative}
  table.shop_table.shop_table_responsive tr:not(:last-child){border-bottom:1px solid var(--line)}
  table.shop_table.shop_table_responsive td{border:none!important;padding:0!important;display:flex;align-items:center;gap:6px}
  table.shop_table.shop_table_responsive td.product-thumbnail{order:1}
  table.shop_table.shop_table_responsive td.product-thumbnail img{width:56px;border-radius:8px}
  table.shop_table.shop_table_responsive td.product-remove{order:2;position:absolute;top:8px;right:8px;width:26px;height:26px;background:var(--paper);border-radius:50%;justify-content:center;z-index:1}
  table.shop_table.shop_table_responsive td.product-name{order:3;flex:1 1 100%;font-weight:600;font-size:13.5px;padding-right:32px!important}
  table.shop_table.shop_table_responsive td.product-price{order:4;font-size:13px;color:var(--gray)}
  table.shop_table.shop_table_responsive td.product-price::before{content:"Precio";font-weight:400;margin-right:5px}
  table.shop_table.shop_table_responsive td.product-quantity{order:5}
  table.shop_table.shop_table_responsive td.product-subtotal{order:6;margin-left:auto;font-weight:700}
  table.shop_table.shop_table_responsive td.actions{flex:1 1 100%;order:7}
}
