﻿@import url('styles.css');

a {
    cursor: pointer !important;
    text-underline-offset: 5px;
}

a:focus {
    outline: none !important;
}

input, select, textarea {
    font-family: 'Open Sans', sans-serif;
    margin: 0;
}

input[type='button'], input[type='submit'], button {
    cursor: pointer;
    font-family: "Work Sans", sans-serif;
}

img {
    max-width: 100%;
}

a, a:focus, a:hover {
    color: #9A5026;
}

a:focus-visible, span:focus-visible, div:focus-visible, textarea:focus-visible, input:focus-visible, select:focus-visible {
    outline: solid #9A5026 1px !important;
    outline-offset: 5px !important;
}

/* Blog SEO */
.BlogPage .Banner, .BlogArticlePage .Banner {
    max-height: 380px;
    overflow: hidden;
}

.BlogPage .BannerImage, .BlogArticlePage .BannerImage {
    width: 100%;
    min-height: 260px;
    object-fit: cover;
}

.BlogIntro {
    max-width: 880px;
    margin: 0 auto 38px;
    text-align: center;
}

.BlogIntro h1,
.BlogArticle h1 {
    margin-bottom: 18px;
}

.BlogIntro p,
.BlogArticle p,
.BlogArticle li {
    color: #4f4f4f;
    font-size: 17px;
    line-height: 1.75;
}

.BlogGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 30px 0 45px;
}

.BlogCard {
    background: #fff;
    border: 1px solid rgba(154, 80, 38, 0.2);
    padding: 24px;
    min-height: 100%;
    min-width: 0;
    box-sizing: border-box;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.055);
}

.BlogCard h2 {
    font-size: 22px;
    line-height: 1.25;
    margin: 10px 0 12px;
    white-space: normal !important;
    overflow-wrap: anywhere;
    letter-spacing: 0;
}

.BlogCard h2 a {
    overflow-wrap: anywhere;
}

.BlogCard p {
    color: #555;
    font-size: 15px;
    line-height: 1.7;
}

.BlogMeta {
    display: block;
    color: #8b6a55;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.BlogCard a,
.BlogArticle .BlogBack,
.BlogArticle .BlogCta a {
    font-family: "Work Sans", sans-serif;
    font-weight: 600;
}

.BlogArticle {
    max-width: 860px;
    margin: 0 auto;
}

.BlogArticle h2 {
    margin: 34px 0 12px;
    font-size: 28px;
}

.BlogArticle ul {
    margin: 18px 0 24px 22px;
}

.BlogArticle .BlogLead {
    font-size: 20px;
    color: #333;
}

.BlogCta {
    margin: 38px 0;
    padding: 26px;
    border-left: 3px solid #9A5026;
    background: #faf7f4;
}

.SeoFaq {
    margin-top: 36px;
}

.SeoFaq details {
    border-top: 1px solid rgba(154, 80, 38, 0.2);
    padding: 18px 0;
}

.SeoFaq details:last-child {
    border-bottom: 1px solid rgba(154, 80, 38, 0.2);
}

.SeoFaq summary {
    cursor: pointer;
    color: #442C1F;
    font-family: "Work Sans", sans-serif;
    font-weight: 700;
}

.SeoLandingPage .BlogArticle {
    max-width: 920px;
}

.BlogTopics {
    margin-top: 42px;
    padding-top: 28px;
    border-top: 1px solid rgba(154, 80, 38, 0.2);
}

.BlogTopics ul {
    columns: 2;
    padding-left: 18px;
}

footer .Institutional a[href="Blog.html"] {
    opacity: 0.82;
}

.owl-carousel {
    z-index: 0 !important;
}

.bx-wrapper img {
    width: 100%;
}

/* Special offers layout repair */
.special-offers-section {
    overflow: hidden;
}

.special-offers-section .specialoffers_carousel {
    width: min(100%, 1160px) !important;
    margin: 52px auto 0 !important;
}

.special-offers-section .owl-stage-outer {
    overflow: hidden;
}

.special-offers-section .owl-stage {
    display: flex;
    align-items: stretch;
}

.special-offers-section .owl-item {
    transform: none !important;
    display: flex;
    align-items: stretch;
}

.special-offers-section .owl-item > .SpecialOffer {
    width: 100%;
}

.special-offers-section .SpecialOffer {
    display: grid;
    grid-template-columns: minmax(230px, 42%) minmax(0, 58%);
    align-items: stretch;
    min-height: 360px;
    background: #FFF;
    border: 1px solid #9A5026;
    overflow: hidden;
}

.special-offers-section .SpecialOffer .Description {
    width: auto !important;
    min-width: 0;
    padding: 44px 38px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 14px;
}

.special-offers-section .SpecialOffer .Description,
.special-offers-section .SpecialOffer .Description * {
    overflow-wrap: normal;
    word-break: normal;
}

.special-offers-section .SpecialOffer .Description h3,
.special-offers-section .SpecialOffer .Description .Date,
.special-offers-section .SpecialOffer .Description .PromotionDetail,
.special-offers-section .SpecialOffer .Description .Since,
.special-offers-section .SpecialOffer .Description .BtnBook {
    margin-left: 0;
    margin-right: 0;
}

.special-offers-section .SpecialOffer .Description h3 {
    height: auto;
    min-height: 0;
    margin-bottom: 0;
    white-space: normal;
    line-height: 1.25;
}

.special-offers-section .SpecialOffer .Description .Date {
    height: auto;
    margin-bottom: 0;
    white-space: normal;
}

.special-offers-section .SpecialOffer .Description .PromotionDetail {
    height: auto;
    min-height: 48px;
    margin-bottom: 0;
}

.special-offers-section .SpecialOffer .Description .Since {
    margin-bottom: 0;
    line-height: 1.3;
}

.special-offers-section .SpecialOffer .Description .BtnBook {
    margin-top: 14px;
}

.special-offers-section .SpecialOffer .Description .SearchButton {
    width: auto;
    min-width: 150px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    line-height: 1.1;
    white-space: nowrap;
}

.special-offers-section .SpecialOffer .itemImage {
    width: 100% !important;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    object-position: center;
}
/*for IE10*/
.fancybox-slide--iframe .fancybox-content {
    width: 800px !important;
    max-width: 100%;
}

.modal button.close {
    position: relative;
    z-index: 999;
}

.CMSMenu {
    z-index: 0 !important;
    width: 100%;
}
/*Cookies*/
.eGDSCookiesOverlay .eGDSCookiesWindow .eGDSCookiesWindowBtnWrapper .eGDSCookiesWindowBtn.eGDSCookiesWindowClose {
    background: #442C1F !important;
    border-color: #442C1F !important;
}

body .eGDSCookiesOverlay .eGDSCookiesWindow .switch input:checked ~ .draggableSwitch {
    background: #442C1F;
}
/* [Calendar] */
.ui-datepicker {
    background: #EFEFEF;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .10);
    border: 1px solid rgba(0, 0, 0, .10);
}

    .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span {
        display: block;
        left: 50%;
        margin-left: -8px;
        margin-top: -8px;
        position: absolute;
        top: 50%;
        line-height: 16px;
    }

.ui-widget-header .ui-icon {
    background-image: url(../img/ui-icons_222222_256x240.png);
    width: 16px;
}

.ui-icon-circle-triangle-w {
    background-position: -80px -192px;
}

.ui-icon-circle-triangle-e {
    background-position: -48px -192px;
}

.ui-datepicker-header, .ui-datepicker-calendar thead {
    border-bottom: solid 1px #D5D5D5;
}

.ui-datepicker td span, .ui-datepicker td a {
    text-align: center !important;
}

.ui-datepicker td a {
    color: #1a0908 !important;
}

.ui-datepicker-unselectable span {
    color: #D5D5D5;
}

.ui-datepicker-current-day a, a.ui-state-hover {
    color: #1a0908;
    background: #D5D5D5;
}

.ui-datepicker .ui-datepicker-prev-hover {
    left: 2px !important;
    top: 2px !important;
}

.ui-datepicker .ui-datepicker-next-hover {
    right: 2px !important;
    top: 2px !important;
}

.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
}
/* [TOS MODAL] */
.sidebar_content h1 {font-size: 22px;margin-bottom: 20px;}
.sidebar_content ol {list-style-type: decimal;font-size: 16px;line-height: 20px;}
.sidebar_content ol li{margin-bottom: 10px;}
/* Skip links: ocultos por padrão, visíveis ao foco */
.skip-link {
    position: absolute;
    top: -44px;
    left: 0;
    background: #9A5026;
    color: #FFF !important;
    padding: 8px 16px;
    z-index: 99999;
    border-radius: 4px;
    text-decoration: none;
    transition: top 0.2s ease;
}

.skip-link:focus, .skip-link:focus-visible, .skip-link:focus-within {
  top: 10px;
}
/* [Bootstrap Helpers] */
.NoPadding {
    padding: 0 !important;
    margin: 0 !important;
}

.NoPaddingRight {
    padding-right: 0 !important;
    margin-right: 0 !important;
}

.NoPaddingLeft {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.Equal {
    display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex;
    flex-wrap: wrap;
}
/* [CMSEditMode] */
.CMSEditMode [data-cue="fadeIn"], .CMSEditMode [data-cues="fadeIn"] > * {
    opacity: 1;
}
/*.CMSEditMode.bEditMode .Banner::after, .CMSEditMode.bEditMode header {
    pointer-events: none;
}*/
.CMSEditMode [data-cue="zoomIn"], .CMSEditMode [data-cues="zoomIn"] > * {
    opacity: 1 !important;
}
/* [Responsive] */
/*XS*/
@media (max-width: 767px) {
    .LeftContent {width: 100%;padding: 0;}
    .RightContent {width:70px; background: none;}
    .LCLogo {margin-top:15px;text-align:left;margin-left:16px;}
    .LCLanguages {
        margin-bottom:15px;
    }
    .HeaderLogo img {
        object-fit: contain;
    }

    .HeaderLogo {
        justify-content: flex-start;
        padding-left: 15px;
    }

    header {
        padding-left: 0;
        padding-right: 0;
    }
    /*.Booking .container, .Booking .container .col-lg-12 {padding: 0;}*/
    .Search .InputDate input, .Search .InputDate select {width: 100px;}
    .Search .Button a {padding: 18px 13px 18px;}
    .Search .Button a span {display: none;}
    .Search .InputDate {padding: 0 1.5%;}
    body.Fixed .Search .Button a {padding: 18px 10px 18px;}
    .BookingFeatures label {font-size: 14px;}
    .BookingFeatures, .InputDateGuests {
        display: none !important;
    }
    .Features ul li {
        width: 100%;
    }
    main .HomeText {
        padding-left: 0;
        padding-right: 0;
    }
    .InputDatePromocode {
        display: none !important;
    }
    .Booking {
        bottom: 0;
        position: fixed;
        left: 0;
        right: 0;
        z-index: 3;
    }
    .RoomsListAll .RoomsContainer {
        flex-direction: column;
    }

    .RoomsListAll .RoomsContainer .RoomInfo {
        width: 100%;
        order: 1 !important;
    }

    .RoomsListAll .RoomsContainer .RoomImage {
        width: 100%;
        order: 2 !important;
    }
    .Contacts .Text {
        padding: 20px 0px 20px 0;
    }
    .SpecialOffer .itemImage {
        width: 100% !important;
        order:0;
    }

    .SpecialOffer .Description {
        width: 100%;
        order:1;
    }
    .SpecialOffer {
        flex-direction:column;
    }
    .specialoffers_carousel {
        width: 100% !important;
        margin-left: 0;
    }
    /* Mobile: avoid duplicated SpecialOffer cards when carousel transform is disabled */
    .special-offers-section .specialoffers_carousel .owl-stage-outer { overflow: hidden !important; }
    .special-offers-section .specialoffers_carousel .owl-stage { display: block !important; width: 100% !important; transform: none !important; }
    .special-offers-section .specialoffers_carousel .owl-item { width: 100% !important; display: block !important; }
    .special-offers-section .specialoffers_carousel .owl-item.cloned { display: none !important; }
    .special-offers-section .specialoffers_carousel .owl-item ~ .owl-item:not(.cloned) { display: none !important; }
    .Copyright, .Powered {
        text-align: center;
    }
    .Search .InputDate {
        padding: 15px 10px;
    }

    .Search .Button a {
        padding: 18px 10px 18px;
        font-size: 18px;
    }
    .whatsapp-float {
        bottom: 100px;
    }
    .Banner .bx-wrapper .bx-pager {
        bottom: 120px;
    }

    .Fixed .Search {
        background: rgba(0,0,0,.9);
    }
    main .HomeImages img {
        aspect-ratio: 4 / 3;
        object-fit: cover;
        object-position: center;
    }

    .OfferItem {
        width: 100%;
    }

    .Copyright, .Powered {
        text-align: center;
        margin-top: 5px;
        margin-bottom: 5px;
    }
    main .Services li {
        width: 100%;
    }
    main {
        padding: 20px 0;
    }
    .Rooms {
        padding: 20px 15px 20px;
    }

    .Restaurantes {
        padding: 30px 0 30px;
    }

    .RestaurantesContent a {
        margin: 30px auto 0;
    }
    .Offers {
        padding: 20px 0 20px;
    }

    footer {
        padding: 20px 0 165px;
        text-align: center;
    }

    footer .About img {
        margin-top: 5px;
    }

    footer h2::after {
        margin: 20px auto 0 auto;
    }
    .RoomsContainer.owl-carousel .owl-nav button.owl-prev {
        transform: translateX(25%);
    }

    .RoomsContainer.owl-carousel .owl-nav button.owl-next {
        transform: translateX(-25%);
    }
    .RoomItemV2 .RoomImageContainer {
        min-height: unset;
        height: 300px;
        aspect-ratio: unset;
    }
    .SectionsListAll .SectionImage img {
        position: relative;
        width: 100%;
        height: 250px;
    }

    .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent {
        padding-left: 0;
        padding-right: 0;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .SectionsListAll > .SectionsContainer .SectionImage {
        padding: 25px 0 40px 0;
    }

    .SectionsListAll > .SectionsContainer:nth-child(odd) .SectionInfo .SectionInfoContent:last-child, .SectionsListAll > .SectionsContainer .SectionInfo:last-child:first-child .SectionInfoContent,
    .SectionsListAll > .SectionsContainer:nth-child(even) .SectionInfo .SectionInfoContent {
        /*padding-bottom: 0;*/
    }

    .SectionsListAll > .SectionsContainer:nth-child(even) .SectionInfo {
        order: 1;
    }

    .SectionsListAll > .SectionsContainer:nth-child(odd) .SectionInfo {
        order: 1;
    }

    .SectionsListAll > .SectionsContainer:nth-child(even) .SectionImage {
        order: 2;
    }

    .SectionsListAll > .SectionsContainer:nth-child(odd) .SectionImage {
        order: 2;
    }
    .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent ul li {
        text-align: center;
    }

    .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent ul li.HasIcon {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding-left: 12px;
        gap: 10px;
    }

    .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent ul li.HasIcon .far, .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent ul li.HasIcon .fas, .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent ul li.HasIcon .fal, .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent ul li.HasIcon .fad, .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent ul li.HasIcon .fab, .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent ul li.HasIcon .fa {
        position: relative;
        left: 0;
    }

    .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent ul li br {
        display: none;
    }
    .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent ul.SmallList li {
        width: 100%;
    }
    .SectionsListAll .SectionsContainer:last-child {
        margin-bottom: -20px;
    }
    footer hr {
        margin-top: 5px;
    }
    .SectionGalleryContainer {
        height: 300px;
        width: 100%;
        margin-top: 0;
    }
    .Contacts .Map {
        padding: 0px 0 20px 0px;
    }
    section.ContactsForm {
        padding: 20px 0;
    }
    .Form.CustomForm .txtEmailField, .Form.CustomForm .smallField, .Form.CustomForm > div {
        width: 100%;
    }
    .fancybox-slide.fancybox-slide--iframe {
        padding: 0;
    }
}
/*SM*/
@media (min-width: 768px) and (max-width: 991px) {
    .HeaderLogo img {
        object-fit: contain;
    }
    
    .HeaderLogo {
        justify-content: flex-start;
        padding-left: 15px;
        width: auto;
    }

    header .BookNow {
        width: auto;
        margin: 0;
    }

    header .BookNow a {
        width: fit-content;
        padding: 14px 30px;
    }

    header {
        padding-left: 0;
        padding-right: 0;
    }
    .Booking .container, .Booking .container .col-lg-12 {padding: 0;}
    .Search .InputDate input, .Search .InputDate select {width: 100px;}
    .Search .Button a span {display: none;}
    .Search .InputDate {padding: 0 1.5%;}
    .BookingFeatures label {font-size: 13px;}
    .RoomsListAll .RoomsContainer {
        flex-direction: column;
    }

    .RoomsListAll .RoomsContainer .RoomInfo {
        width: 100%;
        order: 1 !important;
    }

    .RoomsListAll .RoomsContainer .RoomImage {
        width: 100%;
        order: 2 !important;
    }
    .SpecialOffer .itemImage {
        width: 50% !important;
    }

    .SpecialOffer .Description {
        width: 50%;
    }
    .Search .InputDate {
        padding: 15px;
    }
    .Search .InputDate {
        padding: 15px 10px;
    }

    .Search .Button a {
        padding: 18px 18px 18px;
    }
    main .HomeImages img {
        aspect-ratio: 4 / 3;
        object-fit: cover;
        object-position: center;
    }
    .OfferItem {
        width: calc(50% - 5px);
    }
    .Copyright, .Powered {
        text-align: center;
    }
    .RoomItemV2 .RoomImageContainer {
        min-height: unset;
        height: 300px;
        aspect-ratio: unset;
    }


    .SectionsListAll .SectionImage img {
        position: relative;
        width: 100%;
        height: 300px;
    }

    .SectionsListAll > .SectionsContainer .SectionInfo .SectionInfoContent {
        padding-left: 0;
        padding-right: 0;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .SectionsListAll > .SectionsContainer .SectionImage {
        padding: 40px 0;
    }

    .SectionsListAll > .SectionsContainer:nth-child(odd) .SectionInfo .SectionInfoContent:last-child, .SectionsListAll > .SectionsContainer .SectionInfo:last-child:first-child .SectionInfoContent,
    .SectionsListAll > .SectionsContainer:nth-child(even) .SectionInfo .SectionInfoContent {
        /*padding-bottom: 0;*/
    }

    .SectionsListAll > .SectionsContainer:nth-child(even) .SectionInfo {
        order: 1;
    }

    .SectionsListAll > .SectionsContainer:nth-child(odd) .SectionInfo {
        order: 1;
    }

    .SectionsListAll > .SectionsContainer:nth-child(even) .SectionImage {
        order: 2;
    }

    .SectionsListAll > .SectionsContainer:nth-child(odd) .SectionImage {
        order: 2;
    }
    .SectionGalleryContainer {
        height: 300px;
        width: 100%;
        margin-top: 0;
    }
    .Contacts .Map {
        padding: 0px 0 60px 0px;
    }
}
/*MD*/
@media (min-width: 992px) and (max-width: 1199px) {
    .Features ul li {
        width: 100%;
    }
    .HeaderLogo {
        justify-content: flex-start;
        padding-left: 15px;
        width: auto;
    }

    header .BookNow {
        width: auto;
        margin: 0;
    }

    header .BookNow a {
        width: fit-content;
        padding: 14px 30px;
    }
    .Search .InputDate {
        padding: 15px;
    }
    .OfferItem {
        width: calc(50% - 5px);
    }
}
/*LG*/
@media (min-width: 1200px) and (max-width: 1365px) {
    .Menu .CMSMenu ul li a {
        margin: 0 4px;
        font-size: 14px;
    }
    header .BookNow {
        width: 14%;
    }
    .Features {
        padding: 40px 20px;
    }

    .Features label {
        font-size: 16px;
    }
}
@media (min-width:1366px) and (max-width: 1919px) {
    .Menu .CMSMenu ul li a {
        margin: 0 5px;
        font-size: 14px;
    }
    header .BookNow {
        width: 12%;
    }
}

@media (max-width: 991px) {
    .BlogGrid {
        grid-template-columns: 1fr;
    }

    .BlogTopics ul {
        columns: 1;
    }
}

body.BlogPage .Banner,
body.BlogArticlePage .Banner {
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
}

body.BlogPage .BannerImage,
body.BlogArticlePage .BannerImage {
    height: 360px !important;
    min-height: 360px !important;
    width: 100% !important;
}

body.BlogPage main,
body.BlogArticlePage main {
    padding-top: 55px;
}

@media (max-width: 767px) {
    body.BlogPage .Banner,
    body.BlogArticlePage .Banner,
    body.BlogPage .BannerImage,
    body.BlogArticlePage .BannerImage {
        height: 260px !important;
        min-height: 260px !important;
        max-height: 260px !important;
    }

    body.BlogPage main,
    body.BlogArticlePage main {
        padding-top: 35px;
    }

    .BlogIntro {
        margin-bottom: 28px;
    }

    .BlogIntro p,
    .BlogArticle p,
    .BlogArticle li {
        font-size: 16px;
    }

    .BlogCard {
        padding: 22px 20px;
        width: 100%;
    }

    .BlogCard h2 {
        font-size: 20px;
    }
}

/* Homepage date picker: keep the calendar fully visible without internal scrollbars. */
#ui-datepicker-div.hgc-home-datepicker-floating {
    width: 304px !important;
    max-width: calc(100vw - 28px) !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    box-sizing: border-box !important;
}

#ui-datepicker-div.hgc-home-datepicker-floating table {
    width: 100% !important;
    table-layout: fixed !important;
}

#ui-datepicker-div.hgc-home-datepicker-floating th,
#ui-datepicker-div.hgc-home-datepicker-floating td {
    width: 14.285% !important;
    padding: 1px !important;
}

#ui-datepicker-div.hgc-home-datepicker-floating td span.ui-state-default,
#ui-datepicker-div.hgc-home-datepicker-floating td a.ui-state-default {
    min-height: 32px !important;
    padding: 4px 1px 2px !important;
    line-height: 1.05 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

#ui-datepicker-div.hgc-home-datepicker-floating td.hgc-datepicker-full-capacity span.ui-state-default:after,
#ui-datepicker-div.hgc-home-datepicker-floating td.hgc-datepicker-full-capacity a.ui-state-default:after {
    content: "No disp." !important;
    display: block !important;
    font-size: 7px !important;
    line-height: 1 !important;
    margin-top: 2px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

#ui-datepicker-div.hgc-home-datepicker-floating .hgc-datepicker-availability-detail {
    margin: 4px 4px 2px !important;
    padding: 5px 6px !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
}

@media (max-width: 767px), (max-aspect-ratio: 1/1) {
    #ui-datepicker-div.hgc-home-datepicker-floating {
        width: min(304px, calc(100vw - 20px)) !important;
    }

    #ui-datepicker-div.hgc-home-datepicker-floating td span.ui-state-default,
    #ui-datepicker-div.hgc-home-datepicker-floating td a.ui-state-default {
        min-height: 30px !important;
    }
}

:root {
    --ios-safe-top: env(safe-area-inset-top, 0px);
    --ios-safe-right: env(safe-area-inset-right, 0px);
    --ios-safe-bottom: env(safe-area-inset-bottom, 0px);
    --ios-safe-left: env(safe-area-inset-left, 0px);
    --ios-viewport-height: 100vh;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    min-height: 100vh;
    min-height: var(--ios-viewport-height);
}

.Banner,
.BannerImage,
.MobileMenu {
    height: var(--ios-viewport-height);
    min-height: var(--ios-viewport-height);
}

body.MenuMobile {
    overflow: hidden;
}

.MobileMenu {
    height: var(--ios-viewport-height);
    padding:
        max(0px, var(--ios-safe-top))
        max(0px, var(--ios-safe-right))
        max(0px, var(--ios-safe-bottom))
        max(0px, var(--ios-safe-left));
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

body.CMSEditMode .Booking {
    top: calc(var(--ios-viewport-height) - 97px);
}

@supports (-webkit-touch-callout: none) {
    html,
    body {
        min-height: -webkit-fill-available;
    }

    .Banner,
    .BannerImage,
    .MobileMenu {
        min-height: -webkit-fill-available;
    }
}

@media (pointer: coarse) {
    input[type='text'],
    input[type='email'],
    input[type='tel'],
    input[type='number'],
    input[type='search'],
    select,
    textarea {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .Booking {
        padding-left: max(0px, var(--ios-safe-left));
        padding-right: max(0px, var(--ios-safe-right));
    }

    .Search {
        padding-bottom: max(0px, var(--ios-safe-bottom));
    }

    .Search .InputDate input,
    .Search .InputDate select,
    .Search .InputDatePromocode input {
        font-size: 16px;
    }

    .Search .Button a {
        min-height: 56px;
    }

    footer {
        padding-bottom: calc(165px + max(0px, var(--ios-safe-bottom)));
    }

    .whatsapp-float {
        bottom: calc(100px + max(0px, var(--ios-safe-bottom)));
        right: calc(15px + max(0px, var(--ios-safe-right)));
    }

    .Banner .bx-wrapper .bx-pager {
        bottom: calc(120px + max(0px, var(--ios-safe-bottom)));
    }
}

@media (max-width: 768px) {
    .whatsapp-float {
        bottom: calc(20px + max(0px, var(--ios-safe-bottom)));
        right: calc(20px + max(0px, var(--ios-safe-right)));
    }
}

@media (max-width: 480px) {
    .whatsapp-float {
        bottom: calc(15px + max(0px, var(--ios-safe-bottom)));
        right: calc(15px + max(0px, var(--ios-safe-right)));
    }
}

@media (max-width: 991px) {
    .special-offers-section {
        padding-left: 24px;
        padding-right: 24px;
    }

    .special-offers-section .specialoffers_carousel {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .special-offers-section .SpecialOffer {
        grid-template-columns: minmax(220px, 44%) minmax(0, 56%);
        min-height: 320px;
    }

    .special-offers-section .SpecialOffer .Description {
        padding: 34px 28px;
    }

    .special-offers-section .SpecialOffer .itemImage {
        min-height: 320px;
    }
}

@media (max-width: 767px) {
    .special-offers-section {
        padding-left: 18px;
        padding-right: 18px;
    }

    .special-offers-section .specialoffers_carousel {
        margin-top: 36px !important;
    }

    .special-offers-section .SpecialOffer {
        display: grid;
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .special-offers-section .SpecialOffer .itemImage {
        width: 100% !important;
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 11;
        order: 0;
    }

    .special-offers-section .SpecialOffer .Description {
        width: 100% !important;
        order: 1;
        padding: 26px 22px 28px;
        gap: 12px;
    }

    .special-offers-section .SpecialOffer .Description h3 {
        font-size: 22px;
    }

    .special-offers-section .SpecialOffer .Description .PromotionDetail {
        min-height: 0;
    }

    .special-offers-section .SpecialOffer .Description .SearchButton {
        min-width: 150px;
        max-width: 100%;
        padding-left: 24px;
        padding-right: 24px;
        font-size: 17px;
    }
}

@media (max-width: 420px) {
    .special-offers-section .SpecialOffer .Description {
        padding-left: 18px;
        padding-right: 18px;
    }

    .special-offers-section .SpecialOffer .Description h3 {
        font-size: 20px;
    }

    .special-offers-section .SpecialOffer .Description .Since {
        font-size: 20px;
    }

    .special-offers-section .SpecialOffer .Description .SearchButton {
        width: 100%;
    }
}

@media (min-width: 1200px) {
    header nav {
        align-items: center;
        gap: 12px;
        width: 100%;
    }

    header .HeaderLogo {
        flex: 0 0 clamp(190px, 17vw, 225px);
        width: auto;
        justify-content: flex-start;
        padding-left: 15px;
    }

    header .HeaderLogo img {
        width: clamp(168px, 14.5vw, 200px);
    }

    header .Menu {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }

    header .Menu .CMSMenu {
        width: 100%;
    }

    header .Menu ul {
        justify-content: flex-start;
        gap: 0 12px;
        flex-wrap: nowrap;
    }

    header .Menu ul li {
        flex: 0 0 auto;
    }

    header .Menu ul li a {
        display: inline-block;
        margin: 0;
        white-space: nowrap;
    }

    header .Languages {
        flex: 0 0 auto;
        width: auto;
        min-width: 58px;
        justify-content: center;
        padding-left: 4px;
        padding-right: 4px;
    }

    header .LanguagesMenu {
        width: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
    }

    header .LanguagesMenu > span,
    header .LanguagesMenu span span,
    header .LanguagesMenu span a {
        width: auto;
        height: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    header .BookNow {
        flex: 0 0 auto;
        width: auto !important;
        margin: 0 30px 0 0;
    }

    header .BookNow a {
        min-width: 166px;
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (min-width: 1200px) and (max-width: 1365px) {
    header nav {
        gap: 10px;
    }

    header .Menu ul {
        gap: 0 10px;
    }

    header .Menu .CMSMenu ul li a {
        font-size: 13px;
    }

    header .BookNow {
        margin-right: 28px;
    }

    header .BookNow a {
        min-width: 164px;
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* WhatsApp actions in homepage/footer and contact pages */
.hgc-footer-wa-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px 0 10px;
}
.hgc-footer-wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 12px 7px 9px;
    border-radius: 999px;
    background: #25D366;
    color: #FFFFFF !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(37, 211, 102, .22);
    transition: background 120ms ease, transform 120ms ease, box-shadow 120ms ease;
}
.hgc-footer-wa-btn:hover,
.hgc-footer-wa-btn:focus {
    background: #1DA851;
    color: #FFFFFF !important;
    text-decoration: none !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(29, 168, 81, .28);
}
.hgc-footer-wa-mark,
.hgc-contact-wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #25D366;
    color: #FFFFFF !important;
    text-decoration: none !important;
    flex: 0 0 22px;
}
.hgc-contact-wa {
    width: auto;
    min-width: 0;
    height: 34px;
    margin: 8px 0 4px;
    padding: 0 12px 0 9px;
    vertical-align: middle;
    border-radius: 999px;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    transition: background 120ms ease, transform 120ms ease;
}
.hgc-contact-wa:hover,
.hgc-contact-wa:focus {
    background: #1DA851;
    color: #FFFFFF !important;
    text-decoration: none !important;
    transform: scale(1.08);
}
.hgc-contact-wa > span {
    color: #FFFFFF;
}
.hgc-footer-wa-mark::before,
.hgc-contact-wa::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE3LjQ3MiAxNC4zODJjLS4yOTctLjE0OS0xLjc1OC0uODY3LTIuMDMtLjk2Ny0uMjczLS4wOTktLjQ3MS0uMTQ4LS42Ny4xNS0uMTk3LjI5Ny0uNzY3Ljk2Ni0uOTQgMS4xNjQtLjE3My4xOTktLjM0Ny4yMjMtLjY0NC4wNzUtLjI5Ny0uMTUtMS4yNTUtLjQ2My0yLjM5LTEuNDc1LS44ODMtLjc4OC0xLjQ4LTEuNzYxLTEuNjUzLTIuMDU5LS4xNzMtLjI5Ny0uMDE4LS40NTguMTMtLjYwNi4xMzQtLjEzMy4yOTgtLjM0Ny40NDYtLjUyLjE0OS0uMTc0LjE5OC0uMjk4LjI5OC0uNDk3LjA5OS0uMTk4LjA1LS4zNzEtLjAyNS0uNTItLjA3NS0uMTQ5LS42NjktMS42MTItLjkxNi0yLjIwNy0uMjQyLS41NzktLjQ4Ny0uNS0uNjY5LS41MS0uMTczLS4wMDgtLjM3MS0uMDEtLjU3LS4wMS0uMTk4IDAtLjUyLjA3NC0uNzkyLjM3Mi0uMjcyLjI5Ny0xLjA0IDEuMDE2LTEuMDQgMi40NzkgMCAxLjQ2MiAxLjA2NSAyLjg3NSAxLjIxMyAzLjA3NC4xNDkuMTk4IDIuMDk2IDMuMiA1LjA3NyA0LjQ4Ny43MDkuMzA2IDEuMjYyLjQ4OSAxLjY5NC42MjUuNzEyLjIyNyAxLjM2LjE5NSAxLjg3MS4xMTguNTcxLS4wODUgMS43NTgtLjcxOSAyLjAwNi0xLjQxMy4yNDgtLjY5NC4yNDgtMS4yODkuMTczLTEuNDEzLS4wNzQtLjEyNC0uMjcyLS4xOTgtLjU3LS4zNDd6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEyIDBDNS4zNzMgMCAwIDUuMzczIDAgMTJjMCAyLjYyNS44NDYgNS4wNTkgMi4yODQgNy4wMzRMLjc4OSAyMy40OTJhLjUuNSAwIDAgMCAuNjEzLjYxM2w0LjQ1OC0xLjQ5NUExMS45NTIgMTEuOTUyIDAgMCAwIDEyIDI0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJTMTguNjI3IDAgMTIgMHptMCAyMmMtMi4zNyAwLTQuNTY3LS44Mi02LjMtMi4xOWwtLjQ0LS4zNy0zLjI0IDEuMDg2IDEuMDg2LTMuMjQtLjM3LS40NEE5Ljk1NSA5Ljk1NSAwIDAgMSAyIDEyQzIgNi40ODYgNi40ODYgMiAxMiAyczEwIDQuNDg2IDEwIDEwLTQuNDg2IDEwLTEwIDEweiIvPjwvc3ZnPg==") center / contain no-repeat;
}
.hgc-contact-wa .fa-whatsapp,
.hgc-contact-wa .fa,
.hgc-contact-wa .fab {
    display: none;
}
.Contacts a.hgc-contact-wa {
    display: inline-flex !important;
    position: static !important;
    width: auto !important;
    height: 34px !important;
    min-width: 0 !important;
    margin: 8px 0 4px !important;
    padding: 0 12px 0 9px !important;
    border-radius: 999px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: #25D366 !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}
.Contacts a.hgc-contact-wa:hover,
.Contacts a.hgc-contact-wa:focus {
    background: #1DA851 !important;
    color: #FFFFFF !important;
}
.Contacts a.hgc-contact-wa > span {
    display: inline !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    color: #FFFFFF !important;
    font-size: inherit !important;
    line-height: inherit !important;
}
/* Final blog overrides: keep inherited CMS heading rules from forcing overflow. */
body.BlogPage .BlogGrid {
    width: 100% !important;
    max-width: 100% !important;
}

body.BlogPage .BlogIntro,
body.BlogPage .BlogIntro p {
    max-width: min(880px, calc(100vw - 30px)) !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
}

body.BlogPage .BlogCard,
body.BlogArticlePage .BlogCard {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.BlogPage .BlogCard h2,
body.BlogPage .BlogCard h2 a,
body.BlogArticlePage .BlogArticle h1,
body.BlogArticlePage .BlogArticle h2 {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    letter-spacing: 0 !important;
}

@media (max-width: 767px) {
    body.BlogPage .BlogCard h2 {
        font-size: 19px !important;
        line-height: 1.32 !important;
    }

    body.BlogPage .BlogIntro,
    body.BlogPage .BlogIntro p {
        max-width: 280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.BlogArticlePage .BlogArticle {
        width: min(300px, calc(100vw - 36px)) !important;
        max-width: min(300px, calc(100vw - 36px)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    body.BlogArticlePage .BlogArticle p,
    body.BlogArticlePage .BlogArticle li,
    body.BlogArticlePage .BlogArticle h1,
    body.BlogArticlePage .BlogArticle h2 {
        max-width: 100% !important;
        overflow-wrap: break-word !important;
    }

    body.BlogArticlePage .BlogArticle h1 {
        font-size: 27px !important;
        line-height: 1.25 !important;
    }
}
