/* ============================================================
   PWM Ingenieros · Barra de navegación única y responsive
   Fuente única de verdad para el encabezado de todas las páginas.
   Se inyecta con js/pwm-nav.js dentro de <header id="pwm-header">.
   Mantiene la paleta del sitio (azul #1a3a6b / rojo #e8232a).
   ============================================================ */
:root{
  --pwm-blue:#1a3a6b; --pwm-blue-mid:#1e4fa0; --pwm-accent:#e8232a;
  --pwm-surface:#fff; --pwm-border:#dde4ee; --pwm-text:#1a2637;
  --pwm-text-mid:#3d5170; --pwm-text-muted:#6b7fa0;
  --pwm-head:'Montserrat',system-ui,sans-serif;
  --pwm-shadow-lg:0 12px 48px rgba(26,58,107,.16);
  --pwm-nav-h:64px;
}

/* --- Ocultar las barras antiguas de cada página (quedan reemplazadas) --- */
body > nav{display:none !important;}
.topbar:not(.pwmx-topbar){display:none !important;}

/* --- Evitar desbordes horizontales en móvil --- */
img{max-width:100%;}
html,body{overflow-x:hidden;}
/* Compensar el encabezado fijo al saltar a una ancla */
section[id],div[id],[id].anchor{scroll-margin-top:118px;}

/* ================= TOPBAR ================= */
.pwmx-topbar{background:var(--pwm-blue);color:#fff;display:flex;align-items:center;gap:1.6rem;
  flex-wrap:wrap;padding:.42rem 2.2rem;font-size:.8rem;letter-spacing:.02em}
.pwmx-topbar a{color:rgba(255,255,255,.88);text-decoration:none;transition:color .2s;display:inline-flex;align-items:center;gap:.35rem}
.pwmx-topbar a:hover{color:#fff}
.pwmx-topbar .sep{width:1px;height:12px;background:rgba(255,255,255,.22)}
.pwmx-topbar .loc{color:rgba(255,255,255,.72)}

/* ================= NAV (ESCRITORIO) ================= */
.pwmx-nav{background:var(--pwm-surface);border-bottom:2px solid var(--pwm-border);
  padding:0 2.2rem;display:flex;align-items:center;gap:.5rem;
  position:sticky;top:0;z-index:2000;box-shadow:0 2px 16px rgba(26,58,107,.08)}
.pwmx-logo{display:flex;align-items:center;flex:0 0 auto;margin-right:auto}
/* Botón selector de tema (claro / oscuro) */
.pwmx-theme{display:inline-flex;align-items:center;justify-content:center;width:42px;height:40px;
  border:1px solid var(--pwm-border);border-radius:9px;background:var(--pwm-surface);color:var(--pwm-text-mid);
  cursor:pointer;font-size:1.1rem;line-height:1;flex:0 0 auto;transition:color .2s,border-color .2s}
.pwmx-theme:hover{color:var(--pwm-accent,#2b8fff);border-color:var(--pwm-accent,#2b8fff)}
.pwmx-logo img{height:50px;object-fit:contain;padding:.5rem 0;display:block}
.pwmx-links{display:flex;align-items:stretch;gap:0;list-style:none;margin:0;padding:0;height:var(--pwm-nav-h)}
.pwmx-links > li{position:relative;display:flex;align-items:center}
.pwmx-links > li > a{padding:.5rem 1rem;font-family:var(--pwm-head);font-size:.8rem;font-weight:600;
  letter-spacing:.03em;color:var(--pwm-text-mid);text-transform:uppercase;text-decoration:none;
  display:flex;align-items:center;gap:.3rem;height:100%;border-bottom:3px solid transparent;transition:color .2s,border-color .2s}
.pwmx-links > li > a:hover,.pwmx-links > li > a.pwmx-active{color:var(--pwm-blue);border-bottom-color:var(--pwm-blue)}
.pwmx-links > li.pwmx-has > a::after{content:"▾";font-size:.7em;opacity:.75}
.pwmx-links > li:hover > .pwmx-drop,.pwmx-links > li:focus-within > .pwmx-drop{display:block}
.pwmx-drop{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:290px;
  border:1px solid var(--pwm-border);border-radius:0 0 10px 10px;box-shadow:var(--pwm-shadow-lg);z-index:100;overflow:hidden}
.pwmx-drop a{display:block;padding:.62rem 1.1rem;font-size:.82rem;color:var(--pwm-text-mid);text-decoration:none;
  border-bottom:1px solid var(--pwm-border);transition:background .15s,color .15s,padding .15s}
.pwmx-drop a:last-child{border-bottom:none}
.pwmx-drop a:hover{background:#f2f6fc;color:var(--pwm-blue);padding-left:1.35rem}

/* Botones especiales */
.pwmx-admin{color:var(--pwm-blue) !important;background:#eef3fb;border:1px solid #cfddef;border-radius:5px;
  padding:.4rem .7rem !important;margin-left:.3rem;font-size:.72rem !important}
.pwmx-admin:hover{background:var(--pwm-blue) !important;color:#fff !important;border-bottom-color:transparent !important}
.pwmx-tienda{background:#FFE600;color:#2D3277 !important;border-radius:5px;margin:0 .35rem;padding:.4rem .8rem !important;font-weight:700 !important}
.pwmx-tienda:hover{background:#f5d900;border-bottom-color:transparent !important}
.pwmx-cta{background:var(--pwm-accent);color:#fff !important;padding:.48rem 1.15rem !important;border-radius:5px;
  font-weight:700 !important;margin-left:.35rem;border-bottom-color:transparent !important}
.pwmx-cta:hover{background:#c41d23;transform:translateY(-1px);border-bottom-color:transparent !important}

/* Botón hamburguesa (oculto en escritorio) */
.pwmx-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:40px;
  border:1px solid var(--pwm-border);border-radius:8px;background:#fff;cursor:pointer;padding:0 10px}
.pwmx-burger span{display:block;height:2.5px;width:100%;background:var(--pwm-blue);border-radius:2px;transition:transform .25s,opacity .2s}
.pwmx-burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.pwmx-burger.open span:nth-child(2){opacity:0}
.pwmx-burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ================= MÓVIL / TABLET (≤900px) ================= */
@media(max-width:900px){
  .pwmx-topbar{gap:1rem;padding:.42rem 1.1rem;font-size:.74rem;justify-content:center}
  .pwmx-topbar .loc{display:none}
  .pwmx-nav{padding:0 1.1rem;min-height:60px}
  .pwmx-logo img{height:42px}
  .pwmx-burger{display:flex}
  /* El menú pasa a ser un panel desplegable que agrupa TODAS las pestañas */
  .pwmx-links{position:fixed;top:0;right:0;height:100dvh;width:min(86vw,360px);background:#fff;
    flex-direction:column;align-items:stretch;height:100dvh;gap:0;padding:1rem 0 2rem;overflow-y:auto;
    box-shadow:-12px 0 40px rgba(26,58,107,.2);transform:translateX(100%);transition:transform .28s ease;z-index:3000}
  .pwmx-nav.pwmx-open .pwmx-links{transform:translateX(0)}
  .pwmx-links > li{display:block;height:auto;border-bottom:1px solid var(--pwm-border)}
  .pwmx-links > li > a{height:auto;padding:.95rem 1.3rem;font-size:.84rem;border-bottom:none;justify-content:space-between}
  .pwmx-links > li > a:hover,.pwmx-links > li > a.pwmx-active{border-bottom-color:transparent;background:#f2f6fc}
  /* Acordeón para Productos / Servicios */
  .pwmx-links > li.pwmx-has > a::after{content:"＋";font-size:1em;opacity:.8;transition:transform .2s}
  .pwmx-links > li.pwmx-has.pwmx-exp > a::after{content:"－"}
  .pwmx-drop{position:static;display:none;box-shadow:none;border:none;border-radius:0;min-width:0;background:#f7f9fc}
  .pwmx-links > li.pwmx-has.pwmx-exp > .pwmx-drop{display:block}
  .pwmx-drop a{padding:.7rem 1.3rem .7rem 2rem;font-size:.82rem;border-bottom:1px solid #e7eef7}
  .pwmx-admin,.pwmx-tienda,.pwmx-cta{display:block;margin:.5rem 1.3rem;text-align:center}
  .pwmx-cta{padding:.7rem 1.15rem !important}
  .pwmx-admin{padding:.6rem !important;font-size:.78rem !important}
  .pwmx-tienda{padding:.6rem !important}
  /* Fondo oscuro al abrir */
  .pwmx-backdrop{position:fixed;inset:0;background:rgba(10,20,35,.5);opacity:0;visibility:hidden;
    transition:opacity .25s;z-index:2500}
  .pwmx-nav.pwmx-open ~ .pwmx-backdrop,.pwmx-nav.pwmx-open .pwmx-backdrop{opacity:1;visibility:visible}
}
@media(max-width:520px){
  .pwmx-topbar{font-size:.7rem;gap:.7rem}
  .pwmx-logo img{height:38px}
}

/* ============================================================
   TEMA OSCURO  (data-theme="dark")  ·  claro es el predeterminado
   ============================================================ */
:root[data-theme="dark"]{
  --bg:#0b1623; --bg2:#0e1c2c; --surface:#122133; --panel:#0f1d2e;
  --border:rgba(255,255,255,.10); --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14);
  --text:#e7eef7; --text-mid:#b4c2d4; --text-muted:#8396aa;
  --blue-light:#6ea8ff;
  --cardgrad:linear-gradient(160deg,#13263b,#0e1c2c);
  --shadow:0 4px 24px rgba(0,0,0,.45); --shadow-lg:0 14px 48px rgba(0,0,0,.55);
  /* barra unificada */
  --pwm-surface:#101f30; --pwm-border:rgba(255,255,255,.12);
  --pwm-ink:#e7eef7; --pwm-text:#e7eef7; --pwm-text-mid:#b4c2d4; --pwm-muted:#8396aa;
}
:root[data-theme="dark"] body{background:var(--bg);color:var(--text)}
/* Títulos/encabezados que usaban --blue como color de texto → legibles en oscuro */
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .comp-card h3,
:root[data-theme="dark"] .svc-card h3,
:root[data-theme="dark"] .svc h3,
:root[data-theme="dark"] .team-card h3,
:root[data-theme="dark"] #nuestro-laboratorio h3{color:#eaf1fb !important}
/* Texto gris oscuro inline que pudiera quedar sobre fondo oscuro */
:root[data-theme="dark"] .svc-card p,:root[data-theme="dark"] .comp-card p{color:var(--text-mid)}
/* Tarjetas con fondo claro fijo */
:root[data-theme="dark"] #nuestro-laboratorio figure{background:var(--surface) !important;border-color:var(--border) !important}
/* ---- Barra unificada en oscuro ---- */
:root[data-theme="dark"] .pwmx-nav{background:#101f30;border-bottom-color:rgba(255,255,255,.1);box-shadow:0 2px 16px rgba(0,0,0,.4)}
:root[data-theme="dark"] .pwmx-links>li>a{color:#c4d2e4}
:root[data-theme="dark"] .pwmx-links>li>a:hover,
:root[data-theme="dark"] .pwmx-links>li>a.pwmx-active{color:#fff;border-bottom-color:#6ea8ff}
:root[data-theme="dark"] .pwmx-drop{background:#122133;border-color:rgba(255,255,255,.12)}
:root[data-theme="dark"] .pwmx-drop a{color:#c4d2e4;border-bottom-color:rgba(255,255,255,.08)}
:root[data-theme="dark"] .pwmx-drop a:hover{background:#17293d;color:#fff}
:root[data-theme="dark"] .pwmx-theme{background:#17293d;border-color:rgba(255,255,255,.14);color:#ffd24a}
:root[data-theme="dark"] .pwmx-burger{background:#17293d;border-color:rgba(255,255,255,.14)}
:root[data-theme="dark"] .pwmx-burger span{background:#c4d2e4}
:root[data-theme="dark"] .pwmx-admin{background:#17293d;color:#9fc1e8 !important;border-color:rgba(255,255,255,.14)}
@media(max-width:900px){
  :root[data-theme="dark"] .pwmx-links{background:#0e1b2b}
  :root[data-theme="dark"] .pwmx-links>li{border-bottom-color:rgba(255,255,255,.08)}
  :root[data-theme="dark"] .pwmx-links>li>a:hover,
  :root[data-theme="dark"] .pwmx-links>li>a.pwmx-active{background:#17293d}
  :root[data-theme="dark"] .pwmx-drop{background:#0c1826}
  :root[data-theme="dark"] .pwmx-drop a{border-bottom-color:rgba(255,255,255,.06)}
}
/* ---- Tarjetas de producto / paneles claros en tema oscuro ---- */
:root[data-theme="dark"] .hv-stage{background:var(--surface);box-shadow:0 24px 60px rgba(0,0,0,.5)}
:root[data-theme="dark"] .hv-imgwrap{background:#eef3f8}
:root[data-theme="dark"] .hv-brand{background:#eef3f8;border-color:rgba(0,0,0,.1)}
:root[data-theme="dark"] .hv-info{background:linear-gradient(180deg,#14263b,#0f1d2e);border-top-color:rgba(255,255,255,.08)}
:root[data-theme="dark"] .hv-model{color:#eaf1fb}
:root[data-theme="dark"] .hv-cat{color:var(--text-muted)}
/* Tarjetas/paneles comunes que puedan tener fondo claro fijo */
:root[data-theme="dark"] .svc-card,
:root[data-theme="dark"] .comp-card,
:root[data-theme="dark"] .team-card,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .prod-card,
:root[data-theme="dark"] .ge-product-card{background:var(--surface);border-color:var(--border)}
/* Imagen de producto: tile claro para que la foto resalte */
:root[data-theme="dark"] .ge-product-card img{background:#eef3f8}
/* Campos de formulario */
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{background:#0e1b2b;color:var(--text);border-color:var(--border)}
:root[data-theme="dark"] input::placeholder,:root[data-theme="dark"] textarea::placeholder{color:var(--text-muted)}

/* ---- Tarjetas resumen de producto (portada) ---- */
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.pcard{display:flex;flex-direction:column;background:var(--surface,#fff);border:1px solid var(--border,#dde4ee);border-radius:12px;box-shadow:var(--shadow,0 4px 24px rgba(26,58,107,.1));padding:1.5rem;transition:transform .25s,box-shadow .25s;height:100%}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg,0 12px 48px rgba(26,58,107,.16))}
.pcard .pc-logo{height:28px;margin-bottom:.9rem;display:flex;align-items:center}
.pcard .pc-logo img{height:26px;width:auto;object-fit:contain}
.pcard .pc-badge{display:inline-flex;align-items:center;height:28px;padding:0 .6rem;border-radius:6px;background:var(--blue,#1a3a6b);color:#fff;font-family:var(--font-head,'Montserrat',sans-serif);font-weight:800;font-size:.8rem;margin-bottom:.9rem;align-self:flex-start}
.pcard .pc-tag{font-family:var(--font-head,'Montserrat',sans-serif);font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-light,#2e6dd4);margin-bottom:.35rem}
.pcard h3{font-family:var(--font-head,'Montserrat',sans-serif);font-size:1.04rem;color:var(--blue,#1a3a6b);margin:0 0 .5rem;line-height:1.25}
.pcard p{font-size:.85rem;color:var(--text-muted,#6b7fa0);line-height:1.6;margin:0 0 1rem;flex:1}
.pcard .pc-go{font-family:var(--font-head,'Montserrat',sans-serif);font-size:.78rem;font-weight:700;color:var(--accent,#e8232a);text-transform:uppercase;letter-spacing:.03em}
:root[data-theme="dark"] .pcard h3{color:#eaf1fb}
:root[data-theme="dark"] .pcard .pc-logo img{background:#eef3f8;border-radius:5px;padding:2px 5px}

/* ===== Botón selector de idioma (ES / EN) ===== */
.pwmx-lang{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:40px;padding:0 .55rem;
  border:1px solid var(--pwm-border);border-radius:9px;background:var(--pwm-surface);color:var(--pwm-text-mid);
  cursor:pointer;font-family:var(--pwm-head,'Montserrat',sans-serif);font-size:.78rem;font-weight:700;letter-spacing:.05em;
  line-height:1;flex:0 0 auto;transition:color .2s,border-color .2s;text-transform:uppercase}
.pwmx-lang:hover{color:var(--pwm-accent,#2b8fff);border-color:var(--pwm-accent,#2b8fff)}
:root[data-theme="dark"] .pwmx-lang{background:#17293d;border-color:rgba(255,255,255,.14);color:#cfe0f5}

/* ===== Banda destacada · Laboratorio DGA Online (portada) ===== */
.labonline-band{background:linear-gradient(135deg,#102a43,#1a3a6b)}
.labonline-inner{max-width:1180px;margin:0 auto;padding:1.5rem 2rem;display:flex;align-items:center;gap:1.6rem;
  flex-wrap:wrap;justify-content:space-between}
.labonline-txt{flex:1 1 420px;min-width:240px}
.labonline-eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.7rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:#ffd24a;margin-bottom:.5rem}
.labonline-band h3{margin:.1rem 0 .5rem;font-size:1.4rem;color:#fff;font-family:var(--font-head,'Montserrat',sans-serif);line-height:1.2}
.labonline-band p{margin:0;color:#cfd8e6;font-size:.95rem;line-height:1.55}
.labonline-btn{flex:0 0 auto;background:#e8232a;color:#fff;font-weight:700;padding:.95rem 1.6rem;border-radius:10px;
  text-decoration:none;font-size:1rem;box-shadow:0 8px 22px rgba(232,35,42,.35);font-family:var(--font-head,'Montserrat',sans-serif)}
.labonline-btn:hover{background:#cf1f26}
@media(max-width:640px){.labonline-inner{padding:1.3rem 1.1rem}.labonline-btn{width:100%;text-align:center}}

/* ===== Teasers de la portada (servicios compactos + calidad de red) ===== */
.svc-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem}
.svc-mini{background:var(--surface,#fff);border:1px solid var(--border,#dde4ee);border-radius:14px;padding:1.5rem;box-shadow:var(--shadow,0 4px 24px rgba(26,58,107,.08));transition:transform .25s,box-shadow .25s}
.svc-mini:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg,0 12px 40px rgba(26,58,107,.14))}
.svc-mini-ic{width:48px;height:48px;border-radius:11px;background:rgba(46,109,212,.1);display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1;margin-bottom:.9rem}
.svc-mini h3{font-family:var(--font-head,'Montserrat',sans-serif);font-size:1.02rem;color:var(--blue,#1a3a6b);margin:0 0 .3rem;line-height:1.25}
.svc-mini p{font-size:.85rem;color:var(--text-muted,#6b7fa0);line-height:1.55;margin:0}
.cdr-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;align-items:center}
.cdr-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
:root[data-theme="dark"] .svc-mini h3{color:#eaf1fb}
