/* =========================================================
   PLANTILLA MADRE — secciones en código (clases jw-*)
   Colores: cambiar SOLO las variables de :root por los corporativos del cliente.
   ========================================================= */
:root{
  --jw-principal:#111111;      /* color de marca */
  --jw-principal-txt:#FFFFFF;  /* texto sobre el color de marca */
  --jw-texto:#222222;
  --jw-suave:#666666;
  --jw-fondo:#FFFFFF;
  --jw-fondo-2:#F5F5F5;
  --jw-borde:#E5E5E5;
  --jw-radio:14px;
  --jw-ancho:1200px;
  --jw-fuente:'Poppins',system-ui,sans-serif;
}
.jw{font-family:var(--jw-fuente);color:var(--jw-texto);line-height:1.65}
.jw *{box-sizing:border-box}
.jw h1,.jw h2,.jw h3{font-family:var(--jw-fuente);color:var(--jw-texto);line-height:1.2;margin:0 0 .6em}
.jw h1{font-size:clamp(32px,5vw,52px);font-weight:600}
.jw h2{font-size:clamp(26px,3.4vw,38px);font-weight:600}
.jw h3{font-size:20px;font-weight:600}
.jw p{margin:0 0 1em}
.jw-wrap{max-width:var(--jw-ancho);margin:0 auto;padding:0 20px}
.jw-sec{padding:80px 0}
.jw-sec--alt{background:var(--jw-fondo-2)}
.jw-sec--dark{background:var(--jw-principal);color:var(--jw-principal-txt)}
.jw-sec--dark h2,.jw-sec--dark h3,.jw-sec--dark p{color:var(--jw-principal-txt)}
.jw-center{text-align:center}
.jw-kicker{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--jw-suave);margin-bottom:12px}
.jw-lead{font-size:18px;color:var(--jw-suave);max-width:680px}
.jw-center .jw-lead{margin-left:auto;margin-right:auto}
/* Botones */
.jw-btn{display:inline-block;background:var(--jw-principal);color:var(--jw-principal-txt)!important;border:2px solid var(--jw-principal);border-radius:50px;padding:13px 28px;font-weight:600;text-decoration:none;transition:.2s;cursor:pointer;font-family:var(--jw-fuente);font-size:16px}
.jw-btn:hover{background:transparent;color:var(--jw-principal)!important}
.jw-btn--line{background:transparent;color:var(--jw-principal)!important}
.jw-btn--line:hover{background:var(--jw-principal);color:var(--jw-principal-txt)!important}
.jw-btn--full{width:100%}
.jw-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.jw-link{font-weight:600;color:var(--jw-principal);text-decoration:none}
/* Hero */
.jw-hero{padding:110px 0 90px;background:var(--jw-fondo-2)}
.jw-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.jw-hero img{width:100%;height:auto;border-radius:var(--jw-radio);display:block}
.jw-hero--simple{padding:90px 0 60px}
/* Rejillas y tarjetas */
.jw-grid{display:grid;gap:24px}
.jw-grid--2{grid-template-columns:repeat(2,1fr)}
.jw-grid--3{grid-template-columns:repeat(3,1fr)}
.jw-grid--4{grid-template-columns:repeat(4,1fr)}
.jw-card{background:var(--jw-fondo);border:1px solid var(--jw-borde);border-radius:var(--jw-radio);padding:28px;height:100%}
.jw-card__icon{width:52px;height:52px;border-radius:12px;background:var(--jw-fondo-2);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px}
.jw-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.jw-split img{width:100%;border-radius:var(--jw-radio);display:block}
.jw-list{list-style:none;padding:0;margin:0 0 1em}
.jw-list li{padding-left:28px;position:relative;margin-bottom:10px}
.jw-list li:before{content:"✓";position:absolute;left:0;font-weight:700;color:var(--jw-principal)}
/* Cifras */
.jw-stat{font-size:42px;font-weight:700;line-height:1}
.jw-stat + p{color:var(--jw-suave);margin-top:6px}
/* FAQ */
.jw-faq details{border-bottom:1px solid var(--jw-borde);padding:18px 0}
.jw-faq summary{font-weight:600;cursor:pointer;font-size:18px;list-style:none}
.jw-faq summary::-webkit-details-marker{display:none}
.jw-faq summary:after{content:"+";float:right}
.jw-faq details[open] summary:after{content:"–"}
.jw-faq details p{margin:12px 0 0;color:var(--jw-suave)}
/* Formulario */
.jw-form{background:var(--jw-fondo);border:1px solid var(--jw-borde);border-radius:var(--jw-radio);padding:28px;display:grid;gap:12px}
.jw-form__title{text-align:center;margin-bottom:6px}
.jw-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jw-form input[type=text],.jw-form input[type=tel],.jw-form input[type=email],.jw-form textarea{width:100%;border:1px solid var(--jw-borde);border-radius:10px;padding:13px 14px;font:inherit;background:#fff;color:var(--jw-texto)}
.jw-form input:focus,.jw-form textarea:focus{outline:2px solid var(--jw-principal);outline-offset:1px}
.jw-form__hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.jw-form__legal{font-size:13px;color:var(--jw-suave);display:flex;gap:8px;align-items:flex-start}
.jw-form__msg{font-size:14px;display:none}
.jw-form__msg.ok,.jw-form__msg.err{display:block;padding:10px 12px;border-radius:8px}
.jw-form__msg.ok{background:#EAF7EE;color:#1B5E20}
.jw-form__msg.err{background:#FDECEC;color:#8A1C1C}
/* Mapa y datos de contacto */
.jw-map iframe{width:100%;height:100%;min-height:360px;border:0;border-radius:var(--jw-radio);display:block}
.jw-datos{list-style:none;padding:0;margin:0}
.jw-datos li{padding:12px 0;border-bottom:1px solid var(--jw-borde)}
.jw-datos a{color:inherit;text-decoration:none}
/* Blog */
.jw-post{padding:0;overflow:hidden}
.jw-post a{color:inherit;text-decoration:none;display:block;height:100%}
.jw-post__img{width:100%;height:210px;object-fit:cover;display:block}
.jw-post__body{padding:22px}
.jw-post__date{font-size:13px;color:var(--jw-suave)}
/* Texto legal / artículos */
.jw-texto{max-width:820px;margin:0 auto}
.jw-texto h2{font-size:26px;margin-top:1.6em}
/* Responsive */
@media(max-width:1024px){.jw-grid--4{grid-template-columns:repeat(2,1fr)}.jw-grid--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.jw-sec{padding:56px 0}.jw-hero{padding:70px 0 56px}.jw-hero__grid,.jw-split,.jw-grid--2,.jw-grid--3,.jw-grid--4,.jw-form__row{grid-template-columns:1fr}}
