.booking-form-single {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}
.booking-form-single .form-row {
    display: flex;
    gap: 20px;
}
.booking-form-single .form-group {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
.booking-form-single label {
    margin-bottom: 5px;
    font-size: 15px;
    font-family: "DM Sans", sans-serif;
    font-weight: 400;
    line-height: 1.85;
    color: #050B20;
}
.booking-form-single label .optional {
    font-size: 12px;
    color: rgba(0,0,0,0.4);
    font-weight: 400;
}
.booking-form-single input,
.booking-form-single select,
.booking-form-single textarea {
    padding: 5px 14px;
    border: 1px solid #E9E9E9;
    border-radius: 16px;
    color: #050B20;
    font-size: 14px;
    width: 100%;
    font-family: Roboto, sans-serif;
    background: #fff;
    box-sizing: border-box;
}
.booking-form-single textarea {
    resize: vertical;
    min-height: 90px;
    border-radius: 12px;
    padding: 10px 14px;
}
.booking-form-single input::placeholder,
.booking-form-single textarea::placeholder {
    color: rgba(0,0,0,0.54);
}
.booking-form-single .acr-price-estimate {
    margin-top: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #050B20;
}
.booking-form-single .acr-price-estimate:empty {
    display: none;
}
.booking-form-single button.bricks-button {
    width: fit-content;
    padding: 10px 20px;
    border-radius: 16px;
}
/* Select — vlastná šípka */
.booking-form-single .form-group:has(select) {
    position: relative;
}
.booking-form-single select {
    padding: 5px 40px 5px 14px;
    appearance: none;
    -webkit-appearance: none;
}
.booking-form-single select:required:invalid { color: rgba(0,0,0,0.54); }
.booking-form-single select:valid            { color: #050B20; }
.booking-form-single .form-group:has(select)::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 56%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #050B20;
    border-bottom: 2px solid #050B20;
    transform: translateY(50%) rotate(45deg);
    pointer-events: none;
}
/* Notifikácia */
.booking-notice {
    display: none;
    padding: 12px 20px;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 500;
    margin-top: 10px;
}
.booking-notice.success { background: #4caf50; color: #fff; }
.booking-notice.error   { background: #f44336; color: #fff; }

/* Obsadené dni vo Flatpickr kalendári */
.flatpickr-day.reserved-day {
    text-decoration: line-through;
    color: rgba(0,0,0,0.3);
    background: #f5f5f5;
}

@media (max-width: 992px) {
    .booking-form-single .form-row { flex-direction: column; }
}
