/* ===== Boeken: boekingsmodule, suite-overzicht, reserveerknop en mobiele boekbalk ===== */

/* Extra knopvariant */
.btn--outline {
    color: var(--black);
    background-color: transparent;
    box-shadow: inset 0 0 0 1px var(--black);
}
.btn--outline:hover {
    color: var(--white);
    background-color: var(--black);
}

/* Boekingsmodule (homepage) */
.booking--section {
    padding: 40px 0;
    background-color: var(--primary-light);
}
.booking__wrapper {
    max-width: 1040px;
}
.booking__title {
    font-size: 26px;
    color: var(--dark);
}
.booking__intro {
    color: var(--gray);
}
.booking__intro p:last-child {
    margin-bottom: 0;
}
.booking__form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    margin-top: 20px;
}
.booking__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 100%;
}
.booking__field label {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--gray);
}
.booking__field input[type="date"] {
    width: 100%;
    height: 50px;
    padding: 0 14px;
    border: 1px solid #cfcfc0;
    border-radius: 0;
    background-color: var(--white);
    color: var(--dark);
    font-size: 16px; /* voorkomt inzoomen op iOS */
    font-family: inherit;
    -webkit-appearance: none;
    appearance: none;
}
.booking__field input[type="date"]:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(128, 135, 87, 0.25);
}
.booking__buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 100%;
}
.booking__buttons .btn {
    width: 100%;
}

/* Suite-overzicht */
.suites--section {
    padding: 60px 0;
}
.suites__intro {
    max-width: 720px;
    color: var(--gray);
}
.suites__row {
    --bs-gutter-x: 24px;
    --bs-gutter-y: 24px;
}
.suite-card {
    background-color: var(--white);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
}
.suite-card__thumb {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background-color: var(--light);
}
.suite-card__thumb img {
    object-fit: cover;
    transition: transform 0.4s ease-in-out;
}
.suite-card:hover .suite-card__thumb img {
    transform: scale(1.04);
}
.suite-card__content {
    padding: 20px;
}
.suite-card__title {
    font-size: 22px;
}
.suite-card__title a {
    color: var(--dark);
    text-decoration: none;
}
.suite-card__sub {
    color: var(--gray);
}
.suite-card__buttons .btn {
    min-width: 0;
    flex: 1 1 140px;
}

/* Reserveerknop onderaan suitepagina */
.booking-cta--section {
    padding: 50px 0;
    background-color: var(--primary-light);
}
.booking-cta__title {
    font-size: 26px;
    color: var(--dark);
}

/* Mobiele boekbalk */
.booking-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    padding: 10px 16px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom));
    background-color: var(--white);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.1);
}
.booking-bar__btn {
    width: 100%;
}

@media only screen and (max-width: 991px) {
    /* Ruimte onder de footer zodat de boekbalk niets afdekt */
    .footer--area {
        padding-bottom: 90px;
    }
}

@media only screen and (min-width: 768px) {
    .booking__field {
        flex: 1 1 200px;
    }
    .booking__buttons {
        flex-direction: row;
        flex: 0 0 auto;
    }
    .booking__buttons .btn {
        width: auto;
    }
}
