/* ==========================================================
   BASE — compartido por todas las páginas (index.html y 404.html)
   Tipografías, colores, reset, botones y accesibilidad.
   ========================================================== */

/* Tipografías servidas desde la propia web (licencia SIL OFL), sin pasar por Google */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:500 700;font-display:swap;src:url(../fonts/fraunces.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/nunito-sans.woff2) format("woff2")}

/* Colores de la marca */
:root{
  --bg:#FBF8F3; --card:#FFFFFF; --ink:#1F2A2E; --muted:#5D6B70;
  --brand:#2E7D6B; --brand-dark:#1F5C4E; --soft:#E6F2EE; --accent:#F2B84B;
  --line:#E7E1D8; --wa:#25D366;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Nunito Sans",system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;line-height:1.15}
a{color:inherit}
img,svg{max-width:100%}
[hidden]{display:none!important}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:none;cursor:pointer;text-decoration:none;font:700 1rem "Nunito Sans",sans-serif;padding:14px 22px;border-radius:999px;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:#1EBE5A}
.btn-brand{background:var(--brand);color:#fff}
.btn-ghost{background:transparent;border:2px solid var(--ink);color:var(--ink)}
.btn-sm{padding:9px 16px;font-size:.9rem}

/* Accesibilidad: foco visible al navegar con teclado, y sin movimiento si el usuario lo pide */
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .btn:hover{transform:none}
}
