/* Sliedrecht Aanhangwagen Reserveringen
 * Front-end styling is deliberately scoped and explicit so the active theme
 * cannot turn calendar/time buttons into generic theme buttons.
 */
.sar-booking{
    --sar-accent:#1DADEE;
    --sar-text:#121C21;
    --sar-muted:#667680;
    --sar-yellow:#FFDD26;
    --sar-line:#D7E3EB;
    --sar-soft:#F4F8FA;
    --sar-blue-soft:#EEF9FE;
    max-width:960px;
    margin:30px auto;
    font-family:inherit;
    color:var(--sar-text);
}
.sar-booking *{box-sizing:border-box}
.sar-booking [hidden]{display:none!important}

.sar-booking .sar-header{margin:0 0 28px}
.sar-booking .sar-header h2{margin:0 0 7px!important;font-size:40px!important;line-height:1.12!important;font-weight:800!important;letter-spacing:-.02em!important;color:var(--sar-text)!important;text-transform:none!important}
.sar-booking .sar-header p{margin:0!important;color:var(--sar-muted)!important;font-size:16px!important;line-height:1.55!important}

.sar-booking .sar-step,
.sar-booking .sar-form,
.sar-booking .sar-success{
    background:#fff!important;
    border:1px solid var(--sar-line)!important;
    border-radius:18px!important;
    padding:30px!important;
    margin:0 0 22px!important;
    box-shadow:0 9px 28px rgba(18,28,33,.055)!important;
    color:var(--sar-text)!important;
}
.sar-booking .sar-step-title{display:flex!important;align-items:center!important;gap:12px!important;font-size:18px!important;line-height:1.3!important;font-weight:800!important;color:var(--sar-text)!important;margin:0 0 22px!important;text-transform:none!important;letter-spacing:normal!important}
.sar-booking .sar-step-title>span{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;border-radius:50%!important;background:var(--sar-accent)!important;color:#fff!important;font-size:14px!important;font-weight:800!important}

/* Calendar shell */
.sar-booking .sar-calendar{border:1px solid var(--sar-line)!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important}
.sar-booking .sar-calendar-head{display:grid!important;grid-template-columns:44px 1fr 44px!important;align-items:center!important;gap:10px!important;margin:0!important;padding:14px 16px!important;background:#F2F6F8!important;border-bottom:1px solid var(--sar-line)!important}
.sar-booking .sar-month-label{text-align:center!important;font-size:17px!important;line-height:1.25!important;font-weight:800!important;text-transform:capitalize!important;color:var(--sar-text)!important}

/* Protect all module buttons from theme button styling */
.sar-booking button.sar-nav,
.sar-booking button.sar-day,
.sar-booking button.sar-slot,
.sar-booking button.sar-submit{
    -webkit-appearance:none!important;
    appearance:none!important;
    font-family:inherit!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    text-shadow:none!important;
    outline:0!important;
}

.sar-booking button.sar-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #CFDCE5!important;
    border-radius:9px!important;
    background:#fff!important;
    background-image:none!important;
    color:var(--sar-text)!important;
    box-shadow:none!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:700!important;
    cursor:pointer!important;
}
.sar-booking button.sar-nav:hover:not(:disabled){border-color:var(--sar-accent)!important;color:var(--sar-accent)!important;background:#fff!important}
.sar-booking button.sar-nav:disabled{opacity:.35!important;cursor:not-allowed!important;color:#8C969D!important;background:#fff!important}

.sar-booking .sar-weekdays,
.sar-booking .sar-calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important}
.sar-booking .sar-weekdays{padding:18px 10px 8px!important;background:#fff!important}
.sar-booking .sar-calendar-grid{padding:8px 10px 14px!important;background:#fff!important}
.sar-booking .sar-weekdays span{text-align:center!important;font-size:12px!important;font-weight:800!important;color:#60717C!important;padding:7px 2px!important}

.sar-booking button.sar-day{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:76px!important;
    margin:0!important;
    padding:10px 8px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    background:#FAFBFC!important;
    background-image:none!important;
    color:var(--sar-text)!important;
    box-shadow:none!important;
    text-align:center!important;
    cursor:pointer!important;
    transition:border-color .15s ease,background .15s ease,box-shadow .15s ease!important;
}
.sar-booking button.sar-day:not(:disabled):hover{border-color:#BEE7F8!important;background:#F4FBFE!important;box-shadow:inset 0 0 0 1px #BEE7F8!important;color:var(--sar-text)!important}
.sar-booking button.sar-day.is-selected{border-color:var(--sar-accent)!important;background:var(--sar-blue-soft)!important;box-shadow:inset 0 0 0 1px var(--sar-accent)!important;color:var(--sar-text)!important}
.sar-booking button.sar-day.is-today .sar-day-number{color:var(--sar-accent)!important}
.sar-booking button.sar-day.is-unavailable,
.sar-booking button.sar-day:disabled{background:#FAFBFC!important;color:#9BA2A7!important;border-color:transparent!important;box-shadow:none!important;cursor:not-allowed!important;opacity:1!important}
.sar-booking .sar-day-empty{border:0!important;background:transparent!important;min-height:76px!important}
.sar-booking .sar-day-number{display:block!important;font-size:16px!important;line-height:1.2!important;font-weight:700!important;color:inherit!important}
.sar-booking button.sar-day small{display:block!important;margin-top:10px!important;font-size:11px!important;line-height:1.25!important;font-weight:700!important;color:#65737C!important}
.sar-booking button.sar-day.is-unavailable small{color:#A2A8AC!important}
.sar-booking .sar-loading,.sar-booking .sar-error{grid-column:1/-1!important;padding:25px!important;text-align:center!important;color:var(--sar-muted)!important}
.sar-booking .sar-error{color:#B42318!important}

/* Time slots */
.sar-booking .sar-selected-date{font-weight:700!important;margin:-4px 0 16px!important;text-transform:capitalize!important;color:var(--sar-text)!important}
.sar-booking .sar-slots{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.sar-booking button.sar-slot{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:5px!important;
    width:100%!important;
    min-height:126px!important;
    margin:0!important;
    padding:20px 18px!important;
    border:1px solid #CFDCE5!important;
    border-radius:14px!important;
    background:#fff!important;
    background-image:none!important;
    color:var(--sar-text)!important;
    box-shadow:none!important;
    text-align:left!important;
    cursor:pointer!important;
    transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
.sar-booking button.sar-slot:hover{border-color:var(--sar-accent)!important;background:#F7FCFE!important;box-shadow:0 0 0 1px var(--sar-accent)!important;color:var(--sar-text)!important;transform:translateY(-1px)!important}
.sar-booking button.sar-slot.is-selected{border-color:var(--sar-accent)!important;background:var(--sar-blue-soft)!important;box-shadow:0 0 0 2px rgba(29,173,238,.18)!important;color:var(--sar-text)!important}
.sar-booking button.sar-slot strong{display:block!important;margin:0!important;color:var(--sar-text)!important;font-size:26px!important;line-height:1.05!important;font-weight:800!important}
.sar-booking button.sar-slot span{display:block!important;margin:4px 0 0!important;color:#63727C!important;font-size:16px!important;line-height:1.3!important;font-weight:500!important}
.sar-booking button.sar-slot small{display:block!important;margin:3px 0 0!important;color:#63727C!important;font-size:14px!important;line-height:1.3!important;font-weight:500!important}

/* Form */
.sar-booking .sar-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px!important;row-gap:0!important}
.sar-booking .sar-form[hidden]{display:none!important}
.sar-booking .sar-form>.sar-step-title,
.sar-booking .sar-form>.sar-summary,
.sar-booking .sar-form>.sar-address-group,
.sar-booking .sar-form>.sar-field-hint,
.sar-booking .sar-form>.sar-check-row,
.sar-booking .sar-form>.sar-submit,
.sar-booking .sar-form>.sar-message,
.sar-booking .sar-form>input[type="hidden"],
.sar-booking .sar-form>.sar-honeypot{grid-column:1/-1!important}
.sar-booking .sar-field{display:block!important;margin:0 0 16px!important;min-width:0!important;color:var(--sar-text)!important}
.sar-booking .sar-field>span,
.sar-booking .sar-full-field>span{display:block!important;font-weight:700!important;font-size:13px!important;line-height:1.4!important;margin:0 0 7px!important;color:var(--sar-text)!important}
.sar-booking .sar-field input,
.sar-booking .sar-field textarea,
.sar-booking .sar-full-field input,
.sar-booking .sar-full-field textarea{
    display:block!important;
    width:100%!important;
    min-height:49px!important;
    margin:0!important;
    border:1px solid #C9D9E3!important;
    border-radius:8px!important;
    padding:11px 13px!important;
    background:#fff!important;
    background-image:none!important;
    color:var(--sar-text)!important;
    box-shadow:none!important;
    font:inherit!important;
    font-size:15px!important;
    line-height:1.4!important;
}
.sar-booking .sar-field input::placeholder,.sar-booking .sar-field textarea::placeholder{color:#98A5AE!important;opacity:1!important}
.sar-booking .sar-field input:focus,.sar-booking .sar-field textarea:focus{outline:0!important;border-color:var(--sar-accent)!important;box-shadow:0 0 0 3px rgba(29,173,238,.13)!important}

.sar-booking .sar-address-group{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 18px!important;margin:0 0 2px!important;padding:0!important;border:0!important;background:transparent!important}
.sar-booking .sar-address-group-title{grid-column:1/-1!important;font-size:13px!important;font-weight:800!important;color:var(--sar-text)!important;margin:0 0 7px!important}
.sar-booking .sar-address-group .sar-field>span{font-size:12px!important;color:#566773!important;font-weight:600!important}
.sar-booking .sar-address-group .sar-field:last-child{margin-bottom:16px!important}

.sar-booking .sar-summary{display:grid!important;grid-template-columns:1fr auto!important;gap:5px 15px!important;padding:16px 18px!important;border:1px solid #CDEDFC!important;border-left:4px solid var(--sar-accent)!important;border-radius:10px!important;background:var(--sar-blue-soft)!important;margin:0 0 22px!important;color:var(--sar-text)!important}
.sar-booking .sar-summary strong{grid-column:1/-1!important;font-size:14px!important;color:var(--sar-text)!important}
.sar-booking .sar-summary span:last-child{text-align:right!important}
.sar-booking .sar-field-hint{margin:-7px 0 18px!important;font-size:13px!important;line-height:1.45!important;color:var(--sar-muted)!important}

.sar-booking .sar-check-row{display:flex!important;gap:11px!important;align-items:center!important;width:100%!important;min-height:51px!important;margin:0 0 16px!important;padding:14px 16px!important;border:1px solid #D3E1E9!important;border-radius:10px!important;background:#F3F7F9!important;color:var(--sar-text)!important;font-size:14px!important;line-height:1.5!important}
.sar-booking .sar-check-row input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;flex:0 0 auto!important;width:19px!important;height:19px!important;margin:0!important;padding:0!important;accent-color:var(--sar-accent)!important;box-shadow:none!important}
.sar-booking .sar-check-row span{color:var(--sar-text)!important}
.sar-booking .sar-check-row a{color:#0077AE!important;font-weight:800!important;text-decoration:underline!important}
.sar-booking .sar-terms{border-top:1px solid #D3E1E9!important;padding-top:14px!important}

.sar-booking button.sar-submit{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:52px!important;
    margin:17px 0 0!important;
    padding:14px 20px!important;
    border:0!important;
    border-radius:10px!important;
    background:var(--sar-yellow)!important;
    background-image:none!important;
    color:#050505!important;
    box-shadow:0 12px 24px rgba(18,28,33,.10)!important;
    font:inherit!important;
    font-size:15px!important;
    line-height:1.3!important;
    font-weight:800!important;
    cursor:pointer!important;
}
.sar-booking button.sar-submit:hover:not(:disabled){background:#F4D318!important;color:#050505!important;transform:none!important}
.sar-booking button.sar-submit:disabled{opacity:.58!important;cursor:not-allowed!important;color:#050505!important;background:var(--sar-yellow)!important}
.sar-booking .sar-message{margin:12px 0 0!important;color:#B42318!important;font-weight:700!important}
.sar-booking .sar-success{border-color:#BDE6F7!important;background:var(--sar-blue-soft)!important}
.sar-booking .sar-success strong{font-size:19px!important;color:var(--sar-text)!important}
.sar-booking .sar-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

@media(max-width:700px){
    .sar-booking{margin:18px 0;max-width:100%}
    .sar-booking .sar-header h2{font-size:30px!important}
    .sar-booking .sar-step,.sar-booking .sar-form,.sar-booking .sar-success{padding:18px!important;border-radius:13px!important}
    .sar-booking .sar-calendar-head{padding:12px!important}
    .sar-booking .sar-weekdays,.sar-booking .sar-calendar-grid{gap:4px!important;padding-left:7px!important;padding-right:7px!important}
    .sar-booking button.sar-day,.sar-booking .sar-day-empty{min-height:60px!important;padding:7px 4px!important}
    .sar-booking button.sar-day small{display:none!important}
    .sar-booking .sar-slots{grid-template-columns:1fr 1fr!important}
    .sar-booking button.sar-slot{min-height:105px!important;padding:16px 14px!important}
    .sar-booking button.sar-slot strong{font-size:22px!important}
    .sar-booking button.sar-slot span{font-size:14px!important}
    .sar-booking .sar-form{grid-template-columns:1fr!important}
    .sar-booking .sar-form>.sar-field{grid-column:1/-1!important}
    .sar-booking .sar-address-group{grid-template-columns:1fr!important}
}
