/* Menu de navegacion compartido y ajustes para celulares */
.topnav { position:sticky; top:0; z-index:30; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px clamp(16px,5vw,56px); background:rgba(16,25,46,0.94); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-bottom:1px solid var(--hairline); }
.topnav .marca { display:flex; align-items:center; }
.topnav .marca img { height:44px; width:auto; display:block; }
.topnav nav { display:flex; align-items:center; gap:clamp(12px,2.2vw,26px); font-size:0.92rem; }
.topnav nav a { color:var(--ivory-dim); }
.topnav nav a:hover { color:var(--ivory); }
.topnav nav a.on { color:var(--gold-bright); font-weight:600; }
.topnav nav a.red { display:inline-flex; align-items:center; gap:8px; padding:7px 9px; border:1px solid var(--hairline); color:var(--gold-bright); }
.topnav nav a.red:hover { background:var(--gold); color:var(--ink); }
.topnav nav a.red svg { width:18px; height:18px; flex-shrink:0; }
.topnav nav a.red span { display:none; }
.topnav nav a.red.primero { margin-left:6px; }
footer a { color:var(--gold-bright); }
.menu-btn { display:none; width:44px; height:44px; padding:0; background:transparent; border:1px solid var(--hairline); color:var(--gold-bright); cursor:pointer; align-items:center; justify-content:center; }
.menu-btn svg { width:22px; height:22px; }
.menu-btn .x { display:none; }
.topnav.abierto .menu-btn .x { display:block; }
.topnav.abierto .menu-btn .barras { display:none; }

@media (max-width: 980px) {
  .menu-btn { display:flex; }
  .topnav nav { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:#101A30; border-bottom:1px solid var(--hairline); padding:6px clamp(16px,5vw,56px) 14px; box-shadow:0 14px 30px rgba(0,0,0,0.45); }
  .topnav.abierto nav { display:flex; }
  .topnav nav a { padding:14px 4px; font-size:1.02rem; border-bottom:1px solid rgba(217,165,54,0.14); }
  .topnav nav a:last-child { border-bottom:none; }
  .topnav nav a.red { border:none; border-bottom:1px solid rgba(217,165,54,0.14); padding:14px 4px; margin-left:0; gap:12px; color:var(--ivory-dim); }
  .topnav nav a.red:hover { background:transparent; color:var(--ivory); }
  .topnav nav a.red.primero { margin-left:0; }
  .topnav nav a.red span { display:inline; }
}

@media (max-width: 640px) {
  .niveles { grid-template-columns:1fr !important; }
  .topnav .marca img { height:38px; }
  section { padding-left:18px !important; padding-right:18px !important; }
  footer { justify-content:center !important; text-align:center; padding-left:18px !important; padding-right:18px !important; }
  img { max-width:100%; }
  input, select, textarea { font-size:16px !important; } /* evita el zoom automatico en iPhone */
  a[style*="padding:13px 28px"] { text-align:center; }
}

/* Boton para volver arriba */
.subir { position:fixed; right:18px; bottom:18px; z-index:40; width:46px; height:46px; padding:0; display:flex; align-items:center; justify-content:center; background:#D9A536; color:#101A30; border:none; border-radius:50%; cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,0.45); opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .25s, transform .25s, visibility .25s, background .2s; }
.subir.visible { opacity:1; visibility:visible; transform:none; }
.subir:hover { background:#E7C878; }
.subir svg { width:22px; height:22px; }

/* Cuando la cantidad de niveles es impar, el ultimo queda centrado */
.niveles-impar > :last-child { grid-column:1 / -1; justify-self:center; width:calc(50% - 16px); }
@media (max-width: 640px) { .niveles-impar > :last-child { width:auto; justify-self:stretch; } }
