/* The calendars retain their own Neuroathletik theme and responsive height. */
.booking-section{padding-block:12px 76px}
.booking-section h2{font-size:clamp(32px,4vw,52px);margin:20px 0 18px;max-width:25ch}
.booking-intro{color:var(--muted);margin-bottom:30px;max-width:58ch}
.booking-options{max-width:1100px}
/* Closing a taller calendar must not anchor the viewport to content below it. */
.detail-termine{overflow-anchor:none}
.booking-panel{border:1px solid var(--line);background:var(--surface);margin-top:16px;scroll-margin-top:120px}
.booking-panel[open]{border-color:#f4b54466}
.booking-panel summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 30px;cursor:pointer}
.booking-panel summary::-webkit-details-marker{display:none}
.booking-panel summary strong{display:block;font-size:clamp(19px,2.5vw,25px);line-height:1.3}
.booking-panel summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.booking-meta{display:block;color:var(--muted);font-size:13px;margin-top:8px}
.booking-indicator{font-size:28px;color:var(--accent);flex-shrink:0}
.booking-panel[open] .booking-indicator{font-size:0}
.booking-panel[open] .booking-indicator::after{content:"−";font-size:28px}
.booking-body{padding:0 30px 20px}
.booking-body>p{font-size:14px;color:var(--muted);max-width:75ch;margin:0 0 18px}
.booking-fallback a,.booking-note a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.booking-body iframe{display:block;width:100%;background:#080d10;color-scheme:dark}
.booking-body iframe[hidden],.booking-body [hidden]{display:none}
.booking-body .booking-origin-notice{border-left:2px solid var(--accent);padding:12px 16px;background:#f4b5440a}
.booking-note{font-size:12px;max-width:80ch;color:var(--muted);margin-top:24px}
@media(max-width:600px){
  .booking-section{padding-block:8px 48px}
  .booking-section h2{font-size:34px}
  .booking-panel{scroll-margin-top:100px}
  .booking-panel summary{padding:20px 16px;gap:12px}
  .booking-meta{font-size:12px}
  .booking-body{padding:0 4px 8px}
  .booking-body>p{padding-inline:12px;font-size:13px}
}
