.event-booking { border:12px solid transparent; border-radius:18px; background:linear-gradient(var(--paper),var(--paper)) padding-box,var(--action-stripes) border-box,var(--paper); color:var(--ink); margin:auto; padding:clamp(24px,4vw,40px); width:min(600px,calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow:auto; box-shadow:0 20px 70px #201a1538; }
.event-booking::backdrop { background:#1515158c; }
.event-booking h2 { font-size:clamp(1.8rem,4vw,2.5rem); margin-right:20px; }
.event-booking>p { margin-block:16px; }
.event-booking-close { position:absolute; top:10px; right:10px; width:44px; height:44px; border:0; background:transparent; font-size:28px; }
.booking-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
.booking-fields label { display:grid; gap:8px; font-size:14px; }
.booking-fields input { min-width:0; width:100%; border:1px solid #c9c5bd; border-radius:8px; padding:13px 14px; background:#fff; font:inherit; font-size:16px; color:var(--ink); transition:border-color .25s,box-shadow .25s; }
.booking-fields input:focus { outline:2px solid var(--red); outline-offset:2px; border-color:transparent; }
.booking-course-tariffs { display:grid; gap:10px; margin-top:24px; padding:18px; border:1px solid var(--line); border-radius:10px; background:#f0efec; }
.booking-course-tariffs[hidden] { display:none; }
.booking-course-tariffs label { font-size:15px; font-weight:600; }
.booking-course-tariffs select { width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid #c9c5bd; border-radius:8px; background:#fff; color:var(--ink); font:inherit; font-size:16px; }
.booking-course-tariffs select:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.booking-course-tariffs p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.booking-welcome { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-right:14px; margin-bottom:14px; }
.booking-welcome .eyebrow { max-width:180px; line-height:1.6; }
.booking-welcome img { flex-shrink:0; width:156px; height:auto; aspect-ratio:1; object-fit:contain; margin-top:6px; margin-bottom:-24px; }
.event-booking [data-booking-summary] { color:var(--muted); line-height:1.6; }
.event-booking [data-booking-price] { font-size:1.1rem; padding-bottom:20px; border-bottom:1px solid var(--line); }
.event-booking .button { border-radius:8px; min-height:54px; }
.booking-consent { display:flex; gap:12px; margin:22px 0; font-size:14px; align-items:flex-start; }
.booking-consent input { width:20px; height:20px; flex-shrink:0; accent-color:var(--red); }
.booking-consent a,.booking-help { text-decoration:underline; text-underline-offset:3px; }
.booking-honeypot { position:absolute; left:-9999px; }
.booking-message { font-size:16px; }
.booking-help { display:inline-block; margin-top:16px; font-size:14px; line-height:1.5; }
.booking-help[hidden] { display:none; }
.booking-status-check { margin:12px 0; }
.booking-channels { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px; }
.booking-channels[hidden] { display:none; }
.booking-channel { display:grid; min-height:126px; grid-template-columns:1fr auto; align-content:space-between; gap:12px; padding:18px; border-radius:10px; color:#fff; transition:transform .2s,filter .2s; }
.booking-channel:hover { filter:brightness(.96); transform:translateY(-2px); }
.booking-channel:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.booking-channel span { grid-column:1/-1; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.booking-channel strong { align-self:end; max-width:165px; font-size:16px; line-height:1.2; }
.booking-channel i { align-self:end; font-size:20px; font-style:normal; }
.booking-channel--telegram { background:#2588d8; }
.booking-channel--max { background:#6f45df; }
.event-booking .button:disabled { opacity:.6; cursor:wait; }
@media(max-width:450px) {
 .event-booking { width:calc(100% - 8px); max-height:calc(100dvh - 8px); border-width:6px; border-radius:12px; padding:14px 14px 18px; }
 .event-booking-close { top:5px; right:5px; }
 .event-booking h2 { margin:0 38px 8px 0; font-size:clamp(1.55rem,7vw,1.9rem); line-height:1.08; }
 .event-booking>p { margin-block:8px; }
 .booking-welcome { min-height:42px; margin:0 34px 6px 0; padding:0; }
 .booking-welcome .eyebrow { max-width:none; line-height:1.35; }
 .booking-welcome img { width:58px; margin:0; }
 .event-booking [data-booking-summary] { font-size:14px; line-height:1.35; }
 .event-booking [data-booking-price] { padding-bottom:10px; font-size:15px; line-height:1.35; }
 .booking-course-tariffs { gap:6px; margin-top:12px; padding:11px; }
 .booking-course-tariffs p { font-size:12px; line-height:1.35; }
 .booking-fields { grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
 .booking-fields label:nth-child(n+3) { grid-column:1/-1; }
 .booking-fields label { gap:5px; font-size:13px; }
 .booking-fields input { padding:11px 10px; }
 .booking-consent { margin:14px 0; font-size:13px; }
 .booking-channels { grid-template-columns:1fr; }
 .booking-channel { min-height:100px; }
}
