@charset "UTF-8";
/* ============================================================
   Curvaser — sistema de diseño (aprobado agosto 2026)
   Una sola hoja. La web anterior cargaba 30.
   ============================================================ */

:root{
  --naranja-texto:#c74600; /* 4,9:1 sobre blanco: para texto naranja accesible */
  --naranja:#e25100;
  --naranja-vivo:#ff5c00;
  --carbon:#171a20;
  --gris:#5c5e62;
  --pill:#f2f2f2;
  --hueso:#f0eeea;
  --linea:#eceae6;
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#fff;font-family:"Montserrat",system-ui,sans-serif;color:var(--carbon);line-height:1.55}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}

.contenedor{width:min(100% - 3rem,1280px);margin-inline:auto}
.entrega-f2{padding:4rem 0}

/* accesibilidad */
.saltar{position:absolute;left:-9999px}
.saltar:focus{left:1rem;top:1rem;z-index:200;background:var(--carbon);color:#fff;padding:.75rem 1rem;border-radius:6px}

/* botones */
.boton,.cta-m{display:inline-block;font-size:.85rem;font-weight:600;color:#fff;background:var(--naranja);padding:.65rem 1.6rem;border-radius:4px}
.boton:hover{background:var(--naranja-vivo)}

/* ============================================================ CABECERA */
header#cabecera{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 rgba(23,26,32,.06)}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  header#cabecera{background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5)}
}
.barra{display:flex;align-items:center;width:100%;max-width:1380px;margin:0 auto;padding:.55rem clamp(1.5rem,4vw,3.5rem);min-height:56px}
.logo{flex:0 0 220px;display:flex;align-items:center}
.logo img{height:44px;width:auto;display:block}

.nav-principal{flex:1;display:flex;justify-content:center;gap:.25rem}
.nav-principal>a{
  font-size:.86rem;font-weight:500;letter-spacing:.01em;
  padding:.45rem .95rem;border-radius:6px;transition:background .15s;
  display:inline-flex;align-items:center;
}
.nav-principal>a:hover{background:var(--pill)}

.der{flex:0 0 220px;display:flex;justify-content:flex-end;align-items:center;gap:.35rem}
.icono{
  width:36px;height:36px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  color:var(--carbon);transition:background .15s;
}
.icono:hover{background:var(--pill)}

/* telón */
.telon{
  position:fixed;inset:0;z-index:40;
  background:rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;transition:opacity .2s;
}

/* megas */
.mega{
  position:absolute;left:0;right:0;top:100%;z-index:60;background:#fff;
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .3s ease,opacity .18s;
  box-shadow:0 30px 40px rgba(23,26,32,.08);
}
.mega-inner{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr 1fr 230px;gap:2rem;
  padding:2.2rem 1.6rem 2.4rem;
}
.prod{position:relative;display:block;border-radius:8px;overflow:hidden;aspect-ratio:16/9;background:#eee}
.prod img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale .35s ease}
.prod:hover img{scale:1.04}
.prod::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,14,13,.82) 0%,rgba(15,14,13,.38) 30%,transparent 56%)}
.prod .mega-h3{
  position:absolute;left:1rem;bottom:.75rem;z-index:2;margin:0;
  color:#fff;font-size:1.12rem;font-weight:600;letter-spacing:-.01em;
  text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.lateral{border-left:1px solid #e8e8e8;padding-left:2rem;display:flex;flex-direction:column;justify-content:center}
.lateral ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}
.lateral a{display:block;font-size:.85rem;font-weight:500;padding:.5rem .7rem;border-radius:6px}
.lateral a:hover{background:var(--pill)}

.mega-cols{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,minmax(150px,190px));gap:4.5rem;
  justify-content:center;padding:2.4rem 1.6rem 2.8rem;
}
.mega-cols .col{display:flex;flex-direction:column;gap:.35rem}
.mega-cols .col .mega-h4{margin:0 0 .3rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.mega-cols h4{margin:0 0 .5rem;font-size:.72rem;font-weight:500;color:var(--gris);letter-spacing:.02em}
.mega-cols .col a{font-size:.83rem;font-weight:500;color:var(--carbon);padding:.28rem 0}
.mega-cols .col a:hover{text-decoration:underline;text-underline-offset:4px}

/* apertura por hover/focus (con respaldo .abierto desde JS) */
header#cabecera:has(.abre-maq:hover) .mega-maq,
header#cabecera:has(.mega-maq:hover) .mega-maq,
header#cabecera:has(.abre-maq:focus) .mega-maq,
.mega-maq.abierto{max-height:340px;opacity:1}
header#cabecera:has(.abre-srv:hover) .mega-srv,
header#cabecera:has(.mega-srv:hover) .mega-srv,
header#cabecera:has(.abre-srv:focus) .mega-srv,
.mega-srv.abierto{max-height:340px;opacity:1}
header#cabecera:has(.abre-cv:hover) .mega-cv,
header#cabecera:has(.mega-cv:hover) .mega-cv,
header#cabecera:has(.abre-cv:focus) .mega-cv,
.mega-cv.abierto{max-height:340px;opacity:1}
body:has(.abre-maq:hover) .telon,body:has(.mega-maq:hover) .telon,
body:has(.abre-srv:hover) .telon,body:has(.mega-srv:hover) .telon,
body:has(.abre-cv:hover) .telon,body:has(.mega-cv:hover) .telon{opacity:1;visibility:visible}

/* ============================================================ MENÚ MÓVIL */
.menu-movil{display:none}
.hamb{display:none}

@media (max-width:820px){
  .barra{padding:.5rem 1rem;gap:.6rem;justify-content:space-between}
  .logo{flex:0 1 auto}
  .logo img{height:36px}
  .nav-principal{display:none}
  .der{flex:0 0 auto;gap:.3rem}
  .der .icono:not(:last-of-type){display:none}
  .mega{display:none}

  .hamb{
    display:block;position:relative;width:42px;height:42px;
    background:none;border:0;cursor:pointer;padding:0;
  }
  .hamb span{
    position:absolute;right:8px;height:2.4px;border-radius:2px;
    background:var(--carbon);transition:all .3s cubic-bezier(.6,0,.2,1);
  }
  .hamb .b1{width:24px;top:16px}
  .hamb .b2{width:15px;top:24px}
  body.menu-abierto .hamb .b1{width:24px;top:20px;rotate:45deg;background:var(--naranja)}
  body.menu-abierto .hamb .b2{width:24px;top:20px;rotate:-45deg;background:var(--naranja)}

  body.menu-abierto{overflow:hidden}
  body.menu-abierto .menu-movil{display:block}
  body.menu-abierto header#cabecera{background:var(--carbon)}
  body.menu-abierto .logo img{filter:brightness(0) invert(1)}
  body.menu-abierto .der .icono{color:#f2f0ec}

  .menu-movil{
    position:fixed;inset:56px 0 0 0;z-index:80;background:var(--carbon);color:#f2f0ec;
    overflow-y:auto;padding:1.4rem 1.5rem 3rem;
  }
  @keyframes mmIn{from{opacity:0;translate:0 14px}}
  body.menu-abierto .menu-movil>*{animation:mmIn .45s cubic-bezier(.2,.7,.3,1)}
  body.menu-abierto .menu-movil>*:nth-child(2){animation-delay:.06s}
  body.menu-abierto .menu-movil>*:nth-child(3){animation-delay:.12s}
  body.menu-abierto .menu-movil>*:nth-child(4){animation-delay:.18s}
  .menu-movil details{border-bottom:1px solid rgba(255,255,255,.09)}
  .menu-movil summary{
    list-style:none;display:flex;align-items:baseline;gap:.9rem;
    padding:1.15rem .1rem;cursor:pointer;
  }
  .menu-movil summary::-webkit-details-marker{display:none}
  .menu-movil summary .tit{
    flex:1;font-size:1.55rem;font-weight:600;letter-spacing:-.02em;color:#f2f0ec;transition:color .2s;
  }
  .menu-movil details[open] summary .tit{color:var(--naranja-vivo)}
  .menu-movil summary::after{content:"+";font-size:1.4rem;font-weight:300;color:rgba(255,255,255,.4)}
  .menu-movil details[open] summary::after{content:"–"}

  .menu-movil .minicards{display:flex;flex-direction:column;gap:.6rem;padding:0 0 1rem 1.2rem}
  .menu-movil .minicard{
    display:flex;align-items:center;gap:.9rem;
    background:#22211f;border-radius:10px;padding:.5rem;overflow:hidden;
  }
  .menu-movil .minicard img{width:74px;height:52px;object-fit:cover;border-radius:7px;flex-shrink:0}
  .menu-movil .minicard b{font-size:.98rem;font-weight:600;color:#fff}
  .menu-movil .minicard .flecha{margin-left:auto;margin-right:.5rem;color:var(--naranja-vivo)}
  .menu-movil .resto-m,.menu-movil .lista-m{padding:0 0 1.2rem 1.2rem}
  .menu-movil .resto-m ul,.menu-movil .lista-m ul{list-style:none;margin:0;padding:0}
  .menu-movil .resto-m a,.menu-movil .lista-m a{display:block;padding:.45rem 0;font-size:1rem;color:rgba(255,255,255,.72)}
  .menu-movil .lista-m .mega-cols{display:block;padding:0;max-width:none}
  .menu-movil .lista-m .mega-cols h4{color:rgba(255,255,255,.4);margin-top:.7rem}
  .menu-movil .lista-m .mega-cols .col a{color:rgba(255,255,255,.72);font-size:1rem;padding:.35rem 0}

  .menu-movil .contacto-m{margin-top:1.8rem;display:flex;flex-direction:column;gap:.7rem}
  .menu-movil .contacto-m a.tel-m{font-size:1.5rem;font-weight:600;color:#fff;letter-spacing:-.01em}
  .menu-movil .contacto-m a.mail-m{font-size:.88rem;color:rgba(255,255,255,.55)}
  .menu-movil .contacto-m .cta-m{margin-top:.6rem;text-align:center;padding:.9rem;border-radius:8px}
  .menu-movil .idioma-m{margin-top:1.5rem;font-size:.85rem;color:rgba(255,255,255,.45)}
  .menu-movil .idioma-m b{color:var(--naranja-vivo)}
}

/* ============================================================ FOOTER */
footer{background:#121110;color:#a5a29c;border-top:1px solid rgba(255,255,255,.07)}
.foot-inner{max-width:1280px;margin:0 auto;padding:3.5rem 1.5rem 2rem;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.3fr;gap:2.5rem}
.foot-marca img{height:30px;width:auto;filter:brightness(0) invert(1);opacity:.92;margin-bottom:.9rem}
.foot-marca p{margin:0;font-size:.8rem;line-height:1.6;max-width:240px}
.foot-social{display:flex;gap:.6rem;margin-top:1.1rem}
.foot-social a{
  width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;color:#a5a29c;
}
.foot-social a:hover{color:#fff;border-color:var(--naranja);background:rgba(226,81,0,.15)}
footer .foot-tit{margin:0 0 .8rem;color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:.4rem 0}
footer li a{font-size:.84rem;color:#a5a29c}
footer li a:hover{color:#fff}
.foot-sedes p{margin:0 0 .9rem;font-size:.8rem;line-height:1.55}
.foot-sedes b{display:block;color:#fff;font-weight:600;font-size:.82rem}
.foot-sedes a{color:#a5a29c}
.foot-sedes a:hover{color:#fff}
.foot-bajo{border-top:1px solid rgba(255,255,255,.08)}
.foot-bajo-inner{max-width:1280px;margin:0 auto;padding:1.1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.74rem}
.foot-bajo-inner .legales ul{display:flex;gap:1.4rem;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.foot-bajo-inner a{color:#8a8781}
.foot-bajo-inner a:hover{color:#fff}
/* barra Lawwwing recolocada junto a Mapa web (la mueve tecnico.js) */
.foot-bajo-inner .legales{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.foot-bajo-inner .legales .lw-footer-wrapper{
  all:unset;display:flex!important;align-items:center;gap:1.4rem;flex-wrap:wrap;
  position:static!important;background:transparent!important;border:0!important;
  margin:0!important;padding:0!important;width:auto!important;box-shadow:none!important;
}
.foot-bajo-inner .legales .lw-footer-wrapper > div{
  all:unset;font:inherit;font-size:.74rem;color:#8a8781;cursor:pointer;white-space:nowrap;
}
.foot-bajo-inner .legales .lw-footer-wrapper > div:hover{color:#fff}
body.lw-integrado > .lw-footer-wrapper{display:none}
@media (max-width:1000px){.foot-inner{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .foot-inner{grid-template-columns:1fr;gap:1.8rem;padding:2.5rem 1.25rem 1.5rem}
  .foot-bajo-inner{flex-direction:column;align-items:flex-start;gap:.6rem}
}

/* ============================================================ HOME */
/* hero de vídeo */
.hero{position:relative;height:62vh;min-height:420px;overflow:hidden;background:#0d0d0c}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(13,13,12,.55) 0%,rgba(13,13,12,.3) 34%,rgba(13,13,12,.3) 64%,rgba(13,13,12,.55) 100%)}
.hero-texto{position:absolute;left:0;right:0;top:50%;translate:0 -50%;z-index:2;text-align:center;padding:0 1.5rem}
.hero-texto h1{margin:0;color:#fff;font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.2;letter-spacing:-.01em}
.hero-texto h1 em{font-family:inherit;font-style:normal;font-weight:inherit}
.hero-texto h1 .fuerte{display:block;font-weight:700;font-size:clamp(2.1rem,4.4vw,3.6rem);letter-spacing:-.02em;margin-top:.15rem}
.hero-texto .sub{margin:1.1rem 0 0;color:rgba(255,255,255,.82);font-size:.92rem}
.hero-texto .sub b{color:#fff}
.hero-ctas{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1.9rem}
.hero-ctas a{min-width:210px;text-align:center;font-size:.8rem;font-weight:600;padding:.6rem 1.4rem;border-radius:4px}
.hero-ctas .principal{background:var(--naranja);color:#fff}
.hero-ctas .principal:hover{background:var(--naranja-vivo)}
.hero-ctas .secundario{background:rgba(255,255,255,.78);color:var(--carbon);backdrop-filter:blur(4px)}
.hero-ctas .secundario:hover{background:#fff}

/* tira de marcas */
.marcas{border-bottom:1px solid var(--linea);background:#fff}
.marcas-tira{max-width:1400px;margin:0 auto;padding:1.1rem 1.5rem;display:flex;align-items:center;gap:2rem}
.marcas .lema{flex-shrink:0;color:var(--gris);font-size:.78rem;font-weight:500;white-space:nowrap}
.marcas-marquesina{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marcas-pista{display:flex;align-items:center;gap:3.4rem;width:max-content;padding:.5rem 0;animation:marquesina 32s linear infinite}
.marcas-pista img{height:52px;width:auto;filter:grayscale(1);opacity:.6;transition:filter .2s,opacity .2s}
.marcas-pista img:hover{filter:none;opacity:1}
.marcas-marquesina:hover .marcas-pista{animation-play-state:paused}
@keyframes marquesina{to{translate:-50% 0}}

/* carrusel de categorías */
.destacadas{max-width:1280px;margin:0 auto;padding:4.5rem 1.5rem 5rem}
.cat-cab{max-width:760px;margin:0 auto 2.4rem;text-align:center;padding:0 1.5rem}
.cat-cab h2{margin:0 0 .2rem;color:var(--carbon);font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:600;letter-spacing:-.015em}
.cat-cab .tipo{margin:0 0 .8rem;color:var(--carbon);font-size:1.15rem;font-weight:600}
.cat-cab .desc{margin:0;color:var(--gris);font-size:.95rem;line-height:1.65}
.destacadas-nav{position:relative}
.destacadas-pista{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.destacadas-pista::-webkit-scrollbar{display:none}
.tcard{position:relative;flex:0 0 calc((100% - 2rem)/3.18);scroll-snap-align:start;border-radius:10px;overflow:hidden;aspect-ratio:4/3.4;display:block;background:#e9e7e3}
.tcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale .35s ease}
.tcard:hover img{scale:1.03}
.tcard::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,14,13,.78) 0%,rgba(15,14,13,.32) 26%,transparent 52%)}
.tcard .mas{position:absolute;top:.9rem;right:.9rem;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--carbon);display:flex;align-items:center;justify-content:center;font-size:1.15rem;transition:background .2s,color .2s}
.tcard:hover .mas{background:var(--naranja);color:#fff}
.tcard p{position:absolute;left:1.1rem;right:1.1rem;bottom:.95rem;z-index:2;margin:0;color:#fff;font-size:1rem;font-weight:600;letter-spacing:-.01em}
.flecha-nav{position:absolute;top:50%;translate:0 -50%;z-index:5;width:42px;height:42px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.94);color:var(--carbon);font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.16);transition:opacity .2s}
.flecha-nav:hover{background:#fff}
.flecha-nav.izq{left:-.6rem}
.flecha-nav.der{right:-.6rem}
.flecha-nav.oculta{opacity:0;visibility:hidden;pointer-events:none}

/* últimos productos */
.novedades{max-width:1280px;margin:0 auto;padding:0 1.5rem 5rem}
.novedades .cab,.ocasion .cab{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.4rem}
.novedades h2{margin:0;color:var(--carbon);font-size:1.4rem;font-weight:600;letter-spacing:-.01em}
.novedades .ver-todo{font-size:.82rem;font-weight:600;color:var(--naranja);white-space:nowrap}
.novedades .ver-todo:hover{color:var(--naranja-vivo)}
.novedades-fila{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.pcard{background:#fff;border:1px solid var(--linea);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,translate .2s}
.pcard:hover{box-shadow:0 12px 28px rgba(23,26,32,.1);translate:0 -2px}
.pcard .foto{aspect-ratio:4/3;overflow:hidden;background:#fff;padding:.7rem}
.pcard .foto img{width:100%;height:100%;object-fit:contain}
.pcard .cuerpo{padding:.95rem 1.1rem 1.1rem}
.pcard .cat{margin:0 0 .2rem;font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.pcard h3{margin:0 0 .15rem;font-size:.95rem;font-weight:600;color:var(--carbon);line-height:1.3}
.pcard .marca{margin:0;font-size:.78rem;color:var(--gris)}

/* ocasión */
.ocasion{background:var(--carbon);padding:4rem 1.5rem 4.5rem}
.ocasion-inner{max-width:1280px;margin:0 auto}
.ocasion h2{margin:0;color:#fff;font-size:1.4rem;font-weight:600;letter-spacing:-.01em}
.ocasion .sub{margin:0 0 1.6rem;color:rgba(255,255,255,.6);font-size:.9rem}
.ocasion .ver-todo{font-size:.82rem;font-weight:600;color:var(--naranja-vivo);white-space:nowrap}
.ocasion .ver-todo:hover{color:#fff}
.ocasion-fila{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.occard{background:#22211f;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:translate .2s}
.occard:hover{translate:0 -2px}
.occard .foto{aspect-ratio:16/10;overflow:hidden;background:#2c2b29}
.occard .foto img{width:100%;height:100%;object-fit:cover}
.occard .cuerpo{padding:1rem 1.2rem 1.2rem}
.occard .tag{display:inline-block;margin:0 0 .45rem;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--naranja-vivo);border:1px solid rgba(255,92,0,.45);border-radius:4px;padding:.18rem .5rem}
.occard h3{margin:0 0 .2rem;font-size:.98rem;font-weight:600;color:#fff;line-height:1.3}
.occard p{margin:0;font-size:.8rem;color:rgba(255,255,255,.55)}

/* servicio 360 */
.servicio{position:relative;overflow:hidden;background:#0d0d0c}
.servicio .fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.servicio::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,12,.88) 0%,rgba(13,13,12,.55) 55%,rgba(13,13,12,.25) 100%)}
.servicio-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:4.5rem 1.5rem}
.servicio h2{margin:0 0 .6rem;color:#fff;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:600;letter-spacing:-.015em;max-width:560px}
.servicio .lead{margin:0 0 2rem;color:rgba(255,255,255,.75);font-size:.95rem;max-width:480px;line-height:1.6}
.servicio-cols{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:2rem;margin:0 0 2.2rem}
.servicio-cols h4{margin:0 0 .3rem;color:#fff;font-size:.9rem;font-weight:600}
.servicio-cols p{margin:0;color:rgba(255,255,255,.6);font-size:.8rem;line-height:1.55}
.servicio .cta360{display:inline-block;font-size:.8rem;font-weight:600;color:#fff;background:var(--naranja);padding:.6rem 1.6rem;border-radius:4px}
.servicio .cta360:hover{background:var(--naranja-vivo)}

/* noticias */
.noticias{background:#f7f7f7;padding:4rem 1.5rem 4.5rem}
.noticias-inner{max-width:1280px;margin:0 auto}
.noticias h2{margin:0 0 2rem;text-align:center;color:var(--carbon);font-size:1.4rem;font-weight:600}
.noticias-fila{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.ncard{background:#fff;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}
.ncard:hover{box-shadow:0 12px 30px rgba(23,26,32,.1)}
.ncard img{width:100%;aspect-ratio:16/9;object-fit:cover}
.ncard .cuerpo{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.ncard :is(h2,h3){margin:0;font-size:1rem;font-weight:600;color:var(--carbon);line-height:1.35}
.ncard p{margin:0;font-size:.84rem;color:var(--gris);line-height:1.55;flex:1}
.ncard .leer{font-size:.82rem;font-weight:600;color:var(--naranja)}
.ncard:hover .leer{color:var(--naranja-vivo)}
.noticias .todas{display:flex;justify-content:center;margin-top:2.2rem}
.noticias .todas a{font-size:.82rem;font-weight:600;color:#fff;background:var(--naranja);padding:.6rem 1.6rem;border-radius:4px}
.noticias .todas a:hover{background:var(--naranja-vivo)}

/* newsletter */
.news{max-width:760px;margin:0 auto;padding:4.5rem 1.5rem 5rem;text-align:center}
.news h2{margin:0 0 .5rem;color:var(--carbon);font-size:1.4rem;font-weight:600}
.news p{margin:0 0 1.6rem;color:var(--gris);font-size:.92rem}
.news form{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}
.news input{flex:1;min-width:220px;max-width:320px;font:inherit;font-size:.88rem;padding:.62rem 1rem;border:1px solid #d9d9d9;border-radius:4px;outline:none}
.news input:focus{border-color:var(--carbon)}
.news button{font:inherit;font-size:.82rem;font-weight:600;color:#fff;background:var(--naranja);border:0;border-radius:4px;padding:.62rem 1.6rem;cursor:pointer}
.news button:hover{background:var(--naranja-vivo)}

/* cta final */
.cta-final{background:var(--naranja);padding:4.5rem 1.5rem 5rem;text-align:center}
.cta-final h2{margin:0 0 .5rem;color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:600;letter-spacing:-.015em}
.cta-final p{margin:0 0 1.8rem;color:rgba(255,255,255,.85);font-size:.95rem}
.cta-final .acciones{display:flex;justify-content:center;align-items:center;gap:1.4rem;flex-wrap:wrap}
.cta-final .tel-grande{color:#fff;font-size:1.35rem;font-weight:600;letter-spacing:-.01em}
.cta-final .tel-grande small{display:block;font-size:.66rem;font-weight:400;color:rgba(255,255,255,.75);letter-spacing:.1em;text-transform:uppercase;text-align:left}
.cta-final .boton{background:#fff;color:var(--naranja)}
.cta-final .boton:hover{background:var(--carbon);color:#fff}

/* home en móvil */
@media (max-width:820px){
  .hero{height:70vh;min-height:480px}
  .hero-ctas{flex-direction:column;align-items:center;gap:.7rem;padding:0 2rem}
  .hero-ctas a{min-width:0;width:100%;max-width:340px}
  .marcas .lema{display:none}
  .marcas-pista img{height:40px}
  .flecha-nav{display:none}
  .tcard{flex-basis:78%}
  .novedades-fila{grid-template-columns:1fr}
  .ocasion-fila{grid-template-columns:1fr}
  .servicio-inner{padding:3.5rem 1.25rem}
  .servicio-cols{grid-template-columns:1fr}
  .noticias-fila{grid-template-columns:1fr}
  .cta-final .acciones{flex-direction:column;gap:1rem}
}

/* ============================================================ FICHA DE PRODUCTO */

/* ===== migas estandarizadas (mono, mayúsculas, separador /) ===== */
.miga,.migas ol{font-family:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#6d7076}
.miga a,.migas a{color:inherit;text-decoration:none}
.miga a:hover,.migas a:hover{color:var(--carbon)}
.miga>span{color:#c2beb6}
.miga span[aria-current]{color:var(--carbon)}
.migas ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 1.5rem;padding:0}
.migas li+li::before{content:"/";margin-right:.5rem;color:#c2beb6}

/* hero Tesla a sangre completa: imagen fija izquierda, panel de datos que se desplaza a la derecha */
.ficha{padding:0 0 4rem}
.ficha-hero{display:grid;grid-template-columns:minmax(0,1fr) 540px;width:100vw;margin-left:calc(50% - 50vw);background:#fff}
.ficha-visual{position:sticky;top:0;height:calc(100vh - 72px);display:flex;flex-direction:column;justify-content:center;padding:3.4rem 2rem 1rem}
.ficha-visual .migas{position:absolute;top:1.2rem;left:2rem}
.ficha-visual .migas ol{margin:0}
.foto-grande{margin:0;position:relative;flex:1 1 auto;min-height:0;width:100%;max-width:1200px;max-height:760px;align-self:center}
.foto-grande img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.foto-grande .vendida{position:absolute;top:0;left:0;margin:0}
.foto-slider{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin-top:.9rem;flex:none}
.fs-flecha{background:none;border:0;cursor:pointer;color:#8a8a8a;width:30px;height:30px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s;padding:0;overflow:hidden}
.fs-flecha svg{width:16px;height:16px;display:block}
.fs-flecha:hover{color:var(--carbon);background:var(--pill)}
.fs-flecha:hover{background:var(--pill)}
.fs-puntos{display:flex;gap:.55rem}
.fs-puntos .punto{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#d0d0d0;cursor:pointer;transition:background .15s}
.fs-puntos .punto.activo{background:var(--carbon)}
.ficha-panel{background:#fff;min-height:calc(100vh - 72px);padding:1.6rem 1.7rem 2.2rem;display:flex;flex-direction:column;gap:.9rem}
.ficha-panel .migas ol{margin:0 0 .6rem}
/* migas: minúscula con la primera letra de cada tramo en mayúscula
   (en la ficha se aplica al enlace interior: el ::before del li rompe ::first-letter) */
.ficha-panel .migas ol{font-size:.72rem}
/* nombres de producto: primera letra siempre en mayúscula */
.panel-cab h1::first-letter,.pcard h3::first-letter{text-transform:uppercase}
.barra-datos strong,.rel-mini strong{display:inline-block}
.barra-datos strong::first-letter,.rel-mini strong::first-letter{text-transform:uppercase}
/* bloque legal de los formularios */
.cf-legal{margin:.9rem 0 .2rem}
.cf-legal p{font-size:.74rem;line-height:1.55;color:var(--gris);margin:0 0 .6rem}
.cf-legal p a{color:var(--naranja-texto)}
.cf-legal .wpcf7-acceptance{display:block;margin:.35rem 0}
.cf-legal .wpcf7-acceptance label{font-size:.83rem;color:var(--carbon);display:flex;gap:.5rem;align-items:flex-start;cursor:pointer}
.cf-legal .wpcf7-acceptance input[type=checkbox]{accent-color:var(--naranja);margin-top:.15rem}
.cf-legal .wpcf7-list-item{margin:0}
.cf-legal .wpcf7-acceptance a{color:var(--naranja-texto)}
.panel-cab{text-align:left;padding:.4rem 0 .3rem}
.panel-cab h1{margin:0 0 .15rem;font-size:1.45rem;font-weight:600;letter-spacing:-.015em;line-height:1.25}
.panel-cab .modelo{margin:0;color:var(--gris);font-size:.95rem;font-weight:500}
.panel-tarjeta{background:#f4f4f4;border-radius:10px;padding:1.1rem 1.2rem}
.panel-titulo{font-size:1.02rem;font-weight:600;margin:0;color:var(--carbon);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
.panel-titulo::-webkit-details-marker{display:none}
.panel-titulo::after{content:"+";font-weight:400;font-size:1.25rem;color:var(--gris);transition:rotate .2s}
details[open]>.panel-titulo::after{content:"–"}
.panel-pliegue{padding-top:.8rem}
.panel-marca{display:block;text-align:left;margin:.2rem 0 0}
.panel-marca img{height:46px;width:auto;object-fit:contain}
.panel-marca:hover img{opacity:.75}
.panel-marca-texto{margin:.2rem 0 0;text-align:left;font-weight:600}
.panel-marca-texto a{color:var(--carbon)}
.panel-marca-texto a:hover{color:var(--naranja)}
.panel-corta{font-size:.9rem;line-height:1.65;color:#3d3b38;text-align:left;padding:0}
.panel-corta p{margin:0 0 .5rem}
.panel-corta p:last-child{margin:0}
.panel-estado{display:inline-flex;align-items:center;gap:.5rem;margin:.7rem auto 0;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.panel-estado.disponible{color:#1c7c31}
.panel-estado.vendida{color:#8a2b12}
.panel-estado .punto{width:9px;height:9px;border-radius:50%;background:currentColor;position:relative}
.panel-estado.disponible .punto::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid currentColor;opacity:.5;animation:late 1.8s ease-out infinite}
@keyframes late{0%{scale:.6;opacity:.7}100%{scale:1.7;opacity:0}}
@media (prefers-reduced-motion:reduce){.panel-estado .punto::after{animation:none}}
.panel-tarjeta .corta{margin:0;font-size:.88rem;line-height:1.6;color:#3d3b38}
.panel-tarjeta .corta p{margin:0 0 .6rem}
.panel-tarjeta .corta p:last-child{margin:0}
.opcion{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid #d6d6d6;border-radius:8px;padding:.7rem 1rem;text-decoration:none;transition:border-color .15s;margin-bottom:.6rem}
.opcion:last-child{margin-bottom:0}
.opcion:hover{border-color:var(--carbon)}
.opcion span{font-size:.88rem;font-weight:500;color:var(--carbon)}
.opcion span small{color:var(--gris);font-weight:400}
.opcion strong{font-size:.85rem;font-weight:600;color:var(--naranja);white-space:nowrap}
.opcion:hover strong{color:var(--naranja-vivo)}
.panel-cta{margin-top:auto;display:flex;flex-direction:column;gap:.6rem;text-align:center;padding-top:.4rem}
.panel-cta .boton{width:100%;padding:.85rem 1rem}
.panel-cta .tel{font-size:.85rem;color:var(--gris);text-decoration:none}
.panel-cta .tel:hover{color:var(--naranja)}
.ficha-cuerpo{padding-top:3rem}
.vendida{display:inline-block;margin:0 0 .8rem;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#8a2b12;border-radius:4px;padding:.25rem .6rem}
.marca-linea{margin:0 0 1rem;font-size:.85rem;color:var(--gris)}
.marca-linea a{color:var(--naranja);font-weight:600}
.marca-linea a:hover{color:var(--naranja-vivo)}
.corta{color:#3d3b38;font-size:.95rem;line-height:1.65;margin:0 0 1.4rem}
.ficha-acciones{display:flex;gap:.9rem;flex-wrap:wrap}
.boton.secundario{background:var(--pill);color:var(--carbon)}
.boton.secundario:hover{background:#e6e6e6}
.ficha-descripcion,.ficha-video,.ficha-imagenes,.ficha-relacionados{margin:0 0 3rem}
.ficha h2{font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin:0 0 1rem}
.ficha-descripcion{max-width:820px;font-size:.95rem;line-height:1.75;color:#2c2a27}
.video-marco{aspect-ratio:16/9;max-width:820px;border-radius:10px;overflow:hidden;background:#000}
.video-marco iframe{width:100%;height:100%;border:0}
.imagenes-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.imagenes-rejilla img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block;transition:opacity .2s}
.imagenes-rejilla a:hover img{opacity:.8}
.ficha-cta{background:var(--hueso);border-radius:12px;padding:2.4rem;text-align:center}
.ficha-cta h2{margin-bottom:.4rem}
.ficha-cta p{margin:0 0 1.4rem;color:var(--gris);font-size:.92rem}
/* marca */
.marca-archivo{padding:2.5rem 0 4rem}
.marca-cab{text-align:center;margin-bottom:2.4rem}
.marca-logo{height:64px;width:auto;margin-bottom:1rem}
.marca-cab h1{margin:0 0 .5rem;font-size:1.8rem;font-weight:600}
.marca-intro{max-width:640px;margin:0 auto;color:var(--gris);font-size:.92rem}
/* barra fija inferior de solicitud (estilo Tesla) */
.barra-solicitud{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;box-shadow:0 -4px 18px rgba(0,0,0,.09)}
.barra-inner{width:100%;min-height:72px;padding:.85rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.barra-datos{display:flex;flex-direction:column;min-width:0}
.barra-datos strong{font-size:.92rem;color:var(--carbon);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barra-datos span{font-size:.76rem;color:var(--gris)}
.barra-acciones{display:flex;align-items:center;gap:1rem;flex:none}
.barra-acciones .tel{font-weight:600;font-size:.92rem;color:var(--carbon);text-decoration:none}
.barra-acciones .tel:hover{color:var(--naranja)}
.barra-acciones .boton{padding:.55rem 1.3rem;font-size:.88rem}
body.con-barra{padding-bottom:72px}
@media (max-width:900px){
  .ficha-hero{grid-template-columns:1fr}
  .ficha-visual{position:static;height:auto;padding:1.2rem 1.2rem .4rem}
  .foto-grande{height:52vh;flex:none}
  .ficha-panel{min-height:0}
  .barra-datos span{display:none}
  .barra-acciones .tel{display:none}
}

.marca-logo-ficha{display:inline-block;margin:0 0 1rem}
.marca-logo-ficha img{height:44px;width:auto;display:block}
.marca-logo-ficha:hover img{opacity:.75}

/* ===== noticias: listado y detalle ===== */
.blog{padding:3.5rem 1.5rem 5rem}
.blog-cab{max-width:640px;margin:0 auto 2.6rem;text-align:center}
.blog-cab h1{font-size:2rem;font-weight:700;color:var(--carbon);margin:0 0 .6rem}
.blog-cab p{color:var(--gris);font-size:.95rem;line-height:1.6;margin:0}
.blog-cab .miga{margin-bottom:1rem}
.blog-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:-1.2rem 0 2.4rem}
.blog-tabs .tab{padding:.5rem 1.05rem;border:1px solid var(--linea);border-radius:999px;font-size:.83rem;font-weight:600;color:var(--carbon);text-decoration:none;background:#fff;transition:border-color .15s}
.blog-tabs .tab:hover{border-color:var(--carbon)}
.blog-tabs .tab.activa{background:var(--carbon);border-color:var(--carbon);color:#fff}
.blog-lista .ncard{border:1px solid #ececec}
.blog-lista time{font-size:.78rem;color:var(--gris)}
.ncard-media{display:block}
.ncard :is(h2,h3) a{color:inherit;text-decoration:none}
.ncard .meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.cat-chip{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--naranja);text-decoration:none}
.cat-chip:hover{text-decoration:underline;text-underline-offset:3px}
.blog-paginas{margin-top:2.5rem;text-align:center}
.blog-paginas .nav-links{display:inline-flex;gap:.5rem}
.blog-paginas a,.blog-paginas span.current{padding:.45rem .85rem;border-radius:8px;font-size:.9rem;text-decoration:none;color:var(--carbon)}
.blog-paginas span.current{background:var(--carbon);color:#fff}
.blog-paginas a:hover{background:#f2f2f2}

.noticia{padding:3.5rem 1.5rem 5rem;max-width:1040px;margin:0 auto}
.noticia .miga{margin:0 0 1rem}

.noticia-cab h1{font-size:1.9rem;font-weight:700;line-height:1.25;color:var(--carbon);margin:0 0 .5rem}
.noticia-cab time{font-size:.85rem;color:var(--gris)}
.noticia-portada{margin:1.8rem 0}
.noticia-portada img{width:100%;border-radius:12px}
.entrada{margin-top:1.6rem;line-height:1.75;color:#33373d;font-size:1rem}
.entrada h2{font-size:1.4rem;margin:2.2rem 0 .8rem;color:var(--carbon)}
.entrada h3{font-size:1.15rem;margin:1.8rem 0 .6rem;color:var(--carbon)}
.entrada p{margin:0 0 1.1rem}
.entrada img{max-width:100%;height:auto;border-radius:10px;margin:1.2rem 0}
.entrada figure{margin:1.4rem 0}
.entrada ul,.entrada ol{margin:0 0 1.1rem;padding-left:1.4rem}
.entrada a{color:var(--naranja);text-decoration:underline}
.entrada a:hover{color:var(--naranja-vivo)}
.entrada blockquote{border-left:3px solid var(--naranja);margin:1.4rem 0;padding:.3rem 0 .3rem 1.2rem;color:var(--gris)}
.entrada table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.92rem}
.entrada th,.entrada td{border:1px solid #e5e5e5;padding:.55rem .8rem;text-align:left}
.entrada th{background:#f7f7f7}
.noticia-mas{margin-top:4rem}
.noticia-mas h2{font-size:1.3rem;color:var(--carbon);margin:0 0 1.2rem}
@media (max-width:760px){
  .noticia-cab h1{font-size:1.5rem}
  .blog-lista{grid-template-columns:1fr}
}

/* ===== landings de categoría ===== */
.landing{padding-top:2.6rem}
.landing-cab{max-width:1140px;margin:0 auto;padding:0 1.5rem 1.8rem}
.landing-cab .miga{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1rem}
.landing-cab h1{font-size:2.1rem;font-weight:700;color:var(--carbon);margin:0}
.landing-cab .gancho{margin:.5rem 0 0;color:var(--gris);font-size:1rem}
.landing-cab .cuenta{margin:.4rem 0 0;font-size:.85rem;color:var(--gris)}
.landing-familias{max-width:1140px;margin:0 auto;padding:0 1.5rem 1.4rem}
.familias-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
/* sub-familias en el hub: tarjetas mini en una sola fila, alineadas a la izquierda */
.familias-grid{display:flex;gap:1.4rem;overflow-x:auto;padding-bottom:.4rem;justify-content:flex-start}
.familias-grid .tcard{flex:0 0 auto;width:150px;aspect-ratio:auto;background:transparent;border:0;border-radius:0;overflow:visible;padding:0;display:flex;flex-direction:column;gap:.5rem;transition:none}
.familias-grid .tcard:hover{box-shadow:none;translate:0 0}
.familias-grid .tcard::after{display:none}
.familias-grid .tcard .mas{display:none}
.familias-grid .tcard img{position:static;width:100%;height:84px;object-fit:contain}
.familias-grid .tcard:hover img{scale:1}
.familias-grid .tcard .sin-foto{position:static;height:84px;border-radius:6px}
.familias-grid .tcard p{position:static;margin:0;color:var(--carbon);font-size:.8rem;font-weight:400;line-height:1.3;text-align:center;letter-spacing:0}
.familias-grid .tcard:hover p{color:var(--naranja)}
.familias-grid .sin-foto{position:absolute;inset:0;background:linear-gradient(135deg,#22262d,#3a4048)}
.landing-filtros{max-width:1140px;margin:0 auto;padding:0 1.5rem 1.6rem;display:flex;gap:.55rem;flex-wrap:wrap}
.landing-filtros .chip{padding:.42rem .95rem;border-radius:999px;background:#f2f2f2;font-size:.85rem;font-weight:500;color:var(--carbon);text-decoration:none;transition:background .15s}
.landing-filtros .chip:hover{background:#e8e8e8}
.landing-filtros .chip.activo{background:var(--carbon);color:#fff}
.landing-filtros .chip small{opacity:.55;margin-left:.25rem}
.landing-productos{max-width:1140px;margin:0 auto;padding:0 1.5rem 3.4rem}
.productos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
@media (min-width:1600px){.productos-grid{grid-template-columns:repeat(5,1fr)}}
@media (min-width:2000px){.productos-grid{grid-template-columns:repeat(6,1fr)}}
.productos-grid .pcard .foto{position:relative}
.productos-grid .vendida{position:absolute;top:.6rem;left:.6rem;background:var(--carbon);color:#fff;font-size:.72rem;font-weight:600;padding:.22rem .6rem;border-radius:5px;letter-spacing:.03em}
.landing-vacia{max-width:640px;margin:0 auto;padding:2rem 1.5rem 3rem;text-align:center;color:var(--gris)}
.landing-vacia a{color:var(--naranja)}
/* ===== contacto v2: info izquierda + formulario derecha ===== */
.contacto-v2{padding:3rem clamp(1.5rem,4vw,3.5rem) 4.5rem;max-width:1280px;margin:0 auto}
.contacto-v2 .cab{margin-bottom:2.6rem}
.contacto-v2 .miga{margin-bottom:1rem;display:flex;gap:.45rem}
.contacto-v2 .miga a{color:var(--gris);text-decoration:none}
.contacto-v2 .miga a:hover{color:var(--naranja)}
.contacto-v2 h1{font-size:2.1rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}
.contacto-v2 .cab p{margin:0;color:var(--gris);font-size:.95rem;max-width:560px;line-height:1.6}
.contacto-v2 .dos-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,480px);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.con-info .canal{padding:1.5rem 0;border-bottom:1px solid var(--linea)}
.con-info .canal:first-of-type{border-top:1px solid var(--linea)}
.con-info .etiqueta{margin-bottom:.8rem}
.con-info .tels{display:flex;gap:clamp(1.5rem,4vw,3.5rem);flex-wrap:wrap}
.con-info .tel a{display:block;font-size:1.7rem;font-weight:700;letter-spacing:-.02em;text-decoration:none;color:var(--carbon)}
.con-info .tel a:hover{color:var(--naranja)}
.con-info .tel small{display:block;margin-top:.25rem;font-size:.78rem;color:var(--gris);font-weight:500}
.con-info .mail>a{font-size:1.05rem;font-weight:600;color:var(--carbon);text-decoration:underline;text-underline-offset:3px}
.con-info .mail>a:hover{color:var(--naranja)}
.con-info .apunte{margin:.5rem 0 0;font-size:.82rem;color:var(--gris)}
.sedes-v2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,3vw,2.5rem)}
.sede-v2{display:flex;flex-direction:column}
.sede-v2 :is(h2,h3){margin:0 0 .4rem;font-size:1rem;font-weight:600}
.sede-v2 p{margin:0 0 .6rem;font-size:.87rem;color:#3d3b38;line-height:1.6}
.sede-v2 .tel-sede{display:block;font-size:.9rem;font-weight:600;text-decoration:none;color:var(--carbon);margin-bottom:.5rem}
.sede-v2 .tel-sede:hover{color:var(--naranja)}
.sede-v2 .llegar{font-size:.83rem;font-weight:600;color:var(--carbon);text-decoration:underline;text-underline-offset:3px;display:inline-block;margin-bottom:.9rem;align-self:flex-start}
.sede-v2 .llegar:hover{color:var(--naranja)}
.sede-v2 .mapa{margin-top:auto;border-radius:10px;overflow:hidden;border:1px solid var(--linea)}
.sede-v2 .mapa iframe{display:block;width:100%;height:190px;border:0;filter:grayscale(1) contrast(1.05);transition:filter .25s}
.sede-v2 .mapa:hover iframe{filter:grayscale(0)}
.con-info .tecnico .texto{margin:0;font-size:.87rem;color:#3d3b38;line-height:1.65;max-width:460px}
.con-info .tecnico .texto a{font-weight:600;color:var(--carbon);text-decoration:underline;text-underline-offset:3px}
.con-info .tecnico .texto a:hover{color:var(--naranja)}
.contacto-v2 .form-caja{background:var(--hueso, #f7f6f4);background:#f7f6f4;border-radius:14px;padding:1.8rem 1.7rem 1.9rem;position:sticky;top:2rem}
.contacto-v2 .form-caja h2{margin:0 0 .3rem;font-size:1.25rem;font-weight:700;letter-spacing:-.015em}
.contacto-v2 .form-caja .sub{margin:0 0 1.1rem;font-size:.84rem;color:var(--gris);line-height:1.5}
.contacto-v2 .form-caja .wpcf7 input:not([type=checkbox]):not([type=submit]),.contacto-v2 .form-caja .wpcf7 textarea{background:#fff}
.contacto-v2 .tel-abajo{margin:.9rem 0 0;text-align:center;font-size:.82rem;color:var(--gris)}
.contacto-v2 .tel-abajo a{font-weight:700;color:var(--carbon);text-decoration:none}
@media (max-width:920px){
	.contacto-v2 .dos-col{grid-template-columns:1fr}
	.contacto-v2 .form-caja{position:static}
	.sedes-v2{grid-template-columns:1fr}
}

/* ===== parte inferior de la landing (guía PcComponentes + piezas editoriales) ===== */
.inferior{padding:0 clamp(1.5rem,4vw,3.5rem)}
.etiqueta{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin:0 0 .4rem}
.inf-titulo{font-size:1.6rem;font-weight:600;letter-spacing:-.02em;margin:0 0 1.4rem;color:var(--carbon)}
.inf-sec{padding:3.4rem 0 0}
/* 1 · filas Discover */
.filas a{display:flex;align-items:center;gap:1.6rem;padding:1.15rem .2rem;border-bottom:1px solid var(--linea);text-decoration:none;color:var(--carbon);transition:padding .2s}
.filas a:first-of-type{border-top:1px solid var(--linea)}
.filas a:hover{padding-left:.7rem}
.filas img{width:110px;height:72px;object-fit:contain;flex:0 0 auto}
.filas .nombre{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;min-width:220px}
.filas .desc{font-size:.86rem;color:var(--gris);line-height:1.5;flex:1}
.filas .n{font-size:.82rem;color:var(--gris);white-space:nowrap}
.filas .fl{color:var(--naranja);font-weight:600;transition:translate .2s}
.filas a:hover .fl{translate:6px 0}
/* 2 · guía rápida */
.guia{display:grid;grid-template-columns:minmax(0,720px) 340px;justify-content:flex-start;gap:clamp(2.5rem,5vw,5rem)}
.guia-texto h3{font-size:1.08rem;font-weight:600;margin:2rem 0 .7rem}
.guia-texto h3:first-of-type{margin-top:.2rem}
.guia-texto p{font-size:.9rem;color:#3d3b38;line-height:1.75;margin:0 0 .9rem;max-width:660px}
.guia-texto ul{margin:0 0 1rem;padding-left:1.15rem}
.guia-texto li{font-size:.9rem;color:#3d3b38;line-height:1.75;margin-bottom:.45rem}
.guia-texto li strong,.guia-texto p strong{color:var(--carbon)}
.guia-texto a{color:var(--carbon);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.guia-texto a:hover{color:var(--naranja)}
.guia-lateral{display:flex;flex-direction:column;gap:1.2rem;position:sticky;top:2rem;align-self:start}
.guia-lateral figure{margin:0;background:var(--naranja);border-radius:10px;overflow:hidden;box-shadow:0 12px 30px rgba(23,26,32,.14);transition:box-shadow .2s,translate .2s}
.guia-lateral figure:hover{box-shadow:0 18px 40px rgba(23,26,32,.2);translate:0 -2px}
.guia-lateral img{width:100%;height:220px;object-fit:contain;background:#fff;padding:0;display:block}
.guia-lateral figcaption{padding:.75rem 1.05rem .9rem;font-size:.78rem;color:rgba(255,255,255,.85);line-height:1.5}
.guia-lateral figcaption strong{color:#fff;display:block;font-size:.86rem;margin-bottom:.1rem}
/* 3 y 6 · bandas full-bleed */
.inf-banda{margin-top:3.4rem;padding:3.4rem clamp(1.5rem,4vw,3.5rem)}
.inf-banda.hueso{background:#f7f6f4}
.inf-banda .inf-titulo{margin-bottom:1.2rem}
.perfiles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,3vw,3rem);margin-top:.4rem}
.perfil h3{font-size:1rem;font-weight:600;margin:0 0 .5rem}
.perfil p{font-size:.87rem;color:#3d3b38;line-height:1.7;margin:0}
.perfil a{color:var(--carbon);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.perfil a:hover{color:var(--naranja)}
/* 4 · marcas */
.marcas-cat{display:flex;align-items:center;gap:clamp(1.6rem,4vw,3.2rem);flex-wrap:wrap}
.marcas-cat a.logo{display:block}
.marcas-cat a.logo img{height:44px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.65;transition:filter .2s,opacity .2s}
.marcas-cat a.logo:hover img{filter:grayscale(0);opacity:1}
.marcas-cat .todas{font-size:.88rem;font-weight:600;color:var(--carbon);text-decoration:underline;text-underline-offset:3px}
.marcas-cat .todas:hover{color:var(--naranja)}
/* 5 · búsquedas relacionadas */
.inf-sec.cierre{padding:2.6rem 0 3.4rem}
.inf-sec.cierre p{margin:0;font-size:.86rem;color:var(--gris);line-height:1.9;max-width:860px}
.inf-sec.cierre p strong{color:var(--carbon);font-weight:600}
.inf-sec.cierre a{color:var(--carbon);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.inf-sec.cierre a:hover{color:var(--naranja)}
/* 6 · servicio 360 */
.inf-banda.carbon{background:#121110;color:#fff;margin-top:0;padding:4rem clamp(1.5rem,4vw,3.5rem)}
.inf-banda.carbon .etiqueta{color:#9a9da3}
.servicio-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:center}
.inf-banda.carbon h2{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:600;letter-spacing:-.025em;margin:0 0 .7rem;color:#fff}
.inf-banda.carbon .txt{font-size:.95rem;color:#b9bbc0;line-height:1.7;margin:0 0 1.5rem;max-width:520px}
.inf-banda.carbon a.enlace{font-size:.95rem;font-weight:600;color:#fff;text-decoration:none;border-bottom:2px solid var(--naranja);padding-bottom:2px}
.inf-banda.carbon a.enlace:hover{color:var(--naranja)}
.servicio-inner>img{width:100%;height:280px;object-fit:cover;border-radius:10px}
@media (max-width:900px){
	.guia{grid-template-columns:1fr}
	.guia-lateral{position:static;flex-direction:row;overflow-x:auto}
	.guia-lateral figure{min-width:260px}
	.perfiles-grid{grid-template-columns:1fr}
	.filas a{flex-wrap:wrap;gap:.6rem 1rem}
	.filas .desc{flex-basis:100%;order:3}
	.servicio-inner{grid-template-columns:1fr}
}
/* paginación */
.paginacion{display:flex;gap:.45rem;justify-content:center;padding:2rem 0 .4rem}
.paginacion a{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fff;border:1px solid var(--linea);color:var(--carbon);font-size:.88rem;font-weight:500;text-decoration:none;transition:border-color .15s}
.paginacion a:hover{border-color:var(--carbon)}
.paginacion a.activa{background:var(--carbon);border-color:var(--carbon);color:#fff}
.landing-cta{margin-top:0}
@media (max-width:1000px){.productos-grid{grid-template-columns:repeat(3,1fr)}.familias-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){
  .landing-cab h1{font-size:1.55rem}
  .productos-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}
  .familias-grid{grid-template-columns:1fr}
}

/* ===== páginas corporativas ===== */
.corp-hero{max-width:820px;margin:0 auto;padding:3.6rem 1.5rem 2.6rem;text-align:center}
.corp-hero h1{font-size:2.3rem;font-weight:700;color:var(--carbon);margin:0 0 .8rem}
.corp-hero .lead{font-size:1.05rem;line-height:1.65;color:var(--gris);margin:0}
.corp-hero .miga{font-size:.8rem;color:var(--gris);margin:0 0 1rem}
.corp-hero .miga a{color:var(--gris);text-decoration:none}
.corp-hero .miga a:hover{color:var(--carbon)}
.boton-naranja{display:inline-block;background:var(--naranja);color:#fff;font-weight:600;font-size:.92rem;padding:.75rem 1.6rem;border-radius:8px;text-decoration:none;transition:background .15s}
.boton-naranja:hover{background:var(--naranja-vivo)}
.boton-borde{display:inline-block;border:1.5px solid var(--carbon);color:var(--carbon);font-weight:600;font-size:.92rem;padding:.7rem 1.5rem;border-radius:8px;text-decoration:none;transition:all .15s}
.boton-borde:hover{background:var(--carbon);color:#fff}

/* servicios hub */
.corp-servicios{max-width:1140px;margin:0 auto;padding:0 1.5rem 3.6rem}
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.srv-card{background:#fff;border:1px solid #ececec;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:box-shadow .2s}
.srv-card:hover{box-shadow:0 14px 34px rgba(23,26,32,.12)}
.srv-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.srv-card .cuerpo{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.srv-card h2{margin:0;font-size:1.05rem;font-weight:600;color:var(--carbon)}
.srv-card p{margin:0;font-size:.86rem;color:var(--gris);line-height:1.55;flex:1}
.srv-card .leer{font-size:.84rem;font-weight:600;color:var(--naranja)}
.srv-card:hover .leer{color:var(--naranja-vivo)}

/* empresa */
.corp-historia{max-width:1140px;margin:0 auto;padding:0 1.5rem 3rem;display:grid;grid-template-columns:1.15fr .85fr;gap:2.4rem;align-items:center}
.historia-texto h2{font-size:1.5rem;color:var(--carbon);margin:0 0 1rem}
.historia-texto p{color:#33373d;line-height:1.75;margin:0 0 1rem;font-size:.96rem}
.historia-foto img{width:100%;border-radius:12px}
.corp-datos{max-width:1140px;margin:0 auto 3rem;padding:0 1.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.corp-datos .dato{background:var(--carbon);color:#fff;border-radius:12px;padding:1.6rem 1.3rem;display:flex;flex-direction:column;gap:.3rem}
.corp-datos strong{font-size:1.7rem;font-weight:700;color:var(--naranja-vivo)}
.corp-datos span{font-size:.84rem;opacity:.85;line-height:1.4}
.corp-sectores{max-width:820px;margin:0 auto;padding:0 1.5rem 2.6rem;text-align:center}
.corp-sectores h2{font-size:1.5rem;color:var(--carbon);margin:0 0 .8rem}
.corp-sectores p{color:var(--gris);line-height:1.7;margin:0}
.corp-galeria{max-width:1140px;margin:0 auto;padding:0 1.5rem 3rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
.corp-galeria img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.corp-cita{max-width:740px;margin:0 auto;padding:0 1.5rem 3rem}
.corp-cita blockquote{margin:0;border-left:3px solid var(--naranja);padding-left:1.4rem;font-size:1.02rem;line-height:1.75;color:var(--gris)}
.corp-marcas{margin-bottom:0}

/* detalle de servicio */
.corp-seccion{max-width:1140px;margin:0 auto;padding:0 1.5rem 3.4rem;display:grid;grid-template-columns:.8fr 1.2fr;gap:2.6rem;align-items:start}
.corp-seccion .texto h2{font-size:1.35rem;color:var(--carbon);margin:0 0 .7rem}
.corp-seccion .texto h2:not(:first-child){margin-top:1.8rem}
.corp-seccion .texto p{color:#33373d;line-height:1.75;margin:0 0 1rem;font-size:.96rem}
.corp-seccion .texto .boton-naranja{margin-top:.6rem}
.corp-seccion figure{margin:0;position:sticky;top:90px}
.corp-seccion figure img{width:100%;border-radius:12px}
.corp-galeria.cuatro{grid-template-columns:repeat(2,1fr);gap:1rem}
.corp-galeria.cuatro img{aspect-ratio:3/2}

/* tipos de matriz / utillaje */
.corp-tipos{max-width:1140px;margin:0 auto;padding:0 1.5rem 3.4rem}
.corp-tipos>h2{font-size:1.35rem;color:var(--carbon);margin:0 0 1.2rem}
.tipos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.tipos-grid .tipo{background:#f7f6f4;border-radius:10px;padding:1.15rem 1.25rem}
.tipos-grid h3{margin:0 0 .35rem;font-size:.95rem;font-weight:600;color:var(--carbon)}
.tipos-grid p{margin:0;font-size:.84rem;color:var(--gris);line-height:1.55}
@media (max-width:900px){.tipos-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.tipos-grid{grid-template-columns:1fr}}


/* formulario sobre banda naranja (cierre de servicios) */
.cta-form{background:var(--naranja);padding:4rem 1.5rem 4.5rem}
.cta-form .inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,4vw,3.5rem);align-items:center}
.cta-form .inner.una{display:block;max-width:860px}
.cta-form .cta-texto h2{margin:0 0 .6rem;color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;letter-spacing:-.015em}
.cta-form .cta-texto p{margin:0 0 1.6rem;color:rgba(255,255,255,.88);font-size:.95rem;line-height:1.65}
.cta-form .tel-grande{color:#fff;font-size:1.35rem;font-weight:600;letter-spacing:-.01em;text-decoration:none}
.cta-form .tel-grande small{display:block;font-size:.66rem;font-weight:400;color:rgba(255,255,255,.75);letter-spacing:.1em;text-transform:uppercase}
.form-candidatura.blanca{background:#fff;max-width:none;margin:0}
.inner.una .form-candidatura.blanca{margin:0 auto}
@media (max-width:900px){.cta-form .inner{grid-template-columns:1fr}}

/* formulario dentro de página de servicio */
.corp-form{max-width:1140px;margin:0 auto;padding:0 1.5rem 3.4rem}
.corp-form .form-candidatura{margin:0 auto}
.form-candidatura>h2{font-size:1.35rem;color:var(--carbon);margin:0 0 .4rem}
.form-candidatura>.sub{color:var(--gris);font-size:.9rem;line-height:1.6;margin:0 0 1.6rem}
.form-candidatura .tel-abajo{margin:1.1rem 0 0;text-align:center;font-size:.82rem;color:var(--gris)}
.form-candidatura .tel-abajo a{font-weight:700;color:var(--carbon);text-decoration:none}

/* contacto */
.contacto-acciones{max-width:900px;margin:0 auto;padding:0 1.5rem 2.6rem;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.contacto-acciones .accion{background:#fff;border:1px solid #ececec;border-radius:14px;padding:1.7rem 1.6rem;text-decoration:none;display:flex;flex-direction:column;gap:.35rem;transition:box-shadow .2s}
.contacto-acciones .accion:hover{box-shadow:0 14px 34px rgba(23,26,32,.12)}
.contacto-acciones .etiqueta{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--naranja)}
.contacto-acciones strong{font-size:1.25rem;color:var(--carbon);word-break:break-all}
.contacto-acciones small{font-size:.82rem;color:var(--gris)}
.contacto-sedes{max-width:900px;margin:0 auto;padding:0 1.5rem 3.4rem}
.contacto-sedes h2{font-size:1.5rem;color:var(--carbon);text-align:center;margin:0 0 1.6rem}
.sedes-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.sede{background:var(--carbon);color:#fff;border-radius:14px;padding:1.8rem 1.7rem;display:flex;flex-direction:column;gap:.55rem}
.sede h3{margin:0;font-size:1.15rem;color:var(--naranja-vivo)}
.sede .direccion{margin:0;font-size:.9rem;line-height:1.6;opacity:.9}
.sede .tel{color:#fff;font-weight:600;font-size:1.05rem;text-decoration:none}
.sede .como-llegar{color:var(--naranja-vivo);font-size:.86rem;font-weight:600;text-decoration:none;margin-top:.3rem}
.sede .como-llegar:hover{text-decoration:underline}

/* calidad y texto largo */
.calidad-cert{max-width:740px;margin:0 auto;padding:0 1.5rem 2.8rem}
.cert-caja{background:var(--carbon);color:#fff;border-radius:14px;padding:2rem 1.8rem;text-align:center;display:flex;flex-direction:column;gap:.5rem}
.cert-caja strong{font-size:1.5rem;color:var(--naranja-vivo)}
.cert-caja span{font-size:.9rem;opacity:.85}
.cert-botones{display:flex;gap:.8rem;justify-content:center;margin-top:1rem;flex-wrap:wrap}
.cert-botones .boton-borde{border-color:#fff;color:#fff}
.cert-botones .boton-borde:hover{background:#fff;color:var(--carbon)}
.corp-texto{max-width:740px;margin:0 auto;padding:0 1.5rem 3.4rem}
.corp-texto h2{font-size:1.5rem;color:var(--carbon);margin:0 0 1rem}
.corp-texto p{color:#33373d;line-height:1.75;margin:0 0 1rem;font-size:.96rem}
.corp-texto ul{margin:0 0 1.2rem;padding-left:1.3rem;color:#33373d;line-height:1.7;font-size:.95rem}
.corp-texto li{margin-bottom:.6rem}
.corp-texto.centrado{text-align:center;padding-top:.5rem}
.corp-texto.centrado .boton-naranja{margin-top:1rem}

@media (max-width:900px){
  .srv-grid{grid-template-columns:repeat(2,1fr)}
  .corp-historia,.corp-seccion{grid-template-columns:1fr}
  .corp-seccion figure{position:static}
  .corp-datos{grid-template-columns:repeat(2,1fr)}
  .corp-galeria{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .corp-hero h1{font-size:1.7rem}
  .srv-grid,.contacto-acciones,.sedes-grid{grid-template-columns:1fr}
}

/* descripción dentro del panel */
.panel-desc{font-size:.86rem;line-height:1.65;color:#3d3b38}
.panel-desc p{margin:0 0 .7rem}
.panel-desc p:last-child{margin-bottom:0}
.panel-desc h1,.panel-desc h2:not(.panel-titulo),.panel-desc h3,.panel-desc h4{font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--carbon);margin:1.1rem 0 .5rem}
.panel-desc ul{margin:0 0 .7rem;padding:0;list-style:none}
.panel-desc ul li{margin-bottom:.55rem;line-height:1.5}
.panel-desc ol{margin:0 0 .7rem;padding-left:1.15rem}
.panel-desc img{border-radius:8px;margin:.5rem 0}
.panel-desc table{width:100%;border-collapse:collapse;font-size:.78rem;margin:.6rem 0}
.panel-desc th,.panel-desc td{border:1px solid #ddd;padding:.35rem .5rem;text-align:left}

.panel-tarjeta .video-marco{max-width:none;border-radius:8px}

/* imágenes de producto y relacionados dentro del panel */
.panel-rejilla{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.panel-rejilla img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block;transition:opacity .2s}
.panel-rejilla a:hover img{opacity:.8}
.panel-rel{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.rel-mini{display:flex;flex-direction:column;gap:.4rem;text-decoration:none;min-width:0}
.rel-mini .foto{display:block;border-radius:9px;overflow:hidden;background:#fff}
.rel-mini .foto img{width:100%;aspect-ratio:16/11;object-fit:cover;display:block;transition:scale .3s ease}
.rel-mini:hover .foto img{scale:1.05}
.rel-mini strong{font-size:.8rem;font-weight:600;color:var(--gris);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.rel-mini:hover strong{color:var(--naranja)}
.rel-mini small{font-size:.7rem;color:var(--gris);letter-spacing:.03em;text-transform:uppercase}

/* descarga minimalista en Documentación */
.lista-specs{list-style:none;margin:0;padding:0;font-size:.86rem}
.lista-specs li{margin:0;padding:.32rem 0;color:var(--carbon);font-variant-numeric:tabular-nums;line-height:1.5}
.lista-specs .et{color:var(--gris)}
.descarga-min{display:inline-flex;align-items:center;gap:.55rem;font-size:.88rem;font-weight:400;color:var(--gris);text-decoration:none}
.descarga-min svg{width:17px;height:17px;color:var(--naranja)}
.descarga-min span{font-weight:300;color:#a3a3a3;font-size:.82rem}
.descarga-min:hover{color:var(--naranja)}

/* visor a pantalla completa */
.visor{position:fixed;inset:0;z-index:100;background:rgba(12,13,15,.94);display:none;align-items:center;justify-content:center}
.visor.abierto{display:flex}
.visor img{max-width:88vw;max-height:88vh;object-fit:contain;border-radius:6px}
.visor .v-cerrar{position:absolute;top:1.1rem;right:1.3rem;background:#fff;border:0;color:var(--carbon);font-size:1.6rem;line-height:1;cursor:pointer;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 14px rgba(0,0,0,.35);transition:scale .15s}
.visor .v-cerrar:hover{scale:1.08}
.visor .v-flecha{position:absolute;top:50%;translate:0 -50%;background:#fff;border:0;color:var(--carbon);font-size:1.9rem;line-height:0;padding-bottom:4px;cursor:pointer;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 14px rgba(0,0,0,.35);transition:scale .15s}
.visor .v-flecha:hover{scale:1.08}
.visor .v-flecha.izq{left:1.2rem}
.visor .v-flecha.der{right:1.2rem}
.visor .v-contador{position:absolute;bottom:1.2rem;left:50%;translate:-50% 0;color:#fff;opacity:.95;font-size:.9rem;font-weight:600;letter-spacing:.06em}
@media (max-width:640px){.visor .v-flecha{width:42px;height:42px;font-size:1.5rem}.visor .v-flecha.izq{left:.5rem}.visor .v-flecha.der{right:.5rem}}

/* formularios CF7 */
.panel-form .form-intro,.contacto-form .form-intro{font-size:.86rem;color:var(--gris);margin:0 0 .9rem;line-height:1.55}
.panel-form .form-tel{margin:.8rem 0 0;font-size:.84rem;color:var(--gris);text-align:center}
.panel-form .form-tel a{color:var(--carbon);font-weight:600}
.panel-form .form-tel a:hover{color:var(--naranja)}
.wpcf7 .cf-fila{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:0 0 .45rem}
.wpcf7 .wpcf7-form-control-wrap{display:block;margin:0 0 .45rem}
.wpcf7 .cf-fila .wpcf7-form-control-wrap{margin:0}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{
  width:100%;padding:.55rem .7rem;border:1px solid #d6d6d6;border-radius:8px;
  font-family:inherit;font-size:.86rem;background:#fff;transition:border-color .15s}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--carbon)}
.wpcf7 textarea{resize:vertical;min-height:72px}
.wpcf7 input[type=submit]{width:100%;background:var(--naranja);color:#fff;border:0;border-radius:8px;
  padding:.65rem 1rem;margin-top:.2rem;font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .15s}
.wpcf7 input[type=submit]:hover{background:var(--naranja-vivo)}
.wpcf7 .wpcf7-not-valid{border-color:#b3261e}
.wpcf7 .wpcf7-not-valid-tip{font-size:.74rem;color:#b3261e;font-weight:400;margin-top:.2rem;display:block}
.wpcf7 form .wpcf7-response-output{margin:1rem 0 0;padding:.7rem .9rem;border-radius:8px;font-size:.84rem;border:0}
.wpcf7 form.sent .wpcf7-response-output{background:#e7f4ea;color:#1c7c31}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{background:#fdecea;color:#b3261e}
.contacto-form{max-width:640px;margin:0 auto;padding:0 1.5rem 3.4rem}
.contacto-form h2{font-size:1.5rem;color:var(--carbon);text-align:center;margin:0 0 .5rem}
.contacto-form .form-intro{text-align:center}
@media (max-width:640px){.wpcf7 .cf-fila{grid-template-columns:1fr}}

/* selector de idioma en el header: al pasar el ratón asoma el otro idioma */
.icono-idioma{width:auto;padding:0 .5rem;gap:.3rem}
.idioma-actual{font-size:.72rem;font-weight:700;letter-spacing:.04em}
.selector-idioma{position:relative;display:flex;align-items:center}
/* puente invisible: mantiene el hover al mover el ratón hacia la etiqueta */
.selector-idioma::after{content:"";position:absolute;top:100%;left:-.5rem;right:-.5rem;height:.6rem}
.idioma-otro{
  position:absolute;top:calc(100% + .4rem);left:50%;
  transform:translateX(-50%) translateY(-4px);
  background:#fff;border:1px solid rgba(23,26,32,.1);box-shadow:0 10px 28px rgba(0,0,0,.1);
  padding:.5rem .95rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;
  color:var(--carbon);text-decoration:none;
  opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;
}
.selector-idioma:hover .idioma-otro,.selector-idioma:focus-within .idioma-otro{
  opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
.idioma-otro:hover{color:var(--naranja)}
@media (max-width:820px){.selector-idioma{display:none}}
.menu-movil .idioma-m a{color:rgba(255,255,255,.45);text-decoration:none}
.menu-movil .idioma-m a:hover{color:#fff}

.wpcf7 form p{margin:0}
.wpcf7 form br{display:none}

/* miniatura de vídeo con play y visor grande */
.video-mini{position:relative;display:block;width:100%;border:0;padding:0;border-radius:9px;overflow:hidden;cursor:pointer;background:#000}
.video-mini img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;opacity:.85;transition:opacity .2s,scale .3s}
.video-mini:hover img{opacity:1;scale:1.03}
.video-mini .play{position:absolute;top:50%;left:50%;translate:-50% -50%;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 2px 14px rgba(0,0,0,.35)}
.video-mini .play::after{content:"";position:absolute;top:50%;left:53%;translate:-50% -50%;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--naranja)}
.visor-video .v-marco{width:min(1200px,92vw);aspect-ratio:16/9}
.visor-video .v-marco iframe{width:100%;height:100%;border:0;border-radius:8px}

/* truncador de textos largos */
.panel-pliegue.truncado{max-height:480px;overflow:hidden;position:relative}
.panel-pliegue.truncado::after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(to bottom,rgba(244,244,244,0),#f4f4f4)}
.panel-pliegue.truncado.expandido{max-height:none}
.panel-pliegue.truncado.expandido::after{display:none}
.ver-mas{display:block;margin:.5rem auto 0;background:none;border:0;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--carbon);padding:.3rem .8rem;border-radius:6px}
.ver-mas:hover{background:#eaeaea}
.ver-mas::after{content:" ▾";font-size:.7rem;color:var(--gris)}

/* facetas agrupadas */
.landing-filtros.facetas{flex-direction:column;gap:.5rem}
.faceta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.faceta-nombre{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);min-width:110px}
.chip.quitar{background:#fff;border:1px solid #d6d6d6;color:var(--gris)}
.chip.quitar:hover{border-color:var(--carbon);color:var(--carbon)}

/* cabecera centrada + barra de filtros desplegables (estilo marketplace) */
/* landing full width, título a la izquierda (mismo aire que la ficha) */
.landing-cab,.landing-familias,.barra-filtros,.landing-productos{max-width:none;padding-left:clamp(1.5rem,4vw,3.5rem);padding-right:clamp(1.5rem,4vw,3.5rem)}
.landing-cab .miga{margin-bottom:1.1rem}
.landing-cab .descripcion{margin:.7rem 0 0;color:var(--gris);font-size:1rem;line-height:1.55;max-width:760px}
.landing-cab .descripcion p{margin:0 0 .4rem}
.barra-filtros{margin:0;padding-top:.4rem;padding-bottom:1.6rem;display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-start}
/* fondo grisáceo bajo la rejilla para que destaquen las cards blancas */
.landing-productos{background:#f3f2ef;padding-top:1.8rem;padding-bottom:2.8rem}
.filtro-pil{position:relative}
.filtro-pil summary,.filtro-pil.suelto{list-style:none;display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid #d9d9d9;border-radius:999px;padding:.5rem 1.05rem;font-size:.86rem;font-weight:500;color:var(--carbon);cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s}
.filtro-pil summary::-webkit-details-marker{display:none}
.filtro-pil summary::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;rotate:45deg;translate:0 -2px}
.filtro-pil summary:hover,.filtro-pil.suelto:hover{border-color:var(--carbon)}
.filtro-pil.con-valor summary,.filtro-pil.suelto.con-valor{background:var(--carbon);border-color:var(--carbon);color:#fff}
.filtro-pil[open] summary{border-color:var(--carbon)}
.filtro-pil .opciones{position:absolute;top:calc(100% + 8px);left:50%;translate:-50% 0;z-index:30;background:#fff;border-radius:12px;box-shadow:0 12px 40px rgba(23,26,32,.16);padding:.5rem;min-width:210px;display:flex;flex-direction:column}
.filtro-pil .opciones a{padding:.5rem .8rem;border-radius:8px;font-size:.86rem;color:var(--carbon);text-decoration:none;display:flex;justify-content:space-between;gap:1rem}
.filtro-pil .opciones a:hover{background:var(--pill)}
.filtro-pil .opciones a.activo{font-weight:700}
.filtro-pil .opciones a small{color:var(--gris)}
.filtro-pil.suelto.quitar{color:var(--gris);border:0;background:transparent;font-weight:600}
.filtro-pil.suelto.quitar:hover{color:var(--carbon)}
@media (max-width:680px){.barra-filtros{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.8rem}.filtro-pil summary,.filtro-pil.suelto{white-space:nowrap}}

/* tarjeta de producto: marca arriba fina, nombre en negrita */
.pcard .marca-arriba{margin:0 0 .25rem;font-size:.74rem;font-weight:300;letter-spacing:.06em;text-transform:uppercase;color:#9a9a9a}
.pcard h3{font-weight:700}

/* ===== empresa v2 ===== */
.empresa-v2 .centro{max-width:1280px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.empresa-v2 .centro.ancho{max-width:none}
.empresa-v2 .titulo{font-size:1.6rem;font-weight:600;letter-spacing:-.02em;margin:0 0 1.4rem;color:var(--carbon)}
.empresa-v2 .cab{padding:3.2rem 0 .6rem}
.empresa-v2 .miga,.trabaja-v2 .miga{font-size:.8rem;color:var(--gris);margin-bottom:1rem;display:flex;gap:.45rem}
.empresa-v2 .miga a,.trabaja-v2 .miga a{color:var(--gris);text-decoration:none}
.empresa-v2 .miga a:hover,.trabaja-v2 .miga a:hover{color:var(--naranja)}
.empresa-v2 h1,.trabaja-v2 h1{font-size:2.1rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}
.empresa-v2 .historia{display:grid;grid-template-columns:minmax(0,1.15fr) 1fr;gap:clamp(2.5rem,5vw,5rem);padding:1.6rem 0 3.4rem;align-items:stretch}
.empresa-v2 .historia .texto p{font-size:.93rem;color:#3d3b38;line-height:1.8;margin:0 0 1rem;max-width:640px}
.empresa-v2 .historia .texto p strong{color:var(--carbon)}
.empresa-v2 .historia figure{margin:0;display:flex;flex-direction:column}
.empresa-v2 .historia img{flex:1;width:100%;min-height:0;object-fit:cover;border-radius:12px;display:block}
.empresa-v2 .historia figcaption{margin-top:.6rem;font-size:.78rem;color:var(--gris);flex:0 0 auto}
.empresa-v2 .destacado{padding:1rem 0 3.4rem;text-align:center}
.empresa-v2 .titulo-grande{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:700;letter-spacing:-.025em;margin:0 0 .7rem}
.empresa-v2 .destacado .sub{margin:0 auto 2rem;color:var(--gris);font-size:.95rem;max-width:680px;line-height:1.65}
.empresa-v2 .cifras{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.empresa-v2 .cifra{padding:1.6rem 1rem;text-align:center}
.empresa-v2 .cifra+.cifra{border-left:1px solid var(--linea)}
.empresa-v2 .cifra strong{display:block;font-size:2rem;font-weight:700;letter-spacing:-.03em}
.empresa-v2 .cifra span{font-size:.78rem;color:var(--gris);font-weight:500}
.empresa-v2 .galeria{padding:0 0 3.6rem}
.empresa-v2 .gal-fila{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.9rem}
.empresa-v2 .gal-fila img{width:100%;height:260px;object-fit:cover;border-radius:10px;display:block}
.empresa-v2 .gal-fila.dos{grid-template-columns:1fr 1.4fr;margin-top:.9rem}
.empresa-v2 .tramo-hueso{background:#f7f6f4;padding:3.6rem 0}
.empresa-v2 .tl{position:relative;display:grid;grid-template-columns:repeat(11,1fr);gap:.8rem;padding:.6rem 0}
.empresa-v2 .tl::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--carbon)}
.empresa-v2 .tl-hito{display:grid;grid-template-rows:1fr 28px 1fr;justify-items:start;min-width:0}
.empresa-v2 .tl-hito .punto{width:13px;height:13px;border-radius:50%;background:var(--naranja);align-self:center;box-shadow:0 0 0 5px #f7f6f4,0 0 0 6px var(--carbon);margin-left:2px}
.empresa-v2 .tl-hito .punto.claro{background:#f0a13c}
.empresa-v2 .tl-hito.arriba .texto{align-self:end;padding-bottom:.9rem}
.empresa-v2 .tl-hito.abajo .texto{align-self:start;padding-top:.9rem}
.empresa-v2 .tl .ano{display:block;font-size:clamp(1.05rem,1.5vw,1.55rem);font-weight:700;letter-spacing:-.02em;color:var(--naranja);margin-bottom:.3rem}
.empresa-v2 .tl .ano.claro{color:#f0a13c}
.empresa-v2 .tl p{margin:0;font-size:.73rem;color:#3d3b38;line-height:1.5}
.empresa-v2 .tl em{font-style:normal;color:var(--naranja);font-weight:600}
.empresa-v2 .equipo{padding:3.6rem 0 4.2rem}
.empresa-v2 .depto{margin-top:2rem}
.empresa-v2 .depto:first-of-type{margin-top:.4rem}
.empresa-v2 .depto>h3{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin:0 0 1.1rem;padding-bottom:.6rem;border-bottom:1px solid var(--linea)}
.empresa-v2 .personas{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.4rem 1.1rem}
.empresa-v2 .persona img{width:100%;aspect-ratio:1/1.05;object-fit:cover;border-radius:10px;display:block;filter:grayscale(1);transition:filter .25s}
.empresa-v2 .persona:hover img{filter:grayscale(0)}
.empresa-v2 .persona h4{margin:.7rem 0 .1rem;font-size:.95rem;font-weight:600}
.empresa-v2 .persona .cargo{margin:0;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--naranja)}
.empresa-v2 .persona .ciudad{margin:.15rem 0 .1rem;font-size:.78rem;color:var(--gris)}
.empresa-v2 .persona .mail{font-size:.78rem;color:var(--carbon);text-decoration:underline;text-underline-offset:3px;word-break:break-all}
.empresa-v2 .persona .mail:hover{color:var(--naranja)}
.empresa-v2 .cierre-carbon{background:#121110;color:#fff;padding:4rem 0;margin-top:.5rem}
.empresa-v2 .cierre-carbon .etiqueta{color:#9a9da3}
.empresa-v2 .cierre-carbon h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600;letter-spacing:-.02em;margin:0 0 .6rem;color:#fff;max-width:680px}
.empresa-v2 .cierre-carbon p{color:#b9bbc0;font-size:.93rem;line-height:1.7;margin:0 0 1.4rem;max-width:560px}
.empresa-v2 .cierre-carbon a.enlace{font-size:.95rem;font-weight:600;color:#fff;text-decoration:none;border-bottom:2px solid var(--naranja);padding-bottom:2px}
.empresa-v2 .cierre-carbon a.enlace:hover{color:var(--naranja)}
@media (max-width:900px){
	.empresa-v2 .cifras{grid-template-columns:repeat(2,1fr)}
	.empresa-v2 .cifra:nth-child(3){border-left:0}
	.empresa-v2 .cifra:nth-child(n+3){border-top:1px solid var(--linea)}
	.empresa-v2 .historia{grid-template-columns:1fr}
	.empresa-v2 .historia figure{display:block}
	.empresa-v2 .historia img{height:auto}
	.empresa-v2 .gal-fila,.empresa-v2 .gal-fila.dos{grid-template-columns:1fr 1fr}
	.empresa-v2 .tl{display:flex;flex-direction:column;gap:1.6rem;padding-left:2px}
	.empresa-v2 .tl::before{left:8px;right:auto;top:0;bottom:0;width:1px;height:auto}
	.empresa-v2 .tl-hito{display:flex;align-items:flex-start;gap:1rem}
	.empresa-v2 .tl-hito .hueco{display:none}
	.empresa-v2 .tl-hito .punto{order:1;flex:0 0 auto;margin:.3rem 0 0;align-self:flex-start}
	.empresa-v2 .tl-hito .texto{order:2;padding:0 !important;align-self:flex-start !important}
}

/* ===== trabaja con nosotros v2 ===== */
.trabaja-v2{padding:0 0 4.5rem}
.trabaja-v2 .form-candidatura{width:min(860px,calc(100% - 3rem));margin:3.2rem auto 0}
.trabaja-v2 .cab{margin-bottom:2.2rem}
.trabaja-v2 .cab p{margin:0;color:var(--gris);font-size:.95rem;max-width:620px;line-height:1.6}
.form-candidatura{max-width:860px;background:#f7f6f4;border-radius:14px;padding:2rem clamp(1.4rem,3vw,2.4rem) 2.2rem}
.form-candidatura .cf-seccion{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--carbon);margin:2rem 0 .9rem;padding-bottom:.5rem;border-bottom:1px solid var(--linea)}
.form-candidatura .cf-seccion:first-of-type{margin-top:0}
.form-candidatura .cf-sub{font-size:.82rem;font-weight:600;color:var(--carbon);margin:.9rem 0 .4rem}
.form-candidatura .wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.form-candidatura .wpcf7 textarea,.form-candidatura .wpcf7 select{width:100%;border:1px solid #ddd9d3;border-radius:8px;background:#fff;padding:.72rem .9rem;font:inherit;font-size:.88rem;color:var(--carbon);margin-bottom:.7rem}
.form-candidatura .wpcf7 select{appearance:auto}
.form-candidatura .wpcf7 label{font-size:.82rem;font-weight:500;color:var(--carbon)}
.form-candidatura .wpcf7-checkbox,.form-candidatura .wpcf7-radio{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:.2rem 0 .6rem}
.form-candidatura .wpcf7-checkbox .wpcf7-list-item,.form-candidatura .wpcf7-radio .wpcf7-list-item{margin:0}
.form-candidatura .wpcf7-checkbox label,.form-candidatura .wpcf7-radio label{display:inline-flex;align-items:center;gap:.4rem;font-weight:400;font-size:.84rem;cursor:pointer}
.form-candidatura .wpcf7-checkbox input,.form-candidatura .wpcf7-radio input{accent-color:var(--naranja)}
.form-candidatura .cf-niveles{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem .9rem}
.form-candidatura .cf-niveles label{display:flex;flex-direction:column;gap:.25rem}
.form-candidatura .wpcf7 input[type=submit]{background:var(--naranja);color:#fff;border:0;border-radius:8px;padding:.95rem 2rem;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:1rem}
.form-candidatura .wpcf7 input[type=submit]:hover{background:#c94800}
@media (max-width:760px){.form-candidatura .cf-niveles{grid-template-columns:1fr 1fr}}
/* trabaja con nosotros: cabecera con foto + tira de instalaciones */
.trabaja-v2 .cab.dividida{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,44%);gap:clamp(2rem,4vw,4rem);align-items:center;margin-bottom:1.2rem}
.trabaja-v2 .cab-foto{width:100%;height:280px;object-fit:cover;border-radius:12px}
.trabaja-v2 .tira-fotos{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:.9rem;margin-bottom:2.6rem}
.trabaja-v2 .tira-fotos img{width:100%;height:170px;object-fit:cover;border-radius:10px;display:block}
@media (max-width:920px){.trabaja-v2 .cab.dividida{grid-template-columns:1fr}.trabaja-v2 .cab-foto{height:210px}.trabaja-v2 .tira-fotos{grid-template-columns:1fr 1fr}.trabaja-v2 .tira-fotos img:nth-child(3){display:none}}

/* ============================================================
   Servicios v3 — sistema técnico (mono, corner brackets,
   línea-tubo, bandas full width). Ago 2026.
   ============================================================ */
.srv3{--negro:#0d0e10;--mono:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;background:var(--negro)}
.srv3 .tag-tec{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8a8d93;display:block;margin-bottom:1.2rem}
.srv3 .tag-tec::before{content:"// "}
.srv3 .tag-tec.clara{color:rgba(255,255,255,.92)}
.srv3 .tag-pill{position:relative;display:inline-block;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#e6e6e6;background:rgba(90,92,98,.45);backdrop-filter:blur(4px);padding:.55rem .9rem;margin-bottom:1.3rem}
.srv3 .tag-pill::before,.srv3 .tag-pill::after,.srv3 .tag-pill i::before,.srv3 .tag-pill i::after{content:"";position:absolute;width:8px;height:8px;border-color:#cfd1d4;border-style:solid}
.srv3 .tag-pill::before{top:-2px;left:-2px;border-width:1.5px 0 0 1.5px}
.srv3 .tag-pill::after{top:-2px;right:-2px;border-width:1.5px 1.5px 0 0}
.srv3 .tag-pill i::before{bottom:-2px;left:-2px;border-width:0 0 1.5px 1.5px}
.srv3 .tag-pill i::after{bottom:-2px;right:-2px;border-width:0 1.5px 1.5px 0}
.srv3 .btn-mono{display:inline-block;font-family:var(--mono);font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:.85rem 1.4rem;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:4px;transition:all .2s}
.srv3 .btn-mono::before{content:"↳  "}
.srv3 .btn-mono:hover{background:var(--naranja);border-color:var(--naranja);color:#fff}
.srv3 .btn-mono.solido{background:#fff;color:var(--carbon);border-color:#fff}
.srv3 .btn-mono.solido:hover{background:var(--naranja);border-color:var(--naranja);color:#fff}
.srv3 .btn-mono.oscuro{border-color:rgba(23,26,32,.45);color:var(--carbon)}
.srv3 .btn-mono.oscuro:hover{background:var(--naranja);border-color:var(--naranja);color:#fff}
.srv3 .rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.srv3 .rv.vis{opacity:1;transform:none}

/* hero */
.srv3-hero{position:relative;height:92vh;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;background-size:cover;background-position:center}
.srv3-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(13,14,16,.9) 0%,rgba(13,14,16,.25) 40%,rgba(13,14,16,.1) 100%)}
.srv3-hero .contenido{position:relative;z-index:2;width:100%;max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem) clamp(2.2rem,5vh,3.6rem);display:grid;grid-template-columns:1.4fr .6fr;gap:2.5rem;align-items:end}
.srv3-hero .eslogan{margin:0 0 1.4rem;color:#fff;font-size:clamp(2rem,4.4vw,3.6rem);font-weight:600;letter-spacing:-.02em;line-height:1.14;max-width:19ch}
.srv3-hero .eslogan em{font-family:inherit;font-style:normal;font-weight:inherit}
.srv3-hero h1.nota{color:rgba(255,255,255,.85);font-size:.88rem;font-weight:400;line-height:1.65;border-top:1px solid rgba(255,255,255,.35);padding-top:1rem;margin:0}

/* statement */
.srv3 .statement{position:relative;background:var(--negro);padding:7.5rem 0 7rem;overflow:hidden}
.srv3 .statement .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem);position:relative;z-index:2}
.srv3 .statement h2{margin:0;color:#fff;font-size:clamp(1.7rem,3.6vw,3rem);font-weight:600;letter-spacing:-.025em;line-height:1.22;max-width:24ch}
.srv3 .st-letra{opacity:.14;transition:opacity .18s linear}
.srv3 .st-letra.va{opacity:1}
.srv3 .tubo{position:absolute;top:0;right:6%;height:100%;z-index:1;pointer-events:none}
.srv3 .tubo path{fill:none;stroke:var(--naranja);stroke-width:2;opacity:.8;stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 2.6s cubic-bezier(.4,0,.2,1)}
.srv3 .statement.on .tubo path{stroke-dashoffset:0}

/* bandas de servicios */
.srv3 .srv-banda{position:relative;display:block;height:62vh;min-height:420px;overflow:hidden;text-decoration:none;border-top:1px solid rgba(255,255,255,.08)}
.srv3 .srv-banda .bg{position:absolute;inset:0;background-position:center;background-size:cover;transition:transform .9s cubic-bezier(.2,.6,.2,1)}
.srv3 .srv-banda:hover .bg{transform:scale(1.045)}
.srv3 .srv-banda::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(13,14,16,.85) 0%,rgba(13,14,16,.45) 50%,rgba(13,14,16,.12) 100%)}
.srv3 .srv-banda .inner{position:relative;z-index:2;max-width:1380px;height:100%;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center}
.srv3 .srv-banda .meta{font-family:var(--mono);font-size:.74rem;font-weight:500;letter-spacing:.14em;color:rgba(255,255,255,.6);margin-bottom:1rem}
.srv3 .srv-banda h3{margin:0 0 .55rem;color:#fff;font-size:clamp(1.6rem,3.2vw,2.6rem);font-weight:700;letter-spacing:-.025em;max-width:16ch}
.srv3 .srv-banda p{margin:0 0 1.4rem;color:rgba(255,255,255,.78);font-size:.95rem;line-height:1.6;max-width:460px}
.srv3 .srv-banda .link{display:inline-flex;align-items:center;gap:.55rem;color:#fff;font-family:var(--mono);font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.srv3 .srv-banda .link .fl{display:inline-grid;place-items:center;width:34px;height:34px;border:1.5px solid rgba(255,255,255,.5);border-radius:50%;transition:all .25s;font-size:1rem;font-family:var(--fuente,inherit)}
.srv3 .srv-banda:hover .link .fl{background:var(--naranja);border-color:var(--naranja);transform:translateX(4px)}

/* teleasistencia: consola remota */
.srv3 .tele{background:#111214;border-top:1px solid rgba(255,255,255,.08);padding:5rem 0 5.5rem}
.srv3 .tele .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.srv3 .tele h3{margin:0 0 .6rem;color:#fff;font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:700;letter-spacing:-.02em}
.srv3 .tele p{margin:0 0 1.6rem;color:rgba(255,255,255,.65);font-size:.95rem;max-width:460px;line-height:1.65}
.srv3 .term{position:relative;background:#0a0d10;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:1.4rem 1.6rem 1.6rem;font-family:var(--mono);font-size:.82rem;line-height:2.1;color:#9a9da3;min-height:220px}
.srv3 .term::before,.srv3 .term::after,.srv3 .term .esq::before,.srv3 .term .esq::after{content:"";position:absolute;width:14px;height:14px;border-color:rgba(255,255,255,.45);border-style:solid}
.srv3 .term::before{top:-1px;left:-1px;border-width:1.5px 0 0 1.5px}
.srv3 .term::after{top:-1px;right:-1px;border-width:1.5px 1.5px 0 0}
.srv3 .term .esq::before{bottom:-1px;left:-1px;border-width:0 0 1.5px 1.5px}
.srv3 .term .esq::after{bottom:-1px;right:-1px;border-width:0 1.5px 1.5px 0}
.srv3 .term .cab-term{display:flex;align-items:center;gap:.45rem;margin-bottom:1rem}
.srv3 .term .cab-term i{width:9px;height:9px;border-radius:50%;background:#3a3f49;display:inline-block}
.srv3 .term .cab-term span{margin-left:.6rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#6d7076}
.srv3 .term .ln{display:block;opacity:0;transform:translateY(4px);transition:opacity .4s ease,transform .4s ease}
.srv3 .term .ln.va{opacity:1;transform:none}
.srv3 .term .ln b{color:#fff;font-weight:500}
.srv3 .term .ln .ok{color:var(--naranja-vivo)}
.srv3 .term .cursor{display:inline-block;width:8px;height:1.05em;background:var(--naranja-vivo);vertical-align:text-bottom;animation:srv3parpadeo 1s steps(1) infinite}
@keyframes srv3parpadeo{50%{opacity:0}}

/* garantías: tarjetas oscuro/claro */
.srv3 .garantias{background:#fff;padding:6rem 0 6.5rem}
.srv3 .garantias .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.srv3 .garantias .tag-tec{color:#6d7076}
.srv3 .garantias h2{margin:0 0 2.4rem;font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:600;letter-spacing:-.025em;color:var(--carbon)}
.srv3 .gar-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.srv3 .gar{border-radius:6px;padding:2rem 2.1rem 2.2rem;display:flex;flex-direction:column;min-height:230px}
.srv3 .gar.oscura{background:#0a0d10;color:#fff}
.srv3 .gar.clara{background:#e9eaec;color:var(--carbon)}
.srv3 .gar .cab{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2.4rem}
.srv3 .gar h3{margin:0 0 .2rem;font-size:1.25rem;font-weight:600;letter-spacing:-.01em}
.srv3 .gar .sub{margin:0;font-size:.92rem;font-weight:500;color:#9a9da3}
.srv3 .gar.clara .sub{color:#7c7e83}
.srv3 .gar .ico{flex:0 0 auto;width:42px;height:42px;border-radius:50%;display:grid;place-items:center}
.srv3 .gar.oscura .ico{background:rgba(255,255,255,.14)}
.srv3 .gar.clara .ico{background:#0a0d10}
.srv3 .gar .ico svg{width:20px;height:20px;stroke:#fff}
.srv3 .gar p{margin:auto 0 0;font-size:.9rem;line-height:1.65}
.srv3 .gar.oscura p{color:rgba(255,255,255,.85)}
.srv3 .gar.clara p{color:#3d3f44}

/* proceso con esquinas de plano */
.srv3 .proceso3{background:#f7f6f4;padding:6rem 0 6.5rem}
.srv3 .proceso3 .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.srv3 .proceso3 .tag-tec{color:#6d7076}
.srv3 .proceso3 h2{margin:0 0 3rem;font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:600;letter-spacing:-.025em;max-width:22ch;color:var(--carbon)}
.srv3 .pasos3{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.srv3 .paso3{position:relative;background:#fff;padding:1.8rem 1.5rem 1.9rem;border:1px solid var(--linea)}
.srv3 .paso3::before,.srv3 .paso3::after,.srv3 .paso3 .esq::before,.srv3 .paso3 .esq::after{content:"";position:absolute;width:14px;height:14px;border-color:var(--carbon);border-style:solid}
.srv3 .paso3::before{top:-1px;left:-1px;border-width:1.5px 0 0 1.5px}
.srv3 .paso3::after{top:-1px;right:-1px;border-width:1.5px 1.5px 0 0}
.srv3 .paso3 .esq::before{bottom:-1px;left:-1px;border-width:0 0 1.5px 1.5px}
.srv3 .paso3 .esq::after{bottom:-1px;right:-1px;border-width:0 1.5px 1.5px 0}
.srv3 .paso3 .n{font-family:var(--mono);font-size:.8rem;font-weight:500;color:var(--naranja);letter-spacing:.1em;display:block;margin-bottom:2.6rem}
.srv3 .paso3 .ico-paso{display:block;color:var(--naranja);margin-bottom:2.2rem}
.srv3 .paso3 .ico-paso svg{width:28px;height:28px}
.srv3 .paso3 h3{margin:0 0 .45rem;font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--carbon)}
.srv3 .paso3 p{margin:0;font-size:.85rem;color:var(--gris);line-height:1.6}

/* cierre naranja: ajustes sobre el bloque global */
.srv3 .cta-form .cta-texto p{color:#fff;font-size:1.02rem;line-height:1.7}

/* pre-footer statement */
.srv3 .prefooter{position:relative;background:var(--negro);padding:9rem 0 8rem;overflow:hidden;text-align:center}
.srv3 .prefooter svg.lineas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.srv3 .prefooter svg.lineas path{fill:none;stroke:#3a3f49;stroke-width:1;opacity:.5}
.srv3 .prefooter svg.lineas path.acento{stroke:var(--naranja);stroke-width:2;opacity:.9}
.srv3 .prefooter .inner{position:relative;z-index:2;max-width:900px;margin:0 auto;padding:0 1.5rem}
.srv3 .prefooter h2{margin:0 0 2.2rem;color:#fff;font-size:clamp(1.7rem,3.6vw,3rem);font-weight:600;letter-spacing:-.025em;line-height:1.22}
.srv3 .prefooter .inner{max-width:960px}
.srv3 .prefooter .form-candidatura{margin:0 auto;text-align:left;max-width:860px}
.srv3 .prefooter .form-candidatura h2{color:var(--carbon);font-size:1.35rem;margin:0 0 .4rem;letter-spacing:-.01em}
.srv3 .prefooter h2{margin-bottom:2.8rem}

@media (max-width:900px){
  .srv3-hero{background-position:66% center}
  .home3 .home-hero{min-height:520px;height:82vh}
  .srv3-hero .contenido{grid-template-columns:1fr}
  .srv3 .srv-banda{height:56vh}
  .srv3 .tele .inner{grid-template-columns:1fr}
  .srv3 .gar-grid{grid-template-columns:1fr}
  .srv3 .pasos3{grid-template-columns:1fr 1fr}
  .srv3 .tubo{display:none}
}
@media (max-width:560px){.srv3 .pasos3{grid-template-columns:1fr}}

/* ===== home v3: bloques propios (hereda el sistema .srv3) ===== */
.home3 .home-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home3 .home-hero{background-color:#0d0e10;background-size:cover;background-position:center;background-repeat:no-repeat}
.home3 .home-hero h1.eslogan{margin:0 0 1.4rem;color:#fff;font-size:clamp(2rem,4.4vw,3.6rem);font-weight:600;letter-spacing:-.02em;line-height:1.14;max-width:17ch}
.home3 .home-hero h1.eslogan em{font-family:inherit;font-style:normal;font-weight:inherit;color:var(--naranja-vivo)}
.home3 .home-hero .ctas{display:flex;gap:1rem;flex-wrap:wrap}
.home3 .home-hero .nota{color:rgba(255,255,255,.85);font-size:.88rem;font-weight:400;line-height:1.65;border-top:1px solid rgba(255,255,255,.35);padding-top:1rem;margin:0}

.marcas3{background:#0d0e10;border-top:1px solid rgba(255,255,255,.08);padding:2.4rem 0 2.6rem;overflow:hidden}
.marcas3 .tag-tec.centro{text-align:center;margin-bottom:1.6rem}
.marcas3 .pista{display:flex;gap:4.5rem;align-items:center;width:max-content;animation:marcas3marquee 36s linear infinite;padding:0 2rem}
.marcas3 img{height:58px;width:auto;opacity:.75;transition:opacity .2s}
.marcas3 img:hover{opacity:1}
@keyframes marcas3marquee{to{transform:translateX(-50%)}}

.home3 .cats{background:#0d0e10;padding:3.5rem 0 6.5rem}
.home3 .cats .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.home3 .cats .cab{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:2.2rem}
.home3 .cats h2{margin:0;color:#fff;font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:600;letter-spacing:-.025em}
.home3 .cats-pista{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:none}
.home3 .cats-pista::-webkit-scrollbar{display:none}
.home3 .ccard{position:relative;flex:0 0 min(72vw,560px);aspect-ratio:4/3.1;border-radius:8px;overflow:hidden;scroll-snap-align:start;text-decoration:none;background:#fff}
.home3 .ccard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.home3 .ccard:hover img{transform:scale(1.04)}
.home3 .ccard .panel{position:absolute;left:1.1rem;bottom:1.1rem;max-width:78%;background:rgba(60,62,68,.6);backdrop-filter:blur(6px);padding:1rem 1.2rem;border-radius:4px;color:#fff}
.home3 .ccard .panel .etq{font-family:var(--mono);font-size:.64rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#e9e9ea;display:block;margin-bottom:.4rem}
.home3 .ccard .panel .etq::before{content:"▪ "}
.home3 .ccard .panel h3{margin:0 0 .3rem;font-size:1.3rem;font-weight:600;letter-spacing:-.015em}
.home3 .ccard .panel p{margin:0;font-size:.8rem;line-height:1.5;color:rgba(255,255,255,.85)}
.home3 .cats .flechas{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.4rem}
.home3 .cats .flechas button{width:44px;height:44px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:1.1rem;cursor:pointer;transition:all .2s}
.home3 .cats .flechas button:hover{background:var(--naranja);border-color:var(--naranja)}

.prods3{background:#fff;padding:5.5rem 0 6rem}
.prods3 .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.prods3 .cab{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:2.2rem}
.prods3 .tag-tec{color:#6d7076;margin-bottom:.6rem}
.prods3 h2{margin:0;font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:600;letter-spacing:-.025em;color:var(--carbon)}
.prods3 .fila{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.prods3 .pcard{border:1px solid #ececec}
.prods3 .productos-grid{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.prods3 .productos-grid{grid-template-columns:repeat(2,1fr)}}
.pcard3{text-decoration:none;border:1px solid #ececec;border-radius:8px;overflow:hidden;background:#fff;transition:box-shadow .2s;display:block}
.pcard3:hover{box-shadow:0 14px 34px rgba(23,26,32,.12)}
.pcard3 img{width:100%;aspect-ratio:8/5;object-fit:cover;display:block}
.pcard3 .cuerpo{padding:1rem 1.1rem 1.2rem}
.pcard3 .etq{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#6d7076;display:block;margin-bottom:.35rem}
.pcard3 h3{margin:0;font-size:.95rem;font-weight:600;color:var(--carbon);line-height:1.4}

.servs{background:#f7f6f4;padding:5.5rem 0 6rem;border-top:1px solid var(--linea)}
.servs .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.servs .cab{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:end;margin-bottom:2.6rem}
.servs .tag-tec{color:#6d7076;margin-bottom:.6rem}
.servs h2{margin:0;font-size:clamp(1.7rem,3.4vw,2.7rem);font-weight:600;letter-spacing:-.025em;max-width:36ch;color:var(--carbon)}
.servs h2 em{font-family:inherit;font-style:normal;font-weight:inherit;display:block}
.servs .cab p{margin:0;font-size:.9rem;color:var(--gris);line-height:1.6}
.servs .fila{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.scol{text-decoration:none;display:block}
.scol .etq{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#6d7076;display:block;margin-bottom:.45rem}
.scol .marco{margin-bottom:.9rem}
.scol .marco{border-radius:8px;overflow:hidden;background:#0a0d10;margin-bottom:1.1rem}
.scol .marco img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.6,.2,1)}
.scol:hover .marco img{transform:scale(1.05)}
.scol h3{margin:0 0 .4rem;font-size:1.15rem;font-weight:600;color:var(--carbon)}
.scol p{margin:0;font-size:.86rem;color:var(--gris);line-height:1.6}
.scol .ir{display:inline-block;margin-top:.7rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--carbon);border-bottom:2px solid var(--naranja);padding-bottom:2px}
.scol a{text-decoration:none}
.scol .minis{display:flex;gap:1.2rem;margin-top:.8rem;flex-wrap:wrap}
.scol .minis a{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--carbon);border-bottom:2px solid var(--naranja);padding-bottom:2px}
.scol .minis a:hover{color:var(--naranja)}
.servs .cab .btn-mono{margin-top:.9rem}

.notis3{background:#f7f6f4;padding:5.5rem 0 6rem;border-top:1px solid var(--linea)}
.notis3 .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.notis3 .cab{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:2.2rem}
.notis3 .tag-tec{color:#6d7076;margin-bottom:.6rem}
.notis3 h2{margin:0;font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:600;letter-spacing:-.025em;color:var(--carbon)}
.notis3 .fila{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.ncard3{text-decoration:none;display:block}
.ncard3 img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px;display:block;margin-bottom:.9rem}
.ncard3 .meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#6d7076;display:block;margin-bottom:.5rem}
.ncard3 h3{margin:0 0 .5rem;font-size:1.05rem;font-weight:600;color:var(--carbon);line-height:1.4}
.ncard3 .ir{display:inline-block;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--carbon);border-bottom:2px solid var(--naranja);padding-bottom:2px}

.news3{background:var(--naranja);padding:3.2rem 0}
.news3 .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.news3 h3{margin:0;color:#fff;font-size:1.25rem;font-weight:600}
.news3 p{margin:.2rem 0 0;color:var(--carbon);font-size:.84rem;font-weight:500}
.news3 form{display:flex;flex-direction:column;gap:.6rem;align-items:flex-end}
.news3 .ramos{display:flex;gap:1.2rem}
.news3 .ramos label{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--carbon);display:flex;align-items:center;gap:.4rem;cursor:pointer}
.news3 .ramos input{accent-color:var(--carbon)}
.news3 .linea{display:flex;gap:.6rem}
.news3 .datos{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
.news3 input[type=email],.news3 .datos input{font-family:var(--mono);font-size:.78rem;background:#fff;border:1px solid #fff;border-radius:4px;color:var(--carbon);padding:.85rem 1rem;min-width:260px}
.news3 .datos input{min-width:0;flex:1 1 140px}
.news3 input[type=email]::placeholder,.news3 .datos input::placeholder{color:#6d7076}
.news3 .btn-mono{cursor:pointer;background:var(--carbon);border-color:var(--carbon)}
.news3 .btn-mono:hover{background:var(--carbon);border-color:var(--carbon)}
.news3 .trampa{position:absolute;left:-5000px}
.news3 .aviso{font-size:.72rem;color:var(--carbon)}
.news3 .aviso a{color:var(--carbon);text-decoration:underline;text-underline-offset:2px}

@media (max-width:900px){
  .prods3 .fila{grid-template-columns:1fr 1fr}
  .servs .cab,.servs .fila,.notis3 .fila{grid-template-columns:1fr}
  .news3 form{align-items:flex-start}
}


/* ===== landings internas de servicios (v3) ===== */
.srvint{background:#fff}
.srvint-hero{height:56vh;min-height:420px}
.srvint-hero .contenido{display:block;max-width:1380px}
.srvint-hero .miga{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:1rem}
.srvint-hero .miga a{color:rgba(255,255,255,.7);text-decoration:none}
.srvint-hero .miga a:hover{color:#fff}
.srvint-hero .miga span{color:rgba(255,255,255,.45)}
.srvint-hero .miga span[aria-current]{color:rgba(255,255,255,.9)}
.srvint-hero h1{color:#fff;font-size:clamp(2rem,4vw,3.2rem);font-weight:600;letter-spacing:-.02em;line-height:1.12;margin:0 0 .8rem;max-width:18ch}
.srvint-hero .lead{color:rgba(255,255,255,.85);max-width:560px;font-size:.95rem;line-height:1.65;margin:0 0 1.7rem}
.srvint .corp-seccion{padding-top:3.8rem}
.srvint .corp-seccion,.srvint .corp-galeria,.srvint .corp-tipos{max-width:1380px;padding-left:clamp(1.5rem,4vw,3.5rem);padding-right:clamp(1.5rem,4vw,3.5rem)}
.srvint .tag-tec{color:#6d7076}
.srvint .corp-tipos>h2{color:var(--carbon)}
.corp-tipos.dos .tipos-grid{grid-template-columns:1fr 1fr}
@media (max-width:560px){.corp-tipos.dos .tipos-grid{grid-template-columns:1fr}}
.srvint .tipos-grid .tipo{position:relative;background:#fff;border:1px solid var(--linea);border-radius:0;padding:1.5rem 1.4rem 1.6rem}
.srvint .tipo::before,.srvint .tipo::after,.srvint .tipo .esq::before,.srvint .tipo .esq::after{content:"";position:absolute;width:14px;height:14px;border-color:var(--naranja);border-style:solid}
.srvint .tipo::before{top:-1px;left:-1px;border-width:1.5px 0 0 1.5px}
.srvint .tipo::after{top:-1px;right:-1px;border-width:1.5px 1.5px 0 0}
.srvint .tipo .esq::before{bottom:-1px;left:-1px;border-width:0 0 1.5px 1.5px}
.srvint .tipo .esq::after{bottom:-1px;right:-1px;border-width:0 1.5px 1.5px 0}
.srv3 .prefooter .pf-sub{color:#9a9da3;font-size:.95rem;line-height:1.65;margin:-1.2rem auto 2.6rem;max-width:520px}


/* intro tras el hero (titular dos tonos + apoyo) */
.intro-int{background:#f7f6f4;padding:3.6rem 0 4.2rem}
.intro-int .inner{max-width:1380px;margin:0 auto;padding:2.2rem clamp(1.5rem,4vw,3.5rem) 0;border-top:1px solid #d9d6d0;display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.intro-int h2{margin:0;font-size:clamp(1.7rem,3.3vw,2.6rem);font-weight:600;letter-spacing:-.028em;line-height:1.16;color:var(--carbon);max-width:20ch}
.intro-int h2 .g{color:#9a9da3}
.intro-int .apoyo .d1{margin:0 0 .8rem;font-size:1.02rem;font-weight:600;color:var(--carbon);line-height:1.55}
.intro-int .apoyo .d2{margin:0;font-size:.9rem;color:var(--gris);line-height:1.65}
@media (max-width:900px){.intro-int .inner{grid-template-columns:1fr}}

/* guía de matricería y utillajes */
.guia-mu{background:#fff;padding:4.5rem 0 5rem}
.guia-mu .inner{max-width:940px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.guia-mu h2{margin:0 0 1.6rem;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:600;letter-spacing:-.025em;color:var(--carbon)}

/* ===== landings de categoría v3 ===== */
.lnd3{background:#fff;padding-top:0}
.lnd3 .lnd3-cab{max-width:none;margin:0 auto;padding:2.8rem clamp(1.5rem,4vw,3.5rem) 2.4rem}
.lnd3 .lnd3-cab .miga{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#6d7076;margin-bottom:.9rem}
.lnd3 .lnd3-cab .miga a{color:#6d7076;text-decoration:none}
.lnd3 .lnd3-cab .miga a:hover{color:var(--carbon)}
.lnd3 .lnd3-cab .miga span{color:#c2beb6}
.lnd3 .lnd3-cab .miga span[aria-current]{color:var(--carbon)}
.lnd3 .lnd3-cab h1{margin:0 0 .5rem;font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:600;letter-spacing:-.02em;color:var(--carbon)}
.lnd3 .lnd3-cab .lead{margin:0;color:var(--gris);font-size:.95rem;line-height:1.6;max-width:600px}
.lnd3 .barra-filtros{padding-top:2.2rem;max-width:none;margin:0 auto}
.lnd3 .landing-productos{max-width:none;margin:0 auto;background:#fff}
.lnd3 .paginacion{max-width:none;margin:0 auto}
@media (min-width:1600px){.lnd3 .productos-grid{grid-template-columns:repeat(4,1fr)}}
.lnd3 .lnd3-cat-cab .tag-tec{margin-bottom:.5rem}
.lnd3 .lnd3-cat-cab h2{margin:0 0 1.2rem;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:600;letter-spacing:-.025em;color:var(--carbon)}
.lnd3 .familias3{background:#fff;padding:2.2rem 0 1rem}
.lnd3 .familias3 .inner{max-width:none;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.lnd3 .familias3 .fila{display:flex;gap:1.3rem}
.lnd3 .familias3.slider .fila{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding-bottom:.6rem;scrollbar-width:none}
.lnd3 .familias3 .inner{position:relative}
.lnd3 .familias3 .flechas button{position:absolute;top:40%;transform:translateY(-50%);z-index:2;border:0;background:none;padding:.2rem;color:#b6b8bd;line-height:0;cursor:pointer;transition:color .2s}
.lnd3 .familias3 .flechas svg{width:28px;height:28px;display:block}
.lnd3 .familias3 .flechas button:hover{color:var(--carbon)}
.lnd3 .familias3 .fl-izq{left:calc(clamp(1.5rem,4vw,3.5rem) - 22px)}
.lnd3 .familias3 .fl-dcha{right:calc(clamp(1.5rem,4vw,3.5rem) - 22px)}
.lnd3 .familias3.slider .fila::-webkit-scrollbar{display:none}
.lnd3 .fcard{flex:0 0 calc((100% - 6.5rem)/6);min-width:150px;scroll-snap-align:start}
.lnd3 .fcard{text-decoration:none;display:block}
.lnd3 .fcard .etq{font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#6d7076;display:block;border-top:1px dashed #c2beb6;padding-top:.65rem;margin-bottom:.9rem}
.lnd3 .fcard .marco{background:#fff;border-radius:6px;padding:1.2rem;margin-bottom:.8rem;min-height:120px}
.lnd3 .fcard .marco img{width:100%;aspect-ratio:4/3;object-fit:contain;display:block;transition:transform .5s cubic-bezier(.2,.6,.2,1)}
.lnd3 .fcard:hover .marco img{transform:scale(1.05)}
.lnd3 .fcard :is(h2,h3){margin:0;font-size:.82rem;font-weight:400;color:var(--carbon);text-align:center}
.lnd3 .pilares{background:#fff;padding:4.5rem 0 5rem}
.lnd3 .pilares .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.lnd3 .pilares h2{margin:0 0 1rem;font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:600;letter-spacing:-.025em;color:var(--carbon)}
.lnd3 .pilares .g-intro{margin:0 0 2.4rem;font-size:.95rem;color:var(--gris);line-height:1.7;max-width:720px}
.lnd3 .pilares .fila{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.lnd3 .pilar .num{font-size:1.6rem;font-weight:600;color:#c9c5be;border-bottom:1px dashed #c9c5be;padding-bottom:.5rem;margin-bottom:1.1rem;font-family:var(--mono)}
.lnd3 .pilar img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px;display:block;margin-bottom:1rem;background:#fff;border:1px solid var(--linea)}
.lnd3 .pilar .etq{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#6d7076;display:block;margin-bottom:.4rem}
.lnd3 .pilar h3{margin:0 0 .5rem;font-size:1.08rem;font-weight:700;color:var(--carbon)}
.lnd3 .pilar .cuerpo{font-size:.86rem;color:var(--gris);line-height:1.65}
.lnd3 .pilar .cuerpo p{margin:0 0 .7rem}
.lnd3 .pilar .cuerpo ul{margin:0 0 .7rem;padding-left:1.1rem}
.lnd3 .pilar .cuerpo strong{color:var(--carbon)}
.lnd3 .cifras3{background:var(--negro);padding:5rem 0;text-align:center}
.lnd3 .cifras3 .inner{max-width:960px;margin:0 auto;padding:0 1.5rem}
.lnd3 .cifras3 h2{margin:0;color:#fff;font-size:clamp(1.6rem,3.2vw,2.6rem);font-weight:600;letter-spacing:-.02em;line-height:1.25}
.lnd3 .busquedas3{background:#fff;padding:2.4rem 0}
.lnd3 .busquedas3 .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.lnd3 .busquedas3 p{margin:0;font-size:.85rem;color:var(--gris)}
.lnd3 .busquedas3 b{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#6d7076;font-weight:500;margin-right:.6rem}
.lnd3 .busquedas3 a{color:var(--carbon);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.lnd3 .marcas3b{background:var(--negro);border-top:1px solid rgba(255,255,255,.08);padding:2.8rem 0}
.lnd3 .marcas3b .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem);display:flex;align-items:center;justify-content:center;gap:4rem;flex-wrap:wrap}
.lnd3 .marcas3b img{height:44px;width:auto;opacity:.75}
@media (max-width:900px){.lnd3 .pilares .fila{grid-template-columns:1fr}}


/* empresa adaptada al sistema v3 */
.empv3{background:#fff}
.empv3 .cab .miga.mono{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#6d7076}
.empv3 .cab .miga.mono a{color:#6d7076;text-decoration:none}
.empv3 .cab .miga.mono a:hover{color:var(--carbon)}
.empv3 .tag-tec{color:#6d7076;margin-bottom:.8rem}
.empv3 .prefooter .btn-mono{margin-top:.4rem}


/* buscador */
.buscador3 .buscar-form{display:flex;gap:.7rem;margin-top:1.4rem;max-width:560px}
.buscador3 .buscar-form input{flex:1;border:1px solid var(--linea);border-radius:6px;padding:.85rem 1.1rem;font-size:.92rem;font-family:inherit}
.buscador3 .buscar-form input:focus{outline:2px solid var(--naranja);outline-offset:0;border-color:var(--naranja)}
.buscador3 .buscar-form .btn-mono{cursor:pointer;background:#fff}
.buscador3 .landing-productos{padding-top:2.4rem}

/* hub de marcas */
.marcas-rejilla{padding:2.6rem 0 4rem}
.marcas-rejilla .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.marcas-rejilla .fila{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.mcard{text-decoration:none;display:block;text-align:center}
.mcard .marco{background:#fff;border:1px solid var(--linea);border-radius:8px;padding:2rem 1.6rem;display:grid;place-items:center;min-height:130px;margin-bottom:.7rem;transition:box-shadow .2s}
.mcard:hover .marco{box-shadow:0 12px 30px rgba(23,26,32,.1)}
.mcard .marco img{max-height:56px;width:auto;max-width:80%}
.mcard h3{margin:0;font-size:.88rem;font-weight:500;color:var(--carbon)}
@media (max-width:900px){.marcas-rejilla .fila{grid-template-columns:1fr 1fr}}

/* página de marca */
.marca-pag .cab-marca{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.marca-pag .logo-marca img{max-height:64px;width:auto}
.marca-pag .landing-productos{padding-top:2.4rem}


/* ===== overlay de búsqueda ===== */
.buscador-velo{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(13,14,16,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .25s ease}
.buscador-velo.abierto{opacity:1;pointer-events:auto}
.buscador-velo .cerrar{position:absolute;top:1.4rem;right:1.8rem;border:0;background:none;color:rgba(255,255,255,.7);font-size:2.2rem;font-weight:300;line-height:1;cursor:pointer;transition:color .2s}
.buscador-velo .cerrar:hover{color:#fff}
.buscador-velo .caja{width:min(680px,88vw);transform:translateY(10px);transition:transform .25s ease}
.buscador-velo.abierto .caja{transform:none}
.buscador-velo .etq{display:block;font-family:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:1rem}
.buscador-velo input{width:100%;background:none;border:0;border-bottom:2px solid rgba(255,255,255,.4);color:#fff;font-family:inherit;font-size:clamp(1.4rem,3vw,2rem);font-weight:600;padding:.4rem 0 .7rem;transition:border-color .2s}
.buscador-velo input::placeholder{color:rgba(255,255,255,.35);font-weight:400}
.buscador-velo input:focus{outline:none;border-color:var(--naranja-vivo)}
.buscador-velo .ir{margin-top:1.3rem;border:1px solid rgba(255,255,255,.5);background:none;color:#fff;font-family:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 1.4rem;border-radius:4px;cursor:pointer;transition:all .2s}
.buscador-velo .ir:hover{background:var(--naranja);border-color:var(--naranja)}


/* páginas corporativas bajo el sistema v3 */
.pagv3{background:#fff}
.pagv3 .tag-tec{color:#6d7076;margin-bottom:.6rem}


/* botón contacto del header (desktop) */
.der .boton-contacto{background:var(--naranja);color:#fff;font-weight:600;font-size:.88rem;padding:.5rem 1.15rem;border-radius:6px;text-decoration:none;white-space:nowrap;transition:background .15s}
.der .boton-contacto:hover{background:var(--naranja-vivo)}
.der .icono-sobre{display:none}
@media (max-width:820px){.der .boton-contacto{display:none}.der .icono-sobre{display:inline-grid}}

/* calidad v3 */
.calv3 .cert3{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem) 3rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.calv3 .cert3 .sello{border:1px solid var(--linea);border-radius:8px;padding:1.4rem 1.8rem}
.calv3 .cert3 .sello strong{display:block;font-size:1.15rem;letter-spacing:-.01em}
.calv3 .cert3 .sello span{font-size:.84rem;color:var(--gris)}
.calv3 .cert3 .botones{display:flex;gap:.8rem;flex-wrap:wrap}
.calv3 .objetivos{background:var(--hueso);padding:4rem 0 4.5rem}
.calv3 .objetivos .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.calv3 .objetivos h2{margin:0 0 .8rem;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:600;letter-spacing:-.025em}
.calv3 .objetivos .g-intro{margin:0 0 2.2rem;font-size:.95rem;color:var(--gris);max-width:680px;line-height:1.7}
.calv3 .objetivos .pasos3{grid-template-columns:repeat(3,1fr)}
.calv3 .objetivos .paso3 p{font-size:.85rem}
.calv3 .compromiso{max-width:900px;margin:0 auto;padding:3.4rem clamp(1.5rem,4vw,3.5rem)}
.calv3 .compromiso p{font-size:.95rem;color:#3d3b38;line-height:1.75;margin:0 0 1rem}
@media (max-width:900px){.calv3 .objetivos .pasos3{grid-template-columns:1fr}}

/* mapa web v3 */
.mapa3 .mapa-cols{max-width:1380px;margin:0 auto;padding:1rem clamp(1.5rem,4vw,3.5rem) 5rem;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:clamp(1.5rem,3vw,3rem)}
.mapa3 .tag-tec{border-bottom:1px solid var(--linea);padding-bottom:.55rem;margin-bottom:.9rem;display:block}
.mapa3 .tag-tec.espacio{margin-top:2.2rem}
.mapa3 ul{list-style:none;margin:0;padding:0}
.mapa3 li{line-height:2.05}
.mapa3 a{font-size:.9rem;color:var(--carbon);text-decoration:none}
.mapa3 a:hover{color:var(--naranja);text-decoration:underline;text-underline-offset:3px}
.mapa3 .nivel-1{padding-left:1rem;border-left:1px solid var(--linea);margin:.2rem 0 .4rem}
.mapa3 .nivel-1 a{font-size:.84rem;color:var(--gris)}
.mapa3 .nivel-2{padding-left:1rem;border-left:1px solid var(--linea)}
.mapa3 .nivel-2 a{font-size:.8rem;color:#6d7076}
@media (max-width:1000px){.mapa3 .mapa-cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.mapa3 .mapa-cols{grid-template-columns:1fr}}

/* ============================================================ PARCHES RESPONSIVE (auditoría ago 2026) */
/* 1 · newsletter: la fila email+botón no cabía en 375 y desbordaba toda la home */
@media (max-width:700px){
  .news3 form{width:100%;align-items:stretch}
  .news3 .linea{flex-wrap:wrap}
  .news3 input[type=email]{min-width:0;flex:1 1 100%}
  .news3 .linea .btn-mono{flex:1 0 auto}
  .news3 .datos{justify-content:flex-start}
}
/* 2 · tira de subfamilias también deslizable sin modo slider (≤6 hijas) */
@media (max-width:1040px){
  .lnd3 .familias3 .fila{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding-bottom:.6rem;scrollbar-width:none}
  .lnd3 .familias3 .fila::-webkit-scrollbar{display:none}
}
/* 3 · paginación: envolver para que la página activa no quede fuera de pantalla */
.paginacion{flex-wrap:wrap}
/* 4 · tablas de posts con scroll propio */
@media (max-width:760px){
  .entrada table{display:block;max-width:100%;overflow-x:auto}
}
/* 5 · ficha: 100vw incluía la scrollbar y provocaba scroll lateral en escritorio */
.ficha-hero{width:100%;margin-left:0}
/* 6 · buscador: placeholder legible en móvil */
@media (max-width:640px){
  .buscador-velo input{font-size:1.05rem}
}

/* ============================================================ ACCESIBILIDAD AA/100 (auditoría PageSpeed ago 2026) */
/* contraste: texto naranja y grises que no llegaban a 4,5:1 */
.pcard .marca-arriba{color:#767676}
.cat-chip{color:var(--naranja-texto)}
.ncard .leer,.srv-card .leer{color:var(--naranja-texto)}
.empresa-v2 .tl .ano{color:var(--naranja-texto)}
.empresa-v2 .tl .ano.claro{color:#9c5f00}
.empresa-v2 .tl-hito .texto em{color:var(--naranja-texto)}
.empresa-v2 .persona .cargo{color:var(--naranja-texto)}
.descarga-min span{color:#6f6f6f}
.intro-int h2 .g{color:#7d8087}
.srv3 .term .cab-term span{color:#969aa2}
.cf-legal a,.aviso a{color:var(--naranja-texto);text-decoration:underline}
/* newsletter naranja: texto a negro puro y titular en bold (texto grande) */
.news3 h3{font-weight:700}
.news3 p,.news3 .ramos label,.news3 .aviso{color:#000}
.news3 .aviso a{color:#000;text-decoration:underline}
/* botón de la barra de solicitud: naranja accesible */
#barra-solicitud .boton{background:#c74600}
/* puntos del slider de ficha: 8px visuales con área táctil de 24px */
.fs-puntos{display:flex;gap:.1rem}
.fs-puntos .punto{width:24px;height:24px;border-radius:50%;border:0;padding:0;background:transparent;cursor:pointer;position:relative}
.fs-puntos .punto::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#d0d0d0;transition:background .15s}
.fs-puntos .punto.activo{background:transparent}
.fs-puntos .punto.activo::after{background:var(--carbon)}

/* vendidas ocultas por defecto en los listados (siguen en el HTML: indexables) */
.productos-grid .pcard.es-vendida{display:none}
.productos-grid.ver-vendidas .pcard.es-vendida{display:block}
.fila-vendidas{text-align:center;margin:1.6rem 0 0}
.fila-vendidas .btn-vendidas{cursor:pointer}
/* respaldo legal sin JavaScript */
.legales-noscript{font-size:.74rem}
.legales-noscript a{color:#8a8781}

/* banner de cookies compacto en móvil: mismo contenido y botones, menos pantalla
   (evita además que el banner sea el elemento LCP en los listados) */
@media (max-width:640px){
  .lw-banner-visible .lw-banner-wrapper{padding:.7rem .9rem !important}
  .lw-banner-visible .lw-banner-text{font-size:.68rem !important;line-height:1.45 !important;max-height:54px;overflow-y:auto}
  .lw-banner-visible .lw-banner-buttons{display:flex !important;flex-direction:row !important;gap:.45rem !important;margin-top:.6rem !important}
  .lw-banner-visible .lw-banner-buttons .lw-button{flex:1 1 0;padding:.55rem .4rem !important;font-size:.76rem !important;white-space:nowrap}
}

/* hero de la home: versión ligera (7 KB) en móvil */
@media (max-width:640px){
  .home-hero{background-image:url('/wp-content/uploads/2026/08/home/hero-home-900.webp') !important}
}

/* filtro de capacidad: bloque de máquinas sin dato */
.bloque-sindato{margin-top:.6rem}
.bloque-sindato .grid-sindato{margin-top:1.6rem;opacity:.85}

/* ============================================================ 404 */
.srv3 .p404{position:relative;background:var(--negro);color:#fff;padding:9rem 0 10rem;overflow:hidden}
.srv3 .p404 .inner{position:relative;max-width:760px;margin:0 auto;padding:0 1.5rem;text-align:center}
.srv3 .p404 .inner::before,.srv3 .p404 .inner::after{
  content:"";position:absolute;width:56px;height:56px;border:1px solid rgba(255,255,255,.22);pointer-events:none
}
.srv3 .p404 .inner::before{top:-2.6rem;left:-.5rem;border-right:0;border-bottom:0}
.srv3 .p404 .inner::after{bottom:-2.6rem;right:-.5rem;border-left:0;border-top:0}
.srv3 .p404 .tag-tec{color:var(--naranja-vivo)}
.srv3 .p404 h1{margin:1.2rem 0 1rem;font-size:clamp(2rem,5vw,3.4rem);font-weight:600;letter-spacing:-.03em}
.srv3 .p404 .sub{margin:0 auto 2.4rem;color:#9a9da3;font-size:.98rem;line-height:1.65;max-width:480px}
.srv3 .p404 .busca404{display:flex;gap:.6rem;justify-content:center;margin-bottom:2.2rem;flex-wrap:wrap}
.srv3 .p404 .busca404 input{
  font-family:var(--mono);font-size:.82rem;flex:1 1 300px;max-width:420px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;padding:.85rem 1rem
}
.srv3 .p404 .busca404 input::placeholder{color:#9a9da3}
.srv3 .p404 .busca404 .btn-mono{cursor:pointer}
.srv3 .p404 .salidas{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}

/* Antetítulo en naranja (tira de marcas de la home) */
.srv3 .tag-tec.naranja{color:var(--naranja-vivo)}

/* Chips de sub-categoría por tipo, entre la descripción y la barra de filtros */
.lnd3 .chips-tipo{
	max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem);
	display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
}
.lnd3 .chips-tipo .chips-et{
	font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.13em;
	text-transform:uppercase;color:var(--gris);margin-right:.35rem;
}
.lnd3 .chip-tipo{
	display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;text-decoration:none;
	background:#fff;border:1px solid #d9d9d9;border-radius:999px;padding:.42rem .95rem;
	font-size:.86rem;font-weight:500;color:var(--carbon);
	transition:border-color .15s,background .15s,color .15s;
}
.lnd3 .chip-tipo:hover{border-color:var(--carbon)}
.lnd3 .chip-tipo:focus-visible{outline:2px solid var(--naranja);outline-offset:2px}
.lnd3 .chip-tipo small{color:var(--gris);font-size:.75rem;font-variant-numeric:tabular-nums}
.lnd3 .chip-tipo.activo{background:var(--carbon);border-color:var(--carbon);color:#fff}
.lnd3 .chip-tipo.activo small{color:rgba(255,255,255,.66)}
@media (max-width:720px){
	.lnd3 .chips-tipo{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem}
}.esp-galeria{padding:clamp(3rem,7vw,5.5rem) 0;background:#fff}.esp-galeria h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:.6rem 0 2rem;max-width:22ch}.corp-seccion.invertida{grid-template-columns:1.2fr .8fr}.corp-seccion .texto .lista-marcada{list-style:none;margin:0 0 1.2rem;padding:0}.corp-seccion .texto .lista-marcada li{position:relative;padding-left:1.5rem;margin-bottom:.6rem;color:#33373d;font-size:.96rem;line-height:1.6}.corp-seccion .texto .lista-marcada li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--naranja);border-radius:1px}.corp-seccion .texto .btn-mono{margin-top:.4rem;display:inline-block}.sat-capacidades{background:var(--hueso);padding:clamp(3rem,6vw,4.6rem) 0;margin-bottom:1rem}.sat-capacidades .inner,.sat-control .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}.sat-capacidades h2,.sat-control h2{font-size:clamp(1.4rem,2.8vw,2rem);font-weight:600;letter-spacing:-.02em;line-height:1.18;margin:.6rem 0 1.6rem;max-width:22ch}.cap-rejilla{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea)}.cap-rejilla li{background:#fff;padding:1.1rem 1.2rem;font-size:.94rem;line-height:1.55;color:#33373d}.sat-control{padding:clamp(3rem,6vw,4.6rem) 0}.sat-control .intro-control{max-width:68ch;color:#33373d;line-height:1.75;font-size:.96rem;margin:0 0 2rem}.foto-rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:1rem}.foto-rejilla figure{margin:0;overflow:hidden;background:var(--hueso);border-radius:12px}.foto-rejilla img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}@media (max-width:820px){.corp-seccion.invertida{grid-template-columns:1fr}}.intro-simple{padding:clamp(2.6rem,6vw,4.2rem) 0}.intro-simple .inner{max-width:1380px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}.intro-simple .frase{font-size:clamp(1.25rem,2.6vw,1.85rem);font-weight:600;letter-spacing:-.02em;line-height:1.25;max-width:28ch;margin:0;color:var(--carbon)}@media (max-width:820px){.menu-movil{position:fixed;inset:0 0 0 auto;width:min(86vw,380px);z-index:91;background:var(--carbon);overflow-y:auto;overscroll-behavior:contain;padding:calc(1.5rem + env(safe-area-inset-top,0px)) 1.5rem calc(3rem + env(safe-area-inset-bottom,0px));transform:translateX(100%);visibility:hidden;display:block;transition:transform .34s cubic-bezier(.2,.7,.3,1),visibility 0s .34s;box-shadow:-16px 0 40px rgba(0,0,0,.4)}.velo-menu{position:fixed;inset:0;z-index:90;background:rgba(13,14,16,.55);opacity:0;pointer-events:none;transition:opacity .34s}body.menu-abierto .menu-movil{transform:translateX(0);visibility:visible;transition:transform .34s cubic-bezier(.2,.7,.3,1)}body.menu-abierto .velo-menu{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion:reduce){.menu-movil,.velo-menu{transition:none}}@media (max-width:820px){.home3 .ccard{aspect-ratio:auto;flex:0 0 min(80vw,340px);background:var(--carbon);display:flex;flex-direction:column;border-radius:10px}.home3 .ccard img{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px 10px 0 0}.home3 .ccard:hover img{transform:none}.home3 .ccard .panel{position:relative;left:auto;bottom:auto;max-width:none;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:.95rem 1.05rem 1.15rem;border-radius:0}.home3 .ccard .panel h3{font-size:1.15rem}.home3 .ccard .panel p{color:rgba(255,255,255,.72)}}@media (max-width:820px){.menu-movil{padding:calc(.9rem + env(safe-area-inset-top,0px)) 1.25rem calc(1.1rem + env(safe-area-inset-bottom,0px))}.menu-movil summary{padding:.62rem .1rem}.menu-movil summary .tit{font-size:1.32rem}.menu-movil .minicards{gap:.38rem;padding:0 0 .55rem .85rem}.menu-movil .minicard{padding:.32rem;gap:.7rem;border-radius:8px}.menu-movil .minicard img{width:58px;height:40px;border-radius:5px}.menu-movil .minicard b{font-size:.92rem}.menu-movil .lista-m a,.menu-movil .resto-m a{padding:.28rem 0;font-size:.94rem}.menu-movil .lista-m .mega-cols h4,.menu-movil .lista-m .mega-cols .mega-h4{margin-top:.5rem}.menu-movil .contacto-m{margin-top:1rem;gap:.42rem}.menu-movil .contacto-m .tel-m,.menu-movil .contacto-m .mail-m{font-size:.95rem}.menu-movil .contacto-m .cta-m{margin-top:.35rem;padding:.72rem}.menu-movil .idioma-m{margin-top:.75rem}}@media (max-width:820px) and (max-height:700px){.menu-movil{padding-top:calc(.7rem + env(safe-area-inset-top,0px));padding-bottom:calc(.7rem + env(safe-area-inset-bottom,0px))}.menu-movil p{margin-bottom:0}.menu-movil summary{padding:.42rem .1rem}.menu-movil summary .tit{font-size:1.18rem}.menu-movil .minicards{gap:.28rem;padding-bottom:.4rem}.menu-movil .minicard{padding:.28rem}.menu-movil .minicard img{width:48px;height:34px}.menu-movil .lista-m a,.menu-movil .resto-m a{padding:.18rem 0}.menu-movil .contacto-m{margin-top:.6rem;gap:.32rem}.menu-movil .contacto-m .cta-m{padding:.55rem;margin-top:.22rem}.menu-movil .minicard img{width:44px;height:31px}.menu-movil .idioma-m{margin-top:.55rem;margin-bottom:0;padding-top:.5rem}}@media (max-width:820px){.menu-movil .idioma-m{border-top:1px solid rgba(255,255,255,.09);padding-top:.85rem;margin-top:1rem}}.cats .cab-botones{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.btn-mono.descarga .peso{opacity:.6;font-size:.82em;margin-left:.35rem;white-space:nowrap}@media (max-width:560px){.cats .cab-botones{width:100%}.cats .cab-botones .btn-mono{flex:1 1 100%;justify-content:center}}.lnd3-cab .lnd3-catalogo{display:inline-flex;align-items:center;margin-top:1.1rem}

/* ===== Filtros en columna izquierda + barra fija (landings .lnd3) ===== */
.lnd3 .catalogo{--cab-sitio:62px;--alto-barra:58px;display:grid;grid-template-columns:268px minmax(0,1fr);column-gap:clamp(1.5rem,3vw,3rem);align-items:start;padding:0 clamp(1.5rem,4vw,3.5rem) 2.8rem}
.lnd3 .catalogo:not(:has(.barra-lateral)){display:block}
.lnd3 .catalogo.sin-filtros{grid-template-columns:minmax(0,1fr)}
.lnd3 .catalogo.sin-filtros .barra-lateral{display:none}
.lnd3 .catalogo.sin-filtros .landing-productos,.lnd3 .catalogo.sin-filtros .landing-vacia{grid-column:1}
/* barra fija: título con contador, ocultar filtros y ordenar */
.lnd3 .catalogo-barra{grid-column:1/-1;position:sticky;top:var(--cab-sitio);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--alto-barra);background:#fff;border-bottom:1px solid var(--linea)}
.lnd3 .catalogo-titulo{margin:0;font-size:1.3rem;font-weight:600;letter-spacing:-.01em;color:var(--carbon)}
.lnd3 .catalogo-n{font-weight:500;color:var(--gris)}
.lnd3 .catalogo-acciones{display:flex;align-items:center;gap:.4rem}
.lnd3 .btn-filtros{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .8rem;border:0;border-radius:999px;background:transparent;font:500 .92rem/1 inherit;font-family:inherit;color:var(--carbon);cursor:pointer}
.lnd3 .btn-filtros:hover{background:var(--pill)}
.lnd3 .btn-filtros small{background:var(--carbon);color:#fff;border-radius:999px;padding:.12rem .45rem;font-size:.72rem}
.lnd3 .btn-filtros-mov{display:none}
.lnd3 .btn-filtros-esc .t-mostrar,.lnd3 .catalogo.sin-filtros .btn-filtros-esc .t-ocultar{display:none}
.lnd3 .catalogo.sin-filtros .btn-filtros-esc .t-mostrar{display:inline}
.lnd3 .catalogo-acciones .filtro-pil.orden summary{border:0;background:transparent;font-size:.92rem;font-weight:500;padding:.55rem .8rem}
.lnd3 .catalogo-acciones .filtro-pil.orden summary:hover{background:var(--pill)}
.lnd3 .catalogo-acciones .filtro-pil .opciones{left:auto;right:0;translate:none}
/* columna fija con scroll propio, bajo las dos barras */
.lnd3 .catalogo .barra-lateral{grid-column:1;grid-row:2;position:sticky;top:calc(var(--cab-sitio) + var(--alto-barra) + 8px);max-height:calc(100vh - var(--cab-sitio) - var(--alto-barra) - 24px);overflow-y:auto;display:block;padding:1.4rem 1rem 1rem 0;margin:0;scrollbar-width:thin}
.lnd3 .catalogo .landing-productos,.lnd3 .catalogo .landing-vacia{grid-column:2;grid-row:2;max-width:none;padding-left:0;padding-right:0;padding-top:1.4rem;margin:0}
/* lista de familias / subcategorías: negrita destacada, sin casillas */
.lnd3 .cat-lista{display:flex;flex-direction:column;gap:.15rem;padding:0 0 1.3rem;margin-bottom:.4rem;border-bottom:1px solid var(--linea)}
.lnd3 .cat-lista a{display:block;padding:.42rem 0;font-size:1rem;font-weight:700;line-height:1.3;color:var(--carbon);letter-spacing:-.005em}
.lnd3 .cat-lista a:hover{color:var(--naranja-texto)}
.lnd3 .cat-lista a.activo{color:var(--naranja-texto)}
.lnd3 .cat-lista a.cat-todas{font-weight:500;font-size:.85rem;color:var(--gris);margin-bottom:.3rem}
/* grupos de filtros */
.lnd3 .barra-lateral .filtro-pil{position:static;display:block;border-bottom:1px solid var(--linea)}
.lnd3 .barra-lateral .filtro-pil summary{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem 0;border:0;border-radius:0;background:transparent;font-size:.95rem;font-weight:600;color:var(--carbon);cursor:pointer}
.lnd3 .barra-lateral .filtro-pil.con-valor summary{background:transparent;color:var(--carbon)}
.lnd3 .barra-lateral .filtro-pil summary:hover,.lnd3 .barra-lateral .filtro-pil[open] summary{border:0}
.lnd3 .barra-lateral .filtro-pil[open] summary::after{rotate:-135deg;translate:0 2px}
.lnd3 .barra-lateral .filtro-pil .opciones{position:static;translate:none;box-shadow:none;border-radius:0;padding:0 0 1rem;min-width:0;background:transparent;display:flex;flex-direction:column;gap:.1rem}
.lnd3 .barra-lateral .filtro-pil .opciones a{display:flex;align-items:center;gap:.65rem;padding:.38rem 0;border-radius:0;font-size:.9rem;color:#3c3f44}
.lnd3 .barra-lateral .filtro-pil .opciones a:hover{background:transparent;color:var(--carbon)}
.lnd3 .barra-lateral .filtro-pil .opciones a::before{content:"";flex:0 0 17px;height:17px;border:1.5px solid #b9bbbf;border-radius:4px;background:#fff}
.lnd3 .barra-lateral .filtro-pil .opciones a.activo{font-weight:600;color:var(--carbon)}
.lnd3 .barra-lateral .filtro-pil .opciones a.activo::before{background:var(--carbon) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--carbon)}
.lnd3 .barra-lateral .filtro-pil .opciones a small{margin-left:auto;color:#8a8d92}
.lnd3 .barra-lateral .filtro-pil.suelto{display:flex;align-items:center;gap:.65rem;padding:1rem 0;border:0;border-bottom:1px solid var(--linea);border-radius:0;background:transparent;font-size:.95rem;font-weight:600;color:var(--carbon)}
.lnd3 .barra-lateral .filtro-pil.suelto.con-valor{background:transparent;color:var(--carbon)}
.lnd3 .barra-lateral .filtro-pil.suelto.quitar{border-bottom:0;color:var(--naranja-texto);font-size:.88rem;padding:.9rem 0 0}
@media (max-width:900px){
  .lnd3 .catalogo{display:block}
  .lnd3 .catalogo-barra{--alto-barra:54px}
  .lnd3 .btn-filtros-esc{display:none}
  .lnd3 .btn-filtros-mov{display:inline-flex;border:1px solid #d0d2d6}
  .lnd3 .catalogo .barra-lateral{display:none;position:static;max-height:none;overflow:visible;padding:.6rem 0 1rem}
  .lnd3 .catalogo .barra-lateral.abierto{display:block}
  .lnd3 .catalogo .landing-productos,.lnd3 .catalogo .landing-vacia{padding-top:1rem}
}

/* Botón «Descargar catálogo» en la cabecera blanca de las landings: era blanco sobre blanco */
.lnd3 .lnd3-cab .btn-mono.descarga{border-color:rgba(23,26,32,.45);color:var(--carbon)}
.lnd3 .lnd3-cab .btn-mono.descarga:hover{background:var(--naranja);border-color:var(--naranja);color:#fff}
.lnd3 .lnd3-cab .btn-mono.descarga .peso{margin-left:.6rem;opacity:.6;font-weight:400}

/* Cabecera de landing: el botón de catálogo a la derecha, a la altura del título y la descripción */
.lnd3 .lnd3-cab{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:2rem;align-items:end}
.lnd3 .lnd3-cab .miga{grid-column:1/-1;grid-row:1}
.lnd3 .lnd3-cab h1{grid-column:1;grid-row:2}
.lnd3 .lnd3-cab .lead{grid-column:1;grid-row:3}
.lnd3 .lnd3-cab .lnd3-catalogo{grid-column:2;grid-row:2/4;align-self:end;margin:0 0 .15rem;white-space:nowrap}
@media (max-width:760px){
  .lnd3 .lnd3-cab{display:block}
  .lnd3 .lnd3-cab .lnd3-catalogo{margin:1.1rem 0 0}
}

/* Tarjetas de familia: sin huecos entre la foto y el texto (la foto ya es 16:10, no hace falta el marco 4:3 con relleno) */
.lnd3 .fcard .marco{padding:0;margin-bottom:.55rem;min-height:0;line-height:0}
.lnd3 .fcard .marco img{aspect-ratio:16/10}
.lnd3 .familias3{padding:.5rem 0 2.2rem}

/* ===== Vista en lista del catálogo: foto a la izquierda, descripción y características ===== */
.lnd3 .btn-vista-grupo{display:flex;gap:.1rem;margin-left:.4rem;padding-left:.6rem;border-left:1px solid var(--linea)}
.lnd3 .btn-vista{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:8px;background:transparent;color:#8a8d92;cursor:pointer}
.lnd3 .btn-vista:hover{background:var(--pill);color:var(--carbon)}
.lnd3 .btn-vista[aria-pressed="true"]{color:var(--carbon);background:var(--pill)}
.lnd3 .pcard .pdatos{display:none}
.lnd3 .catalogo.vista-lista .productos-grid{grid-template-columns:1fr;gap:.9rem}
.lnd3 .catalogo.vista-lista .pcard:not(.es-vendida),.lnd3 .catalogo.vista-lista .productos-grid.ver-vendidas .pcard.es-vendida{display:grid;grid-template-columns:270px minmax(0,1fr);align-items:stretch}
.lnd3 .catalogo.vista-lista .pcard:hover{translate:0 0}
.lnd3 .catalogo.vista-lista .pcard .foto{aspect-ratio:auto;min-height:200px;border-right:1px solid var(--linea)}
.lnd3 .catalogo.vista-lista .pcard .cuerpo{display:flex;flex-direction:column;justify-content:center;gap:.1rem;padding:1.3rem 1.6rem}
.lnd3 .catalogo.vista-lista .pcard h3{font-size:1.15rem;margin-bottom:.35rem}
.lnd3 .catalogo.vista-lista .pcard .pdatos{display:block}
.lnd3 .pdesc{margin:0 0 .8rem;font-size:.92rem;line-height:1.6;color:#44474c;max-width:70ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lnd3 .pchips{list-style:none;margin:0 0 .9rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.lnd3 .pchips li{padding:.28rem .7rem;border-radius:999px;background:var(--pill);font-size:.78rem;font-weight:500;color:var(--carbon)}
.lnd3 .pver{font-size:.85rem;font-weight:600;color:var(--naranja-texto)}
.lnd3 .pcard:hover .pver{text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){
  .lnd3 .btn-vista-grupo{display:none}
  .lnd3 .catalogo.vista-lista .productos-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}
  .lnd3 .catalogo.vista-lista .pcard:not(.es-vendida),.lnd3 .catalogo.vista-lista .productos-grid.ver-vendidas .pcard.es-vendida{display:flex}
  .lnd3 .catalogo.vista-lista .pcard .foto{aspect-ratio:4/3;min-height:0;border-right:0}
  .lnd3 .catalogo.vista-lista .pcard .cuerpo{display:block;padding:.95rem 1.1rem 1.1rem}
  .lnd3 .catalogo.vista-lista .pcard h3{font-size:.95rem}
  .lnd3 .catalogo.vista-lista .pcard .pdatos{display:none}
}

/* Ritmo vertical de la cabecera: poco aire hasta las familias, más aire hasta la barra de filtros */
.lnd3 .lnd3-cab{padding-bottom:1rem}
.lnd3 .lnd3-cab + .catalogo{margin-top:1.6rem}

/* título de la landing: ahora es el h1 de la barra fija */
.lnd3 .catalogo-titulo{line-height:1.2}
/* fotos que no son de fondo blanco: rellenan el marco (lo marca un pequeño script al cargar la imagen) */
.lnd3 .pcard .foto.foto-llena{padding:0}
.lnd3 .pcard .foto.foto-llena img{object-fit:cover}

/* barra fija: en reposo solo el nº de resultados; al salir el h1 de pantalla, enseña el título */
.lnd3 .catalogo-titulo{font-size:1.15rem;font-weight:600;color:var(--carbon);letter-spacing:-.005em}
.lnd3 .catalogo-titulo .ct-reposo{font-weight:500;font-size:.95rem;color:var(--gris)}
.lnd3 .catalogo-titulo .ct-fijo{display:none}
.lnd3 .catalogo.titulo-fijo .catalogo-titulo .ct-reposo{display:none}
.lnd3 .catalogo.titulo-fijo .catalogo-titulo .ct-fijo{display:inline;animation:ctEntra .25s ease both}
@keyframes ctEntra{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.lnd3 .catalogo.titulo-fijo .catalogo-titulo .ct-fijo{animation:none}}

/* ===== h1 siempre visible: la barra fija es el h1; migas arriba, luego descripción y familias dentro del catálogo ===== */
.lnd3 .lnd3-cab + .catalogo{margin-top:0}
.lnd3 .catalogo-titulo{font-size:clamp(1.1rem,1.5vw,1.25rem);font-weight:600;letter-spacing:-.015em;line-height:1.2;color:var(--carbon)}
.lnd3 .catalogo-titulo .catalogo-n{font-weight:500;color:var(--gris)}
.lnd3 .catalogo > .lead-cat{grid-column:1/-1;margin:1.1rem 0 0;max-width:640px;color:var(--gris);font-size:.95rem;line-height:1.6}
.lnd3 .catalogo > .familias3,.lnd3 .catalogo > .chips-tipo{grid-column:1/-1}
.lnd3 .catalogo .familias3 .inner{padding-left:0;padding-right:0}
.lnd3 .catalogo .familias3 .fl-izq{left:-22px}
.lnd3 .catalogo .familias3 .fl-dcha{right:-22px}
.lnd3 .catalogo .barra-lateral{grid-row:auto}
.lnd3 .catalogo .landing-productos,.lnd3 .catalogo .landing-vacia{grid-row:auto}
@media (max-width:900px){.lnd3 .catalogo-titulo{font-size:1.1rem}}

/* Cabecera del sitio en las landings de catálogo: sin tope de ancho, para alinear logo y botón con el contenido */
body.page-template-landing #cabecera .barra,body.tax-marcas #cabecera .barra,body.search #cabecera .barra{max-width:none}

/* OCULTO (09-10-2026): carrusel de tarjetas de familia. Las familias están en la columna lateral.
   Para recuperarlo, borrar o comentar esta regla; el HTML sigue en la plantilla. */
.lnd3 .catalogo > .familias3{display:none}
.lnd3 .catalogo > .lead-cat{margin-bottom:.4rem}

/* OCULTO (09-10-2026): descripción bajo el título de la landing. Para recuperarla, borrar esta regla;
   el texto sigue en la plantilla. */
.lnd3 .catalogo > .lead-cat{display:none}

/* páginas de marca y búsqueda con la misma idea que las landings */
.lnd3 .catalogo-titulo .logo-barra{height:30px;width:auto;max-width:90px;object-fit:contain;vertical-align:middle;margin-right:.7rem}
.marca-pag .landing-productos{padding-top:1.4rem}

/* miga más cerca del título (la barra del h1) */
.lnd3 .lnd3-cab{padding-bottom:.3rem}
.lnd3 .lnd3-cab .miga{margin-bottom:.35rem}

/* ===== Rejilla responsive del catálogo: 4 → 3 → 2 → 1 columnas (contando la columna de filtros) ===== */
.lnd3 .catalogo:not(.vista-lista) .productos-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}
@media (max-width:1279px){.lnd3 .catalogo:not(.vista-lista) .productos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1039px){.lnd3 .catalogo:not(.vista-lista) .productos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:559px){.lnd3 .catalogo:not(.vista-lista) .productos-grid{grid-template-columns:minmax(0,1fr)}}
/* con los filtros ocultos hay más sitio: los cortes se adelantan */
@media (max-width:1099px){.lnd3 .catalogo.sin-filtros:not(.vista-lista) .productos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:799px){.lnd3 .catalogo.sin-filtros:not(.vista-lista) .productos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:559px){.lnd3 .catalogo.sin-filtros:not(.vista-lista) .productos-grid{grid-template-columns:minmax(0,1fr)}}
/* la lista, en pantallas pequeñas, se comporta como cuadrícula con los mismos cortes */
@media (max-width:559px){.lnd3 .catalogo.vista-lista .productos-grid{grid-template-columns:minmax(0,1fr)}}

/* barra del catálogo en móvil: título en una línea, «Ordenar» sin el valor actual */
@media (max-width:560px){
  .lnd3 .catalogo-barra{gap:.5rem}
  .lnd3 .catalogo-titulo{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}
  .lnd3 .catalogo-acciones{flex:0 0 auto;gap:.1rem}
  .lnd3 .orden-actual{display:none}
  .lnd3 .btn-filtros-mov{padding:.5rem .8rem;font-size:.85rem}
  .lnd3 .catalogo-acciones .filtro-pil.orden summary{padding:.5rem .6rem;font-size:.85rem}
}

/* móvil: la barra en dos filas, como Nike. Fila 1 = título; fila 2 = Filtrar + Ordenar.
   Al hacer scroll la fila del título se esconde bajo la cabecera y queda fija solo la de botones. */
@media (max-width:560px){
  .lnd3 .catalogo-barra{--fila-titulo:46px;height:auto;flex-wrap:wrap;align-content:flex-start;gap:0;top:calc(var(--cab-sitio) - var(--fila-titulo))}
  .lnd3 .catalogo-titulo{flex:0 0 100%;display:flex;align-items:center;height:var(--fila-titulo);line-height:1.2;white-space:normal;overflow:visible;text-overflow:clip;font-size:1.05rem}
  .lnd3 .catalogo-acciones{flex:0 0 100%;justify-content:flex-start;gap:.5rem;padding:.5rem 0 .7rem}
  .lnd3 .orden-actual{display:inline}
  .lnd3 .btn-filtros-mov,.lnd3 .catalogo-acciones .filtro-pil.orden summary{border:1px solid #cfd1d5;border-radius:999px;padding:.55rem 1rem;font-size:.9rem;background:#fff}
  .lnd3 .btn-filtros-mov small{margin-left:.2rem}
}

/* «Ordenar: novedades» sin hueco antes de los dos puntos; la flecha separada con margen propio */
.lnd3 .catalogo-acciones .filtro-pil.orden summary{gap:0}
.lnd3 .catalogo-acciones .filtro-pil.orden summary::after{margin-left:.5rem}
/* la cabecera móvil mide 58 px: la barra se pega justo debajo */
@media (max-width:560px){.lnd3 .catalogo{--cab-sitio:58px}}

/* icono de ajustes en el botón «Filtrar» (móvil), el mismo que «Ocultar filtros» en escritorio */
.lnd3 .btn-filtros-mov{gap:.5rem}
.lnd3 .btn-filtros-mov::before{content:"";flex:0 0 18px;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%23171a20' stroke-width='1.6' d='M21 8.25H10m-5.25 0H3m0 7.5h10.75m5 0H21m-2.25 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zM7.5 6a2.25 2.25 0 100 4.5 2.25 2.25 0 000-4.5z'/%3E%3C/svg%3E") center/contain no-repeat}

/* el contador no se pega al título cuando el h1 es flex (móvil) */
.lnd3 .catalogo-titulo .catalogo-n{margin-left:.3em}

/* móvil: el h1 también se queda fijo al hacer scroll (barra de dos filas completa, pegada bajo la cabecera) */
@media (max-width:560px){
  .lnd3 .catalogo-barra{--fila-titulo:40px;top:var(--cab-sitio)}
  .lnd3 .catalogo-acciones{padding:.1rem 0 .6rem}
}

/* En las páginas de catálogo la cabecera del sitio se va con el scroll y solo queda fija la barra del catálogo, pegada arriba */
body.page-template-landing #cabecera,body.tax-marcas #cabecera,body.search #cabecera{position:relative}
.lnd3 .catalogo,.lnd3 .catalogo-barra{--cab-sitio:0px}
@media (max-width:560px){.lnd3 .catalogo{--cab-sitio:0px}}

/* ===== MÓVIL estilo Nike: título · subcategorías en texto · fila fija de filtros (botón que abre el panel + chips) ===== */
.lnd3 .cat-movil,.lnd3 .chip-filtro{display:none}
.lnd3 .barra-lateral .btn-ver-resultados{display:none}
.lnd3 .barra-lateral{overscroll-behavior:contain}
@media (max-width:900px){
  .lnd3 .catalogo{display:flex;flex-direction:column;padding-bottom:2rem}
  .lnd3 .catalogo-barra{display:contents}
  .lnd3 .catalogo-titulo{order:1;flex:0 0 auto;height:auto;display:block;white-space:normal;overflow:visible;font-size:1.3rem;line-height:1.25;padding:.6rem 0 .9rem}
  .lnd3 .catalogo-titulo .catalogo-n{margin-left:.25em}
  .lnd3 .cat-movil{order:2;display:flex;flex:0 0 auto;gap:1.6rem;overflow-x:auto;white-space:nowrap;padding:.15rem 0 .95rem;border-bottom:1px solid var(--linea);scrollbar-width:none}
  .lnd3 .cat-movil::-webkit-scrollbar{display:none}
  .lnd3 .cat-movil a{flex:0 0 auto;font-size:.98rem;font-weight:600;color:var(--carbon)}
  .lnd3 .cat-movil a.activo{color:var(--naranja-texto)}
  .lnd3 .catalogo-acciones{order:3;flex:0 0 auto;position:sticky;top:0;z-index:20;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.5rem;padding:.7rem 0;background:#fff;border-bottom:1px solid var(--linea);scrollbar-width:none;margin:0 calc(-1 * clamp(1.5rem,4vw,3.5rem));padding-left:clamp(1.5rem,4vw,3.5rem);padding-right:clamp(1.5rem,4vw,3.5rem)}
  .lnd3 .catalogo-acciones::-webkit-scrollbar{display:none}
  .lnd3 .btn-vista-grupo,.lnd3 .btn-filtros-esc{display:none}
  .lnd3 .btn-filtros-mov,.lnd3 .chip-filtro,.lnd3 .catalogo-acciones .filtro-pil.orden summary{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;border:1px solid #cfd1d5;border-radius:999px;background:#fff;color:var(--carbon);font:500 .85rem/1 inherit;font-family:inherit;padding:.6rem 1rem;cursor:pointer}
  .lnd3 .btn-filtros-mov{border-color:var(--carbon)}
  .lnd3 .btn-filtros-mov .t-filtrar{display:none}
  .lnd3 .btn-filtros-mov small{background:none;color:var(--carbon);padding:0;font-size:.85rem;font-weight:500}
  .lnd3 .btn-filtros-mov small::before{content:"("}
  .lnd3 .btn-filtros-mov small::after{content:")"}
  .lnd3 .chip-filtro::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;rotate:45deg;translate:0 -2px;margin-left:.15rem}
  .lnd3 .chip-filtro.con-valor{border-color:var(--carbon)}
  .lnd3 .catalogo-acciones .filtro-pil.orden{position:static}
  .lnd3 .catalogo-acciones .filtro-pil.orden .opciones{position:fixed;left:16px;right:16px;top:auto;bottom:16px;translate:none;z-index:40;box-shadow:0 12px 40px rgba(23,26,32,.28)}
  .lnd3 .catalogo .barra-lateral{order:4}
  .lnd3 .catalogo .landing-productos,.lnd3 .catalogo .landing-vacia{order:5;padding-top:1rem}
  .lnd3 .catalogo .barra-lateral.abierto{display:block;position:fixed;left:0;right:0;top:56px;bottom:0;z-index:19;background:#fff;overflow-y:auto;max-height:none;padding:.8rem clamp(1.5rem,4vw,3.5rem) 6rem;border-top:1px solid var(--linea)}
  .lnd3 .barra-lateral.abierto .btn-ver-resultados{display:block;position:fixed;left:16px;right:16px;bottom:16px;z-index:41;padding:.95rem 1rem;border:0;border-radius:999px;background:var(--carbon);color:#fff;font:600 .95rem/1 inherit;font-family:inherit;cursor:pointer;box-shadow:0 8px 24px rgba(23,26,32,.25)}
  .lnd3 .barra-lateral .cat-lista{display:none}
}

/* móvil: chips, botón de filtros y «Ordenar» con exactamente el mismo formato (la fuente abreviada anterior era inválida) */
@media (max-width:900px){
  .lnd3 .btn-filtros-mov,.lnd3 .chip-filtro,.lnd3 .catalogo-acciones .filtro-pil.orden summary{font-family:inherit;font-size:.85rem;font-weight:500;line-height:1;height:38px;padding:0 1rem;box-sizing:border-box}
  .lnd3 .catalogo-acciones .filtro-pil.orden summary{gap:0}
  .lnd3 .catalogo-acciones .filtro-pil.orden summary::after{margin-left:.45rem}
  .lnd3 .barra-lateral.abierto .btn-ver-resultados{font-family:inherit;font-size:.95rem;font-weight:600;line-height:1}
}

/* móvil: «Ordenar» como icono (flechas arriba/abajo), redondo como el botón de filtros */
@media (max-width:900px){
  .lnd3 .catalogo-acciones .filtro-pil.orden summary{font-size:0;width:38px;padding:0;justify-content:center;gap:0}
  .lnd3 .catalogo-acciones .filtro-pil.orden summary::after{display:none}
  .lnd3 .catalogo-acciones .filtro-pil.orden summary::before{content:"";width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23171a20' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20V4m0 0L3.5 7.5M7 4l3.5 3.5M17 4v16m0 0l-3.5-3.5M17 20l3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat}
}

/* móvil: el h1 también se queda fijo; la fila de filtros se apila justo debajo */
@media (max-width:900px){
  .lnd3 .catalogo{--h1-alto:46px}
  .lnd3 .catalogo-titulo{position:sticky;top:0;z-index:21;display:flex;align-items:center;height:var(--h1-alto);margin:0 calc(-1 * clamp(1.5rem,4vw,3.5rem));padding:0 clamp(1.5rem,4vw,3.5rem);background:#fff;font-size:1.15rem}
  .lnd3 .catalogo-acciones{top:var(--h1-alto)}
}

/* móvil: los hijos del catálogo se ajustan al ancho de pantalla (antes heredaban align-items:start y medían lo que su contenido) */
@media (max-width:900px){
  .lnd3 .catalogo{align-items:stretch;max-width:100%;overflow-x:clip}
  .lnd3 .catalogo > *{min-width:0}
  .lnd3 .cat-movil,.lnd3 .catalogo-acciones{max-width:none}
}

/* móvil: textos de la barra fija más pequeños */
@media (max-width:900px){
  .lnd3 .catalogo{--h1-alto:42px}
  .lnd3 .catalogo-titulo{font-size:1rem}
  .lnd3 .btn-filtros-mov,.lnd3 .chip-filtro,.lnd3 .catalogo-acciones .filtro-pil.orden summary{font-size:.78rem;height:34px;padding:0 .9rem}
  .lnd3 .catalogo-acciones .filtro-pil.orden summary{width:34px;padding:0}
  .lnd3 .btn-filtros-mov small{font-size:.78rem}
  .lnd3 .catalogo-acciones{padding-top:.55rem;padding-bottom:.55rem}
}

/* OCULTO (09-10-2026): chips de grupos de filtro en móvil; queda solo el panel lateral que abre el botón «Filtrar».
   El HTML y el JS de los chips siguen en la plantilla; para recuperarlos, borrar esta regla y la de abajo. */
.lnd3 .chip-filtro{display:none !important}
@media (max-width:900px){
  .lnd3 .btn-filtros-mov .t-filtrar{display:inline}
  .lnd3 .btn-filtros-mov small{margin-left:.1rem}
  .lnd3 .catalogo-acciones .filtro-pil.orden{margin-left:auto}
}

/* «Ordenar» solo icono en móvil (una regla posterior le había devuelto el tamaño de letra) */
@media (max-width:900px){
  .lnd3 .catalogo-acciones .filtro-pil.orden summary{font-size:0;width:34px;padding:0;overflow:hidden}
}

/* móvil: las subcategorías siempre más pequeñas que el h1 (16 px) */
@media (max-width:900px){
  .lnd3 .cat-movil{gap:1.3rem}
  .lnd3 .cat-movil a{font-size:.85rem;font-weight:600}
}

/* filtros activos como píldoras con × (solo móvil): se quitan sin abrir el panel */
.lnd3 .chip-activo{display:none}
@media (max-width:900px){
  .lnd3 .chip-activo{flex:0 0 auto;display:inline-flex;align-items:center;gap:.45rem;height:34px;padding:0 .85rem;border:1px solid var(--carbon);border-radius:999px;background:#fff;color:var(--carbon);font-family:inherit;font-size:.78rem;font-weight:500;line-height:1;white-space:nowrap}
  .lnd3 .chip-activo span{font-size:1.05rem;line-height:1;margin-top:-1px}
}

/* móvil: el icono de «Ordenar» queda pegado al borde derecho aunque la fila deslice */
@media (max-width:900px){
  .lnd3 .catalogo-acciones .filtro-pil.orden{position:sticky;right:0;z-index:3;margin-left:auto;padding-left:.6rem;background:#fff;box-shadow:-12px 0 10px -2px #fff}
}

/* «Quitar filtros» total: píldora discreta al final de los filtros activos */
@media (max-width:900px){.lnd3 .chip-limpiar{border-style:dashed;border-color:#9a9da2;color:#4a4d52}}

/* ===== Parche de la auditoría UX/UI móvil (09-10-2026) ===== */
/* =====================================================================
   PARCHE MÓVIL DEL CATÁLOGO (auditoría 09-10-2026)
   Va AL FINAL de main.css. Todo dentro de @media (max-width:900px) o más estrecho,
   así que escritorio (>900 px) no cambia. Tamaños de letra intactos: solo se
   mejora el área táctil, los estados y los desbordes.
   Variable de apoyo: --pad-m = el mismo margen lateral que usa el catálogo.
   ===================================================================== */
.lnd3{--pad-m:clamp(1.5rem,4vw,3.5rem)}

/* ---------- 1. BUSCADOR: el botón «Buscar» se salía de la pantalla a 320 px (scrollWidth 336 > 320) ----------
   El input tenía un ancho mínimo propio y empujaba al botón. Además el botón partía «↳ BUSCAR» en dos líneas. */
@media (max-width:900px){
  .lnd3.buscador3 .buscar-form input{min-width:0;width:100%}
  .lnd3.buscador3 .buscar-form .btn-mono{flex:0 0 auto;white-space:nowrap;padding-left:1rem;padding-right:1rem}
  /* en la búsqueda no hay filtros ni orden: la fila fija quedaba como una franja vacía de 19 px con borde */
  .lnd3.buscador3 .catalogo-acciones{display:none}
}
@media (max-width:359px){
  .lnd3.buscador3 .buscar-form{gap:.5rem}
  .lnd3.buscador3 .buscar-form .btn-mono::before{content:none}
}

/* ---------- 2. MIGA Y ESPACIO SUPERIOR ----------
   a) Había ~45 px de aire entre la cabecera y la miga (y el hub, sin miga, quedaba con un hueco vacío).
   b) Los enlaces de la miga medían 14 px de alto (área táctil mínima).
   c) La barra «/» quedaba pegada al texto siguiente y separada del anterior (« /PARA TUBOS»): ahora la barra es parte del enlace
      (siempre al principio de su paso, con el mismo espacio a los dos lados). */
@media (max-width:900px){
  .lnd3 .lnd3-cab:has(+ .catalogo){padding-top:.3rem}
  .lnd3 .lnd3-cab:has(+ .catalogo) .miga{display:flex;flex-wrap:wrap;align-items:center;column-gap:.5rem;row-gap:0;margin-bottom:0}
  .lnd3 .lnd3-cab:has(+ .catalogo) .miga > span{display:none}
  .lnd3 .lnd3-cab:has(+ .catalogo) .miga a{display:inline-flex;align-items:center;min-height:40px}
  .lnd3 .lnd3-cab:has(+ .catalogo) .miga a ~ a::before{content:"/";margin-right:.5rem;color:#c2beb6}
}

/* ---------- 3. SUBCATEGORÍAS (.cat-movil) ----------
   a) La fila terminaba 24 px antes del borde de pantalla: el texto cortado («D», «Si») parecía un fallo y no una fila deslizable.
      Ahora sangra hasta el borde, igual que la fila de filtros de debajo.
   b) El enlace medía 21 px de alto: ahora 44 px de área táctil sin cambiar la letra (13,6 px).
   c) La subcategoría actual solo se distinguía por el color naranja: se añade una raya inferior tipo pestaña.
   d) El borde inferior era más corto que el de la fila de filtros: ahora a todo el ancho.
   e) Evita que el gesto de deslizar la fila dispare «atrás» del navegador. */
@media (max-width:900px){
  .lnd3 .cat-movil{margin:0 calc(-1 * var(--pad-m));padding:0 calc(var(--pad-m) - .65rem);gap:0;align-items:stretch;overscroll-behavior-x:contain}
  .lnd3 .cat-movil a{display:flex;align-items:center;min-height:44px;padding:0 .65rem}
  .lnd3 .cat-movil a.activo{box-shadow:inset 0 -2px 0 var(--naranja-texto)}
  .lnd3 .cat-movil a:active{background:var(--pill)}
  /* OPCIONAL, SOLO SI NO SE AÑADE EL SCRIPT DE LA PLANTILLA (ver informe, punto 4):
     poner la subcategoría actual la primera para que siempre se vea. Cambia el orden, por eso va comentado.
  .lnd3 .cat-movil a.activo{order:-1} */
}

/* ---------- 4. FILA FIJA DE FILTROS: altura táctil y coherencia ----------
   a) Filtrar, píldoras y Ordenar medían 34 px: ahora 40 px (letra 12,5 px igual).
   b) El botón Ordenar (sticky) quedaba 24 px antes del borde derecho y las píldoras se asomaban POR DETRÁS Y POR LA DERECHA
      (se leía «Solo d… ples»). Ahora el relleno lateral lo pone el propio botón, que queda pegado al borde y las tapa del todo.
      El desvanecido deja de ser un bloque blanco duro.
   c) «Quitar filtros» (lo más importante con 0 resultados) quedaba fuera de pantalla con 2 filtros: pasa a ir justo tras «Filtrar».
   d) El borde de Ordenar (#cfd1d5, contraste 1,5:1) no se veía: se oscurece hasta 3,3:1.
   e) Sin estado pulsado, abierto ni foco de teclado. */
@media (max-width:900px){
  .lnd3 .catalogo-acciones{padding-left:0;padding-right:0;padding-top:.5rem;padding-bottom:.5rem;overscroll-behavior-x:contain;scroll-padding-left:var(--pad-m)}
  .lnd3 .btn-filtros-mov,
  .lnd3 .chip-activo,
  .lnd3 .catalogo-acciones .filtro-pil.orden summary{height:40px}
  .lnd3 .catalogo-acciones .filtro-pil.orden summary{width:40px}
  .lnd3 .btn-filtros-mov{order:-2;margin-left:var(--pad-m)}
  .lnd3 .chip-limpiar{order:-1}
  .lnd3 .catalogo-acciones .filtro-pil.orden{padding-left:1.1rem;padding-right:var(--pad-m);background:linear-gradient(90deg,rgba(255,255,255,0),#fff 1rem);box-shadow:none}
  .lnd3 .catalogo-acciones .filtro-pil.orden summary{border-color:#8b8e94}

  /* estados */
  .lnd3 .btn-filtros-mov:active,
  .lnd3 .chip-activo:active,
  .lnd3 .catalogo-acciones .filtro-pil.orden summary:active{background:var(--pill)}
  .lnd3 .btn-filtros-mov[aria-expanded="true"],
  .lnd3 .catalogo-acciones .filtro-pil.orden[open] summary{background:var(--carbon);border-color:var(--carbon);color:#fff}
  .lnd3 .btn-filtros-mov[aria-expanded="true"] small{color:#fff}
  .lnd3 .btn-filtros-mov[aria-expanded="true"]::before,
  .lnd3 .catalogo-acciones .filtro-pil.orden[open] summary::before{filter:invert(1)}
  .lnd3 .btn-filtros-mov:focus-visible,
  .lnd3 .chip-activo:focus-visible,
  .lnd3 .catalogo-acciones .filtro-pil.orden summary:focus-visible,
  .lnd3 .cat-movil a:focus-visible,
  .lnd3 .barra-lateral .filtro-pil summary:focus-visible,
  .lnd3 .barra-lateral .filtro-pil .opciones a:focus-visible,
  .lnd3 .filtro-pil.orden .opciones a:focus-visible{outline:2px solid var(--naranja-texto);outline-offset:2px}
  .lnd3 .barra-lateral.abierto .btn-ver-resultados:focus-visible{outline:2px solid var(--naranja);outline-offset:3px}
}
/* en pantallas táctiles el :hover se queda «pegado» tras pulsar */
@media (max-width:900px) and (hover:none){
  .lnd3 .catalogo-acciones .filtro-pil.orden summary:hover{background:#fff}
  .lnd3 .filtro-pil .opciones a:hover{background:transparent}
}

/* ---------- 5. HOJA DE «ORDENAR» ----------
   a) Sin fondo oscuro: la hoja flotaba sobre las fichas y no había forma obvia de cerrarla. Se usa el ::after de summary
      (que estaba oculto) como velo a pantalla completa: tocar fuera cierra la hoja (es parte del summary).
   b) Opciones de 37 px → 48 px; la elegida lleva una marca (antes solo negrita).
   c) En tablet (≥600 px) ocupaba todo el ancho: se limita a 420 px y se centra.
   d) Respeta la zona segura inferior de iPhone. */
@media (max-width:900px){
  .lnd3 .catalogo-acciones:has(.filtro-pil.orden[open]){z-index:30}
  .lnd3 .catalogo-acciones .filtro-pil.orden[open] summary::after{content:"";display:block;position:fixed;inset:0;width:auto;height:auto;margin:0;padding:0;border:0;rotate:none;translate:none;z-index:39;background:rgba(23,26,32,.45)}
  .lnd3 .catalogo-acciones .filtro-pil.orden .opciones{bottom:calc(16px + env(safe-area-inset-bottom,0px));padding:.4rem;border-radius:16px}
  .lnd3 .catalogo-acciones .filtro-pil.orden .opciones a{align-items:center;min-height:48px;padding:0 1rem;font-size:.95rem}
  .lnd3 .catalogo-acciones .filtro-pil.orden .opciones a.activo::after{content:"";flex:0 0 18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23171a20' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.5'/%3E%3C/svg%3E") center/contain no-repeat}
}
@media (min-width:600px) and (max-width:900px){
  .lnd3 .catalogo-acciones .filtro-pil.orden .opciones{left:50%;right:auto;width:min(420px,calc(100% - 32px));translate:-50% 0}
}

/* ---------- 6. PANEL DE FILTROS ----------
   a) Casillas de 17 px y filas de 34 px: casilla 22 px y fila de 44 px; el borde de la casilla (#b9bbbf, 1,9:1) sube a 3,3:1.
   b) «× Quitar filtros» del panel medía ~30 px: 48 px.
   c) El texto del final de la lista se cortaba en seco tras el botón flotante: se añade un desvanecido blanco bajo «Ver resultados».
   d) La página de detrás seguía haciendo scroll con el panel abierto: se bloquea con la clase que ya pone el script.
   e) «Ver resultados» respeta la zona segura inferior. */
@media (max-width:900px){
  .lnd3 .barra-lateral .filtro-pil .opciones a{min-height:44px;padding:.35rem 0}
  .lnd3 .barra-lateral .filtro-pil .opciones a::before{flex:0 0 22px;width:22px;height:22px;border-radius:5px;border-color:#8b8e94}
  .lnd3 .barra-lateral .filtro-pil .opciones a.activo::before{background-size:15px;border-color:var(--carbon)}
  .lnd3 .barra-lateral .filtro-pil .opciones a:active{background:var(--pill)}
  .lnd3 .barra-lateral .filtro-pil.suelto.quitar{display:flex;align-items:center;min-height:48px;padding:0}
  .lnd3 .catalogo .barra-lateral.abierto{padding-bottom:7rem}
  .lnd3 .barra-lateral.abierto::after{content:"";position:fixed;left:0;right:0;bottom:0;height:calc(92px + env(safe-area-inset-bottom,0px));background:linear-gradient(rgba(255,255,255,0),#fff 60%);z-index:40;pointer-events:none}
  .lnd3 .barra-lateral.abierto .btn-ver-resultados{bottom:calc(16px + env(safe-area-inset-bottom,0px));min-height:48px}
  html.filtros-abiertos{overflow:hidden;overscroll-behavior:none}
}

/* ---------- 7. CERO RESULTADOS ----------
   Los enlaces de la frase medían 19 px, el naranja de marca (#e25100) sobre blanco da 3,6:1 (texto pequeño: pide 4,5:1)
   y la frase quedaba pegada a la fila fija. */
@media (max-width:900px){
  .lnd3 .catalogo .landing-vacia{padding-top:1.4rem;padding-bottom:2.4rem;line-height:1.7}
  .lnd3 .landing-vacia a{color:var(--naranja-texto);text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:.5rem .15rem;margin:-.5rem 0}
}

/* ---------- 8. PÁGINAS DE MARCA: el logo del h1 ----------
   En 320–374 px el logo (60 px + 11 px de margen) dejaba poco sitio al texto y «Distribuidor oficial de …» se partía en dos
   líneas con el logo grande a su lado. Logo algo menor para ganar ancho (el contador «(n)» queda a la derecha porque el h1 es flex;
   pegarlo al texto exige envolver el título en un <span> en la plantilla, ver informe). */
@media (max-width:374px){
  .lnd3 .catalogo-titulo .logo-barra{height:24px;max-width:60px;margin-right:.5rem}
}

/* ===== Móvil: la familia es un grupo más del panel de filtros (arriba del todo); la fila de subcategorías se oculta =====
   OCULTO (09-10-2026): .cat-movil. Para recuperar la fila, borrar la regla display:none de .cat-movil. */
.lnd3 .cat-lista .cat-titulo{display:none}
@media (max-width:900px){
  .lnd3 .cat-movil{display:none !important}
  .lnd3 .barra-lateral .cat-lista{display:flex;flex-direction:column;padding:0 0 .6rem;margin:0;border-bottom:1px solid var(--linea)}
  .lnd3 .barra-lateral .cat-lista .cat-titulo{display:block;padding:1rem 0 .4rem;font-size:.95rem;font-weight:600;color:var(--carbon)}
  .lnd3 .barra-lateral .cat-lista a{display:flex;align-items:center;min-height:44px;padding:0;font-size:.9rem;font-weight:500;color:#3c3f44}
  .lnd3 .barra-lateral .cat-lista a.activo{color:var(--naranja-texto);font-weight:600}
  .lnd3 .barra-lateral .cat-lista a.cat-todas{min-height:40px;font-size:.85rem;font-weight:500;color:var(--gris)}
}

/* ===== Móvil: la barra fija en UNA sola fila (título · Filtrar · Ordenar); los filtros activos van en una segunda fila solo si hay ===== */
.lnd3 .filtros-activos{display:none}
@media (max-width:900px){
  .lnd3 .catalogo-barra{display:flex;align-items:center;gap:.6rem;order:1;position:sticky;top:0;z-index:21;height:52px;margin:0 calc(-1 * clamp(1.5rem,4vw,3.5rem));padding:0 clamp(1.5rem,4vw,3.5rem);background:#fff;border-bottom:1px solid var(--linea)}
  .lnd3 .catalogo-titulo{position:static;flex:1 1 auto;min-width:0;height:auto;margin:0;padding:0;background:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}
  .lnd3 .catalogo-acciones{position:static;flex:0 0 auto;margin:0;padding:0;border:0;background:none;overflow:visible;gap:.4rem}
  .lnd3 .btn-filtros-mov .t-filtrar{display:none}
  .lnd3 .btn-filtros-mov{min-width:40px;justify-content:center;padding:0 .75rem}
  .lnd3 .catalogo-acciones .filtro-pil.orden{position:static;margin-left:0;padding-left:0;box-shadow:none;background:none}
  .lnd3 .filtros-activos{display:flex;order:2;position:sticky;top:52px;z-index:20;gap:.5rem;overflow-x:auto;margin:0 calc(-1 * clamp(1.5rem,4vw,3.5rem));padding:.55rem clamp(1.5rem,4vw,3.5rem);background:#fff;border-bottom:1px solid var(--linea);scrollbar-width:none}
  .lnd3 .filtros-activos::-webkit-scrollbar{display:none}
}

/* la barra móvil es una sola fila: sin salto de línea (una regla de <560 px lo activaba) */
@media (max-width:900px){
  .lnd3 .catalogo-barra{flex-wrap:nowrap;align-content:normal;--fila-titulo:auto}
  .lnd3 .catalogo-titulo{flex:1 1 0}
}

/* móvil: se recorta solo el nombre del título (con «…»); el contador siempre se ve; los botones pegados al borde derecho */
@media (max-width:900px){
  .lnd3 .catalogo-titulo{display:flex;align-items:center;gap:.3em;overflow:visible;text-overflow:clip}
  .lnd3 .catalogo-titulo .ct-txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lnd3 .catalogo-titulo .catalogo-n{flex:0 0 auto;margin-left:0}
  .lnd3 .catalogo-acciones,.lnd3 .catalogo-acciones .filtro-pil.orden{padding-right:0;margin-right:0}
}

/* sin margen izquierdo en «Filtrar» (lo traía un parche anterior): más sitio para el título */
@media (max-width:900px){.lnd3 .btn-filtros-mov{margin-left:0}}

/* pantallas estrechas: el título cabe entero con su contador en la fila única */
@media (max-width:560px){.lnd3 .catalogo-titulo{font-size:.9rem}}

/* móvil: botones e iconos más pequeños (34 px, icono 14-15 px); el área de pulsado sigue siendo grande gracias a una zona invisible */
@media (max-width:900px){
  .lnd3 .catalogo-barra .btn-filtros-mov{position:relative;height:34px;min-width:34px;padding:0 .6rem;gap:.3rem}
  .lnd3 .catalogo-barra .btn-filtros-mov::before{flex:0 0 14px;width:14px;height:14px}
  .lnd3 .catalogo-barra .btn-filtros-mov small{font-size:.72rem}
  .lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden summary{position:relative;height:34px;width:34px;min-width:34px}
  .lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden summary::before{width:15px;height:15px}
  .lnd3 .catalogo-barra .btn-filtros-mov::after,.lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden summary::after{content:"";display:block;position:absolute;inset:-6px;width:auto;height:auto;margin:0;border:0;rotate:none;translate:none}
  .lnd3 .catalogo-barra .catalogo-acciones{gap:.35rem}
  .lnd3 .catalogo-barra{gap:.5rem}
}

/* OCULTO (09-10-2026): fila de filtros activos con × en móvil (a petición de Nacho). El HTML sigue en la plantilla;
   para recuperarla, borrar esta regla. Los filtros se quitan desde el panel «Filtrar». */
.lnd3 .filtros-activos{display:none !important}

/* ===== Móvil, barra fija en dos filas: 1) título · 2) iconos (Filtrar, Ordenar) + subcategorías deslizables ===== */
@media (max-width:900px){
  .lnd3 .catalogo-barra{flex-wrap:wrap;height:auto;align-items:center;gap:0 .5rem;padding-top:0;padding-bottom:.45rem}
  .lnd3 .catalogo-titulo{flex:0 0 100%;display:flex;align-items:center;height:40px;font-size:1rem}
  .lnd3 .catalogo-acciones{order:2}
  .lnd3 .cat-movil{display:flex !important;order:3;flex:1 1 0;min-width:0;align-items:center;gap:1.3rem;height:44px;margin:0 0 0 .3rem;padding:0 1.2rem 0 .9rem;border:0;border-left:1px solid var(--linea);overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 88%,transparent);mask-image:linear-gradient(to right,#000 88%,transparent)}
  .lnd3 .cat-movil::-webkit-scrollbar{display:none}
  .lnd3 .cat-movil a{flex:0 0 auto;display:flex;align-items:center;height:44px;font-size:.85rem;font-weight:600;color:var(--carbon)}
  .lnd3 .cat-movil a.activo{color:var(--naranja-texto)}
  .lnd3 .barra-lateral .cat-lista{display:none !important}
}
@media (max-width:560px){.lnd3 .catalogo-titulo{font-size:.95rem}}

/* móvil: línea suave bajo el título (a todo el ancho) y línea más marcada bajo iconos + subcategorías */
@media (max-width:900px){
  .lnd3 .catalogo-titulo{position:relative}
  .lnd3 .catalogo-titulo::after{content:"";position:absolute;left:calc(-1 * clamp(1.5rem,4vw,3.5rem));right:calc(-1 * clamp(1.5rem,4vw,3.5rem));bottom:0;height:1px;background:#f0eee9}
  .lnd3 .catalogo-barra{border-bottom-color:#d3d0ca}
}

/* móvil: subcategorías como chips (misma altura y forma que los iconos); la actual, rellena en oscuro */
@media (max-width:900px){
  .lnd3 .cat-movil{gap:.45rem;padding:0 1.2rem 0 .7rem;margin-left:.2rem}
  .lnd3 .cat-movil a{position:relative;height:34px;padding:0 .9rem;border:1px solid #cfd1d5;border-radius:999px;background:#fff;font-size:.78rem;font-weight:500;color:var(--carbon)}
  .lnd3 .cat-movil a::after{content:"";position:absolute;inset:-5px -2px}
  .lnd3 .cat-movil a.activo{background:var(--carbon);border-color:var(--carbon);color:#fff;font-weight:600}
}

@media (max-width:900px){ .lnd3 .cat-movil a{height:34px;min-height:34px} .lnd3 .cat-movil{height:44px} }

/* móvil: la miga siempre en una sola línea, deslizable (se abre mostrando el último paso) */
@media (max-width:900px){
  .lnd3 .lnd3-cab .miga{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem;height:auto;overflow-x:auto;white-space:nowrap;scrollbar-width:none;margin-left:0;margin-right:calc(-1 * clamp(1.5rem,4vw,3.5rem));padding-right:clamp(1.5rem,4vw,3.5rem)}
  .lnd3 .lnd3-cab .miga::-webkit-scrollbar{display:none}
  .lnd3 .lnd3-cab .miga a,.lnd3 .lnd3-cab .miga span{flex:0 0 auto;white-space:nowrap}
}

/* la regla de la auditoría (con :has) mantenía wrap: misma prioridad para forzar una sola línea deslizable */
@media (max-width:900px){
  .lnd3 .lnd3-cab:has(+ .catalogo) .miga{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;margin-right:calc(-1 * clamp(1.5rem,4vw,3.5rem));padding-right:clamp(1.5rem,4vw,3.5rem)}
  .lnd3 .lnd3-cab:has(+ .catalogo) .miga a{flex:0 0 auto}
}

/* chip seleccionado: fondo naranja (sin borde ni subrayado naranja) y más aire alrededor de la fila */
@media (max-width:900px){
  .lnd3 .cat-movil a.activo{background:var(--naranja-texto);border-color:var(--naranja-texto);color:#fff;font-weight:600;box-shadow:none;text-decoration:none;border-bottom-width:1px}
  .lnd3 .cat-movil a.activo::before{display:none}
  .lnd3 .catalogo-titulo{margin-bottom:.65rem}
  .lnd3 .catalogo-barra{padding-bottom:.75rem}
}

/* móvil: botones Filtrar y Ordenar en negro con el icono en blanco (el de Filtrar, naranja cuando el panel está abierto) */
@media (max-width:900px){
  .lnd3 .catalogo-barra .btn-filtros-mov{background:var(--carbon);border-color:var(--carbon);color:#fff}
  .lnd3 .catalogo-barra .btn-filtros-mov::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%23ffffff' stroke-width='1.7' d='M21 8.25H10m-5.25 0H3m0 7.5h10.75m5 0H21m-2.25 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zM7.5 6a2.25 2.25 0 100 4.5 2.25 2.25 0 000-4.5z'/%3E%3C/svg%3E") center/contain no-repeat}
  .lnd3 .catalogo-barra .btn-filtros-mov small{color:#fff}
  .lnd3 .catalogo-barra .btn-filtros-mov[aria-expanded="true"]{background:var(--naranja-texto);border-color:var(--naranja-texto)}
  .lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden summary{background:var(--carbon);border-color:var(--carbon)}
  .lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden summary::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20V4m0 0L3.5 7.5M7 4l3.5 3.5M17 4v16m0 0l-3.5-3.5M17 20l3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat}
  .lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden[open] summary{background:var(--naranja-texto);border-color:var(--naranja-texto)}
}

/* los botones Filtrar y Ordenar se quedan negros también abiertos (el naranja es solo del chip seleccionado) */
@media (max-width:900px){
  .lnd3 .catalogo-barra .btn-filtros-mov[aria-expanded="true"],
  .lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden[open] summary{background:var(--carbon);border-color:var(--carbon)}
}

/* el icono ya es blanco: se anula la inversión que el parche aplicaba en el estado abierto */
@media (max-width:900px){
  .lnd3 .btn-filtros-mov[aria-expanded="true"]::before,
  .lnd3 .catalogo-acciones .filtro-pil.orden[open] summary::before{filter:none}
}

/* ===== Estados al pulsar (móvil), coherentes con los colores: negro con icono blanco · chip blanco · chip naranja ===== */
@media (max-width:900px){
  .lnd3 .catalogo-barra .btn-filtros-mov,.lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden summary,.lnd3 .cat-movil a,.lnd3 .barra-lateral.abierto .btn-ver-resultados{-webkit-tap-highlight-color:transparent}
  /* botones negros: al pulsar se aclaran un poco; el icono sigue blanco */
  .lnd3 .catalogo-barra .btn-filtros-mov:active,.lnd3 .catalogo-barra .btn-filtros-mov:focus,
  .lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden summary:active,.lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden summary:focus{background:#343944;border-color:#343944;color:#fff}
  /* chips blancos: gris suave al pulsar */
  .lnd3 .catalogo-barra .cat-movil a:not(.activo):active{background:#efeeeb;border-color:#b9bbbf;color:var(--carbon)}
  /* chip naranja (seleccionado): naranja más oscuro al pulsar, texto siempre blanco */
  .lnd3 .catalogo-barra .cat-movil a.activo,.lnd3 .catalogo-barra .cat-movil a.activo:focus,.lnd3 .catalogo-barra .cat-movil a.activo:hover{background:var(--naranja-texto);border-color:var(--naranja-texto);color:#fff}
  .lnd3 .catalogo-barra .cat-movil a.activo:active{background:#a53b00;border-color:#a53b00;color:#fff}
  /* anillo de foco visible sobre cada fondo */
  .lnd3 .catalogo-barra .cat-movil a.activo:focus-visible{outline:2px solid var(--carbon);outline-offset:2px}
  .lnd3 .barra-lateral.abierto .btn-ver-resultados:active{background:#343944}
}
/* táctil: el :hover se queda pegado tras pulsar, así que vuelve siempre al color base */
@media (max-width:900px) and (hover:none){
  .lnd3 .catalogo-barra .btn-filtros-mov:hover,.lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden summary:hover{background:var(--carbon);border-color:var(--carbon);color:#fff}
  .lnd3 .catalogo-barra .btn-filtros-mov:active,.lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden summary:active{background:#343944;border-color:#343944}
  .lnd3 .catalogo-barra .cat-movil a:not(.activo):hover{background:#fff;border-color:#cfd1d5}
}
/* ratón: hover suave */
@media (max-width:900px) and (hover:hover){
  .lnd3 .catalogo-barra .btn-filtros-mov:hover,.lnd3 .catalogo-barra .catalogo-acciones .filtro-pil.orden summary:hover{background:#343944;border-color:#343944;color:#fff}
  .lnd3 .catalogo-barra .cat-movil a:not(.activo):hover{background:#f6f5f2}
}

/* cascada Familia → Subcategoría → Variante en la columna de filtros (22-10-2026) */
.lnd3 .barra-lateral .filtro-pil.cascada summary{flex-wrap:wrap;row-gap:.15rem}
.lnd3 .barra-lateral .filtro-pil.cascada summary .cas-et{flex:1}
.lnd3 .barra-lateral .filtro-pil.cascada summary::after{order:1}
.lnd3 .barra-lateral .filtro-pil.cascada .cas-valor{order:2;flex-basis:100%;font-size:.88rem;font-weight:500;color:var(--naranja-texto)}
.lnd3 .barra-lateral .filtro-pil.cascada .opciones a{justify-content:flex-start}
.lnd3 .barra-lateral .filtro-pil.cascada .opciones a::before{border-radius:50%}
.lnd3 .barra-lateral .cas-bloqueado{padding:1rem 0;border-bottom:1px solid var(--linea);font-size:.95rem;font-weight:600;color:#a3a6ab;cursor:not-allowed}
.lnd3 .barra-lateral .cas-bloqueado small{display:block;margin-top:.2rem;font-size:.82rem;font-weight:400}
.lnd3 .barra-lateral .cas-aviso{margin:1rem 0 0;font-size:.85rem;line-height:1.5;color:#6b6e73}

/* fichas de matrices (29-10-2026): botón en la landing de Matricería y tablas de capacidades en la ficha */
.srvint .tipo .tipo-ficha{display:inline-block;margin-top:.9rem;padding:.5rem .9rem;border:1px solid var(--naranja);color:var(--naranja);font-size:.82rem;font-weight:600;text-decoration:none;line-height:1.3}
.srvint .tipo .tipo-ficha:hover{background:var(--naranja);color:#fff}
.panel-pliegue .tabla-datos{width:100%;border-collapse:collapse;font-size:.82rem;margin:.4rem 0 1rem;display:block;overflow-x:auto}
.panel-pliegue .tabla-datos th,.panel-pliegue .tabla-datos td{padding:.45rem .6rem;border-bottom:1px solid var(--linea,#e5e3df);text-align:left;white-space:nowrap}
.panel-pliegue .tabla-datos th{font-weight:600;color:var(--carbon)}
