/* Buchungsdemo: übersichtlicher Auswahlprozess. */
.booking-intro { padding:30px 30px 0; }
.booking-intro p { color:var(--muted); }
.booking-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:35px; padding:20px 30px 32px; }
.booking-layout form { padding:25px; background:#fff; border:1px solid var(--line); border-radius:13px; }
.slot-fieldset { border:0; margin:0 0 23px; padding:0; }
.slot-fieldset legend { font-size:14px; font-weight:600; margin-bottom:12px; }
.time-slots { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.time-slot { border:1px solid #bdcee3; border-radius:7px; padding:10px 5px; background:#fff; color:var(--navy); font-size:13px; }
.time-slot.is-selected { color:#fff; border-color:#08285f; background:#08285f; }
.booking-summary { background:linear-gradient(150deg,#09285d,#12447a); color:#fff; padding:32px; border-radius:13px; }
.summary-icon { display:grid; place-items:center; width:60px; height:60px; border:1px solid #86b4e35c; border-radius:14px; margin-bottom:30px; color:#ffad60; }
.summary-icon .icon { width:31px; height:31px; }
.booking-summary p { color:#c4d7f3; }
.booking-summary dl { margin:0; }
.booking-summary dt { color:#afc5e5; font-size:12px; margin-top:20px; }
.booking-summary dd { margin:5px 0 0; font-size:17px; }
@media(max-width:750px) { .booking-layout { grid-template-columns:1fr; padding:15px 18px 22px; gap:20px; } .booking-intro { padding:25px 20px 0; } .booking-layout form,.booking-summary { padding:22px; } }
