/* 5° Simposio Internacional GAMM 2027 — estilos provisorios (sin diseño entregado) */
:root { --azul:#001e4d; --azul2:#1f7fc0; --acento:#2fa4e0; --violeta:#6b2d8b; --lav:#9191c7; --gris:#eef3f9; --txt:#2d3748; }
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:70px; }
body { font-family:'Cabin',sans-serif; color:var(--txt); line-height:1.55; background:#fff; }
a { color:var(--azul2); }
.container { max-width:1100px; margin:0 auto; padding:0 20px; }

/* Header */
#inicio { position:sticky; top:0; z-index:100; background:var(--azul); color:#fff; box-shadow:0 2px 10px rgba(0,0,0,.2); }
.header-inner { display:flex; align-items:center; justify-content:space-between; height:64px; }
.header-logos { display:flex; align-items:center; gap:14px; color:#fff; text-decoration:none; }
.logo-texto { font-size:1.5rem; letter-spacing:.04em; }
.logo-texto strong { color:var(--lav); }
.logo-anio { color:var(--acento); font-weight:400; }
.logo-sah { font-size:.62rem; line-height:1.2; text-transform:uppercase; letter-spacing:.06em; opacity:.8; border-left:1px solid rgba(255,255,255,.4); padding-left:12px; }
.nav-menu { list-style:none; display:flex; gap:4px; align-items:center; }
.nav-menu a { white-space:nowrap; color:rgba(255,255,255,.85); text-decoration:none; font-size:.86rem; font-weight:600; padding:8px 12px; border-radius:6px; transition:background .15s; }
.nav-menu a:hover, .nav-menu a.active { background:rgba(255,255,255,.16); color:#fff; }
.nav-menu a.nav-register { background:var(--violeta); color:#fff; }
.nav-menu a.nav-register:hover { filter:brightness(1.08); }
.mobile-menu-btn { display:none; background:none; border:0; color:#fff; font-size:1.5rem; cursor:pointer; }

/* Hero */
#hero { background:var(--azul); text-align:center; }
.hero-img { display:block; width:100%; max-width:1920px; height:auto; margin:0 auto; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.hero-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; padding:26px 20px 34px; }
.btn-hero { display:inline-block; background:var(--acento); color:var(--azul); border:0; border-radius:50px; padding:13px 30px; font:700 .92rem 'Cabin',sans-serif; text-transform:uppercase; letter-spacing:.05em; text-decoration:none; cursor:pointer; transition:filter .15s; }
.btn-hero:hover { filter:brightness(1.1); }
.btn-hero-o { background:transparent; color:#fff; border:2px solid var(--lav); }

/* Secciones */
.sec { padding:64px 0; }
.sec-alt { background:var(--gris); }
.sec-titulo { text-align:center; color:var(--azul); font-size:1.9rem; margin-bottom:28px; position:relative; }
.sec-titulo::after { content:''; display:block; width:60px; height:3px; background:var(--acento); margin:10px auto 0; }
.sec-sub { text-align:center; color:#718096; margin:-12px 0 26px; }
.placeholder-box { background:#fff; border:2px dashed #CBD5E0; border-radius:12px; padding:44px 20px; text-align:center; color:#718096; }
.sec-alt .placeholder-box { background:var(--gris); }

/* Info general */
.info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.info-card { background:#fff; border-radius:12px; padding:26px 22px; text-align:center; box-shadow:0 2px 10px rgba(0,0,0,.07); }
.info-card i { font-size:1.8rem; color:var(--azul2); margin-bottom:10px; }
.info-card h3 { color:var(--azul); font-size:1.05rem; margin-bottom:6px; }
.info-card p { color:#718096; font-size:.92rem; }

/* Formulario */
.reg-form { max-width:820px; margin:0 auto; background:#fff; border-radius:14px; padding:30px; box-shadow:0 4px 20px rgba(0,0,0,.09); }
.reg-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px 18px; margin-bottom:24px; }
.fg { display:flex; flex-direction:column; gap:5px; }
.fg label { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#4a5568; }
.fg input, .fg select { border:1px solid #CBD5E0; border-radius:6px; padding:10px 12px; font:inherit; outline:none; }
.fg input:focus, .fg select:focus { border-color:var(--azul2); box-shadow:0 0 0 3px rgba(43,91,168,.15); }
.fg .invalid, input.invalid, select.invalid { border-color:#E53E3E; background:#FFF5F5; }
.reg-form .btn-hero { background:var(--violeta); color:#fff; display:block; margin:0 auto; }
.reg-error { max-width:820px; margin:0 auto 18px; background:#FFF5F5; border:1px solid #FC8181; color:#C53030; border-radius:8px; padding:12px 16px; }

/* Footer */
.site-footer { background:var(--azul); color:#fff; padding:36px 0; }
.footer-inner { display:flex; justify-content:space-around; gap:30px; flex-wrap:wrap; text-align:center; }
.footer-nombre { font-weight:700; letter-spacing:.06em; font-size:.9rem; margin-bottom:6px; }
.footer-contacto, .footer-contacto a { font-size:.85rem; color:rgba(255,255,255,.8); }
.site-copyright { background:#00133a; color:rgba(255,255,255,.6); text-align:center; font-size:.78rem; padding:12px; }

@media (max-width:1080px) {
  .mobile-menu-btn { display:block; }
  #mainNav { display:none; position:absolute; top:64px; left:0; right:0; background:var(--azul); padding:10px 20px 18px; box-shadow:0 8px 16px rgba(0,0,0,.2); }
  #mainNav.open { display:block; }
  .nav-menu { flex-direction:column; align-items:stretch; }
  .nav-menu a { display:block; padding:11px 12px; }
  .reg-grid { grid-template-columns:1fr; }
  .logo-sah { display:none; }
}
