.request-code-link{background:transparent;border:0;color:var(--color-gold-light);cursor:pointer;font:inherit;padding:.45rem 0;text-align:left;text-decoration:underline;text-underline-offset:.25em}.request-code-link:hover{color:var(--color-ivory)}#booking-code{text-transform:uppercase;letter-spacing:.28em;font-size:1.15rem;font-weight:700}#code-request-dialog .test-message{background:rgba(200,166,106,.07);border-left:3px solid var(--color-gold-soft);padding-left:1rem}

.event-dialog{background:linear-gradient(145deg,#191516 0%,#100d0e 100%);border:1px solid rgba(200,166,106,.42);border-radius:18px;color:var(--color-ivory);margin:auto;max-height:calc(100vh - 2rem);max-width:620px;overflow:auto;padding:clamp(1.5rem,4vw,2.6rem);width:calc(100% - 2rem);box-shadow:0 24px 80px rgba(0,0,0,.65)}
.event-dialog::backdrop{background:rgba(5,3,4,.8);backdrop-filter:blur(7px)}
.event-dialog .dialog-dismiss{display:block;margin:0;padding:0;position:absolute;right:1rem;top:1rem;width:auto}
.event-dialog .dialog-close{align-items:center;background:rgba(255,255,255,.04);border:1px solid rgba(200,166,106,.28);border-radius:50%;color:var(--color-ivory);display:flex;font-size:1.55rem;height:2.65rem;justify-content:center;line-height:1;padding:0;transition:.2s ease;width:2.65rem}
.event-dialog .dialog-close:hover{background:rgba(200,166,106,.14);border-color:var(--color-gold-soft);transform:rotate(4deg)}
.dialog-heading{padding-right:3rem}.dialog-heading .eyebrow{color:var(--color-gold-light);font-size:.76rem;letter-spacing:.2em;margin:0 0 .75rem;text-transform:uppercase}.dialog-heading h2{font-size:clamp(2rem,6vw,3.15rem);font-weight:400;letter-spacing:-.025em;line-height:1.02;margin:0 0 .65rem;max-width:11em}.dialog-heading>p:last-child{color:rgba(255,246,229,.76);font-size:1rem;line-height:1.55;margin:0;max-width:54ch}
.event-dialog .dialog-form{display:grid;gap:1rem;margin-top:1.6rem}.dialog-field{display:grid;gap:.55rem}.dialog-field label{font-size:.92rem;font-weight:600}.dialog-field input{background:#0b0909;border:1px solid rgba(200,166,106,.35);border-radius:8px;color:var(--color-ivory);font:inherit;height:3.65rem;outline:none;padding:0 1rem;transition:border-color .2s,box-shadow .2s}.dialog-field input:focus{border-color:var(--color-gold-light);box-shadow:0 0 0 3px rgba(200,166,106,.13)}.dialog-field small{color:rgba(255,246,229,.58);font-size:.78rem;line-height:1.45}
.event-dialog .button{border-radius:8px;min-height:3.5rem;width:100%}.event-dialog .request-code-link{font-size:.92rem;padding:.35rem 0;text-align:center}.dialog-result:not(:empty){background:rgba(200,166,106,.08);border-left:3px solid var(--color-gold-soft);border-radius:0 6px 6px 0;line-height:1.5;margin-top:1.25rem;padding:.85rem 1rem}.dialog-form[hidden]+.dialog-result{margin-top:1.6rem}
@media (max-width:560px){.event-dialog{border-radius:14px;padding:1.35rem;width:calc(100% - 1rem)}.dialog-heading{padding-right:2.6rem}.dialog-heading h2{font-size:clamp(1.9rem,10vw,2.55rem)}.event-dialog .dialog-close{height:2.35rem;width:2.35rem}.dialog-heading>p:last-child{font-size:.94rem}}
.event-dialog .dialog-result-button{display:block;margin-top:1rem}

.event-dialog{inset:0;max-height:calc(100dvh - 1rem);max-width:min(620px,calc(100% - 1rem));overscroll-behavior:contain}
.event-dialog .dialog-form,.event-dialog .dialog-field,.event-dialog .dialog-field input{min-width:0}
.event-dialog .dialog-field input{max-width:100%;width:100%}
.event-dialog .booking-dinner{line-height:1.4}

@media(max-width:560px){
  .event-dialog{max-height:calc(100dvh - .5rem);padding:1.2rem 1rem;width:calc(100% - .75rem)}
  .dialog-heading{padding-right:2.4rem}
  .dialog-heading h2{font-size:clamp(1.7rem,9vw,2.25rem);line-height:1.08;overflow-wrap:anywhere}
  .dialog-heading>p:last-child,.booking-help{overflow-wrap:anywhere}
  .event-dialog .dialog-form{gap:.85rem;margin-top:1.25rem}
  .dialog-field input{height:3.25rem;padding:0 .8rem}
  #booking-code{font-size:1rem;letter-spacing:.2em}
}

@media(max-width:360px){
  .event-dialog{padding:1rem .85rem}
  .event-dialog .dialog-close{right:.65rem;top:.65rem}
  .dialog-heading{padding-right:2.15rem}
  .dialog-heading h2{font-size:1.65rem}
}

/* Readable dialog typography across all languages */
.dialog-heading h2 {
  font-size: clamp(1.7rem, 3.2vw, 2.35rem);
  font-weight: 440;
  letter-spacing: -.025em;
  line-height: 1.12;
}
.dialog-heading > p:last-child,
.booking-request-copy p,
.booking-preregister,
.booking-help { font-size:1rem; line-height:1.6; }
.dialog-field label { font-size:1rem; }
.dialog-field input { font-size:1rem; }
.dialog-field small { font-size:.88rem; line-height:1.55; }
@media(max-width:560px){
  .dialog-heading h2 { font-size:clamp(1.7rem,8vw,2.1rem); }
}

.event-dialog { border-radius:var(--radius-xl); box-shadow:var(--shadow-lg); }
.dialog-field input { border-radius:var(--radius-md); }
.event-dialog .button { border-radius:var(--radius-pill); }
