/* =========================================================
   DC ELECTRICOSS SAS · CATÁLOGO EDITORIAL
   Paleta: verde corporativo + gradients complementarios
   ========================================================= */
:root{
  --c-primario:#93c121;
  --c-acento:#6c8f1a;
  --c-secundario:#1f2937;
  --c-claro:#f5f5f7;
  --c-texto:#1f2937;
  --c-texto-suave:#4a5568;
  --c-borde:rgba(0,0,0,.08);
  --grad-principal:linear-gradient(135deg, #93c121 0%, #6c8f1a 100%);
  --grad-dark:linear-gradient(135deg, #1f2937 0%, #111827 60%, #065f46 100%);
  --grad-soft:linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  --sh-1:0 10px 30px rgba(0,0,0,.08);
  --sh-2:0 20px 60px rgba(0,0,0,.18);
  --sh-verde:0 14px 40px rgba(147,193,33,.35);
  --ff-display:'Montserrat',system-ui,-apple-system,Segoe UI,sans-serif;
  --ff-body:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{scroll-behavior:smooth}
body{
  font-family:var(--ff-body);
  color:var(--c-texto);
  background:#faf9f6;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
svg{display:inline-block;vertical-align:middle;flex-shrink:0}

.nav-links a, .nav-pdf, .portada-cta, .contacto-item .lbl, .contacto-item .val,
.pie p, .pie a, .chip {display:inline-flex;align-items:center;gap:6px}
.contacto-item .lbl{display:flex}
.contacto-item .val{display:block}
.pie p{display:flex}
.chip{display:inline-flex}

/* ==== TEXTURAS SVG ==== */
.tex-circuito{
  background-color:var(--c-secundario);
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><g fill='none' stroke='%2393c121' stroke-width='1' opacity='0.12'><path d='M10 10h40v40h40v40h30'/><path d='M0 60h30v30h30v30'/><circle cx='50' cy='50' r='3'/><circle cx='90' cy='90' r='3'/><path d='M70 20l10 10 20-20'/></g></svg>");
}
.tex-hojas{
  background-color:#0d1a12;
  background-image:
    radial-gradient(circle at 15% 15%, rgba(147,193,33,.3), transparent 45%),
    radial-gradient(circle at 85% 85%, rgba(108,143,26,.35), transparent 50%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><g fill='none' stroke='%2393c121' stroke-width='1.2' opacity='0.08'><path d='M40 0l-5 70h15l-10 90 55-100h-15l10-60z'/><circle cx='170' cy='40' r='40'/><circle cx='170' cy='40' r='22'/></g></svg>");
}
.tex-malla{
  background-color:var(--c-claro);
  background-image:
    linear-gradient(var(--c-borde) 1px, transparent 1px),
    linear-gradient(90deg, var(--c-borde) 1px, transparent 1px);
  background-size:28px 28px;
}
.tex-verde{
  background:var(--grad-principal);
  position:relative;
}
.tex-verde::before{
  content:"";position:absolute;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'><g fill='none' stroke='%23fff' stroke-width='1' opacity='0.12'><path d='M0 20h80M0 40h80M0 60h80'/><circle cx='20' cy='20' r='2'/><circle cx='60' cy='60' r='2'/></g></svg>");
  opacity:.7;pointer-events:none;
}
.tex-puntos{
  background-color:#fff;
  background-image:radial-gradient(rgba(0,0,0,.06) 1px, transparent 1px);
  background-size:14px 14px;
}

/* ==== NAV ==== */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(31,41,55,.94);
  backdrop-filter:saturate(140%) blur(10px);
  color:#fff;
  border-bottom:3px solid var(--c-primario);
}
.nav-inner{
  max-width:1280px;margin:0 auto;
  display:flex;align-items:center;gap:24px;padding:12px 24px;
}
.nav-logo{display:flex;align-items:center;gap:12px;font-family:var(--ff-display);font-weight:800}
.nav-logo img{height:38px;width:auto;filter:brightness(1.1)}
.nav-links{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.nav-links a{
  padding:8px 14px;border-radius:999px;
  font-size:13px;font-weight:600;letter-spacing:.02em;transition:.2s;
}
.nav-links a:hover{background:var(--c-primario);color:#111}
.nav-pdf{
  background:var(--grad-principal)!important;color:#fff!important;
  padding:10px 20px!important;border-radius:999px;
  font-weight:800!important;box-shadow:var(--sh-verde);
}
.nav-pdf:hover{transform:translateY(-1px)}

/* ==== PORTADA ==== */
.portada{
  position:relative;min-height:100vh;color:#fff;overflow:hidden;
  background:var(--grad-dark);
}
.portada::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='500' height='500'><g fill='none' stroke='%2393c121' stroke-width='1.2' opacity='0.08'><path d='M50 0v120h100v100h120v120h210'/><path d='M0 250h60v100h90v100'/><circle cx='150' cy='220' r='4'/><circle cx='270' cy='340' r='4'/></g></svg>");
  background-size:500px;
}
.portada::after{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(circle at 15% 20%, rgba(147,193,33,.25), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(108,143,26,.3), transparent 50%);
}
.portada-inner{
  position:relative;z-index:2;max-width:1200px;margin:0 auto;
  padding:70px 40px 50px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;
  min-height:calc(100vh - 0px);
}
.portada-top{
  position:absolute;top:28px;left:40px;right:40px;z-index:3;
  display:flex;justify-content:space-between;align-items:center;
  font-size:11px;letter-spacing:.3em;color:rgba(255,255,255,.6);
}
.portada-top img{height:46px}
.portada-left .badge{
  display:inline-block;padding:8px 18px;border-radius:999px;
  background:var(--grad-principal);color:#fff;
  font-size:11px;font-weight:800;letter-spacing:.25em;margin-bottom:24px;
  box-shadow:var(--sh-verde);
}
.portada-left h1{
  font-family:var(--ff-display);
  font-size:clamp(40px,6.2vw,80px);
  font-weight:900;letter-spacing:-.02em;line-height:.95;margin-bottom:18px;
}
.portada-left h1 .alt{
  background:var(--grad-principal);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.portada-left p.sub{
  font-size:clamp(14px,1.3vw,17px);color:#cbd5e1;max-width:520px;margin-bottom:28px;line-height:1.55;
}
.portada-cta{
  display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:999px;
  background:var(--grad-principal);color:#fff;
  font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  box-shadow:var(--sh-verde);transition:.2s;
}
.portada-cta:hover{transform:translateY(-2px)}

/* Mosaico de 5 imágenes en la portada */
.portada-mosaic{
  display:grid;gap:10px;height:clamp(380px,55vh,520px);
  grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr 1fr;
  position:relative;
}
.portada-mosaic .m{
  background:#222 center/cover no-repeat;border-radius:16px;
  box-shadow:var(--sh-2);position:relative;overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
}
.portada-mosaic .m::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(147,193,33,.0), rgba(31,41,55,.3));
}
.portada-mosaic .m1{grid-row:1/3;grid-column:1/2}
.portada-mosaic .m2{grid-row:3/4;grid-column:1/2}
.portada-mosaic .m3{grid-row:1/2;grid-column:2/3}
.portada-mosaic .m4{grid-row:2/3;grid-column:2/3}
.portada-mosaic .m5{grid-row:3/4;grid-column:2/3}
.portada-mosaic .ph{
  display:grid;place-items:center;color:rgba(255,255,255,.3);font-size:22px;
  background:linear-gradient(135deg, #27364a, #1f2937);
}

/* Pilares con iconos (portada inferior) */
.pilares{
  background:var(--c-claro);padding:54px 24px 60px;
  border-top:4px solid var(--c-primario);position:relative;
}
.pilares-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pilar{
  background:#fff;border-radius:18px;padding:26px 22px;
  border:1px solid var(--c-borde);box-shadow:var(--sh-1);
  text-align:left;transition:.2s;position:relative;overflow:hidden;
}
.pilar:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.pilar::before{
  content:"";position:absolute;top:-30px;right:-30px;width:100px;height:100px;border-radius:50%;
  background:var(--grad-principal);opacity:.12;
}
.pilar .ico{
  width:52px;height:52px;border-radius:14px;
  background:var(--grad-principal);color:#fff;
  display:grid;place-items:center;font-size:24px;margin-bottom:14px;
  box-shadow:var(--sh-verde);
}
.pilar h3{font-family:var(--ff-display);font-size:17px;font-weight:800;margin-bottom:6px}
.pilar p{font-size:13px;color:var(--c-texto-suave);line-height:1.5}

/* ==== CONTACTO (portada inferior) ==== */
.contacto-hero{
  background:var(--grad-dark);color:#fff;padding:40px 24px;
  position:relative;overflow:hidden;
}
.contacto-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 80% 50%, rgba(147,193,33,.2), transparent 50%);
}
.contacto-hero-inner{
  max-width:1200px;margin:0 auto;position:relative;
  display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center;
}
.contacto-hero h4{
  font-family:var(--ff-display);font-size:24px;font-weight:900;
  line-height:1.1;
}
.contacto-hero h4 span{color:var(--c-primario)}
.contacto-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.contacto-item .lbl{
  font-size:10px;letter-spacing:.3em;color:var(--c-primario);
  font-weight:800;margin-bottom:6px;
}
.contacto-item .val{font-size:14px;font-weight:600;line-height:1.4}

/* ==== PÁGINA 2 — PRESENTACIÓN ==== */
.presentacion{
  padding:100px 24px;position:relative;overflow:hidden;
}
.presentacion::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 95% 0%, rgba(147,193,33,.12), transparent 40%),
    radial-gradient(circle at 0% 100%, rgba(108,143,26,.08), transparent 40%);
  pointer-events:none;
}
.pres-inner{max-width:1200px;margin:0 auto;position:relative}
.pres-hero{
  text-align:center;margin-bottom:60px;
}
.pres-hero .et{
  font-size:12px;font-weight:800;letter-spacing:.35em;color:var(--c-acento);
  margin-bottom:14px;
}
.pres-hero h2{
  font-family:var(--ff-display);
  font-size:clamp(42px,6vw,72px);font-weight:900;line-height:1;margin-bottom:20px;
}
.pres-hero h2 span{
  background:var(--grad-principal);-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;background-clip:text;
}
.pres-hero p{
  max-width:780px;margin:0 auto;font-size:16px;line-height:1.7;color:var(--c-texto-suave);
}

.pres-bloques{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:40px}
.pres-bloque{
  padding:42px 36px;border-radius:26px;position:relative;overflow:hidden;
  box-shadow:var(--sh-1);
}
.pres-bloque.vision{
  background:var(--grad-dark);color:#fff;
}
.pres-bloque.vision::after{
  content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;
  background:var(--grad-principal);opacity:.22;
}
.pres-bloque.vision::before{
  content:"2030";position:absolute;bottom:-30px;right:20px;
  font-family:var(--ff-display);font-size:160px;font-weight:900;
  color:rgba(147,193,33,.1);line-height:1;letter-spacing:-8px;
}
.pres-bloque.somos{
  background:#fff;border:1px solid var(--c-borde);
}
.pres-bloque.somos::after{
  content:"";position:absolute;bottom:-40px;left:-40px;width:150px;height:150px;border-radius:50%;
  background:var(--grad-principal);opacity:.12;
}
.pres-bloque .etiq{
  display:inline-block;padding:6px 14px;border-radius:999px;
  font-size:10px;font-weight:800;letter-spacing:.3em;margin-bottom:20px;
  position:relative;z-index:2;
}
.pres-bloque.vision .etiq{background:var(--c-primario);color:#111}
.pres-bloque.somos .etiq{background:var(--c-secundario);color:var(--c-primario)}
.pres-bloque h3{
  font-family:var(--ff-display);font-size:30px;font-weight:900;line-height:1.05;margin-bottom:16px;
  position:relative;z-index:2;
}
.pres-bloque p{font-size:15px;line-height:1.75;position:relative;z-index:2}
.pres-bloque.vision p{color:#cbd5e1}
.pres-bloque.somos p{color:var(--c-texto-suave)}

.pres-valores{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.pres-valores .chip{
  padding:10px 20px;background:#fff;border:2px solid var(--c-primario);
  border-radius:999px;font-size:13px;font-weight:700;color:var(--c-secundario);
  box-shadow:var(--sh-1);
}

/* ==== CATEGORÍA ==== */
.cat-seccion{padding:70px 24px 20px}
.cat-header{
  max-width:1280px;margin:0 auto 36px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  border-bottom:3px solid var(--c-secundario);padding-bottom:18px;position:relative;
}
.cat-header::after{
  content:"";position:absolute;left:0;bottom:-3px;width:120px;height:3px;
  background:var(--grad-principal);
}
.cat-header .num{font-family:var(--ff-display);font-size:13px;font-weight:800;color:var(--c-acento);letter-spacing:.3em}
.cat-header h2{font-family:var(--ff-display);font-size:clamp(30px,5vw,52px);font-weight:900;line-height:1;text-transform:uppercase}
.cat-header .conteo{font-size:13px;color:var(--c-texto-suave);font-weight:600}

/* ==== PRODUCTOS ==== */
.productos-grid{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;
}
.producto-card{
  background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:var(--sh-1);border:1px solid var(--c-borde);
  display:flex;flex-direction:column;transition:.25s;position:relative;
}
.producto-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--c-primario)}
.producto-img{
  aspect-ratio:1/1;background:var(--c-claro);
  display:grid;place-items:center;position:relative;overflow:hidden;
}
.producto-img::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(0,0,0,.04) 1px, transparent 1px);
  background-size:12px 12px;
}
.producto-img img{max-width:82%;max-height:82%;object-fit:contain;position:relative;z-index:1;transition:.3s}
.producto-card:hover .producto-img img{transform:scale(1.05)}
.producto-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1;gap:8px}
.producto-nombre{
  font-family:var(--ff-display);font-size:14px;font-weight:700;line-height:1.25;color:#000;
  text-transform:capitalize;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px;
}
.producto-desc{
  font-size:12px;color:var(--c-texto-suave);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px;
}
.producto-precio{
  margin-top:auto;display:flex;align-items:baseline;gap:6px;
  padding-top:10px;border-top:1px dashed var(--c-borde);
}
.producto-precio .valor{
  font-family:var(--ff-display);font-size:21px;font-weight:900;
  background:var(--grad-principal);-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;background-clip:text;
}
.producto-precio .unidad{font-size:10px;color:var(--c-texto-suave);text-transform:uppercase;letter-spacing:.1em}

/* ==== BANNERS ==== */
.banner{
  max-width:1280px;margin:60px auto;
  border-radius:24px;overflow:hidden;position:relative;min-height:260px;
  display:grid;align-items:end;box-shadow:var(--sh-2);
}
.banner img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.banner::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg, rgba(31,41,55,.82), rgba(31,41,55,.2) 60%, transparent);
}
.banner .cnt{position:relative;z-index:2;padding:38px;color:#fff;max-width:640px}
.banner .eti{
  display:inline-block;background:var(--grad-principal);color:#fff;
  font-size:10px;font-weight:800;letter-spacing:.3em;padding:5px 14px;border-radius:999px;margin-bottom:12px;
}
.banner h3{font-family:var(--ff-display);font-size:clamp(24px,4vw,40px);font-weight:900;line-height:1.05;margin-bottom:8px}
.banner p{font-size:15px;color:#eaeaea;max-width:480px}
.banner.sin-texto{min-height:180px}
.banner.sin-texto .cnt{display:none}

/* ==== PIE ==== */
.pie{
  background:var(--c-secundario);color:#fff;padding:60px 24px 30px;margin-top:80px;
  border-top:4px solid var(--c-primario);position:relative;
}
.pie::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad-principal);
}
.pie-inner{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:30px;
}
.pie h4{font-family:var(--ff-display);font-size:12px;letter-spacing:.3em;color:var(--c-primario);margin-bottom:14px}
.pie p, .pie a{font-size:13px;color:#cbd5e1;line-height:1.8}
.pie .logo-pie img{height:50px;margin-bottom:14px}
.pie-legal{
  border-top:1px solid rgba(255,255,255,.1);padding-top:20px;
  font-size:11px;color:#888;text-align:center;
}

/* ==== RESPONSIVE ==== */
@media (max-width:900px){
  .portada-inner{grid-template-columns:1fr}
  .portada-mosaic{height:320px}
  .pilares-inner{grid-template-columns:1fr 1fr}
  .contacto-hero-inner{grid-template-columns:1fr}
  .contacto-grid{grid-template-columns:1fr 1fr}
  .pres-bloques{grid-template-columns:1fr}
  .pie-inner{grid-template-columns:1fr}
  .nav-links a:not(.nav-pdf){display:none}
}

/* ==== PRINT ==== */
@media print{
  .nav,.portada-cta,.pie-legal{display:none!important}
  body{background:#fff}
  .producto-card,.banner,.pilar{break-inside:avoid}
  .cat-seccion{break-before:page}
}
