/* ===========================================================================
   Zigmasolar — hoja base del sitio claro.
   La usan la portada y, a medida que se pasen, el resto de las paginas.
   Fondo claro, una sola tipografia (Archivo), un solo acento naranja.
   =========================================================================== */

:root{
  --fondo:#FFFFFF; --fondo-2:#F5F3EF; --texto:#1B1B1B; --texto-2:#5A5A5A;
  --linea:#E2DED8; --acento:#F97316; --acento-tinta:#C2410C; --ok:#15803D;
  --ancho:1080px; --ancho-texto:66ch;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--fondo); color:var(--texto);
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased}
img{max-width:100%; height:auto}
a{color:var(--acento-tinta)}

h1,h2,h3,h4{line-height:1.12; margin:0 0 12px; font-weight:700; text-wrap:balance}
h1{font-size:clamp(2rem,5.4vw,3.1rem); letter-spacing:-.022em}
h2{font-size:clamp(1.5rem,3.6vw,2.1rem); letter-spacing:-.014em}
h3{font-size:1.15rem}
p{margin:0 0 15px; max-width:var(--ancho-texto)}
.lead{font-size:1.06rem; color:var(--texto-2)}
.rot{font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--acento-tinta); font-weight:700; margin:0 0 10px}

.ancho{max-width:var(--ancho); margin:0 auto; padding:0 22px}
section{padding:64px 0; border-top:1px solid var(--linea)}
section:first-of-type{border-top:0}

/* ---- cabecera ---- */
.cab{border-bottom:1px solid var(--linea); position:sticky; top:0; z-index:30;
  background:var(--fondo)}
.cab-in{display:flex; align-items:center; justify-content:space-between; gap:18px;
  max-width:var(--ancho); margin:0 auto; padding:13px 22px}
.marca{display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--texto)}
.marca img{display:block; border-radius:2px}
.marca b{display:block; font-size:1.06rem; letter-spacing:.06em; font-weight:800; line-height:1.1}
.marca small{display:block; font-size:.7rem; color:var(--texto-2); letter-spacing:.09em;
  text-transform:uppercase}
.menu{display:flex; align-items:center; gap:22px}
.menu a{color:var(--texto); text-decoration:none; font-size:.94rem}
.menu a:hover{color:var(--acento-tinta)}
.menu .btn{color:#fff}
@media (max-width:860px){ .menu a:not(.btn){display:none} }

/* ---- botones ---- */
.btn,.btn-2{display:inline-block; font:inherit; font-weight:700; text-decoration:none;
  padding:14px 26px; border-radius:2px; cursor:pointer; border:1px solid transparent}
.btn{background:var(--acento); color:#fff; border-color:var(--acento)}
.btn:hover{background:var(--acento-tinta); border-color:var(--acento-tinta)}
.btn-2{background:none; color:var(--texto); border-color:var(--linea)}
.btn-2:hover{border-color:var(--texto-2)}
.acciones{display:flex; flex-wrap:wrap; gap:11px; margin-top:22px}

/* ---- hero ---- */
.hero{padding:56px 0 64px}
.hero-in{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center}
.hero p{max-width:52ch}
.hero-foto{border-radius:2px; overflow:hidden; border:1px solid var(--linea)}
.hero-foto img{display:block; width:100%; aspect-ratio:4/5; object-fit:cover}
@media (max-width:880px){
  .hero-in{grid-template-columns:1fr; gap:30px}
  .hero-foto{order:-1}
  .hero-foto img{aspect-ratio:16/10}
}

/* arranque del dimensionador dentro de la portada */
.arranque{border:1px solid var(--linea); border-radius:2px; padding:20px; margin-top:26px;
  background:var(--fondo-2)}
.arranque label{display:block; font-weight:700; margin-bottom:4px}
.arranque .nota{font-size:.9rem; color:var(--texto-2); margin:0 0 12px}
.arranque-fila{display:flex; gap:9px; flex-wrap:wrap}
.arranque input{flex:1 1 200px; font:inherit; padding:13px 15px; border:1px solid var(--linea);
  border-radius:2px; background:var(--fondo); color:var(--texto)}
.arranque input:focus{outline:2px solid var(--acento); outline-offset:-1px}
.arranque .btn{padding:13px 22px}

/* ---- bloques de contenido ---- */
.dos{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start}
@media (max-width:860px){ .dos{grid-template-columns:1fr; gap:28px} }

.tarjetas{display:grid; grid-template-columns:repeat(auto-fit,minmax(232px,1fr)); gap:24px;
  margin-top:30px}
.tarjeta h3{margin-bottom:6px}
.tarjeta p{font-size:.96rem; color:var(--texto-2); margin:0}
.tarjeta .cifra{display:block; font-size:1.9rem; font-weight:700; color:var(--acento-tinta);
  line-height:1.1; margin-bottom:4px; font-variant-numeric:tabular-nums}

.lista{list-style:none; margin:18px 0 0; padding:0}
.lista li{padding:9px 0 9px 20px; position:relative; border-bottom:1px solid var(--linea);
  max-width:var(--ancho-texto)}
.lista li:last-child{border-bottom:0}
.lista li::before{content:''; position:absolute; left:0; top:18px; width:6px; height:6px;
  border-radius:50%; background:var(--acento)}
.lista b{display:block}
.lista span{color:var(--texto-2); font-size:.95rem}

/* obra */
.obra{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-top:28px}
.obra figure{margin:0; border:1px solid var(--linea); border-radius:2px; overflow:hidden}
.obra img{display:block; width:100%; aspect-ratio:4/3; object-fit:cover}
.obra figcaption{padding:10px 12px; font-size:.82rem; color:var(--texto-2);
  border-top:1px solid var(--linea); display:flex; justify-content:space-between; gap:8px}
.obra figcaption b{color:var(--texto); font-weight:600}

/* zona */
.zonas{display:flex; flex-wrap:wrap; gap:7px; margin:16px 0 0; padding:0; list-style:none}
.zonas li{border:1px solid var(--linea); border-radius:2px; padding:6px 11px; font-size:.9rem}
.zona-t{font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--texto-2);
  font-weight:700; margin:26px 0 0}

/* preguntas */
.faq{margin-top:26px; max-width:var(--ancho-texto)}
.faq details{border-bottom:1px solid var(--linea); padding:15px 0}
.faq summary{cursor:pointer; font-weight:600; list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+'; float:right; color:var(--acento-tinta); font-weight:700}
.faq details[open] summary::after{content:'–'}
.faq p{margin:12px 0 0; color:var(--texto-2)}

/* cierre y pie */
.cierre{background:var(--fondo-2); border-top:1px solid var(--linea)}
.pie{border-top:1px solid var(--linea); padding:44px 0 60px; font-size:.92rem; color:var(--texto-2)}
.pie-cols{display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:32px}
.pie h4{font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--texto);
  margin:0 0 12px}
.pie ul{list-style:none; margin:0; padding:0}
.pie li{padding:4px 0}
.pie a{color:var(--texto-2); text-decoration:none}
.pie a:hover{color:var(--acento-tinta)}
.pie .lema{color:var(--texto); font-weight:600; margin-bottom:10px}
@media (max-width:760px){ .pie-cols{grid-template-columns:1fr; gap:26px} }

/* boton flotante de WhatsApp */
.wa-flota{position:fixed; right:18px; bottom:18px; z-index:35; display:flex; align-items:center;
  gap:9px; padding:13px 20px; border-radius:2px; background:var(--acento); color:#fff;
  text-decoration:none; font-weight:700; box-shadow:0 6px 22px rgba(0,0,0,.16)}
.wa-flota:hover{background:var(--acento-tinta); color:#fff}
@media (max-width:560px){ .wa-flota{padding:12px 16px; font-size:.92rem} }

/* ---- cuadro de garantias ---------------------------------------------------
   Ancho propio con scroll: en 360 px la tabla no puede empujar la pagina. */
.tabla-wrap{overflow-x:auto; margin-top:22px; border:1px solid var(--linea); border-radius:2px}
.tabla{border-collapse:collapse; width:100%; min-width:460px; font-size:.96rem}
.tabla th,.tabla td{text-align:left; padding:13px 16px; border-bottom:1px solid var(--linea)}
.tabla thead th{background:var(--fondo-2); font-size:.74rem; letter-spacing:.11em;
  text-transform:uppercase; color:var(--texto-2)}
.tabla tbody tr:last-child td{border-bottom:0}
.tabla td:nth-child(2){white-space:nowrap; font-variant-numeric:tabular-nums}
.tabla td:nth-child(3){color:var(--texto-2)}

.nota-chica{font-size:.9rem; color:var(--texto-2); margin-top:16px}

/* ---- ficha de componente ---------------------------------------------------
   Foto a la izquierda, texto a la derecha; en angosto la foto va arriba. */
.ficha{display:grid; grid-template-columns:300px 1fr; gap:28px; align-items:start;
  padding:30px 0; border-top:1px solid var(--linea)}
.ficha:first-of-type{border-top:0; padding-top:12px}
.ficha figure{margin:0; border:1px solid var(--linea); border-radius:2px; overflow:hidden}
.ficha figure img{display:block; width:100%; aspect-ratio:4/3; object-fit:cover}
.ficha p:last-child{margin-bottom:0}
@media (max-width:760px){
  .ficha{grid-template-columns:1fr; gap:18px; padding:26px 0}
  .ficha figure img{aspect-ratio:16/10}
}

.foto-bloque{margin:0 0 16px; border:1px solid var(--linea); border-radius:2px; overflow:hidden}
.foto-bloque img{display:block; width:100%; aspect-ratio:4/3; object-fit:cover}
