/* ===== VARIABLES ===== */
:root {
  --blue:        #1165B0;
  --blue-dark:   #0A4A8A;
  --blue-light:  #2278C8;
  --blue-bg:     #EEF5FB;
  --orange:      #F5A623;
  --orange-dark: #D98B0A;
  --orange-bg:   #FFF4D6;
  --green:       #25D366;
  --dark:        #1C2331;
  --text:        #3A4050;
  --muted:       #6E7A8A;
  --border:      #DDE5EF;
  --bg:          #F6F8FB;
  --white:       #FFFFFF;
  --radius:      10px;
  --radius-sm:   6px;
  --shadow-sm:   0 2px 8px rgba(17,101,176,.08);
  --shadow:      0 6px 24px rgba(17,101,176,.12);
  --shadow-lg:   0 20px 60px rgba(17,101,176,.18);
  --transition:  .3s cubic-bezier(.4,0,.2,1);
  --container:   1280px;
  --hdr-h:       120px;
}

/* ===== RESET ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Nunito',sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
input,textarea,select,button{font-family:inherit}

/* ===== CONTAINER ===== */
.container{max-width:var(--container);margin:0 auto;padding:0 24px}

/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4{color:var(--dark);font-weight:800;line-height:1.2}
h1{font-size:clamp(2.1rem,3.4vw,2.6rem)}
h2{font-size:clamp(1.6rem,3.5vw,2.4rem)}
h3{font-size:1.2rem;font-weight:700}
h4{font-size:.85rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}
p{line-height:1.72}

.eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--orange);margin-bottom:14px}
.eyebrow-light{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:10px}

/* ===== SCROLL REVEAL ===== */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
[data-reveal].visible{opacity:1;transform:none}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;letter-spacing:.4px;cursor:pointer;border:2px solid transparent;transition:var(--transition);white-space:nowrap}
.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}
.btn-orange{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn-orange:hover{background:var(--orange-dark);border-color:var(--orange-dark)}
.btn-outline{background:transparent;color:var(--blue);border-color:var(--blue)}
.btn-outline:hover{background:var(--blue);color:#fff}
.btn-white{background:#fff;color:var(--blue);border-color:#fff}
.btn-white:hover{background:var(--blue-bg);border-color:var(--blue-bg)}
.btn-wa{background:var(--green);color:#fff;border-color:var(--green)}
.btn-wa:hover{background:#1ebc5a}
.btn-wa-light{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.4)}
.btn-wa-light:hover{background:rgba(255,255,255,.25)}
.btn-wa-small{background:#e8fdf1;color:#1a8040;border-color:#b3e6c7;padding:8px 16px;font-size:.78rem}
.btn-wa-small:hover{background:var(--green);color:#fff;border-color:var(--green)}
.btn-sm{padding:9px 18px;font-size:.78rem}
.btn-hero-primary{background:var(--orange);color:#fff;border-color:var(--orange);padding:16px 36px;font-size:1rem;border-radius:var(--radius-sm)}
.btn-hero-primary:hover{background:var(--orange-dark);border-color:var(--orange-dark);transform:translateY(-2px)}
.btn-hero-ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.5);padding:16px 36px;font-size:1rem;border-radius:var(--radius-sm)}
.btn-hero-ghost:hover{background:rgba(255,255,255,.22);border-color:#fff}
.w100{width:100%}

/* ===== LOGO ===== */
.logo{display:flex;flex-direction:column;line-height:1;gap:1px}
.logo-san{font-size:1.1rem;font-weight:900;color:var(--blue);letter-spacing:1px}
.logo-mue{font-size:.75rem;font-weight:800;color:var(--orange);letter-spacing:3px;text-transform:uppercase}
.logo-img{height:52px;width:auto;object-fit:contain}

/* ===== TOAST ===== */
.toast-wrap{position:fixed;bottom:24px;left:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.toast{display:flex;align-items:center;gap:14px;background:var(--dark);color:#fff;padding:14px 18px;border-radius:var(--radius);font-size:.88rem;box-shadow:var(--shadow-lg);animation:slideUp .3s ease;pointer-events:auto;max-width:320px;border-left:4px solid var(--orange)}
.toast img{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm)}
.toast strong{display:block;font-size:.95rem;margin-bottom:2px}
.toast.out{animation:fadeOut .3s ease forwards}
@keyframes slideUp{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
@keyframes fadeOut{to{transform:translateY(8px);opacity:0}}

/* ===== OVERLAY ===== */
.overlay{position:fixed;inset:0;background:rgba(17,30,55,.5);z-index:1100;opacity:0;pointer-events:none;transition:opacity .3s ease;backdrop-filter:blur(3px)}
.overlay.active{opacity:1;pointer-events:all}

/* ===== CART DRAWER ===== */
.cart-drawer{position:fixed;right:0;top:0;height:100%;width:420px;max-width:95vw;background:#fff;z-index:1200;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}
.cart-drawer.active{transform:translateX(0)}
.cd-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--border)}
.cd-head h3{font-size:1.15rem;color:var(--dark)}
.cd-head span{background:var(--blue-bg);color:var(--blue);font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:20px;margin-left:8px}
.cd-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--muted);width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition)}
.cd-close:hover{background:var(--bg);color:var(--dark)}
.cd-body{flex:1;overflow-y:auto;padding:20px 24px}
.cd-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:60%;text-align:center;color:var(--muted)}
.cd-empty p{font-size:.95rem}
.cd-items{display:flex;flex-direction:column;gap:18px}
.cd-item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:start;padding-bottom:18px;border-bottom:1px solid var(--border)}
.cd-item-img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm)}
.cd-item-name{font-weight:700;font-size:.95rem;color:var(--dark);margin-bottom:4px}
.cd-item-cat{font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:8px}
.cd-item-ctrl{display:flex;align-items:center;gap:8px}
.qty-btn{width:28px;height:28px;border:1.5px solid var(--border);background:none;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--dark);transition:var(--transition)}
.qty-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.qty-n{font-weight:700;font-size:.9rem;min-width:20px;text-align:center}
.cd-item-price{font-weight:800;color:var(--blue);font-size:1rem;white-space:nowrap}
.rm-btn{background:none;border:none;font-size:.75rem;color:var(--muted);cursor:pointer;text-decoration:underline;margin-top:4px;font-family:inherit;transition:color .2s}
.rm-btn:hover{color:#e53935}
.cd-foot{padding:20px 24px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}
.cd-subtotal{display:flex;justify-content:space-between;font-size:1rem;font-weight:700;color:var(--dark)}
.cd-subtotal strong{color:var(--blue);font-size:1.15rem}
.cd-note{font-size:.75rem;color:var(--muted);text-align:center}

/* ===== QUICK VIEW MODAL ===== */
.qv-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.96);width:1100px;max-width:97vw;max-height:94vh;background:#fff;z-index:1400;border-radius:var(--radius);overflow:hidden;opacity:0;pointer-events:none;transition:all .38s cubic-bezier(.4,0,.2,1);box-shadow:0 32px 80px rgba(11,74,138,.22)}
.qv-modal.active{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1)}
.qv-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1.5px solid var(--border);border-radius:50%;background:rgba(255,255,255,.95);font-size:1rem;cursor:pointer;color:var(--dark);z-index:20;display:flex;align-items:center;justify-content:center;transition:var(--transition);backdrop-filter:blur(4px)}
.qv-close:hover{background:var(--dark);color:#fff;border-color:var(--dark)}

/* Layout: gallery left + info right */
.qv-inner{display:grid;grid-template-columns:1fr 1fr;max-height:94vh}

/* ===== GALLERY (left panel) ===== */
.qv-gallery{display:flex;flex-direction:column;background:var(--bg);position:relative}

/* Main image with zoom */
.qv-main-wrap{position:relative;overflow:hidden;flex:1;min-height:340px;cursor:zoom-in;background:#fff;border-bottom:1px solid var(--border)}
.qv-main-img{width:100%;height:100%;object-fit:cover;transition:transform .12s ease;will-change:transform;display:block}
.qv-zoom-hint{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(28,35,49,.68);color:#fff;font-size:.7rem;font-weight:600;padding:4px 12px;border-radius:20px;letter-spacing:.5px;pointer-events:none;transition:opacity .3s;white-space:nowrap;backdrop-filter:blur(4px)}
.qv-main-wrap:hover .qv-zoom-hint{opacity:0}
.qv-main-wrap.zoomed{cursor:zoom-in}

/* Navigation arrows */
.qv-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);border:1.5px solid var(--border);cursor:pointer;color:var(--dark);font-size:1.1rem;display:flex;align-items:center;justify-content:center;z-index:5;transition:var(--transition);backdrop-filter:blur(4px)}
.qv-arrow:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.qv-prev{left:10px}
.qv-next{right:10px}

/* Image badge */
.qv-img-badge{position:absolute;top:12px;left:12px;padding:4px 11px;border-radius:20px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;z-index:5}

/* Thumbnails */
.qv-thumbs{display:flex;gap:8px;padding:12px;background:#fff;border-top:1px solid var(--border);overflow-x:auto;scrollbar-width:thin}
.qv-thumb{width:72px;height:72px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:2.5px solid transparent;transition:border-color .2s,transform .2s;background:var(--bg)}
.qv-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.qv-thumb:hover{border-color:var(--blue-light);transform:translateY(-2px)}
.qv-thumb.active{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}

/* Image counter */
.qv-img-counter{position:absolute;bottom:12px;right:12px;background:rgba(28,35,49,.65);color:#fff;font-size:.7rem;font-weight:700;padding:3px 9px;border-radius:12px;backdrop-filter:blur(4px);pointer-events:none}

/* ===== INFO PANEL (right panel) ===== */
.qv-info{padding:28px 32px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:0}

/* Breadcrumb */
.qv-breadcrumb{font-size:.72rem;color:var(--muted);margin-bottom:8px}
.qv-breadcrumb a{color:var(--blue);cursor:pointer}
.qv-breadcrumb span{margin:0 5px;opacity:.5}

/* Category + name */
.qv-cat{font-size:.7rem;text-transform:uppercase;letter-spacing:2.5px;color:var(--orange);font-weight:800;margin-bottom:6px}
.qv-name{font-size:1.55rem;line-height:1.25;color:var(--dark);margin-bottom:10px}

/* Rating row */
.qv-meta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.qv-stars{color:var(--orange);font-size:.95rem;letter-spacing:1px;line-height:1}
.qv-reviews{font-size:.8rem;color:var(--blue);font-weight:600;cursor:pointer;text-decoration:underline}
.qv-code{font-size:.75rem;color:var(--muted);margin-left:auto}

/* Pricing */
.qv-pricing{margin-bottom:14px}
.qv-price{font-size:2.1rem;font-weight:900;color:var(--blue);line-height:1}
.qv-price-row{display:flex;align-items:center;gap:10px;margin-top:5px}
.qv-price-old{font-size:.95rem;color:var(--muted);text-decoration:line-through}
.qv-discount-badge{background:#e53935;color:#fff;font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:4px}

/* Stock + watchers */
.qv-stock{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;padding:6px 12px;border-radius:20px;margin-bottom:8px}
.qv-stock.in-stock{background:#e8fdf1;color:#1a8040}
.qv-stock.low-stock{background:#fff3cd;color:#8a6000}
.qv-stock.on-order{background:var(--blue-bg);color:var(--blue)}
.qv-watchers{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:5px;margin-bottom:16px}
.watcher-dot{width:6px;height:6px;border-radius:50%;background:#e53935;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}

/* Qty selector */
.qv-qty-wrap{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.qv-qty-label{font-size:.82rem;font-weight:700;color:var(--dark)}
.qv-qty-ctrl{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.qv-qty-btn{width:36px;height:36px;background:none;border:none;cursor:pointer;font-size:1.1rem;font-weight:700;color:var(--dark);display:flex;align-items:center;justify-content:center;transition:background .2s;font-family:inherit}
.qv-qty-btn:hover{background:var(--blue-bg);color:var(--blue)}
.qv-qty-num{width:44px;text-align:center;font-size:.95rem;font-weight:800;border:none;border-left:1.5px solid var(--border);border-right:1.5px solid var(--border);color:var(--dark);font-family:inherit;padding:0;-moz-appearance:textfield}
.qv-qty-num::-webkit-outer-spin-button,.qv-qty-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* CTA buttons */
.qv-ctas{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.qv-add-btn{width:100%;padding:15px;background:var(--blue);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--transition);letter-spacing:.3px;font-family:inherit}
.qv-add-btn:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(17,101,176,.3)}
.qv-wa-btn{width:100%;padding:13px;background:#25D366;color:#fff;border:none;border-radius:var(--radius-sm);font-size:.88rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--transition);font-family:inherit}
.qv-wa-btn:hover{background:#1ebc5a}
.qv-secondary-actions{display:flex;gap:8px}
.qv-wish-btn{flex:1;padding:11px;border:1.5px solid var(--border);background:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px;font-size:.8rem;font-weight:700;font-family:inherit;transition:var(--transition)}
.qv-wish-btn:hover,.qv-wish-btn.active{border-color:#e53935;color:#e53935;background:#fff5f5}
.qv-wish-btn.active svg{fill:#e53935;stroke:#e53935}
.qv-share-btn{padding:11px 16px;border:1.5px solid var(--border);background:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.qv-share-btn:hover{border-color:var(--blue);color:var(--blue)}

/* Trust badges */
.qv-trust{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;padding:14px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}
.qv-trust-item{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text);font-weight:600}
.qv-trust-item svg{stroke:var(--blue);flex-shrink:0}

/* Accordion */
.qv-accordion{border-top:1px solid var(--border)}
.acc-item{border-bottom:1px solid var(--border)}
.acc-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:13px 0;background:none;border:none;cursor:pointer;font-size:.88rem;font-weight:700;color:var(--dark);font-family:inherit;text-align:left;transition:color .2s}
.acc-trigger:hover{color:var(--blue)}
.acc-trigger svg{flex-shrink:0;transition:transform .25s ease;stroke:var(--muted)}
.acc-item.open .acc-trigger svg{transform:rotate(180deg)}
.acc-trigger:hover svg{stroke:var(--blue)}
.acc-content{max-height:0;overflow:hidden;transition:max-height .32s ease,padding .32s ease}
.acc-item.open .acc-content{max-height:500px}
.acc-content-inner{padding:0 0 16px;font-size:.85rem;color:var(--muted);line-height:1.75}
.spec-list{display:flex;flex-direction:column;gap:0}
.spec-list li{display:flex;justify-content:space-between;font-size:.83rem;padding:7px 0;border-bottom:1px solid var(--border)}
.spec-list li:last-child{border-bottom:none}
.spec-list li span{color:var(--muted)}
.spec-list li strong{color:var(--dark);font-weight:700}
.spec-list li.spec-empty{color:var(--muted);line-height:1.5}
.shipping-info{display:flex;flex-direction:column;gap:8px}
.ship-row{display:flex;align-items:flex-start;gap:8px;font-size:.83rem;color:var(--text)}
.ship-row svg{stroke:var(--blue);flex-shrink:0;margin-top:1px}

/* ===== RATING in product cards ===== */
.pc-rating{display:flex;align-items:center;gap:5px;margin-bottom:8px}
.pc-stars{color:var(--orange);font-size:.78rem;letter-spacing:.5px;line-height:1}
.pc-reviews{font-size:.7rem;color:var(--muted);font-weight:600}
.star-full{color:var(--orange)}
.star-half{color:var(--orange);opacity:.6}
.star-empty{color:#DDE5EF}

/* ===== SECOND IMAGE HOVER ON CARD ===== */
.pc-img-secondary{position:absolute;inset:0;object-fit:cover;opacity:0;transition:opacity .4s ease;width:100%;height:100%}
.prod-card:hover .pc-img-secondary{opacity:1}
.prod-card:hover .pc-img-primary{opacity:0}
.pc-img-primary{transition:opacity .4s ease;width:100%;height:100%;object-fit:cover}

/* ===== RESPONSIVE QV ===== */
@media(max-width:800px){
  .qv-inner{grid-template-columns:1fr;max-height:none}
  .qv-gallery{max-height:55vw}
  .qv-main-wrap{min-height:0}
  .qv-info{padding:20px}
  .qv-name{font-size:1.25rem}
  .qv-trust{grid-template-columns:1fr}
}

/* ===== FILTER DRAWER ===== */
.filter-drawer{position:fixed;left:0;top:0;height:100%;width:320px;max-width:95vw;background:#fff;z-index:1200;transform:translateX(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}
.filter-drawer.active{transform:translateX(0)}
.fd-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--border)}
.fd-body{flex:1;overflow-y:auto;padding:20px 24px}
.fd-foot{padding:16px 24px;border-top:1px solid var(--border)}

/* ===== MOBILE NAV ===== */
.mobile-nav{position:fixed;left:0;top:0;height:100%;width:300px;max-width:90vw;background:#fff;z-index:1300;transform:translateX(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow-y:auto}
.mobile-nav.active{transform:translateX(0)}
.mn-head{display:flex;justify-content:space-between;align-items:center;padding:20px 20px;border-bottom:1px solid var(--border);background:var(--blue)}
.mn-head .logo-san{color:#fff}
.mn-head .logo-mue{color:var(--orange)}
.mn-list{padding:12px 0;flex:1}
.mn-list li{border-bottom:1px solid var(--border)}
.mn-list a{display:block;padding:14px 20px;font-weight:600;color:var(--dark);font-size:.95rem;transition:var(--transition)}
.mn-list a:hover{background:var(--blue-bg);color:var(--blue);padding-left:28px}
.mn-sep{padding:12px 20px 6px;font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:700;border-bottom:none!important}
.mn-foot{padding:20px;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted);display:flex;flex-direction:column;gap:6px}

/* ===== TOP BAR ===== */
.topbar{background:var(--blue-dark);color:rgba(255,255,255,.85);font-size:.78rem;padding:8px 0}
.tb-inner{display:flex;justify-content:space-between;align-items:center;gap:12px}
.tb-left{font-weight:500}
.tb-left strong{color:#fff}
.tb-right{display:flex;gap:16px;align-items:center}
.tb-right a{color:rgba(255,255,255,.75);display:flex;align-items:center;gap:5px;font-weight:500;transition:color .2s}
.tb-right a:hover{color:var(--orange)}

/* ===== HEADER ===== */
.header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:var(--shadow-sm);transition:var(--transition)}
#nosotros,#sucursales,#contacto,#medida{scroll-margin-top:calc(var(--hdr-h) + 16px)}
#inicio{scroll-margin-top:0}
.hdr-inner{display:flex;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px}
.logo-img+.logo-fallback{display:none}
.logo-img.error+.logo-fallback,.logo-img.hidden+.logo-fallback{display:flex;flex-direction:column}


/* Header actions */
.hdr-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.action-btn{position:relative;background:none;border:none;cursor:pointer;color:var(--dark);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);transition:var(--transition)}
.action-btn:hover{background:var(--blue-bg);color:var(--blue)}
.action-badge{position:absolute;top:-4px;right:-4px;background:var(--orange);color:#fff;font-size:.6rem;font-weight:800;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:none;transition:transform .2s}
.action-badge.bump{animation:bump .25s ease}
@keyframes bump{0%,100%{transform:scale(1)}50%{transform:scale(1.6)}}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.hamburger span{display:block;width:24px;height:2px;background:var(--dark);border-radius:2px;transition:var(--transition)}

/* Header nav */
/* ===== DESKTOP NAV & MEGA MENU ===== */
.hdr-nav-wrap{background:var(--blue);border-top:1px solid rgba(255,255,255,.12);position:relative}
.hdr-nav{display:flex;align-items:stretch;gap:0}
.nav-link{display:flex;align-items:center;gap:4px;padding:12px 14px;color:rgba(255,255,255,.88);font-size:.8rem;font-weight:700;letter-spacing:.25px;transition:var(--transition);border-bottom:3px solid transparent;white-space:nowrap;text-decoration:none;cursor:pointer}
.nav-link:hover,.nav-link.active{color:#fff;background:rgba(255,255,255,.1);border-bottom-color:var(--orange)}
.nav-medida{color:var(--orange)}
.nav-medida:hover{color:#fff;background:rgba(245,166,35,.15)}
/* ── Per-category mega ── */
.mcp-inner{display:grid;grid-template-columns:210px 1fr;max-width:var(--container);margin:0 auto}
.mcp-subs{padding:20px 18px 20px 28px;border-right:1px solid var(--border)}
.mcp-subs-label{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:11px;display:block}
.mcp-sub{display:flex;align-items:center;gap:10px;padding:8px 9px;border-radius:var(--radius-sm);text-decoration:none;color:var(--text);transition:all .18s;margin-bottom:3px}
.mcp-sub:hover{background:var(--blue-bg)}
.mcp-sub-img{width:36px;height:36px;border-radius:6px;overflow:hidden;background:var(--bg);flex-shrink:0}
.mcp-sub-img img{width:100%;height:100%;object-fit:cover;display:block}
.mcp-sub-name{font-weight:700;font-size:.81rem;color:var(--dark);display:block;line-height:1.2;transition:color .18s}
.mcp-sub:hover .mcp-sub-name{color:var(--blue)}
.mcp-sub-cnt{font-size:.68rem;color:var(--muted)}
.mcp-view-all{display:inline-flex;align-items:center;gap:5px;margin-top:11px;padding:8px 13px;background:var(--blue);color:#fff;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;text-decoration:none;transition:background .2s}
.mcp-view-all:hover{background:var(--blue-dark)}
.mcp-featured{padding:20px 28px 20px 18px;background:var(--bg)}
.mcp-feat-label{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:11px;display:block}
.mcp-prods-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mcp-prod-card{background:#fff;border-radius:var(--radius-sm);overflow:hidden;text-decoration:none;color:var(--text);border:1.5px solid var(--border);transition:all .2s;display:block}
.mcp-prod-card:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.mcp-prod-img{height:100px;overflow:hidden;background:var(--bg)}
.mcp-prod-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.mcp-prod-card:hover .mcp-prod-img img{transform:scale(1.07)}
.mcp-prod-body{padding:9px 11px}
.mcp-prod-name{font-weight:700;font-size:.74rem;color:var(--dark);display:block;line-height:1.3;margin-bottom:4px}
.mcp-prod-price{font-weight:900;font-size:.83rem;color:var(--blue);display:block}
.mcp-prod-bdg{float:right;font-size:.59rem;font-weight:800;background:var(--orange);color:#fff;padding:2px 6px;border-radius:8px;margin-left:4px}
/* A Medida panel */
.mcp-medida-inner{max-width:var(--container);margin:0 auto;padding:20px 28px}
.mcp-medida-label{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:13px;display:block}
.mcp-medida-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mcp-medida-card{border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--text);border:1.5px solid var(--border);transition:all .2s;display:block}
.mcp-medida-card:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:var(--shadow)}
.mcp-medida-img{height:130px;overflow:hidden;background:var(--bg)}
.mcp-medida-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.mcp-medida-card:hover .mcp-medida-img img{transform:scale(1.06)}
.mcp-medida-body{padding:13px 15px;background:#fff}
.mcp-medida-name{font-weight:800;font-size:.86rem;color:var(--dark);display:block;margin-bottom:4px}
.mcp-medida-desc{font-size:.74rem;color:var(--muted);line-height:1.4;display:block;margin-bottom:9px}
.mcp-medida-cta{font-size:.73rem;font-weight:800;color:var(--orange);display:inline-flex;align-items:center;gap:3px}

/* ===== HERO CAROUSEL ===== */
.hero{position:relative;background:var(--bg);padding:36px 0}
.hero-hybrid{display:grid;grid-template-columns:1fr 320px;gap:20px}
.hero-main{position:relative;height:560px;border-radius:var(--radius);overflow:hidden}
.hero-slides{position:relative;width:100%;height:100%}
.hero-slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity 1.1s ease}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-bg{position:absolute;inset:0;z-index:-1}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(8,50,100,.88) 0%,rgba(11,74,138,.65) 45%,rgba(17,101,176,.4) 100%)}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-content{padding:0 40px;max-width:520px;width:100%;text-align:left;display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:2}
.hero-eyebrow{display:inline-block;background:rgba(245,166,35,.25);border:1px solid rgba(245,166,35,.5);color:var(--orange);font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;padding:6px 16px;border-radius:20px;margin-bottom:12px}
.hero h1{color:#fff;margin-bottom:12px;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.hero-accent{color:var(--orange)}
.hero p{color:rgba(255,255,255,.85);font-size:1.05rem;margin-bottom:16px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}
.hero-arrow:hover{background:rgba(255,255,255,.28);border-color:#fff}
.hero-arrow-prev{left:20px}
.hero-arrow-next{right:20px}
.hero-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:9px}
.hero-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);border:none;padding:0;cursor:pointer;transition:var(--transition)}
.hero-dot:hover{background:rgba(255,255,255,.7)}
.hero-dot.is-active{background:var(--orange);width:22px;border-radius:5px}

.hero-side{display:flex;flex-direction:column;gap:20px}
.hero-side-card{position:relative;flex:1;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.hero-side-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:0;transition:transform .5s ease}
.hero-side-card::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,30,60,0) 30%,rgba(8,30,60,.88) 100%)}
.hero-side-card:hover img{transform:scale(1.06)}
.hsc-overlay{position:relative;z-index:2;padding:20px}
.hsc-eyebrow{display:block;font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin-bottom:6px}
.hsc-overlay h3{color:#fff;font-size:1.05rem;margin-bottom:10px;line-height:1.3}
.hsc-link{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:#fff}
.hsc-link svg{transition:transform .25s ease}
.hero-side-card:hover .hsc-link svg{transform:translateX(4px)}

/* ===== HERO SEARCH ===== */
.hero-search-wrap{flex:1;max-width:560px;position:relative}
.hero-search-box{display:flex;align-items:center;background:#fff;border:2px solid var(--border);border-radius:50px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.hero-search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(17,101,176,.12)}
.hero-search-icon{flex-shrink:0;margin:0 2px 0 14px;color:var(--muted);pointer-events:none}
.hero-search-input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:.9rem;font-weight:500;color:var(--dark);padding:11px 10px;min-width:0}
.hero-search-input::placeholder{color:var(--muted);font-weight:400}
.hero-search-btn{flex-shrink:0;display:flex;align-items:center;gap:6px;background:var(--orange);color:#fff;border:none;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:700;padding:8px 18px;margin:4px;border-radius:40px;transition:background .2s,transform .15s;box-shadow:0 2px 8px rgba(245,166,35,.35);white-space:nowrap}
.hero-search-btn:hover{background:var(--orange-dark);transform:scale(1.03)}
.hero-search-btn:active{transform:scale(.97)}

/* hero search results dropdown */
.hero-search-results{position:absolute;top:calc(100% + 10px);left:0;right:0;background:#fff;border-radius:16px;box-shadow:0 16px 50px rgba(0,0,0,.22);z-index:300;overflow:hidden;display:none;border:1.5px solid rgba(17,101,176,.1)}
.hero-search-results.show{display:block;animation:hsFadeIn .18s ease}
@keyframes hsFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.hs-header{padding:10px 18px 6px;font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}
.hs-item{display:flex;align-items:center;gap:14px;padding:10px 18px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f0f4f8}
.hs-item:last-child{border-bottom:none}
.hs-item:hover,.hs-item.hs-active{background:var(--blue-bg)}
.hs-item img{width:52px;height:52px;object-fit:cover;border-radius:8px;flex-shrink:0;background:var(--bg)}
.hs-item-info{flex:1;min-width:0}
.hs-item-name{font-size:.9rem;font-weight:700;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-item-cat{font-size:.75rem;color:var(--muted);margin-top:2px}
.hs-item-price{font-size:.9rem;font-weight:800;color:var(--blue);white-space:nowrap}
.hs-empty{padding:20px 18px;text-align:center;color:var(--muted);font-size:.9rem}
.hs-footer{padding:10px 18px;text-align:center;border-top:1px solid var(--border);background:var(--bg)}
.hs-footer a{font-size:.82rem;font-weight:700;color:var(--blue);text-decoration:none}
.hs-footer a:hover{text-decoration:underline}


/* ===== TRUST BAR ===== */
.trust-bar{background:var(--blue);padding:20px 0}
.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.trust-item{display:flex;align-items:center;gap:14px}
.trust-item svg{flex-shrink:0;stroke:#fff}
.trust-item strong{display:block;font-weight:800;color:#fff;font-size:.95rem}
.trust-item span{font-size:.78rem;color:rgba(255,255,255,.7)}

/* ===== SECTION HEAD ===== */
.sec-head{text-align:center;margin-bottom:48px}
.sec-head h2{margin-bottom:12px}
.sec-head p{color:var(--muted);font-size:1rem;max-width:560px;margin:0 auto}

/* ===== CATEGORIES ===== */
.categories{padding:80px 0;background:var(--white)}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cat-card{border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cat-img{aspect-ratio:3/4;overflow:hidden}
.cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.cat-card:hover .cat-img img{transform:scale(1.08)}
.cat-label{position:absolute;bottom:0;left:0;right:0;padding:16px 14px 14px;background:linear-gradient(0deg,rgba(10,74,138,.92) 0%,transparent 100%);color:#fff;font-weight:700;font-size:.85rem;display:flex;justify-content:space-between;align-items:center}
.cat-medida .cat-label{background:linear-gradient(0deg,rgba(245,166,35,.92) 0%,transparent 100%)}

/* ===== CATALOG ===== */
.catalog{padding:72px 0 96px;background:var(--bg)}
.catalog-header{margin-bottom:28px}
.catalog-title-row{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.catalog-title-row h2{margin:0}
.prod-count{background:var(--blue-bg);color:var(--blue);font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:20px}
.catalog-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.active-filters{display:flex;gap:8px;flex-wrap:wrap}
.af-tag{display:inline-flex;align-items:center;gap:6px;background:var(--blue-bg);color:var(--blue);font-size:.75rem;font-weight:700;padding:5px 12px;border-radius:20px;cursor:pointer;transition:var(--transition)}
.af-tag:hover{background:var(--blue);color:#fff}
.catalog-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.filter-mob-btn{display:none;align-items:center;gap:7px;background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:9px 16px;font-size:.82rem;font-weight:700;cursor:pointer;color:var(--dark);transition:var(--transition)}
.filter-mob-btn:hover{border-color:var(--blue);color:var(--blue)}
.sort-sel{padding:9px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.82rem;font-family:inherit;font-weight:600;color:var(--dark);background:#fff;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E7A8A' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.sort-sel:focus{outline:none;border-color:var(--blue)}
.view-toggle{display:flex;border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.vt-btn{background:none;border:none;cursor:pointer;padding:9px 11px;color:var(--muted);transition:var(--transition)}
.vt-btn.active{background:var(--blue);color:#fff}
/* Category pills — story highlight style */
.cat-pills{display:flex;gap:14px;flex-wrap:nowrap;overflow-x:auto;padding:10px 8px 16px;scrollbar-width:none;-ms-overflow-style:none}
.cat-pills::-webkit-scrollbar{display:none}
.pill{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:none;cursor:pointer;padding:0;flex-shrink:0;font-family:inherit}
.pill-icon{width:64px;height:64px;border-radius:50%;border:2px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;color:#8a9bae;transition:all .25s ease}
.pill:hover .pill-icon{border-color:var(--blue);background:var(--blue-bg);color:var(--blue);transform:translateY(-4px);box-shadow:0 8px 22px rgba(17,101,176,.16)}
.pill.active .pill-icon{background:linear-gradient(145deg,var(--blue-light),var(--blue-dark));border-color:transparent;color:#fff;box-shadow:0 0 0 3px #fff,0 0 0 5.5px var(--orange),0 8px 24px rgba(17,101,176,.42);transform:translateY(-2px)}
.pill-label{font-size:.65rem;font-weight:700;color:var(--muted);letter-spacing:.5px;transition:color .2s;white-space:nowrap;text-transform:uppercase}
.pill.active .pill-label{color:var(--blue);font-weight:800}
.pill:hover .pill-label{color:var(--blue)}
/* Subcategory bar (Level 2) */
.subcat-bar{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin:-2px 0 18px;padding:12px 16px;
  background:linear-gradient(135deg,var(--orange-bg) 0%,#FFE9BC 100%);
  border:1.5px solid rgba(245,166,35,.45);
  border-radius:var(--radius);
  animation:fadeSlide .25s ease,subcatPulse 1.1s ease-out;
}
@keyframes fadeSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes subcatPulse{0%{box-shadow:0 0 0 0 rgba(245,166,35,.55)}70%{box-shadow:0 0 0 9px rgba(245,166,35,0)}100%{box-shadow:0 0 0 0 rgba(245,166,35,0)}}
.subcat-bar-label{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:var(--orange-dark);white-space:nowrap}
.subcat-chips{display:flex;gap:9px;flex-wrap:wrap}
.subcat-chip{padding:7px 16px;border-radius:20px;border:1.5px solid rgba(245,166,35,.5);background:#fff;color:var(--orange-dark);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .18s ease;font-family:inherit;white-space:nowrap}
.subcat-chip:hover{border-color:var(--orange);background:#fff7e9;color:var(--orange-dark);transform:translateY(-1px);box-shadow:0 3px 10px rgba(245,166,35,.25)}
.subcat-chip.active{border-color:var(--orange-dark);background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff;box-shadow:0 4px 14px rgba(217,139,10,.4);transform:translateY(-1px)}
/* Breadcrumb */
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted);margin-bottom:18px;flex-wrap:wrap}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color .15s}
.breadcrumb a:hover{color:var(--blue)}
.breadcrumb .bc-sep{color:var(--border)}
.breadcrumb .bc-current{color:var(--text);font-weight:600}
/* Pagination */
.catalog-main{display:flex;flex-direction:column;min-width:0}
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:32px 0 8px;flex-wrap:wrap}
.pag-btn{padding:7px 16px;border:1.5px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--text);font-family:inherit;transition:all .18s}
.pag-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}
.pag-btn:disabled{opacity:.35;cursor:not-allowed}
.pag-pages{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}
.pag-pg{width:36px;height:36px;border-radius:8px;border:1.5px solid var(--border);background:#fff;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--text);font-family:inherit;transition:all .18s;display:flex;align-items:center;justify-content:center}
.pag-pg:hover{border-color:var(--blue);color:var(--blue)}
.pag-pg.active{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 2px 8px rgba(17,101,176,.3)}
.pag-ellipsis{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem}
.pag-info{text-align:center;font-size:.78rem;color:var(--muted);padding-bottom:16px}
/* Skeleton loader */
.skel-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.skel-img{width:100%;aspect-ratio:4/3;background:linear-gradient(90deg,#f0f2f5 25%,#e4e8ed 50%,#f0f2f5 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}
.skel-body{padding:14px}
.skel-line{height:13px;border-radius:4px;margin-bottom:9px;background:linear-gradient(90deg,#f0f2f5 25%,#e4e8ed 50%,#f0f2f5 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}
.skel-line.w70{width:70%}.skel-line.w90{width:90%}.skel-line.w50{width:50%}
@keyframes shimmer{to{background-position:-200% 0}}
/* Catalog body */
.catalog-body{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start}

/* ===== SIDEBAR ===== */
.sidebar{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);position:sticky;top:calc(var(--hdr-h) + 16px)}
.sb-block{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--border)}
.sb-block:last-of-type{border-bottom:none;margin-bottom:16px}
.sb-block h4{margin-bottom:0;color:var(--dark);cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none}
.sb-block h4::after{content:'';width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s ease;margin-left:8px;flex-shrink:0}
.sb-block.open h4::after{transform:rotate(-135deg)}
.sb-block-body{margin-top:14px;display:none}
.sb-block.open .sb-block-body{display:block}
.sb-cats{display:flex;flex-direction:column;gap:0}
.sb-cats li label{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:.88rem;font-weight:600;color:var(--text);transition:var(--transition);width:100%}
.sb-cats li label:hover{background:var(--blue-bg);color:var(--blue)}
.sb-cats input[type=radio]{accent-color:var(--blue);width:15px;height:15px}
.price-range{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.pr-inputs{display:flex;align-items:center;gap:8px}
.pr-input{flex:1;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.82rem;font-family:inherit;color:var(--dark);width:100%}
.pr-input:focus{outline:none;border-color:var(--blue)}
.price-presets{display:flex;flex-direction:column;gap:4px}
.preset{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px;font-size:.78rem;font-weight:600;cursor:pointer;color:var(--text);text-align:left;transition:var(--transition);font-family:inherit}
.preset:hover,.preset.active{background:var(--blue-bg);border-color:var(--blue);color:var(--blue)}
.sb-checks{display:flex;flex-direction:column;gap:6px}
.sb-checks label{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:600;cursor:pointer;color:var(--text);padding:4px 0}
.sb-checks input[type=checkbox]{accent-color:var(--blue);width:15px;height:15px}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;transition:transform .2s,box-shadow .2s;border:2px solid transparent!important}
.swatch:hover,.swatch.active{transform:scale(1.2);box-shadow:0 0 0 3px var(--blue)!important}
.facet-chips{display:flex;flex-wrap:wrap;gap:8px}
.facet-chips .preset{text-align:center}

/* ===== PRODUCTS GRID ===== */
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.products-grid.list-view{grid-template-columns:1fr}
.no-results{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;text-align:center;color:var(--muted)}
.no-results p{font-size:1rem}

/* ===== PRODUCT CARD ===== */
.prod-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);cursor:pointer;display:flex;flex-direction:column}
.prod-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.pc-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg);flex-shrink:0}
.pc-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.prod-card:hover .pc-img-wrap img{transform:scale(1.06)}
.pc-badge{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:20px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.badge-nuevo{background:var(--blue);color:#fff}
.badge-oferta{background:#e53935;color:#fff}
.badge-dest{background:var(--orange);color:#fff}
.badge-medida{background:var(--blue-dark);color:#fff}
.pc-wish{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition);backdrop-filter:blur(4px)}
.prod-card:hover .pc-wish{opacity:1}
.pc-wish svg{width:16px;height:16px;stroke:var(--muted);transition:.2s}
.pc-wish:hover svg,.pc-wish.active svg{stroke:#e53935}
.pc-wish.active svg{fill:#e53935}
.pc-overlay{position:absolute;inset:0;background:rgba(11,74,138,.0);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:14px;gap:6px;opacity:0;transition:opacity .3s ease,background .3s ease}
.prod-card:hover .pc-overlay{opacity:1;background:rgba(11,74,138,.28)}
.overlay-add-btn{width:100%;padding:11px;background:var(--blue);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;cursor:pointer;letter-spacing:.5px;transition:background .2s;font-family:inherit}
.overlay-add-btn:hover{background:var(--blue-dark)}
.overlay-qv-btn{width:100%;padding:9px;background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;cursor:pointer;transition:background .2s;font-family:inherit}
.overlay-qv-btn:hover{background:rgba(255,255,255,.28)}
.pc-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.pc-cat{font-size:.67rem;text-transform:uppercase;letter-spacing:2px;color:var(--orange);font-weight:700;margin-bottom:4px}
.pc-name{font-weight:800;font-size:.95rem;color:var(--dark);margin-bottom:3px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.pc-code{font-size:.7rem;color:var(--muted);margin-bottom:10px}
.pc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.pc-price{font-weight:900;font-size:1.1rem;color:var(--blue)}
.pc-price-old{font-size:.78rem;color:var(--muted);text-decoration:line-through}
.pc-cart-btn{background:var(--orange);color:#fff;border:none;border-radius:var(--radius-sm);padding:9px 16px;font-size:.78rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;transition:var(--transition);font-family:inherit;white-space:nowrap}
.pc-cart-btn:hover{background:var(--orange-dark)}
/* List view card */
.products-grid.list-view .prod-card{display:grid;grid-template-columns:200px 1fr}
.products-grid.list-view .pc-img-wrap{aspect-ratio:auto;height:160px}
.products-grid.list-view .pc-body{display:flex;flex-direction:column;justify-content:center}
.products-grid.list-view .pc-foot{margin-top:0}

/* ===== A MEDIDA BANNER ===== */
.medida-banner{background:linear-gradient(135deg,var(--blue-dark) 0%,var(--blue) 60%,var(--blue-light) 100%);padding:34px 0 46px;overflow:hidden}
.mb-inner{display:grid;grid-template-columns:1fr 440px;gap:38px;align-items:center}
.mb-text h2{color:#fff;margin-bottom:12px;white-space:nowrap;font-size:clamp(1.3rem,2.4vw,1.9rem)}
.mb-text p{color:rgba(255,255,255,.82);margin-bottom:0;font-size:1rem}
.mb-image img{border-radius:var(--radius);box-shadow:var(--shadow-lg);height:196px;object-fit:cover;width:100%}
.mb-steps{margin-top:38px;padding-top:26px;border-top:1px solid rgba(255,255,255,.15)}
.mb-steps-head{text-align:center;color:#fff;font-size:1.45rem;margin-bottom:15px}
.mb-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 16px}
.mb-step{display:flex;align-items:flex-start;gap:12px;text-align:left;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);padding:10px 12px}
.mb-step-ico{position:relative;flex-shrink:0;width:44px;height:44px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.mb-step-num{position:absolute;top:-5px;right:-5px;background:var(--orange);color:#fff;font-size:.6rem;font-weight:800;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.mb-step h4{color:#fff;font-size:.92rem;margin-bottom:4px}
.mb-step p{color:rgba(255,255,255,.7);font-size:.8rem;margin:0;line-height:1.42}
.mb-steps-cta{text-align:center;margin-top:24px}
.mb-steps-cta p{color:#fff;font-weight:700;font-size:1rem;margin-bottom:12px}
.mb-cta-btns{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}

/* ===== ABOUT ===== */
.about{padding:36px 0;background:#fff;min-height:calc(100vh - var(--hdr-h) - 16px);display:flex;flex-direction:column;justify-content:center}
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.about-media{display:flex;flex-direction:column}
.about-img{position:relative}
.about-img img{border-radius:var(--radius);width:100%;height:380px;object-fit:cover;box-shadow:var(--shadow)}
.about-badge{position:absolute;bottom:-18px;right:-18px;background:var(--orange);color:#fff;border-radius:var(--radius);padding:14px 18px;text-align:center;box-shadow:var(--shadow)}
.about-badge strong{font-size:1.8rem;font-weight:900;line-height:1;display:block}
.about-badge span{font-size:1.2rem;font-weight:900;line-height:1}
.about-badge small{display:block;font-size:.7rem;opacity:.9;margin-top:2px}
.count-num{display:inline-block}
.about-text h2{margin:6px 0 8px}
.about-text p{margin-bottom:8px;color:var(--muted)}
.about-text .tagline{color:var(--orange);font-weight:800}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:30px}
.astat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:8px 6px;background:var(--blue-bg);border-radius:var(--radius)}
.astat strong{font-size:1.15rem;font-weight:900;color:var(--blue);line-height:1.1}
.astat small{font-size:.85rem;color:var(--blue)}
.astat span{font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.2px;font-weight:700;line-height:1.2}
.process-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.ps-item{display:flex;gap:9px;align-items:center}
.ps-num{min-width:22px;height:22px;background:var(--blue);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ps-item strong{display:block;font-weight:700;color:var(--dark);font-size:.84rem;line-height:1.3}

/* ===== SERVICES ===== */
.services{padding:90px 0;background:var(--bg)}
.srv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.srv-card{background:#fff;border-radius:var(--radius);padding:32px 24px;box-shadow:var(--shadow-sm);transition:var(--transition)}
.srv-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.srv-icon{width:60px;height:60px;background:var(--blue-bg);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.srv-icon svg{stroke:var(--blue)}
.srv-card h3{margin-bottom:10px;font-size:1rem}
.srv-card p{font-size:.88rem;color:var(--muted)}

/* ===== TESTIMONIALS ===== */
.testimonials{padding:90px 0;background:#fff}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.test-card{background:var(--bg);border-radius:var(--radius);padding:32px 28px;transition:var(--transition)}
.test-card:hover{box-shadow:var(--shadow)}
.test-featured{background:var(--blue);color:#fff}
.test-featured p,.test-featured .test-author span{color:rgba(255,255,255,.8)}
.test-featured strong{color:#fff}
.test-featured .test-av{background:rgba(255,255,255,.2);color:#fff}
.test-stars{color:var(--orange);font-size:.9rem;letter-spacing:3px;margin-bottom:14px}
.test-card p{font-size:.93rem;margin-bottom:22px;line-height:1.7}
.test-author{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);padding-top:18px}
.test-featured .test-author{border-top-color:rgba(255,255,255,.2)}
.test-av{width:38px;height:38px;border-radius:50%;background:var(--blue-bg);color:var(--blue);font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.test-author strong{display:block;font-size:.9rem;color:var(--dark)}
.test-author span{font-size:.75rem;color:var(--muted)}

/* ===== BRANCHES ===== */
.branches{padding:90px 0;background:var(--blue-dark)}
.branches .sec-head h2{color:#fff}
.branches .sec-head p{color:rgba(255,255,255,.7)}
.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}
.branch-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);padding:28px 22px;text-align:center;transition:var(--transition)}
.branch-card:hover{background:rgba(255,255,255,.15);transform:translateY(-4px)}
.branch-icon{font-size:2rem;margin-bottom:12px}
.branch-card h3{color:#fff;font-size:1.1rem;margin-bottom:8px}
.branch-card p{color:rgba(255,255,255,.7);font-size:.85rem;margin-bottom:12px}
.branch-tel{display:block;color:var(--orange);font-weight:700;font-size:.9rem;margin-bottom:14px;transition:color .2s}
.branch-tel:hover{color:var(--orange-dark)}
.branch-hours{text-align:center;color:rgba(255,255,255,.65);font-size:.78rem;display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:14px}
.branch-hours svg{stroke:rgba(255,255,255,.5);flex-shrink:0}

/* ===== CONTACT ===== */
.contact{padding:90px 0;background:var(--bg)}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.contact-info h2{margin:14px 0 20px}
.contact-info>p{color:var(--muted);margin-bottom:28px}
.contact-wa{margin-bottom:0}
.contact-form{background:#fff;border-radius:var(--radius);padding:36px 32px;box-shadow:var(--shadow-sm)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fg{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.fg label{font-size:.82rem;font-weight:700;color:var(--dark)}
.fg input,.fg textarea,.fg select{padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem;color:var(--dark);background:var(--bg);transition:var(--transition);appearance:none}
.fg select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E7A8A' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}
.fg input:focus,.fg textarea:focus,.fg select:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(17,101,176,.1)}
.fg textarea{resize:vertical}
.form-status{text-align:center;font-size:.85rem;color:var(--blue);font-weight:600;min-height:20px;margin-top:8px}

/* ===== NEWSLETTER ===== */
.newsletter{background:linear-gradient(135deg,var(--orange),var(--orange-dark));padding:52px 0}
.nl-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.nl-inner h3{color:#fff;font-size:1.4rem;margin-bottom:6px}
.nl-inner p{color:rgba(255,255,255,.8);font-size:.9rem}
.nl-form{display:flex;gap:0;min-width:360px;flex:1;max-width:480px}
.nl-form input{flex:1;padding:14px 18px;border:2px solid rgba(255,255,255,.3);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:rgba(255,255,255,.15);color:#fff;font-family:inherit;font-size:.9rem}
.nl-form input::placeholder{color:rgba(255,255,255,.6)}
.nl-form input:focus{outline:none;border-color:rgba(255,255,255,.7)}
.nl-form .btn-orange{border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#fff;color:var(--orange);border-color:#fff}
.nl-form .btn-orange:hover{background:var(--blue-dark);color:#fff;border-color:var(--blue-dark)}

/* ===== FOOTER ===== */
.footer{background:var(--dark);padding:64px 0 0}
.footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}
.ft-brand .logo-san{color:#fff;font-size:1rem}
.ft-brand .logo-mue{color:var(--orange)}
.ft-brand p{color:rgba(255,255,255,.5);font-size:.85rem;margin-top:14px;line-height:1.7;max-width:280px}
.ft-social{display:flex;gap:10px;margin-top:20px}
.ft-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);transition:var(--transition)}
.ft-social a:hover{border-color:var(--orange);color:var(--orange)}
.ft-col h4{color:rgba(255,255,255,.4);font-size:.7rem;letter-spacing:2px;margin-bottom:18px}
.ft-col a,.ft-col p{display:block;color:rgba(255,255,255,.6);font-size:.85rem;margin-bottom:10px;transition:color .2s}
.ft-col a:hover{color:var(--orange)}
.footer-bottom{padding:20px 0}
.fb-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.fb-inner p{font-size:.78rem;color:rgba(255,255,255,.35)}
.fb-links{display:flex;gap:20px}
.fb-links a{font-size:.78rem;color:rgba(255,255,255,.35);transition:color .2s}
.fb-links a:hover{color:var(--orange)}

/* ===== WhatsApp FAB ===== */
.wa-fab{position:fixed;bottom:32px;right:32px;width:60px;height:60px;background:var(--green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:900;box-shadow:0 8px 24px rgba(37,211,102,.45);transition:transform .3s ease,box-shadow .3s ease}
.wa-fab:hover{transform:scale(1.1);box-shadow:0 12px 36px rgba(37,211,102,.6)}
.wa-tooltip{position:absolute;right:70px;background:var(--dark);color:#fff;padding:7px 13px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s;font-family:'Nunito',sans-serif}
.wa-tooltip::after{content:'';position:absolute;left:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--dark)}
.wa-fab:hover .wa-tooltip{opacity:1}

/* ===== BACK TO TOP ===== */
.back-top{position:fixed;bottom:104px;right:34px;width:42px;height:42px;background:#fff;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--blue);box-shadow:var(--shadow-sm);opacity:0;transform:translateY(10px);transition:var(--transition);z-index:900}
.back-top.show{opacity:1;transform:none}
.back-top:hover{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ===== RESPONSIVE ===== */
@media(max-width:1100px){
  .hero-hybrid{grid-template-columns:1fr 260px}
  .hero-main{height:480px}
  .cat-grid{grid-template-columns:repeat(4,1fr)}
  .products-grid{grid-template-columns:repeat(2,1fr)}
  .srv-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1fr 1fr}
  .catalog-body{grid-template-columns:220px 1fr}
  .mb-inner{grid-template-columns:1fr;text-align:center}
  .mb-image{display:none}
  .mb-steps-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  :root{--hdr-h:70px}
  .topbar{display:none}
  .hdr-nav-wrap{display:none}
  .hamburger{display:flex}
  .hero-hybrid{grid-template-columns:1fr}
  .hero-main{height:54vh}
  .hero-side{flex-direction:row;height:170px}
  .trust-inner{grid-template-columns:1fr 1fr}
  .about-inner{grid-template-columns:1fr}
  .about-badge{right:0;bottom:-16px}
  .contact-inner{grid-template-columns:1fr}
  .branch-grid{grid-template-columns:1fr}
  .test-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
  .catalog-body{grid-template-columns:1fr}
  .sidebar{display:none}
  .filter-mob-btn{display:flex}
}
@media(max-width:640px){
  .hero-main{height:62vh}
  .hero-content{padding:0 24px;max-width:none}
  .hero-arrow{display:none}
  .hero-dots{bottom:18px}
  .hero-side{display:none}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .products-grid{grid-template-columns:1fr}
  .trust-inner{grid-template-columns:1fr}
  .branch-grid{grid-template-columns:1fr}
  .srv-grid{grid-template-columns:1fr}
  .hdr-inner{gap:10px}
  .nl-form{min-width:0;flex-direction:column}
  .nl-form input{border-right:2px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);margin-bottom:0}
  .nl-form .btn-orange{border-radius:var(--radius-sm)}
  .hero-btns{flex-direction:column;align-items:stretch}
  .form-row{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .fb-inner{flex-direction:column;text-align:center}
  .qv-inner{grid-template-columns:1fr}
  .qv-img{aspect-ratio:16/9}
  .hero-search-btn span{display:none}
  .hero-search-btn{padding:8px 12px}
  .hero-search-wrap{max-width:none}
  .about-stats{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr}
  .mb-steps-grid{grid-template-columns:1fr}
  .mb-steps-cta .btn-wa{font-size:.85rem;padding:14px 18px;white-space:normal;text-align:center}
}
