/* /Pages/Termin.razor.rz.scp.css */
.booking-page[b-crwo87rila] { padding: 3rem 0; background: #fff; }
.booking-page .container[b-crwo87rila] { max-width: 980px; }
.booking-page h1[b-crwo87rila] { margin-bottom: 1.5rem; font-size: clamp(1.75rem, 4vw, 2.4rem); }
.booking-page h2[b-crwo87rila], .booking-page legend[b-crwo87rila] { font-size: 1.15rem; font-weight: 600; }
.booking-page legend[b-crwo87rila] { float: none; width: auto; margin-bottom: 1rem; }
.booking-kind[b-crwo87rila] { display: flex; flex-wrap: wrap; column-gap: 2rem; row-gap: .75rem; }
.booking-kind label[b-crwo87rila] { display: flex; align-items: center; gap: .5rem; }
.booking-kind span[b-crwo87rila], .booking-kind-description[b-crwo87rila], .booking-zone[b-crwo87rila] { color: var(--qc-muted); }
.booking-kind-description[b-crwo87rila] { margin: .75rem 0; }
.booking-zone[b-crwo87rila] { margin-bottom: 1.5rem; font-size: .9rem; }
.booking-workspace[b-crwo87rila] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; }
.booking-month[b-crwo87rila] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .75rem; }
.booking-month h2[b-crwo87rila] { margin: 0; text-transform: capitalize; }
.booking-calendar[b-crwo87rila] { width: 100%; table-layout: fixed; text-align: center; border-collapse: separate; border-spacing: 3px; }
.booking-calendar th[b-crwo87rila] { font-size: .85rem; padding: .5rem 0; font-weight: 500; }
.booking-calendar abbr[b-crwo87rila] { text-decoration: none; }
.booking-day[b-crwo87rila] { width: 100%; min-height: 44px; border: 1px solid transparent; background: #fff; border-radius: 6px; color: var(--qc-text); }
.booking-slot[b-crwo87rila], .booking-primary[b-crwo87rila], .booking-secondary[b-crwo87rila] { border-radius: 6px; padding: .65rem .9rem; min-height: 44px; border: 1px solid #b7c1d2; background: #fff; color: var(--qc-text); }
.booking-primary[b-crwo87rila], .booking-day[aria-pressed="true"][b-crwo87rila], .booking-slot[aria-pressed="true"][b-crwo87rila] { background: var(--qc-primary); border-color: var(--qc-primary); color: #fff; }
.booking-page button[b-crwo87rila] { transition: background-color 120ms ease, border-color 120ms ease; }
.booking-day:hover:not(:disabled):not([aria-pressed="true"])[b-crwo87rila], .booking-slot:hover:not(:disabled):not([aria-pressed="true"])[b-crwo87rila], .booking-secondary:hover:not(:disabled)[b-crwo87rila] { background: var(--qc-sky); border-color: #b7c1d2; }
.booking-page button:focus-visible[b-crwo87rila], .booking-page input:focus-visible[b-crwo87rila], .booking-page textarea:focus-visible[b-crwo87rila], .booking-page [tabindex="-1"]:focus-visible[b-crwo87rila] { outline: 3px solid var(--qc-primary); outline-offset: 3px; }
.booking-page button:disabled[b-crwo87rila] { opacity: .45; cursor: not-allowed; }
.booking-slots[b-crwo87rila] { margin-top: 1rem; }
.booking-slots h3[b-crwo87rila] { font-size: 1rem; margin-bottom: .75rem; }
.booking-slot-list[b-crwo87rila] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.booking-slot[b-crwo87rila] { padding-inline: .25rem; }
.booking-details[b-crwo87rila] { min-width: 0; border-left: 1px solid var(--qc-border); padding-left: 2rem; }
.booking-details .form-label[b-crwo87rila] { margin-top: .9rem; margin-bottom: .35rem; }
.booking-details legend + .form-label[b-crwo87rila] { margin-top: 0; }
.booking-selection[b-crwo87rila] { margin-bottom: 0; font-size: .95rem; }
.booking-privacy[b-crwo87rila] { display: flex; align-items: flex-start; gap: .65rem; margin: 1rem 0; font-size: .9rem; }
.booking-privacy input[b-crwo87rila] { margin-top: .25rem; }
.booking-trap[b-crwo87rila] { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.booking-code[b-crwo87rila] { max-width: 12rem; letter-spacing: .15rem; }
.booking-actions[b-crwo87rila] { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.booking-verification[b-crwo87rila], .booking-result[b-crwo87rila] { max-width: 680px; }
.booking-error[b-crwo87rila] { color: #a32222; margin-top: 1.5rem; }
.booking-footer[b-crwo87rila] { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--qc-border); font-size: .95rem; }
@media (max-width: 767px) {
    .booking-page[b-crwo87rila] { padding: 2rem 0; }
    .booking-workspace[b-crwo87rila] { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
    .booking-details[b-crwo87rila] { border-left: 0; padding-left: 0; border-top: 1px solid var(--qc-border); padding-top: 1.5rem; }
    .booking-kind[b-crwo87rila] { display: block; }
    .booking-kind label + label[b-crwo87rila] { margin-top: .75rem; }
}
@media (prefers-reduced-motion: reduce) { .booking-page button[b-crwo87rila] { transition: none; } }
