/* Página de inscripción. Hereda los tokens de estilo.css. */

.pag-insc{ display:flex; flex-direction:column; min-height:100vh; }

.insc-nav{ border-bottom:1px solid var(--line); }
.insc-nav-in{ max-width:940px; margin-inline:auto; padding:14px var(--gut);
              display:flex; align-items:center; gap:20px; }
.insc-nav .logo{ width:74px; height:64px; color:var(--band); flex:none; }
:root[data-theme="dark"] .insc-nav .logo{ color:var(--cream); }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .insc-nav .logo{ color:var(--cream); } }
.volver{ margin-left:auto; text-decoration:none; color:var(--ink-2);
         font-family:var(--f-util); text-transform:uppercase; letter-spacing:.15em; font-size:11px; }
.volver:hover{ color:var(--ink); }

.insc-main{ flex:1; max-width:940px; width:100%; margin-inline:auto;
            padding:clamp(30px,5vw,58px) var(--gut) clamp(52px,7vw,80px); }
.cargando{ color:var(--ink-2); }

/* --- ficha del encuentro --- */
.ficha{ padding-bottom:clamp(26px,4vw,40px); border-bottom:1px solid var(--line); }
/* El título ocupa el ancho completo; la línea de quién lo guía se
   frena antes para que siga siendo cómoda de leer. */
.ficha-head .who{ max-width:52ch; }
.ficha-cols{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
             gap:clamp(20px,3.5vw,42px); align-items:start;
             margin-top:clamp(22px,3.2vw,34px); }
.ficha img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.ficha .cat{ color:var(--ink-2); display:block; margin-bottom:10px; }
.ficha h1{ font-size:clamp(2.1rem,5vw,3.6rem); max-width:24ch; }
.ficha .who{ color:var(--ink-2); margin:14px 0 0; }
.ficha .dl{ list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:.94rem; }
.ficha .dl li{ display:flex; gap:14px; }
.ficha .dl b{ font-family:var(--f-util); text-transform:uppercase; letter-spacing:.14em;
              font-size:10px; font-weight:400; color:var(--ink-2); flex:none; width:66px; padding-top:3px; }
.ficha .dl span{ font-variant-numeric:tabular-nums;
                  color:var(--ink); }   /* estilo.css los pinta crema para el bloque verde */

/* --- descripción con fotos (opcional: se arma con lo que haya) --- */
/* La línea de abajo de la ficha ya la separa: sin una segunda raya. */
.ficha-desc{ margin-top:clamp(26px,4vw,40px); }
.ficha-desc-fotos{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(10px,1.6vw,16px); }
/* Con cuatro fotos, dos por fila: tres arriba y una sola abajo se ve cojo. */
.ficha-desc-fotos:has(> figure:nth-child(4):last-child){ grid-template-columns:repeat(2,1fr); }
.ficha-desc-fotos figure{ margin:0; }
.ficha-desc-fotos img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.ficha-desc-texto + .ficha-desc-fotos{ margin-top:clamp(26px,4vw,40px); padding-top:clamp(26px,4vw,40px);
                                        border-top:1px solid var(--line); }
.ficha-desc-texto p{ margin:0 0 1.05em; }
.ficha-desc-texto p:last-child{ margin-bottom:0; }
@media (max-width:640px){
  .ficha-desc-fotos{ grid-template-columns:1fr; }
}

/* --- edición anterior: mosaico de galeria.css --- */
.anterior{ margin-top:clamp(36px,5vw,56px); padding-top:clamp(26px,4vw,40px); border-top:1px solid var(--line); }
.anterior h2{ font-size:clamp(1.5rem,2.8vw,2rem); }
.anterior-det{ color:var(--ink-2); margin:10px 0 0; }

/* --- estado de cupos --- */
.estado{ margin-top:20px; padding-top:16px; border-top:1px solid var(--line-2, rgba(32,36,26,.07)); }
.estado .dots{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:9px; }
.estado .dots i{ width:11px; height:11px; border-radius:50%; border:1px solid var(--band);
                 display:block; scale:1; }
.estado .dots i.taken{ background:var(--band); }
:root[data-theme="dark"] .estado .dots i{ border-color:var(--cream); }
:root[data-theme="dark"] .estado .dots i.taken{ background:var(--cream); }
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .estado .dots i{ border-color:var(--cream); }
  :root:not([data-theme="light"]) .estado .dots i.taken{ background:var(--cream); }
}
.estado .u{ color:var(--ink-2); }

.aviso{ margin-top:22px; padding:16px 20px; border-left:3px solid var(--marea);
        background:color-mix(in srgb, var(--marea) 8%, transparent); }
.aviso p{ margin:0; font-size:.94rem; }
.aviso p + p{ margin-top:8px; }
.aviso.lleno{ border-left-color:var(--band); background:color-mix(in srgb, var(--band) 9%, transparent); }

/* --- botón de inscripción, en la columna de los datos --- */
.estado .accion{ margin-top:18px; }
/* En oscuro el verde del botón casi desaparece contra el fondo: va en crema,
   como los puntos de cupos. */
:root[data-theme="dark"] .estado .accion{ background:var(--cream); border-color:var(--cream); color:var(--deep); }
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .estado .accion{ background:var(--cream); border-color:var(--cream); color:var(--deep); }
}
.accion-nota{ margin:14px 0 0; font-size:.92rem; color:var(--ink-2); }

/* --- vacío / error --- */
.vacio{ max-width:56ch; }
.vacio h1{ font-size:clamp(1.7rem,3.4vw,2.4rem); margin-bottom:16px; }
.vacio p{ color:var(--ink-2); }
.vacio .btn{ margin-top:18px; }

.insc-ft{ border-top:1px solid var(--line); }
.insc-ft-in{ max-width:940px; margin-inline:auto; padding:20px var(--gut);
             display:flex; flex-wrap:wrap; gap:10px 24px; justify-content:space-between;
             color:var(--ink-2); font-size:.85rem; }
.insc-ft a{ color:var(--ink-2); }

@media (max-width:760px){
  .ficha-cols{ grid-template-columns:1fr; }
  .ficha img{ max-width:320px; }
}
