/* Navegante TV · prototipo de sitio web (octubre 2026)
   Misma familia visual que Majo Fishing Lodge y BotesPanama.com: azul marino, arena y dorado en relieve. */
:root {
  --navy: #082d3e;
  --navy-2: #0b3a50;
  --sea: #164d60;
  --sand: #f4f1e9;
  --sand-2: #ebe5d6;
  --azul: #1878c8;
  --g1: #e3c27a;
  --g2: #d4b06a;
  --g3: #c49e58;
  --g4: #a27a37;
  --g5: #8f6828;
  --g6: #7a5820;
  --gold: #b58245;
  --texto: #10242f;
  --gris: #5b6870;
  --linea: #e2ddd0;
  --radio: 16px;
  --ancho: 1200px;
  --serif: "Cinzel", Georgia, serif;
  --sans: "Montserrat", system-ui, sans-serif;
  --relieve: 0 2px 0 var(--g3), 0 4px 0 var(--g4), 0 6px 0 var(--g5), 0 8px 0 var(--g6), 0 18px 32px rgba(0,0,0,.18);
  --relieve-suave: 0 2px 0 var(--g3), 0 4px 0 var(--g4), 0 12px 24px rgba(0,0,0,.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--texto); font: 400 16px/1.65 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { color: var(--sea); }
h1, h2, h3, h4 { margin: 0 0 .5em; line-height: 1.15; color: var(--navy); }
h1, h2 { font-family: var(--serif); font-weight: 700; letter-spacing: .01em; }
h1 { font-size: clamp(2rem, 4.6vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
h3 { font-family: var(--sans); font-size: 1.15rem; font-weight: 800; }
h4 { font-family: var(--sans); font-weight: 800; }
p { margin: 0 0 1em; }
[id] { scroll-margin-top: 100px; }

.contenedor { width: 100%; max-width: var(--ancho); margin: 0 auto; padding: 0 16px; }
@media (min-width: 720px) { .contenedor { padding: 0 28px; } }

/* Cinta de prototipo */
.cinta-prototipo { background: repeating-linear-gradient(-45deg, #fff4d6, #fff4d6 12px, #ffeab3 12px, #ffeab3 24px); color: #6b4a00; font-size: .8rem; text-align: center; padding: 6px 16px; font-weight: 700; }
.nota-prototipo { display: inline-block; background: #fff4d6; color: #6b4a00; border: 1px dashed #e0b44a; font-size: .75rem; font-weight: 700; padding: 2px 8px; border-radius: 6px; vertical-align: middle; }

/* Barra superior */
.barra-superior { background: #05202c; color: #cfe0e8; font-size: .82rem; border-bottom: 1px solid rgba(227,194,122,.25); }
.barra-superior .contenedor { display: flex; gap: 10px 22px; justify-content: space-between; align-items: center; padding-top: 8px; padding-bottom: 8px; flex-wrap: wrap; }
.barra-superior a { color: #fff; text-decoration: none; font-weight: 700; }
.barra-superior a:hover { color: var(--g1); }
.barra-superior a.bp { color: var(--g1); }
.punto-vivo { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #ff3b3b; margin-right: 6px; animation: latido 1.8s infinite; }
@keyframes latido { 0% { box-shadow: 0 0 0 0 rgba(255,59,59,.6); } 70% { box-shadow: 0 0 0 8px rgba(255,59,59,0); } 100% { box-shadow: 0 0 0 0 rgba(255,59,59,0); } }

/* Encabezado */
.encabezado { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.97); backdrop-filter: blur(8px); border-bottom: 3px solid var(--g1); }
.encabezado .contenedor { display: flex; align-items: center; justify-content: space-between; gap: 14px; height: 78px; }
.logo img { height: 62px; width: auto; }
/* Menú: cada opción es un botón con marco dorado y relieve, como los de Majo */
.menu { display: flex; align-items: center; gap: 6px; }
.menu > a.opcion-menu {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 7px 12px; border: 1.5px solid var(--g1); border-radius: 999px; background: #fff;
  color: var(--navy); text-decoration: none; font: 700 .74rem/1 var(--sans); text-transform: uppercase; letter-spacing: .06em; white-space: nowrap;
  box-shadow: 0 2px 0 var(--g3);
  transition: transform .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.menu > a.opcion-menu:hover { transform: translateY(-1px); background: #fffaf0; color: var(--gold); box-shadow: 0 3px 0 var(--g3), 0 6px 12px rgba(8,45,62,.10); }
.menu > a.opcion-menu:active { transform: translateY(1px); box-shadow: 0 1px 0 var(--g3); }
.menu > a.opcion-menu[aria-current="page"] { background: var(--navy); border-color: var(--g2); color: var(--g1); box-shadow: 0 2px 0 var(--g5); }
.menu > a.opcion-menu.solo-movil { display: none; }
.boton-buscar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid var(--g1); color: var(--navy); background: #fff; margin: 0 2px; box-shadow: 0 2px 0 var(--g3); transition: transform .15s ease; }
.boton-buscar svg { width: 15px; height: 15px; fill: currentColor; }
.boton-buscar:hover { background: #fffaf0; transform: translateY(-1px); }
.boton-menu { display: none; background: #fff; border: 1.5px solid var(--g1); border-radius: 999px; padding: 7px 16px; font: 700 .78rem var(--sans); color: var(--navy); text-transform: uppercase; letter-spacing: .06em; box-shadow: 0 2px 0 var(--g3); cursor: pointer; }
@media (max-width: 1180px) {
  .boton-menu { display: block; }
  .menu { display: none; position: absolute; top: 78px; left: 0; right: 0; background: #fff; gap: 8px; padding: 14px 16px 18px; border-bottom: 3px solid var(--g1); box-shadow: 0 18px 30px rgba(0,0,0,.12); }
  .menu.abierto { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu > a.opcion-menu { padding: 9px 8px; }
  .menu > a.opcion-menu.solo-movil { display: inline-flex; }
  .menu .boton-buscar { display: none; }
  .menu .boton { grid-column: 1 / -1; margin: 4px auto 0; padding: 9px 26px; }
}

/* Botones dorados en relieve (como Majo y BotesPanama) */
.boton { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 24px; border-radius: 999px; font: 800 .9rem/1.2 var(--sans); text-transform: uppercase; letter-spacing: .05em; text-decoration: none; cursor: pointer; border: 2px solid var(--g1); background: var(--g2); color: #fff; box-shadow: 0 4px 0 var(--g5), 0 10px 20px rgba(0,0,0,.22); transition: transform .15s ease, filter .15s ease; text-align: center; }
.boton:hover { transform: translateY(-3px); filter: brightness(1.07); color: #fff; }
.boton:active { transform: translateY(1px); box-shadow: 0 2px 0 var(--g5), 0 6px 12px rgba(0,0,0,.2); }
.boton svg { width: 18px; height: 18px; fill: currentColor; }
.boton-navy { background: linear-gradient(180deg, #0f3a52, var(--navy)); }
.boton-claro { background: rgba(255,255,255,.08); }
.boton-blanco { background: #fff; color: var(--navy); }
.boton-blanco:hover { color: var(--navy); }
.boton-wa { background: #25d366; border-color: #8be4ad; box-shadow: 0 4px 0 #1a9e4b, 0 10px 20px rgba(0,0,0,.2); }
.boton-pequeno { padding: 10px 18px; font-size: .8rem; }
.menu .boton { margin-left: 4px; color: #fff; }
.boton[disabled] { opacity: .7; cursor: wait; }

/* Portada */
.portada { position: relative; color: #fff; overflow: hidden; background: radial-gradient(900px 420px at 88% 105%, rgba(227,194,122,.28), transparent 60%), radial-gradient(800px 420px at 0% 0%, rgba(24,120,200,.25), transparent 60%), linear-gradient(160deg, #05202c 0%, var(--navy) 50%, var(--sea) 100%); }
.portada::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--g6), var(--g1), var(--g6)); }
.portada .contenedor { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; padding-top: 76px; padding-bottom: 88px; }
.portada .contenedor > * { min-width: 0; }
@media (max-width: 900px) { .portada .contenedor { grid-template-columns: 1fr; padding-top: 48px; padding-bottom: 64px; gap: 32px; } }
.portada h1 { color: #fff; }
.antetitulo { display: block; font: 800 .78rem var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); margin-bottom: 12px; }
.portada .antetitulo, .seccion-navy .antetitulo, .cabecera-pagina .antetitulo { color: var(--g1); }
.portada p.entrada { font-size: 1.12rem; color: #d3e2ea; max-width: 34em; }
.botones { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radio); overflow: hidden; background: #000; border: 3px solid var(--g1); box-shadow: 0 4px 0 var(--g5), 0 25px 60px rgba(0,0,0,.45); }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-pie { margin-top: 14px; font-size: .9rem; color: #b9cdd8; }
.video-pie strong { color: #fff; }

/* Franja del torneo */
.franja-torneo { background: linear-gradient(90deg, #4a2a10, #082d3e 55%); color: #fff; border-bottom: 3px solid var(--g1); }
.franja-torneo .contenedor { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 20px; padding-bottom: 22px; flex-wrap: wrap; }
.franja-torneo .texto { display: flex; align-items: center; gap: 16px; }
.franja-torneo .numero { font: 700 2.6rem/1 var(--serif); color: var(--g1); }
.franja-torneo small { display: block; color: #d9c9a8; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.franja-torneo b { font-family: var(--serif); font-size: 1.2rem; }

/* Secciones */
.seccion { padding: 84px 0; }
.seccion-arena { background: var(--sand); }
.seccion-navy { background: var(--navy); color: #fff; }
.seccion-navy h2, .seccion-navy h3 { color: #fff; }
.seccion-navy p { color: #c4d5de; }
.encabezado-seccion { max-width: 760px; margin-bottom: 40px; }
.encabezado-seccion.centro { margin-left: auto; margin-right: auto; text-align: center; }
.encabezado-seccion h2::after { content: ""; display: block; width: 64px; height: 3px; margin-top: 16px; background: linear-gradient(90deg, var(--g4), var(--g1)); border-radius: 2px; }
.encabezado-seccion.centro h2::after { margin-left: auto; margin-right: auto; }
.texto-gris { color: var(--gris); }

.rejilla { display: grid; gap: 26px; }
.rejilla > * { min-width: 0; }
.rejilla-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rejilla-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rejilla-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .rejilla-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .rejilla-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .rejilla-2, .rejilla-3, .rejilla-4 { grid-template-columns: 1fr; } }

/* Tarjetas con marco dorado */
.tarjeta { position: relative; display: flex; flex-direction: column; background: #fff; border: 3px solid var(--g1); border-radius: var(--radio); overflow: hidden; box-shadow: var(--relieve); transition: transform .2s ease, border-color .2s; }
.tarjeta:hover { transform: translateY(-6px); border-color: #f3d48c; }
.tarjeta .cuerpo { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.tarjeta .cuerpo p { color: var(--gris); font-size: .94rem; }
.tarjeta .cuerpo > .enlace, .tarjeta .cuerpo > .boton, .tarjeta .cuerpo > .chip-gris { margin-top: auto; align-self: flex-start; }
.enlace { font-weight: 800; text-decoration: none; color: var(--gold); text-transform: uppercase; font-size: .8rem; letter-spacing: .06em; }
.enlace:hover { color: var(--g5); }
.seccion-navy .enlace { color: var(--g1); }
.miniatura { position: relative; display: block; aspect-ratio: 16/9; background: #0b2a3c center/cover no-repeat; overflow: hidden; }
.miniatura .play { position: absolute; inset: 0; display: grid; place-items: center; }
.miniatura .play span { width: 58px; height: 58px; border-radius: 50%; background: rgba(8,45,62,.7); border: 2px solid var(--g1); display: grid; place-items: center; transition: background .2s; }
.tarjeta:hover .miniatura .play span { background: var(--g2); }
.miniatura .play svg { width: 22px; height: 22px; fill: #fff; margin-left: 3px; }
.chip { display: inline-block; font: 800 .7rem var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; align-self: flex-start; }
.chip-gris { color: var(--gris); background: var(--sand); padding: 4px 10px; border-radius: 999px; letter-spacing: .08em; }
.proximamente .miniatura { filter: saturate(.75); }

/* Cómo vernos */
.canal { background: #fff; border: 3px solid var(--g1); border-radius: var(--radio); padding: 28px; box-shadow: var(--relieve-suave); }
.canal .icono { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; margin-bottom: 16px; background: var(--navy); border: 2px solid var(--g1); color: var(--g1); }
.canal .icono svg { width: 24px; height: 24px; fill: currentColor; }

/* Torneos */
.torneo { position: relative; border-radius: 20px; overflow: hidden; color: #fff; padding: 34px; min-height: 380px; display: flex; flex-direction: column; justify-content: flex-end; border: 3px solid var(--g1); box-shadow: var(--relieve); }
.torneo::before { content: ""; position: absolute; inset: 0; background: var(--imagen); transition: transform .5s; }
.torneo:hover::before { transform: scale(1.05); }
.torneo > * { position: relative; z-index: 1; }
.torneo h3 { font-family: var(--serif); font-size: 1.6rem; color: #fff; margin: 6px 0 10px; }
.torneo p { color: #e6dccb; margin-bottom: 18px; }
.torneo .fecha { font: 800 .8rem var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--g1); }
.torneo .marca-agua { position: absolute; z-index: 1; top: 8px; right: 22px; font: 700 8.5rem/1 var(--serif); color: rgba(255,255,255,.13); pointer-events: none; }
@media (max-width: 640px) { .torneo .marca-agua { font-size: 5.5rem; } .torneo { padding: 26px; } }
.torneo-flamenco { --imagen: radial-gradient(600px 300px at 80% 20%, rgba(255,200,110,.75), transparent 60%), linear-gradient(180deg, #c8661f 0%, #6b3215 45%, #082d3e 100%); }
.torneo-gamboa { --imagen: radial-gradient(500px 300px at 20% 15%, rgba(140,210,100,.45), transparent 60%), linear-gradient(180deg, #2c5e27 0%, #173a22 50%, #082d3e 100%); }
.sello { position: absolute; z-index: 2; top: 18px; left: 18px; background: var(--g2); color: #fff; border: 2px solid var(--g1); box-shadow: 0 3px 0 var(--g5); border-radius: 999px; padding: 6px 14px; font: 800 .72rem var(--sans); letter-spacing: .08em; text-transform: uppercase; }

/* Marcas */
.marcas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.marcas > * { min-width: 0; }
@media (max-width: 900px) { .marcas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.marca { background: #fff; border: 2px solid var(--linea); border-radius: 14px; min-height: 120px; padding: 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transition: border-color .2s, transform .2s; text-decoration: none; }
.marca:hover { border-color: var(--g1); transform: translateY(-3px); }
.marca b { font: 700 1.1rem/1.25 var(--serif); color: var(--navy); letter-spacing: .04em; overflow-wrap: break-word; }
.marca small { color: var(--gris); font-size: .78rem; margin-top: 6px; }
.marca-libre { border: 2px dashed var(--g2); background: #fffaf0; }
.marca-libre b { color: var(--gold); }

/* Aliados: BotesPanama y Majo */
.aliado { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: center; background: #fff; border: 3px solid var(--g1); border-radius: 20px; padding: 28px; box-shadow: var(--relieve); }
.aliado > * { min-width: 0; }
.aliado .logo-aliado { background: #fff; border-radius: 12px; padding: 12px; display: grid; place-items: center; min-height: 110px; border: 1px solid var(--linea); }
.aliado h3 { font-family: var(--serif); font-size: 1.4rem; margin-bottom: 8px; }
.aliado p { color: var(--gris); }
@media (max-width: 760px) { .aliado { grid-template-columns: 1fr; } .aliado .logo-aliado { max-width: 260px; } }

/* Cifras */
.cifras { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.cifras > * { min-width: 0; }
@media (max-width: 800px) { .cifras { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.cifra { padding: 22px; border-radius: 14px; background: rgba(255,255,255,.05); border: 2px solid rgba(227,194,122,.45); }
.cifra b { display: block; font: 700 clamp(1.25rem, 5vw, 2rem)/1.1 var(--serif); color: var(--g1); overflow-wrap: break-word; }
.cifra span { color: #c4d5de; font-size: .9rem; }

/* Espacio publicitario */
.espacio-publicitario { border: 2px dashed var(--g2); border-radius: var(--radio); background: repeating-linear-gradient(-45deg, #fffdf7, #fffdf7 14px, #fbf3e1 14px, #fbf3e1 28px); display: flex; align-items: center; justify-content: center; gap: 18px; text-align: center; padding: 26px 18px; color: var(--gris); flex-wrap: wrap; }
.espacio-publicitario b { color: var(--navy); font-family: var(--serif); font-size: 1.05rem; }
.espacio-lateral { min-height: 260px; flex-direction: column; }

/* Banda destacada (Copa disponible, aliados) */
.banda { display: flex; gap: 22px; align-items: center; justify-content: space-between; flex-wrap: wrap; background: var(--navy); color: #fff; border: 3px solid var(--g1); border-radius: 20px; padding: 28px; box-shadow: var(--relieve); }
.banda > div { min-width: 0; flex: 1 1 320px; }
.banda h2, .banda h3 { color: #fff; margin: 0 0 6px; }
.banda h3 { font-family: var(--serif); font-size: 1.45rem; }
.banda p { color: #c4d5de; margin: 0; max-width: 42em; }

/* Formularios */
.formulario { background: #fff; border: 3px solid var(--g1); border-radius: 18px; padding: 28px; box-shadow: var(--relieve-suave); }
.campo { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; min-width: 0; }
.campo label, .grupo-titulo { font-weight: 700; font-size: .9rem; color: var(--navy); }
.ayuda { font-size: .85rem; }
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=search], select, textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #cfc8b6; border-radius: 10px; font: 400 1rem var(--sans); color: var(--texto); background: #fff; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(212,176,106,.35); border-color: var(--g3); }
textarea { min-height: 110px; resize: vertical; }
.fila { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 16px; }
@media (max-width: 640px) { .fila { grid-template-columns: 1fr; } }
.opciones { display: flex; flex-wrap: wrap; gap: 10px; }
.opcion { display: flex; align-items: center; gap: 8px; border: 1px solid #cfc8b6; border-radius: 10px; padding: 10px 14px; cursor: pointer; font-size: .93rem; background: #fff; }
.opcion:has(input:checked) { border-color: var(--g3); background: #fffaf0; }
.aviso { border-left: 4px solid var(--g2); background: #fffaf0; padding: 14px 16px; border-radius: 0 10px 10px 0; font-size: .92rem; margin: 6px 0 18px; }
.error { color: #b3261e; font-size: .9rem; font-weight: 700; min-height: 1.2em; margin: 8px 0 0; }

/* Preguntas frecuentes y reglamento */
.preguntas details { background: #fff; border: 1px solid var(--linea); border-left: 4px solid var(--g2); border-radius: 10px; margin-bottom: 12px; }
.preguntas summary { cursor: pointer; padding: 18px 52px 18px 20px; font: 800 1rem var(--sans); color: var(--navy); list-style: none; position: relative; }
.preguntas summary::-webkit-details-marker { display: none; }
.preguntas summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 1.5rem; color: var(--gold); }
.preguntas details[open] summary::after { content: "–"; }
.preguntas .respuesta { padding: 0 20px 18px; color: var(--gris); }
.preguntas .respuesta ul { margin: 0; padding-left: 20px; }
.preguntas .respuesta li { margin-bottom: 6px; }

/* Contacto */
.contacto-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.contacto-lista li { display: flex; gap: 14px; align-items: flex-start; }
.contacto-lista .ic { flex: 0 0 44px; height: 44px; border-radius: 50%; background: var(--navy); border: 2px solid var(--g1); color: var(--g1); display: grid; place-items: center; }
.contacto-lista .ic svg { width: 19px; height: 19px; fill: currentColor; }
.contacto-lista a { color: var(--navy); text-decoration: none; }
.contacto-lista small { display: block; color: var(--gris); }

/* Pie */
.pie { background: #05202c; color: #b4c6cf; padding: 64px 0 26px; font-size: .93rem; border-top: 4px solid var(--g1); }
.pie a { color: #e6eef2; text-decoration: none; }
.pie a:hover { color: var(--g1); }
.pie .columnas { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 32px; }
.pie .columnas > * { min-width: 0; }
@media (max-width: 900px) { .pie .columnas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .pie .columnas { grid-template-columns: 1fr; } }
.pie h4 { color: var(--g1); font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 16px; }
.pie ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.logo-blanco { background: #fff; border-radius: 12px; padding: 6px 10px; display: inline-block; border: 2px solid var(--g1); }
.logo-blanco img { height: 52px; width: auto; }
.pie .aliados-pie { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.pie .aliados-pie a { background: #fff; border-radius: 10px; padding: 6px 10px; display: grid; place-items: center; }
.pie .aliados-pie img { height: 30px; width: auto; }
.pie .legal { border-top: 1px solid rgba(227,194,122,.25); margin-top: 44px; padding-top: 20px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: .82rem; }
.redes { display: flex; gap: 10px; margin-top: 16px; }
.redes a { width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--g1); display: grid; place-items: center; }
.redes a:hover { background: var(--g2); }
.redes svg { width: 17px; height: 17px; fill: #fff; }

/* WhatsApp flotante */
.whatsapp { position: fixed; right: 18px; bottom: 18px; z-index: 60; width: 60px; height: 60px; border-radius: 50%; background: #25d366; border: 2px solid #8be4ad; display: grid; place-items: center; box-shadow: 0 4px 0 #1a9e4b, 0 12px 26px rgba(0,0,0,.28); transition: transform .2s; }
.whatsapp:hover { transform: translateY(-3px); }
.whatsapp svg { width: 30px; height: 30px; fill: #fff; }

/* Cabecera de páginas internas */
.cabecera-pagina { position: relative; background: radial-gradient(700px 300px at 90% 120%, rgba(227,194,122,.25), transparent 60%), linear-gradient(160deg, #05202c, var(--navy) 60%, var(--sea)); color: #fff; padding: 66px 0 58px; border-bottom: 4px solid var(--g1); }
.cabecera-pagina h1 { color: #fff; }
.cabecera-pagina p { color: #c8d8e0; font-size: 1.08rem; max-width: 46em; margin: 0; }
.migas { font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #9fb6c2; margin-bottom: 14px; }
.migas a { color: var(--g1); text-decoration: none; }

/* Fichas de torneo */
.ficha { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: start; }
.ficha > * { min-width: 0; }
@media (max-width: 900px) { .ficha { grid-template-columns: 1fr; } }
.datos { list-style: none; padding: 0; margin: 0 0 24px; background: #fff; border: 3px solid var(--g1); border-radius: var(--radio); overflow: hidden; box-shadow: var(--relieve-suave); }
.datos li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 18px; border-bottom: 1px solid var(--linea); }
.datos li:last-child { border-bottom: 0; }
.datos li span:first-child { color: var(--gris); }
.datos li span:last-child { font-weight: 700; text-align: right; color: var(--navy); }
@media (max-width: 560px) { .datos li { flex-direction: column; gap: 2px; } .datos li span:last-child { text-align: left; } }
.categorias { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.categorias span { background: var(--navy); color: var(--g1); border: 1px solid var(--g3); font-weight: 800; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; padding: 7px 14px; border-radius: 999px; }
.flyer { border-radius: var(--radio); border: 3px solid var(--g1); box-shadow: var(--relieve); }
.roles { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.roles > * { min-width: 0; }
@media (max-width: 900px) { .roles { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 480px) { .roles { grid-template-columns: 1fr; } }
.rol { background: #fff; border: 2px solid var(--g1); border-radius: 14px; padding: 20px; }
.rol b { display: block; color: var(--navy); font-weight: 800; margin-bottom: 6px; }
.rol p { color: var(--gris); font-size: .92rem; margin: 0; }

/* Inscripción por pasos */
.pasos { display: flex; gap: 8px; margin: 0 0 28px; padding: 0; flex-wrap: wrap; }
.pasos li { list-style: none; flex: 1 1 120px; padding: 10px 12px; border-radius: 10px; background: var(--sand); color: var(--gris); font-size: .85rem; font-weight: 700; border: 2px solid transparent; }
.pasos li b { display: block; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.pasos li.activo { background: var(--navy); color: #fff; border-color: var(--g1); }
.pasos li.hecho { background: #fffaf0; color: var(--g5); border-color: var(--g1); }
.paso { display: none; }
.paso.visible { display: block; }
.acciones { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; flex-wrap: wrap; }
.torneo-opcion { display: flex; gap: 16px; align-items: center; border: 2px solid var(--linea); border-radius: 14px; padding: 16px; cursor: pointer; margin-bottom: 12px; }
.torneo-opcion:has(input:checked) { border-color: var(--g2); background: #fffaf0; }
.torneo-opcion.cerrado { opacity: .55; cursor: not-allowed; }
.torneo-opcion small { display: block; color: var(--gris); }
.participante { border: 1px solid var(--linea); border-left: 4px solid var(--g2); border-radius: 12px; padding: 18px 18px 4px; margin-bottom: 14px; background: #fffdf8; }
.participante .titulo-participante { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; gap: 10px; flex-wrap: wrap; }
.participante .titulo-participante b { color: var(--navy); }
.quitar { background: none; border: 0; color: #b3261e; font-weight: 700; cursor: pointer; }
.representante { display: flex; align-items: center; gap: 8px; font-size: .88rem; font-weight: 700; color: var(--gold); }
.resumen { border: 3px solid var(--g1); border-radius: 14px; overflow: hidden; margin-bottom: 18px; }
.resumen div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--linea); }
.resumen div span:last-child { text-align: right; font-weight: 600; }
.resumen div:last-child { border-bottom: 0; background: var(--navy); color: #fff; font-weight: 800; font-size: 1.1rem; }
.resumen div:last-child span:last-child { color: var(--g1); }
.pagos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
@media (max-width: 560px) { .pagos { grid-template-columns: 1fr; } }
.pago { display: flex; align-items: center; gap: 12px; border: 2px solid var(--linea); border-radius: 14px; padding: 16px; cursor: pointer; font-weight: 700; }
.pago:has(input:checked) { border-color: var(--g2); background: #fffaf0; }
.pago small { display: block; font-weight: 400; color: var(--gris); }
.marca-yappy { background: #013f91; color: #fff; font: 800 .8rem var(--sans); padding: 6px 10px; border-radius: 8px; }
.marca-tarjeta { background: var(--navy); color: #fff; font: 800 .8rem var(--sans); padding: 6px 10px; border-radius: 8px; }
.confirmacion { text-align: center; }
.confirmacion .qr { display: inline-block; padding: 16px; background: #fff; border-radius: 14px; border: 3px solid var(--g1); box-shadow: var(--relieve-suave); margin: 18px 0; }
.confirmacion .codigo { font: 700 1.4rem var(--serif); letter-spacing: .06em; color: var(--navy); }
.zona-pago { max-width: 460px; margin: 20px auto; padding: 18px 20px; background: #fff; border: 1.5px solid var(--g3); border-radius: 14px; text-align: left; }
.zona-pago h3 { margin: 0 0 12px; font-size: 1.05rem; color: var(--navy); }
.zona-pago .boton { width: 100%; justify-content: center; }
.zona-pago .pago-ok { color: #1d7a45; font-weight: 700; margin: 0; }
.pago-yappy { margin-top: 16px; padding-top: 14px; border-top: 1px solid #e6dcc4; }
.pago-yappy label { display: block; font-weight: 700; margin-bottom: 6px; }
.pago-yappy input { width: 100%; max-width: 240px; font-size: 1.15rem; padding: 8px 10px; letter-spacing: .05em; }
.yappy-boton { margin: 12px 0 6px; min-height: 48px; }
.check-grande { width: 74px; height: 74px; border-radius: 50%; background: var(--navy); border: 3px solid var(--g1); display: grid; place-items: center; margin: 0 auto 14px; }
.check-grande svg { width: 36px; height: 36px; fill: var(--g1); }

/* Buscador */
.buscador { display: flex; gap: 12px; flex-wrap: wrap; background: #fff; border: 3px solid var(--g1); border-radius: 16px; padding: 14px; box-shadow: var(--relieve-suave); }
.buscador input { flex: 1 1 260px; width: auto; }
.sugerencias { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.sugerencias button { background: #fff; border: 1px solid var(--g1); border-radius: 999px; padding: 6px 14px; font: 700 .82rem var(--sans); color: var(--navy); cursor: pointer; }
.sugerencias button:hover { background: #fffaf0; }
.resultados { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 12px; }
.resultados li a { display: block; background: #fff; border: 1px solid var(--linea); border-left: 4px solid var(--g2); border-radius: 10px; padding: 16px 18px; text-decoration: none; color: var(--texto); }
.resultados li a:hover { border-color: var(--g2); }
.resultados b { color: var(--navy); }
.resultados small { display: block; color: var(--gold); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; font-size: .7rem; margin-bottom: 4px; }
.resultados span { color: var(--gris); font-size: .92rem; }

/* Blog */
.articulo { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 44px; }
@media (max-width: 960px) { .articulo { grid-template-columns: 1fr; } }
.articulo .contenido { font-size: 1.05rem; }
.articulo .contenido h2 { font-size: 1.55rem; margin-top: 1.6em; }
.articulo .contenido .video { margin: 18px 0; }
.lateral { display: grid; gap: 20px; align-content: start; }
.caja { border: 3px solid var(--g1); border-radius: var(--radio); padding: 20px; background: #fff; box-shadow: var(--relieve-suave); }
.caja h3 { font-family: var(--serif); }

/* Menú: enlace de búsqueda solo en el celular */

/* En vivo: cuenta regresiva */
.cuenta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 8px; }
.cuenta div { background: var(--navy); border: 2px solid var(--g1); border-radius: 12px; text-align: center; padding: 12px 4px; }
.cuenta b { display: block; font: 700 1.7rem/1.1 var(--serif); color: var(--g1); }
.cuenta span { color: #c4d5de; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.al-aire { grid-column: 1 / -1; margin: 0; font: 800 1.2rem var(--sans); color: #b3261e; }

/* Logística torneo */
.pestanas { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 10px; }
.pestanas button { background: #fff; border: 2px solid var(--g1); border-radius: 999px; padding: 9px 16px; font: 800 .8rem var(--sans); text-transform: uppercase; letter-spacing: .05em; color: var(--navy); cursor: pointer; }
.pestanas button.activa { background: var(--navy); color: var(--g1); }
.panel-seccion { padding-top: 18px; }
.panel-seccion h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); }
.aviso-panel { min-height: 0; margin: 0; padding: 0; border-radius: 10px; font-weight: 700; transition: all .2s; }
.aviso-panel.ok { padding: 12px 16px; background: #e6f4ea; color: #1d6b3a; border: 1px solid #a8d5b5; }
.aviso-panel.error { padding: 12px 16px; background: #fdecea; color: #b3261e; border: 1px solid #f2b8b5; }
.escaner { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin: 16px 0 18px; }
.escaner .buscador { flex: 1 1 340px; box-shadow: none; border-width: 2px; padding: 8px; }
.camara { max-width: 420px; border: 3px solid var(--g1); border-radius: 14px; overflow: hidden; margin-bottom: 18px; background: #000; }
.tabla-panel { overflow-x: auto; background: #fff; border: 2px solid var(--g1); border-radius: 14px; }
.tabla-panel table, .tabla-categoria table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.tabla-panel th, .tabla-categoria th { text-align: left; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); padding: 12px 14px; border-bottom: 2px solid var(--linea); background: #fffdf8; white-space: nowrap; }
.tabla-panel td, .tabla-categoria td { padding: 11px 14px; border-bottom: 1px solid var(--linea); vertical-align: top; }
.tabla-panel tr:last-child td, .tabla-categoria tr:last-child td { border-bottom: 0; }
.tabla-panel td small, .tabla-categoria td small { display: block; color: var(--gris); font-size: .78rem; }
.estado { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: .75rem; font-weight: 800; white-space: nowrap; }
.estado.si { background: #e6f4ea; color: #1d6b3a; }
.estado.no { background: #f1efe8; color: var(--gris); }
.estado.libre { background: #fff1d6; color: var(--g6); border: 1px solid var(--g1); }
.vacio { color: var(--gris); text-align: center; font-style: italic; }
.qr-modal { position: fixed; inset: 0; z-index: 80; background: rgba(5,32,44,.7); display: grid; place-items: center; padding: 16px; }
.qr-modal[hidden] { display: none; }
.qr-modal .caja { text-align: center; }
.qr-modal .qr-dibujo { display: inline-block; padding: 10px; background: #fff; }
.qr-modal .qr-nombre { font-weight: 800; color: var(--navy); }

/* Tabla del pesaje */
.caja-navy { background: var(--navy); border: 3px solid var(--g1); border-radius: 18px; padding: 20px; box-shadow: var(--relieve-suave); }
.cifras-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 700px) { .cifras-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tablas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.tablas > * { min-width: 0; }
@media (max-width: 1000px) { .tablas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .tablas { grid-template-columns: 1fr; } }
.tabla-categoria { background: #fff; border: 3px solid var(--g1); border-radius: 16px; overflow: hidden; box-shadow: var(--relieve-suave); }
.tabla-categoria h3 { margin: 0; padding: 14px 16px; background: var(--navy); color: var(--g1); font-family: var(--serif); font-size: 1.2rem; letter-spacing: .04em; }
.tabla-categoria td:first-child { width: 42px; font-weight: 800; color: var(--gris); }
.tabla-categoria td:last-child { text-align: right; font-weight: 800; white-space: nowrap; color: var(--navy); }
.puesto-1 td:first-child, .puesto-2 td:first-child, .puesto-3 td:first-child { color: #fff; }
.puesto-1 td:first-child { background: linear-gradient(180deg, var(--g1), var(--g4)); }
.puesto-2 td:first-child { background: linear-gradient(180deg, #d9dde2, #8a939c); }
.puesto-3 td:first-child { background: linear-gradient(180deg, #e0a774, #9a5b2c); }
.puesto-1 { background: #fffaf0; }
#pesaje .ficha { grid-template-columns: 1fr 1.25fr; }
@media (max-width: 900px) { #pesaje .ficha { grid-template-columns: 1fr; } }
#ultimas-capturas td:first-child, #ultimas-capturas td:nth-child(4) { white-space: nowrap; }
.aviso-panel { position: sticky; top: 92px; z-index: 40; }
.botones-marina .opcion { font-weight: 700; color: var(--navy); }
