.email-consent{align-items:flex-start!important;background:rgba(200,166,106,.07);border:1px solid var(--color-border-soft);cursor:pointer;display:flex!important;gap:.8rem;padding:1rem}.email-consent input{accent-color:var(--color-ruby);flex:0 0 auto;height:20px;margin-top:.12rem;width:20px}.email-consent span{display:grid;gap:.25rem}.email-consent small{color:var(--color-text-muted);font-size:.78rem;line-height:1.45}.booking-management{min-height:calc(100vh - 110px)}.booking-hero{background:radial-gradient(circle at 50% 0,rgba(143,16,36,.25),transparent 34rem),linear-gradient(180deg,#100c0e,#0d0b0c);padding:clamp(2rem,6vw,5rem) 0 clamp(4rem,8vw,7rem)}.booking-shell{background:linear-gradient(145deg,rgba(35,28,30,.98),rgba(13,11,12,.99));border:1px solid rgba(200,166,106,.3);box-shadow:0 35px 90px rgba(0,0,0,.55);padding:clamp(1.5rem,5vw,3.5rem)}.booking-mark{align-items:center;background:linear-gradient(135deg,#681326,#310712);border:1px solid rgba(227,194,122,.55);border-radius:50%;display:flex;height:58px;justify-content:center;margin-bottom:1.5rem;width:58px}.booking-mark span{color:var(--color-gold-light);font-size:1.6rem}.booking-shell>h1{font-size:clamp(2rem,5vw,3.6rem);font-weight:400;line-height:1.08;margin:.45rem 0 1rem}.booking-intro{color:var(--color-text-muted);font-size:1.05rem}.booking-loading{align-items:center;border-top:1px solid var(--color-border-soft);color:var(--color-text-muted);display:flex;gap:.8rem;margin-top:2rem;padding-top:2rem}.booking-spinner{animation:booking-spin .8s linear infinite;border:2px solid rgba(200,166,106,.25);border-radius:50%;border-top-color:var(--color-gold-light);height:22px;width:22px}@keyframes booking-spin{to{transform:rotate(360deg)}}.booking-event-summary{background:rgba(5,5,5,.35);border:1px solid var(--color-border-soft);margin-top:2rem;padding:clamp(1.2rem,4vw,2rem)}.booking-summary-label{color:var(--color-gold-soft);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.booking-event-summary h2{font-size:clamp(1.45rem,4vw,2.1rem);font-weight:450;margin:.55rem 0 1.4rem}.booking-facts{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.booking-facts div{border-left:2px solid var(--color-bordeaux-light);display:grid;gap:.25rem;padding-left:.8rem}.booking-facts span{color:var(--color-text-subtle);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.booking-facts strong{font-size:.96rem;font-weight:550}.booking-deadline{align-items:flex-start;background:rgba(200,166,106,.07);border:1px solid var(--color-border);display:flex;gap:1rem;margin-top:1.25rem;padding:1rem 1.2rem}.booking-deadline p{margin:0}.booking-deadline-icon{align-items:center;border:1px solid var(--color-gold-soft);border-radius:50%;color:var(--color-gold-light);display:flex;flex:0 0 25px;font-weight:700;height:25px;justify-content:center}.booking-danger{align-items:center;border-top:1px solid rgba(184,23,46,.35);display:flex;gap:2rem;justify-content:space-between;margin-top:2rem;padding-top:2rem}.booking-danger h2{font-size:1.25rem;font-weight:500;margin:0 0 .4rem}.booking-danger p{color:var(--color-text-muted);margin:0;max-width:480px}.booking-cancel{background:transparent;border-color:rgba(239,109,125,.55);color:#f4bbc3;flex:0 0 auto}.booking-cancel:hover{background:#681326}.booking-security{color:var(--color-text-subtle);font-size:.75rem;margin:2rem 0 0;text-align:center}.booking-result{border-left:3px solid var(--color-gold-soft);padding-left:1rem}.booking-result.is-success{border-color:#65b486;color:#bfe8cf}.booking-result.is-error{border-color:#c94d5e;color:#f0b7bf}@media(max-width:520px){.booking-facts{grid-template-columns:1fr}.booking-danger{align-items:stretch;flex-direction:column}.booking-cancel{width:100%}}
.booking-loading[hidden]{display:none!important}
.booking-email-action{align-items:center;background:rgba(104,19,38,.14);border:1px solid rgba(200,166,106,.25);display:flex;gap:1.5rem;justify-content:space-between;margin-top:1.25rem;padding:1rem 1.2rem}.booking-email-action h2{font-size:1.05rem;font-weight:550;margin:0 0 .3rem}.booking-email-action p{color:var(--color-text-muted);font-size:.9rem;margin:0}.booking-email-action .button{flex:0 0 auto}@media(max-width:620px){.booking-email-action{align-items:stretch;flex-direction:column}.booking-email-action .button{width:100%}}

.booking-shell,.booking-event-summary,.booking-email-action,.booking-danger,.booking-facts>*{min-width:0}
.booking-shell>h1,.booking-event-summary h2,.booking-intro,.booking-email-action p,.booking-danger p,.booking-security{overflow-wrap:anywhere}

@media(max-width:620px){
  .booking-hero{padding:2rem 0 3rem}
  .booking-shell{padding:1.25rem}
  .booking-shell>h1{font-size:clamp(1.8rem,9vw,2.45rem);letter-spacing:0;line-height:1.1}
  .booking-intro{font-size:.98rem}
  .booking-mark{height:48px;margin-bottom:1.15rem;width:48px}
  .booking-event-summary{margin-top:1.5rem;padding:1rem}
  .booking-event-summary h2{font-size:1.4rem;line-height:1.2}
  .booking-deadline{gap:.75rem;padding:.9rem}
  .booking-danger{gap:1.25rem;margin-top:1.5rem;padding-top:1.5rem}
}

@media(max-width:360px){
  .booking-shell{padding:1rem}
  .booking-shell>h1{font-size:1.75rem}
  .booking-email-action{padding:.9rem}
}

/* Softer booking management surfaces */
.booking-shell,
.booking-event-summary,
.booking-email-action,
.booking-deadline {
  border-radius: var(--radius-lg);
}
.booking-shell {
  backdrop-filter: blur(14px);
  border-color: var(--border-hairline);
  box-shadow: var(--shadow-lg);
}
.booking-event-summary,
.booking-email-action {
  box-shadow: var(--shadow-sm);
}
.email-consent { border-radius: var(--radius-md); }
.booking-cancel { border-radius: var(--radius-pill); }

.booking-shell > h1 { font-size:clamp(2rem,3.6vw,3.15rem); font-weight:440; line-height:1.08; text-wrap:balance; }
.booking-intro,.booking-danger p,.booking-email-action p { font-size:1rem; line-height:1.65; }
.booking-summary-label,.booking-facts span { font-size:.78rem; }
.booking-security,.email-consent small { font-size:.85rem; line-height:1.55; }
@media(max-width:620px){.booking-shell > h1{font-size:clamp(1.9rem,8.5vw,2.3rem)}}

/* Keep the management flow connected to the content that follows. */
.booking-management { min-height:0; }
.booking-hero { padding:var(--section-space-tight) 0 var(--section-space); }
.booking-shell { padding:clamp(1.5rem,4vw,2.75rem); }
@media(max-width:620px){.booking-hero{padding:2rem 0 3rem}.booking-shell{padding:1.25rem}}
