/* ==========================================================================
   Hostelecan — Maquinaria de Hostelería en Valencia
   Rediseño moderno · Navy + Naranja · Desarrollado por disegrafico.es
   ========================================================================== */
:root{
  /* chrome oscuro (grafito, no negro puro) */
  --navy:#191a1f; --navy-2:#20222a; --navy-3:#15161b;
  --blue:#d7b569; --blue-soft:#272a31;
  /* acento dorado */
  --orange:#c8a24a; --orange-dark:#a6822f; --orange-soft:#2a2314;
  /* texto claro sobre oscuro */
  --ink:#f4efe3; --body-txt:#c4c4c9; --muted:#8c8c93;
  /* superficies grafito */
  --bg:#1f2126; --panel:#2a2c33; --line:#363942; --white:#24262c;
  --stage:#ffffff; /* fondo blanco SOLO para fotos de producto */
  --gold:#d7b569; --green:#2bb673;
  --radius:6px; --radius-lg:12px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.45);
  --shadow:0 10px 32px rgba(0,0,0,.55);
  --shadow-lg:0 24px 60px rgba(0,0,0,.65);
  --font-display:'Poppins',sans-serif; --font-body:'Inter',sans-serif;
  --wrap:1280px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--body-txt);background:var(--bg);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);font-weight:700;line-height:1.14;letter-spacing:-.01em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.flame{color:var(--orange)}
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-display);
  font-weight:600;letter-spacing:.01em;font-size:.92rem;padding:.85em 1.7em;border-radius:var(--radius);
  transition:.2s;cursor:pointer;border:2px solid transparent;white-space:nowrap}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-ghost{border-color:var(--navy);color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-light{border-color:#fff;color:#fff}
.btn-light:hover{background:#fff;color:var(--navy)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-3)}

/* ---------- TOP BAR ---------- */
.topbar{background:var(--navy-3);color:#cfdae2;font-size:.83rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;gap:16px}
.topbar a{color:#cfdae2;transition:.2s}.topbar a:hover{color:var(--orange)}
.topbar .tb-left,.topbar .tb-right{display:flex;gap:24px;align-items:center}
.topbar .tb-item{display:flex;align-items:center;gap:7px}
.topbar svg{width:15px;height:15px;fill:var(--orange)}
@media(max-width:860px){.topbar .hide-sm{display:none}.topbar{font-size:.76rem}.topbar .tb-left,.topbar .tb-right{gap:14px}}

/* ---------- HEADER ---------- */
.site-header{background:#fff;position:sticky;top:0;z-index:200;box-shadow:var(--shadow-sm)}
.site-header .wrap{display:flex;align-items:center;gap:30px;height:104px}
.logo img{height:74px;width:auto}
.header-search{flex:1;position:relative;max-width:640px;display:flex}
.header-search input{width:100%;border:2px solid var(--line);border-right:none;border-radius:var(--radius) 0 0 var(--radius);
  padding:.82em 1.1em;font-size:.95rem;background:#fff;transition:.2s}
.header-search input:focus{outline:none;border-color:var(--orange)}
.header-search .s-btn{background:var(--orange);border-radius:0 var(--radius) var(--radius) 0;width:56px;
  display:flex;align-items:center;justify-content:center;transition:.2s}
.header-search .s-btn:hover{background:var(--orange-dark)}
.header-search .s-btn svg{width:22px;height:22px;fill:#fff}
.header-actions{display:flex;gap:24px;align-items:center;margin-left:auto}
.header-actions a{display:flex;flex-direction:column;align-items:center;gap:3px;
  font-size:.7rem;letter-spacing:.01em;color:var(--navy);font-weight:600}
.header-actions svg{width:25px;height:25px;fill:var(--navy);transition:.2s}
.header-actions a:hover svg{fill:var(--orange)}
.cart-wrap{position:relative}
.cart-count{position:absolute;top:-8px;right:-11px;background:var(--orange);color:#fff;
  font-size:.64rem;min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-weight:700;font-family:var(--font-body)}
.burger{display:none;flex-direction:column;gap:5px}
.burger span{width:26px;height:3px;background:var(--navy);border-radius:2px;transition:.3s}

/* ---------- NAV ---------- */
.mainnav{background:var(--navy);position:relative;z-index:190}
.mainnav .wrap{display:flex;align-items:stretch;gap:2px}
.mainnav .nav-scroll{display:flex;align-items:stretch;flex:1;overflow:visible}
.mainnav .nav-scroll::-webkit-scrollbar{display:none}
.mainnav a{color:#e5edf2;font-family:var(--font-display);letter-spacing:.02em;font-size:.86rem;font-weight:500;
  padding:15px 17px;display:flex;align-items:center;gap:5px;transition:.2s;white-space:nowrap}
.mainnav a:hover,.mainnav a.active{background:var(--orange);color:#fff}
.nav-contacto{margin-left:auto;display:flex;align-items:center;padding:8px 0 8px 12px}
.nav-contacto a{background:#fff;color:var(--navy)!important;border-radius:var(--radius);padding:10px 22px;font-weight:700}
.nav-contacto a:hover{background:var(--orange);color:#fff!important}
.has-dropdown{position:relative}
.dropdown{position:absolute;top:100%;left:0;min-width:290px;background:#fff;border-top:3px solid var(--orange);
  box-shadow:var(--shadow-lg);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:none;flex-direction:column;z-index:250;padding:8px 0}
@media(min-width:769px){.has-dropdown:hover .dropdown{display:flex}.has-dropdown:hover .nav-mega.cols2{display:grid}}
.dropdown a{color:var(--ink)!important;padding:11px 22px!important;font-family:var(--font-body)!important;
  font-size:.9rem!important;font-weight:500;background:none!important;justify-content:space-between;border-bottom:1px solid var(--panel)}
.dropdown a:hover{background:var(--blue-soft)!important;color:var(--navy)!important;padding-left:26px!important}

/* ---------- HERO ---------- */
.hero{position:relative;background:var(--navy-3);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:url('../img/site/fachada.png') center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,44,62,.96) 0%,rgba(10,44,62,.88) 42%,rgba(10,44,62,.45) 100%)}
.hero .wrap{position:relative;z-index:2;padding:76px 24px}
.hero .inner{max-width:620px}
.hero .eyebrow{font-family:var(--font-display);letter-spacing:.16em;font-size:.8rem;color:var(--orange);
  font-weight:600;margin-bottom:18px;text-transform:uppercase}
.hero h1{font-size:clamp(2.3rem,5vw,3.7rem);color:#fff;font-weight:800;line-height:1.04;margin-bottom:20px;text-transform:uppercase}
.hero p{font-size:1.1rem;color:#dbe6ed;max-width:540px;margin-bottom:30px}
.hero .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero .script{position:absolute;right:6%;top:38%;z-index:3;font-family:'Caveat',cursive;font-size:2.6rem;
  color:#fff;transform:rotate(-6deg);text-shadow:0 4px 20px rgba(0,0,0,.5);display:none}
@media(min-width:1024px){.hero .script{display:block}}
.trust-strip{background:var(--navy);position:relative;z-index:2}
.trust-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:22px 24px}
.trust-strip .t{display:flex;align-items:center;gap:13px;color:#e5edf2}
.trust-strip .t svg{width:32px;height:32px;fill:var(--orange);flex-shrink:0}
.trust-strip .t b{display:block;color:#fff;font-family:var(--font-display);font-size:.92rem;font-weight:600}
.trust-strip .t span{font-size:.8rem;color:#a9bcc8}
@media(max-width:860px){.trust-strip .wrap{grid-template-columns:1fr 1fr;gap:16px}}
@media(max-width:520px){.trust-strip .wrap{grid-template-columns:1fr}}

/* ---------- SECTIONS ---------- */
section{padding:60px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:32px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(1.6rem,3vw,2.2rem);position:relative;padding-left:16px}
.sec-head h2::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:5px;background:var(--orange);border-radius:3px}
.sec-head .sec-link{color:var(--orange);font-family:var(--font-display);font-weight:600;font-size:.9rem;display:flex;gap:6px;align-items:center;transition:.2s}
.sec-head .sec-link:hover{gap:11px}
.sec-head.center{flex-direction:column;align-items:center;text-align:center}
.sec-head.center h2{padding-left:0}.sec-head.center h2::before{display:none}
.sec-head .kicker{font-family:var(--font-display);letter-spacing:.14em;color:var(--orange);font-size:.8rem;font-weight:600;text-transform:uppercase;margin-bottom:8px}
.bg-white{background:#fff}

/* ---------- CATEGORY TILES ---------- */
.cat-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.cat-tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.cat-tile:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.cat-tile .cimg{aspect-ratio:4/3;overflow:hidden;background:#fff}
.cat-tile .cimg img{width:100%;height:100%;object-fit:cover;transition:.4s}
.cat-tile:hover .cimg img{transform:scale(1.07)}
.cat-tile .cbody{padding:14px 14px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.cat-tile h3{font-size:.95rem;font-weight:600;color:var(--navy)}
.cat-tile p{font-size:.74rem;color:var(--muted);margin-top:3px;line-height:1.3}
.cat-tile .arrow{width:30px;height:30px;border-radius:50%;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.2s}
.cat-tile:hover .arrow{background:var(--orange)}
.cat-tile .arrow svg{width:16px;height:16px;fill:var(--navy);transition:.2s}
.cat-tile:hover .arrow svg{fill:#fff}
@media(max-width:1024px){.cat-tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.cat-tiles{grid-template-columns:1fr 1fr;gap:12px}}

/* ---------- PRODUCT CARDS ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.prod-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;
  transition:.25s;display:flex;flex-direction:column;position:relative}
.prod-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.prod-card .thumb{aspect-ratio:1;background:#fff;position:relative;display:flex;align-items:center;justify-content:center;padding:16px}
.prod-card .thumb img{width:100%;height:100%;object-fit:contain;transition:.4s}
.prod-card:hover .thumb img{transform:scale(1.05)}
.badge-disc{position:absolute;top:12px;left:12px;background:var(--orange);color:#fff;font-family:var(--font-display);
  font-weight:700;font-size:.78rem;padding:4px 9px;border-radius:20px;z-index:2}
.wish{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:#fff;
  box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;z-index:2;transition:.2s}
.wish svg{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2}
.wish:hover{background:var(--orange-soft)}.wish:hover svg{stroke:var(--orange)}
.wish.on svg{fill:var(--orange);stroke:var(--orange)}
.prod-card .body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;border-top:1px solid var(--panel)}
.prod-card .brand{font-size:.68rem;letter-spacing:.06em;color:var(--muted);font-weight:700;text-transform:uppercase;margin-bottom:5px}
.prod-card .name{font-family:var(--font-body);font-weight:600;color:var(--ink);font-size:.9rem;line-height:1.35;
  margin-bottom:12px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.prod-card .price-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.prod-card .price-now{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--ink)}
.prod-card .price-old{font-size:.82rem;color:var(--muted);text-decoration:line-through}
.prod-card .tax{font-size:.66rem;color:var(--muted);width:100%;margin-top:2px}
.prod-card .add-icon{position:absolute;bottom:16px;right:16px;width:44px;height:44px;border-radius:50%;
  background:var(--orange);display:flex;align-items:center;justify-content:center;transition:.2s;box-shadow:var(--shadow-sm)}
.prod-card .add-icon:hover{background:var(--orange-dark);transform:scale(1.08)}
.prod-card .add-icon svg{width:20px;height:20px;fill:#fff}
.prod-card .body{padding-right:70px}

/* ---------- PROMO BAND ---------- */
.promo-band{position:relative;background:linear-gradient(100deg,var(--navy-3),var(--navy-2));border-radius:var(--radius-lg);
  overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;color:#fff}
.promo-band .pb-txt{padding:44px 48px;position:relative;z-index:2}
.promo-band .pb-eyebrow{display:inline-flex;gap:8px;align-items:center;font-family:var(--font-display);font-weight:600;
  letter-spacing:.1em;font-size:.78rem;text-transform:uppercase;margin-bottom:12px;color:#cfe0ea}
.promo-band .pb-eyebrow b{color:var(--orange)}
.promo-band h2{color:#fff;font-size:clamp(1.8rem,3.5vw,2.7rem);margin-bottom:8px}
.promo-band h2 span{color:var(--orange)}
.promo-band p{color:#c6d5df;margin-bottom:20px;font-size:.95rem}
.promo-band .pb-img{position:absolute;right:0;top:0;bottom:0;width:46%;
  background:url('../img/site/lavavajillas.png') center/cover no-repeat;opacity:.9}
.promo-band .pb-img::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy-2),transparent 60%)}
@media(max-width:768px){.promo-band{grid-template-columns:1fr}.promo-band .pb-img{display:none}.promo-band .pb-txt{padding:34px 26px}}

/* ---------- FEATURES ---------- */
.features{background:#fff;border-top:1px solid var(--line)}
.features .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:38px 24px}
.feature{display:flex;gap:14px;align-items:flex-start}
.feature .fico{width:44px;height:44px;border-radius:10px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.feature .fico svg{width:24px;height:24px;fill:var(--orange)}
.feature b{display:block;color:var(--ink);font-family:var(--font-display);font-size:.95rem;font-weight:600;margin-bottom:2px}
.feature span{font-size:.82rem;color:var(--muted)}
@media(max-width:860px){.features .wrap{grid-template-columns:1fr 1fr;gap:20px}}
@media(max-width:520px){.features .wrap{grid-template-columns:1fr}}

/* ---------- SEO CONTENT + BLOQUES ---------- */
.seo-content{max-width:900px;margin:0 auto}
.seo-content h2{font-size:1.9rem;margin:0 0 18px}
.seo-content h3{font-size:1.25rem;margin:28px 0 10px;color:var(--navy)}
.seo-content p{margin-bottom:16px}
.seo-content a{color:var(--orange);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.seo-blocks{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.seo-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 28px;border-top:4px solid var(--orange);transition:.2s}
.seo-block:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.seo-block h3{font-size:1.2rem;margin-bottom:12px;color:var(--navy)}
.seo-block p{font-size:.92rem;color:var(--body-txt);margin-bottom:18px}
.seo-block a{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--orange);transition:.2s}
.seo-block a:hover{gap:12px}
@media(max-width:768px){.seo-blocks{grid-template-columns:1fr}}

/* ---------- FRANJA FACHADA ---------- */
.fachada{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;background:var(--navy-3);color:#fff;overflow:hidden;border-radius:var(--radius-lg)}
.fachada .fimg{height:100%;min-height:400px;background-size:cover;background-position:center}
.fachada .ftxt{padding:52px 48px}
.fachada .ftxt .kicker{color:var(--orange);font-family:var(--font-display);letter-spacing:.14em;font-size:.8rem;font-weight:600;text-transform:uppercase;margin-bottom:14px}
.fachada .ftxt h2{color:#fff;font-size:2rem;margin-bottom:16px}
.fachada .ftxt p{color:#c6d5df;margin-bottom:14px}
@media(max-width:768px){.fachada{grid-template-columns:1fr}.fachada .fimg{min-height:240px}.fachada .ftxt{padding:34px 24px}}

/* ---------- REVIEWS ---------- */
.reviews{background:var(--navy-3);color:#e5edf2}
.reviews h2{color:#fff}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rev{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:24px}
.rev .stars{color:var(--gold);font-size:1rem;letter-spacing:2px;margin-bottom:10px}
.rev p{font-size:.9rem;color:#d3dde4;margin-bottom:14px}
.rev .who{font-weight:700;color:#fff;font-size:.9rem}
.rev .src{font-size:.75rem;color:#9fb2be}
.rev-score{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:34px}
.rev-score .num{font-family:var(--font-display);font-size:2.6rem;color:var(--gold);font-weight:700}
.rev-score .meta{text-align:left;color:#c6d5df;font-size:.85rem}
@media(max-width:860px){.rev-grid{grid-template-columns:1fr}}

/* ---------- FLOATING ---------- */
.float-wa{position:fixed;bottom:24px;left:24px;width:56px;height:56px;border-radius:50%;background:#25d366;
  box-shadow:var(--shadow-lg);z-index:300;display:flex;align-items:center;justify-content:center;transition:.25s}
.float-wa:hover{transform:scale(1.1)}.float-wa svg{width:32px;height:32px;fill:#fff}
.to-top{position:fixed;bottom:24px;right:24px;width:50px;height:50px;border-radius:50%;background:var(--navy);
  z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s;box-shadow:var(--shadow)}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.to-top:hover{background:var(--orange)}.to-top svg{width:22px;height:22px;fill:#fff}

/* ---------- LIVE SEARCH ---------- */
.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:70vh;overflow-y:auto;z-index:250;display:none}
.search-results.open{display:block}
.sr-item{display:flex;gap:12px;padding:11px 14px;border-bottom:1px solid var(--panel);align-items:center;transition:.15s}
.sr-item:hover{background:var(--blue-soft)}
.sr-item img{width:46px;height:46px;object-fit:contain;flex-shrink:0}
.sr-item .sr-n{font-size:.82rem;color:var(--ink);font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sr-item .sr-p{font-family:var(--font-display);color:var(--orange);font-weight:700;font-size:.95rem;margin-left:auto;white-space:nowrap}
.sr-foot{padding:12px 14px;text-align:center;background:var(--panel);font-family:var(--font-display);
  font-size:.82rem;color:var(--navy);font-weight:600}
.sr-empty{padding:26px;text-align:center;color:var(--muted);font-size:.9rem}

/* ---------- MINI-CART DRAWER ---------- */
.mc-backdrop{position:fixed;inset:0;background:rgba(10,44,62,.5);z-index:400;opacity:0;visibility:hidden;transition:.3s}
.mc-backdrop.open{opacity:1;visibility:visible}
.minicart{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:#fff;z-index:401;
  transform:translateX(100%);transition:.32s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}
.minicart.open{transform:translateX(0)}
.mc-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line);background:var(--navy);color:#fff}
.mc-head h3{color:#fff;font-size:1.15rem;display:flex;gap:10px;align-items:center}
.mc-head .mc-close{color:#fff;font-size:1.6rem;line-height:1;width:34px;height:34px;border-radius:50%;transition:.2s}
.mc-head .mc-close:hover{background:rgba(255,255,255,.15)}
.mc-items{flex:1;overflow-y:auto;padding:8px 0}
.mc-row{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:14px 22px;border-bottom:1px solid var(--panel);align-items:center}
.mc-row img{width:64px;height:64px;object-fit:contain;border:1px solid var(--panel);border-radius:var(--radius);padding:5px}
.mc-row .mc-n{font-size:.82rem;font-weight:600;color:var(--ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mc-row .mc-qp{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}
.mc-qty{display:flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.mc-qty button{width:28px;height:28px;color:var(--navy);font-size:1rem;background:var(--panel)}
.mc-qty span{width:34px;text-align:center;font-size:.85rem;line-height:28px;font-weight:600}
.mc-row .mc-price{font-family:var(--font-display);color:var(--orange);font-weight:700;font-size:.95rem;white-space:nowrap}
.mc-row .mc-del{color:var(--muted);font-size:1.2rem;line-height:1;align-self:flex-start}
.mc-row .mc-del:hover{color:var(--orange)}
.mc-foot{border-top:1px solid var(--line);padding:20px 22px;background:var(--bg)}
.mc-foot .mc-sub{display:flex;justify-content:space-between;margin-bottom:6px;font-size:.9rem}
.mc-foot .mc-total{display:flex;justify-content:space-between;font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--ink);margin-bottom:4px}
.mc-foot .mc-tax{font-size:.75rem;color:var(--muted);margin-bottom:16px}
.mc-foot .btn{width:100%;justify-content:center;margin-bottom:10px}
.mc-empty{text-align:center;padding:70px 24px;color:var(--muted)}
.mc-empty svg{width:60px;height:60px;fill:var(--line);margin-bottom:16px}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--navy-3);color:#a9bcc8;padding:56px 0 0;font-size:.9rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:36px;padding-bottom:40px}
.site-footer h4{color:#fff;font-size:1rem;margin-bottom:18px}
.site-footer .flogo{height:64px;margin-bottom:16px}
.site-footer ul{list-style:none}.site-footer li{margin-bottom:10px}
.site-footer a:hover{color:var(--orange)}
.foot-contact div{display:flex;gap:10px;margin-bottom:12px;align-items:flex-start}
.foot-contact svg{width:18px;height:18px;fill:var(--orange);flex-shrink:0;margin-top:2px}
.newsletter form{display:flex;margin:14px 0 18px}
.newsletter input{flex:1;border:none;border-radius:var(--radius) 0 0 var(--radius);padding:.75em 1em;font-family:inherit;font-size:.88rem}
.newsletter button{background:var(--orange);border-radius:0 var(--radius) var(--radius) 0;width:52px;display:flex;align-items:center;justify-content:center}
.newsletter button:hover{background:var(--orange-dark)}.newsletter button svg{width:20px;height:20px;fill:#fff}
.socials{display:flex;gap:10px}
.socials a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:.2s}
.socials a:hover{background:var(--orange)}.socials svg{width:18px;height:18px;fill:#fff}
.pay-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.pay-badges span{background:rgba(255,255,255,.07);padding:6px 10px;border-radius:var(--radius);font-size:.72rem;color:#cfdae2}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;color:#7f92a0}
.foot-bottom a{color:var(--orange);font-weight:600}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* ---------- SHOP ---------- */
.shop-layout{display:grid;grid-template-columns:280px 1fr;gap:34px;align-items:start}
.shop-side{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;position:sticky;top:120px}
.shop-side h3{font-size:1rem;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--orange)}
.cat-filter{max-height:460px;overflow-y:auto}
.cat-filter a{display:flex;justify-content:space-between;padding:8px 0;font-size:.86rem;color:var(--body-txt);border-bottom:1px solid var(--panel);transition:.15s}
.cat-filter a:hover,.cat-filter a.active{color:var(--orange);font-weight:600;padding-left:6px}
.cat-filter a .n{color:var(--muted);font-size:.78rem}
.shop-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.shop-top .count{font-size:.9rem;color:var(--muted)}
.shop-top select{border:2px solid var(--line);border-radius:var(--radius);padding:.55em 1em;font-family:inherit;font-size:.88rem;background:#fff}
.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:18px}
.breadcrumb a{color:var(--orange)}.breadcrumb a:hover{text-decoration:underline}
.pagination{display:flex;gap:6px;justify-content:center;margin-top:46px;flex-wrap:wrap}
.pagination button{min-width:42px;height:42px;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-display);font-weight:600;color:var(--navy);background:#fff;transition:.2s}
.pagination button:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}
.pagination button.active{background:var(--orange);color:#fff;border-color:var(--orange)}
.pagination button:disabled{opacity:.4;cursor:default}
.page-hero{background:#fff;padding:38px 0 32px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(1.7rem,3.5vw,2.5rem)}
.page-hero p{color:var(--muted);margin-top:8px;max-width:680px}

/* ---------- PDP ---------- */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.pdp-gallery{position:sticky;top:120px}
.pdp-main{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);height:480px;display:flex;align-items:center;justify-content:center;padding:26px;position:relative}
.pdp-main img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
@media(max-width:900px){.pdp-main{height:340px}}
.pdp-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pdp-thumbs img{width:70px;height:70px;object-fit:contain;border:1px solid var(--line);border-radius:var(--radius);padding:6px;cursor:pointer;background:#fff;transition:.2s}
.pdp-thumbs img:hover,.pdp-thumbs img.active{border-color:var(--orange)}
.pdp-info .cat-tag{color:var(--orange);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.pdp-info h1{font-size:clamp(1.5rem,3vw,2rem);line-height:1.18;margin-bottom:14px}
.pdp-sku{font-size:.82rem;color:var(--muted);margin-bottom:18px}
.pdp-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}
.pdp-price .now{font-family:var(--font-display);font-size:2.3rem;color:var(--ink);font-weight:700}
.pdp-price .old{font-size:1.1rem;color:var(--muted);text-decoration:line-through}
.pdp-price .disc{background:var(--orange);color:#fff;font-family:var(--font-display);padding:4px 10px;border-radius:20px;font-size:.9rem;font-weight:700}
.pdp-price .tax{width:100%;font-size:.8rem;color:var(--muted);margin-top:4px}
.pdp-buy{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.qty{display:flex;border:2px solid var(--line);border-radius:var(--radius);overflow:hidden}
.qty button{width:42px;height:50px;font-size:1.2rem;color:var(--navy);background:#fff}
.qty input{width:54px;text-align:center;border:none;font-size:1rem;font-family:var(--font-display)}
.pdp-meta{display:flex;flex-direction:column;gap:11px;font-size:.88rem;margin-top:22px;background:var(--panel);padding:18px;border-radius:var(--radius-lg)}
.pdp-meta div{display:flex;gap:10px;align-items:center;color:var(--body-txt)}
.pdp-meta svg{width:20px;height:20px;fill:var(--orange);flex-shrink:0}
.pdp-desc{margin-top:56px;max-width:940px}
.pdp-desc h2{font-size:1.5rem;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--orange)}
.pdp-desc :is(p,li){margin-bottom:12px}.pdp-desc ul{margin-left:20px}
.pdp-attrs{width:100%;border-collapse:collapse;margin-top:16px}
.pdp-attrs th,.pdp-attrs td{text-align:left;padding:10px 14px;border:1px solid var(--line);font-size:.88rem}
.pdp-attrs th{background:var(--panel);font-family:var(--font-display);width:38%}

/* ---------- CART / CHECKOUT ---------- */
.cart-layout,.checkout-grid{display:grid;grid-template-columns:1fr 370px;gap:34px;align-items:start}
.cart-items{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.cart-row{display:grid;grid-template-columns:88px 1fr auto auto;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--panel)}
.cart-row:last-child{border-bottom:none}
.cart-row img{width:88px;height:88px;object-fit:contain;border:1px solid var(--panel);border-radius:var(--radius);padding:6px}
.cart-row .ci-name{font-weight:600;color:var(--ink);font-size:.92rem;line-height:1.35}
.cart-row .ci-sku{font-size:.75rem;color:var(--muted);margin-top:4px}
.cart-row .ci-price{font-family:var(--font-display);color:var(--orange);font-weight:700;font-size:1.1rem;white-space:nowrap}
.cart-row .ci-old{font-size:.78rem;color:var(--muted);text-decoration:line-through;display:block}
.ci-remove{color:var(--muted);font-size:1.4rem;line-height:1;padding:4px 8px}.ci-remove:hover{color:var(--orange)}
.cart-summary{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;position:sticky;top:120px}
.cart-summary h3{font-size:1.2rem;margin-bottom:18px;padding-bottom:12px;border-bottom:2px solid var(--orange)}
.sum-row{display:flex;justify-content:space-between;padding:9px 0;font-size:.92rem;color:var(--body-txt)}
.sum-row.total{border-top:2px solid var(--line);margin-top:10px;padding-top:16px;font-family:var(--font-display);font-size:1.5rem;color:var(--ink);font-weight:700}
.cart-empty{text-align:center;padding:80px 20px;color:var(--muted)}
.cart-empty svg{width:64px;height:64px;fill:var(--line);margin-bottom:20px}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;margin-bottom:22px}
.form-card h3{font-size:1.15rem;margin-bottom:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}
.field label{font-size:.82rem;font-weight:600;color:var(--ink)}.field label .req{color:var(--orange)}
.field input,.field select,.field textarea{border:2px solid var(--line);border-radius:var(--radius);padding:.7em .9em;font-family:inherit;font-size:.92rem;transition:.2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orange)}
.field input.err{border-color:#c0392b}
.pay-opts{display:flex;flex-direction:column;gap:12px}
.pay-opt{display:flex;gap:12px;align-items:flex-start;border:2px solid var(--line);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:.2s}
.pay-opt.sel{border-color:var(--orange);background:var(--orange-soft)}
.pay-opt input{margin-top:3px}
.pay-opt .po-t{font-weight:600;color:var(--ink);font-size:.92rem}
.pay-opt .po-d{font-size:.8rem;color:var(--muted);margin-top:2px}
.guest-banner{background:var(--blue-soft);border:1px solid #d4e6f0;border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:22px;display:flex;gap:12px;align-items:center;font-size:.9rem;color:var(--navy)}
.guest-banner svg{width:24px;height:24px;fill:var(--orange);flex-shrink:0}
@media(max-width:900px){.cart-layout,.checkout-grid,.form-grid{grid-template-columns:1fr}
  .cart-summary{position:static}.cart-row{grid-template-columns:64px 1fr auto;gap:10px}.cart-row img{width:64px;height:64px}}

/* ---------- CUENTA ---------- */
.auth-wrap{max-width:920px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px}
.auth-card h2{font-size:1.4rem;margin-bottom:8px}
.auth-card p.sub{color:var(--muted);font-size:.9rem;margin-bottom:20px}
.notice{background:var(--orange-soft);border:1px solid #f6d5c5;color:var(--orange-dark);padding:14px 18px;border-radius:var(--radius);font-size:.88rem;margin-bottom:20px}
@media(max-width:768px){.auth-wrap{grid-template-columns:1fr}}

/* ---------- LEGAL ---------- */
.legal{max-width:900px;margin:0 auto}
.legal-body{margin-top:24px;font-size:.95rem}
.legal-body :is(h2,h3){font-family:var(--font-display);margin:26px 0 10px;color:var(--ink)}
.legal-body p,.legal-body li{margin-bottom:12px}.legal-body ul,.legal-body ol{margin-left:22px}
.legal-body a{color:var(--orange);text-decoration:underline}
.legal-body table{width:100%;border-collapse:collapse;margin:16px 0}
.legal-body td,.legal-body th{border:1px solid var(--line);padding:8px 12px;font-size:.85rem}

/* ---------- RESPONSIVE NAV ---------- */
.nav-backdrop{display:none}
@media(max-width:900px){
  .header-search{max-width:none}
}
@media(max-width:768px){
  .site-header .wrap{flex-wrap:wrap;height:auto;gap:12px;padding-top:12px;padding-bottom:12px}
  .logo img{height:56px}
  .header-search{display:flex;order:5;flex-basis:100%;max-width:none}
  .burger{display:flex}
  .mainnav{display:none;position:fixed;top:0;left:0;bottom:0;width:84%;max-width:330px;z-index:410;overflow-y:auto;padding-top:14px}
  .mainnav.open{display:block}
  .mainnav .wrap{flex-direction:column;align-items:stretch;padding:0}
  .mainnav .nav-scroll{flex-direction:column;overflow:visible}
  .mainnav a{padding:15px 22px;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-contacto{margin:0;padding:14px 22px}.nav-contacto a{text-align:center;justify-content:center}
  .has-dropdown{width:100%}
  .dropdown{position:static;display:none;box-shadow:none;border:none;border-top:none;min-width:0;background:rgba(255,255,255,.06);padding:0}
  .has-dropdown.open>.dropdown{display:block}
  .has-dropdown>.nav-fam{justify-content:space-between}
  .has-dropdown>.nav-fam .caret{transition:.2s}
  .has-dropdown.open>.nav-fam .caret{transform:rotate(180deg)}
  .has-dropdown.open>.nav-fam{background:rgba(232,99,42,.18);color:#fff}
  .dropdown a{border-bottom:1px solid rgba(255,255,255,.06);color:#cfe0ea!important;padding-left:40px!important}
  .nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:405}
  .nav-backdrop.open{display:block}
  .prod-grid{grid-template-columns:1fr 1fr;gap:14px}
  section{padding:44px 0}
  .header-actions .lbl{display:none}
  .minicart{width:100%}
}
@media(max-width:460px){
  .prod-grid{grid-template-columns:1fr 1fr;gap:10px}
  .prod-card .name{font-size:.8rem}
  .wrap{padding:0 16px}
}

/* ========== PÁGINAS (Nosotros/Servicios/Contacto) ========== */
.pg-hero{position:relative;color:#fff;padding:70px 0;overflow:hidden;background:var(--navy-3)}
.pg-hero::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:.4}
.pg-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,44,62,.92),rgba(10,44,62,.55))}
.pg-hero .wrap{position:relative;z-index:2}
.pg-hero .kicker{color:var(--orange);font-family:var(--font-display);letter-spacing:.14em;font-size:.8rem;font-weight:600;text-transform:uppercase;margin-bottom:12px}
.pg-hero h1{color:#fff;font-size:clamp(2rem,4vw,3rem)}
.pg-hero p{color:#dbe6ed;max-width:620px;margin-top:12px;font-size:1.05rem}
.pg-intro{max-width:820px;margin:0 auto;text-align:center;font-size:1.15rem;color:var(--body-txt);padding:52px 24px 20px}
.pg-sec{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin:44px 0}
.pg-sec .pg-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3}
.pg-sec .pg-img img{width:100%;height:100%;object-fit:cover}
.pg-sec.left .pg-img{order:-1}
.pg-sec h2{font-size:1.7rem;margin-bottom:14px;position:relative;padding-left:16px}
.pg-sec h2::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:5px;background:var(--orange);border-radius:3px}
.pg-sec p{color:var(--body-txt)}
@media(max-width:820px){.pg-sec{grid-template-columns:1fr;gap:20px}.pg-sec.left .pg-img{order:0}}
.pg-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;background:var(--navy);border-radius:var(--radius-lg);padding:36px;margin:40px 0;color:#fff}
.pg-stats .st{text-align:center}
.pg-stats .st b{display:block;font-family:var(--font-display);font-size:2rem;color:var(--orange);font-weight:800}
.pg-stats .st span{font-size:.85rem;color:#c6d5df}
@media(max-width:640px){.pg-stats{grid-template-columns:1fr 1fr;gap:24px;padding:28px}}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 26px;transition:.25s}
.svc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.svc-card .sico{width:54px;height:54px;border-radius:12px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.svc-card .sico svg{width:28px;height:28px;fill:var(--orange)}
.svc-card h3{font-size:1.15rem;margin-bottom:10px}
.svc-card p{font-size:.92rem;color:var(--body-txt)}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}}
.pg-cta{background:linear-gradient(100deg,var(--navy-3),var(--navy-2));border-radius:var(--radius-lg);padding:48px;text-align:center;color:#fff;margin:50px 0}
.pg-cta h2{color:#fff;font-size:1.8rem;margin-bottom:10px}
.pg-cta p{color:#c6d5df;max-width:640px;margin:0 auto 22px}
.contacto-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:34px;align-items:start}
.contacto-info{background:var(--navy-3);color:#fff;border-radius:var(--radius-lg);padding:36px}
.contacto-info h3{color:#fff;margin-bottom:20px}
.contacto-info .ci{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.contacto-info .ci svg{width:24px;height:24px;fill:var(--orange);flex-shrink:0}
.contacto-info .ci b{display:block;color:#fff;font-family:var(--font-display)}
.contacto-info .ci a,.contacto-info .ci span{color:#c6d5df}
.contacto-info .ci a:hover{color:var(--orange)}
@media(max-width:820px){.contacto-grid{grid-template-columns:1fr}}
/* imágenes dentro de contenido legal/blog */
.legal-body img{border-radius:var(--radius-lg);margin:16px 0;box-shadow:var(--shadow-sm)}
.blog-hero-img{width:100%;max-height:420px;object-fit:cover;border-radius:var(--radius-lg);margin-bottom:24px}
/* tarjeta blog con imagen */
.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.blog-card .bimg{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(120deg,var(--navy),var(--navy-2))}
.blog-card .bimg img{width:100%;height:100%;object-fit:cover;transition:.4s}
.blog-card:hover .bimg img{transform:scale(1.06)}
.blog-card .bph{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.blog-card .bph img{width:80px;height:80px;object-fit:contain;filter:brightness(0) invert(1);opacity:.5}
.blog-card .bbody{padding:20px 22px;display:flex;flex-direction:column;flex:1}
.blog-card .bdate{font-size:.72rem;letter-spacing:.05em;color:var(--orange);font-weight:700;text-transform:uppercase;margin-bottom:8px}
.blog-card h3{font-size:1.05rem;line-height:1.35;margin-bottom:10px;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card p{font-size:.85rem;color:var(--muted);flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card .more{color:var(--orange);font-weight:600;font-size:.85rem;margin-top:14px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}

/* ========== TOP BAR · nav secundaria ========== */
.topbar .tb-sec{display:flex;gap:20px;align-items:center}
.topbar .tb-sec a{font-weight:500}
@media(max-width:860px){.topbar .tb-sec{display:none}}

/* ========== MEGA-MENÚ de familias ========== */
.mainnav .nav-all{font-weight:700}
.mainnav .nav-all svg{width:16px;height:16px;fill:currentColor;margin-right:7px}
.mainnav .nav-fam{gap:5px}
.mainnav .nav-fam .caret{font-size:.7em;opacity:.7}
.nav-mega{min-width:300px;padding:10px 0}
.nav-mega.cols2{min-width:540px;grid-template-columns:1fr 1fr;grid-auto-flow:row dense}
.nav-mega a .n{color:var(--muted);font-size:.78em;font-weight:600;background:var(--panel);border-radius:20px;padding:1px 8px}
.nav-mega a:hover .n{background:#fff}
.nav-mega .mega-all{grid-column:1/-1;color:var(--orange)!important;font-weight:700!important;border-top:1px solid var(--line);border-bottom:none!important;margin-top:4px}
.nav-mega .mega-all:hover{background:var(--orange-soft)!important}
.nav-mobile-only{display:none}
@media(max-width:768px){
  .nav-mega,.nav-mega.cols2{grid-template-columns:1fr!important;min-width:0}
  .nav-mobile-only{display:block;border-top:2px solid rgba(255,255,255,.12);margin-top:6px}
  .nav-mobile-only a{display:block}
}

/* ========== ACCESIBILIDAD ========== */
.skip-link{position:absolute;left:8px;top:-60px;z-index:9999;background:var(--navy-3);color:#fff;
  padding:10px 18px;border-radius:0 0 8px 8px;font-weight:600;transition:top .2s}
.skip-link:focus{top:0;outline:3px solid var(--gold)}
*:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.btn:focus-visible,.mainnav a:focus-visible{outline:3px solid #fff;outline-offset:-3px}
/* contraste AA en enlaces de texto pequeños (naranja oscuro ~4.6:1) */
.breadcrumb a,.sec-link,.seo-block a,.blog-card .more,.legal-body a,.cat-filter a:hover,
.cat-filter a.active,.pdp-info .cat-tag,.prod-card .cat-tag{color:var(--orange-dark)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ========== ARREGLOS RESPONSIVE (tienda y ficha) ========== */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:900px){
  .shop-layout{grid-template-columns:1fr;gap:20px}
  .shop-side{position:static;top:auto;margin-bottom:8px}
  .shop-side .cat-filter{max-height:none}
  .pdp{grid-template-columns:1fr;gap:26px}
  .pdp-gallery{position:static}
}
@media(max-width:768px){
  .page-hero{padding:26px 0 22px}
  .shop-top{gap:10px}
  .shop-top select{width:100%}
  .breadcrumb{font-size:.78rem}
  .trust-strip .wrap{padding:16px}
}

/* ========== BANNER DE COOKIES ========== */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:600;background:var(--navy-3);color:#e5edf2;
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:18px 22px;display:flex;align-items:center;
  gap:20px;flex-wrap:wrap;max-width:1000px;margin:0 auto}
.cookie-bar .cookie-txt{flex:1;min-width:240px;font-size:.88rem;line-height:1.5}
.cookie-bar a{color:var(--orange);text-decoration:underline}
.cookie-bar .cookie-btns{display:flex;gap:10px}
.cookie-bar .btn-sm{padding:.55em 1.2em;font-size:.85rem}
.cookie-bar .btn-ghost{border-color:#fff;color:#fff}
.cookie-bar .btn-ghost:hover{background:#fff;color:var(--navy)}
@media(max-width:560px){.cookie-bar{flex-direction:column;align-items:stretch}.cookie-bar .cookie-btns{justify-content:flex-end}}
.btn-sm{padding:.55em 1.2em;font-size:.85rem}

/* ==========================================================================
   TEMA NEGRO + DORADO — overrides (logo negro/oro, estética premium oscura)
   Las fotos de producto se mantienen sobre fondo blanco (--stage).
   ========================================================================== */

/* --- Chrome / cabecera --- */
.site-header{background:#000;box-shadow:0 1px 0 var(--line),0 6px 22px rgba(0,0,0,.6)}
.header-search input{background:var(--panel);color:var(--ink);border-color:var(--line)}
.header-search input::placeholder{color:var(--muted)}
.header-actions a{color:var(--body-txt)}
.header-actions svg{fill:var(--ink)}
.header-actions a:hover svg{fill:var(--gold)}
.header-actions a:hover{color:var(--gold)}
.burger span{background:var(--ink)}
.topbar{background:var(--navy-2);color:#c7c7cf}
.topbar a:hover{color:var(--gold)}

/* --- Navegación + mega-menú --- */
.nav-contacto a{background:var(--orange);color:#140f04!important}
.nav-contacto a:hover{background:var(--orange-dark);color:#140f04!important}
.dropdown{background:var(--panel);border-top-color:var(--orange);box-shadow:var(--shadow-lg)}
.dropdown a{color:var(--ink)!important;border-bottom-color:var(--line)}
.dropdown a:hover{background:var(--blue-soft)!important;color:var(--gold)!important}

/* --- Botones --- */
.btn-primary{background:var(--orange);color:#140f04}
.btn-primary:hover{background:var(--orange-dark)}
.btn-ghost{border-color:var(--gold);color:var(--gold)}
.btn-ghost:hover{background:var(--gold);color:#140f04}
.btn-light{border-color:var(--ink);color:var(--ink)}
.btn-light:hover{background:var(--ink);color:#000}

/* --- Fichas de categoría / producto --- */
.bg-white{background:var(--bg)}
.cat-tile{background:var(--panel);border-color:var(--line)}
.cat-tile .cimg{background:var(--stage)}
.cat-tile h3{color:var(--ink)}
.cat-tile .arrow{background:var(--blue-soft)}
.cat-tile .arrow svg{fill:var(--gold)}
.prod-card{background:var(--panel);border-color:var(--line)}
.prod-card .thumb{background:var(--stage)}
.prod-card .body{border-top-color:var(--line)}

/* --- Features / SEO --- */
.features{background:var(--navy-3);border-top-color:var(--line)}
.feature .fico{background:var(--blue-soft)}
.feature b{color:var(--ink)}
.seo-content h3{color:var(--gold)}
.seo-block{background:var(--panel);border-color:var(--line);border-top-color:var(--orange)}
.seo-block h3{color:var(--gold)}

/* --- Buscador en vivo --- */
.search-results{background:var(--panel);border-color:var(--line)}
.sr-item{border-bottom-color:var(--line)}
.sr-item:hover{background:var(--blue-soft)}
.sr-item .sr-n{color:var(--ink)}
.sr-foot{background:var(--navy-3);color:var(--gold)}

/* --- Mini-cesta --- */
.minicart{background:var(--panel)}
.mc-head{background:#000;border-bottom-color:var(--line)}
.mc-row{border-bottom-color:var(--line)}
.mc-row img{background:var(--stage)}
.mc-row .mc-n{color:var(--ink)}
.mc-qty button{background:var(--blue-soft);color:var(--ink)}
.mc-foot{background:var(--navy-3)}

/* --- Tienda (listado) --- */
.page-hero{background:var(--navy-3);border-bottom-color:var(--line)}
.shop-side{background:var(--panel);border-color:var(--line)}
.cat-filter a{color:var(--body-txt);border-bottom-color:var(--line)}
.cat-filter a:hover{color:var(--gold)}
.shop-top select{background:var(--panel);color:var(--ink);border-color:var(--line)}
.pagination button{background:var(--panel);color:var(--ink);border-color:var(--line)}
.pagination button.active{background:var(--orange);color:#140f04;border-color:var(--orange)}

/* --- Ficha de producto --- */
.pdp-main{background:var(--stage)}
.pdp-thumbs img{background:var(--stage);border-color:var(--line)}
.pdp-price .now{color:var(--ink)}
.pdp-meta{background:var(--panel)}
.pdp-attrs th{background:var(--panel)}
.qty button{background:var(--blue-soft);color:var(--ink)}
.qty input{background:var(--panel);color:var(--ink)}

/* --- Carrito / formularios / checkout --- */
.cart-items{background:var(--panel);border-color:var(--line)}
.cart-row{border-bottom-color:var(--line)}
.cart-row img{background:var(--stage)}
.cart-row .ci-name{color:var(--ink)}
.cart-summary{background:var(--panel);border-color:var(--line)}
.form-card,.auth-card{background:var(--panel);border-color:var(--line)}
.field input,.field select,.field textarea{background:var(--panel);color:var(--ink);border-color:var(--line)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.pay-opt{border-color:var(--line)}
.pay-opt.sel{border-color:var(--orange);background:var(--orange-soft)}
.guest-banner{background:var(--blue-soft);border-color:var(--line);color:var(--body-txt)}
.notice{background:var(--orange-soft);border-color:#5a4a1f;color:var(--gold)}

/* --- Botón volver arriba --- */
.to-top{background:var(--panel);border:1px solid var(--line)}
.to-top svg{fill:var(--ink)}
.to-top:hover{background:var(--orange)}
.to-top:hover svg{fill:#140f04}

/* ==========================================================================
   AJUSTES v21 — tarjetas claras, imagen contenida, hamburguesa a la derecha
   ========================================================================== */

/* 1) Imagen de producto SIEMPRE contenida en el cuadro (no se desborda) */
.prod-card .thumb{overflow:hidden}
.prod-card .thumb img{width:auto;height:auto;max-width:100%;max-height:100%}

/* 2) Fondo de las tarjetas de producto/categoría más claro (destacan sobre el grafito) */
.prod-card{background:#f6f4ef;border-color:#e4dfd4}
.prod-card .body{border-top-color:#ece8e0}
.prod-card .name{color:#1b1d22}
.prod-card .price-now{color:#15171c}
.prod-card .brand{color:#7a7266}
.cat-tile{background:#f6f4ef;border-color:#e4dfd4}
.cat-tile h3{color:#1b1d22}
.cat-tile p{color:#6a6256}
.cat-tile .arrow{background:#efeadf}
.cat-tile .arrow svg{fill:var(--orange-dark)}
.cat-tile:hover .arrow{background:var(--orange)}
.cat-tile:hover .arrow svg{fill:#fff}

/* 3) Hamburguesa a la derecha en móvil + menú lateral desde la derecha */
@media(max-width:768px){
  .logo{order:1;margin-right:auto}
  .header-actions{order:2;margin-left:0;gap:18px}
  .burger{display:flex;order:3}
  .header-search{order:5}
  .mainnav{left:auto;right:0}
}

/* v22 — fotos de categoría completas (sin recortar) */
.cat-tile .cimg{background:var(--stage)}
.cat-tile .cimg img{object-fit:contain;padding:16px}

/* v23 — artículos (blog + legales) sobre tarjeta clara (el contenido de WordPress trae texto oscuro) */
.legal{background:#f6f4ef;border:1px solid #e4dfd4;border-radius:14px;padding:32px 38px;color:#23262b}
.legal-body{color:#2a2d33}
.legal-body :is(h1,h2,h3,h4){color:#15161b}
.legal-body a{color:#9c7a2c}
.legal-body img{max-width:100%;height:auto;border-radius:10px}
.legal-body table,.legal-body td,.legal-body th{border-color:#ddd6c8}
.blog-hero-img{width:100%;max-height:430px;object-fit:cover;border-radius:12px;margin-bottom:22px;display:block}
@media(max-width:600px){.legal{padding:22px 18px}}

/* v24 — Categorías de la tienda como DESPLEGABLE en móvil (evita la lista larga) */
.cat-caret{display:none}
@media(max-width:900px){
  .shop-side .cat-toggle{cursor:pointer;display:flex;justify-content:space-between;align-items:center}
  .shop-side .cat-caret{display:inline-block;transition:transform .2s;color:var(--gold);font-size:.9em}
  .shop-side .cat-filter{display:none;margin-top:14px}
  .shop-side.open .cat-filter{display:block}
  .shop-side.open .cat-caret{transform:rotate(180deg)}
}
