/* V2 booking search — editorial dark/gold treatment, independent from V1. */
.cozy-filter-shell {
    position: relative;
    margin-top: 20px;
}

#cozy-filter-backdrop {
    position: fixed;
    z-index: 1040;
    inset: 0;
    visibility: hidden;
    background: rgba(10, 14, 12, .64);
    opacity: 0;
    cursor: pointer;
    transition: opacity .25s ease, visibility .25s ease;
}

body.cozy-filter-open #cozy-filter-backdrop {
    visibility: visible;
    opacity: 1;
}

body.cozy-filter-open .cozy-filter-bar {
    filter: drop-shadow(0 24px 40px rgba(0, 0, 0, .28));
}

.cozy-filter-bar {
    position: relative;
    z-index: 1041;
    margin: 0;
    padding: 0 !important;
    background: #fff;
    border: 1px solid #bcb8aa;
    box-shadow: 0 12px 34px rgba(15, 18, 16, .07);
}

.cozy-filter-bar .cozy-filter-field {
    position: relative;
    min-height: 84px;
    padding: 22px 50px 15px 24px !important;
    background: #fff !important;
    border: 0 !important;
    border-right: 1px solid #dedbd1 !important;
    border-radius: 0 !important;
    cursor: pointer;
    transition: background-color .2s ease;
}

.cozy-filter-bar .cozy-filter-field:nth-child(3) { border-right: 0 !important; }
.cozy-filter-bar .cozy-filter-field:hover,
.cozy-filter-bar .cozy-filter-field:focus { background: #f8f6ef !important; outline: 0; }

.cozy-filter-bar .cozy-filter-field::after {
    position: absolute;
    top: 50%;
    right: 22px;
    width: 8px;
    height: 8px;
    margin-top: -6px;
    border-right: 1px solid #777b76;
    border-bottom: 1px solid #777b76;
    content: "";
    transform: rotate(45deg);
}

.cozy-filter-bar .label-hexagone {
    margin: 0 0 7px !important;
    color: #898d88 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .14em;
    line-height: 1;
    text-transform: uppercase;
}

.cozy-filter-bar .text-choice-hexagone {
    overflow: hidden;
    color: #15231f !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cozy-filter-bar #date-picker-hexagone,
.cozy-filter-bar #guests-picker-hexagone {
    position: relative;
    z-index: 2;
    width: 100%;
    background: #fff;
    border-top: 1px solid #dedbd1;
}

.cozy-filter-bar .content-date-picker-hexagone,
.cozy-filter-bar .content-guess-hexagone {
    width: 100%;
    margin: 0;
    padding: 18px 22px !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.cozy-filter-bar .cozy-guests-panel-wrap .content-guess-hexagone {
    width: 390px;
    max-width: 100%;
    margin-left: auto;
    border-left: 1px solid #dedbd1 !important;
}

.cozy-filter-bar .label-age-hexagone {
    color: #16231f;
    font-size: 12px;
    font-weight: 650;
}
.cozy-filter-bar .label-restruction-hexagone { color: #8b8f8b; font-size: 9px; }

.cozy-filter-bar .guests-button {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.cozy-filter-bar .guests-button .minus,
.cozy-filter-bar .guests-button .plus {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: #18231f;
    background: #f5f2e8;
    border: 1px solid #ded8c7;
    cursor: pointer;
}
.cozy-filter-bar .guests-button .minus:hover,
.cozy-filter-bar .guests-button .plus:hover { color: #111; background: #d0ae54; }
.cozy-filter-bar .guests-button input { color: #16231f; font-weight: 700; }

.cozy-filter-bar .reservation-calendar_custom { max-width: 440px; margin: 0 auto; }
.cozy-filter-bar .table-date-picker-hexagone { font-family: "Montserrat", sans-serif; }
.cozy-filter-bar .date-picker-header-hexagone {
    color: #17231f;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.cozy-filter-bar .date-picker-left-hexagone,
.cozy-filter-bar .date-picker-right-hexagone { color: #c7a74f; }

.cozy-filter-bar .btn-booking {
    min-height: 42px;
    padding: 10px 18px !important;
    color: #111311 !important;
    background: #d0ae54 !important;
    border: 1px solid #d0ae54 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    letter-spacing: .09em;
    text-shadow: none !important;
    text-transform: uppercase;
}
.cozy-filter-bar .btn-booking:hover { background: #e2c369 !important; border-color: #e2c369 !important; }
.cozy-filter-cancel {
    min-height: 42px;
    margin-right: 8px;
    padding: 10px 15px;
    color: #59615d;
    background: transparent;
    border: 1px solid #cbc8be;
    border-radius: 0;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
#resume-reservation { color: #59615d; font-size: 11px; font-weight: 500; }

@media (max-width: 767px) {
    .cozy-filter-shell { margin-top: 12px; }
    .cozy-filter-bar .cozy-filter-field {
        flex: 0 0 100%;
        max-width: 100%;
        min-height: 68px;
        padding: 16px 44px 13px 18px !important;
        border-right: 0 !important;
        border-bottom: 1px solid #dedbd1 !important;
    }
    .cozy-filter-bar .cozy-filter-field::after { right: 18px; }
    .cozy-filter-bar .content-date-picker-hexagone,
    .cozy-filter-bar .content-guess-hexagone { padding: 12px !important; }
    .cozy-filter-bar .cozy-guests-panel-wrap .content-guess-hexagone { width: 100%; border-left: 0 !important; }
    .cozy-calendar-actions { display: flex; justify-content: flex-end; }
    .cozy-filter-bar .btn-booking { flex: 1; }
}

/* V2 mobile: keep the booking content close to both viewport edges. */
@media (max-width: 767.98px) {
    body > .container-fluid {
        padding-right: 4px !important;
        padding-left: 4px !important;
    }

    body > .container-fluid > .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body > .container-fluid > .container > .cozy-filter-shell {
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body > .container-fluid > .container > .cozy-filter-shell > .col-12 {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body > .container-fluid > .container > .cozy-filter-shell > .col-12 > .row {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body > .container-fluid > .container > .cozy-section-heading,
    body > .container-fluid > .container > .cozy-reviews-grid,
    body > .container-fluid > .container > .cozy-hotel-heading + .row {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}
