.waiting-room-page{max-width:1120px;margin:0 auto;padding:38px 30px 64px;color:#182130}.waiting-room-page *{box-sizing:border-box}.waiting-room-heading{max-width:740px;margin-bottom:29px}.waiting-room-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #b6d2f5;background:#eaf3ff;color:#0059bd;border-radius:100px;padding:7px 12px;font-size:11px;font-weight:800;letter-spacing:.04em}.waiting-room-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#026cdf;flex:none}.waiting-room-heading h1{font-size:34px;line-height:1.16;letter-spacing:-.035em;margin:15px 0 12px;font-weight:800}.waiting-room-heading>p{max-width:640px;margin:0;color:#596575;font-size:14px;line-height:1.65}.waiting-room-layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);gap:26px;align-items:start}.waiting-room-card{padding:32px;background:#fff;border:1px solid #dce4ef;border-radius:16px;box-shadow:0 10px 34px #19365709}.waiting-room-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.waiting-room-ticket{display:grid;place-items:center;width:74px;height:74px;background:#eef5ff;border-radius:20px;color:#026cdf;transform:rotate(-7deg)}.waiting-room-duration{font-size:11px;font-weight:700;line-height:1.4;color:#606e81;background:#f3f5f8;border-radius:6px;padding:7px 9px}.waiting-room-stage{font-size:23px;line-height:1.3;letter-spacing:-.02em;margin:0 0 19px;font-weight:750;min-height:30px}.waiting-room-progress{height:9px;border-radius:999px;background:#e9eff7;overflow:hidden}.waiting-room-progress>span{display:block;height:100%;min-width:0;background:#026cdf;border-radius:inherit;transition:width .16s linear}.waiting-room-meter{display:flex;justify-content:space-between;gap:16px;margin-top:9px;font-size:10px;color:#738093}.waiting-room-meter>span:first-child{font-weight:800;color:#026cdf;font-variant-numeric:tabular-nums}.waiting-room-stages{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:0}.waiting-room-stages li{position:relative;display:flex;gap:12px;align-items:center;min-height:47px;color:#748094;font-size:12px;font-weight:600}.waiting-room-stages li+li::before{content:"";position:absolute;width:1px;height:19px;top:-9px;left:14px;background:#dbe3ed}.waiting-room-step-number{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:50%;border:1px solid #dbe3ed;background:#fff;color:#7b8798;font-size:11px;font-weight:750}.waiting-room-stages .is-current{color:#182c48}.waiting-room-stages .is-current .waiting-room-step-number{border-color:#026cdf;color:#026cdf;background:#eaf3ff;box-shadow:0 0 0 3px #026cdf0b}.waiting-room-stages .is-complete{color:#3d536b}.waiting-room-stages .is-complete .waiting-room-step-number{background:#026cdf;color:white;border-color:#026cdf}.waiting-room-actions{display:grid;gap:10px}.waiting-room-actions button{font:inherit;cursor:pointer;font-weight:700;font-size:13px;min-height:47px;padding:12px 18px;border-radius:6px;line-height:1.35}.waiting-room-continue{display:flex;justify-content:center;align-items:center;gap:12px;border:1px solid #026cdf;background:#026cdf;color:#fff}.waiting-room-continue:hover{background:#0056bb;border-color:#0056bb}.waiting-room-cancel{background:#fff;border:1px solid #d5dfec;color:#34475e}.waiting-room-cancel:hover{border-color:#026cdf;color:#026cdf;background:#f5f9ff}.waiting-room-actions button:focus-visible{outline:3px solid #026cdf;outline-offset:3px}.waiting-room-hint{color:#6b7889;font-size:11px;line-height:1.6;text-align:center;margin:15px 0 0}.waiting-room-event{overflow:hidden;background:#fff;border:1px solid #dce4ef;border-radius:16px}.waiting-room-image{aspect-ratio:1.68;background:#e8edf4;overflow:hidden}.waiting-room-image img{display:block;width:100%;height:100%;object-fit:cover}.waiting-room-event-copy{padding:24px}.waiting-room-eyebrow{color:#647189;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;line-height:1.5;margin:0 0 9px}.waiting-room-event-copy h2{font-size:26px;font-weight:800;line-height:1.1;letter-spacing:-.025em;margin:0 0 22px}.waiting-room-date{font-size:14px;font-weight:700;margin:0 0 8px;line-height:1.5}.waiting-room-venue{font-size:12px;line-height:1.6;margin:0;color:#617087}.waiting-room-page.is-ready .waiting-room-ticket{background:#eaf4ff;transform:none}.waiting-room-page.is-ready .waiting-room-duration{background:#eaf3ff;color:#026cdf}
@media(max-width:850px){.waiting-room-page{padding:28px 22px 45px}.waiting-room-layout{gap:18px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.waiting-room-card{padding:25px}.waiting-room-event-copy{padding:20px}.waiting-room-heading h1{font-size:31px}.waiting-room-stage{font-size:21px}.waiting-room-event-copy h2{font-size:24px}}
@media(max-width:650px){.waiting-room-page{padding:22px 14px 35px}.waiting-room-heading{margin-bottom:21px}.waiting-room-heading h1{font-size:28px;line-height:1.2}.waiting-room-heading>p{font-size:12px;line-height:1.65}.waiting-room-layout{display:flex;flex-direction:column;gap:16px}.waiting-room-card,.waiting-room-event{width:100%;border-radius:12px}.waiting-room-card{padding:23px}.waiting-room-event{order:-1;display:flex;align-items:stretch}.waiting-room-image{width:112px;min-width:112px;aspect-ratio:auto;min-height:130px}.waiting-room-event-copy{padding:16px;min-width:0}.waiting-room-eyebrow{font-size:9px;margin-bottom:5px}.waiting-room-event-copy h2{font-size:21px;margin-bottom:10px}.waiting-room-date{font-size:11px;margin-bottom:4px}.waiting-room-venue{font-size:10px}.waiting-room-top{margin-bottom:20px}.waiting-room-ticket{height:61px;width:61px;border-radius:16px}.waiting-room-ticket svg{height:44px;width:44px}.waiting-room-stages{margin:21px 0 24px}.waiting-room-stage{font-size:21px;min-height:27px}.waiting-room-meter{font-size:9px}.waiting-room-badge{font-size:10px}.waiting-room-actions button{min-height:48px}}
@media(max-width:360px){.waiting-room-image{min-width:86px;width:86px}.waiting-room-event-copy{padding:13px}.waiting-room-card{padding:20px}.waiting-room-duration{max-width:100px;text-align:center}.waiting-room-event-copy h2{font-size:19px}.waiting-room-heading h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){.waiting-room-progress>span{transition:none}.waiting-room-ticket{transform:none}}

.waiting-room-page>.booking-journey{margin:0 0 28px}.waiting-room-actions{margin-top:28px}.waiting-room-continue:disabled{cursor:default;opacity:.7}

/* Clock colour follows the actual remaining time; states stay static. */
.booking-session-panel{margin:0 0 24px;padding:20px 22px;border:1px solid #cbd9eb;border-radius:9px;background:#f5f8fd;color:#243952}
.booking-session-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.booking-session-heading>strong{font-size:16px;line-height:1.4}
.booking-session-heading>span{font-size:11px;font-weight:700;color:#4d6280;white-space:nowrap}
.booking-session-panel>p{font-size:12px;line-height:1.6;margin:10px 0;color:#586a81}
.booking-session-panel>ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.booking-session-panel li{display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;border:1px solid #dce5f1;border-radius:6px;padding:12px 14px}
.booking-session-panel li>span:first-child{min-width:0;display:grid;gap:5px}
.booking-session-panel li strong{font-size:13px;line-height:1.4}
.booking-session-panel li small{font-size:11px;line-height:1.5;color:#64748b}
.booking-session-clock{display:grid;gap:4px;text-align:right;flex:none}
.booking-session-clock output{font-size:24px;line-height:1;font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:#173b67}
.booking-session-panel [data-booking-time-state="warning"]{background:#fff8eb;border-color:#ebc688}
.booking-session-panel [data-booking-time-state="warning"] .booking-session-clock output{color:#8a4b00}
.booking-session-panel [data-booking-time-state="critical"]{background:#fff2f1;border-color:#e7aaa5}
.booking-session-panel [data-booking-time-state="critical"] .booking-session-clock output{color:#b42318}
.booking-session-panel [data-booking-expiry-status]:empty{display:none}
@media(max-width:650px){.booking-session-panel{padding:16px 14px;margin-bottom:18px}.booking-session-heading{display:grid;gap:4px}.booking-session-heading>strong{font-size:15px}.booking-session-panel li{gap:12px;padding:12px}.booking-session-clock output{font-size:22px}.booking-session-panel li small{font-size:10px}}
