.heide-booking-form { color:#424944; }
.heide-booking-form *, .heide-booking-form *::before { box-sizing:border-box; }
.heide-booking-form h2 { font-size:28px; line-height:1.25; margin:0 0 8px; letter-spacing:0; }
.heide-booking-form h3 { font-size:20px; font-weight:600; line-height:1.35; margin:0; letter-spacing:0; }
.heide-booking-form p, .heide-booking-form label, .heide-booking-form small { letter-spacing:0; line-height:1.5; }
.heide-form-heading { margin-bottom:20px; }
.heide-form-heading p { margin:0; font-size:16px; }
.heide-booking-form .heide-form-panel { padding:18px; border:1px solid #cad5ce; border-radius:4px; margin:0 0 16px; clear:both; }
.heide-fixed-services { background:#f2f8f4; }
.heide-booking-form .heide-panel-note { font-size:13px; margin:4px 0 14px; color:#58675d; }
.heide-fixed-note { font-size:13px; margin:12px 0 0; }
.heide-booking-form .heide-service-card { display:flex; align-items:center; gap:12px; margin:0; padding:14px 12px; min-width:0; border:1px solid #d4ddd7; border-radius:4px; color:#424944; cursor:pointer; }
.heide-service-text { flex:1; min-width:0; }
.heide-service-text strong { display:block; font-size:15px; line-height:1.4; }
.heide-service-text small { display:block; font-size:12px; color:#617068; }
.heide-service-total { white-space:nowrap; font-size:15px; }
.heide-booking-form .heide-fixed-list .heide-service-card { border:0; border-bottom:1px solid #d5e0d8; border-radius:0; padding:12px 0; cursor:default; }
.heide-service-lock { font-size:16px; }
.heide-extra-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.heide-booking-form .heide-service-card.is-selected { background:#f2f8f4; border-color:#498364; }
.heide-booking-form input[type=checkbox] { appearance:auto; accent-color:#498364; width:22px !important; height:22px; margin:0 !important; padding:0 !important; flex:0 0 22px; float:none !important; cursor:pointer; }
.heide-booking-form input[hidden] { display:none !important; }
.heide-booking-form .heide-services-original, .heide-form-original > :not(form), .heide-form-original form > div[class*="height_"] { display:none !important; }
.heide-fields-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
.heide-booking-form .heide-field { width:100% !important; float:none !important; padding:0 !important; min-width:0; }
.heide-field > div[class*="height_"] { display:none; }
.heide-booking-form .heide-field > p { margin:0 0 5px; }
.heide-booking-form .heide-field label { display:block; font-size:14px; font-weight:600; margin:0 0 5px; }
.heide-booking-form .heide-field input, .heide-booking-form .heide-field select, .heide-booking-form .heide-field textarea { width:100%; min-height:44px; background:#fff; border:1px solid #c9d3cd; border-radius:3px; padding:10px 12px; color:#424944; font-size:16px; letter-spacing:0; }
.heide-booking-form .heide-field textarea { min-height:90px; }
.heide-booking-form #nd_booking_booking_form_requests_container { grid-column:1 / -1; }
.heide-form-details { clear:both; border:1px solid #cad5ce; border-radius:4px; margin:0 0 12px; padding:0 16px; }
.heide-form-details summary { cursor:pointer; padding:13px 0; font-size:15px; font-weight:600; line-height:1.4; }
.heide-form-details summary small { display:block; font-size:12px; font-weight:400; margin-left:18px; }
.heide-form-details > .heide-fields-grid, .heide-form-details > .heide-field { padding-bottom:16px !important; }
.heide-booking-form .heide-form-terms { display:flex; align-items:center; gap:10px; float:none; padding:8px 0 16px; }
.heide-form-terms label { font-size:14px; }
.heide-booking-form .heide-form-terms > p { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.heide-booking-form .heide-form-terms a { float:none; color:#498364; text-decoration:underline; }
.heide-booking-form .heide-form-next { border:0; border-radius:3px; background:#78b38f; color:white; width:100%; padding:16px; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; line-height:1.5; cursor:pointer; }
.heide-booking-form .heide-form-next:hover { background:#568b6b; }
.heide-booking-form :is(input,textarea,select,button,summary):focus-visible { outline:2px solid #316647; outline-offset:3px; }
.heide-booking-form .nd_booking_booking_alert_login_register.nd_booking_height_40 { display:none; }
.heide-booking-form .nd_booking_booking_alert_login_register { background:transparent; padding:12px 0 0; }
.heide-booking-form .nd_booking_booking_alert_login_register :is(p,a) { color:#617068; font-size:12px; line-height:1.5; }
.heide-booking-form .nd_booking_booking_alert_login_register a { text-decoration:underline; }
@media(min-width:1300px) {
 .heide-extra-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .heide-extra-grid .heide-service-card { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:5px 8px; }
 .heide-extra-grid .heide-service-text { display:contents; }
 .heide-extra-grid .heide-service-text strong { grid-column:2; grid-row:1; }
 .heide-extra-grid .heide-service-text small { grid-column:2 / -1; grid-row:2; }
 .heide-extra-grid .heide-service-total { grid-column:3; grid-row:1; }
}
@media(max-width:600px) {
 .heide-booking-form { width:calc(100vw - 32px) !important; margin-left:calc((100% - 100vw + 32px)/2); padding:0 !important; }
 .heide-booking-form h2 { font-size:24px; }
 .heide-booking-form h3 { font-size:19px; }
 .heide-booking-form .heide-form-panel { padding:15px; }
 .heide-extra-grid, .heide-fields-grid { grid-template-columns:1fr; }
 .heide-booking-form .heide-service-card { padding:12px 10px; gap:10px; }
}

.heide-reservation-notice { clear:both; background:#fff7e7; border-left:3px solid #bd9443; padding:12px 14px; margin:12px 0 18px; color:#514923; font-size:14px; line-height:1.6; letter-spacing:0; }
