/* ============================================================
   Foro Regional 2026 — Formulario público profesional
   ============================================================ */
:root{
  --azul:#001e61;
  --azul-fuerte:#0b3a82;
  --azul-cielo:#b8cbe8;
  --rojo:#ce0e2d;
  --amarillo:#ffffff;
  --blanco:#ffffff;
  --tinta:#001e61;
  --gris:#60758a;
  --linea:#d9e2ea;
  --sombra:0 24px 70px rgba(5,20,34,.38);
  --form-ancho:900px;
  --form-radio:22px;
  --form-fondo-campos:#f8fafc;
  --form-tarjeta:#ffffff;
  --form-texto:#001e61;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0;padding:0;}
body{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--form-texto);
  background:#0b1f30;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Fondo */
.escena{
  min-height:100vh;
  position:relative;
  background:
    linear-gradient(180deg,rgba(11,31,48,.62),rgba(11,31,48,.94)),
    radial-gradient(120% 90% at 70% 0%,#2d5d86 0%,#001e61 55%,#0b1f30 100%);
  background-attachment:fixed;
  overflow:hidden;
}
.escena::before{
  content:none;
  display:none;
}
.escena::after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  right:-260px;
  top:18%;
  background:radial-gradient(circle,rgba(245,197,24,.10),transparent 68%);
  pointer-events:none;
}

.contenedor{
  width:min(calc(100% - 28px),var(--form-ancho));
  margin:0 auto;
  padding:28px 0 64px;
  position:relative;
  z-index:2;
}

/* Encabezado del evento */
.hero-evento{padding:4px 10px 0;text-align:center;overflow:visible;}
.marca{display:flex;justify-content:center;margin-bottom:8px;}
.marca img{display:block;max-width:min(260px,72vw);height:64px;width:auto;object-fit:contain;}
.marca .logo-texto{
  color:#fff;
  text-align:center;
  font-weight:800;
  letter-spacing:.5px;
  line-height:1.05;
}
.marca .logo-texto small{display:block;font-weight:500;font-size:12px;letter-spacing:2px;opacity:.88;}

.lockup{
  text-align:center;
  color:#fff;
  margin:10px auto 2px;
  overflow:visible;
  line-height:1;
}
.lockup .foro{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:800;
  font-size:clamp(50px,11vw,98px);
  letter-spacing:4px;
  line-height:.86;
  text-transform:uppercase;
}
/* La altura y el padding inferior evitan que se corte el descendente de la “g”. */
.lockup .regional{
  display:inline-block;
  max-width:100%;
  font-family:'Barlow',sans-serif;
  font-weight:300;
  font-style:italic;
  font-size:clamp(42px,10.5vw,88px);
  line-height:1.18;
  margin-top:-.12em;
  padding:0 .14em .24em .04em;
  overflow:visible;
  background:linear-gradient(180deg,#fff,#b9d2e8);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.lockup .anio{
  font-family:'Barlow',sans-serif;
  font-weight:300;
  font-style:italic;
  font-size:clamp(22px,5vw,38px);
  line-height:1;
  color:var(--azul-cielo);
  letter-spacing:6px;
  margin-top:-.10em;
}
.cinta-wrap{text-align:center;}
.cinta{
  display:inline-block;
  margin:16px auto 0;
  background:rgba(13,31,48,.62);
  border:1px solid rgba(255,255,255,.18);
  color:#e7f0f8;
  font-size:13px;
  font-weight:600;
  padding:8px 16px;
  border-radius:999px;
  letter-spacing:.3px;
  backdrop-filter:blur(8px);
}
.datos-evento{
  display:flex;
  gap:10px 18px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:16px;
  color:#d1e1ef;
  font-size:14px;
}
.datos-evento span{padding:4px 0;}
.datos-evento b{color:var(--amarillo);}

.portada{margin:0 0 22px;}
.portada img{
  display:block;
  width:100%;
  height:auto;
  border-radius:calc(var(--form-radio) - 4px);
  box-shadow:0 18px 55px rgba(0,0,0,.42);
}

/* Tarjeta */
.tarjeta{
  background:var(--form-tarjeta);
  border-radius:var(--form-radio);
  box-shadow:var(--sombra);
  margin-top:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.28);
}
.tarjeta-cabeza{
  display:flex;
  align-items:flex-start;
  gap:14px;
  background:linear-gradient(135deg,var(--azul),#0b3a82);
  color:#fff;
  padding:24px 28px;
  border-bottom:4px solid var(--amarillo);
}
.tarjeta-cabeza .cabecera-icono{
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:var(--amarillo);
  color:var(--azul);
  font-weight:800;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}
.tarjeta-cabeza h1{
  margin:0;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  font-size:clamp(24px,4vw,31px);
  line-height:1.1;
  letter-spacing:.3px;
}
.tarjeta-cabeza p{margin:7px 0 0;font-size:14px;line-height:1.55;color:#d3e3f0;max-width:720px;}
.tarjeta-cuerpo{padding:30px;}

/* Variantes de diseño */
body.cabecera-solido .tarjeta-cabeza{background:var(--azul);}
body.cabecera-claro .tarjeta-cabeza{
  background:#f5f8fb;
  color:var(--form-texto);
  border-bottom:1px solid var(--linea);
}
body.cabecera-claro .tarjeta-cabeza p{color:var(--gris);}
body.estilo-institucional .tarjeta{box-shadow:0 18px 50px rgba(5,20,34,.32);}
body.estilo-institucional .tarjeta-cabeza{border-bottom-width:6px;}
body.estilo-minimalista .tarjeta{
  box-shadow:0 12px 38px rgba(5,20,34,.22);
  border:1px solid rgba(217,226,234,.9);
}
body.estilo-minimalista .tarjeta-cabeza .cabecera-icono{display:none;}
body.estilo-minimalista .tarjeta-cabeza{padding:24px 30px;}
body.estilo-minimalista .seccion-titulo span{border-radius:8px;}

/* Secciones */
.seccion-titulo{
  display:flex;
  align-items:center;
  gap:12px;
  margin:3px 0 18px;
  padding-bottom:12px;
  border-bottom:1px solid #e6edf3;
}
.seccion-titulo:not(:first-child){margin-top:30px;}
.seccion-titulo > span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  flex:0 0 auto;
  background:rgba(10,74,134,.10);
  color:var(--azul-fuerte);
  font-size:13px;
  font-weight:800;
}
.seccion-titulo b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:19px;line-height:1.1;color:var(--form-texto);}
.seccion-titulo small{display:block;margin-top:3px;color:var(--gris);font-size:12px;}

/* Grilla y campos */
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
body.columnas-1 .form-grid{grid-template-columns:1fr;}
body.columnas-1 .ancho-medio,
body.columnas-1 .ancho-completo{grid-column:1/-1;}
.ancho-completo{grid-column:1/-1;}
.ancho-medio{grid-column:auto;}
.campo{margin:0;min-width:0;}
.campo label{
  display:block;
  font-weight:700;
  font-size:13px;
  margin-bottom:7px;
  color:var(--form-texto);
}
.campo .req{color:var(--rojo);}
.campo input,
.campo select,
.campo textarea{
  width:100%;
  padding:13px 14px;
  border:1.5px solid #d4dfe8;
  border-radius:12px;
  font-size:15px;
  font-family:inherit;
  background:var(--form-fondo-campos);
  color:var(--form-texto);
  transition:border-color .16s,box-shadow .16s,background .16s,transform .16s;
}
.campo textarea{resize:vertical;min-height:110px;}
.campo input::placeholder,
.campo textarea::placeholder{color:#93a3b3;}
.campo input:hover,
.campo select:hover,
.campo textarea:hover{border-color:#b9c9d7;}
.campo input:focus,
.campo select:focus,
.campo textarea:focus{
  outline:none;
  border-color:var(--azul-fuerte);
  background:#fff;
  box-shadow:0 0 0 4px rgba(10,74,134,.12);
}
.campo input.campo-error,
.campo select.campo-error,
.campo textarea.campo-error{border-color:var(--rojo);box-shadow:0 0 0 4px rgba(225,36,47,.10);}
.ayuda{font-size:12px;color:var(--gris);margin:7px 0 0;line-height:1.45;}
.ayuda b{color:var(--form-texto);}

/* Mesas */
.campo-mesas{margin-top:0;}
.mesas-encabezado{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.mesas-encabezado label{margin:0;}
.mesas-encabezado .ayuda{margin-top:4px;}
.contador{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 11px;
  border-radius:999px;
  white-space:nowrap;
  font-size:12px;
  font-weight:800;
  color:var(--azul);
  background:#eef4fb;
  border:1px solid #dce9f5;
}
.contador.completo{background:#e7f5ec;color:#1d7541;border-color:#cbe8d6;}
.mesas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
body.columnas-1 .mesas{grid-template-columns:1fr;}
.mesa{
  border:1.5px solid #d6e0e8;
  border-radius:14px;
  padding:15px;
  cursor:pointer;
  display:flex;
  gap:12px;
  align-items:flex-start;
  min-width:0;
  transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;
  position:relative;
  background:#fff;
}
.mesa:hover{border-color:var(--azul-fuerte);transform:translateY(-1px);}
.mesa input{position:absolute;opacity:0;pointer-events:none;}
.mesa.sel{
  border-color:var(--azul-fuerte);
  background:#f2f8fe;
  box-shadow:0 0 0 3px rgba(10,74,134,.10);
}
.mesa .punto{
  width:22px;
  height:22px;
  border-radius:7px;
  border:2px solid #becbd6;
  margin-top:1px;
  flex:0 0 auto;
  position:relative;
  background:#fff;
}
.mesa.sel .punto{border-color:var(--azul-fuerte);background:var(--azul-fuerte);}
.mesa.sel .punto::after{
  content:"✓";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:14px;
  font-weight:800;
  line-height:1;
}
.mesa .info{flex:1;min-width:0;}
.mesa .info b{display:block;font-size:14px;line-height:1.35;color:var(--form-texto);}
.mesa .info span{display:block;margin-top:4px;font-size:12px;line-height:1.45;color:var(--gris);}
.mesa .cupo,
.cintillo-agotado{
  font-size:10px;
  font-weight:800;
  padding:4px 8px;
  border-radius:999px;
  white-space:nowrap;
  flex:0 0 auto;
}
.mesa .cupo{background:#e8f5ec;color:#1f7a44;}
.mesa .cupo.pocos{background:#fdf2dc;color:#926500;}
.aviso-vacio{
  grid-column:1/-1;
  border:1.5px dashed #ccd8e2;
  border-radius:14px;
  padding:20px;
  text-align:center;
  color:var(--gris);
  font-size:14px;
}
.mesa.agotada{
  filter:grayscale(1);
  opacity:.62;
  cursor:not-allowed;
  background:#f6f7f8;
  border-color:#d9dfe4;
  transform:none;
}
.mesa.agotada:hover{border-color:#d9dfe4;transform:none;}
.cintillo-agotado{background:#3a3f44;color:#fff;text-transform:uppercase;letter-spacing:.35px;}
.mesa.bloqueada{opacity:.50;cursor:not-allowed;transform:none;}
.mesa.bloqueada:hover{border-color:#d6e0e8;transform:none;}

/* Mensajes y botón */
.mensaje{
  padding:13px 15px;
  border-radius:12px;
  font-size:14px;
  margin-bottom:18px;
}
.mensaje.error{background:#fdecee;color:#9c1822;border:1px solid #f4b7bd;}
.mensaje.cerrado{
  display:block;
  background:#fdecec;
  border:1.5px solid #f3b4b4;
  color:#a12626;
  padding:18px;
  border-radius:14px;
  font-size:15px;
  line-height:1.55;
  text-align:center;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:52px;
  border:0;
  border-radius:13px;
  cursor:pointer;
  background:linear-gradient(135deg,var(--rojo),#b81420);
  color:#fff;
  font-weight:800;
  font-size:16px;
  padding:15px 20px;
  margin-top:26px;
  font-family:'Barlow Condensed',sans-serif;
  letter-spacing:.6px;
  text-transform:uppercase;
  box-shadow:0 12px 26px rgba(225,36,47,.22);
  transition:filter .16s,transform .08s,box-shadow .16s;
}
.btn:hover{filter:brightness(1.06);box-shadow:0 15px 30px rgba(225,36,47,.28);}
.btn:active{transform:translateY(1px);}
.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;}
.btn.cargando{pointer-events:none;}
.btn.cargando::before{
  content:"";
  width:17px;
  height:17px;
  margin-right:9px;
  border:2px solid rgba(255,255,255,.38);
  border-top-color:#fff;
  border-radius:50%;
  animation:giro .75s linear infinite;
}
@keyframes giro{to{transform:rotate(360deg);}}
.nota-envio{text-align:center;color:var(--gris);font-size:11px;margin:10px 0 0;}

.pie{text-align:center;color:#a9bfd3;font-size:13px;margin-top:28px;}
.pie a{color:var(--amarillo);text-decoration:none;font-weight:600;}
.pie a:hover{text-decoration:underline;}

/* Responsivo */
@media(max-width:760px){
  .contenedor{width:min(calc(100% - 22px),var(--form-ancho));padding-top:20px;}
  .tarjeta{margin-top:22px;}
  .tarjeta-cabeza{padding:21px 20px;}
  .tarjeta-cuerpo{padding:22px 18px 24px;}
  .form-grid,.mesas{grid-template-columns:1fr;}
  .ancho-medio,.ancho-completo{grid-column:1/-1;}
  .datos-evento{font-size:13px;}
}
@media(max-width:520px){
  .hero-evento{padding-left:2px;padding-right:2px;}
  .marca img{height:54px;}
  .lockup .foro{letter-spacing:2px;}
  .lockup .regional{padding-bottom:.28em;}
  .lockup .anio{letter-spacing:4px;}
  .tarjeta-cabeza{gap:11px;}
  .tarjeta-cabeza .cabecera-icono{width:34px;height:34px;border-radius:10px;}
  .mesas-encabezado{display:block;}
  .contador{margin-top:10px;}
  .mesa{flex-wrap:wrap;}
  .mesa .info{min-width:calc(100% - 38px);}
  .mesa .cupo,.cintillo-agotado{margin-left:34px;}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important;}
}

/* ============================================================
   Constructor visual y presentación ejecutiva
   ============================================================ */
.constructor-grid{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:stretch;
}
.bloque-publico{
  min-width:0;
  flex:0 0 100%;
  color:var(--bloque-texto,inherit);
  background:var(--bloque-fondo,transparent);
  padding:var(--bloque-padding,24px);
  border-radius:var(--bloque-radio,18px);
  position:relative;
  overflow:hidden;
}
.bloque-publico.ancho-completo{flex-basis:100%;}
.bloque-publico.ancho-dos_tercios{flex-basis:calc(66.666% - 6px);}
.bloque-publico.ancho-mitad{flex-basis:calc(50% - 9px);}
.bloque-publico.ancho-tercio{flex-basis:calc(33.333% - 12px);}
.bloque-publico.con-sombra{box-shadow:0 20px 52px rgba(4,18,30,.28);border:1px solid rgba(255,255,255,.16);}
.bloque-publico.alinea-centro{text-align:center;}
.bloque-publico.alinea-derecha{text-align:right;}
.bloque-titulo{margin:0 0 10px;font:800 clamp(24px,4vw,36px)/1.08 'Barlow Condensed',sans-serif;letter-spacing:.2px;color:inherit;}
.bloque-texto,.bloque-publico p{font-size:15px;line-height:1.65;margin:0;color:inherit;opacity:.88;}
.bloque-etiqueta{display:inline-flex;margin-bottom:11px;padding:6px 10px;border-radius:999px;background:var(--amarillo);color:var(--azul);font-size:10px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;}
.builder-link{display:inline-flex;margin-top:17px;padding:10px 15px;border-radius:10px;background:var(--amarillo);color:var(--azul);font-size:12px;font-weight:800;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.14);}


/* Encabezado con imagen completa: si el bloque principal tiene imagen y no tiene título/texto,
   se muestra solamente la imagen subida, sin logo ni textos encima. */
.builder-hero-image-only{display:block!important;padding:0!important;background:transparent!important;border:0!important;overflow:hidden;box-shadow:none;color:inherit;}
.builder-hero-image-only a{display:block;text-decoration:none;color:inherit;}
.builder-hero-image-only img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;border-radius:var(--bloque-radio,18px);}

/* Hero editable */
.builder-hero{min-height:350px;display:grid;place-items:center;background:linear-gradient(135deg,#0d2c45,#1e577f);color:#fff;isolation:isolate;}
.builder-hero.con-imagen{background-image:var(--hero-img);background-size:cover;background-position:center;}
.builder-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(115deg,rgba(7,25,40,.88),rgba(7,25,40,.38));z-index:-1;}
.hero-builder-content{width:min(100%,800px);position:relative;z-index:1;}
.hero-builder-logo{display:block;max-width:230px;max-height:72px;object-fit:contain;margin:0 auto 20px;}
.builder-hero.alinea-izquierda .hero-builder-logo{margin-left:0;}
.builder-hero.alinea-derecha .hero-builder-logo{margin-right:0;}
.builder-hero h1{margin:0;font:800 clamp(44px,8vw,82px)/.95 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:1px;text-wrap:balance;}
.builder-hero p{max-width:690px;margin:18px auto 0;font-size:clamp(15px,2.2vw,20px);line-height:1.55;color:#e4eef6;}
.builder-hero.alinea-izquierda p{margin-left:0;}
.builder-hero.alinea-derecha p{margin-right:0;}
.hero-lockup-mini{display:flex;flex-direction:column;align-items:center;overflow:visible;}
.hero-lockup-mini b{font:800 clamp(60px,11vw,104px)/.8 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:4px;}
.hero-lockup-mini span{display:block;font:italic 300 clamp(48px,10vw,92px)/1.18 'Barlow',sans-serif;padding:0 .14em .24em;background:linear-gradient(#fff,#b9d2e8);-webkit-background-clip:text;background-clip:text;color:transparent;overflow:visible;}
.hero-lockup-mini em{font:italic 300 clamp(25px,5vw,40px)/1 'Barlow',sans-serif;color:#8dc1e8;letter-spacing:7px;}

/* Datos del evento */
.event-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.event-cards>div{position:relative;min-height:116px;padding:20px 18px;border:1px solid rgba(16,49,76,.12);border-radius:15px;background:rgba(255,255,255,.92);text-align:left;box-shadow:0 10px 25px rgba(5,20,34,.08);overflow:hidden;}
.event-cards>div>span{position:absolute;right:12px;top:2px;font:800 48px/1 'Barlow Condensed',sans-serif;color:rgba(16,49,76,.06);}
.event-cards small{display:block;margin-bottom:7px;color:#6d8295;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;}
.event-cards b{display:block;color:#001e61;font-size:14px;line-height:1.45;}

/* Imagen y composición editorial */
.builder-image{margin:0;}
.builder-image img{display:block;width:100%;height:var(--imagen-altura,340px);object-fit:var(--imagen-ajuste,cover);border-radius:max(0px,calc(var(--bloque-radio,18px) - 6px));}
.builder-image figcaption{display:flex;flex-direction:column;gap:3px;padding-top:11px;text-align:left;}
.builder-image figcaption b{font-size:14px;}
.builder-image figcaption span{font-size:12px;opacity:.75;}
.builder-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:center;}
.builder-media.invertido .builder-media-img{order:2;}
.builder-media-img img{display:block;width:100%;max-width:100%;border-radius:max(0px,calc(var(--bloque-radio,18px) - 7px));}
.builder-media-copy{text-align:left;}
.builder-highlight{border-left:5px solid var(--amarillo);}
.builder-highlight::after{content:'★';position:absolute;right:18px;top:8px;font-size:72px;color:currentColor;opacity:.045;}
.builder-spacer{background:transparent!important;padding-top:var(--bloque-padding,18px)!important;padding-bottom:var(--bloque-padding,18px)!important;}
.builder-spacer span{display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);}
.builder-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#d5e4ef;}
.builder-footer img{display:block;max-width:min(100%,650px);width:auto;}
.builder-footer a{color:var(--amarillo);font-weight:700;text-decoration:none;}

/* El formulario dentro del constructor conserva su propia tarjeta */
.bloque-formulario{padding:0!important;background:transparent!important;border-radius:0!important;overflow:visible!important;}
.bloque-formulario .tarjeta{margin-top:0;}

/* Indicador de avance y privacidad */
.form-progress{margin:-4px 0 26px;}
.progress-line{height:6px;border-radius:999px;background:#e7edf2;overflow:hidden;}
.progress-line span{display:block;width:12%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--azul-fuerte),#4a8fc4);transition:width .25s ease;}
.progress-steps{display:flex;justify-content:space-between;gap:10px;margin-top:8px;color:#8395a5;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.45px;}
.progress-steps span.activo{color:var(--azul-fuerte);}
.privacidad-box{display:flex;align-items:flex-start;gap:10px;margin:22px 0 15px;padding:13px 14px;border:1px solid #d9e4ec;border-radius:12px;background:#f6f9fb;color:#60758a;}
.privacidad-box span{font-size:16px;line-height:1.25;}
.privacidad-box p{margin:0;font-size:11px;line-height:1.5;color:#60758a;}
.privacidad-box a{color:var(--azul-fuerte);font-weight:700;}

@media(max-width:780px){
  .constructor-grid{gap:14px;}
  .bloque-publico.ancho-dos_tercios,.bloque-publico.ancho-mitad,.bloque-publico.ancho-tercio{flex-basis:100%;}
  .bloque-publico.ocultar-movil{display:none;}
  .builder-hero{min-height:310px;}
  .builder-hero h1{font-size:clamp(40px,13vw,64px);}
  .event-cards{grid-template-columns:1fr;}
  .event-cards>div{min-height:auto;}
  .builder-media{grid-template-columns:1fr;}
  .builder-media.invertido .builder-media-img{order:0;}
}

/* Capacidad general y protección anti-bots */
.cupo-global{background:#fff8df;border:1px solid #f3dfa2;border-radius:14px;padding:13px 14px;margin-bottom:18px;color:var(--form-texto);font-size:13px;}
.cupo-global-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;}
.cupo-global-head b{color:var(--azul);}
.barra-cupo{height:9px;background:#f1e7bd;border-radius:99px;overflow:hidden;}
.barra-cupo span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--amarillo),var(--rojo));}
.campo-trampa{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}


/* ============================================================
   Studio v3.4 · encabezado por imagen y línea gráfica La Salle
   ============================================================ */
.event-title-image{width:min(100%,var(--event-title-max,760px));margin:12px auto 4px;display:flex;justify-content:center;overflow:visible}
.event-title-image img{display:block;width:auto;max-width:100%;max-height:430px;object-fit:contain;filter:drop-shadow(0 14px 30px rgba(0,0,0,.18))}
.hero-event-title-image{
  display:block;
  width:auto;
  max-width:min(100%,var(--event-title-max,760px));
  max-height:430px;
  object-fit:contain;
  margin:0 auto;
  padding:clamp(10px,1.4vw,18px) clamp(14px,2vw,28px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:26px;
  background:linear-gradient(100deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.08) 52%,rgba(0,20,52,.34) 100%);
  box-shadow:0 20px 52px rgba(0,18,45,.25),inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  filter:drop-shadow(0 2px 1px rgba(255,255,255,.22)) drop-shadow(0 16px 32px rgba(0,0,0,.28));
}
.builder-hero.alinea-izquierda .hero-event-title-image{margin-left:0}.builder-hero.alinea-derecha .hero-event-title-image{margin-right:0}
@media(max-width:760px){.event-title-image img,.hero-event-title-image{max-height:320px}.event-title-image{margin-top:8px}}

/* ============================================================
   Studio v4.0 · experiencia guiada tipo app web
   ============================================================ */
.registration-app{border:1px solid rgba(255,255,255,.5);box-shadow:0 28px 90px rgba(2,16,29,.32);}
.registration-app .tarjeta-cabeza{position:relative;padding:28px 32px;border-bottom:0;background:linear-gradient(125deg,#001e61 0%,#073b8b 76%,#0a4a9a 100%);overflow:hidden;}
.registration-app .tarjeta-cabeza::after{content:"";position:absolute;width:260px;height:260px;right:-110px;top:-150px;border:42px solid rgba(255,255,255,.07);border-radius:50%;}
.registration-app .cabecera-icono{width:46px;height:46px;border-radius:15px;background:#fff;color:#001e61;font:800 15px/1 'Inter',sans-serif;box-shadow:none;position:relative;z-index:1;}
.registration-heading-copy{position:relative;z-index:1;min-width:0;}
.form-kicker{display:block;margin-bottom:7px;color:#aecaef;font-size:10px;font-weight:800;letter-spacing:1.4px;}
.registration-heading-copy h1{font-family:'Inter',sans-serif;font-size:clamp(24px,3vw,32px);letter-spacing:-.5px;}
.registration-heading-copy p{max-width:660px;margin-top:8px;color:#dce8f7;}
.registration-benefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;}
.registration-benefits span{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:10px;font-weight:700;}
.registration-app .tarjeta-cuerpo{padding:28px 32px 32px;}
.compact-capacity{display:grid;grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:18px;padding:11px 14px;background:#f5f8fc;border-color:#dce6f1;}
.compact-capacity>div:first-child{display:flex;flex-direction:column;}.compact-capacity span{color:#698095;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;}.compact-capacity b{font-size:13px;color:#001e61;}.compact-capacity .barra-cupo{height:6px;background:#e3eaf2;}.compact-capacity .barra-cupo span{background:linear-gradient(90deg,#0b63ce,#ce0e2d);}

.registration-app .form-progress{position:relative;margin:0 0 28px;padding:0 4px;}
.registration-app .progress-line{position:absolute;left:26px;right:26px;top:17px;height:3px;background:#e4eaf1;}
.registration-app .progress-line span{width:18%;background:linear-gradient(90deg,#0b63ce,#ce0e2d);}
.registration-app .progress-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;text-transform:none;letter-spacing:0;}
.registration-app .progress-steps button{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:transparent;color:#8293a4;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;padding:0;}
.registration-app .progress-steps button:disabled{cursor:default;}
.registration-app .progress-steps button i{display:grid;place-items:center;width:36px;height:36px;border:4px solid #fff;border-radius:50%;background:#e8edf2;color:#718398;font-style:normal;box-shadow:0 0 0 1px #dce4ec;transition:.2s;}
.registration-app .progress-steps button.activo{color:#001e61;}.registration-app .progress-steps button.activo i{background:#001e61;color:#fff;box-shadow:0 0 0 3px rgba(0,30,97,.13);}.registration-app .progress-steps button.completo i{background:#e4f5eb;color:#177246;box-shadow:0 0 0 1px #bee2cb;}
.registration-app .progress-hidden{display:none;}

.form-step{min-width:0;}.js .form-step{display:none;}.js .form-step.is-active{display:block;animation:stepIn .24s ease both;}@keyframes stepIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.step-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px;}.step-heading>span{font:800 12px/1 'Inter',sans-serif;letter-spacing:.8px;color:#ce0e2d;background:#fff0f1;border:1px solid #f4c7cb;border-radius:10px;padding:9px 8px;}.step-heading h2{margin:0;color:#001e61;font:800 clamp(21px,3vw,27px)/1.15 'Inter',sans-serif;letter-spacing:-.45px;}.step-heading p{margin:5px 0 0;color:#6d8193;font-size:13px;}
.registration-app .campo label{font-size:12px;color:#263f58;}.registration-app .campo input,.registration-app .campo select,.registration-app .campo textarea{min-height:48px;border:1px solid #cfdae5;border-radius:13px;background:#f8fafc;box-shadow:inset 0 1px 1px rgba(11,31,48,.02);}.registration-app .campo input:focus,.registration-app .campo select:focus,.registration-app .campo textarea:focus{background:#fff;border-color:#0b63ce;box-shadow:0 0 0 4px rgba(11,99,206,.11);}.registration-app .ayuda{font-size:11px;}
.step-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid #e8edf2;}.step-actions .btn{width:auto;min-width:180px;margin:0;box-shadow:none;}.step-next,.btn-registro{background:linear-gradient(135deg,#ce0e2d,#ae0923);}.step-next b{font-size:18px;line-height:0;}.step-back{min-width:130px!important;background:#fff!important;color:#36506a!important;border:1px solid #ccd8e4!important;}.step-back:hover{box-shadow:none!important;background:#f6f9fc!important;}.final-actions .btn-registro{flex:1;max-width:430px;}

.selection-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 18px;padding:11px 13px;border:1px solid #dce6ef;border-radius:13px;background:#f7f9fc;}.selection-summary small{color:#768a9d;font-size:11px;}.selection-summary .contador{margin:0;background:#edf3fb;border-color:#d5e1f0;}.selection-summary .contador.completo{background:#e7f6ed;border-color:#bfe2cd;color:#176c41;}
.activity-selector{display:grid;gap:14px;}.activity-group{border:1px solid #dbe4ed;border-radius:17px;background:#fff;overflow:hidden;transition:.2s;}.activity-group.is-complete{border-color:#9ecbb1;box-shadow:0 0 0 3px rgba(34,139,82,.08);}.activity-group.step-error{border-color:#ce0e2d;box-shadow:0 0 0 4px rgba(206,14,45,.1);}.activity-group>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;background:#f7f9fc;border-bottom:1px solid #e2e9f0;}.activity-group>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#001e61;color:#fff;font-size:11px;font-weight:800;}.activity-group>header h3{margin:0;color:#001e61;font:800 15px/1.2 'Inter',sans-serif;}.activity-group>header p{margin:3px 0 0;color:#72869a;font-size:11px;}.activity-group>header time{padding:5px 8px;border-radius:8px;background:#e9f0f9;color:#315b86;font-size:10px;font-weight:800;white-space:nowrap;}
.activity-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;}.activity-options .mesa{min-height:112px;padding:13px;border-radius:13px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-content:start;}.activity-options .mesa:hover{transform:none;box-shadow:0 8px 22px rgba(0,30,97,.08);}.activity-options .mesa.sel{background:#edf4ff;border-color:#0b63ce;box-shadow:0 0 0 2px rgba(11,99,206,.1);}.activity-options .mesa .punto{width:20px;height:20px;border-radius:50%;}.activity-options .mesa.sel .punto{background:#0b63ce;border-color:#0b63ce;}.activity-options .mesa .info b{font-size:13px;}.activity-options .mesa .info span{font-size:11px;}.activity-options .mesa .cupo,.activity-options .cintillo-agotado{grid-column:2;margin:2px 0 0;width:max-content;font-size:9px;}.legacy-mesas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}

.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}.review-grid>article{border:1px solid #dbe4ed;border-radius:16px;padding:16px;background:#f9fbfd;}.review-grid>article>span{display:block;margin-bottom:11px;color:#71869a;font-size:9px;font-weight:800;letter-spacing:1px;}.review-grid>article>div{display:grid;gap:8px;}.review-grid>article>div>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:8px;border-bottom:1px solid #e6ecf2;}.review-grid>article>div>div:last-child{border-bottom:0;}.review-grid>article>div span{color:#718397;font-size:11px;}.review-grid>article>div b{color:#18344f;font-size:11px;text-align:right;}.review-grid>article>button{margin-top:13px;padding:0;border:0;background:transparent;color:#0b63ce;font-size:11px;font-weight:800;cursor:pointer;}.registration-app .privacidad-box{margin-top:18px;}.registration-app .nota-envio{font-size:11px;}

@media(max-width:760px){
  .registration-app .tarjeta-cabeza{padding:23px 20px;}.registration-app .tarjeta-cuerpo{padding:22px 18px 24px;}.registration-benefits{gap:6px;}.compact-capacity{grid-template-columns:1fr;gap:8px;}.activity-options{grid-template-columns:1fr;}.activity-options .mesa{min-height:auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;}.activity-options .mesa .cupo,.activity-options .cintillo-agotado{grid-column:3;grid-row:1;margin:0;}.review-grid{grid-template-columns:1fr;}.step-actions{position:sticky;bottom:8px;z-index:12;margin:24px -6px -10px;padding:12px 8px 8px;background:linear-gradient(180deg,rgba(255,255,255,.72),#fff 25%);border-radius:14px;}.step-actions .btn{min-width:0;flex:1;font-size:13px;padding:13px 10px;}.step-back{flex:0 0 auto!important;min-width:105px!important;}.activity-group>header{grid-template-columns:auto minmax(0,1fr);}.activity-group>header time{grid-column:2;justify-self:start;}.selection-summary{align-items:flex-start;flex-direction:column;}.legacy-mesas-grid{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .registration-app .cabecera-icono{display:none;}.registration-app .progress-steps button span{font-size:9px;}.registration-app .progress-line{left:24px;right:24px;}.step-heading>span{display:none;}.activity-options .mesa{grid-template-columns:auto minmax(0,1fr);}.activity-options .mesa .cupo,.activity-options .cintillo-agotado{grid-column:2;grid-row:auto;}.step-back{min-width:94px!important;}.registration-heading-copy h1{font-size:23px;}
}

/* === v4.1 thematic selection + conditional field === */
.campo-otro[hidden]{display:none !important}
.themes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.theme-card{position:relative;display:flex;flex-direction:column;gap:10px;min-height:220px;padding:18px;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);border:1px solid #d5e3f8;box-shadow:0 14px 28px rgba(10,43,97,.08)}
.theme-card input{position:absolute;inset:0;opacity:0;cursor:pointer}
.theme-card .theme-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.theme-card .theme-count{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#0d4fb4;color:#fff;font-weight:800}
.theme-card .theme-badge{display:inline-flex;padding:6px 12px;border-radius:999px;background:#eaf2ff;color:#0d4fb4;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.theme-card .info{display:flex;flex-direction:column;gap:8px}
.theme-card .info b{font-size:1.14rem;color:#14345e}
.theme-card .info span{color:#4f6584;line-height:1.5}
.theme-card .theme-meta{display:flex;flex-direction:column;gap:6px;margin-top:auto;color:#637796;font-size:.92rem}
.theme-card.sel{border-color:#0d4fb4;box-shadow:0 20px 38px rgba(13,79,180,.18);transform:translateY(-2px)}
.theme-card.sel .theme-count{background:#11a35f}
.theme-card.agotada{opacity:.72;background:linear-gradient(180deg,#fcfcfc 0%,#f1f3f6 100%)}
.theme-card.bloqueada{opacity:.6}
.registration-app .campo select,
.registration-app .campo input,
.registration-app .campo textarea{border-width:1.5px}
.registration-app .campo-error{border-color:#db2448 !important;box-shadow:0 0 0 4px rgba(219,36,72,.1)}

/* === v4.2 readability fixes for public page and preview === */
.portada{position:relative;overflow:hidden;border-radius:24px;box-shadow:0 24px 54px rgba(6,24,40,.28)}
.portada::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,18,30,.06),rgba(5,18,30,.18));pointer-events:none}
.builder-hero .hero-overlay{
  background:
    linear-gradient(100deg,rgba(236,243,249,.28) 0%,rgba(224,235,245,.16) 46%,rgba(4,24,52,.48) 72%,rgba(3,19,43,.68) 100%),
    linear-gradient(180deg,rgba(5,18,30,.08),rgba(5,18,30,.34));
}
.builder-hero h1,.builder-hero p,.hero-lockup-mini b,.hero-lockup-mini em,.hero-lockup-mini span{text-shadow:0 6px 22px rgba(0,0,0,.42)}
.builder-hero.con-imagen{border:1px solid rgba(255,255,255,.18);box-shadow:0 22px 48px rgba(4,18,30,.25)}
.bloque-publico.tipo-encabezado,.bloque-publico.tipo-texto,.bloque-publico.tipo-destacado,.bloque-publico.tipo-datos_evento,.bloque-publico.tipo-imagen_texto,.bloque-publico.tipo-pie{color:var(--bloque-texto,#fff)}
.bloque-publico.tipo-texto p,.bloque-publico.tipo-destacado p,.bloque-publico.tipo-imagen_texto p,.bloque-publico.tipo-pie p{opacity:.98}
.registration-card-header,.registration-hero,.builder-highlight{box-shadow:0 18px 42px rgba(5,20,34,.14)}
.activity-selector[data-modo="tematicas"] .selection-summary{align-items:flex-start}
.activity-selector[data-modo="tematicas"] .contador{background:#eaf2ff;color:#0d4fb4}

/* v4.3 stronger contrast */
.tarjeta-cabeza h1,.tarjeta-cabeza p,.registration-heading-copy .form-kicker,.registration-benefits span{color:#ffffff !important;opacity:1 !important;text-shadow:0 4px 18px rgba(0,0,0,.28)}
.step-heading h2,.step-heading p,.selection-summary small,.activity-group header h3,.activity-group header p,.theme-card .info b,.theme-card .info span,.theme-meta span{color:#15365c !important;opacity:1 !important}

/* === v4.2 · Aviso de privacidad bajo el teléfono + estado de temáticas === */
.privacidad-campo{grid-column:1/-1;}
.privacidad-campo .privacidad-box{margin:0;}
.theme-card .theme-mesa{font-weight:700;color:#14345e;}
.theme-card .theme-grupo{font-size:.85rem;color:#6b7f9c;}
.theme-card.agotada .cintillo-agotado{align-self:flex-start;}

/* === v4.4 · Agenda de registro 23–24 de septiembre === */
.agenda-days{display:grid;gap:22px}
.agenda-day{min-width:0;margin:0;padding:0 0 20px;border:1px solid #d8e4f0;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 14px 34px rgba(8,39,77,.08)}
.agenda-day>legend{float:left;width:100%;display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:17px 20px;background:linear-gradient(135deg,#001e61,#0b4c91);color:#fff}
.agenda-day>legend+*{clear:both}
.agenda-day-two>legend{background:linear-gradient(135deg,#6d172c,#ce0e2d)}
.agenda-day-number{display:inline-flex;align-items:center;justify-content:center;min-width:60px;padding:8px 10px;border:1px solid rgba(255,255,255,.28);border-radius:11px;background:rgba(255,255,255,.12);font-size:10px;font-weight:900;letter-spacing:.08em}
.agenda-day>legend>span:last-child{display:flex;flex-direction:column;gap:3px}
.agenda-day>legend b{font-size:18px;line-height:1.1}
.agenda-day>legend small{color:#fff;font-size:11px;font-weight:600;opacity:.9}
.agenda-options{padding:0 18px}
.agenda-card{min-height:178px;border-radius:18px}
.agenda-card .sector-badge{background:#fff0f2;color:#a9112b}
.agenda-card.sector-card .theme-count{background:#b1122e}
.agenda-card.sector-card.sel .theme-count{background:#11a35f}
.agenda-day.campo-error{border-color:#ce0e2d;box-shadow:0 0 0 4px rgba(206,14,45,.12)}
@media(max-width:760px){.agenda-day>legend{align-items:flex-start;padding:15px 16px}.agenda-options{padding:0 12px}.agenda-card{min-height:auto}.agenda-day-number{min-width:52px}.agenda-day>legend b{font-size:16px}}

/* === v4.9.2 · Aviso de privacidad compacto y justificado, visible solo en el paso 1 === */
.privacy-intro-box{margin:0 0 16px;padding:10px 12px;border:1px solid #d8e3ee;border-left:3px solid var(--azul-fuerte);border-radius:11px;background:#f8fbfe;box-shadow:none;}
.privacy-intro-box p{margin:0;color:#526b82;font-size:10.5px;line-height:1.45;text-align:justify;text-justify:inter-word;}
@media(max-width:780px){.privacy-intro-box{margin-bottom:14px;padding:9px 10px}.privacy-intro-box p{font-size:10px;line-height:1.42}}
