body {
    color: #777;
    font-size: 15px;
    font-family: 'Sarabun', sans-serif;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--web-secondary, #1a171b);
}

a {
    color: var(--web-primary, #2d5a4c);
}

a:hover {
    text-decoration: none;
}

.section {
    padding: 5rem 0;
}


.rounded {
    border-radius: 0.375rem!important;
}

/* Height ---------- */

.h-50 {
    height: 50% !important;
}


/* Background color ---------- */
.bg-primary {
    background-color: var(--web-primary, #2d5a4c) !important;
} 

.bg-gray {
    background: #ececec;
}

.bg-transparent {
    background-color: transparent !important;
}

/* Default dark band (overridden by .site-section-* with section variables) */
.bg-dark {
    background-color: #1a171b !important;
}

/* Text fonts ---------- */

.text-playfair-display {
    font-family: 'Lato', 'Poppins', sans-serif;
}


/* Text color ---------- */

.text-primary {
    color: var(--web-primary, #2d5a4c) !important;
}

.text-danger {
    color: #F56961 !important;
}

.text-white-50 {
    color: rgba(255, 255, 255, 0.5) !important;
}

.text-dark {
    color: var(--web-secondary, #1a171b) !important;
}

.text-muted {
    color: #a7a7a7 !important;
}

.stroke-text {
    -webkit-text-stroke: 1px #fff;
    background-color: rgba(255, 255, 255, 0);
    color: rgba(255, 255, 255, 0);
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}


/* Box shadow ---------- */

.box-shadow {
    -webkit-box-shadow: 0 0 3px rgba(52, 58, 64, 0.15) !important;
    box-shadow: 0 0 3px rgba(52, 58, 64, 0.15) !important;
}

.shadow-xs {
    -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, .08);
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, .08);
}


/* Card ---------- */

.card {
    border: 1px solid #ececec;
}

.card-footer {
    border-top: 1px solid #ececec;
}


/* Breadcrumb ---------- */

.breadcrumb {
    background-color: transparent;
}

.breadcrumb-item {
    height: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: 600;
}

.breadcrumb-item + .breadcrumb-item {
    padding-left: 0.25rem;
}

.breadcrumb-item+.breadcrumb-item::before {
    content: '';
    background-image: url(../img/arrow.svg);
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    margin-right: 0.25rem;
    -webkit-transform: rotateZ(180deg);
    -ms-transform: rotate(180deg);
    transform: rotateZ(180deg);
    opacity: .2;
}


/* Alert ---------- */

.alert-primary {
    color: #fff;
    background-color: #335eea;
    border-color: #335eea;
}

.alert-success {
    color: #fff;
    border-color: #42ba96;
    background-color: #42ba96;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.10), 0 0 2px rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.10), 0 0 2px rgba(0, 0, 0, 0.05);
}

alert-warning {
    color: #2b354f;
    background-color: #fad776;
    border-color: #fad776;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.10), 0 0 2px rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.10), 0 0 2px rgba(0, 0, 0, 0.05);
}

.alert-info {
    color: #fff;
    background-color: #7c69ef;
    border-color: #7c69ef;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.10), 0 0 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.10), 0 0 2px
}

.alert-danger {
    color: #fff;
    background-color: #df4759;
    border-color: #df4759;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.10), 0 0 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.10), 0 0 2px
}


/* Top, Bottom Left, Right ---------- */

.top-0 {
    top: 0
}

.bottom-0 {
    bottom: 0
}

.left-0 {
    left: 0
}

.right-0 {
    right: 0
}


/* Font wright -------- */

.font-weight-200 {
    font-weight: 200 !important;
}

.font-weight-500 {
    font-weight: 500 !important;
}

.font-weight-600 {
    font-weight: 600 !important;
}


/* Button ------------*/

.btn {
    font-size: 14px;
    font-weight: 500;
    padding: .6rem 1.2rem;
    -webkit-transition: background 0.4s;
    -o-transition: background 0.4s;
    transition: background 0.4s;
}

.btn-primary {
    background-color: var(--web-primary, #2d5a4c);
    border-color: var(--web-primary, #2d5a4c);
}

.btn-gray {
    color: #333;
    background: #f1f1f1;
    border-bottom-color: #dce0e0;
}

.btn-white {
    background-color: #fff;
    border-color: #fff;
}

.btn-outline-white {
    color: #fff;
    background-color: transparent;
    border-color: #fff;
}


/* List style ----------- */

.list-style-2,
.list-style-3 {
    list-style: none;
    margin: 0;
    padding: 0;
}

.list-style-2 li,
.list-style-3 li {
    position: relative;
    padding-left: 20px;
}

.list-style-2 li:before {
    content: "";
    width: 10px;
    height: 1px;
    background-color: #F56961;
    position: absolute;
    top: 11px;
    left: 0;
}

.list-style-3 li:before {
    content: "\f00c";
    position: absolute;
    top: 4px;
    left: 0;
    font-family: Font Awesome\ 5 Free;
    font-weight: 900;
    font-size: 12px;
}


/*Tooltip ----------- */

.tooltip {
    font-size: 14px;
    font-weight: 600;
    font-family: 'Sarabun', sans-serif;
}

.tooltip-inner {
    padding: 0 0.5rem 0.20rem;
    background-color: var(--web-secondary, #1a171b);
    border-radius: 0.20rem;
}


/*Popover ----------- */

.popover {
    max-width: 300px;
    border: 1px solid #ececec;
    -webkit-box-shadow: 0 0 6px 1px #eee;
    box-shadow: 0 0 6px 1px #eee;
}

.popover-body {
    color: #777;
    padding: 20px;
    font-family: 'Sarabun', sans-serif;
}

.bs-popover-auto[x-placement^="top"] > .arrow::before,
.bs-popover-top > .arrow::before {
    border-top-color: rgba(137, 137, 137, 0.25);
}

.bs-popover-auto[x-placement^="bottom"] > .arrow::before,
.bs-popover-bottom > .arrow::before {
    border-bottom-color: rgba(137, 137, 137, 0.25);
}


/* Border ------------------ */

.border {
    border: 1px solid #e9ecef !important;
}

.border-top {
    border-top: 1px solid #e9ecef !important;
}

.border-right {
    border-right: 1px solid #e9ecef !important;
}

.border-bottom {
    border-bottom: 1px solid #e9ecef !important;
}

.border-left {
    border-left: 1px solid #e9ecef !important;
}

.border-500 {
    border: 1px solid #ececec !important;
}

.border-top-500 {
    border-top: 1px solid #ececec !important;
}

.border-right-500 {
    border-right: 1px solid #ececec !important;
}

.border-bottom-500 {
    border-bottom: 1px solid #ececec !important;
}

.border-left-500 {
    border-left: 1px solid #ececec !important;
}

.border-top-muted {
    border-top: 1px solid rgba(231, 234, 243, 0.14) !important;
}


/* Font size ------------------ */

.fs-10 {
    font-size: 10px !important;
}

.fs-11 {
    font-size: 11px !important;
}

.fs-12 {
    font-size: 12px !important;
}

.fs-13 {
    font-size: 13px !important;
}

.fs-14 {
    font-size: 14px !important;
}

.fs-15 {
    font-size: 15px !important;
}

.fs-16 {
    font-size: 16px !important;
}

.fs-17 {
    font-size: 17px !important;
}

.fs-18 {
    font-size: 18px !important;
}

.fs-19 {
    font-size: 19px !important;
}

.fs-20 {
    font-size: 20px !important;
}

.fs-21 {
    font-size: 21px !important;
}

.fs-22 {
    font-size: 22px !important;
}

.fs-23 {
    font-size: 23px !important;
}

.fs-24 {
    font-size: 24px !important;
}

.fs-25 {
    font-size: 25px !important;
}

.fs-26 {
    font-size: 26px !important;
}

.fs-27 {
    font-size: 27px !important;
}

.fs-28 {
    font-size: 28px !important;
}

.fs-29 {
    font-size: 29px !important;
}

.fs-30 {
    font-size: 30px !important;
}

.fs-31 {
    font-size: 31px !important;
}

.fs-32 {
    font-size: 32px !important;
}


/*Form control ------*/

.form-control,
.custom-select {
    border-radius: 0;
    min-height: 46px;
}

.form-control:focus {
    border-color: var(--web-primary, #2d5a4c);
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* Back to top ------*/

#toTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    cursor: pointer;
    display: none;
}

.btn-top {
    height: 40px;
    width: 40px;
    border-radius: 6px;
    text-align: center;
    line-height: 36px;
    color: #fff;
    background-color: var(--web-primary, #2d5a4c);
}


/*Custom title ------*/

.custom-title {
    padding-left: 50px;
}

.custom-title::before {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -1px;
    height: 2px;
    width: 30px;
    content: '';
    background: var(--web-primary, #2d5a4c);
}


/*Navbar------------*/

.navbar {
    z-index: 2;
    padding: 0 1rem;
    background-color: var(--web-header-bg, #fff);
    -webkit-box-shadow: 0 0 3px rgba(52, 58, 64, 0.15);
    box-shadow: 0 0 3px rgba(52, 58, 64, 0.15);
    align-items: flex-start !important;
}

.header-sticky.sticky {
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
    -webkit-animation: 300ms ease-in-out 0s normal none 1 running fadeInDown;
    animation: 300ms ease-in-out 0s normal none 1 running fadeInDown;
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    background-color: rgba(255,255,255,.7);
}

.navbar-light .navbar-nav .nav-link {
    color: #000;
    font-weight: 700;
}
.search-icon .nav-link.dropdown-toggle::after {
    display: none;
}

.dropdown-menu.search-dropdown {
    padding: 15px;
    min-width: 14rem;
}



/*Dropdown*/

.dropdown-menu {
    border: 0;
    border-radius: 0;
    -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, .08);
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, .08);
}

.dropdown-menu::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 100%;
    left: 15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px;
    border-color: transparent transparent #fff;
    top: auto;
}

.dropdown-menu.dropdown-menu-right::before {
    left: auto;
    right: 15px;
}

.dropdown-item {
    font-size: 14px;
    font-weight: 500;
}

.dropdown-item:focus,
.dropdown-item:hover {
    color: var(--web-primary, #2d5a4c);
    background-color: transparent;
}


/*navbar toggle*/

.navbar-toggler {
    padding: 0;
    border: 0;
    border-radius: 0;
}

.navbar-toggler-icon {
    width: 1.3em;
    height: 1.3em;
    background-image: url("../img/toggler.svg") !important;
}
@media(max-width: 575px){
    .destinations-carousel.owl-theme .owl-nav [class*="owl-"]{
        left: 0 !important;
    }
    .destinations-carousel.owl-theme .owl-nav .owl-next {
        right: 0 !important;
    }
}
@media(max-width: 991px) {
    .login .nav-link,
    .search-icon .nav-link,
    .nav-btn .nav-link {
        font-size: 18px;
        margin-right: 12px;
        color: var(--web-secondary, #1a171b);
        padding: 1.2rem 0;
        line-height: 1;
    }
}

@media(min-width: 992px) {
    .navbar {
        padding: 0;
    }
    .navbar-light .navbar-nav .nav-link {
        padding: 2.1rem 1rem;
        font-size: 15px;
    }
    .login .nav-link {
        padding: 2.181rem 2rem;
        border-left: 1px solid #ddd;
        text-transform: uppercase;
        font-size: 13px;
        color: #000;
        font-weight: 500;
    }
    .search-icon .nav-link {
        color: #fff;
        font-size: 18px;
        padding: 1.98rem 1rem;
        background-color: #d01919;
        border-left: 1px solid #ddd;
    }
    .nav-btn .nav-link {
        color: #fff;
        background-color: var(--web-primary, #2d5a4c);
        position: relative;
        font-weight: 500;
        padding: 2.134rem 2rem;
    }
    /*dropdown*/
    .dropdown-menu {
        padding: 30px;
        margin-top: 10px;
    }
    .dropdown-item {
        padding: .25rem 0;
    }
    .dropdown-menu.search-dropdown {
        min-width: 15rem;
    }
    /*navbar brand*/
    .navbar-brand {
        margin-left: 1rem;
    }
}

/* Public site header brand: vertical centering (logo frame is .hms-logo-square in hms-logo-square.css) */
.navbar.site-section-header {
    align-items: center !important;
}
.navbar.site-section-header .navbar-brand {
    display: inline-flex !important;
    align-items: center;
    flex-shrink: 0;
    line-height: 0;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

@media(min-width: 992px) and (max-width: 1199px) {
    .navbar-light .navbar-nav .nav-link {
        padding: 1.5rem .7rem;
        font-size: 13px;
    }
    .login .nav-link {
        padding: 1.5rem 1rem;
    }
    .search-icon .nav-link {
        padding: 1.29rem 1rem;
    }
    .nav-btn .nav-link {
        padding: 1.46rem 1rem;
    }
    .dropdown-item {
        padding: .25rem 0;
        font-size: 13px;
    }
}


/* Change this breakpoint if you change the breakpoint of the navbar */

@media (min-width: 992px) {
    .animate {
        animation-duration: 0.3s;
        -webkit-animation-duration: 0.3s;
        animation-fill-mode: both;
        -webkit-animation-fill-mode: both;
    }
}

@keyframes slideIn {
    0% {
        -webkit-transform: translateY(1rem);
        transform: translateY(1rem);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0rem);
        transform: translateY(0rem);
        opacity: 1;
    }
    0% {
        -webkit-transform: translateY(1rem);
        transform: translateY(1rem);
        opacity: 0;
    }
}

@-webkit-keyframes slideIn {
    0% {
        -webkit-transform: transform;
        -webkit-opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
        -webkit-opacity: 1;
    }
    0% {
        -webkit-transform: translateY(1rem);
        -webkit-opacity: 0;
    }
}

.slideIn {
    -webkit-animation-name: slideIn;
    animation-name: slideIn;
}


/* Other styles for the page not related to the animated dropdown */

.carousel-item {
    height: 560px;
    min-height: 350px;
    background: no-repeat center center scroll;
    background-size: cover;
}

.carousel-item::before {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    background: rgba(0, 0, 0, 0.3);
}

/* Slider ------*/

.header-slider {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

.slider_preloader {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    min-height: 100%;
    background: rgb(255, 255, 255);
}

.slider_preloader_status {
    width: 200px;
    height: 200px;
    position: absolute;
    left: 50%;
    top: 50%;
    background-image: url(../img/status.gif);
    background-repeat: no-repeat;
    background-position: center;
    margin: -100px 0 0 -100px;
}

.animation-slide {
    height: 100%;
}

.animation-slide .item,
.header-slider-preloader {
    height: 780px;
}

.animation-slide .item {
    position: relative;
    z-index: 1;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.animation-slide .item::after {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
    background-color: rgba(0, 0, 0, .2);
}

.animation-slide.owl-theme .owl-nav,
.destinations-carousel.owl-theme .owl-nav,
.blog-carousel.owl-theme .owl-nav {
    margin: 0;
}

.animation-slide.owl-theme .owl-nav [class*="owl-"],
.blog-carousel.owl-theme .owl-nav [class*="owl-"] {
    color: var(--web-secondary, #1a171b);
    padding: 4px 7px;
    display: inline-block;
    cursor: pointer;
    position: absolute;
    top: 50%;
    left: 0;
    opacity: 0;
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    font-size: 30px;
    height: 70px;
    width: 70px;
    border-radius: 0;
    line-height: 70px;
    margin: 0;
    background-color: #fff;
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: linear;
}
.destinations-carousel.owl-theme .owl-nav [class*="owl-"]{
    color: #fff;
    padding: 4px 7px;
    display: inline-block;
    cursor: pointer;
    position: absolute;
    top: 50%;
    left: -24px;
    opacity: 0;
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    font-size: 14px;
    height: 60px;
    width: 60px;
    border-radius: 100%;
    margin: 0;
    background-color: #f8f9fa;
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: linear;
    border: 10px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--web-primary, #2d5a4c);
}

.destinations-carousel.owl-theme .owl-nav [class*="owl-"] {
    opacity: 1;
}

.slider-one .animation-slide.owl-theme .owl-nav .owl-next:hover {
    -webkit-box-shadow: -100px 0 0 var(--web-primary, #2d5a4c) inset;
    box-shadow: -100px 0 0 var(--web-primary, #2d5a4c) inset;
}

.slider-one .animation-slide.owl-theme .owl-nav .owl-prev:hover {
    -webkit-box-shadow: 100px 0 0 var(--web-primary, #2d5a4c) inset;
    box-shadow: 100px 0 0 var(--web-primary, #2d5a4c) inset;
}

.slider-two .animation-slide.owl-theme .owl-nav .owl-next:hover {
    -webkit-box-shadow: -100px 0 0 var(--web-primary, #2d5a4c) inset;
    box-shadow: -100px 0 0 var(--web-primary, #2d5a4c) inset;
}

.slider-two .animation-slide.owl-theme .owl-nav .owl-prev:hover {
    -webkit-box-shadow: 100px 0 0 var(--web-primary, #2d5a4c) inset;
    box-shadow: 100px 0 0 var(--web-primary, #2d5a4c) inset;
}

.animation-slide.owl-theme .owl-nav .owl-next,
.blog-carousel.owl-theme .owl-nav .owl-next {
    left: auto;
    right: 0;
}
.destinations-carousel.owl-theme .owl-nav .owl-next{
    left: auto !important;
    right: -24px;
}
.hero-header:hover .animation-slide .owl-nav .owl-prev {
    left: 20px;
    opacity: 1;
}

.hero-header:hover .animation-slide .owl-nav .owl-next {
    right: 20px;
    opacity: 1;
}

.blog-carousel:hover .owl-nav .owl-prev,
.blog-carousel:hover .owl-nav .owl-next {
    opacity: 1;
}

@media only screen and (max-width: 1200px) {
    .slide-tablecell .slide-text h2 {
        font-size: 50px;
        line-height: 60px;
    }
}

@media only screen and (max-width: 991px) {
    .slide-text {
        text-align: center;
    }
}

@media only screen and (max-width: 991px) {
    .slide-tablecell .slide-text h2 {
        font-size: 40px;
        line-height: 50px;
    }
    .slide-tablecell .slide-text h2 br,
    .slide-tablecell .slide-text p br {
        display: none;
    }
}

@media only screen and (max-width: 767px) {
    .slide-tablecell .slide-text h2 {
        font-size: 36px;
        line-height: 38px;
    }
    .slide-tablecell .slide-text p {
        display: -webkit-box;
        height: 134px;
        margin: 0 auto;
        -webkit-line-clamp: 5;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        -o-text-overflow: ellipsis;
        -ms-text-overflow: ellipsis;
    }
    .slide-tablecell .slide-text >:nth-child(3) {
        margin-top: 30px;
    }
    .animation-slide.owl-theme .owl-nav [class*="owl-"] {
        font-size: 21px;
        height: 50px;
        width: 50px;
        line-height: 46px;
    }
}

/*Header --------------------*/

.hero-header {
    margin: 0;
    width: 100%;
    position: relative;
}

.hero-header .hero-header_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    position: relative;
    z-index: 1;
}

.header-subtitle {
    text-transform: uppercase;
    padding-left: 50px;
    position: relative;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #fff;
}

.header-subtitle::before {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -1px;
    height: 2px;
    width: 30px;
    content: '';
    background: #fff;
}

.hero-header .hero-header_wrap .header-text .header-title {
    color: #fff;
    font-size: 50px;
    margin-bottom: 2rem;
    font-weight: 700;
    font-family: 'Playfair Display', serif;
}

.hero-header .hero-header_wrap .header-text .header-des {
    padding: 0;
    color: #fff;
    font-weight: 400;
    font-size: 16px;
    margin-top: 20px;
    text-shadow: 4px 4px 12px rgba(0, 0, 0, 0.3);
}

@media(min-width: 576px) {
    .hero-header .hero-header_wrap .header-text .header-title {
        font-size: 32px;
    }
    .hero-header .hero-header_wrap .header-text .header-des {
        font-size: 20px;
    }
}

@media(min-width: 768px) {
    .hero-header .hero-header_wrap .header-text .header-title {
        font-size: 40px;
    }
    .hero-header .hero-header_wrap .header-text .header-des {
        font-size: 21px;
        margin: 5px 0 20px 0;
    }
}

@media(min-width: 992px) {
    .hero-header {
        height: 780px;
    }
    .hero-header .hero-header_wrap .header-text .header-title {
        font-size: 100px;
        line-height: 1;
    }
    .header-subtitle {
        padding-left: 100px;
    }
    .header-subtitle::before {
        width: 75px;
    }
}

.offer {
    background-color: rgba(0, 0, 0, 0.4);
    padding: 50px;
    height: 780px;
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
}

.offer h2 {
    font-size: 52px;
    line-height: 52px;
    font-family: 'Caveat', cursive;
}

.ribbon {
    width: 50px;
    height: 80px;
    background: #F56961;
    right: 20px;
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    top: -350px;
    -webkit-animation: drop forwards 0.8s 1s cubic-bezier(0.165, 0.84, 0.44, 1);
    animation: drop forwards 0.8s 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@-webkit-keyframes drop {
    0% {
        top: -350px;
    }
    100% {
        top: 0;
    }
}

@keyframes drop {
    0% {
        top: -350px;
    }
    100% {
        top: 0;
    }
}

.ribbon:before {
    content: "";
    position: absolute;
    bottom: -25px;
    left: 0;
    width: 0;
    height: 0;
    border-top: 25px solid #F56961;
    border-right: 25px solid transparent;
    z-index: 997;
}

.ribbon:after {
    content: "";
    position: absolute;
    bottom: -25px;
    right: 0;
    width: 0;
    height: 0;
    border-top: 25px solid #F56961;
    border-left: 25px solid transparent;
    z-index: 998;
}

.ribbon span {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.offer-carousel.owl-theme .owl-nav.disabled + .owl-dots {
    margin-top: 0;
    position: absolute;
    top: 20px;
    left: 20px;
}

.offer-carousel.owl-theme .owl-dots .owl-dot span {
    margin: 2px;
    background: transparent;
    border: 2px solid #FFF;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    height: 13px;
    width: 13px;
}

@media(min-width: 768px) and (max-width: 1199px) {
    .offer {
        padding: 20px;
    }
    .offer h2 {
        font-size: 24px;
    }
    .offer h3 {
        font-size: 18px;
    }
}



/*Slideer ----------------------------*/


.shape {
    position: absolute;
    pointer-events: none;
    right: 0;
    bottom: -1px;
    left: 0;
    z-index: 1;
}
.shape > svg {
    -webkit-transform: scale(2);
    transform: scale(2);
    width: 100%;
    height: auto;
    -webkit-transform-origin: top center;
    transform-origin: top center;
}





/*Search form*/

.search-area {
    position: relative;
    z-index: 1;
    margin: 3rem 0;
    border-radius: 6px;
    overflow: hidden;
}

.search-form-content .form-group {
    margin: 0;
}

.search-form-content .search-option {
    background-color: #fff;
}

.search-form-content .search-option label {
    color: #212529;
    font-weight: 700;
    margin: 0;
    text-align: center;
    display: block;
    position: absolute;
    pointer-events: none;
    top: 18px;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    width: 100%;
    z-index: 1;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.5px;
}

.search-title {
    color: #212529;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.search-form-content .form-control {
    color: var(--web-secondary, #1a171b);
}

.search-form-content .form-control:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.search-form-content .btn {
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    border: 0;
    padding: 0 25px;
    width: 100%;
    border-radius: 0;
    height: 110px;
    background-color: var(--web-primary, #2d5a4c);
    position: relative
}

.search-form-content .btn.focus,
.search-form-content .btn:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.search-form-content .btn span {
    display: block;
    font-size: 12px;
    color: #debfbf;
}

@media(max-width: 991px) {
    .search-area {
        padding: 30px;
        -webkit-box-shadow: 0 0 3px rgba(52, 58, 64, 0.15) !important;
        box-shadow: 0 0 3px rgba(52, 58, 64, 0.15) !important;
        background: #fff;
    }
    .search-form-content .search-option {
        height: 82px;
        border-bottom: 1px solid #dee2e6;
    }
}

@media(min-width: 992px) {
    .search-area {
        margin: -55px 0;
        -webkit-box-shadow: 0 0 3px rgba(52, 58, 64, 0.15) !important;
        box-shadow: 0 0 3px rgba(52, 58, 64, 0.15) !important;
    }
    .search-form-content .search-option {
        border-right: 1px solid rgba(128, 128, 128, 0.2);
    }
    .search-form-content .search-option label {
        top: 30px;
    }
    .search-form-content .btn::before {
        content: "";
        display: block;
        position: absolute;
        z-index: 2;
        width: 24px;
        top: 0;
        bottom: 0;
        width: 9px;
        right: 100%;
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        background-image: url(../img/small-vertical.svg);
    }
}


/* Datepicker ---------- */

.daterangepicker {
    border: 0;
    border-radius: 0;
    font-family: 'Roboto', sans-serif;
    -webkit-animation: fpFadeInDown 300ms cubic-bezier(.23, 1, .32, 1);
    animation: fpFadeInDown 300ms cubic-bezier(.23, 1, .32, 1);
    -webkit-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    margin-top: 10px;
}

@-webkit-keyframes fpFadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fpFadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.daterangepicker .calendar-table th,
.daterangepicker .calendar-table td {
    text-transform: uppercase;
    font-size: 14px;
}

.daterangepicker .calendar-table th {
    font-weight: 600;
    color: var(--web-secondary, #1a171b);
}

.daterangepicker .calendar-table td {
    font-size: 16px;
    font-family: 'Playfair Display', serif;
}

.daterangepicker th.month {
    font-weight: 500;
}

@media(min-width: 576px) {
    .daterangepicker {
        padding: 30px;
    }
    .daterangepicker::before {
        content: "";
        display: block;
        position: absolute;
        bottom: 100%;
        left: 50%;
        margin-left: -10px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 10px 10px;
        border-color: transparent transparent #fff;
        top: auto;
    }
    .daterangepicker .drp-calendar.left {
        padding: 0 30px 30px 0;
        border-right: 1px solid #edeceb;
    }
    .daterangepicker .drp-calendar.left .calendar-table {
        padding-right: 0;
    }
    .daterangepicker .drp-calendar.right {
        padding: 0 0px 30px 30px;
    }
    .daterangepicker .drp-buttons {
        padding: 8px 0 0;
        border-top: 1px solid #edeceb;
    }
    .daterangepicker .drp-selected {
        font-size: 14px;
    }
    .daterangepicker .drp-buttons .btn {
        font-size: 12px;
        font-weight: 500;
    }
}


/* Select2 ---------- */

.search-form-content .form-control,
.select2-container--bootstrap .select2-selection {
    border: 0;
    padding: 40px 15px 15px;
    -webkit-box-shadow: none;
    box-shadow: none;
    font-size: 15px;
    font-weight: 500;
    height: 80px;
    cursor: pointer;
    text-align: center;
    border-radius: 0;
}

.select2-container--bootstrap .select2-selection--single .select2-selection__rendered {
    color: var(--web-secondary, #1a171b);
}

.select2-container--bootstrap.select2-container--focus .select2-selection,
.select2-container--bootstrap.select2-container--open .select2-selection {
    -webkit-box-shadow: none;
    box-shadow: none;
}


/*select2 dropdown*/

.select2-container--bootstrap .select2-dropdown {
    margin-top: 10px;
    border: 0;
    -webkit-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    -webkit-animation: fpFadeInDown 300ms cubic-bezier(.23, 1, .32, 1);
    animation: fpFadeInDown 300ms cubic-bezier(.23, 1, .32, 1);
    overflow: visible;
    border-radius: 0;
}

.select2-container--bootstrap .select2-dropdown::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px;
    border-color: transparent transparent #fff;
    top: auto;
}

.select2-search--dropdown {
    padding: 1rem;
}

.select2-container--bootstrap .select2-search--dropdown .select2-search__field {
    border: 1px solid #e7e7e7;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
}

.select2-container--bootstrap .select2-results__option {
    padding: 6px 1rem;
}

.select2-container--bootstrap .select2-results__option--highlighted[aria-selected] {
    background-color: var(--web-primary, #2d5a4c);
}


/*Select2 arrow*/

.select2-container--bootstrap .select2-selection--single .select2-selection__arrow b {
    top: 60%;
}

@media(max-width: 991px) {
    .search-form-content .search-option label {
        text-align: left;
    }
    .search-form-content .form-control,
    .select2-container--bootstrap .select2-selection {
        text-align: left;
        padding-left: 0;
    }
}

@media(min-width: 992px) {
    .search-form-content .form-control,
    .select2-container--bootstrap .select2-selection {
        padding: 55px 15px 30px;
        height: 110px;
    }
}


/* Number spinner ---------- */

.spinner {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    min-width: 30px;
    border: 0;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    color: #212529;
    width: 30px;
}

.btn-pm {
    background-color: rgba(189, 15, 15, 0.05);
    height: 20px;
    width: 20px;
    border-radius: 4px;
    text-align: center;
    color: var(--web-primary, #2d5a4c) !important;
    font-size: 9px;
    line-height: 18px;
    cursor: pointer;
    border: 1px solid #efbcbc;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

@media(min-width: 992px) {
    .search-form {
        left: 0;
        right: 0;
        z-index: 1;
        margin-top: -48px;
        position: absolute;
    }
    .search-form form {
        max-width: calc(1110px + 0rem);
        margin: 0 auto;
    }
}


/*Feature ------------- */

.section-feature {
    padding-top: 8rem
}


/*About ------------- */

.feature-box .feature-box-icon {
    height: 100px;
    width: 100px;
    background-color: rgba(189, 15, 15, 0.05);
    text-align: center;
    line-height: 92px;
    margin: auto;
    border-radius: 10px;
}

.feature-box .feature-box-icon svg {
    height: 40px;
    width: 40px;
    fill: var(--web-primary, #2d5a4c);
}

.section-about .heading {
    z-index: 2;
}

.heading .title {
    font-size: 28px;
}

.heading .description {
    margin: 20px auto 0;
}

.heading .head-button a::after {
    float: right;
    content: '';
    position: relative;
    width: 60px;
    height: 2px;
    display: block;
    margin: 11px 10px 0 20px;
    background: var(--web-primary, #2d5a4c);
}

.section-about .img-box {
    z-index: 1;
}

.section-about .img-box .about-img a {
    overflow: hidden;
}

.section-about .img-box .about-img a img {
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
}

.section-about .img-box .about-img a img:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

@media(min-width: 768px) {
    .section-about .img-box {
        right: 100px;
    }
    .section-about .heading {
        padding: 65px 100px 0 0;
        left: 100px;
    }
    .heading .title {
        font-size: 44px;
    }
}

.team-member {
    margin: 15px 0;
    padding: 0;
}

.team-member figure {
    position: relative;
    overflow: hidden;
    padding: 0;
    margin: 0;
}

.team-member figcaption ul {
    visibility: visible;
    -webkit-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
}

.team-member figcaption ul li {
    padding: 5px;
}

.team-member figcaption {
    z-index: 996;
    overflow: hidden;
    visibility: hidden;
    height: 0;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.team-member figure:hover figcaption {
    visibility: visible;
    color: #fff;
    background: rgba(0, 0, 0, 0.3);
    /* Primary color, can be changed via colors.css */
    height: 100%;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.team-member figure img {
    -webkit-transform: scale(1) rotate(0) translateY(0);
    -ms-transform: scale(1) rotate(0) translateY(0);
    transform: scale(1) rotate(0) translateY(0);
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}

.team-member figure:hover img {
    -webkit-transform: scale(1.1) rotate(1deg) translateY(12px);
    -ms-transform: scale(1.1) rotate(1deg) translateY(12px);
    transform: scale(1.1) rotate(1deg) translateY(12px);
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}
.badge {
    display: inline-block;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    letter-spacing: .12em;
    padding: 3px 10px 2px;
    color: var(--web-primary, #2d5a4c);
    background-color: rgba(189, 15, 15, 0.05);
    font-size: 11px;
    border: 1px solid var(--web-primary, #2d5a4c);
    border-radius: 6px;
}

.section-title .title {
    letter-spacing: 0.5px;
    font-size: 30px !important;
}


.play-icon {
    position: absolute;
    bottom: 50%;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
    right: 0;
    left: 0;
    text-align: center;
}
.play-btn {
    height: 78px;
    width: 78px;
    font-size: 30px;
    line-height: 76px;
    border-radius: 50%;
    display: inline-block;
    color: #fff;
}


/*Gallery ---------------------- */


/* clear fix */

.grid:after {
    content: "";
    display: block;
    clear: both;
}


/*element-item*/

.grid {
    margin: 2px;
}


/* 5 columns, percentage width */

.grid-item,
.grid-sizer {
    width: 50%;
    padding: 2px;
}

.grid-item--width2 {
    width: 50%;
}

.grid-item {
    float: left;
}

.moreinfo {
    opacity: 0;
    background: rgba(0, 0, 0, .3);
}

.user-name {
    font-size: 15px;
}

.grid-item:hover .moreinfo {
    opacity: 1;
}

@media(min-width: 768px) {
    .grid-item,
    .grid-sizer {
        width: 20%;
    }
    .grid-item--width2 {
        width: 40%;
    }
    .user-name {
        font-size: 20px;
    }
}


/* Post cat ---------------------- */

.post-cat {
    letter-spacing: .12em;
    padding: 3px 10px 2px;
    color: var(--web-primary, #2d5a4c);
    background-color: rgba(189, 15, 15, 0.05);
    font-size: 11px;
    border: 1px solid var(--web-primary, #2d5a4c);
    border-radius: 6px;
}

.post-content {
    position: relative;
    padding: 30px 0 0 35px;
}

.post-heading {
    line-height: 26px;
}

.post-heading a {
    color: #343a40;
    text-decoration: underline;
}

.post-date {
    top: 30px;
    right: 100%;
    -webkit-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    transform-origin: 100% 0;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    white-space: nowrap;
}

.post-image {
    overflow: hidden;
    position: relative;
    background-color: #2b2a29;
    border-radius: 6px;
}

.format {
    bottom: 20px;
    z-index: 8;
    width: 55px;
    height: 44px;
    border-top-right-radius: 10em;
    border-bottom-right-radius: 10em;
    background: var(--web-primary, #2d5a4c);
}

.responsive-media img {
    width: 100%;
}

.post-image img {
    -webkit-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
    vertical-align: top;
}

.post-card:active .post-image img,
.post-card:focus .post-image img,
.post-card:hover .post-image img {
    -webkit-transition-duration: .1s;
    -o-transition-duration: .1s;
    transition-duration: .1s;
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
    opacity: .4;
}


/* Blog page ---------- */

.masonry-post {
    height: 370px;
}

.masonry-post:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: -webkit-linear-gradient(16deg, rgb(0, 0, 0), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(16deg, rgb(0, 0, 0), rgba(0, 0, 0, 0));
    background-image: linear-gradient(74deg, rgb(0, 0, 0), rgba(0, 0, 0, 0));
    z-index: 1;
    opacity: 0.8;
    border-radius: 6px;
    pointer-events: none;
}

.masonry-img img {
    height: 370px;
    -o-object-fit: cover;
    object-fit: cover;
}

.masonry-post-text {
    z-index: 1;
    padding: 40px 30px 30px;
}

.masonry-post-text h2 {
    font-size: 28px;
}

.masonry-post-text h2 a {
    color: #fff;
}

.masonry-post-text h2 a:hover {
    color: #fff;
}

.pre-data .icon {
    height: 16px;
    width: 16px !important;
}

.dot {
    display: inline-block;
    width: 3px;
    height: 3px;
    background-color: rgb(255, 255, 255);
    margin: 0px 20px;
    border-radius: 100%;
}


/* Blog details page ---------- */


/*Details Post share icon*/

.share_article .boxed_icon {
    vertical-align: middle;
    width: 51px;
    height: 49px;
    line-height: 1;
    margin-bottom: 10px;
    background: #fff;
    border: 1px solid #eaeaea;
}

.share_article .boxed_icon:last-child {
    margin-bottom: 0;
}

.smedia.facebook,
.share_article .boxed_icon.facebook,
.social_share_btn ul li.li-facebook a {
    background: #3b5998;
    border-color: #3b5998;
}

.smedia.twitter,
.share_article .boxed_icon.twitter,
.social_share_btn ul li.li-twitter a {
    background: #50abf0;
    border-color: #50abf0;
}

.smedia.googleplus,
.share_article .boxed_icon.google-plus,
.social_share_btn ul li.li-google-plus a {
    background: #df4a32;
    border-color: #df4a32;
}

.smedia.pinterest,
.share_article .boxed_icon.pinterest,
.social_share_btn ul li.li-pinterest a {
    background: #cc2127;
    border-color: #cc2127;
}

.smedia.facebook:hover,
.share_article .boxed_icon.facebook i,
.social_share_btn ul li.li-facebook a i {
    text-shadow: #283d6c 1px 1px, #283d6c 2px 2px, #283d6c 3px 3px, #293f6f 4px 4px, #2a4173 5px 5px, #2b4376 6px 6px, #2d457a 7px 7px, #2e477d 8px 8px, #2f4981 9px 9px, #314b84 10px 10px, #324d88 11px 11px, #334f8b 12px 12px, #35518f 13px 13px, #365392 14px 14px, #375596 15px 15px, #39579a 16px 16px;
}

.smedia.twitter:hover,
.share_article .boxed_icon.twitter i,
.social_share_btn ul li.li-twitter a i {
    text-shadow: #3878a8 1px 1px, #3878a8 2px 2px, #3878a8 3px 3px, #397bad 4px 4px, #3b7fb3 5px 5px, #3d83b8 6px 6px, #3f87be 7px 7px, #418bc3 8px 8px, #438fc9 9px 9px, #4493ce 10px 10px, #4697d4 11px 11px, #489bd9 12px 12px, #4a9fdf 13px 13px, #4ca3e4 14px 14px, #4ea7ea 15px 15px, #50abf0 16px 16px;
}

.smedia.googleplus:hover,
.share_article .boxed_icon.google-plus i,
.social_share_btn ul li.li-google-plus a i {
    text-shadow: #9c3423 1px 1px, #9c3423 2px 2px, #9c3423 3px 3px, #a13524 4px 4px, #a63725 5px 5px, #ab3926 6px 6px, #b03a27 7px 7px, #b53c28 8px 8px, #ba3e29 9px 9px, #c03f2b 10px 10px, #c5412c 11px 11px, #ca432d 12px 12px, #cf442e 13px 13px, #d4462f 14px 14px, #d94830 15px 15px, #df4a32 16px 16px;
}

.smedia.pinterest:hover,
.share_article .boxed_icon.pinterest i,
.social_share_btn ul li.li-pinterest a i {
    text-shadow: #901415 1px 1px, #901415 2px 2px, #901415 3px 3px, #941415 4px 4px, #991516 5px 5px, #9e1617 6px 6px, #a21617 7px 7px, #a71718 8px 8px, #ac1819 9px 9px, #b01819 10px 10px, #b5191a 11px 11px, #ba1a1b 12px 12px, #be1a1b 13px 13px, #c31b1c 14px 14px, #c81c1d 15px 15px, #cd1d1e 16px 16px;
}

.smedia.linkedin:hover {
    text-shadow: #9e0029 1px 1px, #9e0029 2px 2px, #9e0029 3px 3px, #a3002a 4px 4px, #a8002b 5px 5px, #ad002c 6px 6px, #b2002e 7px 7px, #b7002f 8px 8px, #bc0030 9px 9px, #c20032 10px 10px, #c70033 11px 11px, #cc0034 12px 12px, #d10036 13px 13px, #d60037 14px 14px, #db0038 15px 15px, #e1003a 16px 16px;
}

.share_article .boxed_icon span {
    position: absolute;
    display: block;
    top: -8px;
    right: -3px;
    background: #222;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    height: 20px;
    min-width: 20px;
    text-align: center;
    line-height: 20px;
    padding: 0 3px;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
}

@media(max-width: 767px) {
    .share_article {
        text-align: center;
    }
    .share_article .boxed_icon {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
        margin: 0 2px 0;
    }
}

@media (min-width: 768px) {
    .share_article .boxed_icon {
        width: 55px;
        height: 53px;
        line-height: 53px;
    }
}


/* DROP CAP */

.single-post .entry-content > p:first-child:first-letter {
    font-size: 52px;
    line-height: 1;
    font-weight: bold;
    float: left;
    padding: 0px 6px 0px 0;
    margin-bottom: -6px;
    color: var(--web-primary, #2d5a4c);
    font-family: 'Playfair Display', serif;
}

blockquote {
    position: relative;
    margin: 2em 0;
    padding: 0.4em 1.2em;
    text-align: center;
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.5;
    text-transform: uppercase;
    color: var(--web-primary, #2d5a4c);
}

blockquote cite {
    display: block;
    font-size: 11px;
    letter-spacing: 1px;
    padding-right: 1em;
    margin-top: .8em;
    font-style: normal;
    font-weight: 400;
    color: #bbb;
}

.aligncenter,
.alignnone,
.alignright,
.alignleft {
    display: block;
    margin: 1.6em auto;
    clear: both;
}

.aligncenter,
.alignnone,
.alignright,
.alignleft {
    display: block;
    margin: 1.6em auto;
    clear: both;
}

.caption {
    color: #555;
    max-width: 100%;
}

.caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    padding: 0;
}

.post-tags a:before {
    content: "#";
}

@media screen and (min-width: 768px) {
    .single-post .entry-content {
        line-height: 1.7;
    }
    blockquote {
        max-width: 440px;
        margin-left: auto;
        margin-right: auto;
        font-size: 1.7em;
        line-height: 1.3;
    }
    .aligncenter {
        margin: 2em auto;
    }
    .alignleft,
    .alignright {
        max-width: 50%;
    }
    .alignleft {
        float: left;
        margin: .4em 2em 1em 0;
    }
    .alignright {
        float: right;
        margin: .4em 0 1em 2em;
    }
    blockquote.alignleft,
    blockquote.alignright {
        width: 40% !important;
        padding-bottom: 0;
    }
    blockquote.alignleft {
        padding-right: 0;
    }
    blockquote.alignright {
        padding-left: 0;
    }
}


/* Destination ---------------------*/

.card.card-poster {
    overflow: hidden;
    -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
    min-height: 450px;
    border-radius: 6px;
}

.card-poster::before {
    content: "";
    top: 0;
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 1;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(35, 35, 37, 0.85)), color-stop(35%, rgba(35, 35, 37, 0.65)), color-stop(60%, rgba(22, 22, 23, 0)), to(rgba(0, 0, 0, 0)));
    background: -webkit-linear-gradient(bottom, rgba(35, 35, 37, 0.85) 0%, rgba(35, 35, 37, 0.65) 35%, rgba(22, 22, 23, 0) 60%, rgba(0, 0, 0, 0) 100%);
    background: -o-linear-gradient(bottom, rgba(35, 35, 37, 0.85) 0%, rgba(35, 35, 37, 0.65) 35%, rgba(22, 22, 23, 0) 60%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to top, rgba(35, 35, 37, 0.85) 0%, rgba(35, 35, 37, 0.65) 35%, rgba(22, 22, 23, 0) 60%, rgba(0, 0, 0, 0) 100%);
    border-radius: 4px;
    opacity: 1;
}

.tile-link {
    cursor: pointer;
    z-index: 30;
}

.bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

img.bg-image {
    font-family: 'object-fit: cover;';
    -o-object-fit: cover;
    object-fit: cover;
}

.overlay-content {
    z-index: 1;
}

.item-tag {
    font-size: 9.7px;
    letter-spacing: 2.5px;
    padding: 0px 10px;
    line-height: 20px;
    color: var(--web-secondary, #1a171b);
    border-radius: 6px;
}

.card-poster .btn {
    letter-spacing: 2px;
}


/* Page Header ---------------------*/

.hero_single {
    background-color: #f8f8f8;
    position: relative;
    padding: 70px 0;
}


/* About page ------------- */

.form-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-left: -10px;
}

.form-row>.col,
.form-row>[class*=col-] {
    padding-right: 10px;
    padding-left: 10px;
}


/* Contact page ----------------*/

.info-title {
    padding-left: 30px;
}

.info-title::before {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -1px;
    height: 2px;
    width: 20px;
    content: '';
    background: var(--web-primary, #2d5a4c);
}

#map {
    width: 100%;
    height: 300px;
}


/* Footer ------------------*/


/*newslatter*/

.newslatter .form-control {
    height: 62px;
    padding: .375rem 1.5rem;
    border: 1px solid var(--web-primary, #2d5a4c) !important;
}
.newslatter .form-control:focus{
    z-index: 0;
}
.newslatter .btn {
    padding: .7rem 1.5rem;
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

.newslatter .btn::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    width: 24px;
    top: 0;
    bottom: 0;
    width: 9px;
    right: 100%;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-image: url(../img/small-vertical.svg);
}

.newslatter .custom-control-label::before {
    width: 1.2rem;
    height: 1.2rem;
    border: 0;
    border-radius: 0;
}

.newslatter .custom-control-label::after {
    width: 1.2rem;
    height: 1.2rem;
}

.newslatter a {
    border-bottom: 1px dashed var(--web-primary, #2d5a4c);
}

.newslatter .custom-control {
    padding-left: 2rem;
}

.newslatter .custom-control-label::before {
    left: -2rem;
}

.newslatter .custom-control-label::after {
    left: -2rem;
}

.email-link {
    border-bottom: 1px dashed var(--web-primary, #2d5a4c);
}

.link-title {
    padding-left: 30px;
}

.link-title::before {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -1px;
    height: 2px;
    width: 20px;
    content: '';
    background: var(--web-primary, #2d5a4c);
}

.footer-link .link {
    color: #777;
    padding-left: 30px;
}

.footer-link .link:hover {
    color: var(--web-primary, #2d5a4c);
}
.social-icon{
    padding-left: 30px;
}
.social-icon a {
    display: block;
    margin-bottom: 9px;
    text-decoration: none;
    -webkit-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
    padding-left: 0;
    color: #777;
    font-weight: 500;
}

.social-icon .icon-wrap {
    width: 30px;
    margin-right: 8px;
    line-height: 30px;
    border-radius: 50%;
    vertical-align: middle;
    color: #fff;
    background-color: var(--web-primary, #2d5a4c);
    text-align: center;
}

.clients {
    width: 100%;
    max-width: 6.5rem;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    filter: gray;
    /* IE6-9 */
    -webkit-filter: grayscale(1);
    /* Google Chrome, Safari 6+ & Opera 15+ */
    filter: grayscale(1);
    /* Microsoft Edge and Firefox 35+ */
}


/* Disable grayscale on hover */

.clients:hover {
    -webkit-filter: grayscale(0);
    filter: none;
}

/*Subfooter*/
@media(max-width: 768px){
    .sub-footer,
    .sub-footer ul{
        text-align: center !important;
    }  
}


/* Room list ----------------------------- */
@media screen and (max-width: 500px) {
    .width_200{
        width: 500px;
    }
  }
.room-img:before {
    content: "";
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 9;
    position: absolute;
    background-color: rgba(35, 35, 37, .2);
    border-radius: 4px 4px 0 0;
    opacity: 1;
}

.icon-content {
    right: 10px;
    bottom: 10px;
}

.like-icon,
.zoom-icon {
    color: #777;
    font-size: 13px;
    position: relative;
    background-color: #fff;
    display: block;
    height: 28px;
    width: 28px;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    line-height: 28px;
    text-align: center;
    z-index: 9;
}

.like-icon:hover,
.zoom-icon:hover {
    color: #fff;
    background-color: var(--web-primary, #2d5a4c);
}

.terms-conditions {
    text-decoration: underline;
    padding-left: 20px;
}

.room-price,
.room-price-strikeout {
    cursor: help;
}

.room-price i {
    color: #777;
}

.room-price:hover i {
    color: #F56961
}

.room-facility {
    margin-right: 8px;
}

.room-bed-config svg,
.room-facility svg {
    width: 22px;
    height: 22px;
    fill: #777
}

@media(min-width: 768px) {
    .item-info {
        text-align: right;
    }
}

.list-articles li {
    display: inline-block;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    width: 24%;
    max-height: 22px;
    position: relative;
    padding-right: 1rem;
}


/*Travel details ---------------- */


/* Bokking ------------*/

.list_item {
    display: table;
    width: 100%;
    vertical-align: bottom;
    font-size: 14px;
    padding: 5px 0;
    border-bottom: 1px solid #ececec;
}

.list_item_name {
    display: table-cell;
}

.list_item_price {
    display: table-cell;
    text-align: right;
    vertical-align: bottom;
    white-space: nowrap;
}

.contact-service {
    border: 1px solid #ececec;
}

.contact-service i {
    color: var(--web-primary, #2d5a4c);
    font-size: 48px;
    line-height: 48px;
}

.contact-service .media-body h4 {
    margin-top: 0px;
    font-size: 17px;
    font-weight: 600;
}

.card-icon {
    height: 46px;
    width: 46px;
}

.card-icon svg {
    fill: var(--web-primary, #2d5a4c)
}

/* Login & Register ------------*/

.form-wrapper {
    padding: 15px;
}

.form-container {
    max-width: 400px;
}

.form-container .panel {
    padding: 30px;
    background-color: #fff;
    border-radius: 6px;
    -webkit-box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.05);
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid #ecf0ee;
}

.btn-linkedin,
.btn-google {
    color: #757575;
    line-height: 1;
    padding: 13px 8px 13px 50px;
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 1px 1px rgba(122, 122, 122, 0.2);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 1px 1px rgba(122, 122, 122, 0.2);
}

.btn-linkedin:before,
.btn-google:before {
    content: '';
    width: 18px;
    height: 18px;
    position: absolute;
    left: 11px;
    top: 10px;
}

.btn-linkedin:before {
    background-image: url(../img/linkdin.svg);
}

.btn-google:before {
    background-image: url(../img/google.svg);
}

.btn-linkedin:focus,
.btn-linkedin:hover,
.btn-google:focus,
.btn-google:hover {
    -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.24);
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.24);
    background-color: #fff;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.form-container .panel .divider {
    letter-spacing: .05em;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    white-space: nowrap;
    line-height: 1;
}

.form-container .panel .divider::after,
.form-container .panel .divider::before {
    content: '';
    display: table-cell;
    position: relative;
    top: 50%;
    width: 50%;
    background-repeat: no-repeat;
    background-image: url(../img/divider.png);
}

.form-container .panel .divider::before {
    background-position: right 1em top 50%;
}

.form-container .panel .divider::after {
    background-position: left 1em top 50%;
}

.bottom-text a {
    color: #0052CC;
}

/*Offer*/
.offer-bg{
    background-image: url(../img/bg-lines-one.png);
    background-size: cover;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    position: relative;
    background-position: center center;
        padding-top: 10rem;
}

.join-content {
    background-position: center center;
    padding: 3rem 0;
    margin-bottom: -7rem;
    position: relative;
    z-index: 1;
    background-color: var(--web-primary, #2d5a4c);
}

.btn-primary:hover {
    background-color: var(--web-primary, #2d5a4c) !important;
    border-color: var(--web-primary, #2d5a4c) !important;
}
.btn.focus, 
.btn:focus {
        outline: 0;
        box-shadow: none !important;
    }
    .custom-control-input:checked~.custom-control-label.test-label::before{
    content: "✓" !important;
}

.test-label::before {
    width: 1rem;
    height: 1.2rem;
    text-align: center;
}

.star_colour{
    color:#F39C12;
}
.w_100{
    width:100%;
}
.width_238{
    width: 238px;
}
@media(max-width: 375px){
.social-media{
    word-break: break-all;
}
}
.padding_left_details{
    padding-left:35px;
    height:25px;
}
.alert{
    margin-bottom: .5rem !important;
    margin-top: .7rem;
}
/* Home Offer Book Now */
.card-img .btn {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: 0.3s;
}
.card-img:hover .btn {
    opacity: 1;
}
.card-img {
    background-color: #2b2a29;
    border-radius: 0;
}
.card-img img {
    transition: 0.3s;
}
.card-img:hover img {
    opacity: .4;
}
.btn-group-sm>.btn, .btn-sm {
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
}
.card-poster .book-btn{
    opacity: 0;
    transition: 0.3s;
}
.card-poster:hover .book-btn{
    opacity: 1
}
.weeklyoffer-title a{
    display: block;
    display: -webkit-box;
    max-width: 100%;
    margin: 0 auto;
    line-height: 22px;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media(min-width: 1750px){
    .section-gallery{
        max-width: 1750px; 
        margin: 0 auto;
    }
}
@media(min-width: 768px) and (max-width: 991px){
    .weeklyoffer-title{
        font-size: 18px;
        line-height: 25px;
    }
}

@media(max-width: 575px){
    .wd_xs_100{
        width: 100% !important;
    }
}

@media(max-width: 767px){
    .w-sm-100{
        width: 100% !important;
    }
}
.col-middle{
    max-width: 740px;
    margin: 0 auto;
}
.width-450px{
    max-width: 450px;
}
.border_color{
    border: 1px solid #ced4da;
}
.btn-primary.focus, .btn-primary:focus{
    background-color: var(--web-primary, #2d5a4c);
    border-color: var(--web-primary, #2d5a4c);
}
.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle{
    background-color: var(--web-primary, #2d5a4c) !important;
    border-color: var(--web-primary, #2d5a4c) !important;
}
.red-color{
    color: red;
}
@media(min-width:992px){
    .hero-header_wrap{
        min-height: 780px;
    }
}
@media(max-width:1200px){
    #Imageid{
        width: 100% !important;
    }
}
.forgot-custom-btn{
    border-style: dashed;
    padding: 5px 8px 5px 8px !important;
    font-size: 16px !important;
    border-radius: 4px;
  }
.facebook-span{
    display: flex;
    justify-content: flex-end;
    margin-top: 5px;
}
.facebook-color{
    background-color: #007bff;
    border-color: #007bff;
}
.facebook-color:hover,.facebook-color:focus, .facebook-color:focus-visible{
    background-color: #007bff !important;
    border-color: #007bff !important;
    outline: none;
    box-shadow: none;
}
.facebook-color:not(:disabled):not(.disabled).active, .facebook-color:not(:disabled):not(.disabled):active, .show>.facebook-color.dropdown-toggle {
    background-color: #007bff !important;
    border-color: #007bff !important;
}
.wa-right{
    right: 65px !important;
}

/* --- Public site: section-specific themes (Settings → Web & CMS) --- */
.navbar.navbar-light.site-section-header {
    background-color: var(--web-header-bg, #ffffff) !important;
}
.navbar-light.site-section-header .navbar-nav .nav-link {
    color: var(--web-header-nav-text, #1a171b) !important;
}
@media (min-width: 992px) {
    .site-section-header .login .nav-link {
        color: var(--web-header-nav-text, #000) !important;
    }
}
.site-section-newsletter.bg-dark {
    background-color: var(--web-newsletter-bg, #1a171b) !important;
    color: var(--web-newsletter-text, #cbd5e1) !important;
}
.site-section-newsletter .newslatter p,
.site-section-newsletter .newslatter .text-center:not(h3) {
    color: var(--web-newsletter-text, #cbd5e1) !important;
}
.site-section-newsletter h3.text-white {
    color: var(--web-newsletter-heading, #ffffff) !important;
}
.main-footer.site-section-footer.bg-dark {
    background-color: var(--web-footer-bg, #1a171b) !important;
    color: var(--web-footer-text, #e2e8f0) !important;
}
.main-footer.site-section-footer .footer-about {
    color: var(--web-footer-text, #e2e8f0) !important;
}
.main-footer.site-section-footer .footer-about a {
    color: var(--web-footer-link, #f8fafc) !important;
}
.main-footer.site-section-footer .link-title.text-white {
    color: var(--web-footer-heading, #ffffff) !important;
}
.main-footer.site-section-footer .footer-link .link {
    color: var(--web-footer-link, #f8fafc) !important;
}
.main-footer.site-section-footer .social-icon a {
    color: var(--web-footer-link, #f8fafc) !important;
}
.main-footer.site-section-footer .social-icon a span {
    color: inherit !important;
}
.site-section-subfooter.bg-dark {
    background-color: var(--web-subfooter-bg, var(--web-footer-bg, #1a171b)) !important;
    color: var(--web-subfooter-text, #94a3b8) !important;
}
.site-section-subfooter .copy {
    color: var(--web-subfooter-text, #94a3b8) !important;
}
.site-section-subfooter a.text-white {
    color: var(--web-subfooter-text, #94a3b8) !important;
}

@media (max-width: 991px) {
    .site-section-header .login .nav-link {
        color: var(--web-header-nav-text, #1a171b) !important;
    }
}

/* --- Grandoria-style public site shell --- */
.site-topbar {
    background-color: var(--web-topbar-bg, #264a3f);
    color: var(--web-topbar-text, #f8fafc);
    font-size: 0.875rem;
}
.site-topbar-link {
    color: var(--web-topbar-text, #f8fafc);
    opacity: 0.95;
}
.site-topbar-link:hover {
    color: #fff;
    opacity: 1;
}
.site-topbar-social-link {
    color: var(--web-topbar-text, #f8fafc);
    font-size: 1rem;
    opacity: 0.9;
}
.site-topbar-social-link:hover {
    color: #fff;
    opacity: 1;
}
.site-page-title-bar {
    background-color: var(--web-page-title-bg, #f1f5f4);
    border-bottom: 1px solid rgba(45, 90, 76, 0.12);
}
.site-page-title {
    color: var(--web-secondary, #1e293b);
}
.site-breadcrumb {
    font-size: 0.9rem;
}
.site-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: "/";
    background-image: none;
    width: auto;
    height: auto;
    transform: none;
    opacity: 0.45;
    padding: 0 0.35rem;
}
.site-breadcrumb .breadcrumb-item a {
    color: var(--web-primary, #2d5a4c);
}
.site-breadcrumb .breadcrumb-item.active {
    color: var(--web-secondary, #64748b);
}
.navbar.site-section-header {
    border-bottom: 1px solid rgba(45, 90, 76, 0.1);
}
.site-nav-book-btn {
    color: #fff !important;
    font-weight: 600;
}
.site-nav-book-btn:hover {
    filter: brightness(1.05);
    color: #fff !important;
}
#select_language {
    border-radius: 1.5rem;
    border-color: rgba(45, 90, 76, 0.25);
    font-size: 0.85rem;
    max-width: 140px;
}

/* Cards & utilities */
.grandoria-card {
    border-radius: 0.75rem;
    border: 1px solid rgba(45, 90, 76, 0.1);
    box-shadow: 0 4px 24px rgba(30, 41, 59, 0.06);
    overflow: hidden;
}

/* Room details — booking panel (stay update + guest form) */
.site-booking-stay-card,
.site-booking-guest-card {
    background: #fff;
}
.site-booking-section-title.custom-title::before {
    background: var(--web-primary, #6b7042);
}
.site-booking-section-title {
    color: var(--web-heading, #5d4a42);
}
.site-booking-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--web-secondary, #64748b);
    margin-bottom: 0.35rem;
}
.site-booking-input,
.site-booking-textarea {
    border-radius: 0.5rem;
    border: 1px solid rgba(45, 90, 76, 0.2);
    background: #fafbfa;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.site-booking-input:focus,
.site-booking-textarea:focus {
    border-color: var(--web-primary, #6b7042);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107, 112, 66, 0.15);
    outline: 0;
}
.site-booking-help {
    font-size: 0.8rem;
    color: var(--web-secondary, #64748b);
}
.site-booking-subhead {
    font-weight: 700;
    font-size: 1rem;
    color: var(--web-heading, #5d4a42);
}
.site-booking-room-preview {
    background: #f8faf8;
    border: 1px solid rgba(45, 90, 76, 0.08);
}
.site-booking-room-img {
    width: 100%;
    max-width: 238px;
    height: auto;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}
.site-booking-room-title {
    color: var(--web-heading, #5d4a42);
}
.site-booking-link {
    color: var(--web-primary, #6b7042) !important;
}
.site-booking-link:hover {
    color: #4a4e2e !important;
}
.site-booking-guest-form .custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--web-primary, #6b7042);
    background-color: var(--web-primary, #6b7042);
}

/* Booking page modern form (/booking) */
.site-booking-page-modern .booking-modern-card {
    border-radius: 1rem;
    border: 1px solid rgba(45, 90, 76, 0.14);
}
.site-booking-page-modern .booking-modern-kicker {
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--web-primary, #2d5a4c);
    font-weight: 700;
}
.site-booking-page-modern .booking-modern-head {
    gap: 0.65rem 1rem;
}
.site-booking-page-modern .booking-modern-form label {
    color: var(--web-secondary, #64748b) !important;
}
.site-booking-page-modern .booking-modern-row .form-group {
    margin-bottom: 1rem;
}
.site-booking-page-modern .booking-modern-field {
    position: relative;
}
.site-booking-page-modern .booking-modern-field .form-control {
    height: 48px;
    border: 1px solid #dbe4eb;
    border-radius: 0.7rem;
    background: #fff;
    padding-right: 2rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.site-booking-page-modern .booking-modern-field .custom-select {
    cursor: pointer;
}
.site-booking-page-modern .booking-modern-field .form-control:focus {
    border-color: rgba(45, 90, 76, 0.45);
    box-shadow: 0 0 0 3px rgba(45, 90, 76, 0.12);
}
.site-booking-page-modern .booking-modern-field i {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 0.9rem;
    pointer-events: none;
}
.site-booking-page-modern .booking-modern-room-group .form-text {
    font-size: 0.82rem;
}
.site-booking-page-modern .booking-modern-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.site-booking-page-modern .booking-modern-chip {
    border-radius: 999px;
    border: 1px solid #dbe4eb;
    background: #fff;
    color: #334155;
    font-weight: 600;
    font-size: 0.78rem;
    padding: 0.28rem 0.75rem;
}
.site-booking-page-modern .booking-modern-chip:hover {
    border-color: rgba(45, 90, 76, 0.45);
    color: var(--web-primary, #2d5a4c);
}
.site-booking-page-modern .booking-modern-chip.is-active {
    border-color: var(--web-primary, #2d5a4c);
    background: rgba(45, 90, 76, 0.1);
    color: var(--web-primary, #2d5a4c);
}
.site-booking-page-modern .booking-modern-submit {
    background: linear-gradient(135deg, var(--web-primary, #2d5a4c) 0%, var(--web-secondary, #1f2937) 100%) !important;
    border: 0 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
}
.site-booking-page-modern .booking-modern-submit:hover {
    filter: brightness(0.95);
}
.site-booking-page-modern .booking-trust-row .text-primary {
    color: var(--web-primary, #2d5a4c) !important;
}

/* Rooms listing (roomlist) */
.site-rooms-search-form.search-form-content .btn.site-rooms-search-submit {
    height: auto;
    min-height: 6rem;
    border-radius: 0.75rem;
    padding: 1rem 1.25rem;
    position: relative;
}
.site-rooms-search-form.search-form-content .btn.site-rooms-search-submit::before {
    display: none;
}
.site-rooms-search-form.search-form-content .btn.site-rooms-search-submit span {
    color: rgba(255, 255, 255, 0.85);
}
.site-rooms-filter-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--web-secondary, #64748b);
    margin-bottom: 0.35rem;
}
.site-rooms-select {
    border-radius: 0.5rem;
    border-color: rgba(45, 90, 76, 0.2);
}
.site-room-card-media {
    border-radius: 0.75rem 0.75rem 0 0;
    background: #f1f5f3;
}
.site-room-card-img {
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    min-height: 200px;
}
.site-room-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.25rem 0.65rem;
    border-radius: 2rem;
    font-size: 0.7rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.site-room-badge--ocean {
    background: var(--web-primary, #2563eb);
}
.site-room-badge--popular {
    background: var(--web-secondary, #ea580c);
}
.site-room-badge--business {
    background: var(--web-secondary, #64748b);
}
.site-room-badge--family {
    background: var(--web-primary, #16a34a);
}
.site-room-badge--romantic {
    background: var(--web-secondary, #db2777);
}
.site-room-badge--luxury {
    background: var(--web-primary, #7c3aed);
}
.site-room-badge--neutral {
    background: var(--web-secondary, #475569);
}
.site-room-desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.site-room-amenities li {
    display: flex;
    align-items: flex-start;
}
.site-room-details-btn {
    font-size: 0.875rem;
}
.site-rooms-load-more {
    font-weight: 600;
}
.site-rooms-load-icon {
    width: 2rem;
    height: 2rem;
    border: 2px solid var(--web-primary, #2d5a4c);
    color: var(--web-primary, #2d5a4c);
    font-size: 0.75rem;
}

/* --- Check availability page (room list mockup) --- */
.site-check-availability-page {
    --ca-teal: var(--web-primary, #6b7042);
    --ca-teal-dark: #4a4e2e;
    --ca-teal-soft: rgba(107, 112, 66, 0.15);
}
.site-ca-hero {
    min-height: 260px;
}
.site-ca-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: brightness(0.55);
    background-image: linear-gradient(135deg, #3a4a3e 0%, #2d3d36 38%, #1e2a32 100%);
}
.site-ca-hero-bg--photo {
    background-image: linear-gradient(180deg, rgba(15, 23, 42, 0.35) 0%, rgba(15, 23, 42, 0.72) 100%), var(--ca-hero-image);
}
.site-ca-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.45) 0%, rgba(15, 23, 42, 0.65) 100%);
}
.site-ca-hero-inner {
    z-index: 1;
}
.site-ca-hero-title {
    font-size: clamp(1.75rem, 4vw, 2.35rem);
    letter-spacing: 0.04em;
}
.site-ca-search-wrap {
    margin-top: -2rem;
    position: relative;
    z-index: 2;
}
.site-ca-search-bar {
    border-radius: 1rem !important;
    overflow: hidden;
    background: #fff;
}
.site-ca-field {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #eef2f7;
}
@media (min-width: 992px) {
    .site-ca-field {
        border-bottom: none;
        border-right: 1px solid #eef2f7;
    }
    .site-ca-field--guests {
        border-right: 1px solid #eef2f7;
    }
}
.site-ca-label {
    display: block;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
    margin-bottom: 0.35rem;
}
.site-ca-input-wrap {
    position: relative;
}
.site-ca-field-icon {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 1rem;
    pointer-events: none;
}
.site-ca-input-wrap .form-control {
    padding-left: 1.5rem;
    background: transparent;
}
.site-ca-spinner .btn-pm {
    color: var(--ca-teal);
}
.site-ca-search-btn {
    background: var(--ca-teal) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 0 !important;
    min-height: 5.5rem;
}
.site-ca-search-btn:hover {
    background: var(--ca-teal-dark) !important;
    color: #fff !important;
}
.site-ca-search-btn-hint {
    opacity: 0.9;
    font-weight: 500;
}
.site-ca-filter-links {
    gap: 0.15rem 0;
}
.site-ca-filter-link {
    color: #475569;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.2rem 0.35rem;
}
.site-ca-filter-link:hover {
    color: var(--ca-teal);
    text-decoration: none;
}
.site-ca-filter-dot {
    color: #cbd5e1;
    padding: 0 0.25rem;
    user-select: none;
}
.site-ca-listing {
    padding-top: 1.5rem !important;
    background: #f0f2f5 !important;
}
.site-ca-results-meta {
    border-left: 3px solid var(--web-primary, #6b7042);
    padding-left: 0.75rem;
    color: #475569 !important;
}
.site-ca-card-unified {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.site-ca-card-unified:hover {
    box-shadow: 0 12px 40px rgba(30, 41, 59, 0.1) !important;
}
.site-ca-hero .site-ca-hero-breadcrumb {
    font-size: 0.85rem;
}
.site-ca-hero .site-ca-hero-breadcrumb .breadcrumb-item a {
    color: rgba(255, 255, 255, 0.85);
}
.site-ca-hero .site-ca-hero-breadcrumb .breadcrumb-item.active {
    color: rgba(255, 255, 255, 0.65);
}
.site-ca-hero .site-ca-hero-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.45);
}
.site-ca-btn-teal {
    background: var(--ca-teal) !important;
    border-color: var(--ca-teal) !important;
    color: #fff !important;
}
.site-ca-btn-teal:hover {
    background: var(--ca-teal-dark) !important;
    border-color: var(--ca-teal-dark) !important;
    color: #fff !important;
}
.site-ca-btn-outline {
    border: 2px solid #e2e8f0 !important;
    background: #fff !important;
    color: #334155 !important;
}
.site-ca-btn-outline:hover {
    border-color: var(--ca-teal) !important;
    color: var(--ca-teal) !important;
    background: #fff !important;
}
.site-ca-price-tag {
    font-size: 1.35rem;
    color: var(--ca-teal);
}
.site-ca-gallery-hero {
    display: block;
    min-height: 280px;
    max-height: 420px;
    object-fit: cover;
}
.site-ca-gallery-thumbs {
    position: absolute;
    left: 0.75rem;
    bottom: 0.75rem;
    display: flex;
    gap: 0.35rem;
    z-index: 2;
}
.site-ca-gallery-thumbs a {
    display: block;
    width: 56px;
    height: 56px;
    border-radius: 0.4rem;
    overflow: hidden;
    border: 2px solid #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.site-ca-gallery-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.site-ca-stat {
    flex: 1 1 30%;
    min-width: 5rem;
    padding: 0.35rem;
}
.site-ca-stat-icon {
    color: var(--ca-teal);
    display: block;
    font-size: 1.1rem;
    margin-bottom: 0.25rem;
}
.site-ca-stat-val {
    display: block;
    font-weight: 700;
    color: #1e293b;
    font-size: 0.95rem;
    line-height: 1.2;
}
.site-ca-stat-lbl {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}
.site-ca-amenity-icon {
    color: var(--ca-teal);
    font-size: 0.8rem;
}
.site-ca-widget-tabs .nav-link {
    border: none !important;
    border-bottom: 2px solid transparent !important;
    color: #64748b !important;
    font-weight: 600;
    font-size: 0.85rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0 !important;
}
.site-ca-widget-tabs .nav-link.active {
    color: var(--ca-teal) !important;
    border-bottom-color: var(--ca-teal) !important;
    background: transparent !important;
}
.site-ca-select {
    border-radius: 0.5rem;
    border-color: #e2e8f0;
}
.site-ca-total {
    color: var(--ca-teal);
}
.site-ca-card-compact .site-ca-compact-media {
    position: relative;
    width: 100%;
    min-height: 200px;
    background: #f1f5f9;
}
@media (min-width: 768px) {
    .site-ca-card-compact .site-ca-compact-media {
        width: 38%;
        max-width: 380px;
        min-height: 100%;
    }
}
.site-ca-compact-img {
    object-fit: cover;
    min-height: 200px;
}
@media (min-width: 768px) {
    .site-ca-compact-img {
        min-height: 260px;
    }
}
.site-ca-load-more {
    font-weight: 600;
    border: 2px solid var(--ca-teal) !important;
    color: var(--ca-teal) !important;
    background: #fff !important;
}
.site-ca-load-more:hover {
    background: var(--ca-teal-soft) !important;
    color: var(--ca-teal-dark) !important;
}
.site-ca-load-more .site-rooms-load-icon {
    border-color: var(--ca-teal);
    color: var(--ca-teal);
}
.site-ca-expanded-right {
    border-top: 1px solid #eef2f7;
}
@media (min-width: 992px) {
    .site-ca-expanded-right {
        border-top: none;
        border-left: 1px solid #eef2f7;
    }
}

/* Unified room cards (/rooms) — balanced image + detail column */
.site-ca-card-unified {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.site-ca-card-unified:hover {
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.1) !important;
}
.site-ca-unified-left,
.site-ca-unified-right {
    min-width: 0;
}
.site-ca-unified-media {
    background: #f1f5f9;
    height: 100%;
    min-height: 220px;
}
.site-ca-unified-hero-link {
    line-height: 0;
}
.site-ca-unified-hero {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 240px;
    max-height: 400px;
    object-fit: cover;
}
@media (min-width: 992px) {
    .site-ca-unified-media {
        min-height: 100%;
    }
    .site-ca-unified-hero {
        min-height: 320px;
        max-height: 420px;
    }
}
.site-ca-unified-thumbs {
    position: absolute;
    left: 0.75rem;
    bottom: 0.75rem;
    display: flex;
    gap: 0.35rem;
    z-index: 2;
}
.site-ca-unified-thumbs a {
    display: block;
    width: 52px;
    height: 52px;
    border-radius: 0.4rem;
    overflow: hidden;
    border: 2px solid #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.site-ca-unified-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.site-ca-unified-body {
    min-height: 280px;
}
.site-ca-unified-title {
    line-height: 1.25;
    letter-spacing: -0.01em;
}
.site-ca-unified-desc {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.55;
}
.site-ca-unified-pill {
    display: inline-flex;
    align-items: center;
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    margin: 0 0.5rem 0.5rem 0;
}
.site-ca-unified-pill i {
    color: var(--ca-teal);
    font-size: 0.85rem;
}
.site-ca-unified-dates {
    font-size: 0.8rem;
}
.site-ca-results-meta {
    border-left: 3px solid var(--ca-teal);
    padding-left: 0.85rem;
}
.site-ca-empty-state {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

/* Marketing: Amenities */
.site-amenity-feature-media {
    background: #eef2f0;
}
.site-amenity-feature-img {
    display: block;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    min-height: 200px;
}
.site-amenity-feature-title {
    font-family: inherit;
    letter-spacing: -0.02em;
}
.site-amenity-bullet-icon {
    color: var(--web-primary, #2d5a4c);
    font-size: 0.7rem;
    width: 1rem;
    flex-shrink: 0;
}
.site-amenity-extra-icon {
    width: 56px;
    height: 56px;
    background: var(--web-primary, #2d5a4c);
    font-size: 1.15rem;
    box-shadow: 0 6px 18px rgba(45, 90, 76, 0.25);
}

/* Marketing: Location */
.site-location-badge {
    background: rgba(45, 90, 76, 0.1) !important;
    color: var(--web-primary, #2d5a4c) !important;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.45rem 0.9rem;
}
.site-location-hero-title {
    letter-spacing: -0.02em;
}
.site-location-info-icon {
    color: var(--web-primary, #2d5a4c);
    font-size: 1.1rem;
}
.site-location-map-wrap {
    min-height: 380px;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
}
.site-location-map-iframe {
    min-height: 380px;
    display: block;
}
.site-location-map-chip {
    left: 1rem;
    bottom: 1rem;
    background: var(--web-primary, #2d5a4c);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.2);
    max-width: calc(100% - 2rem);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.site-location-transport-icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(45, 90, 76, 0.1);
    color: var(--web-primary, #2d5a4c);
    font-size: 1.2rem;
}
.site-location-transport-sub {
    letter-spacing: 0.04em;
    font-size: 0.65rem !important;
}
.site-location-tag {
    font-size: 0.7rem;
    font-weight: 600;
    margin: 0.15rem;
    color: var(--web-secondary, #64748b) !important;
}
.site-location-nearby-media {
    background: #e2e8f0;
}
.site-location-nearby-img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
    min-height: 160px;
    display: block;
}
.site-location-nearby-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    background: rgba(255, 255, 255, 0.95);
    color: var(--web-secondary, #1e293b);
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
}

/* Contact page */
.site-contact-hero {
    min-height: 300px;
    overflow: hidden;
}
.site-contact-hero-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #32514e 0%, #24403d 45%, #1a2f35 100%);
    background-size: cover;
    background-position: center;
}
.site-contact-hero-bg--photo {
    background-image: linear-gradient(180deg, rgba(15, 23, 42, 0.4) 0%, rgba(15, 23, 42, 0.72) 100%), var(--site-contact-banner);
}
.site-contact-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.25) 0%, rgba(15, 23, 42, 0.58) 100%);
}
.site-contact-hero h1 {
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-size: clamp(1.9rem, 4.5vw, 2.9rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #fff !important;
}
.site-contact-hero p,
.site-contact-hero .small,
.site-contact-hero .text-white-50 {
    color: rgba(255, 255, 255, 0.92) !important;
}
.site-contact-map-section #map,
.site-contact-map-inner {
    min-height: 380px;
    height: 420px;
    width: 100%;
}
.site-contact-info-strip .site-contact-info-card {
    background: #f8faf9;
}
.site-contact-info-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--web-primary, #2d5a4c);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}
.site-contact-info-icon--stack {
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.82rem;
    line-height: 1;
}

/* Public site: Poppins body, Lato headings + brand-colored Bootstrap buttons */
html.site-public-grandoria-root,
body.site-public-grandoria {
    overflow-x: hidden;
    max-width: 100%;
}
body.site-public-grandoria {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
body.site-public-grandoria h1,
body.site-public-grandoria h2,
body.site-public-grandoria h3,
body.site-public-grandoria .h1,
body.site-public-grandoria .h2,
body.site-public-grandoria .h3 {
    font-family: 'Lato', 'Poppins', sans-serif;
    font-weight: 800;
    letter-spacing: 0.02em;
}
body.site-public-grandoria .site-page-title,
body.site-public-grandoria .text-playfair-display {
    font-weight: 800 !important;
}
.site-topbar-contact .site-topbar-item,
.site-topbar-contact .site-topbar-link {
    line-height: 1.35 !important;
    vertical-align: middle;
}
.site-contact-card-title {
    font-weight: 800 !important;
    letter-spacing: 0.02em;
}
body.site-public-grandoria .hero-header .hero-header_wrap .header-text .header-title {
    font-family: 'Lato', 'Poppins', sans-serif;
}
body.site-public-grandoria .daterangepicker .calendar-table td {
    font-family: 'Poppins', sans-serif;
}
body.site-public-grandoria .single-post .entry-content > p:first-child:first-letter {
    font-family: 'Lato', 'Poppins', sans-serif;
}
.site-public-grandoria .btn-primary {
    background-color: var(--web-primary, #2d5a4c) !important;
    border-color: var(--web-primary, #2d5a4c) !important;
    color: #fff !important;
}
.site-public-grandoria .btn-primary:hover,
.site-public-grandoria .btn-primary:focus {
    background-color: #234a3f !important;
    border-color: #234a3f !important;
    color: #fff !important;
}
.site-public-grandoria .btn-outline-primary {
    color: var(--web-primary, #2d5a4c) !important;
    border-color: var(--web-primary, #2d5a4c) !important;
    background: transparent !important;
}
.site-public-grandoria .btn-outline-primary:hover,
.site-public-grandoria .btn-outline-primary:focus {
    color: #fff !important;
    background-color: var(--web-primary, #2d5a4c) !important;
    border-color: var(--web-primary, #2d5a4c) !important;
}
.site-contact-form-card {
    background: #fff !important;
}
.site-contact-input {
    border-radius: 0.35rem;
    border-color: rgba(15, 23, 42, 0.12);
}
.site-contact-submit {
    letter-spacing: 0.06em;
    border-radius: 0.35rem !important;
    min-width: 200px;
}

/* Gallery page */
.site-gallery-filters .gallery-filter-label--pill {
    position: relative;
    padding: 0.5rem 1.15rem;
    border-radius: 999px;
    border: 2px solid var(--web-primary, #2d5a4c);
    background: transparent;
    color: var(--web-primary, #2d5a4c);
    font-weight: 600;
    font-size: 0.875rem;
    transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.site-gallery-filters .gallery-filter-label--pill:hover {
    border-color: var(--web-primary, #2d5a4c);
    box-shadow: 0 2px 10px rgba(45, 90, 76, 0.15);
}
.site-gallery-filters .site-gallery-filter-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.site-gallery-filters .gallery-filter-label--pill:has(.site-gallery-filter-input:checked) {
    background: var(--web-primary, #2d5a4c);
    color: #fff;
    border-color: var(--web-primary, #2d5a4c);
}
.site-gallery-masonry {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
.site-gallery-masonry .grid-item {
    padding: 4px;
}
.site-gallery-masonry .grid-sizer,
.site-gallery-masonry .grid-item {
    box-sizing: border-box;
}
.site-gallery-img {
    border-radius: 12px;
    display: block;
    width: 100%;
    height: auto;
    min-height: 160px;
    object-fit: cover;
    vertical-align: middle;
    background-color: #e9ecef;
}
.site-gallery-item-link {
    border-radius: 12px;
    display: block;
    min-height: 160px;
    background-color: #e9ecef;
}
.site-gallery-video-thumb {
    min-height: 200px;
    max-height: 420px;
    background: #0f172a;
}
.site-gallery-video-badge {
    position: absolute;
    bottom: 12px;
    right: 12px;
    font-size: 2rem;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
    pointer-events: none;
    z-index: 2;
}
.site-page-gallery .grid-sizer,
.site-page-gallery .grid-item {
    box-sizing: border-box;
}
/* Legacy .grid rules use float; Isotope positions items absolutely — neutralize float on the public gallery only. */
.site-page-gallery .site-gallery-masonry .grid-item {
    float: none;
}

.btn-grandoria-outline {
    color: var(--web-primary, #2d5a4c);
    border: 2px solid var(--web-primary, #2d5a4c);
    border-radius: 2rem;
    background: transparent;
    font-weight: 600;
    padding: 0.5rem 1.25rem;
}
.btn-grandoria-outline:hover {
    background: var(--web-primary, #2d5a4c);
    color: #fff;
}
.section-grandoria-muted {
    background: #f8faf9;
}
.site-grandoria-accent-line {
    width: 48px;
    height: 3px;
    background: var(--web-primary, #2d5a4c);
    border-radius: 2px;
}
.grandoria-map {
    min-height: 380px;
}
.grandoria-map #map {
    min-height: 380px;
    width: 100%;
}
.gallery-filter-label input {
    margin-right: 0.35rem;
}
.gallery-filter-pills .gallery-filter-label {
    padding: 0.4rem 1rem;
    border-radius: 2rem;
    border: 1px solid rgba(45, 90, 76, 0.35);
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.gallery-filter-pills .gallery-filter-label:hover {
    border-color: var(--web-primary, #2d5a4c);
}
.navbar-light .navbar-nav .nav-item.active > .nav-link {
    color: var(--web-primary, #2d5a4c) !important;
    border-bottom: 2px solid var(--web-primary, #2d5a4c);
}

/* Booking page & contact cards */
.booking-why-icon {
    width: 40px;
    height: 40px;
    border-radius: 0.5rem;
    background: rgba(45, 90, 76, 0.12);
    color: var(--web-primary, #2d5a4c);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.booking-why-panel {
    background: #f8faf9;
}
.contact-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 0.35rem;
    background: var(--web-primary, #2d5a4c);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}
.roomlist-card .roomlist-card-img {
    border-radius: 0.75rem 0.75rem 0 0;
}
.roomlist-filter-card {
    box-shadow: 0 4px 24px rgba(30, 41, 59, 0.06);
}
.fs-20 {
    font-size: 1.25rem;
}
.room-details-gallery img {
    border-radius: 0.75rem;
}

/* --- Public nav: glass bar + pill menu (--web-primary / --web-secondary) --- */
.site-nav-glassbar.site-nav-grandoria {
    background: rgba(255, 255, 255, 0.55) !important;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.08) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.65);
    align-items: center !important;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.site-nav-pill .dropdown-toggle::after {
    border-top-color: rgba(30, 41, 59, 0.55);
}
.site-nav-grid {
    display: grid;
    width: 100%;
    align-items: center;
    gap: 0.5rem 1rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "brand menu actions";
}
.site-nav-brand-col {
    grid-area: brand;
}
.site-nav-menu-col {
    grid-area: menu;
    justify-self: center;
    width: 100%;
    max-width: min(100%, 1180px);
    min-width: 0;
}
.site-nav-actions-col {
    grid-area: actions;
}
@media (max-width: 991.98px) {
    .site-nav-grid {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "brand actions"
            "menu menu";
    }
    .site-nav-menu-col {
        justify-self: stretch;
        max-width: none;
    }
}
.site-nav-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.5rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.75);
    box-shadow: 0 2px 16px rgba(15, 23, 42, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.65);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}
.site-nav-fluid-indicator {
    display: none;
}
@media (min-width: 992px) {
    .site-nav-fluid-indicator {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        pointer-events: none;
        background: var(--web-primary, #2d5a4c);
        border-radius: 999px;
        will-change: transform, opacity, left, top, width, height;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform: translateZ(0);
    }
    /* Blurred “wake” behind the main pill — animates with a slight lag in JS */
    .site-nav-fluid-indicator--trail {
        z-index: 0;
        opacity: 0;
        filter: blur(14px);
        -webkit-filter: blur(14px);
        box-shadow: none;
        transform: translateZ(0) scale(1.12);
        background: var(--web-primary, #2d5a4c);
    }
    .site-nav-fluid-indicator--main {
        z-index: 1;
        opacity: 0;
        box-shadow: 0 4px 24px rgba(45, 90, 76, 0.42);
    }
    .site-nav-pill .navbar-nav {
        position: relative;
        z-index: 2;
    }
}
@media (max-width: 991.98px) {
    .site-nav-pill {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        border-radius: 1rem;
        margin-top: 0.5rem;
        padding: 0.5rem;
    }
}
.site-nav-pill .navbar-nav .nav-link {
    color: rgba(30, 41, 59, 0.88) !important;
    font-weight: 600;
    font-size: 0.95rem;
    border-radius: 999px;
    padding: 0.45rem 1rem !important;
    border-bottom: none !important;
    transition: background 0.2s ease, color 0.2s ease;
}
.site-nav-pill .navbar-nav .nav-link:hover,
.site-nav-pill .navbar-nav .nav-link:focus {
    color: var(--web-primary, #2d5a4c) !important;
    background: rgba(45, 90, 76, 0.08);
}
/* Split dropdown (label + caret): one hover surface — no separate pills per link */
.site-nav-pill .navbar-nav .nav-item.dropdown .site-nav-fluid-target {
    gap: 0;
    border-radius: 999px;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}
.site-nav-pill .navbar-nav .nav-item.dropdown .site-nav-fluid-target > .nav-link {
    border-radius: 0 !important;
    box-shadow: none !important;
}
.site-nav-pill .navbar-nav .nav-item.dropdown .site-nav-fluid-target > .nav-link:hover,
.site-nav-pill .navbar-nav .nav-item.dropdown .site-nav-fluid-target > .nav-link:focus {
    background: transparent !important;
    color: var(--web-primary, #2d5a4c) !important;
}
.site-nav-pill .navbar-nav .nav-item.dropdown:not(.active) .site-nav-fluid-target:hover,
.site-nav-pill .navbar-nav .nav-item.dropdown:not(.active) .site-nav-fluid-target:focus-within {
    background: rgba(45, 90, 76, 0.1);
}
.site-nav-pill .navbar-nav .nav-item.dropdown:not(.active) .site-nav-fluid-target:hover > .nav-link,
.site-nav-pill .navbar-nav .nav-item.dropdown:not(.active) .site-nav-fluid-target:focus-within > .nav-link {
    color: var(--web-primary, #2d5a4c) !important;
}
/* Active: always light text on primary (mobile: solid pill; desktop: same + fluid pill behind) */
.site-nav-pill .navbar-nav .nav-item.active > .nav-link,
.site-nav-pill .navbar-nav .nav-item.active .site-nav-fluid-target > .nav-link {
    color: #fff !important;
    background: var(--web-primary, #2d5a4c) !important;
    box-shadow: 0 4px 14px rgba(45, 90, 76, 0.35);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
/* Parent highlighted because a child page is open — same contrast as other active items (was dark text on green). */
.site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active > .nav-link,
.site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active .site-nav-fluid-target > .nav-link {
    color: #fff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
@media (min-width: 992px) {
    .site-nav-pill .navbar-nav .nav-item.active > .nav-link,
    .site-nav-pill .navbar-nav .nav-item.active .site-nav-fluid-target > .nav-link,
    .site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active > .nav-link,
    .site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active .site-nav-fluid-target > .nav-link {
        background: transparent !important;
        box-shadow: none !important;
        color: #fff !important;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
    }
    /* Active dropdown: single hover highlight on wrapper (not two separate pills) */
    .site-nav-pill .navbar-nav .nav-item.active .site-nav-fluid-target:hover,
    .site-nav-pill .navbar-nav .nav-item.active .site-nav-fluid-target:focus-within,
    .site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active .site-nav-fluid-target:hover,
    .site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active .site-nav-fluid-target:focus-within {
        background: rgba(255, 255, 255, 0.18);
        border-radius: 999px;
    }
    .site-nav-pill .navbar-nav .nav-item.active .site-nav-fluid-target > .nav-link:hover,
    .site-nav-pill .navbar-nav .nav-item.active .site-nav-fluid-target > .nav-link:focus,
    .site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active .site-nav-fluid-target > .nav-link:hover,
    .site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active .site-nav-fluid-target > .nav-link:focus {
        color: #fff !important;
        background: transparent !important;
        filter: none !important;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    }
    .site-nav-pill .navbar-nav .nav-item.active > .nav-link:hover,
    .site-nav-pill .navbar-nav .nav-item.active > .nav-link:focus {
        color: #fff !important;
        background: rgba(255, 255, 255, 0.18) !important;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    }
}
@media (max-width: 991.98px) {
    .site-nav-pill .navbar-nav .nav-item.active .site-nav-fluid-target:hover,
    .site-nav-pill .navbar-nav .nav-item.active .site-nav-fluid-target:focus-within,
    .site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active .site-nav-fluid-target:hover,
    .site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active .site-nav-fluid-target:focus-within {
        background: rgba(255, 255, 255, 0.12);
        border-radius: 999px;
    }
    .site-nav-pill .navbar-nav .nav-item.active .site-nav-fluid-target > .nav-link:hover,
    .site-nav-pill .navbar-nav .nav-item.active .site-nav-fluid-target > .nav-link:focus,
    .site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active .site-nav-fluid-target > .nav-link:hover,
    .site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active .site-nav-fluid-target > .nav-link:focus {
        color: #fff !important;
        background: transparent !important;
        filter: brightness(1.03);
    }
    .site-nav-pill .navbar-nav .nav-item.active > .nav-link:hover,
    .site-nav-pill .navbar-nav .nav-item.active > .nav-link:focus {
        color: #fff !important;
        background: rgba(255, 255, 255, 0.12) !important;
    }
}
.site-nav-pill .navbar-nav .nav-item.active .site-nav-sub-caret::after,
.site-nav-pill .navbar-nav .nav-item.dropdown.site-nav-dropdown--child-active .site-nav-sub-caret::after {
    border-top-color: rgba(255, 255, 255, 0.95) !important;
}
.site-nav-pill .dropdown-menu {
    border-radius: 0.75rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
    margin-top: 0.35rem;
}
@media (min-width: 992px) {
    /* No margin gap on desktop: margin sat outside the menu hit-box, so the pointer
       left .nav-item before entering .dropdown-menu and the submenu closed. */
    .site-nav-pill .navbar-nav .nav-item.dropdown > .dropdown-menu {
        margin-top: 0;
        padding-top: 0.35rem;
    }
    /* Stay open while moving onto the panel (and bridge) */
    .site-nav-pill .navbar-nav .nav-item.dropdown:hover > .dropdown-menu,
    .site-nav-pill .navbar-nav .nav-item.dropdown .dropdown-menu:hover {
        display: block;
    }
    /* Invisible bridge above the menu so the path from trigger to panel stays “hovered” */
    .site-nav-pill .navbar-nav .nav-item.dropdown > .dropdown-menu::before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 100%;
        height: 0.75rem;
        margin: 0;
        padding: 0;
        border: none;
        width: auto;
        background: transparent;
        box-shadow: none;
    }
    .site-nav-pill .navbar-nav .nav-item.dropdown .site-nav-sub-caret::after {
        margin-left: 0.15em;
    }
}
.site-nav-pill .navbar-nav .nav-item.dropdown .site-nav-sub-caret {
    min-width: 1.25rem;
}
.site-nav-action-link {
    color: var(--web-secondary, #1e293b) !important;
    font-weight: 600;
    font-size: 0.9rem;
}
.site-nav-action-link:hover {
    color: var(--web-primary, #2d5a4c) !important;
}
.site-nav-user .site-nav-avatar-toggle::after {
    display: none;
}
.site-nav-avatar-wrap {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border: 2px solid rgba(45, 90, 76, 0.35);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
}
.site-nav-avatar-wrap--initials {
    background: rgba(45, 90, 76, 0.12);
    color: var(--web-primary, #2d5a4c);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.site-nav-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.site-nav-actions-col .navbar-right {
    gap: 0.875rem;
}
.site-nav-user {
    position: relative;
}
.site-nav-user > .dropdown-menu.site-nav-user-menu {
    margin-top: 0.5rem !important;
    left: auto !important;
    right: 0 !important;
    transform: none !important;
}
.site-nav-user-menu {
    border-radius: 0.75rem;
    min-width: 12.5rem;
    padding: 0.45rem;
    margin-top: 0.5rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}
.site-nav-user-menu-link {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--web-secondary, #1e293b) !important;
    padding: 0.65rem 1rem !important;
    border-radius: 0.5rem;
    line-height: 1.35;
}
.site-nav-user-menu-link:hover {
    background: rgba(45, 90, 76, 0.08) !important;
    color: var(--web-primary, #2d5a4c) !important;
}
.site-nav-user-menu-link.active,
.site-nav-user-menu-link:active {
    color: var(--web-primary, #2d5a4c) !important;
    background: rgba(45, 90, 76, 0.1) !important;
}
.site-nav-user-menu .dropdown-divider {
    margin: 0.35rem 0.25rem;
    opacity: 0.12;
}
@media (min-width: 992px) {
    .site-nav-user.dropdown:hover > .dropdown-menu {
        display: block;
    }
}
.site-nav-grandoria .login .nav-link {
    border-left: 0 !important;
}
@media (min-width: 992px) {
    .site-nav-grandoria .search-icon .nav-link {
        display: none;
    }
}
.site-nav-lang #select_language {
    background: rgba(255, 255, 255, 0.65) !important;
    color: var(--web-secondary, #1e293b) !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 999px !important;
    font-size: 0.8rem;
    max-width: 130px;
    padding: 0.25rem 0.5rem;
}
.site-nav-grandoria .site-nav-book-form.search-form-content .btn.site-nav-book-btn {
    height: auto !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0.35rem 1rem !important;
    font-size: 0.8125rem !important;
    line-height: 1.35 !important;
    border-radius: 999px !important;
}
.site-nav-grandoria .site-nav-book-form.search-form-content .btn.site-nav-book-btn::before {
    display: none !important;
    content: none !important;
}
.site-nav-grandoria .site-nav-book-btn {
    background: var(--web-primary, #2d5a4c) !important;
    color: #fff !important;
    border: 0 !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.15);
}
.site-nav-grandoria .site-nav-book-btn:hover {
    filter: brightness(1.06);
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.2);
}
.site-nav-pill .dropdown-menu .dropdown-item {
    color: rgba(30, 41, 59, 0.92) !important;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.55rem 1rem;
    border-radius: 0.5rem;
    margin: 0.15rem 0.35rem;
    transition: background 0.15s ease, color 0.15s ease;
}
.site-nav-pill .dropdown-menu .dropdown-item:hover,
.site-nav-pill .dropdown-menu .dropdown-item:focus {
    color: var(--web-primary, #2d5a4c) !important;
    background: rgba(45, 90, 76, 0.12) !important;
    outline: none;
}
.site-nav-pill .dropdown-menu .dropdown-item.active,
.site-nav-pill .dropdown-menu .dropdown-item:active {
    color: #fff !important;
    background: var(--web-primary, #2d5a4c) !important;
    font-weight: 700;
}
.site-nav-pill .dropdown-menu .dropdown-item.active:hover,
.site-nav-pill .dropdown-menu .dropdown-item.active:focus {
    color: #fff !important;
    background: #234a3f !important;
    filter: none;
}
.site-nav-glassbar.header-sticky.sticky,
.header-sticky.sticky.site-nav-glassbar {
    background: rgba(255, 255, 255, 0.78) !important;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}
.site-nav-grandoria .navbar-toggler {
    border-color: rgba(15, 23, 42, 0.12);
    border-radius: 999px;
}
.site-nav-grandoria .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(30, 41, 59, 0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* --- Home page: Cartono-style hero (inset rounded banner, cream top bar — no outer black frame) --- */
body.site-home-cartono {
    background-color: #f9f8f3;
}
.site-home-hero--cartono {
    background: #f9f8f3;
    padding: 0;
    border-bottom: none;
}
.site-home-hero--cartono .site-home-hero-topbar {
    background: #f9f8f3;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}
.site-home-hero--cartono .site-home-hero-bleed {
    width: 100%;
    max-width: 100%;
    padding-bottom: clamp(1.25rem, 4vw, 2.75rem);
}
.site-home-hero--cartono .site-home-hero-inset {
    max-width: 1320px;
}
.site-home-hero--cartono .site-home-hero-brand-note {
    font-family: 'Inter', 'Poppins', sans-serif;
    font-size: clamp(1.05rem, 2.5vw, 1.35rem);
    letter-spacing: -0.02em;
}
.site-home-hero--cartono .site-home-hero-top-cta {
    gap: 0.65rem;
}
.site-home-btn-outline {
    font-family: 'Inter', 'Poppins', sans-serif;
    font-weight: 600;
    border-radius: 999px;
    padding: 0.55rem 1.35rem;
    border: 1.5px solid #111 !important;
    color: #111 !important;
    background: transparent !important;
    font-size: 0.875rem;
    transition: background 0.2s, color 0.2s;
}
.site-home-btn-outline:hover {
    background: #111 !important;
    color: #fff !important;
}
.site-home-btn-outline--dark {
    border-color: #111 !important;
    color: #111 !important;
}
.site-home-btn-solid {
    font-family: 'Inter', 'Poppins', sans-serif;
    font-weight: 600;
    border-radius: 999px;
    padding: 0.55rem 1.35rem;
    background: #111 !important;
    color: #fff !important;
    border: 1.5px solid #111 !important;
    font-size: 0.875rem;
    transition: filter 0.2s;
}
.site-home-btn-solid:hover {
    color: #fff !important;
    filter: brightness(1.08);
}
.site-home-hero--cartono .site-home-hero-visual-cartono {
    border-radius: clamp(22px, 3.5vw, 40px);
    overflow: hidden;
    min-height: clamp(320px, 58vh, 620px);
    width: 100%;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
}
.site-home-hero-cartono-img {
    display: block;
    height: 100%;
    min-height: inherit;
    width: 100%;
    object-fit: cover;
    border-radius: inherit;
}
.site-home-hero-overlay {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(105deg, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.38) 42%, rgba(0, 0, 0, 0.18) 100%);
    pointer-events: none;
}
.site-home-hero-overlay-inner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-radius: inherit;
    pointer-events: none;
}
.site-home-hero-overlay-content {
    pointer-events: auto;
    max-width: min(34rem, 52vw);
}
@media (max-width: 767.98px) {
    .site-home-hero-overlay-inner {
        align-items: flex-end;
    }
    .site-home-hero-overlay-content {
        max-width: 100%;
    }
}
.site-home-hero-cartono-kicker {
    color: rgba(255, 255, 255, 0.88);
    letter-spacing: 0.14em;
    font-family: 'Inter', 'Poppins', sans-serif;
    font-size: 0.7rem;
}
.site-home-hero-cartono-title {
    font-family: 'Inter', 'Poppins', sans-serif;
    color: #fff;
    font-weight: 800;
    font-size: clamp(2rem, 5.2vw, 3.65rem);
    line-height: 1.06;
    letter-spacing: -0.035em;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.25);
}
.site-home-hero-cartono-lead {
    font-family: 'Inter', 'Poppins', sans-serif;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.95);
    font-size: clamp(0.9rem, 1.65vw, 1.125rem);
    line-height: 1.6;
    max-width: 100%;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.2);
}
.site-home-hero-mobile-cta {
    gap: 0.65rem;
    margin-top: 1.25rem;
}
.site-home-testimonial--cartono {
    position: absolute;
    right: clamp(0.75rem, 2vw, 1.5rem);
    bottom: clamp(0.75rem, 2vw, 1.5rem);
    max-width: min(300px, 38vw);
    border-radius: 1rem !important;
    z-index: 3;
}
@media (max-width: 991.98px) {
    .site-home-testimonial--cartono {
        display: none !important;
    }
}

/* Home — premium facilities row */
.site-home-facilities {
    background: #f9f8f3;
    font-family: 'Inter', 'Poppins', sans-serif;
}
.site-home-facilities-kicker {
    color: #64748b;
    letter-spacing: 0.1em;
}
.site-home-facilities-title {
    font-family: 'Inter', 'Poppins', sans-serif;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    letter-spacing: -0.02em;
    line-height: 1.15;
}
.site-home-facilities-lead {
    font-size: 1rem;
    line-height: 1.65;
}
.site-home-facility-card-media {
    border-radius: clamp(20px, 3vw, 32px);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #e8e6df;
}
.site-home-facility-card-media img {
    height: 100%;
    object-fit: cover;
    display: block;
}
.site-home-facility-card-title {
    font-family: 'Inter', 'Poppins', sans-serif;
    font-size: 1.1rem;
}
.site-home-facilities-more-list {
    gap: 1.25rem 2rem;
}
.site-home-facilities-more-item {
    flex: 0 0 auto;
    width: 92px;
}
.site-home-facilities-more-thumb {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    background: #e8e6df;
}
.site-home-facilities-more-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
body.site-home-cartono .section-feature .grandoria-card {
    border-radius: clamp(18px, 2.5vw, 28px);
}

/* --- Home page: split hero (legacy), testimonial card, watermark section titles --- */
.site-home-hero:not(.site-home-hero--cartono) {
    background: #fff;
    border-bottom: 1px solid rgba(45, 90, 76, 0.08);
}
.site-home-hero-kicker {
    color: var(--web-primary, #2d5a4c);
    letter-spacing: 0.08em;
}
.site-home-hero-title {
    color: var(--web-secondary, #1a171b);
    font-size: clamp(1.85rem, 4vw, 2.85rem);
    line-height: 1.15;
}
.site-home-hero-lead {
    max-width: 34rem;
}
.site-home-hero-mini-icon {
    color: var(--web-primary, #2d5a4c);
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 50%;
    background: rgba(45, 90, 76, 0.1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0.95rem;
}
.site-home-hero-img {
    border-radius: 1.25rem;
    object-fit: cover;
    max-height: min(520px, 70vh);
    width: 100%;
    display: block;
}
.site-home-hero-visual {
    min-height: 240px;
}
.site-home-testimonial {
    position: absolute;
    right: 0;
    bottom: -0.75rem;
    max-width: min(320px, 92%);
    border-radius: 0.85rem;
    z-index: 2;
}
.site-home-testimonial .card-body {
    border-radius: inherit;
}
.site-home-testimonial-avatar {
    width: 42px;
    height: 42px;
    font-size: 0.9rem;
}
@media (max-width: 991.98px) {
    .site-home-testimonial {
        position: relative;
        right: auto;
        bottom: auto;
        max-width: 100%;
        margin-top: 1.25rem;
    }
    .site-home-hero-visual.pl-lg-2 {
        padding-left: 0 !important;
    }
}

.site-section-heading-watermark {
    padding: 0.5rem 0 1rem;
}
.site-section-watermark-bg {
    position: absolute;
    left: 50%;
    top: 42%;
    transform: translate(-50%, -50%);
    font-size: clamp(3.5rem, 11vw, 6.5rem);
    font-weight: 800;
    letter-spacing: 0.04em;
    color: rgba(30, 41, 59, 0.06);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
    line-height: 1;
    text-transform: uppercase;
}
.site-section-watermark-title {
    z-index: 1;
    color: var(--web-primary, #2d5a4c);
}
.site-home-rooms .site-home-rooms-featured-img {
    display: block;
    width: 100%;
    max-height: 400px;
    object-fit: cover;
    border-radius: 0.75rem 0.75rem 0 0;
}
.site-home-rooms .media img.rounded {
    border-radius: 0.65rem !important;
}
.grandoria-search-wrap {
    border: 1px solid rgba(45, 90, 76, 0.1);
}

/* Home booking bar — unified modern strip (removes jagged SVG divider on CTA) */
.site-home-booking-bar.search-area {
    margin: 2rem 0 2.5rem;
    border-radius: 1.15rem;
    overflow: hidden;
    border: 2px solid var(--web-primary, #6b7042) !important;
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);
    background: #fff;
}

/* Rooms page: warm panel like home reference */
.site-ca-rooms-booking.search-area {
    background: #f9f7f2;
    margin-top: 0;
    margin-bottom: 0;
}

.site-ca-rooms-booking .search-form-content .search-option {
    background-color: transparent;
}
@media (min-width: 992px) {
    .site-home-booking-bar.search-area {
        margin: -2rem 0 3rem;
    }
    .site-ca-rooms-booking.site-home-booking-bar.search-area {
        margin: 0 0 2rem;
    }
}
.site-home-booking-bar .search-form-content .btn::before,
.site-home-booking-bar .search-form-content .btn::after,
.site-home-booking-bar .site-home-booking-cta-btn::before,
.site-home-booking-bar .site-home-booking-cta-btn::after {
    display: none !important;
    content: none !important;
    background: none !important;
    border: none !important;
}
.site-home-booking-bar .search-form-content .btn,
.site-home-booking-bar .site-home-booking-cta-btn {
    height: auto !important;
    min-height: 5.75rem;
    border-radius: 0 !important;
    padding: 1rem 1.1rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
    background: var(--web-primary, #6b7042) !important;
    background-image: none !important;
    border: 2px solid var(--web-secondary, #1e293b) !important;
    box-shadow: none !important;
    color: #fff !important;
}

.site-home-booking-bar .search-form-content .btn:hover,
.site-home-booking-bar .site-home-booking-cta-btn:hover {
    background: var(--web-primary, #6b7042) !important;
    filter: brightness(0.94);
    color: #fff !important;
}
.site-home-booking-bar .search-form-content .btn span {
    color: inherit;
}
.site-home-booking-bar .site-home-booking-help {
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.site-home-booking-bar .site-home-booking-phone {
    color: #fff;
    font-size: 1.05rem;
    letter-spacing: 0.02em;
}
.site-home-booking-bar .site-home-booking-submit-text {
    color: #fff;
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    margin-top: 0.15rem;
}
@media (min-width: 992px) {
    .site-home-booking-bar .search-form-content .site-home-booking-seg {
        border-right: 1px solid rgba(15, 23, 42, 0.08);
        min-height: 5.75rem;
    }
    .site-home-booking-bar .search-form-content .site-home-booking-guests {
        border-right: none;
    }
}
@media (max-width: 991.98px) {
    .site-home-booking-bar .search-form-content .site-home-booking-cta-wrap {
        border-top: 1px solid rgba(15, 23, 42, 0.08);
    }
    .site-home-booking-bar .search-form-content .btn,
    .site-home-booking-bar .site-home-booking-cta-btn {
        min-height: 4.5rem;
        border-radius: 0 0 1rem 1rem !important;
    }
}
.site-home-booking-bar .search-form-content .form-control {
    font-weight: 600;
    color: var(--web-primary, #2d5a4c);
}
.site-home-booking-bar .number-spinner,
.site-home-booking-bar .children {
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.35rem;
}

.site-home-booking-bar .number-spinner .btn-pm,
.site-home-booking-bar .children .btn-pm {
    background: rgba(45, 90, 76, 0.1);
    border-radius: 0.35rem;
    min-width: 28px;
    min-height: 28px;
}

/* Checkin / checkout bar (reference style: segmented white strip + compact search button) */
.site-checkbar-v2 {
    border: 1px solid rgba(45, 90, 76, 0.18) !important;
    border-radius: 14px !important;
    padding: 0.7rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.07);
    background: #fff;
}
.site-checkbar-v2 .search-form-content {
    gap: 0;
    align-items: stretch;
}
.site-checkbar-v2 .site-checkbar-field {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0.2rem 0.4rem;
    display: flex;
    flex-direction: column;
}
.site-checkbar-v2 .site-checkbar-field label {
    display: block;
    font-size: 0.78rem;
    color: var(--web-secondary, #1f2937);
    font-weight: 700;
    margin-bottom: 0.38rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.site-checkbar-v2 .site-checkbar-input-wrap {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid #dbe4eb;
    background: #fff;
    border-radius: 9px;
    padding: 0.62rem 0.7rem;
    min-height: 44px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.site-checkbar-v2 .site-checkbar-input-wrap:hover {
    border-color: rgba(45, 90, 76, 0.28);
    background: #ffffff;
}
.site-checkbar-v2 .site-checkbar-input-wrap:focus-within {
    border-color: rgba(45, 90, 76, 0.4);
    box-shadow: 0 0 0 3px rgba(45, 90, 76, 0.1);
    background: #fff;
}
.site-checkbar-v2 .site-checkbar-input-wrap > i {
    color: var(--web-primary, #2d5a4c);
    font-size: 0.9rem;
    width: 14px;
    text-align: center;
    flex: 0 0 14px;
    opacity: 0.72;
}
.site-checkbar-v2 .site-checkbar-input-wrap .form-control,
.site-checkbar-v2 .site-checkbar-input-wrap .custom-select {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    min-height: auto !important;
    box-shadow: none !important;
    color: #334155 !important;
    font-weight: 500;
    line-height: 1.2;
    font-size: 0.98rem;
}
.site-checkbar-v2 .site-checkbar-input-wrap .form-control::placeholder,
.site-checkbar-v2 .site-checkbar-input-wrap .custom-select:invalid {
    color: #94a3b8 !important;
}
.site-checkbar-v2 .site-checkbar-input-wrap .custom-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--web-secondary, #64748b) 50%),
        linear-gradient(135deg, var(--web-secondary, #64748b) 50%, transparent 50%);
    background-position:
        calc(100% - 13px) calc(50% - 2px),
        calc(100% - 8px) calc(50% - 2px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding-right: 1.45rem !important;
    cursor: pointer;
}
.site-checkbar-v2 .site-checkbar-input-wrap .custom-select option {
    color: #0f172a;
    background: #fff;
}
.site-checkbar-v2 .site-checkbar-input-wrap .custom-select:focus {
    color: #0f172a !important;
}
.site-checkbar-v2 .site-checkbar-action-wrap {
    min-height: auto;
    margin-left: 0;
    padding: 0.2rem 0.4rem;
}
.site-checkbar-v2 .site-checkbar-action.site-home-booking-cta-btn,
.site-checkbar-v2 .site-rooms-lux-search-submit.site-home-booking-cta-btn {
    min-height: 44px !important;
    height: auto !important;
    border-radius: 9px !important;
    border: 1px solid var(--web-primary, #2d5a4c) !important;
    background: var(--web-primary, #2d5a4c) !important;
    color: #fff !important;
    padding: 0.68rem 1.15rem !important;
    width: 100% !important;
    box-shadow: none;
}
.site-checkbar-v2 .site-checkbar-action.site-home-booking-cta-btn:hover,
.site-checkbar-v2 .site-rooms-lux-search-submit.site-home-booking-cta-btn:hover {
    background: var(--web-secondary, #1f2937) !important;
    border-color: var(--web-secondary, #1f2937) !important;
    box-shadow: none;
}
.site-checkbar-v2 .site-home-booking-submit-text {
    letter-spacing: 0;
    font-size: 0.92rem;
    text-transform: none;
}

/* Home/rooms datepicker popup modernization (jQuery UI datepicker) */
#ui-datepicker-div,
#ui-datepicker-div.ui-datepicker,
.ui-datepicker {
    width: 19rem;
    padding: 0.55rem 0.6rem 0.6rem;
    border: 1px solid rgba(45, 90, 76, 0.18) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14) !important;
    z-index: 9999 !important;
}
#ui-datepicker-div .ui-datepicker-header,
.ui-datepicker .ui-datepicker-header {
    border: 0 !important;
    background: transparent !important;
    padding: 0.2rem 0.15rem 0.55rem;
}
#ui-datepicker-div .ui-datepicker-title,
.ui-datepicker .ui-datepicker-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--web-secondary, #1f2937);
}
#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next,
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 999px;
    top: 0.05rem;
    cursor: pointer;
    transition: background 0.15s ease;
}
#ui-datepicker-div .ui-datepicker-prev:hover,
#ui-datepicker-div .ui-datepicker-next:hover,
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
    background: rgba(45, 90, 76, 0.08);
    border: 0;
}
#ui-datepicker-div .ui-datepicker-prev span,
#ui-datepicker-div .ui-datepicker-next span,
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    filter: saturate(0.3);
}
#ui-datepicker-div table,
.ui-datepicker table {
    margin: 0;
    font-size: 0.9rem;
}
#ui-datepicker-div th,
.ui-datepicker th {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    font-weight: 700;
    padding: 0.35rem 0.15rem;
}
#ui-datepicker-div td,
.ui-datepicker td {
    padding: 0.08rem;
}
#ui-datepicker-div td span,
#ui-datepicker-div td a,
.ui-datepicker td span,
.ui-datepicker td a {
    border: 0 !important;
    background: transparent !important;
    color: #0f172a !important;
    text-align: center;
    border-radius: 8px;
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    padding: 0 !important;
    margin: 0 auto;
    font-weight: 600;
    transition: background 0.15s ease, color 0.15s ease;
}
#ui-datepicker-div td a:hover,
.ui-datepicker td a:hover {
    background: rgba(45, 90, 76, 0.1) !important;
    color: var(--web-primary, #2d5a4c) !important;
}
#ui-datepicker-div td.ui-datepicker-today a,
.ui-datepicker td.ui-datepicker-today a {
    background: rgba(45, 90, 76, 0.12) !important;
    color: var(--web-primary, #2d5a4c) !important;
}
#ui-datepicker-div td.ui-datepicker-current-day a,
#ui-datepicker-div .ui-state-active,
.ui-datepicker td.ui-datepicker-current-day a,
.ui-datepicker .ui-state-active {
    background: var(--web-primary, #2d5a4c) !important;
    color: #fff !important;
}
#ui-datepicker-div .ui-state-disabled span,
.ui-datepicker .ui-state-disabled span {
    opacity: 0.4;
    color: #94a3b8 !important;
}
#ui-datepicker-div select.ui-datepicker-month,
#ui-datepicker-div select.ui-datepicker-year,
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    border: 1px solid #dbe4eb !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    padding: 0.18rem 0.35rem !important;
    margin: 0 0.1rem !important;
}
.site-checkbar-v2 .site-checkbar-chips {
    gap: 0.45rem;
    padding: 0.35rem 0.2rem 0.05rem;
}
.site-checkbar-v2 .site-checkbar-chip {
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    border-radius: 999px;
    padding: 0.18rem 0.72rem;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.35;
}
.site-checkbar-v2 .site-checkbar-chip.is-active {
    background: #111827;
    border-color: #111827;
    color: #fff;
}
@media (max-width: 991.98px) {
    .site-checkbar-v2 .site-checkbar-action-wrap {
        justify-content: stretch !important;
        margin-top: 0.25rem;
        margin-left: 0;
        min-height: auto;
    }
    .site-checkbar-v2 .site-checkbar-action.site-home-booking-cta-btn,
    .site-checkbar-v2 .site-rooms-lux-search-submit.site-home-booking-cta-btn {
        width: 100% !important;
        min-height: 50px !important;
    }
}
@media (min-width: 992px) {
    .site-checkbar-v2 .site-home-booking-seg,
    .site-checkbar-v2 .site-home-booking-cta-wrap {
        padding-left: 0.35rem;
        padding-right: 0.35rem;
    }
    .site-checkbar-v2 .search-form-content {
        margin-left: -0.35rem;
        margin-right: -0.35rem;
    }
}

/* Dropdown parent: tight padding between label and caret */
.site-nav-pill .navbar-nav .nav-item.dropdown .site-nav-main-link {
    padding-right: 0.15rem !important;
}
.site-nav-pill .navbar-nav .nav-item.dropdown .site-nav-sub-caret {
    padding-left: 0.1rem !important;
    padding-right: 0.75rem !important;
    margin-left: -0.05rem;
}

/* Home video block */
.site-home-video-kicker {
    letter-spacing: 0.08em;
}
.site-home-video-head {
    max-width: 1140px;
}
.site-home-video-frame .embed-responsive {
    border-radius: 0.75rem;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.1);
}
.site-home-video-frame .embed-responsive iframe,
.site-home-video-frame .embed-responsive video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #000;
}
.site-home-video-frame--wide {
    max-width: 1600px;
}
.site-home-video-frame--wide .embed-responsive {
    border-radius: 1rem;
}
/* Local upload: no fixed 16:9 — wrapper hugs video so bg-dark isn’t full viewport width */
.site-home-video-frame .site-home-video-file-wrap {
    width: fit-content;
    width: -moz-fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 1rem;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.1);
}
.site-home-video-frame .site-home-video-file {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: min(85vh, 1200px);
    margin: 0;
    background: #000;
}
.site-home-offer-img-wrap {
    border-radius: 0.75rem 0.75rem 0 0;
}
.site-home-offer-img {
    display: block;
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: transform 0.35s ease;
}
.site-home-offer-img-wrap:hover .site-home-offer-img {
    transform: scale(1.03);
}
.site-home-offer-badge {
    top: 0.85rem;
    right: 0.85rem;
    font-size: 0.75rem;
    font-weight: 600;
}
.site-home-about-img {
    border-radius: 1rem !important;
    max-height: 420px;
    object-fit: cover;
    width: 100%;
}

/* --- About page --- */
.site-about-visual {
    padding-bottom: 2rem;
}
.site-about-main-img {
    border-radius: 1.15rem;
    object-fit: cover;
    max-height: 520px;
    display: block;
}
.site-about-badge-card {
    position: absolute;
    top: 1rem;
    right: 0.75rem;
    max-width: 220px;
    border-radius: 0.75rem;
    z-index: 2;
}
.site-about-inset {
    position: absolute;
    left: -0.25rem;
    bottom: 0;
    width: 46%;
    max-width: 240px;
    z-index: 3;
}
.site-about-inset-img {
    border: 4px solid #fff;
    object-fit: cover;
    max-height: 180px;
}
.site-about-badge-kicker {
    background: rgba(45, 90, 76, 0.12);
    color: var(--web-primary, #2d5a4c);
    font-weight: 600;
    font-size: 0.8rem;
    padding: 0.4rem 0.9rem;
}
.site-about-history-title {
    color: var(--web-secondary, #1a171b);
    font-size: clamp(1.65rem, 3vw, 2.25rem);
}
.site-about-timeline {
    position: relative;
    margin-left: 0.25rem;
}
.site-about-timeline::before {
    content: "";
    position: absolute;
    left: 1.65rem;
    top: 0.35rem;
    bottom: 1.25rem;
    width: 2px;
    background: rgba(45, 90, 76, 0.2);
}
.site-about-timeline-dot span {
    min-width: 3.25rem;
    padding: 0.35rem 0.5rem;
    font-size: 0.75rem;
}
.site-about-feature-img {
    height: 200px;
    object-fit: cover;
    border-radius: 0.75rem 0.75rem 0 0;
}
.site-about-stats .site-about-stat-num {
    line-height: 1.1;
}
.site-about-room-badge {
    top: 1rem;
    left: 1rem;
}
.site-about-room-pills {
    left: 1rem;
    bottom: 1rem;
}
.site-about-extra-room-img {
    height: 160px;
    object-fit: cover;
    border-radius: 0.75rem 0.75rem 0 0;
}
.site-about-client-logo {
    max-height: 48px;
    width: auto;
    opacity: 0.85;
    filter: grayscale(20%);
}
@media (max-width: 991.98px) {
    .site-about-inset {
        position: relative;
        left: auto;
        bottom: auto;
        width: 70%;
        max-width: 280px;
        margin: -2.5rem auto 0;
    }
    .site-about-badge-card {
        position: relative;
        top: auto;
        right: auto;
        max-width: 100%;
        margin-bottom: 1rem;
    }
    .site-about-timeline::before {
        left: 1.45rem;
    }
}

/* --- Room details (Grandoria-style) --- */
.site-room-details .site-room-details-hero {
    border-color: rgba(45, 90, 76, 0.12) !important;
}
.site-room-details-hero-media {
    border-radius: 1rem;
    box-shadow: 0 12px 40px rgba(26, 23, 27, 0.08);
}
.site-room-details-hero-img {
    display: block;
    min-height: 280px;
    object-fit: cover;
    max-height: 420px;
}
.site-room-details-badge {
    top: 1rem;
    left: 1rem;
    z-index: 2;
    background: var(--web-primary, #2d5a4c);
    color: #fff;
    font-weight: 600;
    font-size: 0.75rem;
    padding: 0.45rem 0.85rem;
    border-radius: 0.35rem;
}
.site-room-details-rating-num {
    display: inline-block;
    background: var(--web-primary, #2d5a4c);
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    padding: 0.25rem 0.65rem;
    border-radius: 0.35rem;
    line-height: 1.2;
}
.site-room-details-title {
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -0.02em;
}
.site-room-gallery-main {
    max-height: 420px;
    object-fit: cover;
}
.site-room-gallery-thumb {
    height: 120px;
    object-fit: cover;
}
@media (min-width: 992px) {
    .site-room-gallery-thumb {
        height: 140px;
    }
}
.site-room-details-testimonial {
    border-left: 4px solid var(--web-primary, #2d5a4c) !important;
}
.site-room-amenity-check {
    color: var(--web-primary, #2d5a4c);
    font-size: 0.75rem;
}
.site-room-details-tabs.nav-pills .nav-link {
    color: var(--web-secondary, #1a171b);
    background: transparent;
    border: 1px solid rgba(45, 90, 76, 0.25);
    margin-right: 0.5rem;
    margin-bottom: 0.35rem;
}
.site-room-details-tabs.nav-pills .nav-link:hover {
    border-color: var(--web-primary, #2d5a4c);
    color: var(--web-primary, #2d5a4c);
}
.site-room-details-tabs.nav-pills .nav-link.active {
    background: var(--web-primary, #2d5a4c);
    border-color: var(--web-primary, #2d5a4c);
    color: #fff;
}
.grandoria-cta-strip,
.site-room-details-cta {
    background: linear-gradient(135deg, #2d5a4c 0%, #1e3d34 100%);
    box-shadow: 0 8px 28px rgba(30, 61, 52, 0.35);
}
.grandoria-cta-strip .text-white-50,
.site-room-details-cta .text-white-50 {
    color: rgba(255, 255, 255, 0.78) !important;
}

/* --- Room details v2 (dashboard-style layout) --- */
.site-room-details-v2 .letter-spacing-1 {
    letter-spacing: 0.06em;
}
.site-rd-pagebar {
    border-bottom: 1px solid rgba(26, 23, 27, 0.08);
}
.site-rd-gallery {
    background: #fff;
}
.site-rd-gallery-badges {
    position: absolute;
    top: 1rem;
    right: 1rem;
    left: auto;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: flex-end;
}
.site-rd-pill {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.92);
    color: #1a171b;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.site-rd-gallery-link {
    display: block;
    line-height: 0;
}
.site-rd-gallery-hero {
    display: block;
    width: 100%;
    min-height: 320px;
    max-height: 460px;
    object-fit: cover;
}
.site-rd-gallery-thumbs {
    position: absolute;
    left: 0.75rem;
    bottom: 0.75rem;
    z-index: 3;
    gap: 0.4rem;
}
.site-rd-thumb-wrap {
    display: block;
    width: 64px;
    height: 64px;
    border-radius: 0.5rem;
    overflow: hidden;
    border: 2px solid #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    flex-shrink: 0;
}
.site-rd-thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.site-rd-feature-icon {
    width: 40px;
    height: 40px;
    border-radius: 0.65rem;
    background: rgba(45, 90, 76, 0.1);
    color: var(--web-primary, #2d5a4c);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}
.site-rd-feature-row:last-child {
    border-bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.site-rd-price-panel {
    background: #fff;
}
.site-rd-panel {
    background: #fff;
}
.site-rd-cal-weekdays,
.site-rd-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.25rem;
    text-align: center;
    font-size: 0.75rem;
}
.site-rd-cal-cell {
    padding: 0.35rem 0;
    border-radius: 0.35rem;
    color: #495057;
    font-weight: 500;
}
.site-rd-cal-cell.is-empty {
    visibility: hidden;
}
.site-rd-cal-cell.is-booked {
    background: #c62828;
    color: #fff;
    font-weight: 700;
}
.site-rd-complimentary-media {
    height: 120px;
    overflow: hidden;
}
.site-rd-complimentary-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.site-rd-booking-item:last-child {
    border-bottom: 0 !important;
}
.site-rd-btn-navy {
    background: #1a2332;
    border-color: #1a2332;
    color: #fff;
}
.site-rd-btn-navy:hover {
    background: #121820;
    border-color: #121820;
    color: #fff;
}
@media (min-width: 992px) {
    .site-rd-gallery-hero {
        min-height: 380px;
    }
    .site-rd-thumb-wrap {
        width: 72px;
        height: 72px;
    }
}

/* --- Room details v3 (luxury split layout) --- */
.site-rd-v3-hero {
    min-height: 280px;
    position: relative;
    overflow: hidden;
}
.site-rd-v3-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1.02);
}
.site-rd-v3-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(26, 23, 27, 0.55) 0%, rgba(26, 23, 27, 0.75) 100%);
}
.site-rd-v3-hero-inner {
    z-index: 1;
}
.site-rd-v3-hero-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    letter-spacing: -0.02em;
}
.site-rd-v3-hero-breadcrumb {
    font-size: 0.9rem;
}
.site-rd-v3-hero-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.45);
}
.site-rd-v3-gallery .site-rd-v3-thumb-col {
    gap: 0.75rem;
}
.site-rd-v3-thumb {
    position: relative;
    display: block;
    border-radius: 1rem;
    overflow: hidden;
    flex: 1 1 30%;
    min-height: 88px;
    max-height: 120px;
    box-shadow: 0 8px 24px rgba(26, 23, 27, 0.12);
}
@media (min-width: 992px) {
    .site-rd-v3-thumb-col {
        flex-direction: column !important;
    }
    .site-rd-v3-thumb {
        flex: 0 0 auto;
        width: 100%;
        min-height: 100px;
        max-height: none;
        height: calc((100% - 1.5rem) / 3);
    }
}
.site-rd-v3-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 88px;
}
.site-rd-v3-thumb--more::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(26, 23, 27, 0.45);
}
.site-rd-v3-thumb-more-label {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-align: center;
    padding: 0 0.5rem;
    line-height: 1.3;
}
.site-rd-v3-hero-main,
.site-rd-v3-main-link {
    border-radius: 1.25rem;
}
.site-rd-v3-main-img {
    display: block;
    width: 100%;
    min-height: 260px;
    max-height: 520px;
    object-fit: cover;
}
@media (min-width: 992px) {
    .site-rd-v3-main-img {
        min-height: 420px;
    }
}
.site-rd-v3-accent {
    color: #b8955c;
}
.site-rd-v3-badge {
    background: var(--web-primary, #2d5a4c) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 0.7rem;
    padding: 0.4rem 0.9rem;
}
.site-rd-v3-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.5rem, 3vw, 2rem);
    letter-spacing: -0.02em;
}
.site-rd-v3-price-lg {
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}
.site-rd-v3-specbar {
    gap: 0.5rem;
}
.site-rd-v3-spec-items {
    gap: 0.75rem 1.25rem;
}
.site-rd-v3-spec-item {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1a171b;
    white-space: nowrap;
}
.site-rd-v3-section-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
}
.site-rd-v3-prose {
    line-height: 1.7;
    font-size: 0.95rem;
}
.site-rd-v3-amenity-cell {
    border: 1px solid rgba(45, 90, 76, 0.15);
    border-radius: 0.85rem;
    background: #fafbfa;
}
.site-rd-v3-amenity-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.65rem;
    background: rgba(45, 90, 76, 0.1);
    color: var(--web-primary, #2d5a4c);
    font-size: 1.1rem;
}
.site-rd-v3-rule-list li {
    margin-bottom: 0.5rem;
}
.site-rd-v3-rule-check {
    color: #c9a227;
}
.site-rd-v3-location-map iframe {
    min-height: 300px;
}
.site-rd-v3-book-sidebar {
    padding-bottom: 2rem;
}
@media (min-width: 992px) {
    .site-rd-v3-book-sidebar {
        position: sticky;
        top: 5.5rem;
        z-index: 4;
    }
}
.site-rd-v3-book-heading {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
}
.site-rd-v3 .site-booking-label {
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6c757d;
}
.site-rd-v3 .site-booking-input,
.site-rd-v3 .site-booking-textarea {
    border-radius: 0.65rem;
}
@media (max-width: 991.98px) {
    .site-rd-v3-hero {
        min-height: 220px;
    }
    .site-rd-v3-specbar {
        gap: 0.75rem;
    }
    .site-rd-v3-spec-items {
        gap: 0.5rem 0.75rem;
    }
    .site-rd-v3-spec-item {
        white-space: normal;
    }
    .site-rd-v3-book-sidebar {
        padding-top: 0.25rem;
    }
}
@media (max-width: 575.98px) {
    .site-rd-v3-main-img {
        min-height: 240px;
    }
    .site-rd-v3-title {
        font-size: 1.35rem;
    }
    .site-rd-v3-price-lg {
        font-size: 1.2rem;
    }
}

/* --- Rooms listing luxury (/rooms Royelle-style) --- */
.site-rooms-lux-page {
    --lux-teal: var(--web-primary, #1a4d4e);
    --lux-teal-dark: var(--web-secondary, #143939);
    --lux-gold: #c59d5f;
    --lux-cream: #f7f5f0;
    --lux-muted: #5c6566;
}
.site-rooms-lux-hero {
    min-height: 300px;
    position: relative;
    overflow: hidden;
}
.site-rooms-lux-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-image: linear-gradient(135deg, #2a4a4b 0%, #1a4d4e 45%, #0f2f30 100%);
}
.site-rooms-lux-hero-bg--photo {
    background-image: linear-gradient(180deg, rgba(15, 23, 42, 0.12) 0%, rgba(15, 23, 42, 0.4) 100%), var(--lux-rooms-hero-image);
}
.site-rooms-lux-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(26, 77, 78, 0.12) 0%, rgba(15, 40, 41, 0.38) 100%);
}
.site-rooms-lux-hero-inner {
    z-index: 1;
}
.site-rooms-lux-hero-title {
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: #fff;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}
.site-rooms-lux-hero-lead {
    font-size: 0.95rem;
    max-width: 36rem;
    color: rgba(255, 255, 255, 0.92) !important;
}
.site-rooms-lux-hero-breadcrumb {
    font-size: 0.88rem;
}
.site-rooms-lux-hero-breadcrumb .breadcrumb-item a {
    color: rgba(255, 255, 255, 0.88);
}
.site-rooms-lux-hero-breadcrumb .breadcrumb-item a:hover {
    color: #fff;
}
.site-rooms-lux-hero-breadcrumb .breadcrumb-item.active {
    color: rgba(255, 255, 255, 0.65);
}
.site-rooms-lux-hero-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.45);
}
.site-rooms-lux-search-wrap {
    margin-top: -2.25rem;
    position: relative;
    z-index: 2;
}
.site-rooms-lux-booking-bar.grandoria-search-wrap {
    border-radius: 1rem !important;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(26, 77, 78, 0.12);
}
.site-rooms-lux-search-submit.site-home-booking-cta-btn {
    background: var(--lux-teal) !important;
    border-color: var(--lux-teal) !important;
}
.site-rooms-lux-search-submit.site-home-booking-cta-btn:hover {
    background: var(--lux-teal-dark) !important;
    border-color: var(--lux-teal-dark) !important;
}
.site-rooms-lux-filter-links {
    gap: 0.15rem 0;
}
.site-rooms-lux-filter-link {
    color: var(--web-secondary, #1f2937);
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.2rem 0.35rem;
}
.site-rooms-lux-filter-link:hover {
    color: var(--lux-teal);
    text-decoration: none;
}
.site-rooms-lux-filter-dot {
    color: #cbd5e1;
    padding: 0 0.25rem;
    user-select: none;
}
.site-rooms-lux-listing {
    background: var(--lux-cream);
}
.site-rooms-lux-intro {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
.site-rooms-lux-ornament {
    width: min(200px, 70vw);
    height: 1.25rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.95;
}
.site-rooms-lux-ornament::before,
.site-rooms-lux-ornament::after {
    content: "";
    position: absolute;
    top: 50%;
    width: calc(50% - 1rem);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--lux-gold), var(--lux-gold));
}
.site-rooms-lux-ornament::before {
    left: 0;
    transform: scaleX(-1);
}
.site-rooms-lux-ornament::after {
    right: 0;
}
.site-rooms-lux-ornament-mid {
    color: var(--lux-gold);
    font-size: 0.55rem;
    line-height: 1;
    position: relative;
    z-index: 1;
    padding: 0 0.25rem;
    background: var(--lux-cream);
}
.site-rooms-lux-ornament--dark .site-rooms-lux-ornament-mid {
    background: #fff;
}
.site-rooms-lux-ornament--dark::before,
.site-rooms-lux-ornament--dark::after {
    background: linear-gradient(90deg, transparent, rgba(197, 157, 95, 0.75), rgba(197, 157, 95, 0.75));
}
.site-rooms-lux-kicker {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: var(--lux-gold);
}
.site-rooms-lux-section-title {
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem, 3.5vw, 2.35rem);
    font-weight: 600;
    color: #1b1f1f;
    letter-spacing: -0.02em;
}
.site-rooms-lux-filters {
    border-radius: 1rem !important;
    border: 1px solid rgba(26, 77, 78, 0.08) !important;
}
.site-rooms-lux-select {
    border-radius: 0.65rem !important;
    border-color: #e2e8e0 !important;
}
.site-rooms-lux-results-meta {
    border-left: 3px solid var(--lux-gold);
    padding-left: 0.85rem;
}
.site-rooms-lux-grid {
    margin-left: -12px;
    margin-right: -12px;
}
.site-rooms-lux-grid > [class*="col-"] {
    padding-left: 12px;
    padding-right: 12px;
}
.site-rooms-lux-card {
    border-radius: 1.15rem !important;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(26, 23, 27, 0.08) !important;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    background: #fff;
    border: 1px solid rgba(26, 77, 78, 0.08) !important;
}
.site-rooms-lux-card:hover {
    box-shadow: 0 20px 50px rgba(26, 23, 27, 0.12) !important;
    transform: translateY(-3px);
}
.site-rooms-lux-card-media {
    background: #edf1f0;
}
.site-rooms-lux-card-img-link {
    line-height: 0;
}
.site-rooms-lux-card-img {
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    min-height: 200px;
}
.site-rooms-lux-card .site-room-badge {
    top: auto;
    bottom: 1rem;
    left: 1rem;
    border-radius: 2rem;
    padding: 0.35rem 0.85rem;
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: var(--lux-teal) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}
.site-rooms-lux-card .site-room-badge--luxury {
    background: var(--lux-teal) !important;
}
.site-rooms-lux-card-price {
    font-size: 1.2rem;
    color: var(--lux-teal);
}
.site-rooms-lux-card-price-unit {
    font-size: 0.88rem;
    color: var(--web-secondary, #475569);
}
.site-rooms-lux-card-total {
    color: var(--web-secondary, #1f2937);
    line-height: 1.35;
}
.site-rooms-lux-card-total strong {
    color: var(--lux-teal);
    font-weight: 700;
}
.site-rooms-lux-star {
    color: var(--lux-gold);
    font-size: 0.85rem;
}
.site-rooms-lux-card-rating {
    font-weight: 700;
    color: var(--lux-gold);
    font-size: 1rem;
}
.site-rooms-lux-card-title {
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.3;
}
.site-rooms-lux-card-title a:hover {
    color: var(--web-primary, var(--lux-teal)) !important;
    text-decoration: none;
}
.site-rooms-lux-card-rule {
    border-color: rgba(26, 77, 78, 0.12);
}
.site-rooms-lux-spec-icon {
    color: var(--lux-teal);
    font-size: 1rem;
}
.site-rooms-lux-spec-val {
    font-size: 0.82rem;
    color: var(--web-secondary, #1e293b);
    line-height: 1.25;
}
.site-rooms-lux-spec-lbl {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.site-rooms-lux-btn-primary {
    background: var(--lux-teal) !important;
    border-color: var(--lux-teal) !important;
    color: #fff !important;
    border-radius: 0.65rem !important;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
}
.site-rooms-lux-btn-primary:hover {
    background: var(--lux-teal-dark) !important;
    border-color: var(--lux-teal-dark) !important;
    color: #fff !important;
}
.site-rooms-lux-btn-outline {
    border: 2px solid rgba(26, 77, 78, 0.22) !important;
    background: #fff !important;
    color: var(--web-secondary, #334155) !important;
    border-radius: 0.65rem !important;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
}
.site-rooms-lux-btn-outline:hover {
    border-color: var(--lux-teal) !important;
    color: var(--lux-teal) !important;
    background: #fff !important;
}
.site-rooms-lux-load-more {
    font-weight: 600;
    border: 2px solid var(--lux-teal) !important;
    color: var(--lux-teal) !important;
    background: #fff !important;
}
.site-rooms-lux-load-more:hover {
    background: rgba(26, 77, 78, 0.06) !important;
    color: var(--lux-teal-dark) !important;
}
.site-rooms-lux-load-more .site-rooms-load-icon {
    border-color: var(--lux-teal);
    color: var(--lux-teal);
}
.site-rooms-lux-features {
    background: linear-gradient(90deg, var(--web-primary, #1a4d4e) 0%, var(--web-secondary, #0f2f30) 100%);
    border-radius: 1rem;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}
.site-rooms-lux-features-inner {
    gap: 0.75rem 1rem;
    line-height: 1.5;
}
.site-rooms-lux-features-sep {
    color: var(--lux-gold);
    opacity: 0.95;
    font-size: 0.65rem;
}
.site-rooms-lux-cta-kicker {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--lux-gold);
}
.site-rooms-lux-cta-title {
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-size: clamp(1.5rem, 3vw, 2.1rem);
    font-weight: 600;
    color: #1b1f1f;
    letter-spacing: -0.02em;
    line-height: 1.3;
}
.site-rooms-lux-empty-title {
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
}
@media (max-width: 575.98px) {
    .site-rooms-lux-features-inner span:not(.site-rooms-lux-features-sep) {
        flex: 1 1 40%;
    }
    .site-rooms-lux-features-sep {
        display: none;
    }
}

/* --- Facilities / Amenities / Services pages (visual refresh) --- */
.site-facilities-v2 {
    --fac-teal: var(--web-primary, #1a4d4e);
    --fac-gold: #c59d5f;
    --fac-soft: #f6f6f2;
}
.site-facilities-v2-hero {
    min-height: 300px;
    background-size: cover;
    background-position: center;
    border-radius: 0;
}
.site-facilities-v2-hero .site-facilities-v2-kicker {
    color: rgba(255, 255, 255, 0.9) !important;
}
.site-facilities-v2-hero .site-facilities-v2-title {
    color: #fff !important;
}
.site-facilities-v2-hero .site-facilities-v2-lead {
    color: rgba(255, 255, 255, 0.9) !important;
}
.site-facilities-v2-kicker {
    color: var(--fac-gold);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
}
.site-facilities-v2-title,
.site-facilities-v2-section-title {
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    letter-spacing: -0.02em;
}
.site-facilities-v2-title {
    font-size: clamp(1.85rem, 4.8vw, 3rem);
}
.site-facilities-v2-section-title {
    font-size: clamp(1.5rem, 3.5vw, 2.2rem);
    font-weight: 600;
}
.site-facilities-v2-lead {
    max-width: 52rem;
}
.site-facilities-v2-intro-img {
    min-height: 220px;
    object-fit: cover;
}
.site-facilities-v2-card {
    border-radius: 1rem !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08) !important;
}
.site-facilities-v2-card-image {
    min-height: 180px;
    background-size: cover;
    background-position: center;
}
.site-facilities-v2-icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(26, 77, 78, 0.1);
    color: var(--fac-teal);
}
.site-facilities-v2-list li {
    color: #59636f;
    margin-bottom: 0.35rem;
}
.site-facilities-v2-list i {
    color: var(--fac-gold);
}
.site-facilities-v2-gallery-img {
    min-height: 210px;
    object-fit: cover;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.1);
}
.site-facilities-v2-subcard {
    border-radius: 1rem !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08) !important;
}
.site-facilities-v2-subcard-img {
    min-height: 240px;
    max-height: 320px;
    object-fit: cover;
}

/* --- Restaurant page --- */
.site-restaurant-hero-title {
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -0.02em;
}
.site-restaurant-feature i {
    font-size: 1.25rem;
}
.site-restaurant-hero-collage {
    min-height: 280px;
}
.site-restaurant-collage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 0.75rem;
    align-items: stretch;
}
.site-restaurant-collage-img {
    width: 100%;
    object-fit: cover;
    display: block;
}
.site-restaurant-collage-img--1 {
    grid-column: 1;
    grid-row: 1;
    min-height: 120px;
    max-height: 160px;
}
.site-restaurant-collage-img--2 {
    grid-column: 2;
    grid-row: 1;
    min-height: 120px;
    max-height: 160px;
}
.site-restaurant-collage-img--3 {
    grid-column: 1 / -1;
    grid-row: 2;
    min-height: 180px;
    max-height: 240px;
}
.site-restaurant-years-badge {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    background: var(--web-primary, #2d5a4c);
    color: #fff;
    font-weight: 700;
    font-size: 0.85rem;
    padding: 0.65rem 1rem;
    border-radius: 0.35rem;
    max-width: 200px;
    line-height: 1.3;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}
.site-restaurant-menu-head {
    padding-top: 1rem;
}
.site-restaurant-menu-watermark {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -58%);
    font-size: clamp(3.5rem, 14vw, 7rem);
    font-weight: 800;
    color: rgba(45, 90, 76, 0.06);
    pointer-events: none;
    white-space: nowrap;
    letter-spacing: 0.08em;
}
.site-restaurant-menu-head .h3 {
    position: relative;
    z-index: 1;
}
.site-restaurant-special-img {
    height: 200px;
    object-fit: cover;
}
@media (max-width: 575.98px) {
    .site-restaurant-collage-img--3 {
        min-height: 140px;
    }
}

/* --- Offers page --- */
.site-offers-card {
    border-radius: 0.85rem !important;
}
.site-offers-media {
    overflow: hidden;
    border-radius: 0.85rem 0.85rem 0 0;
}
.site-offers-img {
    display: block;
    object-fit: cover;
    width: 100%;
}
.site-offers-img--featured {
    min-height: 240px;
    max-height: 320px;
}
.site-offers-img--compact {
    min-height: 160px;
    max-height: 200px;
}
.site-offers-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: var(--web-primary, #2d5a4c);
    color: #fff;
    font-weight: 700;
    font-size: 0.75rem;
    padding: 0.4rem 0.75rem;
    border-radius: 2rem;
    z-index: 2;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}
.site-offers-badge--sm {
    top: 0.75rem;
    right: 0.75rem;
    font-size: 0.7rem;
    padding: 0.3rem 0.6rem;
}
.site-offers-card-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
    color: var(--web-secondary, #1a171b);
}
.site-offers-card-title--sm {
    font-size: 1.05rem;
}
.site-offers-old-price {
    font-size: 1rem;
    margin-right: 0.35rem;
}
.site-offers-new-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--web-primary, #2d5a4c);
}
.site-offers-per {
    font-size: 0.9rem;
    font-weight: 400;
    color: #6c757d;
}
.site-offers-cta {
    letter-spacing: 0.04em;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
}

/* --- Events page --- */
.site-events-hero-title {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--web-primary, #2d5a4c);
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    letter-spacing: -0.02em;
}
.site-events-section-title {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--web-secondary, #1a171b);
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
    letter-spacing: -0.02em;
}
.site-events-gallery-img {
    border-radius: 1rem;
    object-fit: cover;
    min-height: 200px;
    width: 100%;
    box-shadow: 0 8px 28px rgba(26, 23, 27, 0.08);
}
.site-events-gallery-img--tall {
    min-height: 260px;
}
.site-events-facility-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    background: var(--web-primary, #2d5a4c);
    font-size: 1rem;
}
.site-events-collage-main {
    max-height: 280px;
    object-fit: cover;
    box-shadow: 0 8px 24px rgba(26, 23, 27, 0.08);
}
.site-events-collage-sub {
    height: 140px;
    object-fit: cover;
    box-shadow: 0 4px 16px rgba(26, 23, 27, 0.06);
}
.site-events-package-card {
    border-radius: 1rem !important;
}
.site-events-popular-badge {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    background: var(--web-primary, #2d5a4c);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.35rem 0.65rem;
    border-radius: 2rem;
    z-index: 2;
}
.site-events-package-icon {
    width: 56px;
    height: 56px;
    background: rgba(45, 90, 76, 0.1);
    color: var(--web-primary, #2d5a4c);
    font-size: 1.2rem;
}
.site-events-package-tags .badge {
    margin: 0.15rem;
    font-size: 0.72rem;
    padding: 0.35rem 0.55rem;
    border-radius: 2rem;
}
.site-events-service-card {
    border-radius: 0.85rem !important;
}
.site-events-service-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(45, 90, 76, 0.1);
    color: var(--web-primary, #2d5a4c);
    font-size: 1rem;
}

/* Availability bar v3: modernized fields + datepicker + select */
.site-checkbar-v2.search-area {
    border: 1px solid rgba(45, 90, 76, 0.2) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfa 100%);
    box-shadow: 0 16px 42px rgba(15, 23, 42, 0.1);
    padding: 0.85rem;
}
.site-checkbar-v2 .search-form-content {
    gap: 0.4rem;
}
.site-checkbar-v2 .site-checkbar-field {
    padding: 0.3rem;
}
.site-checkbar-v2 .site-checkbar-field label {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    margin-bottom: 0.45rem;
    color: #475569;
}
.site-checkbar-v2 .site-checkbar-input-wrap {
    border: 1px solid #d6e2de;
    border-radius: 12px;
    min-height: 48px;
    padding: 0.5rem 0.75rem;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.site-checkbar-v2 .site-checkbar-input-wrap:hover {
    border-color: rgba(45, 90, 76, 0.35);
    transform: translateY(-1px);
}
.site-checkbar-v2 .site-checkbar-input-wrap:focus-within {
    border-color: rgba(45, 90, 76, 0.55);
    box-shadow: 0 0 0 4px rgba(45, 90, 76, 0.12);
}
.site-checkbar-v2 .site-checkbar-input-wrap > i {
    color: var(--web-primary, #2d5a4c);
    font-size: 1rem;
    opacity: 0.9;
}
.site-checkbar-v2 .site-checkbar-input-wrap .form-control,
.site-checkbar-v2 .site-checkbar-input-wrap .custom-select {
    font-size: 0.98rem;
    font-weight: 600;
    color: #0f172a !important;
    line-height: 1.2 !important;
}

/* Select2 inside availability bar */
.site-checkbar-v2 .site-checkbar-input-wrap .select2-container {
    width: 100% !important;
}
.site-checkbar-v2 .site-checkbar-input-wrap .select2-container--bootstrap .select2-selection {
    border: 0 !important;
    background: transparent !important;
    min-height: auto !important;
    height: auto !important;
    padding: 0 !important;
    box-shadow: none !important;
}
.site-checkbar-v2 .site-checkbar-input-wrap .select2-container--bootstrap .select2-selection__rendered {
    color: #0f172a !important;
    font-size: 0.98rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    padding: 0 !important;
    min-height: 18px !important;
    margin: 0 !important;
}
.site-checkbar-v2 .site-checkbar-input-wrap .select2-selection__placeholder {
    line-height: 1.2 !important;
}
.site-checkbar-v2 .site-checkbar-input-wrap .select2-container--bootstrap .select2-selection--single {
    display: flex !important;
    align-items: center !important;
}
.site-checkbar-v2 .site-checkbar-input-wrap .select2-container--bootstrap .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%);
    right: 0 !important;
}

/* CTA button refresh */
.site-checkbar-v2 .site-checkbar-action.site-home-booking-cta-btn,
.site-checkbar-v2 .site-rooms-lux-search-submit.site-home-booking-cta-btn {
    min-height: 54px !important;
    border-radius: 12px !important;
    border: 0 !important;
    background: linear-gradient(135deg, var(--web-primary, #2d5a4c) 0%, var(--web-secondary, #1f2937) 100%) !important;
    box-shadow: 0 10px 24px rgba(45, 90, 76, 0.3);
}
.site-checkbar-v2 .site-checkbar-action.site-home-booking-cta-btn:hover,
.site-checkbar-v2 .site-rooms-lux-search-submit.site-home-booking-cta-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(31, 41, 55, 0.35);
}
.site-checkbar-v2 .site-home-booking-submit-text {
    font-size: 0.98rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

/* Daterangepicker popup refresh */
.daterangepicker {
    border: 1px solid rgba(45, 90, 76, 0.18) !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.18) !important;
    overflow: hidden;
}
.daterangepicker .drp-calendar {
    max-width: 320px;
}
.daterangepicker .calendar-table {
    border: 0 !important;
    background: #fff !important;
}
.daterangepicker .calendar-table th {
    color: #64748b !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.08em;
    font-weight: 700 !important;
}
.daterangepicker td.available:hover,
.daterangepicker th.available:hover {
    background: rgba(45, 90, 76, 0.1) !important;
    color: var(--web-primary, #2d5a4c) !important;
}
.daterangepicker td.active,
.daterangepicker td.active:hover {
    background: var(--web-primary, #2d5a4c) !important;
    color: #fff !important;
}
.daterangepicker td.off,
.daterangepicker td.off.in-range,
.daterangepicker td.off.start-date,
.daterangepicker td.off.end-date {
    color: #cbd5e1 !important;
}
.daterangepicker .monthselect,
.daterangepicker .yearselect {
    border: 1px solid #dbe4eb !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #1f2937 !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
}
.daterangepicker .drp-buttons {
    border-top: 1px solid #eef2f6 !important;
    background: #fcfdfd;
}

@media (max-width: 991.98px) {
    .site-checkbar-v2.search-area {
        border-radius: 14px !important;
        padding: 0.65rem;
    }
    .site-checkbar-v2 .site-checkbar-input-wrap {
        min-height: 46px;
        padding-top: 0.46rem;
        padding-bottom: 0.46rem;
    }
}

/* Home hero + availability bar layout (reference replication) */
.site-home-hero--cartono {
    padding: 0.85rem 0 0.45rem;
}
.site-home-hero--cartono .site-home-hero-topbar {
    display: none;
}
.site-home-hero--cartono .site-home-hero-inset {
    max-width: 1240px;
}
.site-home-hero--cartono .site-home-hero-visual-cartono {
    border-radius: 28px;
    overflow: hidden;
    height: 88vh;
    min-height: 80vh;
    max-height: 100vh;
    box-shadow: 0 20px 48px rgba(2, 6, 23, 0.18);
}
.site-home-hero--cartono .site-home-hero-cartono-img {
    height: 100%;
    object-fit: cover;
}
.site-home-hero--cartono .site-home-hero-overlay {
    background: linear-gradient(90deg, rgba(8, 10, 14, 0.78) 0%, rgba(8, 10, 14, 0.52) 45%, rgba(8, 10, 14, 0.22) 100%) !important;
}
.site-home-hero--cartono .site-home-hero-overlay-inner {
    align-items: center;
}
.site-home-hero--cartono .site-home-hero-overlay-content {
    max-width: 680px;
    padding-left: clamp(1rem, 2.6vw, 2.2rem) !important;
    padding-right: clamp(1rem, 2.6vw, 2.2rem) !important;
    padding-top: clamp(1.2rem, 3.2vw, 2.2rem) !important;
    padding-bottom: clamp(1.2rem, 3.2vw, 2.2rem) !important;
}
.site-home-hero--cartono .site-home-hero-cartono-title {
    color: #fff;
    font-size: clamp(1.7rem, 4.4vw, 3.2rem);
    line-height: 1.08;
    letter-spacing: -0.03em;
    max-width: 12ch;
    margin-bottom: 0.78rem !important;
}
.site-home-hero--cartono .site-home-hero-cartono-lead {
    color: rgba(241, 245, 249, 0.96);
    max-width: 50ch;
    font-size: clamp(0.94rem, 1.2vw, 1.1rem);
    line-height: 1.48;
}
.site-home-hero--cartono .site-home-hero-cartono-kicker {
    color: rgba(255, 255, 255, 0.9);
    letter-spacing: 0.11em;
    margin-bottom: 0.8rem !important;
}

/* Docked availability bar into hero bottom */
#home-search {
    margin-top: -48px;
    position: relative;
    z-index: 8;
    margin-bottom: 1.25rem;
}
#home-search .site-checkbar-v2.search-area {
    border: 1px solid rgba(45, 90, 76, 0.2) !important;
    border-radius: 16px !important;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.16);
    padding: 0.55rem;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}
#home-search .site-checkbar-v2 .search-form-content {
    gap: 0;
}
#home-search .site-checkbar-v2 .site-checkbar-field,
#home-search .site-checkbar-v2 .site-checkbar-action-wrap {
    padding: 0.15rem;
}
#home-search .site-checkbar-v2 .site-checkbar-input-wrap {
    border: 0;
    border-right: 1px solid rgba(45, 90, 76, 0.14);
    border-radius: 0;
    min-height: 78px;
    padding: 0.45rem 0.9rem;
    box-shadow: none;
}
#home-search .site-checkbar-v2 .site-checkbar-field:last-of-type .site-checkbar-input-wrap {
    border-right: 0;
}
#home-search .site-checkbar-v2 .site-checkbar-input-wrap:hover,
#home-search .site-checkbar-v2 .site-checkbar-input-wrap:focus-within {
    transform: none;
    border-color: rgba(45, 90, 76, 0.18);
    box-shadow: inset 0 0 0 1px rgba(45, 90, 76, 0.16);
    background: #fff;
}
#home-search .site-checkbar-v2 .site-checkbar-field label {
    font-size: 0.67rem;
    color: rgba(31, 41, 55, 0.6);
    margin-bottom: 0.5rem;
}
/* Cancel legacy .search-form-content .search-option label { position:absolute } so labels stack above fields */
#home-search .site-checkbar-v2 .search-form-content .site-checkbar-field > label,
#site-rooms-lux-search .site-checkbar-v2 .search-form-content .site-checkbar-field > label {
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: auto !important;
    max-width: none !important;
    pointer-events: auto !important;
    z-index: auto !important;
}
#home-search .site-checkbar-v2 .site-checkbar-input-wrap .form-control,
#home-search .site-checkbar-v2 .site-checkbar-input-wrap .custom-select,
#home-search .site-checkbar-v2 .site-checkbar-input-wrap .select2-container--bootstrap .select2-selection__rendered {
    font-size: 1.04rem;
    font-weight: 700;
    color: #111827 !important;
    line-height: 1.22 !important;
}
#home-search .site-checkbar-v2 .site-checkbar-input-wrap > i {
    color: var(--web-primary, #2d5a4c);
    font-size: 0.86rem;
}
/* Prevent native select text from leaking behind Select2 text */
#home-search .site-checkbar-v2 .site-checkbar-input-wrap select.select2-hidden-accessible {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
#home-search .site-checkbar-v2 .site-checkbar-input-wrap select.site-checkbar-select,
#home-search .site-checkbar-v2 .site-checkbar-input-wrap select.select2,
#home-search .site-checkbar-v2 .site-checkbar-input-wrap select.custom-select {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
#home-search .site-checkbar-v2 .site-checkbar-input-wrap .select2-container {
    width: 100% !important;
    display: block !important;
}
#home-search .site-checkbar-v2 .site-checkbar-input-wrap .select2-container--bootstrap .select2-selection--single {
    display: flex !important;
    align-items: center !important;
    min-height: auto !important;
    height: auto !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}
#home-search .site-checkbar-v2 .site-checkbar-input-wrap .select2-container--bootstrap .select2-selection__rendered {
    padding: 0 !important;
    margin: 0 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 20px !important;
}
#home-search .site-checkbar-v2 .site-checkbar-input-wrap .select2-container--bootstrap .select2-selection__placeholder {
    color: #111827 !important;
    opacity: 1;
}
#home-search .site-checkbar-v2 .site-checkbar-input-wrap .select2-container--bootstrap .select2-selection__arrow {
    right: 2px !important;
    top: 50% !important;
    transform: translateY(-50%);
}
#home-search .site-checkbar-v2 .site-checkbar-action.site-home-booking-cta-btn,
#home-search .site-checkbar-v2 .site-rooms-lux-search-submit.site-home-booking-cta-btn {
    min-height: 72px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, var(--web-primary, #2d5a4c) 0%, var(--web-secondary, #1f2937) 100%) !important;
    box-shadow: 0 10px 24px rgba(31, 41, 55, 0.22);
}
#home-search .site-checkbar-v2 .site-home-booking-submit-text {
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

@media (max-width: 991.98px) {
    .site-home-hero--cartono {
        padding-top: 0.55rem;
    }
    .site-home-hero--cartono .site-home-hero-visual-cartono,
    .site-home-hero--cartono .site-home-hero-cartono-img {
        height: 58vh;
        min-height: 360px;
        max-height: 78vh;
        border-radius: 20px;
    }
    #home-search {
        margin-top: -22px;
    }
    #home-search .site-checkbar-v2 .site-checkbar-input-wrap {
        min-height: 60px;
        border-right: 0;
        border-bottom: 1px solid #eef2f7;
    }
    #home-search .site-checkbar-v2 .site-checkbar-input-wrap .form-control,
    #home-search .site-checkbar-v2 .site-checkbar-input-wrap .custom-select,
    #home-search .site-checkbar-v2 .site-checkbar-input-wrap .select2-container--bootstrap .select2-selection__rendered {
        font-size: 1.06rem;
    }
    #home-search .site-checkbar-v2 .site-checkbar-action.site-home-booking-cta-btn,
    #home-search .site-checkbar-v2 .site-rooms-lux-search-submit.site-home-booking-cta-btn {
        min-height: 56px !important;
    }
}

/* Room type & guests: spacing + alignment (class-based; avoids brittle nth-child / conflicting hide rules) */
#home-search .site-checkbar-v2 .site-checkbar-field--select label,
#site-rooms-lux-search .site-checkbar-v2 .site-checkbar-field--select label {
    margin-bottom: 1.2rem !important;
    text-align: left !important;
}
#home-search .site-checkbar-v2 .site-checkbar-field--select .site-checkbar-input-wrap,
#site-rooms-lux-search .site-checkbar-v2 .site-checkbar-field--select .site-checkbar-input-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0.95rem !important;
    padding-bottom: 0.95rem !important;
}
#home-search .site-checkbar-v2 .site-checkbar-field--select .site-checkbar-input-wrap .select2-container,
#site-rooms-lux-search .site-checkbar-v2 .site-checkbar-field--select .site-checkbar-input-wrap .select2-container {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
}
#home-search .site-checkbar-v2 .site-checkbar-field--select .select2-container--bootstrap .select2-selection--single,
#site-rooms-lux-search .site-checkbar-v2 .site-checkbar-field--select .select2-container--bootstrap .select2-selection--single {
    align-items: center !important;
    justify-content: center !important;
    min-height: 2.35rem !important;
}
#home-search .site-checkbar-v2 .site-checkbar-field--select .select2-container--bootstrap .select2-selection__rendered,
#site-rooms-lux-search .site-checkbar-v2 .site-checkbar-field--select .select2-container--bootstrap .select2-selection__rendered {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-right: 1.35rem !important;
    line-height: 1.22 !important;
    text-align: center !important;
}
#home-search .site-checkbar-v2 .site-checkbar-field--select .select2-container--bootstrap .select2-selection__arrow,
#site-rooms-lux-search .site-checkbar-v2 .site-checkbar-field--select .select2-container--bootstrap .select2-selection__arrow {
    right: 8px !important;
}
#home-search #home_roomtype + .select2-container,
#home-search #home_guests + .select2-container,
#site-rooms-lux-search #roomlist_roomtype + .select2-container,
#site-rooms-lux-search #roomlist_guests + .select2-container {
    display: block !important;
    width: 100% !important;
}
#home-search #home_roomtype,
#home-search #home_guests,
#site-rooms-lux-search #roomlist_roomtype,
#site-rooms-lux-search #roomlist_guests {
    display: none !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Facilities / amenities / services media-first cards */
.site-service-media-card-img {
    width: 78px;
    height: 78px;
    border-radius: 14px;
    object-fit: cover;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}
.site-facilities-v2-list li {
    position: relative;
    padding-left: 0.9rem;
}
.site-facilities-v2-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--web-primary, #2d5a4c);
}