/* Panel «Confirmar asistencia» y tarjeta de embarque. Usa las variables de la paleta activa. */
.cta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px}
html.rsvp-abierto{overflow:hidden}

.rsvp{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:100;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  background:linear-gradient(170deg,var(--bg1),var(--bg2) 60%,var(--bg1));color:var(--ink);font-family:var(--f-serif)}
.rsvp[hidden]{display:none}
.rsvp-caja{position:relative;max-width:640px;margin:0 auto;padding:72px 16px 24px}
.rsvp-cerrar{position:absolute;top:16px;right:12px;width:44px;height:44px;border-radius:50%;cursor:pointer;
  border:1px solid var(--panel-brd);background:var(--panel);color:var(--ink);font-size:1.5rem;line-height:1}
.rsvp-cerrar:hover{border-color:var(--gold)}
.rsvp h2{font-family:var(--f-title);font-weight:400;font-size:clamp(1.6rem,6vw,2.3rem);line-height:1.15;text-align:center;margin:0 0 .4em}
.rsvp h2:focus{outline:none}
.rsvp-intro{text-align:center;color:var(--ink);margin:0 0 6px;font-size:1.05rem}
.rsvp-form{display:grid;gap:14px}
.rsvp-etq{display:block;font-family:var(--f-title);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:0 0 6px}
.rsvp input[type=text],.rsvp input[type=email],.rsvp select{width:100%;min-width:0;font:inherit;font-size:1.05rem;color:var(--ink);
  background:var(--panel);border:1px solid var(--panel-brd);border-radius:12px;padding:.7em .85em}
.rsvp input:focus-visible,.rsvp select:focus-visible,.rsvp button:focus-visible,.rsvp a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.rsvp-persona{margin:0;padding:12px 14px 14px;border:1px solid var(--panel-brd);border-radius:16px;background:var(--panel);min-width:0}
.rsvp-persona legend{padding:0 .4em;font-size:1.12rem}
.rsvp-interruptor{display:flex;gap:8px}
.rsvp-interruptor input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.rsvp-interruptor label{flex:1;text-align:center;cursor:pointer;padding:.7em .5em;border:1px solid var(--panel-brd);border-radius:999px;
  font-family:var(--f-title);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);transition:.2s}
.rsvp-interruptor input:checked+label{border-color:var(--gold);background:var(--glow);box-shadow:inset 0 0 0 1px var(--gold)}
.rsvp-interruptor input:checked+label::before{content:"✓ "}
.rsvp-interruptor input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}
.rsvp-fila{display:flex;gap:8px;align-items:center}
.rsvp-hijo{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem auto;gap:8px;align-items:end}
.rsvp-quitar{flex:0 0 auto;width:44px;height:44px;border-radius:50%;cursor:pointer;border:1px solid var(--panel-brd);background:transparent;color:var(--ink-soft);font-size:1rem}
.rsvp-quitar:hover{color:var(--ink);border-color:var(--gold)}
.rsvp-hijos{display:grid;gap:14px}
.rsvp-anadir{display:flex;justify-content:center}
.rsvp-ayuda{margin:6px 0 0;font-size:.92rem;color:var(--ink)}
.rsvp-error{margin:0;padding:.7em .9em;border-radius:12px;border:1px solid var(--gem);background:var(--panel);color:var(--ink)}
.rsvp-acciones{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px}
.rsvp .btn[disabled]{opacity:.6;cursor:progress}
.rsvp .btn-suave{border-color:var(--panel-brd)}
.rsvp-vivo{max-width:640px;margin:0 auto;padding:0 16px 40px;text-align:center;color:var(--ink);font-style:italic}
.rsvp-nota{text-align:center;color:var(--ink);margin:18px 0 6px}
.rsvp-pases{display:grid;gap:18px;margin-top:18px}
.rsvp-info{margin-top:24px;text-align:center}
.rsvp-info h3{font-family:var(--f-title);font-weight:400;font-size:1.3rem;margin:0 0 6px}
.rsvp-info p{margin:4px 0}
.rsvp-info a{color:var(--ink)}
.rsvp-info .rsvp-cal{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}
.rsvp-cal .btn{text-decoration:none;display:inline-block}
html[lang=hi] .rsvp-etq,html[lang=hi] .rsvp-interruptor label{letter-spacing:normal;text-transform:none;font-size:.9rem}

/* ---------- tarjeta de embarque: papel claro en todas las paletas ---------- */
.bp{--papel:#FBF3E8;--tinta:#3A2418;--suave:#6F5340;--banda:color-mix(in srgb,var(--gem) 78%,#000);
  display:grid;grid-template-columns:1fr;background:var(--papel);color:var(--tinta);border-radius:16px;overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.18);text-align:left}
@supports not (color:color-mix(in srgb,red,blue)){.bp{--banda:var(--gem)}}
@media (min-width:600px){.bp{grid-template-columns:minmax(0,1fr) 168px}}
.bp-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--banda);color:#fff;padding:.7rem 1.1rem}
.bp-aerolinea{font-family:var(--f-title);font-size:1.15rem;letter-spacing:.04em}
.bp-tipo{font-family:var(--f-title);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#F6D58E}
.bp-cuerpo{padding:1rem 1.1rem 1.1rem}
.bp-ruta{display:flex;align-items:center;gap:.7rem;margin-bottom:.7rem}
.bp-hasta{text-align:right}
.bp-cod{font-family:var(--f-title);font-size:clamp(2rem,9vw,2.6rem);line-height:1;margin:0;color:var(--banda)}
.bp-linea{flex:1;position:relative;height:0;border-top:2px dashed var(--gold)}
.bp-linea span{position:absolute;left:50%;top:-.8rem;transform:translateX(-50%);padding:0 .35rem;background:var(--papel);color:var(--gold)}
.bp-etq{margin:0;font-family:var(--f-title);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--suave)}
.bp-etq.fuerte{color:var(--banda)}
.bp-nombre{margin:.1rem 0 .7rem;font-family:var(--f-title);font-size:1.5rem;line-height:1.2;overflow-wrap:anywhere}
.bp-datos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;margin:0}
@media (min-width:480px){.bp-datos{grid-template-columns:repeat(4,minmax(0,1fr))}.bp-datos .ancho{grid-column:span 2}}
.bp-datos dt{font-family:var(--f-title);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--suave)}
.bp-datos dd{margin:0;font-size:1.08rem;font-weight:600;overflow-wrap:anywhere}
.bp-datos .clase dd{color:var(--banda)}
.bp-lema{margin:.9rem 0 0;font-style:italic;color:var(--suave)}
.bp-talon{display:grid;gap:.45rem;align-content:start;padding:1rem 1.1rem;background:#F3E2C4;border-top:2px dashed var(--gold)}
@media (min-width:600px){.bp-talon{border-top:0;border-left:2px dashed var(--gold)}}
.bp-corto{margin:0;font-family:var(--f-title);font-size:1.1rem}
.bp-talon-dato{margin:0;font-size:.92rem}
.bp-barras{display:flex;height:40px;overflow:hidden;margin-top:.2rem}
.bp-barras .barra{background:var(--tinta)}
.bp-barras .hueco{background:transparent}
html[lang=hi] .bp-etq,html[lang=hi] .bp-tipo,html[lang=hi] .bp-datos dt{letter-spacing:normal;text-transform:none;font-size:.8rem}
@media (prefers-reduced-motion:reduce){.rsvp *{transition:none!important}}
