                                        
            @font-face {
        font-family: 'AZDS-main';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8e57c14df457141289.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-second';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8e57c14df457141289.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-third';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8e57c14df457141289.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-fourth';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8e57c14df457141289.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-fifth';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8e57c14df457141289.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-sixth';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8e57c14df457141289.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-main';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/5cf15af40624d609203839.woff") format("woff");
                }
            @font-face {
        font-family: 'AZDS-room-third';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8ebf2ef62590617671.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-room-rate-fourth';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8ebf2ef62590617671.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-room-main';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8e57c14df457141289.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-room-rate-main';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8e57c14df457141289.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-calendar-main';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8e57c14df457141289.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-reservation-form-main';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8ebf2ef62590617671.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-review-info-main';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8e57c14df457141289.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-order-form-second';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/5cf15af40624d609203839.woff") format("woff");
                }
            @font-face {
        font-family: 'AZDS-review-charge-main';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a7f8e57c14df457141289.otf") format("opentype");
                }
            @font-face {
        font-family: 'AZDS-calendar-sixth';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/6a8ff6ceae58a927076978.woff2") format("woff2");
                }
            @font-face {
        font-family: 'AZDS-pci-booking-card-info-main';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/5cf15af40624d609203839.woff") format("woff");
                }
            @font-face {
        font-family: 'AZDS-pci-booking-card-info-second';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/5cf15af40624d609203839.woff") format("woff");
                }
            @font-face {
        font-family: 'AZDS-pci-booking-card-info-third';
        font-style: normal;
        font-weight: 400;
                                            src: url("https://d1t1qzzb2zwrre.cloudfront.net/master/system/fonts/5cf15af40624d609203839.woff") format("woff");
                }
    
    :root {
    --azds-theme-main-color: #152c55 !important;
    }
    .b-main-bcolor {
    background-color: #152c55 !important;
    }
    .b-main-bcolor-hover:hover {
    background-color: #152c55 !important;
    }
    .b-main-fcolor {
    color: #152c55 !important;
    }
    .b-main-fcolor-hover:hover {
    color: #152c55 !important;
    }
    .b-main-border-color{
    border-color: #152c55 !important;
    }
    .b-main-border-color-hover:hover {
    border-color: #152c55 !important;
    }
    .b-main-border-color::after{
    border-color: #152c55 !important;
    }

    :root {
    --azds-theme-second-color: #ffffff !important
    }
    .b-second-bcolor {
    background-color: #ffffff !important;
    }
    .b-second-bcolor-hover:hover {
    background-color: #ffffff !important;
    }
    .b-second-fcolor {
    color: #ffffff !important;
    }
    .b-second-fcolor-hover:hover {
    color: #ffffff !important;
    }
    .swiper-pagination .swiper-pagination-handle .swiper-pagination-bullet-active {
    background-color: #ffffff !important;
    }
    .b-second-border-color{
    border-color: #ffffff !important;
    }
    .b-second-border-color-hover:hover {
    border-color: #ffffff !important;
    }
    .b-second-border-color::after{
    border-color: #ffffff !important;
    }

    :root {
    --azds-theme-third-color: #152c55 !important
    }
    .b-third-bcolor {
    background-color: #152c55 !important;
    }
    .b-third-bcolor-hover:hover {
    background-color: #152c55 !important;
    }
    .b-third-fcolor {
    color: #152c55 !important;
    }
    .b-third-border-color{
    border-color: #152c55 !important;
    }
    .b-third-border-color-hover:hover {
    border-color: #152c55 !important;
    }
    .b-third-border-color::after{
    border-color: #152c55 !important;
    }


.message-block,
div:has(> .surf-sand-banner-container) {
  background-color: #ffffff !important;
  border: none !important;
}

.surf-sand-banner-container {
  background-color: #ffffff !important;
  border: none !important;
}
.surf-sand-banner-container {
    background-color: #ffffff !important;
    color: #000000 !important;
    padding: 10px 20px !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

.surf-banner-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
}

.surf-award-logos {
    display: flex !important;
    gap: 0 !important;
    align-items: center !important;
}

.surf-award-img {
    height: 76px !important;
    width: auto !important;
    object-fit: contain !important;
    display: inline-block !important;
}

.azds-booking-section .booking-section-assistant-subheader,
body:has(.azds-booking-section) .azds-booking-section .booking-section-assistant-subheader {
    background-color: #ffffff !important;
}

.azds-booking-section .order-info-bl .order-info-inner-wrapper p:first-child,
.azds-booking-section .order-info p {
    display: none !important;
}

.azds-booking-section .stay-sum .name,
.azds-booking-section .stay-summer .name {
    display: none !important;
}

.azds-booking-section progress-bar .progress-bar_header h1,
.azds-booking-section progress-bar h1 {
    font-size: 24px !important;
}

.azds-booking-section .calendar-month .cal-day-cell.cal-day-unavailable {
    background-color: #f0f0f0 !important;
}

.azds-booking-section .calendar-month .cal-day-cell.cal-day-unavailable .cal-cell-top,
.azds-booking-section .calendar-month .cal-day-cell.cal-day-unavailable .cal-cell-top span,
.azds-booking-section .calendar-month .cal-day-cell.cal-day-unavailable .cal-cell-top div {
    color: #999999 !important;
}

.azds-booking-section .reserve-box .dates .day {
    color: #152c55 !important;
    font-size: 60px !important;
}

.azds-booking-section .reserve-box .dates .title.b-main-bcolor {
    font-size: 24px !important;
}

.azds-booking-section .reserve-form .reserve-btn {
    border: 1px solid #152c55 !important;
    background-color: #152c55 !important;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 19px;
    font-weight: 500;
    height: auto;
    margin: 19px;
    letter-spacing: 2px;
    width: auto;
    text-transform: uppercase;
    padding: 4px 4px 4px;
}

.azds-booking-section button.boutique-hotel-enhancements-step__button {
    background-color: #152c55 !important;
    color: #ffffff !important;
    border: 1px solid #152c55 !important;
}

@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");

/* cyrillic-ext */
@font-face {
    font-family: "Montserrat";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUQjIg1_i6t8kCHKm459WxRxC7mw9c.woff2) format("woff2");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: "Montserrat";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUQjIg1_i6t8kCHKm459WxRzS7mw9c.woff2) format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* vietnamese */
@font-face {
    font-family: "Montserrat";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUQjIg1_i6t8kCHKm459WxRxi7mw9c.woff2) format("woff2");
    unicode-range:
        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
    font-family: "Montserrat";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUQjIg1_i6t8kCHKm459WxRxy7mw9c.woff2) format("woff2");
    unicode-range:
        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
        U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: "Montserrat";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUQjIg1_i6t8kCHKm459WxRyS7m.woff2) format("woff2");
    unicode-range:
        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
        U+2215, U+FEFF, U+FFFD;
}

/* cyrillic-ext */
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format("woff2");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* vietnamese */
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format("woff2");
    unicode-range:
        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format("woff2");
    unicode-range:
        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
        U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format("woff2");
    unicode-range:
        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
        U+2215, U+FEFF, U+FFFD;
}

.azds-booking-section .booking-section-header {
    text-align: center !important;
}

.azds-booking-section .booking-section-header .logo {
    margin: 0 auto;
}

body:has(.azds-booking-section) .reserve-box .dates .title,
body:has(.azds-booking-section) .reserve-box .dates .title.b-main-bcolor {
    color: #fff !important;
}

body:has(.azds-booking-section) .legend-block strong,
body:has(.azds-booking-section) .legend-block strong *,
body:has(.azds-booking-section) .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input,
body:has(.azds-booking-section) .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input * {
    font-family: "AZDS-room-main" !important;
}

.reserve-box .reserve-box-btn,
.reserve-box .reserve-box-btn-mob {
    font-family: "AZDS-room-main" !important;
    font-weight: 600 !important;
}

.azds-contact-block .azds-contact-block-phone a,
.azds-contact-block .azds-contact-block-email a {
    color: #fff;
    font-family: "AZDS-room-main";
}

.room-info .room-price .room-reserve-btn {
    font-weight: 600 !important;
}

body:has(.azds-booking-section) h1,
body:has(.azds-booking-section) h2,
body:has(.azds-booking-section) h3,
body:has(.azds-booking-section) h4,
body:has(.azds-booking-section) .title,
body:has(.azds-booking-section) .room-name,
body:has(.azds-booking-section) .hotel-name,
body:has(.azds-booking-section) .price-breakdown,
body:has(.azds-booking-section) .rate-details,
body:has(.azds-booking-section) modal-container h2 {
    color: #152c55 !important;
    letter-spacing: 0.02em !important;
    font-weight: 500 !important;
}

body:has(.azds-booking-section) p,
body:has(.azds-booking-section) .room-description,
body:has(.azds-booking-section) .info-wrapper,
body:has(.azds-booking-section) .policy-description,
body:has(.azds-booking-section) .modal-container,
body:has(.azds-booking-section) .rate-content,
body:has(.azds-booking-section) .stay-summer,
body:has(.azds-booking-section) .booking-confirmation-wrap {
    color: #1e1a19 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

body:has(.azds-booking-section) .offers-wrap .step-2-rates .rates-title,
body:has(.azds-booking-section) .offers-wrap .extra-descr,
body:has(.azds-booking-section) .offers-wrap .extra-descr .left,
body:has(.azds-booking-section) .offers-wrap .extra-descr .descr-wrap,
body:has(.azds-booking-section) .offers-wrap .rate-row {
    border-color: #152c55 !important;
}

body:has(.azds-booking-section) .offers-wrap .step-2-rates .rates-title,
body:has(.azds-booking-section) .offers-wrap .extra-descr .left,
body:has(.azds-booking-section) .offers-wrap .extra-descr .descr-wrap {
    background-color: rgba(161, 98, 38, 0.25) !important;
}

body:has(.azds-booking-section) .offers-wrap {
    background-color: #ffffff !important;
}

body:has(.azds-booking-section) .offers-wrap .step-2-rates .rates-title {
    letter-spacing: 2px;
    font-size: 110%;
    padding: 20px 15px 15px;
    text-align: center;
    text-transform: uppercase;
    color: #152c55 !important;
}

@media screen and (min-width: 769px) {
    body:has(.azds-booking-section) .room-info {
        float: right;
        padding: 2.9% 1% 41px 2%;
        width: 50%;
        border: 1px solid #f9f7f0 !important;
        border-left: none;
        min-height: 309px;
        position: relative;
        background: #f9f7f0 !important;
    }
}

body:has(.azds-booking-section) .descr-wrap .btn-book,
body:has(.azds-booking-section) a.btn-book {
    background-color: #152c55 !important;
    color: #ffffff !important;
    border: 1px solid #152c55 !important;
    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease !important;
    font-weight: 600 !important;
}

body:has(.azds-booking-section) .descr-wrap .btn-book:hover,
body:has(.azds-booking-section) a.btn-book:hover {
    background-color: #ffffff !important;
    color: #152c55 !important;
    border-color: #152c55 !important;
}

body:has(.azds-booking-section) .btn-rates,
body:has(.azds-booking-section) a.btn-rates,
body:has(.azds-booking-section) button.btn-rates {
    background-color: #152c55 !important;
    color: #ffffff !important;
    border: 1px solid #152c55 !important;
    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease !important;
}

body:has(.azds-booking-section) .btn-rates:hover,
body:has(.azds-booking-section) a.btn-rates:hover,
body:has(.azds-booking-section) button.btn-rates:hover {
    background-color: #ffffff !important;
    color: #152c55 !important;
    border-color: #152c55 !important;
}

/* Start BEA-1659 */

/* End BEA-1659 */

/* Integration start */
body:has(.azds-booking-section) {
    font-size: 14px !important;
    line-height: normal !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    font-variant: none !important;
    position: static !important;
    padding: 0 !important;
    margin: 0 !important;
}

body:has(.azds-booking-section) * {
    font-variant-numeric: lining-nums !important;
}

.azds-booking-section .booking-section-wrap progress-bar * {
    font-variant-numeric: lining-nums !important;
}

.azds-booking-section .reserve-form .reserve-box .sel,
.azds-booking-section .reserve-form .reserve-box .sel select,
.azds-booking-section .reserve-form .reserve-box .sel ng-select,
.azds-booking-section .reserve-form .reserve-box .inp,
.azds-booking-section .reserve-form .reserve-box .inp input,
.azds-booking-section .reserve-form .reserve-box .t-area,
.azds-booking-section .reserve-form .reserve-box .t-area textarea,
.azds-booking-section .reserve-form .reserve-box .sel ng-select .ng-select-container,
.azds-booking-section .reserve-form .sel .ng-select,
.azds-booking-section .reserve-form .ng-select .ng-select-container .ng-value-container {
    height: 100%;
}

.info-wrapper .info > li {
    margin-left: 17px;
}

.long-description div > li {
    margin-left: 17px;
}

.long-description div > b > li {
    margin-left: 17px;
}

.ds-step3-right .room-description span > li {
    margin-left: 17px;
}

boutique-policies-block p > li {
    margin-left: 17px;
}

.policy-wrapper .policy-block-desc > li {
    margin-left: 17px;
}

.room-description > li {
    margin-left: 17px;
}

@media screen and (min-width: 769px) and (max-width: 1023px) {
    boutique-modify-reservation .booking-confirmation-wrap {
        padding-left: 5% !important;
        padding-right: 5% !important;
    }
}

@media (max-width: 768px) and (min-width: 0px) {
    .booking-overlay-open body:has(.azds-booking-section) modal-container .modal-dialog.image .modal-header {
        position: static !important;
        height: auto !important;
        display: flex !important;
        justify-content: end !important;
        margin-bottom: 5px !important;
        padding: 0 5px !important;
    }

    .booking-overlay-open body:has(.azds-booking-section) modal-container .modal-dialog.image .modal-header .close {
        padding: 0 !important;
        margin-right: 0 !important;
        margin-left: auto !important;
        margin-bottom: 0 !important;
        position: static !important;
        margin-top: 0 !important;
        float: none !important;
        height: 30px;
        width: 30px;
    }

    .booking-overlay-open body:has(.azds-booking-section) modal-container .image.modal-dialog .modal-content {
        height: auto;
    }

    .booking-overlay-open body:has(.azds-booking-section) modal-container .modal-dialog.image .modal-header::before,
    .booking-overlay-open body:has(.azds-booking-section) modal-container .modal-dialog.image .modal-header::after {
        display: none !important;
    }

    body:has(.azds-booking-section) .boutique-custom-phone__item--country-code {
        width: 120px !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 1279px) {
    boutique-modify-reservation .booking-confirmation-wrap,
    app-boutique-cancellation .booking-confirmation-wrap {
        padding-left: 2% !important;
        padding-right: 2% !important;
    }

    boutique-modify-reservation .booking-confirmation-wrap .booking-confirmation-info .booking-confirmation-info-title .reserve-form:not(.modify-form),
    app-boutique-cancellation .booking-confirmation-wrap .booking-confirmation-info .booking-confirmation-info-title .reserve-form:not(.modify-form) {
        min-width: 80% !important;
    }
}

@media screen and (min-width: 1236px) {
    boutique-modify-reservation .booking-confirmation-wrap .booking-confirmation-info .booking-confirmation-info-title .reserve-form:not(.modify-form),
    app-boutique-cancellation .booking-confirmation-wrap .booking-confirmation-info .booking-confirmation-info-title .reserve-form:not(.modify-form) {
        min-width: 700px !important;
    }
}

@media screen and (min-width: 601px) {
    boutique-multi-room .azds-promo-popover {
        transform: translateY(2px) !important;
    }

    body:has(.azds-booking-section) .azds-multi-room-item__content-promo button {
        padding: 0 !important;
    }

    .azds-multi-room-item__content-promo button .azds-multi-room-item__content-promo-ellipsis {
        display: inline-flex !important;
        height: 100% !important;
        align-items: center;
        justify-content: center;
        padding: 0 25px !important;
    }
}

@media screen and (max-width: 560px) {
    .azds-multi-room-item__content-promo {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}

.room-text-feature-section > h5 + span {
    display: inline-block !important;
}

@media screen and (min-width: 769px) and (max-width: 1023px) {
    boutique-modify-reservation .booking-confirmation-wrap {
        padding-left: 5% !important;
        padding-right: 5% !important;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1400px) {
    body:has(.azds-booking-section) .amenities-button-container span {
        font-size: 12px !important;
    }

    body:has(.azds-booking-section) .room-info .room-price .current-price {
        font-size: 16px !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-content {
        display: grid !important;
        grid-template-rows: 1fr !important;
        grid-template-columns: auto auto !important;
        gap: calc(1% + 15px);
        margin: 0 0 0 auto !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-description {
        padding-right: 0 !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price {
        padding-left: 0 !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price .current-price,
    body:has(.azds-booking-section) boutique-room .room-info .room-price content:has(.current-price),
    body:has(.azds-booking-section) boutique-room .room-info .room-price extension-point[name="rate-price"] {
        width: fit-content !important;
        display: block !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price extension-point[name="rate-price"],
    body:has(.azds-booking-section) boutique-room .room-info .room-price .current-price {
        margin: 0 0 0 auto !important;
    }
}

@media screen and (min-width: 901px) and (max-width: 1023px) {
    body:has(.azds-booking-section) app-boutique-order-step .booking-section-form {
        padding-left: 2%;
        padding-right: 2%;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px) {
    .special-requests-text > div:not(.title) .reserve-col {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .booking-section-form {
        padding-left: 3% !important;
        padding-right: 3% !important;
    }

    .azds-booking-section .reserve-form .reserve-row {
        padding-left: 2% !important;
        padding-right: 2% !important;
    }
}

@media screen and (max-width: 1023px) and (min-width: 901px) {
    .special-requests-text > div:not(.title) .reserve-col {
        width: 100% !important;
        margin-left: 0 !important;
    }
}

@media screen and (max-width: 414px) {
    boutique-room-rate .info-wrapper {
        width: 100% !important;
    }

    body:has(.azds-booking-section) .price-info {
        padding: 0 !important;
    }
}

.booking-confirmation-wrap .booking-confirmation-info .row.submit {
    display: block;
}

@media screen and (max-width: 1279px) and (min-width: 901px) {
    .azds-booking-section .reserve-form .reserve-row .reserve-col {
        margin-bottom: 15px !important;
        width: 100% !important;
    }

    .azds-booking-section .reserve-form .reserve-row .reserve-col + .reserve-col {
        margin-left: 0 !important;
    }

    .azds-booking-section app-boutique-order-step .booking-section-form-wrap boutique-form-wrapper .reserve-form .reserve-col.prefix-form-col {
        width: 24% !important;
    }

    .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col
        + .firstname-form-col {
        width: 76% !important;
    }

    boutique-form-wrapper .reserve-form .reserve-col.prefix-form-col,
    .azds-booking-section boutique-form-wrapper .reserve-form .reserve-col.prefix-form-col {
        width: 24% !important;
    }

    boutique-form-wrapper .reserve-form .reserve-row .reserve-col.prefix-form-col + .firstname-form-col,
    .azds-booking-section boutique-form-wrapper .reserve-form .reserve-row .reserve-col.prefix-form-col + .firstname-form-col {
        width: 76% !important;
    }

    body:has(.azds-booking-section)
        .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col {
        width: 120px !important;
    }

    body:has(.azds-booking-section)
        .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col
        + .firstname-form-col {
        width: calc(100% - 120px) !important;
    }
}

@media screen and (min-width: 601px) and (max-width: 767px) {
    .azds-booking-section app-boutique-order-step .booking-section-form-wrap boutique-form-wrapper .reserve-form .reserve-col.prefix-form-col {
        min-width: 120px !important;
    }

    .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col
        + .firstname-form-col {
        max-width: calc(100% - 120px) !important;
    }
}

@media screen and (max-width: 460px) {
    .azds-booking-section app-boutique-order-step .booking-section-form-wrap boutique-form-wrapper .reserve-form .reserve-col.prefix-form-col {
        min-width: 120px !important;
    }

    .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col
        + .firstname-form-col {
        max-width: calc(100% - 120px) !important;
    }
}

@media screen and (max-width: 768px) {
    body:has(.azds-booking-section) .long-description {
        padding-top: 20px !important;
    }
}

.azds-booking-section .booking-section-wrap .dates-step .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-label,
.azds-booking-section .booking-section-wrap .dates-step .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-label *,
.azds-booking-section .booking-section-wrap .dates-step .ng-dropdown-panel .ng-dropdown-panel-items .ng-option,
.azds-booking-section .booking-section-wrap .dates-step .ng-dropdown-panel .ng-dropdown-panel-items .ng-option span,
.dates-step .reserve-box .promo-wrap .promo-block input[type="text"] {
    font-size: 12px !important;
}

.dates-step .reserve-box .promo-wrap .promo-block input[type="text"] {
    font-size: 12px !important;
}

.dates-step .reserve-box .promo-wrap .promo-block input[type="text"]::placeholder {
    font-size: 12px !important;
}

.dates-step .reserve-box .promo-wrap .promo-block input[type="text"]::-webkit-input-placeholder {
    font-size: 12px !important;
}

.dates-step .reserve-box .promo-wrap .promo-block input[type="text"]::-moz-placeholder {
    font-size: 12px !important;
}

@media screen and (min-width: 1024px) and (max-width: 1280px) {
    body:has(.azds-booking-section) boutique-room .room-info .room-content {
        display: grid !important;
        grid-template-rows: 1fr !important;
    }

    body:has(.azds-booking-section) .room-main-info .room-info .tax-info {
        font-size: 11px !important;
    }
}

@media screen and (min-width: 1281px) {
    body:has(.azds-booking-section) boutique-room .room-info .room-content {
        display: grid !important;
        grid-template-rows: 1fr !important;
        grid-template-columns: auto auto !important;
        gap: calc(3% + 15px);
        margin: 0 0 0 auto !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-description {
        padding-right: 0 !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price {
        padding-left: 0 !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price .current-price,
    body:has(.azds-booking-section) boutique-room .room-info .room-price content:has(.current-price),
    body:has(.azds-booking-section) boutique-room .room-info .room-price extension-point[name="rate-price"] {
        width: fit-content !important;
        display: block !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price extension-point[name="rate-price"],
    body:has(.azds-booking-section) boutique-room .room-info .room-price .current-price {
        margin: 0 0 0 auto !important;
    }
}

body:has(.azds-booking-section) boutique-room .room-info.room-description-shown[class*="clearfix"] {
    border-bottom: 1px solid transparent !important;
}

@media screen and (max-width: 460px) {
    body:has(.azds-booking-section) .legend-block strong {
        width: auto !important;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1280px) {
    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) {
        min-width: 0 !important;
    }

    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) input:disabled {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 10px !important;
    }

    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) .azds-code-row button {
        width: auto !important;
    }
}

.booking-overlay-open .reserve-box [class*="promo-wrap"] [class*="promo-block"] .promo-disabled[placeholder] {
    background-color: #eeedeb !important;
    color: #040404 !important;
    opacity: 1 !important;
}

.booking-overlay-open .reserve-box [class*="promo-wrap"] [class*="promo-block"] .promo-disabled[placeholder]::-webkit-input-placeholder {
    background-color: #eeedeb !important;
    color: #040404 !important;
    opacity: 1 !important;
}

.booking-overlay-open .reserve-box [class*="promo-wrap"] [class*="promo-block"] .promo-disabled::-moz-placeholder {
    background-color: #eeedeb !important;
    color: #040404 !important;
    opacity: 1 !important;
}

.booking-overlay-open .reserve-box [class*="promo-wrap"] [class*="promo-block"] .promo-disabled::placeholder {
    background-color: #eeedeb !important;
    color: #040404 !important;
    opacity: 1 !important;
}

@media screen and (max-width: 414px) {
    boutique-room-rate .info-wrapper {
        width: 100% !important;
    }

    body:has(.azds-booking-section) .price-info {
        padding: 0 !important;
    }
}

@media (max-width: 414px) and (min-width: 0px) {
    body:has(.azds-booking-section) boutique-room-rate .info ul > p {
        text-align: left !important;
    }
}

@media screen and (max-width: 414px) {
    body:has(.azds-booking-section) .room-info .room-facilities boutique-room-amenity .room-amenities-list {
        display: grid !important;
        grid-template-rows: auto !important;
        grid-template-columns: repeat(3, 33%) !important;
        margin-top: -15px !important;
    }

    body:has(.azds-booking-section) .room-info .room-facilities boutique-room-amenity .room-amenities-list li {
        width: 100% !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 1023px) {
    .azds-booking-section .nightly-price-wrap .price {
        font-size: 11px !important;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1400px) {
    body:has(.azds-booking-section) .dates-step {
        padding-left: 4% !important;
        padding-right: 4% !important;
    }

    .azds-booking-section .nightly-price-wrap .price {
        font-size: 11px !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) {
        min-width: 0 !important;
    }

    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) input:disabled {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 10px !important;
    }

    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) .azds-code-row button {
        width: auto !important;
    }
}

body:has(.azds-booking-section) p.room-description {
    margin-bottom: 10px !important;
}

@media (max-width: 660px) and (min-width: 600px) {
    body:has(.azds-booking-section) .azds-promo-popover.booking-lang-en .azds-code-row button {
        width: 90px !important;
    }

    body:has(.azds-booking-section) .azds-promo-popover.booking-lang-en .azds-code-row input {
        width: calc(100% - 100px) !important;
    }
}

@media (min-width: 576px) {
    body:has(.azds-booking-section) .modal-dialog {
        max-width: none !important;
    }
}

.azds-booking-section .reserve-form:not(.modify-form) .ng-select:not(.form-input-selected).ng-untouched.ng-dirty.ng-valid .ng-select-container {
    color: inherit !important;
}

@media (max-width: 768px) and (min-width: 0) {
    .azds-booking-section .reserve-form .reserve-col {
        margin-bottom: 15px !important;
        width: 100%;
    }
}

@media screen and (max-width: 414px) {
    body:has(.azds-booking-section) .info-wrapper .info > li {
        text-align: left;
    }
}

@media (max-width: 600px) and (min-width: 0px) {
    body:has(.azds-booking-section) .azds-promo-popover .azds-code-row button.azds-promo-popover__apply-button#promoButton {
        font-size: 16px !important;
    }
}

@media screen and (max-width: 430px) {
    body:has(.azds-booking-section) .promo-block .input-column {
        width: 100% !important;
        margin-bottom: 8px;
    }
}

@media screen and (min-width: 769px) {
    body:has(.azds-booking-section) .order-info-bl .wrapper {
        padding: 0 10px !important;
    }
}

@media screen and (max-width: 1500px) and (min-width: 1360px) {
    body:has(.azds-booking-section) .promo-block .input-column {
        width: 100% !important;
        margin-bottom: 8px;
    }
}

@media (max-width: 900px) and (min-width: 769px) {
    body:has(.azds-booking-section) .azds-multi-room-item__content-promo button {
        max-width: none !important;
    }
}

body:has(.azds-booking-section) .enhance-stay-block__heading h2 {
    margin-top: 20px !important;
}

body:has(.azds-booking-section) .azds-toggle-details {
    margin-top: 10px !important;
}

@media screen and (max-width: 460px) {
    body:has(.azds-booking-section) .legend-block strong {
        min-width: 25dvw !important;
    }
}

body:has(.azds-booking-section) .info-wrapper .info > li {
    margin-left: 17px;
}

body:has(.azds-booking-section) .nightly-rates ul {
    line-height: 1.2 !important;
}

body:has(.azds-booking-section) modal-container .modal-dialog.info-popup .charge-block dt,
body:has(.azds-booking-section) modal-container .modal-dialog.info-popup .charge-block dd {
    line-height: 1 !important;
}

body:has(.azds-booking-section) .dates-step .reserve-box .promo-wrap .promo-block input[type="text"]::placeholder {
    font-family: "AZDS-reservation-form-main", var(--default-font-family) !important;
}

@media screen and (max-width: 640px) {
    body:has(.azds-booking-section)
        .azds-booking-section
        boutique-mobile-dynamic-package-list
        .mobile-dynamic-packages
        .panel
        button.enhance-stay-block__item_add-btn {
        min-width: fit-content !important;
    }
}

@media screen and (max-width: 500px) {
    body:has(.azds-booking-section) .azds-booking-section progress-bar .select-template_left-side .select-label {
        font-size: 14px !important;
    }

    body:has(.azds-booking-section) .azds-booking-section progress-bar .select-template_left-side .select-label > div {
        white-space: normal !important;
    }

    body:has(.azds-booking-section) .azds-booking-section .booking-section-wrap progress-bar * {
        white-space: normal !important;
    }

    body:has(.azds-booking-section) .azds-booking-section .booking-section-wrap progress-bar .select-template_right-side {
        white-space: nowrap !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
    body:has(.azds-booking-section) .azds-promo-popover {
        padding: 16px !important;
    }
}

@media screen and (min-width: 415px) and (max-width: 600px) {
    body:has(.azds-booking-section) .ds-step3-right .room-info .room-info-content {
        display: grid !important;
        grid-template-rows: 1fr !important;
        grid-template-columns: 1fr auto !important;
        gap: calc(1% + 15px);
    }

    body:has(.azds-booking-section) .ds-step3-right .room-info .room-description {
        padding-right: 0 !important;
        width: fit-content !important;
        max-height: none !important;
    }

    body:has(.azds-booking-section) .ds-step3-right .room-info .room-price {
        padding-left: 0 !important;
    }

    body:has(.azds-booking-section) .ds-step3-right .room-info .room-price .current-price,
    body:has(.azds-booking-section) .ds-step3-right .room-info .room-price:has(.current-price) {
        width: fit-content !important;
        display: block !important;
        margin: 0 0 0 auto !important;
    }
}

body:has(.azds-booking-section) .azds-booking-section .azds-multi-room-item__content-promo button,
body:has(.azds-booking-section) .azds-booking-section button.b-main-bcolor-hover {
    font-size: 14px !important;
}

@media (max-width: 1023px) and (min-width: 768px) {
    body:has(.azds-booking-section) .azds-booking-section .room-main-info.booking-lang-fr .room-price {
        min-width: fit-content !important;
    }
}

@media screen and (min-width: 601px) and (max-width: 680px) {
    body:has(.azds-booking-section)
        .booking-lang-de[class*="azds-booking-section"]
        .ds-step3-right
        .room-main-info.booking-lang-de
        .room-info
        .room-info-content
        .room-price {
        min-width: fit-content !important;
    }
}

@media screen and (max-width: 480px) {
    body:has(.azds-booking-section) boutique-mobile-dynamic-package-list .mobile-dynamic-packages .panel.panel-open .panel-title .accordion-toggle .btn-link {
        font-size: 16px !important;
    }

    body:has(.azds-booking-section)
        .azds-booking-section
        boutique-mobile-dynamic-package-list
        .mobile-dynamic-packages
        .panel
        button.enhance-stay-block__item_add-btn {
        font-size: 12px !important;
    }

    body:has(.azds-booking-section)
        .azds-booking-section
        boutique-mobile-dynamic-package-list
        .mobile-dynamic-packages
        .panel.mobile-dynamic-packages-category
        .panel-default
        > .panel-heading {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

@media screen and (max-width: 485px) {
    body:has(.azds-booking-section)
        .azds-booking-section.booking-lang-es
        boutique-mobile-dynamic-package-list
        .mobile-dynamic-packages
        .panel.mobile-dynamic-packages-category
        .panel-title
        .accordion-toggle
        .btn-link {
        width: fit-content !important;
    }
}

/* @supports (text-box-trim: trim-both) {
    body:has(.azds-booking-section) app-boutique-cancellation app-button {
        text-box-trim: trim-both;
        text-box-edge: cap alphabetic;
        line-height: 1 !important;
        overflow: visible !important;
    }

    body:has(.azds-booking-section) .btn-rates,
    body:has(.azds-booking-section) a.btn-rates,
    body:has(.azds-booking-section) button.btn-rates,
    body:has(.azds-booking-section) .descr-wrap .ri .btn-book {
        text-box-trim: trim-both;
        text-box-edge: cap alphabetic;
        font-variant: none !important;
        text-transform: uppercase !important;
        line-height: 1 !important;
        overflow: visible !important;
        padding: 16px 5px !important;
        height: auto !important;
    }

    body:has(.azds-booking-section) .reserve-box .reserve-box-btn,
    body:has(.azds-booking-section) .reserve-box .reserve-box-btn-mob {
        text-box-trim: trim-both;
        text-box-edge: cap alphabetic;
        font-variant: none !important;
        text-transform: uppercase !important;
        line-height: 1 !important;
        overflow: visible !important;
        padding: 21px 5px 20px !important;
        height: auto !important;
        font-size: 16px !important;
    }
} */

body:has(.azds-booking-section) .btn {
    margin: 0;
}

body:has(.azds-booking-section) .btn:hover {
    box-shadow: none;
}

@media (max-width: 768px) and (min-width: 0) {
    body:has(.azds-booking-section) .ds-step3-right .room-main-info .room-info {
        padding: 10px 10px 0 !important;
    }
}

body:has(.azds-booking-section) .order-info-bl .wrapper {
    max-width: none !important;
}

@media screen and (min-width: 1280px) {
    body:has(.azds-booking-section)
        .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col {
        min-width: 120px !important;
    }

    body:has(.azds-booking-section)
        .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col
        + .firstname-form-col {
        max-width: calc(47% - 120px) !important;
    }
}

@media (max-width: 900px) and (min-width: 0px) {
    body:has(.azds-booking-section) .order-info-bl {
        margin: 0 auto !important;
    }
}

@media screen and (max-width: 1370px) and (min-width: 1280px) {
    body:has(.azds-booking-section) app-boutique-order-step .booking-section-form {
        padding-left: 5% !important;
        padding-right: 5% !important;
    }
}

body:has(.azds-booking-section) .reserve-box .reserve-box-btn,
body:has(.azds-booking-section) .reserve-box .reserve-box-btn-mob,
body:has(.azds-booking-section) .btn-rates,
body:has(.azds-booking-section) a.btn-rates,
body:has(.azds-booking-section) button.btn-rates,
body:has(.azds-booking-section) .descr-wrap .ri .btn-book {
    font-family: "AZDS-calendar-sixth", var(--default-font-family) !important;
    font-variant: none !important;
    text-transform: uppercase !important;
    font-size: 16px !important;
}

body:has(.azds-booking-section) app-boutique-cancellation app-button {
    font-family: "AZDS-calendar-sixth", var(--default-font-family) !important;
}

body:has(.azds-booking-section) .dropdown-item_icon[style*="background-color: rgb(21, 44, 85)"] .dropdown-item_text,
body:has(.azds-booking-section) .azds-booking-section .cal-month-view .cal-days .cal-cell-row .cal-day-cell.day-selected *,
body:has(.azds-booking-section) .azds-booking-section .cal-month-view .cal-days .cal-cell-row .cal-day-cell[style*="background-color: rgb(21, 44, 85)"] {
    color: #fff !important;
}

/* Integration start */
body:has(.azds-booking-section) .azds-booking-section .reserve-box .dates .title.b-main-bcolor {
    text-transform: uppercase;
    font-variant: none !important;
    font-size: 16px !important;
    height: auto !important;
    min-height: 0;
    padding-bottom: 11px !important;
    padding-top: 11px !important;
}

body:has(.azds-booking-section) {
    font-size: 16px !important;
    line-height: normal !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    font-variant: none !important;
    position: static !important;
    padding: 0 !important;
    margin: 0 !important;
}

body:has(.azds-booking-section) * {
    font-variant-numeric: lining-nums !important;
}

.azds-booking-section .booking-section-wrap progress-bar * {
    font-variant-numeric: lining-nums !important;
}

azds-booking-section .reserve-form .reserve-box .sel,
.azds-booking-section .reserve-form .reserve-box .sel select,
.azds-booking-section .reserve-form .reserve-box .sel ng-select,
.azds-booking-section .reserve-form .reserve-box .inp,
.azds-booking-section .reserve-form .reserve-box .inp input,
.azds-booking-section .reserve-form .reserve-box .t-area,
.azds-booking-section .reserve-form .reserve-box .t-area textarea,
.azds-booking-section .reserve-form .reserve-box .sel ng-select .ng-select-container,
.azds-booking-section .reserve-form .sel .ng-select,
.azds-booking-section .reserve-form .ng-select .ng-select-container .ng-value-container {
    height: 100%;
}

.info-wrapper .info > li {
    margin-left: 17px;
}

.long-description div > li {
    margin-left: 17px;
}

.long-description div > b > li {
    margin-left: 17px;
}

.ds-step3-right .room-description span > li {
    margin-left: 17px;
}

boutique-policies-block p > li {
    margin-left: 17px;
}

.policy-wrapper .policy-block-desc > li {
    margin-left: 17px;
}

.room-description > li {
    margin-left: 17px;
}

@media screen and (min-width: 769px) and (max-width: 1023px) {
    boutique-modify-reservation .booking-confirmation-wrap {
        padding-left: 5% !important;
        padding-right: 5% !important;
    }
}

@media (max-width: 768px) and (min-width: 0px) {
    .booking-overlay-open body:has(.azds-booking-section) modal-container .modal-dialog.image .modal-header {
        position: static !important;
        height: auto !important;
        display: flex !important;
        justify-content: end !important;
        margin-bottom: 5px !important;
        padding: 0 5px !important;
    }

    .booking-overlay-open body:has(.azds-booking-section) modal-container .modal-dialog.image .modal-header .close {
        padding: 0 !important;
        margin-right: 0 !important;
        margin-left: auto !important;
        margin-bottom: 0 !important;
        position: static !important;
        margin-top: 0 !important;
        float: none !important;
        height: 30px;
        width: 30px;
    }

    .booking-overlay-open body:has(.azds-booking-section) modal-container .image.modal-dialog .modal-content {
        height: auto;
    }

    .booking-overlay-open body:has(.azds-booking-section) modal-container .modal-dialog.image .modal-header::before,
    .booking-overlay-open body:has(.azds-booking-section) modal-container .modal-dialog.image .modal-header::after {
        display: none !important;
    }

    body:has(.azds-booking-section) .boutique-custom-phone__item--country-code {
        width: 120px !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 1120px) {
    boutique-modify-reservation .booking-confirmation-wrap,
    app-boutique-cancellation .booking-confirmation-wrap {
        padding-left: 2% !important;
        padding-right: 2% !important;
    }

    boutique-modify-reservation .booking-confirmation-wrap .booking-confirmation-info .booking-confirmation-info-title .reserve-form:not(.modify-form),
    app-boutique-cancellation .booking-confirmation-wrap .booking-confirmation-info .booking-confirmation-info-title .reserve-form:not(.modify-form) {
        min-width: 80% !important;
    }
}

@media screen and (min-width: 1236px) {
    boutique-modify-reservation .booking-confirmation-wrap .booking-confirmation-info .booking-confirmation-info-title .reserve-form:not(.modify-form),
    app-boutique-cancellation .booking-confirmation-wrap .booking-confirmation-info .booking-confirmation-info-title .reserve-form:not(.modify-form) {
        min-width: 600px !important;
    }
}

@media screen and (min-width: 601px) {
    boutique-multi-room .azds-promo-popover {
        transform: translateY(2px) !important;
    }

    body:has(.azds-booking-section) .azds-multi-room-item__content-promo button {
        padding: 0 !important;
    }

    .azds-multi-room-item__content-promo button .azds-multi-room-item__content-promo-ellipsis {
        display: inline-flex !important;
        height: 100% !important;
        align-items: center;
        justify-content: center;
        padding: 0 25px !important;
    }
}

@media screen and (max-width: 560px) {
    .azds-multi-room-item__content-promo {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}

.room-text-feature-section > h5 + span {
    display: inline-block !important;
}

@media screen and (min-width: 769px) and (max-width: 1023px) {
    boutique-modify-reservation .booking-confirmation-wrap {
        padding-left: 5% !important;
        padding-right: 5% !important;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1400px) {
    body:has(.azds-booking-section) .amenities-button-container span {
        font-size: 12px !important;
    }

    body:has(.azds-booking-section) .room-info .room-price .current-price {
        font-size: 16px !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-content {
        display: grid !important;
        grid-template-rows: 1fr !important;
        grid-template-columns: auto auto !important;
        gap: calc(1% + 15px);
        margin: 0 0 0 auto !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-description {
        padding-right: 0 !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price {
        padding-left: 0 !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price .current-price,
    body:has(.azds-booking-section) boutique-room .room-info .room-price content:has(.current-price),
    body:has(.azds-booking-section) boutique-room .room-info .room-price extension-point[name="rate-price"] {
        width: fit-content !important;
        display: block !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price extension-point[name="rate-price"],
    body:has(.azds-booking-section) boutique-room .room-info .room-price .current-price {
        margin: 0 0 0 auto !important;
    }
}

@media screen and (min-width: 901px) and (max-width: 1023px) {
    body:has(.azds-booking-section) app-boutique-order-step .booking-section-form {
        padding-left: 2%;
        padding-right: 2%;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px) {
    .special-requests-text > div:not(.title) .reserve-col {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .booking-section-form {
        padding-left: 3% !important;
        padding-right: 3% !important;
    }

    .azds-booking-section .reserve-form .reserve-row {
        padding-left: 2% !important;
        padding-right: 2% !important;
    }
}

@media screen and (max-width: 1023px) and (min-width: 901px) {
    .special-requests-text > div:not(.title) .reserve-col {
        width: 100% !important;
        margin-left: 0 !important;
    }
}

@media screen and (max-width: 414px) {
    boutique-room-rate .info-wrapper {
        width: 100% !important;
    }

    body:has(.azds-booking-section) .price-info {
        padding: 0 !important;
    }
}

.booking-confirmation-wrap .booking-confirmation-info .row.submit {
    display: block;
}

@media screen and (max-width: 1279px) and (min-width: 901px) {
    .azds-booking-section .reserve-form .reserve-row .reserve-col {
        margin-bottom: 15px !important;
        width: 100% !important;
    }

    .azds-booking-section .reserve-form .reserve-row .reserve-col + .reserve-col {
        margin-left: 0 !important;
    }

    .azds-booking-section app-boutique-order-step .booking-section-form-wrap boutique-form-wrapper .reserve-form .reserve-col.prefix-form-col {
        width: 24% !important;
    }

    .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col
        + .firstname-form-col {
        width: 76% !important;
    }

    boutique-form-wrapper .reserve-form .reserve-col.prefix-form-col,
    .azds-booking-section boutique-form-wrapper .reserve-form .reserve-col.prefix-form-col {
        width: 24% !important;
    }

    boutique-form-wrapper .reserve-form .reserve-row .reserve-col.prefix-form-col + .firstname-form-col,
    .azds-booking-section boutique-form-wrapper .reserve-form .reserve-row .reserve-col.prefix-form-col + .firstname-form-col {
        width: 76% !important;
    }

    body:has(.azds-booking-section)
        .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col {
        width: 120px !important;
    }

    body:has(.azds-booking-section)
        .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col
        + .firstname-form-col {
        width: calc(100% - 120px) !important;
    }
}

@media screen and (min-width: 601px) and (max-width: 767px) {
    .azds-booking-section app-boutique-order-step .booking-section-form-wrap boutique-form-wrapper .reserve-form .reserve-col.prefix-form-col {
        min-width: 120px !important;
    }

    .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col
        + .firstname-form-col {
        max-width: calc(100% - 120px) !important;
    }
}

@media screen and (max-width: 460px) {
    .azds-booking-section app-boutique-order-step .booking-section-form-wrap boutique-form-wrapper .reserve-form .reserve-col.prefix-form-col {
        min-width: 120px !important;
    }

    .azds-booking-section
        app-boutique-order-step
        .booking-section-form-wrap
        boutique-form-wrapper
        .reserve-form
        .reserve-col.prefix-form-col
        + .firstname-form-col {
        max-width: calc(100% - 120px) !important;
    }
}

@media screen and (max-width: 768px) {
    body:has(.azds-booking-section) .long-description {
        padding-top: 20px !important;
    }
}

.azds-booking-section .booking-section-wrap .dates-step .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-label,
.azds-booking-section .booking-section-wrap .dates-step .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-label *,
.azds-booking-section .booking-section-wrap .dates-step .ng-dropdown-panel .ng-dropdown-panel-items .ng-option,
.azds-booking-section .booking-section-wrap .dates-step .ng-dropdown-panel .ng-dropdown-panel-items .ng-option span,
.dates-step .reserve-box .promo-wrap .promo-block input[type="text"] {
    font-size: 12px !important;
}

.dates-step .reserve-box .promo-wrap .promo-block input[type="text"] {
    font-size: 12px !important;
}

.dates-step .reserve-box .promo-wrap .promo-block input[type="text"]::placeholder {
    font-size: 12px !important;
}

.dates-step .reserve-box .promo-wrap .promo-block input[type="text"]::-webkit-input-placeholder {
    font-size: 12px !important;
}

.dates-step .reserve-box .promo-wrap .promo-block input[type="text"]::-moz-placeholder {
    font-size: 12px !important;
}

@media screen and (min-width: 1024px) and (max-width: 1280px) {
    body:has(.azds-booking-section) boutique-room .room-info .room-content {
        display: grid !important;
        grid-template-rows: 1fr !important;
    }

    body:has(.azds-booking-section) .room-main-info .room-info .tax-info {
        font-size: 11px !important;
    }
}

@media screen and (min-width: 1281px) {
    body:has(.azds-booking-section) boutique-room .room-info .room-content {
        display: grid !important;
        grid-template-rows: 1fr !important;
        grid-template-columns: auto auto !important;
        gap: calc(3% + 15px);
        margin: 0 0 0 auto !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-description {
        padding-right: 0 !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price {
        padding-left: 0 !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price .current-price,
    body:has(.azds-booking-section) boutique-room .room-info .room-price content:has(.current-price),
    body:has(.azds-booking-section) boutique-room .room-info .room-price extension-point[name="rate-price"] {
        width: fit-content !important;
        display: block !important;
    }

    body:has(.azds-booking-section) boutique-room .room-info .room-price extension-point[name="rate-price"],
    body:has(.azds-booking-section) boutique-room .room-info .room-price .current-price {
        margin: 0 0 0 auto !important;
    }
}

body:has(.azds-booking-section) boutique-room .room-info.room-description-shown[class*="clearfix"] {
    border-bottom: 1px solid transparent !important;
}

@media screen and (max-width: 460px) {
    body:has(.azds-booking-section) .legend-block strong {
        width: auto !important;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1280px) {
    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) {
        min-width: 0 !important;
    }

    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) input:disabled {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 10px !important;
    }

    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) .azds-code-row button {
        width: auto !important;
    }
}

.booking-overlay-open .reserve-box [class*="promo-wrap"] [class*="promo-block"] .promo-disabled[placeholder] {
    background-color: #eeedeb !important;
    color: #040404 !important;
    opacity: 1 !important;
}

.booking-overlay-open .reserve-box [class*="promo-wrap"] [class*="promo-block"] .promo-disabled[placeholder]::-webkit-input-placeholder {
    background-color: #eeedeb !important;
    color: #040404 !important;
    opacity: 1 !important;
}

.booking-overlay-open .reserve-box [class*="promo-wrap"] [class*="promo-block"] .promo-disabled::-moz-placeholder {
    background-color: #eeedeb !important;
    color: #040404 !important;
    opacity: 1 !important;
}

.booking-overlay-open .reserve-box [class*="promo-wrap"] [class*="promo-block"] .promo-disabled::placeholder {
    background-color: #eeedeb !important;
    color: #040404 !important;
    opacity: 1 !important;
}

@media screen and (max-width: 414px) {
    boutique-room-rate .info-wrapper {
        width: 100% !important;
    }

    body:has(.azds-booking-section) .price-info {
        padding: 0 !important;
    }
}

@media (max-width: 414px) and (min-width: 0px) {
    body:has(.azds-booking-section) boutique-room-rate .info ul > p {
        text-align: left !important;
    }
}

@media screen and (max-width: 414px) {
    body:has(.azds-booking-section) .room-info .room-facilities boutique-room-amenity .room-amenities-list {
        display: grid !important;
        grid-template-rows: auto !important;
        grid-template-columns: repeat(3, 33%) !important;
        margin-top: -15px !important;
    }

    body:has(.azds-booking-section) .room-info .room-facilities boutique-room-amenity .room-amenities-list li {
        width: 100% !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 1023px) {
    .azds-booking-section .nightly-price-wrap .price {
        font-size: 11px !important;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1400px) {
    body:has(.azds-booking-section) .dates-step {
        padding-left: 4% !important;
        padding-right: 4% !important;
    }

    .azds-booking-section .nightly-price-wrap .price {
        font-size: 11px !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) {
        min-width: 0 !important;
    }

    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) input:disabled {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 10px !important;
    }

    body:has(.azds-booking-section) .azds-promo-popover:has(.azds-code[disabled]) .azds-code-row button {
        width: auto !important;
    }
}

body:has(.azds-booking-section) p.room-description {
    margin-bottom: 10px !important;
}

@media (max-width: 660px) and (min-width: 600px) {
    body:has(.azds-booking-section) .azds-promo-popover.booking-lang-en .azds-code-row button {
        width: 90px !important;
    }

    body:has(.azds-booking-section) .azds-promo-popover.booking-lang-en .azds-code-row input {
        width: calc(100% - 100px) !important;
    }
}

@media (min-width: 576px) {
    body:has(.azds-booking-section) .modal-dialog {
        max-width: none !important;
    }
}

.azds-booking-section .reserve-form:not(.modify-form) .ng-select:not(.form-input-selected).ng-untouched.ng-dirty.ng-valid .ng-select-container {
    color: inherit !important;
}

@media (max-width: 768px) and (min-width: 0) {
    .azds-booking-section .reserve-form .reserve-col {
        margin-bottom: 15px !important;
        width: 100%;
    }
}

@media screen and (max-width: 414px) {
    body:has(.azds-booking-section) .info-wrapper .info > li {
        text-align: left;
    }
}

@media (max-width: 600px) and (min-width: 0px) {
    body:has(.azds-booking-section) .azds-promo-popover .azds-code-row button.azds-promo-popover__apply-button#promoButton {
        font-size: 16px !important;
    }
}

@media screen and (max-width: 430px) {
    body:has(.azds-booking-section) .promo-block .input-column {
        width: 100% !important;
        margin-bottom: 8px;
    }
}

@media screen and (min-width: 769px) {
    body:has(.azds-booking-section) .order-info-bl .wrapper {
        padding: 0 10px !important;
    }
}

@media screen and (max-width: 1500px) and (min-width: 1360px) {
    body:has(.azds-booking-section) .promo-block .input-column {
        width: 100% !important;
        margin-bottom: 8px;
    }
}

@media (max-width: 900px) and (min-width: 769px) {
    body:has(.azds-booking-section) .azds-multi-room-item__content-promo button {
        max-width: none !important;
    }
}

body:has(.azds-booking-section) .enhance-stay-block__heading h2 {
    margin-top: 20px !important;
}

body:has(.azds-booking-section) .azds-toggle-details {
    margin-top: 10px !important;
}

@media screen and (max-width: 460px) {
    body:has(.azds-booking-section) .legend-block strong {
        min-width: 25dvw !important;
    }
}

body:has(.azds-booking-section) .info-wrapper .info > li {
    margin-left: 17px;
}

body:has(.azds-booking-section) .nightly-rates ul {
    line-height: 1.2 !important;
}

body:has(.azds-booking-section) modal-container .modal-dialog.info-popup .charge-block dt,
body:has(.azds-booking-section) modal-container .modal-dialog.info-popup .charge-block dd {
    line-height: 1 !important;
}

body:has(.azds-booking-section) .dates-step .reserve-box .promo-wrap .promo-block input[type="text"]::placeholder {
    font-family: "AZDS-reservation-form-main", var(--default-font-family) !important;
}

@media screen and (max-width: 640px) {
    body:has(.azds-booking-section)
        .azds-booking-section
        boutique-mobile-dynamic-package-list
        .mobile-dynamic-packages
        .panel
        button.enhance-stay-block__item_add-btn {
        min-width: fit-content !important;
    }
}

@media screen and (max-width: 500px) {
    body:has(.azds-booking-section) .azds-booking-section progress-bar .select-template_left-side .select-label {
        font-size: 14px !important;
    }

    body:has(.azds-booking-section) .azds-booking-section progress-bar .select-template_left-side .select-label > div {
        white-space: normal !important;
    }

    body:has(.azds-booking-section) .azds-booking-section .booking-section-wrap progress-bar * {
        white-space: normal !important;
    }

    body:has(.azds-booking-section) .azds-booking-section .booking-section-wrap progress-bar .select-template_right-side {
        white-space: nowrap !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
    body:has(.azds-booking-section) .azds-promo-popover {
        padding: 16px !important;
    }
}

@media screen and (min-width: 415px) and (max-width: 600px) {
    body:has(.azds-booking-section) .ds-step3-right .room-info .room-info-content {
        display: grid !important;
        grid-template-rows: 1fr !important;
        grid-template-columns: 1fr auto !important;
        gap: calc(1% + 15px);
    }

    body:has(.azds-booking-section) .ds-step3-right .room-info .room-description {
        padding-right: 0 !important;
        width: fit-content !important;
        max-height: none !important;
    }

    body:has(.azds-booking-section) .ds-step3-right .room-info .room-price {
        padding-left: 0 !important;
    }

    body:has(.azds-booking-section) .ds-step3-right .room-info .room-price .current-price,
    body:has(.azds-booking-section) .ds-step3-right .room-info .room-price:has(.current-price) {
        width: fit-content !important;
        display: block !important;
        margin: 0 0 0 auto !important;
    }
}

body:has(.azds-booking-section) .azds-booking-section .azds-multi-room-item__content-promo button,
body:has(.azds-booking-section) .azds-booking-section button.b-main-bcolor-hover {
    font-size: 14px !important;
}

@media (max-width: 1023px) and (min-width: 768px) {
    body:has(.azds-booking-section) .azds-booking-section .room-main-info.booking-lang-fr .room-price {
        min-width: fit-content !important;
    }
}

@media screen and (min-width: 601px) and (max-width: 680px) {
    body:has(.azds-booking-section)
        .booking-lang-de[class*="azds-booking-section"]
        .ds-step3-right
        .room-main-info.booking-lang-de
        .room-info
        .room-info-content
        .room-price {
        min-width: fit-content !important;
    }
}

@media screen and (max-width: 480px) {
    body:has(.azds-booking-section) boutique-mobile-dynamic-package-list .mobile-dynamic-packages .panel.panel-open .panel-title .accordion-toggle .btn-link {
        font-size: 16px !important;
    }

    body:has(.azds-booking-section)
        .azds-booking-section
        boutique-mobile-dynamic-package-list
        .mobile-dynamic-packages
        .panel
        button.enhance-stay-block__item_add-btn {
        font-size: 12px !important;
    }

    body:has(.azds-booking-section)
        .azds-booking-section
        boutique-mobile-dynamic-package-list
        .mobile-dynamic-packages
        .panel.mobile-dynamic-packages-category
        .panel-default
        > .panel-heading {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

@media screen and (max-width: 485px) {
    body:has(.azds-booking-section)
        .azds-booking-section.booking-lang-es
        boutique-mobile-dynamic-package-list
        .mobile-dynamic-packages
        .panel.mobile-dynamic-packages-category
        .panel-title
        .accordion-toggle
        .btn-link {
        width: fit-content !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 1279px) {
    body:has(.azds-booking-section) .azds-booking-section boutique-modify-layout .booking-confirmation-info-title boutique-modify-search {
        display: grid;
        grid-template-columns: minmax(600px, 80%);
        justify-content: center;
    }

    body:has(.azds-booking-section)
        .azds-booking-section
        boutique-modify-reservation
        .booking-confirmation-wrap
        .booking-confirmation-info
        .booking-confirmation-info-title
        boutique-modify-search
        .reserve-form:not(.modify-form) {
        width: auto !important;
    }
}

body:has(.azds-booking-section) .azds-booking-section boutique-modify-reservation .booking-confirmation-wrap app-button .azds-button-wrap strong {
    padding-top: 1px;
    display: inline-block;
}

body:has(.azds-booking-section) .azds-booking-section boutique-modify-reservation .booking-confirmation-wrap app-button {
    background-position: left center !important;
}

body:has(.azds-booking-section) .azds-booking-section p a:not(.btn):hover {
    border-bottom: 0 !important;
}

body:has(.azds-booking-section) .azds-booking-section .reserve-form .reserve-btn {
    font-family: "AZDS-calendar-sixth", var(--default-font-family) !important;
    font-variant: none !important;
    text-transform: uppercase !important;
    font-size: 16px !important;
    padding: 11px 5px 9px !important;
    font-weight: 600 !important;
}

body:has(.azds-booking-section) > div:has(#messenger_avtar):not(:has(.bmb_msg_bubble_body)) {
    z-index: 0 !important;
    position: fixed !important;
}

body:has(.azds-booking-section) .azds-booking-section p a:not(.btn) {
    font-weight: 400;
}

@media screen and (max-width: 768px) {
    body:has(.azds-booking-section) > div:has(#messenger_avtar),
    body:has(.azds-booking-section) > div:has(#bmbmessengerbubble),
    body:has(.azds-booking-section) > div:has(#bmbmessengerbubble) + div:has(#messengeriframe) {
        z-index: -1 !important;
        position: fixed !important;
    }
}

/* Integration end */

/* Start of BEA-1743 */
body:has(.azds-booking-section) .azds-booking-section boutique-i-prefer:empty,
body:has(.azds-booking-section) .azds-booking-section boutique-hotel-map:empty {
    display: none !important;
}
@media screen and (min-width: 1024px) {
    body:has(.azds-booking-section) .azds-booking-section .dates-step .calendar-col {
        display: grid !important;
        grid-template-columns: 285px auto !important;
        grid-template-rows: repeat(6, auto) !important;
        grid-column-gap: 0px !important;
        grid-row-gap: 0px !important;
    }

    body:has(.azds-booking-section) .azds-booking-section .dates-step .calendar-col > error-holder {
        grid-area: 1 / 1 / 2 / 3;
    }

    body:has(.azds-booking-section) .azds-booking-section .dates-step .calendar-col > app-region[regionname="ds-step1-left"] {
        grid-area: 2 / 1 / 3 / 3;
    }

    body:has(.azds-booking-section) .azds-booking-section .dates-step .calendar-col > app-boutique-calendar {
        grid-area: 3 / 1 / 4 / 3;
    }

    body:has(.azds-booking-section) .azds-booking-section .dates-step .calendar-col > app-region[regionname="ds-step1-below-calendar"] {
        grid-area: 4 / 2 / 5 / 3;
    }

    body:has(.azds-booking-section) .azds-booking-section .dates-step .calendar-col > boutique-account-iprefer-hello {
        grid-area: 4 / 1 / 5 / 2;
    }

    body:has(.azds-booking-section) .azds-booking-section .dates-step .calendar-col > boutique-hotel-map {
        grid-area: 5 / 1 / 6 / 3;
    }

    body:has(.azds-booking-section) .azds-booking-section .dates-step .calendar-col > boutique-i-prefer {
        grid-area: 6 / 1 / 7 / 3;
    }
}

/*End of BEA-1743 */
