.cw-booking-section { scroll-margin-top: 90px; }
.cw-booking-card { display:grid; grid-template-columns:1.12fr 1fr; gap:64px; padding:48px; border:1px solid var(--border-default); border-radius:26px; background:radial-gradient(ellipse at top left,rgba(140,107,240,.12),transparent 65%),var(--bg1,#0d0f1b); }
.cw-booking-card .h-section { margin-top:20px; }
.cw-booking-card .p-lead { margin:24px 0; }
.cw-booking-note { color:var(--fg3); font-size:13px; margin-top:16px; }
.cw-booking-agenda { border-left:1px solid var(--border-default); padding-left:40px; }
.cw-booking-agenda h3 { font:600 23px var(--font-display); }
.cw-booking-agenda ol { padding-left:22px; margin:25px 0; }
.cw-booking-agenda li { padding-left:7px; margin-bottom:24px; color:var(--magenta-300,#ff6477); }
.cw-booking-agenda strong,.cw-booking-agenda span { display:block; color:var(--fg1); }
.cw-booking-agenda span,.cw-booking-agenda p { color:var(--fg2); font-size:15px; line-height:1.6; margin-top:7px; }
.cw-booking-dialog { width:min(1100px,calc(100vw - 48px)); height:min(900px,calc(100dvh - 48px)); max-width:none; max-height:none; padding:0; margin:auto; border:1px solid rgba(255,255,255,.18); border-radius:22px; background:#090b14; color:var(--fg1,#fff); box-shadow:0 25px 100px #0009; overflow:hidden; }
.cw-booking-dialog::backdrop { background:rgba(2,3,13,.82); backdrop-filter:blur(8px); }
.cw-booking-dialog-inner { height:100%; display:flex; flex-direction:column; }
.cw-booking-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 26px; flex-shrink:0; }
.cw-booking-dialog-head p { color:var(--fg3); font-size:12px; margin:0 0 6px; }
.cw-booking-dialog-head h2 { font:600 24px/1.2 var(--font-display); margin:0; }
.cw-booking-close { width:44px; height:44px; flex-shrink:0; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.06); color:#fff; font-size:27px; line-height:1; border-radius:50%; cursor:pointer; }
.cw-booking-close:focus-visible,.cw-booking-dialog a:focus-visible { outline:2px solid #ff6477; outline-offset:3px; }
.cw-booking-dialog-help { display:flex; justify-content:space-between; gap:16px; padding:12px 26px; border-top:1px solid var(--border-default); font-size:13px; color:var(--fg2); flex-shrink:0; }
.cw-booking-dialog-help a { color:#ff899a; white-space:nowrap; text-decoration:underline; text-underline-offset:3px; }
.cw-booking-calendar { flex:1; min-height:0; background:#fff; overflow:auto; }
.cw-booking-calendar iframe { width:100%; height:100%; min-height:100%; border:0; display:block; }
@media(max-width:760px) {
  .cw-booking-card { grid-template-columns:1fr; gap:30px; padding:26px 22px; }
  .cw-booking-card .btn { width:100%; }
  .cw-booking-agenda { border-left:0; border-top:1px solid var(--border-default); padding:28px 0 0; }
  .cw-booking-dialog { width:100%; height:100dvh; border:0; border-radius:0; }
  .cw-booking-dialog-head { padding:16px; padding-top:max(16px,env(safe-area-inset-top)); gap:10px; }
  .cw-booking-dialog-head h2 { font-size:20px; }
  .cw-booking-dialog-help { padding:10px 16px; flex-wrap:wrap; gap:8px; }
}
@media(max-width:480px) {
  /* Keep the full booking label usable beside the mobile logo and menu. */
  nav .nav-primary-cta { max-width:160px; white-space:normal; text-align:center; font-size:12px!important; padding:8px 10px!important; line-height:1.3; }
}
