/* AFORO · aforo.us — estilos base. El diseño de cada sección vive en el HTML (estilos en línea del canvas aprobado). */
@font-face{font-family:"Archivo";src:url("/assets/fonts/archivo-latin-wght-normal.woff2") format("woff2-variations"),url("/assets/fonts/archivo-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#05070F;color:#EAEEF8;font-family:Archivo,system-ui,sans-serif}
a{color:#EAEEF8}
a:hover{color:#5BD0C0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #5BD0C0;outline-offset:3px}
img{max-width:100%}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#35B5A4;color:#04211D;padding:10px 16px;border-radius:999px;font-weight:700;text-decoration:none}
.skip:focus{left:16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Efectos (finos, se repiten al volver a entrar en pantalla) ---------- */
html.fx .fx-reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
html.fx .fx-reveal.is-in{opacity:1;transform:none}

html.fx .fx-bar{transform-origin:left center;transform:scaleX(0);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
html.fx .fx-bar.is-in{transform:scaleX(1)}
html.fx .fx-barv{transform-origin:center bottom;transform:scaleY(0);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
html.fx .fx-barv.is-in{transform:scaleY(1)}

.fx-ring{transition:stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1)}

.fx-rombo{transition:filter .6s ease}
html.fx .fx-rombo.is-in{animation:rombo-brillo 2.2s ease .2s 1}
@keyframes rombo-brillo{0%{filter:drop-shadow(0 0 0 rgba(214,174,92,0))}45%{filter:drop-shadow(0 0 10px rgba(214,174,92,.9))}100%{filter:drop-shadow(0 0 0 rgba(214,174,92,0))}}

html.fx .fx-lead{opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease}
html.fx .fx-lead.is-in{opacity:1;transform:none}

/* Formulario de reserva */
.form-nota{margin:14px 0 0;font-size:14px;color:#97A3C4;line-height:1.5}
.form-nota a{color:#5BD0C0}

/* Páginas legales */
.legal{max-width:820px;margin:0 auto;padding:56px 24px 96px;font-size:17px;line-height:1.7;color:#C6CFE6}
.legal h1{font-size:clamp(32px,4vw,48px);line-height:1.1;color:#EAEEF8;letter-spacing:-.02em;margin:0 0 8px}
.legal h2{font-size:24px;color:#EAEEF8;margin:48px 0 8px}
.legal h3{font-size:19px;color:#EAEEF8;margin:32px 0 6px}
.legal blockquote{margin:20px 0;padding:16px 20px;border-left:3px solid #35B5A4;background:#0B1128;border-radius:0 12px 12px 0;color:#EAEEF8}
.legal blockquote p{margin:0}
.legal table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px}
.legal th,.legal td{border:1px solid #263262;padding:10px 12px;text-align:left;vertical-align:top}
.legal th{background:#0E1530;color:#EAEEF8}
.legal a{color:#5BD0C0}
.legal .meta{font-family:"IBM Plex Mono",monospace;font-size:13px;color:#97A3C4;letter-spacing:.06em}
.legal .toc{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 8px}
.legal .toc a{font-size:14px;padding:8px 14px;border:1px solid #263262;border-radius:999px;text-decoration:none;color:#C6CFE6}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fx-reveal,.fx-bar,.fx-barv,.fx-lead{opacity:1!important;transform:none!important;transition:none!important}
  .fx-ring{transition:none!important}
  .fx-rombo.is-in{animation:none}
}

/* La versión en inglés todavía no está publicada: se oculta el selector de idioma. */
header a[hreflang="en"]{display:none!important}

/* Celular: cabecera compacta (logo + reserva). El menú completo queda en el pie. */
@media (max-width:760px){
  header nav[aria-label="Principal"]{display:none!important}
  header a[href*="aforo.com.ar/ingresar"]{display:none!important}
  header > div{flex-wrap:nowrap!important;padding:14px 16px!important}
  header a[href$="#reserva"]{padding:10px 16px!important;font-size:14px!important;white-space:nowrap}
}
