
:root{
  --marfil:#FBFAF7; --tinta:#21282A; --abedul:#E7E3DA;
  --verde:#2F5145; --verde-oscuro:#233D34; --bruma:#646E68;
}
html{scroll-behavior:smooth}
body{background:var(--marfil);color:var(--tinta)}
::selection{background:var(--verde);color:#fff}

/* Doble raya de cierre — la que cierra el texto de una escritura */
.cierre{border:none;height:7px;border-top:1px solid var(--abedul);border-bottom:1px solid var(--abedul);background:transparent;margin:0}
.cierre-verde{border-top-color:var(--verde);border-bottom-color:var(--verde);opacity:.55}

.eyebrow{font-family:'Archivo',sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--verde);font-weight:600;display:inline-block}

.btn-wa{display:inline-flex;align-items:center;gap:.6rem;background:var(--verde);color:#fff;padding:.95rem 1.7rem;border-radius:999px;font-weight:600;font-size:.95rem;transition:background .25s ease, transform .25s ease}
.btn-wa:hover{background:var(--verde-oscuro);transform:translateY(-1px)}
.btn-linea{display:inline-flex;align-items:center;gap:.6rem;border:1px solid var(--verde);color:var(--verde);padding:.9rem 1.65rem;border-radius:999px;font-weight:600;font-size:.95rem;transition:background .25s ease,color .25s ease}
.btn-linea:hover{background:var(--verde);color:#fff}
.btn-quiet{display:inline-flex;align-items:center;gap:.5rem;color:var(--verde);font-weight:600;border-bottom:1px solid transparent;transition:border-color .2s}
.btn-quiet:hover{border-color:var(--verde)}

.card{background:#fff;border:1px solid var(--abedul);border-radius:14px}
a.card{transition:border-color .25s ease, box-shadow .25s ease}
a.card:hover{border-color:var(--verde);box-shadow:0 10px 30px -18px rgba(47,81,69,.35)}
.card-quieta{background:transparent;border:1px solid var(--abedul);border-radius:14px}

.link-linea{border-bottom:1px solid var(--abedul);transition:border-color .2s,color .2s}
.link-linea:hover{color:var(--verde);border-color:var(--verde)}

/* Foco visible y coherente con la identidad */
a:focus-visible, button:focus-visible, summary:focus-visible{
  outline:2px solid var(--verde);outline-offset:3px;border-radius:4px
}

/* Revelado: sólo se oculta si JS está activo (mejora progresiva) */
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.visible{opacity:1;transform:none}

.wa-float{position:fixed;right:1rem;bottom:1rem;z-index:50;background:var(--verde);color:#fff;width:3rem;height:3rem;border-radius:999px;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px -10px rgba(35,61,52,.55);transition:transform .25s}
.wa-float:hover{transform:scale(1.06)}
@media (min-width:768px){ .wa-float{right:1.4rem;bottom:1.4rem;width:3.4rem;height:3.4rem} }
/* Aire al final para que el botón flotante no tape la última línea */
main{padding-bottom:4.5rem}

.mapa{position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--abedul);background:#fff}
.mapa-placeholder{position:relative;width:100%;border:none;background:transparent;padding:0;cursor:pointer;display:block;text-align:left}
.mapa-placeholder:hover .mapa-cta{background:var(--verde-oscuro)}
.mapa-trama{display:block;width:100%;height:auto}
.mapa-info{padding:1.5rem}
.mapa-cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--verde);color:#fff;padding:.7rem 1.3rem;border-radius:999px;font-weight:600;font-size:.9rem;transition:background .25s}
.mapa iframe{display:block;width:100%;height:340px;border:0}

.paso-num{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--verde);font-style:italic}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item[open] .faq-icon{transform:rotate(45deg)}
.faq-icon{transition:transform .25s;color:var(--verde);flex-shrink:0}

@media (prefers-reduced-motion: reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .btn-wa,.btn-linea,.wa-float{transition:none}
  html{scroll-behavior:auto}
}
