/* DepuraRural — estilos de la web. Marca: verde, tierra y crema; Fraunces + Source Sans 3 (alojadas aquí, sin Google Fonts) */
@font-face{font-family:"Fraunces";src:url(fonts/fraunces-latin.woff2) format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(fonts/source-sans-3-latin.woff2) format("woff2");font-weight:400 700;font-display:swap}

:root{
  --verde:#2F4A2E; --verde-oscuro:#243a23; --tierra:#B7792F; --tierra-texto:#94601F; --tierra-claro:#E2B172;
  --crema:#F4EFE3; --papel:#FBF8F1; --carbon:#1E211C; --gris:#5A6152; --linea:#DDD5C3;
  --titulo:"Fraunces",Georgia,"Times New Roman",serif;
  --texto:"Source Sans 3","Segoe UI",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--papel);color:var(--carbon);font:400 18px/1.6 var(--texto);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--verde)}
h1,h2,h3{font-family:var(--titulo);line-height:1.15;margin:0;text-wrap:balance;color:var(--verde)}
h2{font-size:clamp(28px,4vw,40px)}
h3{font-size:22px}
p{margin:0}
.envoltura{max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.seccion{padding-block:72px}
.etiqueta{font:700 13px/1 var(--texto);letter-spacing:.12em;text-transform:uppercase;color:var(--tierra-texto)}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;padding:14px 22px;font:700 17px/1 var(--texto);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s ease}
.boton:hover{transform:translateY(-1px)}
.boton:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--tierra);outline-offset:2px}
.boton-principal{background:var(--tierra-texto);color:#fff}
.boton-whatsapp{background:#fff;color:var(--verde);border-color:#fff}
.boton-borde{background:transparent;color:var(--verde);border-color:var(--verde)}

/* Cabecera */
.cabecera{background:var(--verde);color:var(--crema)}
.cabecera .envoltura{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.cabecera img{height:44px;width:auto}
.cabecera a.tel{color:var(--crema);text-decoration:none;font-weight:700;font-size:17px;white-space:nowrap}

/* Portada */
.portada{background:var(--verde);color:var(--crema);padding-block:40px 80px;overflow:hidden}
.portada .envoltura{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.portada h1{color:var(--crema);font-size:clamp(36px,5.4vw,60px)}
.portada .entradilla{font-size:20px;margin-top:18px;opacity:.92;max-width:34em}
.portada .acciones{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.portada ul{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:8px;font-size:17px}
.portada li::before{content:"✓";color:var(--tierra-claro);font-weight:700;margin-right:10px}
.portada figure{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.portada figcaption{background:var(--verde-oscuro);font-size:14px;padding:10px 14px;opacity:.85}

/* Productos */
.productos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.producto{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:12px}
.producto .para{font-size:15px;color:var(--gris)}
.producto.destacado{border:2px solid var(--verde)}

/* Qué incluye */
.incluye{background:var(--crema)}
.incluye .rejilla{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:28px}
.lista-check{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.lista-check li{position:relative;padding-left:34px}
.lista-check li::before{content:"";position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23F4EFE3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.fotos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fotos img{border-radius:12px;aspect-ratio:3/4;object-fit:cover;width:100%}

/* Arquitectos */
.arquitectos{background:var(--verde);color:var(--crema)}
.arquitectos h2{color:var(--crema)}
.arquitectos .rejilla{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:24px}
.arquitectos .lista-check li::before{background-color:var(--tierra)}
.arquitectos .nota{font-size:15px;opacity:.8;margin-top:18px}

/* Pasos */
.pasos{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:paso}
.pasos li{counter-increment:paso;background:#fff;border:1px solid var(--linea);border-radius:14px;padding:22px}
.pasos li::before{content:counter(paso);display:block;font:700 36px/1 var(--titulo);color:var(--tierra);margin-bottom:10px}
.pasos b{display:block;margin-bottom:6px;font-size:18px}
.pasos span{font-size:16px;color:var(--gris)}

/* Formulario */
.contacto{background:var(--crema)}
.contacto .rejilla{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.formulario{background:#fff;border-radius:16px;padding:28px;border:1px solid var(--linea);display:grid;gap:16px}
.campo{display:grid;gap:6px}
.campo label{font-weight:700;font-size:16px}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
input,select,textarea{font:inherit;font-size:17px;padding:12px 14px;border:1px solid #cfc6b2;border-radius:10px;background:var(--papel);color:var(--carbon);width:100%}
textarea{min-height:110px;resize:vertical}
.casilla{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.casilla input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--verde)}
.oculto{position:absolute;left:-9999px}
.aviso-form{font-size:15px;padding:12px 14px;border-radius:10px}
.aviso-form.ok{background:#e3f1e1;color:#215a24}
.aviso-form.error{background:#f8e1de;color:#8d2b22}
.datos-contacto{display:grid;gap:16px;margin-top:24px}
.datos-contacto a{font-weight:700;font-size:20px;text-decoration:none}

/* Pie */
.pie{background:var(--carbon);color:#cfd3c8;font-size:15px;padding-block:36px}
.pie .envoltura{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between}
.pie a{color:#cfd3c8}
.pie nav{display:flex;gap:18px;flex-wrap:wrap}

/* Páginas legales */
.legal{max-width:760px;margin:0 auto;padding-block:48px 72px}
.legal h1{font-size:36px;margin-bottom:24px}
.legal h2{font-size:22px;margin:32px 0 10px}
.legal p,.legal li{margin-bottom:10px}

/* Botón flotante de WhatsApp, siempre visible */
.flotante{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));background:#11793F;color:#fff;border-radius:999px;padding:12px 18px;font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.3);display:inline-flex;align-items:center;gap:8px;z-index:10}

@media (max-width:900px){
  .portada .envoltura,.incluye .rejilla,.arquitectos .rejilla,.contacto .rejilla{grid-template-columns:1fr}
  .productos{grid-template-columns:1fr}
  .pasos{grid-template-columns:1fr 1fr}
  .seccion{padding-block:56px}
}
@media (max-width:520px){
  .pasos,.dos{grid-template-columns:1fr}
  .cabecera img{height:36px}
  .cabecera a.tel{font-size:15px}
  body{font-size:17px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.boton{transition:none}}
.pie{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
.titular summary{cursor:pointer;font-weight:700;color:var(--verde);margin-block:8px}

/* Instalación por fases, mantenimiento, errores y preguntas */
.intro{margin-top:14px;max-width:46em;color:var(--gris)}
.fases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.fase{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px}
.fase .lista-check{margin-top:8px;font-size:16px}
.incluye .fotos{margin-top:28px;max-width:560px}
.rejilla-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.tarjeta{background:#fff;border:2px solid var(--verde);border-radius:14px;padding:26px}
.nota-tarjeta{margin-top:18px;font-size:15px;color:var(--gris);border-top:1px solid var(--linea);padding-top:14px}
.errores{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:error}
.errores li{counter-increment:error;background:#fff;border:1px solid var(--linea);border-radius:14px;padding:22px}
.errores li::before{content:counter(error);display:block;font:700 30px/1 var(--titulo);color:var(--tierra-texto);margin-bottom:10px}
.errores b{display:block;margin-bottom:6px;font-size:18px}
.errores span{font-size:16px;color:var(--gris)}
.estrecha{max-width:820px}
.faq{margin-top:24px;border-top:1px solid var(--linea)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;font-weight:700;font-size:18px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:14px;font:700 26px/1 var(--titulo);color:var(--tierra-texto)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 18px;color:var(--carbon);max-width:44em}
@media (max-width:900px){
  .fases,.errores,.rejilla-2{grid-template-columns:1fr}
}
.pie-fotos{margin-top:10px;font-size:14px;color:var(--gris);max-width:560px}

/* Menú principal */
.menu{background:var(--verde-oscuro);border-top:1px solid rgba(244,239,227,.12)}
.menu .envoltura{display:flex;gap:4px 22px;flex-wrap:wrap;padding-block:10px}
.menu a{color:var(--crema);text-decoration:none;font-weight:600;font-size:16px;padding:4px 0;border-bottom:2px solid transparent}
.menu a:hover{border-bottom-color:var(--tierra-claro)}
.menu a[aria-current="page"]{border-bottom-color:var(--tierra-claro)}

/* Páginas de contenido (guía del AFO, municipios, arquitectos) */
.cabeza-articulo{background:var(--crema);padding-block:28px 44px}
.cabeza-articulo h1{font-size:clamp(32px,4.6vw,50px);margin-top:12px}
.cabeza-articulo .entradilla{font-size:20px;margin-top:16px;color:var(--gris);max-width:40em}
.migas{font-size:15px;color:var(--gris)}
.migas a{color:var(--gris)}
.texto-largo{padding-block:40px 24px}
.texto-largo section{margin-bottom:44px;scroll-margin-top:16px}
.texto-largo h2{font-size:clamp(26px,3.4vw,34px);margin-bottom:16px}
.texto-largo h3{font-size:21px;margin:26px 0 10px}
.texto-largo h4{font-size:19px;margin:0 0 6px;font-family:var(--titulo);color:var(--verde)}
.texto-largo p{margin-bottom:14px}
.texto-largo ul:not(.lista-check),.texto-largo ol{padding-left:22px;margin:0 0 16px}
.texto-largo li{margin-bottom:8px}
.texto-largo .lista-check{margin-bottom:16px}
.lista-numerada li{padding-left:4px}
.resumen{background:#fff;border:2px solid var(--verde);border-radius:14px;padding:22px 24px;margin-bottom:28px}
.resumen h2{font-size:24px;margin-bottom:14px}
.indice{background:var(--crema);border-radius:14px;padding:20px 24px;margin-bottom:40px}
.indice h2{font-size:20px;margin-bottom:8px}
.indice ol{margin:0;padding-left:22px}
.indice li{margin-bottom:4px}
.aviso{background:#fff7e9;border-left:5px solid var(--tierra);padding:14px 18px;border-radius:8px}
blockquote{margin:18px 0;padding:18px 22px;background:#fff;border-left:5px solid var(--verde);border-radius:8px;font-family:var(--titulo);font-size:21px;line-height:1.4;color:var(--verde)}
blockquote cite{display:block;margin-top:10px;font:400 15px/1.4 var(--texto);color:var(--gris);font-style:normal}
.opciones{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 22px}
.opcion{background:#fff;border:1px solid var(--linea);border-radius:12px;padding:18px}
.opcion p{font-size:16px;margin:0}
.pasos-tramite{list-style:none;padding:0 !important;counter-reset:t;display:grid;gap:12px}
.pasos-tramite li{counter-increment:t;background:#fff;border:1px solid var(--linea);border-radius:12px;padding:14px 18px 14px 58px;position:relative;margin:0 !important}
.pasos-tramite li::before{content:counter(t);position:absolute;left:18px;top:12px;font:700 26px/1 var(--titulo);color:var(--tierra-texto)}
.municipios{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:8px 0 14px}
.municipio{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--linea);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--carbon)}
.municipio:hover{border-color:var(--verde)}
.municipio b{color:var(--verde);font-size:18px}
.municipio span{font-size:15px;color:var(--gris)}
.fuentes{border-top:1px solid var(--linea);padding-top:24px;font-size:16px}
.fuentes h2{font-size:22px !important}
.aviso-legal-texto{font-size:15px;color:var(--gris);margin-top:16px}
.cta-afo{background:var(--verde);color:var(--crema)}
.cta-afo h2{color:var(--crema)}
.cta-afo p{margin-top:12px;max-width:40em}
.cta-afo .acciones{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.nota-cta{font-size:15px;opacity:.8}
.afo-portada .rejilla-2{align-items:center}
@media (max-width:900px){.opciones{grid-template-columns:1fr}}
@media (max-width:520px){.menu .envoltura{gap:2px 16px}.menu a{font-size:15px}}
.cabecera .menu .envoltura{justify-content:flex-start;padding-block:10px;gap:4px 26px}
.opcional{font-weight:400;color:var(--gris);font-size:14px}
.boton-cabecera{background:var(--tierra-texto);color:#fff;text-decoration:none;font-weight:700;font-size:16px;padding:10px 16px;border-radius:10px;white-space:nowrap}
.boton-cabecera:hover{background:#7d5119}
@media (max-width:520px){.boton-cabecera{font-size:15px;padding:9px 12px}}
.ayuda{font-size:14px;color:#8d2b22;min-height:0}
.redes{display:inline-flex;gap:14px;align-items:center;margin-right:8px}
.redes a{display:inline-flex;color:#cfd3c8}
.redes a:hover{color:#fff}
