/* Páginas de especialidad. Conserva los tokens de NICACOMP y el catálogo. */
[data-department]{--fm:var(--fb)}
[data-department] h1,[data-department] h2,[data-department] h3{text-wrap:balance}
[data-department] a:focus-visible,[data-department] button:focus-visible,[data-department] summary:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}

/* Gaming: una entrada compacta, seguida del inventario real. */
[data-department="gaming"] .g-hero{padding:2.5rem 1rem;text-align:left}
[data-department="gaming"] .g-hero-inner{max-width:1072px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:3rem;align-items:center}
.g-store-label,.builder-location{color:var(--text2);font-size:.85rem;margin-bottom:1rem}
[data-department="gaming"] .g-h1{font-size:clamp(2rem,3.5vw,3rem);line-height:1.12;letter-spacing:-.025em;margin:0 0 1rem}
[data-department="gaming"] .g-sub{margin:0 0 1.25rem;max-width:52ch;line-height:1.6}
.g-build-entry{padding:1.5rem;background:var(--card);border-radius:14px}
.g-build-entry>svg{width:32px;height:32px;color:var(--cyan);margin-bottom:1rem}
.g-build-entry h2{font-family:var(--fd);font-size:1.35rem;margin-bottom:.65rem}
.g-build-entry p{color:var(--text2);line-height:1.6;margin-bottom:1rem}
[data-department="gaming"] .g-sec{padding-top:2rem}
[data-department="gaming"] .g-sec-h2{font-size:1.5rem}
.gaming-categories{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 2rem}
.gaming-categories a{display:flex;align-items:center;min-height:44px;padding:.55rem .9rem;border:1px solid var(--border2);border-radius:9px;color:var(--text2);font-size:.9rem}
.gaming-categories a:hover{border-color:var(--cyan);color:var(--text)}
[data-department="gaming"] .cat-block{scroll-margin-top:90px}
[data-department="gaming"] .cat-block-name{font-family:var(--fd);font-size:1.2rem}
[data-department="gaming"] .pc-anim{opacity:1;transform:none;animation:none}
[data-department="gaming"] .pc-add{min-height:44px}
[data-department="gaming"] .wa-ring{display:none}

/* Armador: el formulario es la primera tarea, la vista del gabinete es opcional. */
[data-department="armador"] .hero{padding:1.75rem 1rem 1.25rem}
[data-department="armador"] .hero-inner{max-width:1072px}
[data-department="armador"] .hero-h1{max-width:none;font-size:clamp(1.9rem,3.2vw,2.75rem);line-height:1.15;margin-bottom:.75rem}
[data-department="armador"] .hero-sub{max-width:65ch;margin-bottom:1.25rem}
.builder-profile-label{font-size:.9rem;font-weight:600;margin-bottom:.65rem}
.builder-profile-label span{font-weight:400;color:var(--text2)}
[data-department="armador"] .builder-section{padding-top:1.5rem}
.builder-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.builder-heading h2{font:600 1.25rem var(--fd)}
.builder-heading a{color:var(--text2);font-size:.85rem;min-height:44px;display:flex;align-items:center}
[data-department="armador"] .rig{grid-template-columns:minmax(0,1fr)}
[data-department="armador"] .slot-list{order:-1}
[data-department="armador"] .pc-stage{position:static;border-top:1px solid var(--border2);padding-top:1rem}
[data-department="armador"] .pc-stage summary{cursor:pointer;min-height:44px;color:var(--text2);font-size:.9rem}
[data-department="armador"] .pc-case{max-width:320px;margin:1rem auto}
[data-department="armador"] .slot{border-radius:9px;padding:1rem}
[data-department="armador"] .slot-select{font-size:1rem;min-height:44px}
[data-department="armador"] .build-panel{scroll-margin-top:90px}
[data-department="armador"] .budget-input{font-family:var(--fb);font-size:1rem}
[data-department="armador"] .budget-label{display:block;color:var(--text2);text-transform:none;letter-spacing:0}

/* Servicios: selección por problema. Cámaras: alcance de un trabajo en sitio. */
[data-department="servicios"] .hero .wrap,[data-department="camaras-de-seguridad"] .hero .wrap{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:3rem}
[data-department="servicios"] .hero h1{font-size:clamp(2rem,3.6vw,3rem)}
[data-department="servicios"] .hero-kicker,[data-department="camaras-de-seguridad"] .hero-kicker{background:none;border:0;border-radius:0;padding:0;color:var(--text2);font-family:var(--fb);font-size:.9rem;text-transform:none;letter-spacing:0}
.service-directory h2,.installation-scope h2{font-family:var(--fd);font-size:1.25rem;line-height:1.4;margin-bottom:1rem}
.service-directory>a{display:flex;align-items:center;gap:1rem;padding:1.15rem 0;border-top:1px solid var(--border2)}
.service-directory>a>svg{color:var(--cyan);width:24px;height:24px}
/* Antes de que lucide cambie el <i data-lucide> por el <svg>, el ícono mide 0 y
   al llegar empujaba el texto de cada fila (Lighthouse: CLS 0.18 intermitente). */
.service-directory>a>i[data-lucide]{display:inline-block;width:24px;height:24px;flex-shrink:0}
.service-directory>a>span:first-of-type{flex:1}
.service-directory strong,.service-directory small{display:block}
.service-directory small{font-size:.9rem;color:var(--text2);margin-top:.3rem;line-height:1.5}
.service-directory>a:hover strong{color:var(--cyan)}
.installation-scope{background:var(--surface);padding:1.5rem;border-radius:14px}
.installation-scope dl{margin:1rem 0 1.5rem}
.installation-scope dl>div{padding:.85rem 0;border-top:1px solid var(--border2)}
.installation-scope dt{display:flex;align-items:center;gap:.6rem;font-weight:600}
.installation-scope dt svg{color:var(--cyan)}
.installation-scope dd{color:var(--text2);font-size:.95rem;line-height:1.6;margin:.3rem 0 0 1.6rem}
[data-department="servicios"] .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-department="servicios"] .card{background:none;border:0;border-top:1px solid var(--border2);border-radius:0;padding:1.3rem 0;transform:none}
[data-department="servicios"] .card .c-ico{background:none;width:auto;height:auto;display:block;margin-bottom:.5rem}
[data-department="servicios"] .card p,[data-department="camaras-de-seguridad"] .card p{color:var(--text2)}
[data-department="camaras-de-seguridad"] .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-department="camaras-de-seguridad"] .card{border-radius:14px;transform:none}
[data-department="servicios"] .hero-micro,[data-department="camaras-de-seguridad"] .hero-micro{color:var(--text2)}

@media(max-width:760px){
  [data-department="gaming"] .g-hero-inner{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  [data-department="gaming"] .g-hero{padding:1.5rem 1rem}
  .g-build-entry{padding:1rem}
  .g-build-entry>svg{display:none}
  .g-build-entry{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
  .g-build-entry h2{font-size:1rem;margin:0}
  .g-build-entry p{display:none}
  .g-build-entry .btn{padding:.6rem;font-size:.8rem;min-height:44px}
  [data-department="armador"] .hero{padding-top:1.25rem}
  .builder-profile-label span{display:block;margin-top:.25rem}
  .builder-heading{flex-wrap:wrap;gap:.25rem}
  [data-department="armador"] .wa-ring{display:none}
  [data-department="servicios"] .hdr-inner,[data-department="camaras-de-seguridad"] .hdr-inner{padding-inline:1rem}
  [data-department="servicios"] .migas,[data-department="camaras-de-seguridad"] .migas{padding-inline:1rem}
  [data-department="servicios"] .trust-row,[data-department="camaras-de-seguridad"] .trust-row{padding-inline:1rem}
  [data-department="servicios"] .hdr-nav,[data-department="camaras-de-seguridad"] .hdr-nav{justify-content:flex-start;gap:0 1rem}
  [data-department="servicios"] .hdr-nav a,[data-department="camaras-de-seguridad"] .hdr-nav a{min-height:44px;display:flex;align-items:center}
  [data-department="servicios"] .hero .wrap,[data-department="camaras-de-seguridad"] .hero .wrap{grid-template-columns:minmax(0,1fr);gap:2rem}
  [data-department="servicios"] .cards,[data-department="camaras-de-seguridad"] .cards{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  [data-department]{scroll-behavior:auto}
  [data-department] *,[data-department] *::before,[data-department] *::after{animation:none!important;transition:none!important;scroll-behavior:auto}
}
