@font-face {
    font-family: 'BigCaslon';
    src: url('fonts/BigCaslon-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}



/* ===================== VARIABLES ===================== */
:root {
    --font-title: 'BigCaslon', serif;
    --font-body: 'Montserrat', serif;
    --max-width: 1435px;
    --side-pad: 80px;
    --legacy-gold: #BB9556;
    --dark-grey-tin: #313131;
    --dark-grey: #2B2627;
    --white: #ffffff;
    --starlight-sand: #FAE2B4;
    --legacy-gold-shade: #886E43;
    --of-white: #F2EEE2;
    --starlight-sand-shade: #C3B597;
    --heritage-red: #710012;
}

html {
    scroll-behavior: smooth;
}

/* ===================== RESET ===================== */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
h1,h2,h3,h4,h5,h6 {
    font-weight: normal;
}
html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    color: var(--dark-grey-tin);
    background: var(--white);
    overflow-x: hidden;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.2px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-kerning: normal;
    text-rendering: optimizeLegibility;
}

img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

a {
    text-decoration: none;
    color: inherit;
}

.swiper-button-next,
.swiper-button-prev {
    color: var(--of-white);
}

.hidden-md {
    display: none !important;
}

#booknow-mobile {
    opacity: 0;
    transition: 0.4s ease-in;
}

.section-line {
    background: var(--legacy-gold);
    width: 1px;
    height: 79px;
    margin: 0 auto 20px;
}

.section-title {
    font-size: clamp(32px, 6.25vw, 64px);
    font-family: var(--font-title);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 0.4em;
    color: var(--legacy-gold);
    margin: 0 auto 17px;
}

.section-eyebrow {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    color: var(--legacy-gold);
    margin-bottom: 20px;
}

.section-text {
    font-size: 20px;
    line-height: 28px;
    color: var(--dark-grey-tin);
    margin: 0 auto 20px;
    max-width: 950px;
}

.expslidehalf .section-title {
    font-size: 25px;
    color: var(--of-white);
    margin-bottom: 0;
}

.expslidehalf .section-title br {
    display: none;
}

/*slides*/
.slide-expp {
    width: 100%;
    position: relative;
}

.slide-expp .swiper-slide {
    opacity: 0.5;
    transition: all 1s ease;
}

.slide-expp .swiper-slide.swiper-slide-active {
    opacity: 1;
    transition: all 1s ease;
}

.expslide-item>div:first-child {
    position: relative;
    overflow: hidden;
}

.expslide-item>div:last-child {
    margin: -5rem 17% 0;
    position: relative;
    z-index: 5;
}

.expslide-item img {
    display: block;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: auto;
    aspect-ratio: 9 / 5.4;
}

.box-hidden {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: var(--bgcolor6);
    padding: 14rem 16rem 9.2rem;
    opacity: 0;
    color: var(--bdtextcolory3);
}

.btnhover {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    background: #173D2D;
}

.exp-fesitem .btn,
.expslide-item .btn {
    width: 39rem;
    height: 6.4rem !important;
    border-radius: 0;
    background-color: var(--bgcolor6);
    padding: 0;
    color: var(--dark-grey-tin);
    text-align: center;
    line-height: 6.4rem;
    font-size: 2.1rem;
    letter-spacing: 1.147px;
    text-transform: none;
}

.waves-effect {
    position: relative;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    vertical-align: middle;
    z-index: 1;
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
}

/* 
.expslide-item {
    width: 950px !important;
} */

.expslide-item>div:last-child {
    margin: -50px 17% 0;
    position: relative;
    z-index: 5;
}

.bgnature .expslide-item>div:last-child>div:first-child {
    background-color: var(--legacy-gold);
    color: var(--of-white);
}

.bgnature .expslide-item>div:last-child>div:last-child {
    background-color: var(--starlight-sand);
    color: var(--dark-grey-tin);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 30px 70px 43px;
    letter-spacing: 0.2px;
}

.expslide-item>div:last-child>div:first-child {
    height: 3.125rem;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.1;
    letter-spacing: 10%;
    text-transform: uppercase;
}

.swipernextarea {
    position: absolute;
    width: 16.2%;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 3;
    cursor: pointer;
}

.swiperprevarea {
    position: absolute;
    width: 16.2%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 3;
    cursor: pointer;
}

.container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--side-pad);
}

.career-item {
    border-bottom: 1px solid #313131;
    padding: 80px 0 0;
}

.section-careers__list {
    padding-bottom: 80px;
}

.career-itemr2 {
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 20px;
    color: var(--legacy-gold);
}

.career-item>div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    width: 100%;
    line-height: 0.8;
}

.career-item .section-list__title {
    padding-bottom: 0;
    line-height: 0.8;
}

.career-item>div:not(.hidden-md)>div:nth-child(1) {
    width: 40%;
}

.career-item>div:not(.hidden-md)>div:nth-child(2) {
    width: 15%;
}

.career-itemr1>div:nth-child(3) {
    width: 45%;
}

.career-itemr2>div:nth-child(3) {
    width: 20%;
}

.career-itemr2>div:nth-child(4) {
    width: 25%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.row {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.col-title {
    flex: 0 0 80px;
}

.col-name {
    flex: 1;
}

.col-12 {
    flex: 0 0 100%;
}

.col-6 {
    flex: 0 0 calc(50% - 7.5px);
}

.col-4 {
    flex: 0 0 calc(33.33% - 10px);
}

.col-1 {
    flex: 0 0 8.333333%;
}

.col-3 {
    flex: 0 0 25%;
}

.col-9 {
    flex: 0 0 73.3%;
}

.col-4 {
    flex: 1;
}

.seastars-form textarea {
    height: 80px !important;
}

.wpcf7 form {
    text-align: left;
}

.consent-box {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--dark-grey-tin);
}

.consent-box label {
    display: flex;
    align-items: center;
    gap: 15px;
}

.consent-box input[type="checkbox"] {
    margin-top: 4px;
    border: 1px solid var(--legacy-gold);
    appearance: none;
    width: 18px;
    height: 18px;
    cursor: pointer;
    background: transparent;
    position: relative;
}

.consent-box input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    top: -2px;
    left: 3px;
    color: var(--legacy-gold);
    font-size: 14px;
}

.career-list .section-title {
    font-size: 48px;
    border-bottom: 1px solid var(--legacy-gold);
    padding-bottom: 20px;
}

.careers-form {
    text-align: left;
}

.contact-end .section-intro__text {
    color: var(--dark-grey-tin)
}

.contact-end .section-intro__text em {
    display: block;
    font-weight: 500;
}

.contact-end .section-text .btn-gold {
    display: inline-block;
    margin-top: 60px;
}


.wpcf7-select,
.wpcf7-form-control:not([type="submit"]):not(.wpcf7-acceptance) {
    width: 100% !important;
    background-color: transparent !important;
    border: 1px solid var(--legacy-gold);
    padding: 12px 11px !important;
    color: var(--dark-grey-tin);
    font-family: var(--font-body);
    border-radius: 0 !important;
    box-sizing: border-box;
}

.page-template-page-celebration .wpcf7-form-control:not([type="submit"]):not(.wpcf7-acceptance) {
    border-color: var(--starlight-sand) !important;
}

.wpcf7-list-item {
    margin-left: 0;
}

.careers-form textarea {
    height: 120px;
}

.upload-cv {
    text-align: center;
    cursor: pointer;
    text-transform: uppercase;
}

.upload-cv input[type="file"] {
    display: none;
}

.wpcf7-submit {
    width: 100%;
    background-color: var(--starlight-sand);
    font-family: var(--font-body);
    color: var(--legacy-gold);
    border: 1px solid var(--legacy-gold);
    padding: 10px 26px 8px;
    letter-spacing: 0.7px;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 14px;
}

.contact-us {
    font-size: 20px;
    font-weight: 300;
    margin-bottom: 80px;
}

.single-career .single-container {
    padding: 0 30px;
}

.single-career .news-content {
    text-align: center;
}

.wpcf7 form {
    max-width: 950px;
    margin: 0 auto;
}

.form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.form-row .col {
    flex: 1;
}

.form-row .full {
    flex: 100%;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    cursor: pointer;
}

.section-plan .wpcf7 input:not([type="submit"]),
.section-plan .wpcf7 select,
.section-plan .wpcf7 textarea {
    font-family: var(--font-body);
    width: 100%;
    padding: 10px;
    background: transparent;
    border: 1px solid var(--starlight-sand);
    color: var(--of-white) !important;
    outline: none;
}

.wpcf7-text,
.wpcf7-form-control::placeholder,
.wpcf7-textarea::placeholder {
    color: var(--dark-grey-tin);
}

.wpcf7 .careers-form select option {
    background-color: transparent;
    color: var(--dark-grey-tin)
}

.section-plan .wpcf7 input::placeholder,
.section-plan .wpcf7 textarea::placeholder {
    color: var(--of-white);
}

.section-plan .wpcf7 select {
    color: var(--of-white);
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../images/arrow-down-02.svg) no-repeat !important;
    background-position: right 15px center !important;
    background-size: 12px !important;
}

.page-template-page-celebration select {
    background: url(../images/arrow-down-01.svg) no-repeat !important;
    background-position: right 15px center !important;
    background-size: 12px !important;
}

select::-ms-expand {
    display: none;
}

.section-plan .wpcf7 textarea {
    height: 120px;
}

.section-plan .wpcf7 input[type="submit"] {
    background: var(--starlight-sand);
    color: var(--legacy-gold);
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.7px;
}

.wpcf7 input[type="submit"]:hover {
    opacity: 0.9;
}

.wpcf7 select option {
    background: #710012;
    color: #F3EEE7;
}

/* ===================== FADE UP ANIMATION ===================== */
.fade-up {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-up.delay-1 {
    transition-delay: 0.15s;
}

.fade-up.delay-2 {
    transition-delay: 0.3s;
}

.fade-up.delay-3 {
    transition-delay: 0.45s;
}

.fade-up.delay-4 {
    transition-delay: 0.6s;
}

/* ===================== BUTTONS ===================== */
.btn-text-body {
    color: var(--dark-grey-tin)
}

.btn {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    padding: 10px 30px;
    cursor: pointer;
    transition: all 0.25s;
    border: 1px solid var(--dark-grey-tin);
    text-align: center;
}

.btn-red {
    background: var(--heritage-red);
    color: var(--of-white);
    border-color: var(--heritage-red);
}

.btn-textred {
    color: var(--heritage-red);
    border-color: var(--heritage-red);
}

.btn-textred:hover {
    color: var(--of-white);
    border-color: var(--heritage-red);
}

.btn-red:hover {
    background: var(--of-white);
    color: var(--heritage-red);
}

.btn-textred:hover {
    background-color: var(--heritage-red);
    color: var(--of-white)
}

.btn-gold {
    background: var(--legacy-gold);
    color: var(--starlight-sand);
    border-color: var(--starlight-sand);
}

.btn-gold:hover {
    background: var(--starlight-sand);
    color: var(--legacy-gold);
    border-color: var(--legacy-gold);
}

.btn-textgold {
    border: 1px solid var(--legacy-gold);
    color: var(--legacy-gold);
}

.btn-textgold:hover {
    color: var(--of-white);
    border-color: var(--legacy-gold);
}

.btn-text--legacy-gold {
    color: var(--legacy-gold);
}

.btn-text--white {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.6);
}

.btn-text--white:hover {
    color: var(--legacy-gold);
    border-color: var(--legacy-gold);
}

.btn-text--of-white {
    color: var(--of-white);
    border-color: var(--of-white);
}


.btn-gold-bg {
    background: var(--legacy-gold);
    color: var(--starlight-sand);
}

.btn-text:hover {
    color: var(--starlight-sand);
    border-color: var(--legacy-gold);
    background-color: var(--legacy-gold);
}

.btn-text.btn-gold-bg:hover {
    color: var(--legacy-gold);
    border-color: var(--legacy-gold);
    background-color: var(--starlight-sand);
}

.btn-of-white {
    background: var(--of-white);
    color: var(--legacy-gold);
    border-color: var(--of-white);
}

.btn-of-white:hover {
    background: var(--legacy-gold);
    color: var(--of-white);
    border-color: var(--legacy-gold);
}

.btn-gold {
    background: var(--legacy-gold);
    color: var(--starlight-sand);
    border-color: var(--legacy-gold);
}

.btn-textgold:hover {
    color: var(--of-white);
    background-color: var(--legacy-gold);
}

.btn-gold:hover {
    background: var(--starlight-sand);
    color: var(--legacy-gold);
}

.btn-row .btn-gold {
    display: block;
}

/* ===================== NAVBAR ===================== */
.navbar {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 200;
    transition: 0.4s ease-in;
    padding: 14px 60px;
    background: var(--of-white);
}

.navbar__inner {
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 180px 1fr;
    align-items: center;
    justify-content: space-between;
    height: 72px;
    max-width: 1920px;
}

.navbar.scrolled {
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 24px rgba(0, 0, 0, 0.18);
    padding-top: 10px;
    padding-bottom: 10px;
    transition: 0.4s ease-in;
}

.lang,
.navbar__right a.btn-gold,
.navbar__links,
.navbar__right-links {
    display: flex;
    gap: 28px;
    list-style: none;
    top: 14px;
    position: relative;
    font-weight: 400;
}

/* .navbar__right .btn-gold {
    border: 1px solid var(--starlight-sand);
} */

.navbar__links a,
.navbar__right-links a {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--dark-grey);
    transition: all 0.3s ease;
}

.lang-list li:hover,
.navbar__links a:hover,
.navbar__right-links a:hover {
    /* -webkit-text-stroke: 1px currentColor; */
    color: var(--legacy-gold-shade)
}

.current_page_item a {
    color: var(--legacy-gold-shade);
    font-weight: 500;
}

.navbar__logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}

.navbar__logo img {
    max-width: 155px;
}

.navbar__right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
}

.lang {
    position: relative;
    display: inline-block;
    cursor: pointer;
    color: var(--legacy-gold-shade);
    font-weight: 300;
}

.lang-list {
    position: absolute;
    top: 100%;
    left: -20px;
    display: none;
    list-style: none;
    padding: 10px;
    margin: 0;
    background-color: var(--of-white);
    width: 115px;
}

.lang:hover .lang-list {
    display: block;
}

.lang-list li {
    padding: 5px 10px;
}

.lang__arrow-down {
    background: url(../images/icon-lang-dropdown.svg) no-repeat center center;
    width: 10px;
    height: 10px;
    display: inline-block;
    margin-left: 7px;
}

/* ===================== HAMBURGER BUTTON ===================== */
.navbar__hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    z-index: 201;
}

.navbar__hamburger span {
    display: block;
    width: 22px;
    height: 3px;
    background: var(--legacy-gold-shade);
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.navbar__hamburger.is-open span:nth-child(1) {
    transform: translateY(6.5px) rotate(45deg);
}

.navbar__hamburger.is-open span:nth-child(2) {
    opacity: 0;
}

.navbar__hamburger.is-open span:nth-child(3) {
    transform: translateY(-6.5px) rotate(-45deg);
}

/* ===================== SEARCH MOBILE ===================== */
.navbar__search-mobile {
    display: none;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--legacy-gold);
    font-size: 8px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 4px;
    transition: color 0.3s;
    font-weight: 500;
    font-family: var(--font-body);
}

.navbar__search-mobile img {
    width: 38px;
    height: 21px;
    object-fit: none;
}

.navbar__hamburger.is-open span {
    background: var(--legacy-gold);
}

/* ===================== MOBILE MENU OVERLAY ===================== */
.mobile-menu {
    position: fixed;
    inset: 0;
    background: var(--of-white);
    z-index: 198;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 72px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.mobile-menu.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.mobile-menu__links {
    list-style: none;
    margin: 0;
    width: 100%;
    text-align: center;
}

.mobile-menu__links a {
    display: block;
    padding: 12px 0;
    font-size: 20px;
    letter-spacing: -0.5%;
    text-transform: uppercase;
    color: var(--legacy-gold);
    text-decoration: none;
    font-weight: 300;
    line-height: 1.1;
}

.mobile-menu__links a:hover {
    -webkit-text-stroke: 0.5px var(--legacy-gold-shade);
}

.mobile-menu__lang {
    position: absolute;
    bottom: 140px;
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 20px;
    letter-spacing: 0.7px;
    color: var(--legacy-gold-shade);
}

.mobile-menu__lang .lang-divider {
    width: 1px;
    height: 31px;
    background: var(--dark-grey-tin);
}

.mobile-menu__lang .lang-item {
    cursor: pointer;
    opacity: 0.4;
    transition: opacity 0.2s;
    text-transform: uppercase;
}

.mobile-menu__lang .lang-item.active {
    opacity: 1;
}

.mobile-menu__book {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--legacy-gold);
    color: var(--of-white);
    text-align: center;
    padding: 18px 0 17px;
    font-size: 18px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 400;
    max-height: 56px;
    z-index: 10;
}

.page-template-page-celebration .mobile-menu__book,
.page-template-page-dinner .mobile-menu__book {
    background: var(--heritage-red);
    color: var(--starlight-sand);
}

.nav-open .light {
    display: none;
}

.nav-open .dark {
    display: block;
}

/* ===================== HERO ===================== */
.hero {
    position: relative;
    height: 100vh;
    min-height: 640px;
    overflow: hidden;
    max-height: 1080px;
}
.page-template-page-payment .hero.others,
.page-template-page-thankyou .hero.others,
.page-template-page-booking .hero.others{
    height: calc(calc(100vh / 3) + 80px);
    min-height: auto;
}
.hero__bg-img {
    position: absolute;
    inset: 0;
}

.hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
            rgba(0, 0, 0, 0.18) 0%,
            rgba(0, 0, 0, 0.28) 60%,
            rgba(0, 0, 0, 0.55) 100%);
}

.hero__content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 80px 40px 0;
}

.hero__eyebrow {
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 18px;
    animation: heroFade 1.2s ease 0.2s both;
}

.hero__title {
    font-family: var(--font-title);
    font-size: clamp(32px, 6vw, 75px);
    color: var(--white);
    line-height: 1.1;
    letter-spacing: 0.1em;
    margin-bottom: 14px;
    animation: heroFade 1.2s ease 0.5s both;
    font-weight: 300;
}

.hero.others {
    position: relative;
}

.hero.others .hero__content {
    bottom: 60px;
    position: absolute;
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
}

.hero.others .hero__content .hero__title {
    font-size: clamp(30px, 5vw, 64px);
    text-transform: lowercase;
    letter-spacing: 0.4em;
    color: var(--of-white);
    max-width: 950px;
    margin: 0 auto;
    padding: 0 30px;
}

.hero__subtitle {
    font-size: clamp(16px, 1.4vw, 26px);
    font-style: italic;
    color: var(--white);
    letter-spacing: -0.5%;
    animation: heroFade 1.2s ease 0.8s both;
    line-height: 1.1;
}

.hero__subtitle span {
    font-style: normal;
}

.hero__scroll {
    position: absolute;
    bottom: 40px;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    animation: heroFade 1.2s ease 1.2s both;
}

.hero__scroll span {
    font-size: 14px;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    color: var(--white);
}

.hero__scroll-line {
    position: relative;
    overflow: hidden;
    background: url(../images/scrolld.svg) no-repeat center center;
    background-size: 100%;
    width: 20px;
    height: 31px;
}

.hero__content .mobile-menu__book {
    display: none;
    animation: heroFade 1.2s ease 0.5s both;
}

/*
.hero__scroll-line::after {
    content: '';
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--white);
    animation: scrollDrop 1.8s ease-in-out infinite;
}
*/
@keyframes scrollDrop {
    0% {
        top: -100%;
    }

    100% {
        top: 100%;
    }
}

@keyframes heroFade {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===================== NAV STRIP (FIXED ON SCROLL) ===================== */
.nav-strip {
    position: fixed;
    bottom: 0;
    z-index: 100;
    background: var(--starlight-sand);
    backdrop-filter: blur(8px);
    width: 100%;
}

.nav-strip__inner {
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: 0;
}

.nav-strip__container {
    max-width: 1170px;
    margin: 0 auto;
}

.nav-strip__item {
    padding: 5px 5px 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    cursor: pointer;
    transition: background 0.2s;
    width: 29.5%;
    position: relative;
}

.nav-strip__inner .nav-strip__item:not(:first-child):not(:last-child):after {
    content: "";
    position: absolute;
    height: 28px;
    width: 1px;
    background-color: var(--legacy-gold);
    top: 11px;
    right: 0;
}

.nav-strip__item:first-child {
    width: calc(12.5% - 6px);
}

.nav-strip__item:hover .nav-strip__title,
.nav-strip__item.active .nav-strip__title {
    color: var(--starlight-sand);
    background-color: var(--legacy-gold);
}

.nav-strip__item.active {
    background-color: var(--legacy-gold);
}

.form-booknow .nav-strip__item.active {
    background-color: transparent;
}

.form-booknow.nav-strip__item.active .booking-bar__btn {
    border: 1px solid var(--legacy-gold);
}

.form-booknow.nav-strip__item.active:first-child {
    width: 100%;
    padding: 9px 0 7px;
}

.nav-strip__title {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--legacy-gold);
    width: 100%;
    text-align: center;
    display: block;
    padding: 12px 0;
    transition: all 0.3s ease;
}

/* nav-strip fade-in animation */
.nav-strip {
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.nav-strip.strip-visible {
    opacity: 1;
    transform: translateY(0);
}

.form-booknow.nav-strip__item.active>.nav-strip__title {
    display: none;
}

.nav-strip__booking-bar {
    display: none;
    align-items: center;
    gap: 26px;
    width: 100%;
    padding: 0;
}

.form-booknow .nav-strip__item.active .nav-strip__booking-bar {
    display: flex;
}

/* Label "Select Dates" */
.booking-bar__label {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--legacy-gold);
    white-space: nowrap;
    margin-right: 10px;
}

.form-booknow .booking-bar__label {
    display: none;
}

/* FROM / TO field */
.booking-bar__field {
    display: flex;
    align-items: center;
    gap: 22px;
    flex: 1;
}

.booking-bar__field-label {
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    color: var(--dark-grey-tin);
    white-space: nowrap;
}

.booking-bar__date-input {
    background: transparent;
    border: none;
    color: var(--legacy-gold);
    font-size: 20px;
    font-weight: 300;
    letter-spacing: 0.2px;
    padding: 4px 24px 4px 0;
    cursor: pointer;
    max-width: 177px;
    outline: none;
    caret-color: transparent;
    font-family: inherit;
    background: url(../images/arrow-down.svg) no-repeat;
    background-repeat: no-repeat;
    background-position: right 4px center;
}

.booking-bar__date-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
}

.booking-bar__field--guests {
    position: relative;
    flex: 0 0 310px;
    gap: 0;
}

.booking-bar__guest-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    background: transparent url(../images/arrow-down.svg) no-repeat right 4px center;
    border: 0;
    color: var(--legacy-gold);
    cursor: pointer;
    font-family: inherit;
    font-size: 17px;
    font-weight: 300;
    line-height: 1;
    padding: 4px 28px 4px 0;
    text-align: left;
}

.booking-bar__icon {
    width: 24px;
    height: 26px;
    flex: 0 0 auto;
}

.booking-bar__guest-summary {
    color: var(--dark-grey-tin);
    white-space: nowrap;
}

.booking-bar__guest-dropdown {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 0;
    z-index: 120;
    display: none;
    width: 240px;
    padding: 14px 16px;
    background: var(--starlight-sand);
    border: 1px solid var(--legacy-gold);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}

.booking-bar__field--guests.is-open .booking-bar__guest-dropdown {
    display: block;
}

.booking-bar__guest-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.booking-bar__guest-row + .booking-bar__guest-row {
    margin-top: 12px;
}

.booking-bar__guest-label {
    color: var(--legacy-gold-shade);
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.booking-bar__guest-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.booking-bar__guest-btn {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: 1px solid var(--legacy-gold);
    color: var(--legacy-gold-shade);
    cursor: pointer;
    font-family: inherit;
    font-size: 18px;
    line-height: 1;
    transition: background 0.2s, color 0.2s, opacity 0.2s;
}

.booking-bar__guest-btn:hover:not(:disabled) {
    background: var(--legacy-gold);
    color: var(--starlight-sand);
}

.booking-bar__guest-btn:disabled {
    cursor: default;
    opacity: 0.35;
}

.booking-bar__guest-count {
    min-width: 18px;
    color: var(--dark-grey-tin);
    font-size: 18px;
    font-weight: 300;
    text-align: center;
}

/* ---- Flatpickr custom theme ---- */
.flatpickr-calendar {
    background: var(--starlight-sand, #f5efe0) !important;
    border: 1px solid var(--legacy-gold, #c9a96e) !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18) !important;
    font-family: inherit !important;
    position: fixed !important;
}

/* Header (month nav) */
.flatpickr-months {
    background: var(--legacy-gold-shade, #a07840) !important;
    padding: 6px 0;
}

.flatpickr-month,
.flatpickr-current-month,
.flatpickr-monthDropdown-months,
.numInputWrapper,
.cur-month,
.cur-year {
    background: transparent !important;
    color: var(--starlight-sand, #f5efe0) !important;
    fill: var(--starlight-sand, #f5efe0) !important;
    font-family: inherit !important;
    font-weight: 300 !important;
    letter-spacing: 0.1em;
}

.flatpickr-prev-month svg,
.flatpickr-next-month svg {
    fill: var(--starlight-sand, #f5efe0) !important;
}

.flatpickr-prev-month:hover svg,
.flatpickr-next-month:hover svg {
    fill: var(--legacy-gold, #c9a96e) !important;
}

/* Weekday headers */
.flatpickr-weekday {
    color: var(--legacy-gold-shade, #a07840) !important;
    font-weight: 500 !important;
    font-size: 11px;
    letter-spacing: 0.08em;
}

/* Day cells */
.flatpickr-day {
    color: var(--legacy-gold-shade, #a07840) !important;
    border-radius: 0 !important;
    font-weight: 300;
    font-size: 13px;
}

.flatpickr-day:hover {
    background: var(--legacy-gold, #c9a96e) !important;
    border-color: var(--legacy-gold, #c9a96e) !important;
    color: var(--starlight-sand, #f5efe0) !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: var(--legacy-gold-shade, #a07840) !important;
    border-color: var(--legacy-gold-shade, #a07840) !important;
    color: var(--starlight-sand, #f5efe0) !important;
}

.flatpickr-day.inRange {
    background: rgba(201, 169, 110, 0.25) !important;
    border-color: transparent !important;
    color: var(--legacy-gold-shade, #a07840) !important;
    box-shadow: -5px 0 0 rgba(201, 169, 110, 0.25), 5px 0 0 rgba(201, 169, 110, 0.25) !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: rgba(160, 120, 64, 0.3) !important;
}

/* Calendar mở từ bottom strip → hiện lên trên */
.flatpickr-calendar.open {
    bottom: 50px !important;
    top: auto !important;
}

/* Check Availability button */
.booking-bar__btn {
    background: var(--starlight-sand);
    color: var(--legacy-gold-shade);
    border: 1px solid var(--legacy-gold);
    padding: 10px 20px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s;
    margin-left: auto;
}

.booking-bar__btn:hover {
    background: var(--legacy-gold);
    color: var(--starlight-sand);
}

/* ===================== BOOKING RESULTS ===================== */
.section-booking {
    background: var(--white);
    padding: 70px 0 0;
}
.section-booking > .booking-results__inner{
    border-bottom: 1px solid rgba(136, 110, 67, 0.35);
}
.booking-results__inner {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 8%;
}

.booking-results__title {
    color: var(--legacy-gold);
    font-family: var(--font-title);
    font-size: 48px;
    font-weight: 400;
    letter-spacing: 10%;
    line-height: 1.2;
    padding-bottom: 12px;
}

.booking-results__room {
    padding: 67px 0 34px;
}

.booking-results__room--shade {
    background: var(--of-white);
}

.booking-results__notice {
    color: var(--dark-grey-tin);
    font-size: 14px;
    line-height: 1.6;
    padding-top: 24px;
}

.booking-results__notice--error {
    color: var(--heritage-red);
}

.booking-room__overview {
    display: grid;
    grid-template-columns: minmax(0, 1.72fr) minmax(320px, 1fr);
    gap: 52px;
    align-items: start;
}

/* .booking-room__gallery {
    position: relative;
    aspect-ratio: 1.74 / 1;
    overflow: hidden;
} */

.booking-room__gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.booking-room__featured {
    display: block;
}

.booking-room__thumbs {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    display: flex;
    gap: 8px;
    z-index: 2;
}

.booking-room__thumbs img {
    width: min(72px, 18vw);
    height: 52px;
    border: 1px solid rgba(255, 255, 255, 0.88);
    flex: 0 1 72px;
    object-fit: cover;
}

.booking-room__dots {
    position: absolute;
    left: 50%;
    bottom: 16px;
    display: flex;
    gap: 20px;
    transform: translateX(-50%);
}

.booking-room__dots span {
    width: 10px;
    height: 10px;
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
}

.booking-room__dots span.is-active {
    background: rgba(255, 255, 255, 0.9);
}

.booking-room__name {
    color: var(--legacy-gold);
    font-family: var(--font-title);
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.12em;
    line-height: 1.1;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.booking-room__description {
    color: var(--dark-grey-tin);
    font-size: 12px;
    line-height: 1.45;
    margin-bottom: 15px;
}

.booking-room__meta {
    border-top: 1px solid rgba(49, 49, 49, 0.45);
    padding: 8px 0 10px;
}

.booking-room__meta h4 {
    color: var(--dark-grey-tin);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.14em;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.booking-room__meta p,
.booking-room__meta li {
    color: var(--dark-grey-tin);
    font-size: 16px;
    line-height: 1.45;
}

.booking-room__meta ul {
    display: inline-block;
    gap: 8px;
    list-style: none;
}
.booking-room__meta li{
    position: relative;
    display: inline-block;
}
.booking-room__meta li:first-child{
    padding-right: 5px;
}
.booking-room__meta li:not(:first-child){
    padding-left: 7px;
}
.booking-room__meta li:not(:first-child)::before{
    content: "";
    position: absolute;
    width: 3px;
    height: 3px;
    background: var(--dark-grey-tin);
    border-radius: 50%;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.booking-room__meta li span {
    color: var(--legacy-gold-shade);
}

.booking-rates {
    margin-top: 18px;
}

.booking-rate {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1fr;
    gap: 16px;
    border-top: 1px solid rgba(49, 49, 49, 0.45);
    padding: 12px 0 14px;
}

.booking-rate__content h3 {
    color: var(--legacy-gold);
    font-family: var(--font-title);
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.12em;
    line-height: 1.1;
    text-transform: uppercase;
}

.booking-rate__content p,
.booking-rate__content li {
    color: var(--dark-grey-tin);
    font-size: 16px;
    line-height: 1.5;
}

.booking-rate__content ul {
    margin: 2px 0 20px;
    list-style: none;
}
.booking-rate__content li{
    position: relative;
    padding-left: 35px;
}
.booking-rate__content li::before{
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: url(../images/info.svg) no-repeat center center;
    top: 4px;
    left: 0;
}
 .booking-rate__detail {
    background: transparent;
 }
/* .booking-rate__detail {
    background: transparent;
    border: 1px solid var(--legacy-gold);
    color: var(--legacy-gold);
    cursor: pointer;
    font-family: inherit;
    font-size: 10px;
    letter-spacing: 0.08em;
    padding: 6px 14px;
    text-transform: uppercase;
    transition: background 0.2s, color 0.2s;
}

.booking-rate__detail:hover {
    background: var(--legacy-gold);
    color: var(--starlight-sand);
} */

.booking-rate__booking {
    display: grid;
    align-content: space-between;
    justify-items: end;
    min-height: 112px;
}

.booking-rate__price {
    color: var(--dark-grey-tin);
    text-align: right;
}

.booking-rate__tag {
    background: var(--legacy-gold);
    color: var(--starlight-sand);
    display: inline-block;
    font-size: 16px;
    line-height: 1;
    padding: 3px 13px;
}

.booking-rate__old-price {
    color: var(--dark-grey-tin);
    display: inline-block;
    font-size: 16px;
    text-decoration: line-through;
    padding-top: 12px;
    font-weight: 400;
}

.booking-rate__price .booking-rate__price-value {
    color: var(--legacy-gold);
    display: block;
    font-size: 25px;
    font-weight: 400;
    letter-spacing: 10%;
    line-height: 1.1;
}

.booking-rate__price small {
    color: var(--dark-grey-tin);
    display: block;
    font-size: 16px;
    line-height: 1.1;
    padding-top: 10px;
    font-weight: 400;
}
.booking-rate__price,
.booking-rate__actions {
    display: grid;
    align-items: flex-end;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.booking-rate__actions{
    width: 444px;
}
.booking-rate__actions select,
.booking-rate__actions button.btn {
    font-family: inherit;
    font-size: 12px;
}

.booking-rate__actions select {
    border: 1px solid var(--legacy-gold);
    color: var(--dark-grey-tin);
    padding: 10px 28px 10px 8px;
}

.booking-processing-active {
    overflow: hidden;
}

.booking-processing-overlay {
    align-items: center;
    background: rgba(49, 49, 49, 0.58);
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity 0.2s ease;
    z-index: 9999;
}

.booking-processing-overlay.is-active {
    opacity: 1;
    pointer-events: auto;
}

.booking-processing-overlay__text {
    background: var(--of-white);
    border: 1px solid rgba(187, 149, 86, 0.7);
    color: var(--legacy-gold);
    font-family: var(--font-title);
    font-size: clamp(28px, 4vw, 48px);
    letter-spacing: 0.08em;
    line-height: 1;
    min-width: min(420px, calc(100vw - 40px));
    padding: 34px 44px;
    text-align: center;
}

/* ===================== PAYMENT ===================== */
.section-payment {
    background: var(--white);
}

.payment-layout {
    display: grid;
    grid-template-columns: minmax(0, 62%) minmax(360px, 38%);
    min-height: 780px;
}

.payment-main {
    min-width: 0;
    padding: 36px 8% 56px;
}

.payment-back {
    align-items: center;
    border-bottom: 1px solid rgba(136, 110, 67, 0.35);
    color: var(--legacy-gold);
    display: flex;
    font-family: var(--font-title);
    font-size: clamp(30px, 3.6vw, 48px);
    gap: 34px;
    letter-spacing: 0.08em;
    line-height: 1;
    margin: -36px -8% 22px;
    padding: 36px 8% 20px;
}

.payment-back span:first-child {
    font-family: var(--font-body);
    font-size: 25px;
    letter-spacing: 0;
    line-height: 1;
}

.payment-alert {
    border: 1px solid rgba(187, 149, 86, 0.55);
    color: var(--dark-grey-tin);
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 22px;
    padding: 14px 16px;
}

.payment-alert p {
    margin-bottom: 8px;
}

.payment-alert ul {
    margin: 0;
    padding-left: 18px;
}

.payment-alert li {
    margin-bottom: 4px;
}

.payment-alert--error {
    border-color: rgba(113, 0, 18, 0.45);
    color: var(--heritage-red);
}

.payment-alert--success {
    border-color: rgba(187, 149, 86, 0.75);
    color: var(--legacy-gold-shade);
}

.section-payment.is-missing-cart .payment-summary {
    display: none;
}

.section-payment.is-missing-cart .payment-layout {
    display: block;
    min-height: 0;
}

.payment-form {
    display: grid;
    gap: 28px;
}

.payment-form__section {
    border-bottom: 1px solid rgba(187, 149, 86, 0.5);
    padding-bottom: 24px;
}

.payment-form__section--last {
    border-bottom: 0;
    padding-bottom: 0;
}

.payment-form__title,
.payment-acknowledgement {
    color: var(--legacy-gold);
    font-family: var(--font-title);
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 1.1;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.payment-acknowledgement {
    font-family: var(--font-body);
    font-size: 16px;
    letter-spacing: 0.03em;
    margin-bottom: 16px;
    text-transform: none;
}

.payment-grid {
    display: grid;
    gap: 15px;
    margin-bottom: 15px;
}

.payment-grid:last-child {
    margin-bottom: 0;
}

.payment-grid--contact {
    grid-template-columns: 70px minmax(0, 1fr) minmax(0, 1fr);
}

.payment-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.payment-grid--four {
    grid-template-columns: 1fr 1.4fr 1fr 0.7fr;
}

.payment-grid--card {
    grid-template-columns: 1.1fr 1.15fr 0.7fr 1.1fr;
}

.payment-field {
    display: block;
    min-width: 0;
    position: relative;
}

.payment-field__label {
    height: 1px;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 1px;
}

.payment-field input,
.payment-field select,
.payment-field textarea {
    appearance: none;
    background: var(--white);
    border: 1px solid rgba(49, 49, 49, 0.65);
    border-radius: 0;
    color: var(--dark-grey-tin);
    display: block;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 300;
    height: 47px;
    letter-spacing: 0;
    outline: 0;
    padding: 0 10px;
    width: 100%;
}

.payment-field select {
    background-image: linear-gradient(45deg, transparent 50%, var(--dark-grey-tin) 50%), linear-gradient(135deg, var(--dark-grey-tin) 50%, transparent 50%);
    background-position: calc(100% - 13px) 14px, calc(100% - 9px) 14px;
    background-repeat: no-repeat;
    background-size: 4px 4px, 4px 4px;
    padding-right: 26px;
}

.payment-field textarea {
    height: 116px;
    line-height: 1.45;
    padding: 12px 10px;
    resize: vertical;
}

.payment-field input::placeholder,
.payment-field textarea::placeholder {
    color: rgba(49, 49, 49, 0.78);
    opacity: 1;
}

.payment-field input.is-invalid,
.payment-field select.is-invalid,
.payment-field textarea.is-invalid,
.payment-check input.is-invalid {
    border-color: var(--heritage-red);
}

.payment-options,
.payment-consents {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    margin-bottom: 16px;
}

.payment-consents {
    display: grid;
    gap: 10px;
}

.payment-check {
    align-items: center;
    color: var(--dark-grey-tin);
    display: inline-flex;
    font-size: 16px;
    gap: 8px;
    line-height: 1.4;
}

.payment-check input {
    appearance: none;
    background: var(--white);
    border: 1px solid rgba(187, 149, 86, 0.8);
    display: inline-block;
    flex: 0 0 12px;
    height: 12px;
    margin: 0;
    width: 12px;
}

.payment-check input:checked {
    background: var(--legacy-gold);
    box-shadow: inset 0 0 0 2px var(--white);
}

.payment-due {
    color: var(--dark-grey-tin);
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 10px;
}

.payment-cards {
    align-items: center;
    display: flex;
    gap: 6px;
    margin-bottom: 10px;
}

.payment-card {
    display: inline-flex;
    overflow: hidden;
}

.payment-card--mastercard {
    position: relative;
}

.payment-card--visa {
    color: #1a3f91;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    text-indent: 0;
    text-transform: uppercase;
    width: auto;
    display: flex;
    align-items: center;
    font-style: italic;
}

.payment-field--card-number::before {
    content: "";
    background: url(../images/icon-visa.svg) no-repeat center center;
    background-size: 100%;
    height: 16px;
    left: 10px;
    position: absolute;
    top: 15px;
    width: 23px;
}

.payment-field--card-number input {
    padding-left: 40px;
}

.payment-submit {
    align-items: center;
    background: var(--legacy-gold);
    border: 1px solid var(--legacy-gold);
    color: var(--of-white);
    cursor: pointer;
    display: inline-flex;
    font-family: var(--font-title);
    font-size: 17px;
    font-weight: 400;
    gap: 9px;
    justify-content: center;
    letter-spacing: 0.12em;
    line-height: 1;
    min-height: 50px;
    padding: 14px 24px;
    text-transform: uppercase;
    transition: background 0.25s, color 0.25s, border-color 0.25s;
    width: 100%;
}

.payment-submit:hover {
    background: var(--starlight-sand);
    border-color: var(--legacy-gold);
    color: var(--legacy-gold);
}

.payment-submit__lock {
    border: 1px solid currentColor;
    display: inline-block;
    height: 12px;
    position: relative;
    width: 10px;
}

.payment-submit__lock::before {
    border: 1px solid currentColor;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    content: "";
    height: 7px;
    left: 1px;
    position: absolute;
    top: -7px;
    width: 6px;
}

.payment-summary {
    background: var(--legacy-gold);
    color: var(--of-white);
    min-width: 0;
}

.payment-summary__inner {
    padding: 75px calc(8% + 16px) 56px;
    position: sticky;
    top: 0;
}

.payment-summary__title {
    color: var(--of-white);
    font-family: var(--font-title);
    font-size: clamp(31px, 2.6vw, 43px);
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.15;
    margin-bottom: 32px;
}

.payment-summary__dates {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 16px;
}

.payment-summary__dates span,
.payment-summary__room small,
.payment-summary__room p,
.payment-summary__guests {
    color: var(--of-white);
    font-size: 16px;
    line-height: 22px;
}

.payment-summary__dates strong {
    color: var(--of-white);
    display: block;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.35;
    margin-top: 3px;
}

.payment-summary__guests {
    margin-bottom: 24px;
}

.payment-summary__line {
    background: rgba(242, 238, 226, 0.38);
    height: 1px;
    margin: 0 0 18px;
}

.payment-summary__room,
.payment-summary__total {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr auto;
}

.payment-summary__room {
    margin-bottom: 18px;
}

.payment-summary__room span {
    color: var(--starlight-sand);
    display: block;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 1.3;
    margin-bottom: 7px;
    text-transform: uppercase;
}

.payment-summary__room strong{
    color: var(--starlight-sand);
    font-size: 16px;
    font-weight: 300;
    line-height: 22px;
}
.payment-summary__total strong,
.payment-summary__total span {
    color: var(--starlight-sand);
    font-family: var(--font-title);
    font-size: 25px;
    letter-spacing: 10%;
}

@media (max-width: 1180px) {
    .payment-layout {
        grid-template-columns: minmax(0, 58%) minmax(320px, 42%);
    }

    .payment-main {
        padding-left: 6%;
        padding-right: 6%;
    }

    .payment-back {
        margin-left: -6%;
        margin-right: -6%;
        padding-left: 6%;
        padding-right: 6%;
    }

    .payment-grid--four,
    .payment-grid--card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .payment-summary__inner {
        padding-left: 12%;
        padding-right: 12%;
    }
}

@media (max-width: 900px) {
    .payment-layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .payment-summary {
        order: -1;
    }

    .payment-summary__inner {
        padding: 42px var(--side-pad);
        position: static;
    }

    .payment-main {
        padding: 30px var(--side-pad) 50px;
    }

    .payment-back {
        margin: -30px calc(var(--side-pad) * -1) 24px;
        padding: 30px var(--side-pad) 18px;
    }
}

@media (max-width: 640px) {
    .payment-main {
        padding-bottom: 42px;
    }

    .payment-back {
        font-size: 30px;
        gap: 16px;
        letter-spacing: 0.05em;
    }

    .payment-back span:first-child {
        font-size: 20px;
    }

    .payment-form {
        gap: 24px;
    }

    .payment-form__title {
        font-size: 20px;
    }

    .payment-grid,
    .payment-grid--contact,
    .payment-grid--three,
    .payment-grid--four,
    .payment-grid--card {
        grid-template-columns: 1fr;
    }

    .payment-options {
        display: grid;
        gap: 11px;
        grid-template-columns: 1fr 1fr;
    }

    .payment-field input,
    .payment-field select {
        height: 42px;
    }

    .payment-field select {
        background-position: calc(100% - 15px) 18px, calc(100% - 11px) 18px;
    }

    .payment-field--card-number::before {
        top: 16px;
    }

    .payment-submit {
        font-size: 15px;
        min-height: 48px;
    }

    .payment-summary__dates {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 420px) {
    .payment-options {
        grid-template-columns: 1fr;
    }

    .payment-summary__room,
    .payment-summary__total {
        gap: 14px;
    }
}

/* ===================== THANK YOU ===================== */
.section-thankyou {
    background: var(--white);
}

.thankyou-layout {
    display: grid;
    grid-template-columns: minmax(0, 62%) minmax(360px, 38%);
    min-height: 760px;
}

.thankyou-main {
    min-width: 0;
    padding: 58px 8% 72px;
}

.thankyou-title {
    border-bottom: 1px solid rgba(136, 110, 67, 0.35);
    color: var(--legacy-gold);
    font-family: var(--font-title);
    font-size: clamp(32px, 3.5vw, 48px);
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.05;
    margin: 0 -8% 22px;
    padding: 0 8% 18px;
}

.thankyou-alert {
    border: 1px solid rgba(187, 149, 86, 0.55);
    color: var(--dark-grey-tin);
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 24px;
    padding: 14px 16px;
}

.thankyou-alert--error {
    border-color: rgba(113, 0, 18, 0.45);
    color: var(--heritage-red);
}

.thankyou-alert--success {
    border-color: rgba(187, 149, 86, 0.75);
    color: var(--legacy-gold-shade);
}

.section-thankyou.is-loading .thankyou-block,
.section-thankyou.is-loading .thankyou-total,
.section-thankyou.is-error .thankyou-block,
.section-thankyou.is-error .thankyou-total {
    display: none;
}

.thankyou-block {
    margin-bottom: 34px;
}

.thankyou-block__title {
    border-bottom: 1px solid rgba(187, 149, 86, 0.55);
    color: var(--legacy-gold);
    font-family: var(--font-title);    
    font-size: 25px;
    letter-spacing: 10%;
    font-weight: 400;
    line-height: 1.1;
    margin-bottom: 20px;
    padding-bottom: 13px;
    text-transform: uppercase;
}

.thankyou-details,
.thankyou-room {
    color: var(--dark-grey-tin);
    display: grid;
    font-size: 16px;
    line-height: 22px;
}

.thankyou-details--contact {
    gap: 16px 18%;
    grid-template-columns: 1fr 1fr;
}

.thankyou-details:not(.thankyou-details--contact) {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.thankyou-details div,
.thankyou-room div {
    min-width: 0;
}

.thankyou-details dt,
.thankyou-details dd,
.thankyou-room dt,
.thankyou-room dd {
    display: inline;
    margin: 0;
}

.thankyou-details dt {
    font-weight: 400;
}

.thankyou-room {
    gap: 24px;
    grid-template-columns: 1fr 1fr 1fr;
}

.thankyou-room dt,
.thankyou-room dd {
    display: block;
}

.thankyou-total .thankyou-block__title {
    margin-bottom: 18px;
}

.thankyou-total p {
    color: var(--legacy-gold);
    font-family: var(--font-title);
    font-size: 25px;
    letter-spacing: 10%;
    line-height: 1.2;
    text-transform: uppercase;
}

.thankyou-contact {
    background: var(--legacy-gold);
    color: var(--of-white);
    min-width: 0;
}

.thankyou-contact__inner {
    padding: 82px calc(8% + 16px) 64px;
    position: sticky;
    top: 0;
}

.thankyou-contact__title {
    color: var(--starlight-sand);
    font-family: var(--font-title);
    font-size: clamp(33px, 3vw, 48px);
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.12;
    margin-bottom: 44px;
}

.thankyou-contact__group {
    margin-bottom: 27px;
}

.thankyou-contact__group h3 {
    color: var(--dark-grey-tin);
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.18em;
    line-height: 1.2;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.thankyou-contact__group p,
.thankyou-contact__group a {
    color: var(--of-white);
    font-size: 20px;
    line-height: 28px;
}

@media (max-width: 1180px) {
    .thankyou-layout {
        grid-template-columns: minmax(0, 58%) minmax(320px, 42%);
    }

    .thankyou-main {
        padding-left: 6%;
        padding-right: 6%;
    }

    .thankyou-title {
        margin-left: -6%;
        margin-right: -6%;
        padding-left: 6%;
        padding-right: 6%;
    }

    .thankyou-contact__inner {
        padding-left: 12%;
        padding-right: 12%;
    }
}

@media (max-width: 900px) {
    .thankyou-layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .thankyou-main {
        padding: 44px var(--side-pad) 52px;
    }

    .thankyou-title {
        margin-left: calc(var(--side-pad) * -1);
        margin-right: calc(var(--side-pad) * -1);
        padding-left: var(--side-pad);
        padding-right: var(--side-pad);
    }

    .thankyou-contact__inner {
        padding: 46px var(--side-pad);
        position: static;
    }
}

@media (max-width: 640px) {
    .thankyou-title {
        font-size: 30px;
        letter-spacing: 0.05em;
    }

    .thankyou-block__title {
        font-size: 20px;
    }

    .thankyou-details--contact,
    .thankyou-room {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .thankyou-details:not(.thankyou-details--contact) {
        display: grid;
        gap: 8px;
    }

    .thankyou-contact__title {
        font-size: 31px;
    }
}

/* ===================== SECTION INTRO ===================== */
.section-intro {
    background: var(--white);
    padding: 0 var(--side-pad) 56px;
    text-align: center;
}

.page-template-front-page .section-intro__text {
    padding-bottom: 20px;
}

.page-template-front-page .banner-river__content {
    padding-top: 0;
    padding-bottom: 0;
}

.page-template-front-page .banner-river__content {
    padding-left: 60px;
    padding-right: 60px;
}

.banner-river .section-line {
    background-color: var(--of-white);
}

.banner-river .section-title {
    color: var(--of-white)
}

.section-intro .section-title {
    max-width: 1110px;
}

.section-intro__text {
    font-size: 20px;
    line-height: 28px;
    color: var(--dark-grey-tin);
    max-width: 950px;
    margin: 0 auto 20px;
}

.room_features {
    max-width: 624px;
    margin: 0 auto;
    margin-top: 86px;
    border-top: 1px solid var(--legacy-gold);
    border-bottom: 1px solid var(--legacy-gold);
    padding: 20px 0;
}

.room_features p {
    font-size: 25px;
    text-transform: uppercase;
    color: var(--legacy-gold);
    font-family: var(--font-title);
    margin-bottom: 20px;
    line-height: 1.1;
    letter-spacing: 10%;
}

.room_features li {
    display: inline-block;
    position: relative;
}

.room_features li:not(:last-child) {
    padding-right: 10px;
}

.room-specs li::before,
.room_features li:not(:first-child)::before {
    content: "";
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: var(--dark-grey-tin);
    top: 12px;
    left: -9px;
}

/* ===================== PHOTO GRID (intro images) ===================== */
/* Ratio: left ~58%, right ~42% matching design */
.photo-grid {
    display: grid;
    grid-template-columns: 61% 37.5%;
    gap: 20px;
    padding: 0;
    max-width: var(--max-width);
    margin: 0 auto;
    height: 420px;
}

.section-list {
    padding-bottom: 80px;
    overflow: hidden;
}

.offer-slide .grid-item__content {
    background-color: var(--of-white);
}

.offer-slide .section-list__text {
    min-height: 70px;
}

.offer-slide__menu {
    padding-bottom: 80px;
    position: relative;
}

ul.section-list__menu:after {
    content: "";
    position: absolute;
    height: 1px;
    width: 100%;
    background-color: var(--legacy-gold);
    bottom: -1px;
}

ul.section-list__menu {
    padding-bottom: 40px;
    display: grid;
    justify-content: center;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    gap: 40px;
    position: relative;
}

.section-list__group:last-child .categories-content {
    order: 2;
}

.section-list__group:last-child .categories-desc {
    order: 1;
}

.section-list__group:last-child .categories-content {
    padding-left: 0%;
    padding-right: 31%;
    text-align: right;
}

.section-list__group:last-child .categories-desc {
    padding-left: 15%;
}

.page-template-page-dinner ul.section-list__menu li:last-child a.active::before {
    right: 0;
    left: auto;
}

.page-template-page-dinner ul.section-list__menu li:last-child>a.active::after {
    right: -7px;
    left: auto;
}

.page-template-whatison ul.section-list__menu {
    gap: 160px;
}

.section-list .offer-slide {
    overflow: hidden;
}

ul.section-list__menu li {
    list-style: none;
}

ul.section-list__menu li a {
    font-size: 25px;
    text-transform: uppercase;
    font-family: var(--font-title);
    color: var(--legacy-gold);
    font-weight: 400;
    text-decoration: none;
    position: relative;
    letter-spacing: 10%;
}

ul.section-list__menu li a.active:after {
    content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    top: 67px;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: url(../images/bullet.svg) no-repeat;
    background-size: 100%;
}

.section-list__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 0 auto;
    font-size: 16px;
}
.page-template-page-itinerary .section-list__grid{
    gap:0;
}
.page-template-page-itinerary .grid-item__content{
    display: flex;
    align-items: center;
    height: 100%;
}
.page-template-page-itinerary .grid-item__content .section-list__text h3:first-child{
    font-family: var(--font-title);
    font-size: 25px;
    line-height: 1.1;
    letter-spacing: 10%;
    color: var(--legacy-gold);
    text-transform: uppercase;
    font-weight: 300;
    padding-bottom: 40px;
}
.page-template-page-itinerary .grid-item__content .section-list__text p:not(:last-child){
    padding-bottom: 25px;
}
.page-template-page-itinerary .section-list{
    padding-bottom: 0;
}
.mobile-collapse-toggle {
    display: none;
}
.mobile-collapse-panel {
    min-width: 0;
}
.toggle_title {
    line-height: 1.1;
    letter-spacing: 10%;
    color: var(--legacy-gold);
    text-transform: uppercase;
    font-weight: 300;
    padding-bottom: 20px;   
    margin-bottom: 40px;
    display: grid;
    grid-template-columns: 140px auto;
    align-items: center;
    border-bottom: 1px solid var(--dark-grey-tin);
}
.toggle-link{
    cursor: pointer;
}
.daily_itinerary_title{
    display: grid;
    grid-template-columns: auto 100px;
    gap: 20px;
}
.itinerary_toggle p{
    padding-bottom: 25px;
}
.itinerary_toggle p:last-child{
    padding-bottom: 40px;
}
.itinerary_toggle p img{
    width: auto;
    display: inline-block;
    padding: 16px;
    max-width: 100%;
}
.conditions{
    display: grid;
    grid-template-columns: 1fr 1fr 0.8fr;
    gap: 20px;
    font-size: 16px;
    line-height: 22px;
    padding-bottom: 80px;
}
.inclusions,
.inclusions-panel {
    display: contents;
}
.inclusions-toggle {
    display: none;
}
.condition-title{
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 20px;
}
.condition-button{
    gap: 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 25px;
}
.conditions ul{
    padding-left: 0;
    margin-left: 0;
    list-style: none;
}
.conditions ul li{
    position: relative;
    padding-left: 20px;
}
.conditions ul li::before{
    content: "";
    position: absolute;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: var(--dark-grey-tin);
    top: 10px;
    left: 6px;
}
.tabcontent{
    padding-top: 90px;
    font-size: 16px;
    line-height: 22px;
}
.tabcontent h3{
    font-family: var(--font-title);
    line-height: 1.1;
    letter-spacing: 10%;
    padding-bottom: 5px;
    text-transform: uppercase;
}
.toggle_title .day-no{
    font-family: var(--font-title);
    font-size: 25px;  
    letter-spacing: 10%; 
}
.toggle_title .toggle-icon{
    font-size: 14px;
    font-family: var(--font-title);
}
.toggle_icon{
    text-align: right;
}
.container .section-list__grid {
    margin: 0 -80px;
}
.page-template-page-itinerary .container .section-list__grid{
    margin: 0;
}
.section-list__gird img {
    width: auto;
    height: auto;
}

.section-life__item .section-title {
    font-size: 25px;
    text-transform: uppercase;
}

.section-life__end .section-intro__text {
    margin-bottom: 70px;
}

.section-life__item .grid-item__content {
    background: var(--of-white);
}

.grid-item__content {
    padding: 40px 80px 61px;
}


.section-list__gird .grid-item__content .btn-text {
    margin-top: 60px;
}

.section-list__title {
    font-size: 25px;
    font-family: var(--font-title);
    line-height: 1.1;
    letter-spacing: 10%;
    color: var(--legacy-gold);
    padding-bottom: 20px;
    text-transform: uppercase;
}

.page-template-whatison .section-list__title {

    color: var(--heritage-red);
}

.section-list__text {
    color: var(--dark-grey-tin);
    line-height: 22px;
}

.section-intro__grid {
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 0;
    padding: 0 12.5% 70px 8.33%;
    margin: 0 auto;
}
#our-venue .rooms-section__right-text{
    font-size: 20px;
    line-height: 28px;
}
#our-venue .rooms-nav{
    width: 50%;
}
#our-venue .section-feature .room-specs {
    padding-top: 40px;
    gap: 20px;
}

.section-feature {
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 20px;
}

.section-feature .col-7 .section-eyebrow {
    padding-top: 80px;
}

#our-venue .section-feature {
    color: var(--dark-grey-tin)
}

#our-venue.rooms-section .section-feature .section-title {
    text-transform: uppercase;
    font-size: 25px;
}

#our-venue .section-feature .room-specs .grid-item__grid {
    border-top: 1px solid var(--dark-grey-tin);
    padding-top: 10px;
}

#our-venue .section-feature .room-specs .grid-item__grid strong {
    text-transform: uppercase;
}

#our-venue .section-feature .room-specs .grid-item__grid ul {
    padding-left: 10px;
    padding-top: 10px;
    margin: 0;
    list-style-type: none;
}

.section-feature .section-feature__item:first-child {
    padding-left: 60px;
}

.section-feature .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px;
    padding: 0;
    gap: 0;
    margin-bottom: 0;
}

.section-feature .description {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0.2px;
}

.col-7,
.col-5 {
    padding-left: 10px;
    padding-right: 10px;
}

.col-7 {
    width: 58.3333%;
}

.col-5 {
    width: 41.6667%;
}

.section-feature__item img {
    width: 100%;
    height: auto;
}

.item-description {
    padding-top: 110px;
    font-weight: 300;
    letter-spacing: 0.2px;
    color: var(--dark-grey-tin);
    font-size: 20px;
    line-height: 28px;
}

.section-intro__grid img {
    max-width: 100%;
    height: auto;
    width: auto;
}

.section-intro__grid .section-intro__grid-item:last-child {
    /* padding-left: 180px;
    padding-right: 62px; */
    overflow: hidden;
    padding-left: calc(16.67% + 40px);
    position: relative;
}

.section-intro__grid section-title {
    padding-bottom: 60px;
    margin-top: -11px;
}

.section-intro__grid .section-intro__text {
    padding-top: 60px;
    font-size: 16px;
    line-height: 22px;
    color: var(--dark-grey-tin);
    text-align: center;
}

.photo-grid__item {
    overflow: hidden;
    position: relative;
}

.photo-grid__item .img-placeholder,
.photo-grid__item img {
    transition: transform 0.7s ease;
}

.section-items__grid {
    gap: 0;
}

.section-items .section-text__description {
    padding-bottom: 60px;
}

.section-items .grid-item__content {
    text-align: center;
    display: flex;
    align-items: center;
}


/*diner*/
.page-template-page-dinner .section-eyebrow,
.page-template-page-dinner .section-title,
.page-template-page-celebration .section-eyebrow,
.page-template-page-celebration .section-title {
    color: var(--heritage-red);
}

.banner-river.banner-experience .banner-river__content .section-eyebrow,
.banner-river.banner-experience .banner-river__content .section-title {
    color: var(--starlight-sand);
}

.page-template-page-dinner .section-line,
.page-template-page-celebration .section-line {
    background-color: var(--heritage-red);
}

.dinner.nav-strip__item:hover .nav-strip__title,
.dinner.nav-strip__item.active .nav-strip__title {
    color: var(--heritage-red);
    background-color: var(--starlight-sand);
}

.dinner.nav-strip__item.active .nav-strip__title {
    font-weight: 600;
}

.dinner.nav-strip__item.active {
    background-color: var(--starlight-sand);
}

.page-template-page-dinner .section-list__menu {
    justify-content: space-between;
}

.page-template-page-dinner .section-list__menu li {
    padding: 0 154px;
}

.page-template-page-dinner ul.section-list__menu li a.active::after {
    background: url(../images/bullet-02.svg) no-repeat;
    background-size: 100%;
    right: auto;
}

.dinner.nav-strip,
.page-template-page-dinner ul.section-list__menu:after {
    background-color: var(--heritage-red);
}

.section-items .section-text {
    padding-top: 23px;
}

.section-items .section-text p:not(:first-child) {
    margin-top: 15px;
}

.section-items .section-text {
    font-size: 16px;
    line-height: 22px;
}

.page-template-page-dinner ul.section-list__menu li a.active::before {
    content: "";
    width: 1px;
    height: 80px;
    background-color: var(--heritage-red);
    position: absolute;
    top: 68px;
    left: 7px;
    margin: 0 auto;

}

.page-template-page-dinner .section-eyebrow,
.page-template-page-dinner ul.section-list__menu li a,
.page-template-page-dinner section-title,
.page-template-page-dinner .offer-slide__menu>a,
.page-template-page-dinner .section-list__title {
    color: var(--heritage-red);
}

.page-template-page-dinner .restaurant-card__actions>a:first-child {
    border-color: var(--heritage-red);
}

.categories-grid,
.section-list__items .grid-item {
    display: grid;
    grid-template-columns: 57.14% 42.86%;
    gap: 80px;
    margin: 0 auto;
    align-items: center;
    padding-bottom: 80px;
    overflow: hidden;
    align-items: flex-start;
}

.section-list__items .grid-item:nth-child(even) {
    grid-template-columns: 42.86% 57.14%;
}

.section-list__items .grid-item:nth-child(even) .grid-item__images {
    order: 2;
}

.section-list__items .grid-item:nth-child(even) .grid-item__content {
    order: 1;
}

.section-list__items .grid-item__images {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

/* .dining-list .swiper-wrapper {
    overflow: hidden;
} */

.categories-grid .categories-content {
    padding-left: 16%;
    padding-right: 20%;
}

.categories-grid .categories-desc {
    font-size: 20px;
    line-height: 28px;
    font-weight: 300;
}

.categories-grid .categories-desc,
.section-list__items .grid-item__content {
    padding-left: 0;
    padding-right: 20%;
}

.section-list__items .grid-item__content {
    background-color: var(--white);
}

/*end dinner*/
.section-list__grid .grid-item img {
    width: 100%;
    height: auto;
    object-fit: none;
}

.section-items .grid-item__content section-title {
    padding-left: 20px;
    padding-right: 20px;
}

.section-items .grid-item__content .section-intro__text {
    font-size: 16px;
    line-height: 22px;
    padding: 0 20px 0;
}

.section-items.section-life__item {
    margin-top: 80px;
    background: linear-gradient(to bottom, var(--white) 50%, var(--of-white) 50%);
}

.section-life__end {
    background-color: var(--of-white);
}

.section-items.section-life__item .section-items__grid-item .grid-item__content {
    background-color: var(--starlight-sand);
}

.grid-item__content section-title {
    padding-bottom: 30px;
}

.section-life__end.section-event {
    text-align: center;
    padding-top: 0;
}

.section-life__baner {
    padding-top: 70px;
    padding-bottom: 80px;
}

.section-items__grid-item {
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 0;
    margin: 0 auto;
}

.section-items__grid-item.item--alt picture {
    order: 2;
}

.grid-item__content .section-intro__text {
    padding: 0 60px;
}

.grid-item__content .section-intro__text p:not(:first-child) {
    margin-top: 15px;
}

.container-fluid {
    padding: 0 60px;
}

.offer-slide .grid-item__content .btn-textgold {
    margin-top: 60px;
}

.section-end {
    margin-top: 80px;
    background-color: var(--starlight-sand);
}

.section-end .section-items__grid {
    padding: 40px 160px;
}

.section-end__banner {
    background: linear-gradient(to bottom, var(--white) 50%, var(--starlight-sand) 50%);
}

.contact-end.section-end {
    margin-top: 0;
}

.contact-end .section-end__banner {
    background: linear-gradient(to bottom, var(--of-white) 50%, var(--starlight-sand) 50%);
    padding-top: 80px;
}

.section-end .section-items__grid p:not(:first-child) {
    margin-top: 15px;
}

.section-end .section-intro__text {
    font-size: 16px;
    line-height: 22px;
}

/*
.photo-grid__item:hover img,
.photo-grid__item:hover .img-placeholder {
    transform: scale(1.04);
}
*/
/* ===================== FULLWIDTH BANNER (know the river) ===================== */
.banner-river {
    position: relative;
    overflow: hidden;
    margin-top: 50px;
    padding: 0 0 80px;
    text-align: center;
}

.banner-river.banner-experience .banner-river__content {
    padding: 0 0 80px;
}

.banner-river.banner-experience {
    padding-bottom: 0;
}

.banner-experience .section-line {
    background: var(--starlight-sand);
}

.banner-river .section-eyebrow {
    color: var(--of-white);
}

.banner-river .section-text {
    color: var(--of-white);
    margin-bottom: 0;
}

.banner-experience .banner-river__img img {
    height: auto;
    object-fit: none;
}

#stories .banner-river__img {
    position: absolute;
    inset: 0;
}

.banner-river__content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 950px;
    margin: 0 auto;
}

.banner-experience .banner-river__content {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    display: block;
}

.banner-river__eyebrow {
    position: relative;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    color: var(--of-white);
    margin-bottom: 30px;
    text-align: center;
}

.banner-river__eyebrow span {
    position: absolute;
    display: block;
    width: 1px;
    height: 79px;
    background: var(--of-white);
    top: -100px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.banner-river__btn-wrap {
    text-align: center;
    margin-bottom: 190px;
    margin-top: 125px;
}

.btn-outline-white {
    color: var(--of-white);
    border: 1px solid var(--of-white);
}

.btn-outline-white:hover {
    background: var(--white);
    color: var(--legacy-gold);
}

.banner-river__text {
    font-size: 20px;
    line-height: 28px;
    color: rgba(255, 255, 255, 0.82);
    max-width: 950px;
    font-weight: 300;
    letter-spacing: 0.2px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.banner-experience .section-text {
    position: absolute;
    bottom: 60px;
    left: 0;
    right: 0;
}

/*cele*/
.section-event {
    padding: 80px 0;
    position: relative;
}

.section-event .rooms-nav {
    top: auto;
    bottom: 10%;
    max-width: 950px;
    margin: 0 auto;
    right: 0;
    padding: 0 50px;
}

.section-life__end.section-event .rooms-nav {
    bottom: 160px;
}

.section-event__description {
    padding-bottom: 30px;
}
.static-event-box{
    position: relative;
}
.page-template-page-celebration .section-event .rooms-nav {
    bottom:37%;
}

.section-event .exp-slide {
    overflow: hidden;
}

.section-event__content {
    text-align: center;
    color: var(--dark-grey-tin);
    background-color: var(--of-white);
    padding: 40px 120px;
    font-size: 16px;
    margin-top: -80px;
    position: relative;
    z-index: 10;
}

.section-life__end .section-event__content {
    color: var(--of-white);
    position: absolute;
    max-width: 875px;
    margin: 0 auto;
    background: transparent;
    left: 0;
    right: 0;
    bottom: 0;
}

.section-event__content .section-title {
    font-size: 25px;
    text-transform: uppercase;
    letter-spacing: 10%;
}

.section-event__content .section-eyebrow {
    font-size: 14px;
}

#our-venue a.btn-text,
.section-event a.btn-text {
    color: var(--heritage-red);
    border-color: var(--heritage-red);
    margin-top: 20px;
}

#our-venue a.btn-text:hover,
.section-event a.btn-text:hover {
    color: var(--white);
    background-color: var(--heritage-red);
}

/*end*/
.section-plan {
    padding-bottom: 80px;
    padding-top: 80px;
}

.section-plan .section-plan__content {
    background-color: var(--heritage-red);
    text-align: center;
    color: var(--of-white);
}

.section-plan .section-line {
    background: var(--starlight-sand);
}

.section-plan .section-eyebrow,
.section-plan .section-title {
    color: var(--starlight-sand);
}

.section-plan .section-plan__content .section-plan__desc {
    padding: 0 0 46px;
    text-align: center;
    max-width: 1110px;
    margin: 0 auto;
}

.section-plan__description {
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 40px;
}

/* ===================== ROOMS (LIVING BY RIVER) ===================== */
.rooms-section {
    background: var(--of-white);
    padding: 80px 0;
    position: relative;
}

.rooms-section::before {
    content: '';
    display: inline-block;
    height: 1px;
    background: var(--legacy-gold);
    width: max(0px, calc(((100vw - var(--max-width)) / 2) - 20px));
    position: absolute;
    top: 90px;
    left: 0;
}

#our-venue.rooms-section::before {
    background: var(--heritage-red);
    background: var(--heritage-red);
    top: 93px;
}

#our-venue.rooms-section .section-eyebrow {
    margin-bottom: 0;
}

#our-venue.rooms-section .section-feature .section-eyebrow {
    margin-bottom: 40px;
}

.rooms-section__header {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: calc(50% - 10px) calc(50% - 10px);
    gap: 20px;
    align-items: start;
    padding-bottom: 100px;
}

.rooms-section__header .fade-up.visible {
    height: 100%;
    position: relative;
}

#our-venue.rooms-section .section-eyebrow,
#our-venue.rooms-section .section-title {
    color: var(--heritage-red);
}

.rooms-section__right-text {
    padding-top: 25px;
    max-height: 220px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 20px;
}

#our-venue.rooms-section .rooms-section__right-text {
    padding-top: 43px;
}

/* Rooms slider */
.rooms-slider-outer {
    margin: 0 auto;
    position: relative;
}

.rooms-slider {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    min-height: 520px;
}

.rooms-slide {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    width: 100%;
    transition: all 0.5s ease;
    opacity: 0;
}

.rooms-slide.swiper-slide-active {
    opacity: 1;
}

.rooms-slide__img {
    overflow: hidden;
    position: relative;
}

.rooms-slide__img img {
    height: 100%;
    object-fit: cover;
}

.rooms-slide__content {
    padding: 0 78px 40px 50px;
    background: var(--of-white);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    max-width: 771px;
}

.rooms-slide__room-type {
    font-size: 9px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--dark-grey-tin);
    margin-bottom: 12px;
}

.rooms-slide__title {
    font-family: var(--font-title);
    font-size: 25px;
    font-weight: 300;
    letter-spacing: 5%;
    text-transform: uppercase;
    color: var(--legacy-gold);
    margin-bottom: 20px;
    line-height: 1.1;
}

.rooms-slide__text {
    font-size: 16px;
    line-height: 22px;
    color: var(--dark-grey-tin);
    margin-bottom: 20px;
    min-height: 125px;
    overflow: hidden;
}

.rooms-slide__actions {
    display: flex;
    gap: 20px;
    margin-bottom: 42px;
}

/* Navigation arrows */
.page-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    left: 0;
    display: flex;
    justify-content: space-between;
    padding: 0 var(--side-pad);
    z-index: 10;
}

.rooms-nav-btn {
    pointer-events: all;
    width: 44px;
    height: 44px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    border-radius: 50%;
    opacity: 0.75;
    border: 0;
    position: relative;
}

.rooms-nav-btn:hover {
    opacity: 1;
}

.rooms-nav-btn img {
    width: auto;
    height: auto;
}

.btn-prev {
    background: url(../images/arrow-prev-active.svg) no-repeat center center;
    background-size: 100%;
}

.btn-prev:hover {
    background: url(../images/arrow-prev-active-gold.svg) no-repeat center center;
}

.btn-next {
    background: url(../images/arrow-next-active.svg) no-repeat center center;
    background-size: 100%;
}

.btn-next:hover {
    background: url(../images/arrow-next-active-gold.svg) no-repeat center center;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 30px;
}
@media (max-width: 1400px){
    .room-detail-section .room-block__content{
        padding: 0 40px;
    }
    .room-specs{
        margin-bottom: 16px;
    }
}
@media (min-width: 992px) {
    .nav {
        border-bottom: 1px solid var(--legacy-gold);
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        content: "" !important;
    }
}

/* ===================== TABLE SECTION (RED) ===================== */
.the-table_event {
    background: linear-gradient(to bottom, var(--heritage-red) 70.5%, var(--white) 65%);
}

.table-section {
    background: transparent;
    position: relative;
    text-align: center;
}

.table-section__top {
    position: relative;
    z-index: 2;
    padding-bottom: 37px;
}

.the-table_event .section-text {
    color: var(--of-white);
    max-width: 630px;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: auto;
}

/* Restaurant slider */
.restaurant-slider-wrap {
    position: relative;
    padding: 0;
    /* margin: 0 auto; */
}
.section-event .restaurant-slider-wrap,
.section-life__end .restaurant-slider-wrap{
    position: static;
    overflow: hidden;
}
.pagination-rest{
    height: 0;
}
.pagination-rest,
.restaurant-card {
    display: grid;
    grid-template-columns: 15fr 7fr;
    padding: 0 80px;
    position: relative;
}
.restaurant-card {
    min-height: 400px;
}
.restaurant-card__img-area {
    position: relative;
    overflow: hidden;
    background: #888;
}

.restaurant-card__img-area img {
    position: absolute;
    inset: 0;
    transition: opacity 0.5s ease;
}

.restaurant-card__img-area img.hidden {
    opacity: 0;
}

/* Bullet pagination */
.restaurant-card__bullets {
    position: absolute;
    bottom: 35px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 44px;
    z-index: 5;
}

.restaurant-bullet {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid var(--of-white);
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.restaurant-bullet.active {
    background: var(--of-white);
}

.swiper-slide-active .img-placeholder {
    opacity: 1 !important;
}

.restaurant-card__content {
    padding: 84px 80px 118px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: var(--of-white);
}

.restaurant-card__title {
    font-family: var(--font-title);
    font-size: 25px;
    font-weight: 300;
    letter-spacing: 5%;
    text-transform: uppercase;
    color: var(--heritage-red);
    margin-bottom: 60px;
    line-height: 1.1;
    text-align: left;
}

.restaurant-card__text {
    font-size: 16px;
    line-height: 22px;
    color: var(--dark-grey-tin);
    margin-bottom: 30px;
    text-align: left;
    max-height: 150px;
    overflow-y: auto;
    padding-right: 20px;
    position: relative;
    overflow-x: hidden;
}

.life-section__desc:not(:first-child),
.restaurant-card__text p:not(:first-child) {
    margin-top: 15px;
}

.restaurant-card__text::-webkit-scrollbar,
.rooms-section__right-text::-webkit-scrollbar {
    width: 3px;
}

.restaurant-card__text::-webkit-scrollbar-track,
.rooms-section__right-text::-webkit-scrollbar-track {
    background: transparent;
}

.restaurant-card__text::-webkit-scrollbar-thumb,
.rooms-section__right-text::-webkit-scrollbar-thumb {
    background: #ddd8d8;
}

.restaurant-card__text::-webkit-scrollbar-thumb:hover,
.rooms-section__right-text::-webkit-scrollbar-thumb:hover {
    background: #ddd8d8;
}

.restaurant-card__hours {
    font-size: 14px;
    letter-spacing: 0.1em;
    color: var(--dark-grey-tin);
    margin-bottom: 70px;
    text-align: left;
}

.restaurant-card__actions {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

.event-section .section-text {
    max-width: 626px;
    color: var(--heritage-red)
}
.home .event-section .section-text{
    color: var(--dark-grey-tin);
}
.event-section .btn-text,
.restaurant-card__actions .btn-text {
    font-size: 14px;
    letter-spacing: 0.2px;
    color: var(--heritage-red);
    border: 1px solid var(--heritage-red);
}

.restaurant-card__actions .btn-text:last-child {
    background-color: var(--heritage-red);
    color: var(--of-white);
}

.restaurant-card__actions .btn-text:last-child:hover {
    background-color: var(--starlight-sand);
    color: var(--legacy-gold);
}

.restaurant-card__nav.page-nav {
    display: flex;
    gap: 20px;
    position: relative;
    padding: 0;
    justify-content: flex-start;
    top: auto;    
    left: 80px;
    bottom: 75px;
}

@media (min-width: 1200px) {
    .life-section .restaurant-card__nav {
        bottom: 34px;
        position: absolute;
        left: 55.2%;
    }
}

.nav-circle-btn {
    position: relative;
    width: 44px;
    height: 44px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: all 0.2s;
    border: 0;
}

.nav-circle-btn:hover {
    opacity: 1;
}

/* ===================== EVENT & CELEBRATION ===================== */
.event-section {
    background: transparent;
    padding: 0;
    position: relative;
}

.event-section__top {
    text-align: center;
    padding-bottom: 56px;
    position: relative;
    z-index: 1;
}

.event-section__line {
    margin-bottom: 12px;
}

.event .section-title,
.event .section-eyebrow {
    color: var(--heritage-red);
}

.event .section-line {
    background-color: var(--heritage-red);
}

/* Event gallery: 3 equal columns, each with vertical label on right border */
.event-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    height: 460px;
    gap: 0;
    position: relative;
}

.event-gallery__item {
    position: relative;
    overflow: hidden;
    background: var(--white);
}

.event-gallery__item:nth-child(2) {
    margin: 0 2px;
}

.event-gallery__item img {
    transition: transform 0.7s ease;
}

.event-gallery__item:hover {
    -webkit-mask-image: linear-gradient(-75deg, rgba(0, 0, 0, .8) 30%, #000 50%, rgba(0, 0, 0, .8) 70%);
    -webkit-mask-size: 200%;
    animation: shine 1s infinite;
    cursor: pointer;
}

.event-gallery__item-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.45) 0%, transparent 50%);
}

@-webkit-keyframes shine {
    from {
        -webkit-mask-position: 150%;
    }

    to {
        -webkit-mask-position: -50%;
    }
}

@-keyframes shine {
    from {
        -webkit-mask-position: 150%;
    }

    to {
        -webkit-mask-position: -50%;
    }
}

/* Vertical label pinned to right edge of each column */
.event-gallery__vert-label {
    position: absolute;
    right: 30px;
    top: 0;
    bottom: 60px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    z-index: 3;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    word-break: break-all;
    overflow-wrap: break-word;
}

.event-gallery__vert-label span {
    font-family: var(--font-title);
    font-size: 36px;
    letter-spacing: 0.4em;
    color: var(--of-white);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    font-weight: 300;
}

.event-gallery__description {
    position: absolute;
    bottom: 59px;
    left: 73px;
    max-width: 391px;
    color: var(--of-white);
    font-size: 14px;
    line-height: 1.4;
}

/* ===================== LIFE ON BOARD ===================== */
.life-section {
    background: var(--starlight-sand-shade);
    position: relative;
    overflow: hidden;
    padding: 100px 0;
    border-bottom: 8px solid var(--legacy-gold);
}

.life-section::before {
    content: '';
    display: inline-block;
    height: 1px;
    background: var(--starlight-sand);
    width: max(0px, calc(((100vw - var(--max-width)) / 2) - 20px));
    position: absolute;
    top: 114px;
    left: 0;
    max-width: 233px;
}

.life-section__inner {
    margin: 0 auto;
    display: grid;
    grid-template-columns: 29.5% 1fr;
    gap: 80px;
    align-items: center;
    position: relative;
    z-index: 1;
    padding-left: 12%;
}

.life-section .section-title,
.life-section .section-eyebrow {
    color: var(--starlight-sand);
}

.life-section__inner .btn-text {
    border-color: var(--of-white);
    color: var(--of-white);
}

.life-section__right {
    position: relative;
    overflow: hidden;
    min-width: 0;
}

.life-slides-track {
    overflow: hidden;
    display: block;
}

.life-slide {
    display: grid;
    grid-template-columns: 1fr 38.729%;
    gap: 0;
    min-width: 0;
}

.life-slides-track .swiper-slide {
    display: flex;
    width: 100%;
    flex-shrink: 0;
}

/* next slide peeks out */
.life-slides-track .life-slide:not(:first-child) {
    margin-left: 0;
}

.life-mask {
    overflow: hidden;
    padding-right: 0;
}

.life-slide__img {
    height: 430px;
    overflow: hidden;
    background: #aaa;
    position: relative;
}

.life-slide__img img {
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/*.life-slide:hover .life-slide__img img {
    transform: scale(1.04);
}
*/
/* Next slide arrow absolutely positioned right */
.life-next-btn {
    position: absolute;
    right: 10%;
    top: 0;
    bottom: 0;
    margin: auto 0;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    z-index: 10;
    transition: all 0.2s;
    opacity: 0.75;
    border-radius: 50%;
}

.life-next-btn .life-button-next {
    width: 100%;
    height: 100%;
}

.life-next-btn:hover {
    opacity: 1;
}

.life-slide__content {
    background: var(--of-white);
    padding: 70px 47px;
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
}

.life-slide__title {
    font-family: var(--font-title);
    font-size: 25px;
    font-weight: 300;
    letter-spacing: 5%;
    text-transform: uppercase;
    color: var(--legacy-gold);
    margin-bottom: 25px;
    line-height: 1.1;
}

.life-slide__text {
    font-size: 16px;
    line-height: 22px;
    color: var(--dark-grey-tin);
}

.life-slider-nav {
    display: flex;
    gap: 8px;
    margin-top: 20px;
}

/*POPUP*/
.popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    display: none;
    width: 100%;
    height: 100%;
    margin: 0 auto;
}

@keyframes fadeOverlay {
    to {
        opacity: 1;
    }
}

.popup {
    position: relative;
    width: 880px;
    max-width: 110vw;
    /* aspect-ratio: 660 / 420; */
    transform: scale(0.92) translateY(16px);
    animation: popIn 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.25s forwards;
}

@keyframes popIn {
    to {
        transform: scale(1) translateY(0);
        opacity: 1;
    }
}

.popup-bg {
    position: absolute;
    inset: 0;
    background: url('../images/background-popup-01.jpg?v=1') no-repeat;
    background-size: 100%;
    background-position: center;
}

#popupEmail .popup-bg {
    background: url('../images/background-popupemail-01.jpg') no-repeat;
    background-size: 100%;
}

/* .popup-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(180, 145, 70, 0.72);
} */

/* === CONTENT === */
.popup-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 36px 48px 40px;
    text-align: center;
    color: var(--of-white);
    font-size: 16px;
}

#popupEmail .popup-content {
    padding-bottom: 130px;
}

/* Logo area */
.popup-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.popup-logo img {
    max-width: 155px;
    filter: brightness(0) invert(1);
}

/* Headline */
.popup-headline {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-size: clamp(32px, 4.5vw, 48px);
    line-height: 1.1;
    color: var(--of-white);
    margin-bottom: 18px;
    margin-top: 68px;
    letter-spacing: 10%;
}

/* Body text */
.popup-body {
    font-weight: 300;
    letter-spacing: 0.2px;
    margin-bottom: 30px;
    line-height: 22px;
    /* max-width: 410px; */
}

.popup-body .pop-tel {
    font-weight: 500;
}

.popup-body span:last-child {
    display: block;
}

/* Buttons */
.popup-buttons {
    display: flex;
    gap: 14px;
}

.popup-btn {
    padding: 9px 28px;
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    border: 1.5px solid rgba(255, 255, 255, 0.8);
    background: transparent;
    cursor: pointer;
    transition: background 0.25s, color 0.25s, border-color 0.25s;
}

.popup-btn:hover {
    background: rgba(255, 255, 255, 0.18);
    border-color: #fff;
}

/* === CLOSE BUTTON === */
.popup-close {
    position: absolute;
    top: -16px;
    right: -16px;
    z-index: 10;
    width: 34px;
    height: 34px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    opacity: 0.88;
    transition: opacity 0.2s, transform 0.2s;
}

.popup-close:hover {
    opacity: 1;
    transform: scale(1.08);
}

.popup-close img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.page-stories {
    background: var(--of-white);
}

.page-stories .section-text {
    padding: 0 12%;
}

.page-stories p:not(:first-child) {
    margin-top: 15px;
}

.section-intro__item {
    background: linear-gradient(to bottom, var(--of-white) 50%, var(--white) 50%);
    text-align: center;
}

.section-intro__item .section-text {
    font-size: 16px;
    line-height: 22px;
    padding-top: 70px;
}

.section-intro__item .restaurant-card__bullets {
    bottom: 20px;
}

.whatis-grid_items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding-bottom: 40px;
}

.whatis-grid_items:nth-child(even) picture {
    order: 2;
}

.whatis-grid_items:nth-child(even) .grid-item__content {
    order: 1;
}

.whatis-grid_items .grid-item__content {
    background-color: var(--of-white);
    display: flex;
    align-items: center;
}

.whatis-grid_items .section-list__text {
    padding-bottom: 80px;
}

.news-content {
    text-align: left;
    color: var(--dark-grey-tin);
    font-size: 20px;
    line-height: 28px;
}

.news-content p {
    padding-bottom: 15px;
}

.news-content ul {
    padding-left: 25px;
    list-style: none;
    padding-top: 10px;
    padding-bottom: 10px;
}

.news-content ul li {
    position: relative;
    padding-left: 12px;
}

.news-content ul li::after {
    content: '';
    position: absolute;
    left: 0;
    top: 13px;
    width: 4px;
    height: 4px;
    background-color: var(--dark-grey-tin);
    border-radius: 50%;
}

.news-content p>strong {
    display: block;
    margin-top: 20px;
    font-weight: 400;
    font-family: var(--font-title);
    text-transform: uppercase;
}

.group-btns {
    display: flex;
    gap: 40px;
}

.page-template-page-contact .section-intro {
    background-color: var(--of-white);
}

.page-template-page-contact .section-intro,
.single .section-intro {
    margin-top: 57px;
}

.page-template-page-contact .section-line,
.single .section-line {
    height: 150px;
}

.single .section-text {
    margin-bottom: 70px;
}

.single-container {
    max-width: 950px;
    margin: 0 auto;
}

.single-container .group-btns {
    text-align: center;
    justify-content: center;
}

.images-grid {
    display: grid;
    gap: 20px;
}

.single-content {
    display: grid;
    grid-template-columns: 1fr 2fr;
    padding-top: 80px;
    gap: 100px;
}

.single-content .single-content__title {
    font-family: var(--font-title);
    font-size: 25px;
    line-height: 1.1;
    color: var(--legacy-gold);
    letter-spacing: 10%;
    text-align: left;
}

.single-content .single-content__right {
    text-align: left;
    line-height: 22px;
    color: var(--dark-grey-tin);
    font-size: 16px;
    letter-spacing: 0.2px;
}

.single-content .single-content__right strong {
    display: inline-block;
    padding-top: 30px;
}

.single-content__description {
    padding-bottom: 40px;
}

/* ================== 2 ẢNH ================== */
.images-grid:has(picture:nth-child(2):last-child) {
    grid-template-columns: 2fr 1fr;
}

.images-grid:has(picture:nth-child(2):last-child) picture:first-child {
    grid-column: 1;
}

.images-grid:has(picture:nth-child(2):last-child) picture:last-child {
    grid-column: 2;
}

/* ================== 3 ẢNH ================== */
.images-grid:has(picture:nth-child(3):last-child) {
    grid-template-columns: 1fr 1fr 1fr;
}

/* ===================== FOOTER ===================== */
footer {
    background: var(--of-white);
    position: relative;
    padding-bottom: 50px;
    border-top: 5px solid var(--legacy-gold);
}

.footer__inner {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 56px 0 32px;
    position: relative;
    z-index: 1;
}

.footer__grid {
    display: grid;
    grid-template-columns: 180px 380px 280px 1fr;
    gap: 32px;
    margin-bottom: 20px;
    align-items: start;
}

.page-template-page-dinner footer,
.page-template-page-celebration footer {
    background-color: var(--heritage-red);
}

.page-template-page-celebration .footer__col-head,
.page-template-page-dinner .footer__col-head {
    color: var(--of-white);
}

.page-template-page-celebration .footer__contact-text,
.page-template-page-dinner .footer__contact-text {
    color: var(--starlight-sand);
}

.page-template-page-celebration .footer__logo>a:first-child img,
.page-template-page-dinner .footer__logo>a:first-child img {
    display: inline-block !important;
}

.page-template-page-celebration .footer__logo a:last-child img,
.page-template-page-dinner .footer__logo a:last-child img {
    display: none !important;
}

.page-template-page-celebration .footer__social>a img:first-child,
.page-template-page-dinner .footer__social>a img:first-child {
    display: inline-block !important;
}

.page-template-page-celebration .footer__social a img:last-child,
.page-template-page-dinner .footer__social a img:last-child {
    display: none !important;
}

.footer__logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.footer__logo img {
    max-width: 155px;
}

.footer__logo-sub {
    font-size: 8px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--dark-grey-tin);
    display: block;
}

/* Col headings */
.footer__col-head {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    color: var(--dark-grey-tin);
    margin-bottom: 5px;
    line-height: 20px;
}

.footer__col-list {
    list-style: none;
    display: flex;
    flex-direction: column;
}

.footer__email {
    margin-top: 28px;
}

.footer__col-list li a {
    transition: color 0.2s;
}

.footer__col-list li a:hover {
    color: var(--legacy-gold);
}

.footer__special {
    margin-top: 53px;
}

/* Contact col */
.footer__contact-text {
    font-size: 20px;
    color: var(--legacy-gold-shade);
    line-height: 28px;
}

.footer__social {
    display: flex;
    gap: 16px;
    margin-top: 14px;
}

.footer__social a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: all 0.2s;
    border-radius: 2px;
}

.footer__social a img {
    width: auto;
    height: auto;
}

/* Contact form col */
.footer__contact-form .footer__col-head {
    margin-bottom: 12px;
}

.page-template-page-celebration .footer__contact-form .btn,
.page-template-page-dinner .footer__contact-form .btn {
    background: var(--starlight-sand);
    color: var(--heritage-red)
}

.page-template-page-celebration .footer__contact-form .footer__nl-input,
.page-template-page-dinner .footer__contact-form .footer__nl-input {
    border-color: var(--starlight-sand);
}

.footer__form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 8px;
}

.footer__form-row.single {
    grid-template-columns: 1fr;
}

.footer__input {
    width: 100%;
    border: 1px solid var(--legacy-gold);
    background: transparent;
    padding: 9px 12px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--dark-grey-tin);
    outline: none;
    transition: border-color 0.2s;
}

.page-template-page-contact .section-intro .section-title {
    padding-bottom: 80px;
}

.footer__input:focus {
    border-color: var(--legacy-gold);
}

.footer__nl-input::placeholder,
.footer__contact-form .footer__input::placeholder,
.footer__contact-form .footer__textarea::placeholder,
.footer__nl-input {
    color: var(--dark-grey-tin);
}

.page-template-page-celebration .footer__copyright a,
.page-template-page-dinner .footer__copyright a,
.page-template-page-celebration .footer__copyright,
.page-template-page-dinner .footer__copyright,
.page-template-page-celebration .footer__input::placeholder,
.page-template-page-celebration .footer__contact-form .footer__textarea::placeholder,
.page-template-page-dinner .footer__input::placeholder,
.page-template-page-dinner .footer__contact-form .footer__textarea::placeholder,
.page-template-page-dinner .footer__nl-input::placeholder,
.page-template-page-celebration .footer__nl-input::placeholder {
    color: var(--starlight-sand);
}

.footer__textarea {
    width: 100%;
    border: 1px solid var(--legacy-gold);
    background: transparent;
    padding: 9px 12px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--dark-grey-tin);
    outline: none;
    resize: none;
    height: 72px;
    transition: border-color 0.2s;
    margin-bottom: 8px;
    display: block;
    width: 100%;
}

.footer__textarea:focus {
    border-color: var(--legacy-gold);
}

.footer__form-submit-row {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.footer__form-submit-row .btn-gold {
    text-transform: none;
    color: var(--starlight-sand);
    padding-left: 42px;
    padding-right: 42px;
    font-family: var(--dark-grey-tin);
}

.footer__form-submit-row .btn-gold:hover {
    background: var(--dark-grey-tin);
}

.footer__newsletter .footer__col-head {
    font-size: 14px;
    margin-bottom: 0;
}

.footer__nl-row {
    display: grid;
    grid-template-columns: 360px auto;
    gap: 0;
}

.footer__nl-input {
    border: 1px solid var(--legacy-gold);
    border-right: none;
    background: transparent;
    padding: 9px 12px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--dark-grey-tin);
    outline: none;
}

.footer__nl-input:focus {
    border-color: var(--legacy-gold);
}

.footer__nl-btn {
    background: var(--legacy-gold);
    color: var(--white);
    border: none;
    padding: 0 42px;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 1.7px;
    text-transform: none;
    cursor: pointer;
    transition: background 0.2s;
    font-family: var(--dark-grey-tin);
}

.footer__nl-btn:hover {
    background: var(--dark-grey-tin);
}

/* Bottom bar */
.footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.footer__copyright {
    font-size: 16px;
    line-height: 22px;
    color: var(--legacy-gold-shade);
    letter-spacing: 0.2px;
    text-align: center;
    font-weight: 300;
    padding-left: 212px;
    position: relative;
    top: 10px;
}

.footer__copyright a {
    color: var(--legacy-gold);
    text-decoration: none;
}

.footer__copyright a:hover {
    color: var(--legacy-gold);
}

/* ===================== PLACEHOLDER IMAGES ===================== */
.img-placeholder {
    width: 100%;
    height: 100%;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.35);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-family: var(--font-body);
}

.breadcrum {
    left: 80px;
    position: absolute;
    top: 0;
    bottom: 13px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    animation: heroFade 1.2s ease 0.5s both;
    z-index: 10;
}

.room-block {
    display: grid;
    grid-template-columns: 58% 42%;
    margin-bottom: 40px;
    position: relative;
}

/* Alternating: even block đảo layout */
.room-block--alt {
    grid-template-columns: 42% 58%;
}

.room-block--alt .room-block__content {
    order: -1;
}

.section-intro__item .room-block__img {
    margin-top: 60px;
}

.room-block__img {
    position: relative;
    overflow: hidden;
    background: var(--legacy-gold);
}
.section-feature .room-block__img{
    background: transparent;
}
.carousel-track {
    position: absolute;
    inset: 0;
}

.carousel-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .55s ease;
}

.carousel-slide.active {
    opacity: 1;
}

.carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ── Content col ── */
.room-block__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 82px 0 0;
    background-color: var(--of-white);
}

#our-venue .room-block__container {
    background-color: var(--of-white);
    padding: 60px 82px 60px 82px;

}

.room-block.room-block--alt .room-block__content {
    margin-left: 0;
    margin-right: 82px;
}

.room-block.room-block--alt .room-block__content {
    margin-left: 82px;
    margin-right: 0;
}

.room-detail-section .room-block__content {
    padding: 0 80px;
}

/* Title — kế thừa .rooms-slide__title */
.room-block__title {
    font-family: var(--font-title);
    font-size: clamp(18px, 1.6vw, 25px);
    font-weight: 400;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--legacy-gold);
    margin-bottom: 20px;
    line-height: 1.15;
}

/* Desc — kế thừa .rooms-slide__text */
.room-block__desc {
    font-size: 16px;
    line-height: 22px;
    font-weight: 300;
    color: var(--dark-grey-tin);
    margin-bottom: 28px;
}

/* ── Specs grid 2×2 ── */
.room-specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 36px;
}

.spec-cell {
    padding: 14px 0;
    border-top: 1px solid var(--dark-grey-tin);
}

.spec-cell:nth-child(odd) {
    margin-right: 10px;
}

.spec-cell:nth-child(even) {
    margin-left: 10px;
}

.spec-label,
.room-specs>.spec-cell>strong {
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: 6px;
    letter-spacing: 1.7px;
}

.room-specs .spec-value {
    font-size: 16px;
    line-height: 22px;
    color: var(--dark-grey-tin);
    list-style: none;
    font-weight: 300;
}

.room-specs ul {
    margin-left: 9px;
    list-style: none;
}

.room-specs li {
    position: relative;
}

.dining-list .room-block__more {
    margin-top: 20px;
}

.room-specs li::before {
    top: 9px;
    width: 3px;
    height: 3px;
}

/* ── Actions — kế thừa .rooms-slide__actions ── */
.room-block__actions {
    display: flex;
    gap: 40px;
    align-items: center;
}

@media (min-width:1500px) {

    .page-template-page-stories .section-items__grid-item img {
        min-height: 472px;
    }
}

/* ===================== RESPONSIVE ===================== */
@media (max-width: 1600px) {
    .navbar__logo img {
        max-width: 140px;
    }
    .room-detail-section .room-block__content{
        padding: 0 40px;
    }
    .room-block__content{
        margin-right: 60px;
    }
    .room-specs{
        margin-bottom: 0;
    }
    .section-end .section-items__grid {
        padding: 40px 30px;
    }

    .page-template-page-stories .grid-item__content {
        padding: 40px 65px 61px;
    }

    .page-template-page-stories .section-items .grid-item__content section-title {
        padding: 0;
    }

    .navbar__links,
    .navbar__right-links {
        gap: 15px;
    }

    .btn-gold,
    .navbar__links a,
    .navbar__right-links a {
        font-size: 14px;
    }

    .restaurant-card__content {
        padding: 48px 48px 40px;
    }
    .pagination-rest .restaurant-card__nav.page-nav {
        left: 50px;
        bottom:61px;
    }
    .rooms-slide__content {
        padding-right: 48px;
        max-width: 741px;
    }

    .rooms-nav {
        padding: 0 calc(var(--side-pad) - 45px);
    }

    .event-gallery__description {
        left: 40px;
        max-width: 330px;
    }

    .event-gallery__vert-label span {
        font-size: 32px;
    }

    .section-feature__item .section-eyebrow {
        padding-top: 60px;
    }

    section-title {
        font-size: 54px;
    }

    .item-description {
        font-size: 16px;
        line-height: 24px;
        padding-top: 100px;
    }

    .life-section__inner {
        gap: 60px
    }
}

@media (max-width: 1440px) {
    .btn-gold {
        padding-left: 25px;
        padding-right: 25px;
    }

    .life-section__inner {
        padding-left: 8%;
    }

    .life-section__inner {
        grid-template-columns: 31.5% 1fr;
    }

    .section-title {
        font-size: clamp(32px, 4.5vw, 52px);
    }

    .rooms-section__header {
        max-width: 1170px;
    }

    .rooms-section::before {
        width: max(0px, calc(((100vw - 1170px) / 2) - 20px));
    }

    .rooms-section::before {
        top: 93px;
    }

    .navbar {
        padding-left: 30px;
        padding-right: 30px;
    }

    .navbar__logo img {
        max-width: 125px;
    }

    .event-gallery__description {
        max-width: 280px;
    }

    .life-section__inner {
        gap: 30px;
    }

    .life-slide__content {
        padding-left: 30px;
        padding-right: 30px;
    }

    .footer__inner {
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media (max-width: 1280px) {
    .life-section__inner {
        padding-left: 0;
    }

    .life-section__desc {
        font-size: 16px;
        line-height: 22px;
    }

    .restaurant-card__text {
        margin-right: 0;
    }

    .restaurant-card__content {
        padding-left: 30px;
        padding-right: 30px;
    }

    .navbar,
    .rooms-section,
    .life-section {
        padding-left: 25px;
        padding-right: 25px;
    }

    .btn-gold,
    .navbar__links a,
    .navbar__right-links a {
        font-size: 11px;
    }

    .navbar__links,
    .navbar__right-links {
        gap: 10px;
    }

    .room-block__content,
    .room-block--alt .room-block__content {
        padding: 48px 40px;
    }

    .room-block__desc {
        font-size: 14px;
    }
}

@media (max-width: 1200px) {
    :root {
        --side-pad: 48px;
    }

    .navbar {
        padding-top: 17px;
    }

    .navbar__right {
        display: none;
    }

    .navbar__links,
    .navbar__right-links,
    .navbar__right .btn-gold,
    .navbar__right .lang {
        display: none !important;
    }

    .navbar {
        padding: 16px 24px;
        background: transparent;
    }

    .navbar:not(.scrolled):not(.nav-open) {
        backdrop-filter: none;
        background: transparent !important;
        box-shadow: none;
    }

    .navbar.scrolled {
        background: var(--of-white) !important;
    }

    .navbar.nav-open {
        background: var(--of-white);
    }

    .navbar__inner {
        height: 52px;
    }

    .navbar__search-mobile img,
    .navbar__logo img {
        filter: brightness(0) invert(1);
    }

    .nav-open .navbar__search-mobile img,
    .navbar.scrolled .navbar__search-mobile img,
    .nav-open .navbar__logo img {
        filter: none;
    }

    .single .navbar__search-mobile img,
    .navbar__logo img {
        filter: none;
    }

    .nav-open .navbar__search-mobile {
        color: var(--legacy-gold)
    }

    .navbar.scrolled .navbar__logo img {
        filter: none;
    }

    .navbar__hamburger {
        display: flex;
    }

    .navbar__hamburger span {
        background: #fff;
    }

    .single .navbar .navbar__hamburger span,
    .navbar.scrolled .navbar__hamburger span {
        background: var(--legacy-gold-shade);
    }

    .page-template-page-contact .section-line,
    .single .section-line {
        height: 60px;
    }

    .page-template-page-contact .section-intro,
    .single .section-intro {
        margin-top: 90px;
    }

    .consent-box {
        font-size: 12px;
    }

    .consent-box input[type="checkbox"] {
        width: 35px;
        height: 16px;
    }

    .navbar__search-mobile {
        display: flex;
        color: #fff;
    }

    .navbar.scrolled .navbar__search-mobile {
        color: var(--legacy-gold-shade);
    }

    .navbar__links {
        display: none;
    }

    .navbar__right-links {
        display: none;
    }

    .navbar.scrolled {
        box-shadow: none;
    }

    .hero__scroll-line {
        width: 12px;
        height: 18px;
    }

    .section-title {
        font-size: 48px;
    }

    .life-section__inner {
        grid-template-columns: 390px 1fr;
    }

    .life-slide {
        grid-template-columns: 1fr 270px;
    }

    .event-gallery__description {
        max-width: 240px;
    }

    .footer__grid {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .footer__contact-form {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1024px) {
    .event-gallery__description {
        max-width: 190px;
    }
}

@media(max-width: 820px) {
    .mobile-collapse-toggle {
        align-items: center;
        appearance: none;
        background: var(--legacy-gold);
        border: 1px solid var(--starlight-sand);
        color: var(--starlight-sand);
        cursor: pointer;
        display: flex;
        font-family: var(--font-title);
        font-size: 16px;
        font-weight: 400;
        justify-content: space-between;
        letter-spacing: 0.1em;
        line-height: 1.1;
        padding: 9px 36px 7px 11px;
        position: relative;
        text-align: left;
        text-transform: uppercase;
        width: 100%;
    }

    .mobile-collapse-toggle::after {
        border-color: currentColor;
        border-style: solid;
        border-width: 0 1px 1px 0;
        content: "";
        height: 10px;
        position: absolute;
        right: 11px;
        top: 9px;
        transform: rotate(45deg);
        transition: transform 0.3s ease, top 0.3s ease;
        width: 10px;
    }

    .mobile-collapse-item.is-open > .mobile-collapse-toggle::after {
        top: 15px;
        transform: rotate(-135deg);
    }

    .mobile-collapse-panel {
        display: none;
        padding-top: 22px;
    }

    .mobile-collapse-item.is-open > .mobile-collapse-panel {
        display: block;
    }
    .mobile-collapse-panel .container{
        padding:0 30px;
    }
    .navbar__inner{
        display: flex;
    }
    .static-event-box {
        position: static;
    }
    :root {
        --side-pad: 28px;
    }

    .news-content ul {
        padding-left: 0px;
    }

    .section-life__item .section-title,
    .expslidehalf .section-title {
        font-size: 16px;
    }

    .bgnature .expslide-item>div:last-child>div:last-child {
        padding: 30px;
        text-align: center;
    }

    .bgnature .expslide-item>div:last-child>div:last-child p {
        text-align: center !important;
    }

    .wpcf7-submit {
        padding: 6px 26px 5px;
        font-size: 12px;
    }

    .hidden-xs {
        display: none !important;
    }

    img {
        height: auto;
        object-fit: inherit;
    }

    .hidden-md {
        display: inline-block !important;
    }

    .img-placeholder {
        height: auto;
    }

    .section-eyebrow {
        font-size: 10px;
        line-height: 20px;
    }

    .section-title {
        font-size: 30px;
    }

    .section-intro__item .section-text {
        padding-top: 0;
    }

    .offer-slide .grid-item__content .btn-textgold {
        margin-top: 20px;
    }

    .room_features p {
        font-size: 16px;
    }

    section-list__dinner .room-specs {
        margin-bottom: 0;
    }

    section-list__dinner .room-specs ul:first-child {
        padding-bottom: 20px;
    }

    .page-stories .section-text {
        padding: 0;
    }

    .section-intro__grid-item {
        padding-bottom: 30px;
    }

    .room-specs li::before,
    .room_features li:not(:first-child)::before {
        content: "";
        position: absolute;
        width: 2px;
        height: 2px;
        border-radius: 50%;
        background-color: var(--dark-grey-tin);
        top: 7px;
        left: -7px;
    }

    .container {
        padding-left: 0;
        padding-right: 0;
    }

    .rooms-section,
    .section-intro {
        padding-left: 30px;
        padding-right: 30px;
    }

    .photo-grid {
        padding: 0 30px;
        display: block;
    }

    .rooms-section__header {
        grid-template-columns: none;
    }

    .rooms-section__right-text {
        padding-top: 0;
        padding-right: 0;
        max-height: none;
        overflow-y: visible;
    }

    .rooms-section {
        padding-top: 0;
        padding-bottom: 0;
    }

    .rooms-section__header .btn-text {
        margin-top: 30px;
        position: relative;
    }

    .restaurant-card.active,
    .rooms-slide.active {
        display: block;
    }

    .rooms-slide__content {
        padding: 32px 0;
        text-align: left;
        min-height: 280px;
        max-width: none;
    }

    .rooms-nav {
        top: 240px;
    }

    .nav-circle-btn,
    .rooms-nav-btn {
        opacity: 1;
    }

    .rooms-nav .rooms-nav-btn {
        background: transparent;
    }

    .restaurant-card__nav .nav-circle-btn,
    .life-slider-nav .nav-circle-btn {
        filter: brightness(0) invert(1);
        position: relative;
    }

    .rooms-nav-btn {
        width: 30px;
        height: 30px;
    }

    .life-slider-nav .btn-prev,
    .btn-prev {
        left: 23px;
    }

    .life-slider-nav .btn-next,
    .btn-next {
        right: 23px;
    }

    .section-life__end .rooms-nav {
        bottom: 15%;
        top: auto;
    }

    .section-life__end .rooms-nav-btn.btn-prev {
        left: -15px;
        background: url(../images/arrow-prev-02.svg) no-repeat;
        background-size: 100%;
        width: 32px;
        height: 32px;
    }

    .section-life__end .rooms-nav-btn.btn-next {
        right: -15px;
        background: url(../images/arrow-next-02.svg) no-repeat;
        background-size: 100%;
        width: 32px;
        height: 32px;
    }

    .section-life__end .rooms-nav-btn.btn-next::after,
    .section-life__end .rooms-nav-btn.btn-prev::after {
        display: none;
    }

    .restaurant-slider-wrap {
        padding: 0 30px;
    }

    .restaurant-card {
        grid-template-columns: 1fr 35%;
    }

    .restaurant-card__content {
        padding-left: 30px;
        padding-right: 30px;
        justify-content: flex-start;
    }

    .restaurant-card__title {
        margin-bottom: 20px;
        font-size: 16px;
    }

    .tel-line {
        display: none;
    }

    .restaurant-card__text::after {
        content: "";
        position: absolute;
        right: 0px;
        top: 0;
        width: 3px;
        height: 80%;
        background: #ddd8d8;
        border-radius: 2px;
    }

    .event-section__line {
        margin-bottom: 0;
    }

    .event-section__text {
        margin-bottom: 2px;
        padding: 0 30px;
    }

    .event-section__top {
        padding-bottom: 53px;
    }

    .event-gallery__vert-label {
        max-height: none;
        top: 50px;
        bottom: auto;
        align-items: flex-end;
    }

    .event-gallery__description {
        left: 30px;
        bottom: auto;
        max-width: calc(100% - 150px);
        top: 60px;
    }

    .event-gallery {
        grid-template-columns: 1fr;
        height: auto;
    }

    .event-gallery__item {
        height: 472px;
    }

    .event-gallery__item:nth-child(2) {
        margin: 1px 0;
    }

    .rooms-section {
        text-align: center;
        padding: 0;
        background-color: var(--white);
    }

    .section-eyebrow {
        display: block;
    }

    .rooms-section__header {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 10px;
        padding: 0px 30px 0 30px;
    }

    .rooms-slide__title {
        font-size: 16px;
        margin-bottom: 16px;
    }

    .rooms-slide__content {
        padding: 32px 30px;
        max-width: none;
    }

    .rooms-slide__text {
        min-height: 135px;
    }

    .section-line {
        height: 57px;
    }

    .rooms-slide {
        grid-template-columns: 1fr;
    }

    .rooms-slide__text {
        margin-bottom: 6px;
    }

    .rooms-slide__actions {
        margin-bottom: 0;
        display: flex;
        justify-content: unset;
    }

    .rooms-slide__actions .btn-text:last-child {
        background-color: var(--legacy-gold);
        color: var(--of-white);
        border-bottom: 0;
        letter-spacing: 0.2px;
        padding: 4px 10px;
        line-height: 22px;
    }

    .hidden-sm {
        display: none;
    }

    .rooms-nav {
        padding: 0;
    }

    .room-block,
    .room-block--alt {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .room-detail-section .room-block .swiper-horizontal,
    .room-detail-section .room-block__img {
        height: 450px;
    }

    .room-block__container {
        padding: 30px;
        text-align: center;
    }

    .room-specs {
        display: block;
        text-align: left;
    }

    .room-block__content {
        background: var(--white);
    }

    .room-block__container .room-block img {
        display: block;
        height: 100%;
        object-fit: cover;
    }

    .room-block img {
        display: block;
        height: 100%;
        object-fit: cover;
    }

    /*.room-block__img {
        height: 320px;
    }*/

    .room-block--alt .room-block__content {
        order: 0;
    }

    .room-block__content,
    .room-block--alt .room-block__content {
        padding: 36px 30px;
        margin: 0;
    }

    .room-block__desc {
        max-width: none;
        font-size: 12px;
        line-height: 1.4;
    }

    .section-feature .room-block__content {
        padding: 0 30px;
        margin-top: -30px;
        position: relative;
        z-index: 10;
    }

    #our-venue .room-block__container {
        padding: 30px;
    }

    #our-venue .section-feature .room-specs {
        padding-top: 0;
        margin-bottom: 0;
    }

    #our-venue .section-feature .room-specs .grid-item__grid {
        padding-top: 5px;
        margin-top: 10px;
    }

    #our-venue {
        padding-bottom: 30px;
    }

    #our-venue.rooms-section .section-title {
        padding-top: 20px;
    }

    #our-venue.rooms-section .section-feature .section-title {
        font-size: 16px;
    }

    .rooms-section .section-feature .btn-red {
        text-align: center;
        display: block;
    }

    .section-plan .container-fluid {
        padding: 0;
    }

    .section-plan .section-plan__content {
        padding: 0 30px;
    }

    .section-plan {
        padding-top: 0;
        padding-bottom: 0;
    }

    .wpcf7-select,
    .wpcf7-form-control:not([type="submit"]):not(.wpcf7-acceptance) {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    .wpcf7-select,
    .wpcf7-form-control:not([type="submit"]):not(.wpcf7-acceptance),
    .footer__nl-input,
    .section-plan .wpcf7 input:not([type="submit"]),
    .section-plan .wpcf7 select,
    .section-plan .wpcf7 textarea,
    .section-plan .section-plan__description {
        font-size: 12px;
        line-height: 18px;
    }

    .section-plan .wpcf7 input[type="submit"] {
        font-size: 12px;
        padding-top: 4px;
        padding-bottom: 4px;
    }

    #our-venue .btn-read-toggle {
        color: var(--heritage-red);
        border-color: var(--heritage-red);
        margin-top: 20px;
    }

    .breadcrum {
        display: none;
    }
}

@media (max-width: 560px) {
    .container-fluid {
        padding: 0 30px;
    }

    .news-content ul li::after {
        top: 6px;
        width: 3px;
        height: 3px;
    }

    .section-feature {
        display: flex;
        gap: 30px;
        flex-direction: column;
    }

    .section-feature .rooms-nav {
        top: 52%;
    }

    .rooms-section .section-feature {
        gap: 0;
    }

    .section-feature__item .col-7 .section-eyebrow {
        padding-top: 30px;
    }

    .section-feature .item-description {
        padding-top: 0;
        font-size: 12px;
        line-height: 18px;
    }

    .section-feature .col-5,
    .section-feature .col-7 {
        text-align: center;
    }

    .section-feature .section-feature__item:first-child {
        padding: 0 30px;
        order: 2;
    }

    .section-feature .section-feature__item:last-child {
        order: 1;
    }

    .col-7,
    .col-5 {
        width: 100%;
    }

    .section-event {
        padding: 30px 0 0;
    }

    .section-event .container-fluid {
        padding: 0;
    }

    .section-event .section-event__content {
        padding: 30px;
        margin: -30px 30px 0;
    }

    .section-event picture {
        height: 300px;
        display: block;
    }

    .banner-experience .banner-river__content {
        padding-top: 88px;
    }

    .banner-experience picture {
        height: 650px;
    }

    .banner-experience .banner-river__img img {
        height: 100%;
        object-fit: cover;
    }

    .banner-experience .banner-river__content .banner-river__eyebrow,
    .banner-experience .banner-river__content .banner-river__title {
        color: var(--of-white);
    }

    .page-template-page-celebration .btn-next,
    .page-template-page-celebration .btn-prev {
        background: transparent;
    }

    .section-event .rooms-nav {
        top: 27%;
        bottom: auto;
    }

    .section-life__end.section-event .rooms-nav {
        bottom: 15%;
    }

    .section-life__end.section-event .rooms-nav {
        padding: 0 30px;
        top: auto;
    }
    #our-venue .rooms-nav{
        width: 100%;
    }
    .page-template-page-celebration .section-event .rooms-nav {
        bottom: auto;
        top: 28%;
        padding: 0;
    }

    .page-template-page-celebration .section-text {
        margin-bottom: 0;
        padding: 0 30px;
    }

    .page-template-page-celebration .section-event__content .section-eyebrow {
        font-size: 10px;
    }

    .page-template-page-celebration .section-event .section-title {
        font-size: 16px;
    }

    #our-venue.rooms-section .section-feature .section-eyebrow {
        margin-bottom: 0;
    }

    #our-venue.rooms-section .rooms-section__right-text {
        padding-top: 0;
    }

    .banner-river.banner-experience .banner-river__content {
        padding: 0 30px 80px;
    }

    #our-venue.rooms-section .section-feature .description {
        font-size: 12px;
        line-height: 18px;
    }

    #our-venue.rooms-section .section-feature .room-specs {
        padding-bottom: 20px;
    }

    .section-event picture img {
        height: 100%;
        object-fit: cover;
    }

    .btn-outline-white {
        padding: 6px 31px 5px;
    }

    .section-intro {
        padding-bottom: 26px;
    }

    ul.section-list__menu:has(li:nth-child(3):last-child) {
        gap: 20px;
    }

    ul.section-list__menu:has(li:nth-child(2):last-child) {
        gap: 40px;
        padding: 20px 25px;
    }

    ul.section-list__menu {
        padding-bottom: 17px;
        grid-auto-columns: inherit;
        word-break: break-word;
    }

    .offer-slide__menu {
        padding-bottom: 10px;
    }

    ul.section-list__menu li {
        text-align: center;
    }

    ul.section-list__menu li a {
        font-size: 16px;
    }

    ul.section-list__menu li a.active:after {
        top: 58px;
    }

    .page-template-page-offers ul.section-list__menu {
        padding-bottom: 21px;
    }

    .page-template-page-offers ul.section-list__menu li a.active:after {
        top: 48px;
    }

    .page-template-page-dinner ul.section-list__menu li a.active:after {
        top: 47px;
    }

    .section-list__menu::before {
        content: "";
        height: 58px;
        width: 1px;
        background: var(--heritage-red);
        position: absolute;
        left: 0;
        right: 0;
        bottom: -48px;
        margin: auto;
    }

    .page-template-page-offers ul.section-list__menu::before {
        width: 0;
    }

    .page-template-page-offers .section-intro .section-text,
    .page-template-whatison .section-intro .section-text,
    .page-template-whatison .section-intro {
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .page-template-whatison .section-list__menu::before {
        display: none;
    }

    .page-template-page-offers .offer-slide,
    .page-template-whatison .offer-slide {
        padding-top: 20px;
    }

    .page-template-page-dinner ul.section-list__menu li:last-child>a.active::after {
        left: 50%;
        right: auto;
    }

    .page-template-whatison ul.section-list__menu li a.active:after {
        top: 25px;
    }

    .whatis-grid_items {
        display: block;
    }

    .group-btns {
        display: block;
        margin-top: 20px;
    }

    .group-btns>a:nth-child(2) {
        margin-top: 20px;
    }

    .btn {
        padding: 5px 10px 4px;
        font-size: 12px;
        line-height: 18px;
    }

    .group-btns>a {
        display: block;
    }

    .single-offer .section-text,
    .single-offer .section-title {
        padding: 0 30px;
    }

    .single .section-text {
        margin-bottom: 10px;
    }

    .whatis-grid_items .section-list__text {
        padding-bottom: 0px;
    }

    .single-news .single-container {
        padding: 0 30px 30px;
    }

    .offer-slide .container .section-list__grid {
        margin: 0;
    }

    .offer-slide .container {
        padding: 0;
    }
    .toggle_title .day-no
    .section-list__grid .grid-item img {
        height: 250px;
        object-fit: cover;
    }

    .section-list__grid .grid-item {
        margin: 0 0 30px;
    }

    .grid-item__content {
        padding: 30px;
        background-color: var(--of-white);
    }

    .page-template-page-stories .grid-item__content {
        background-color: var(--white);
    }

    .section-list__title {
        font-size: 16px;
    }

    .section-list__text {
        font-size: 12px;
        color: var(--dark-grey-tin);
    }

    .restaurant-card__actions {
        gap: 20px;
    }

    .restaurant-card__actions.isOpen>a {
        display: block;
    }

    .restaurant-card__actions.isOpen {
        padding-bottom: 20px;
    }

    .page-template-page-dinner .section-list__menu li {
        padding: 0;
    }

    .page-template-page-dinner ul.section-list__menu li a.active::after {
        left: 0;
        right: 0;
    }

    ul.section-list__menu li a {
        display: block;
    }

    .page-template-page-dinner ul.section-list__menu li a.active::before {
        width: 0;
    }

    .page-template-page-itinerary .offer-slide__menu {
        display: none;
    }

    .page-template-page-itinerary .section-list .offer-slide {
        overflow: visible;
        padding: 0 30px 44px;
    }

    .page-template-page-itinerary .offer-slide > .swiper-wrapper {
        display: block;
        height: auto !important;
        transform: none !important;
    }

    .page-template-page-itinerary .section-list__group.swiper-slide {
        display: block;
        height: auto !important;
        margin: 0 0 12px;
        width: 100% !important;
    }

    .categories-grid,
    .section-list__items .grid-item {
        display: block;
        padding-bottom: 44px;
    }

    .section-list__items .grid-item {
        background: var(--of-white);
    }

    .section-list__group:last-child .categories-content,
    .section-list__group .categories-content {
        padding: 0 30px;
        text-align: center;
    }

    .categories-grid .categories-desc,
    .section-list__items .grid-item__content {
        text-align: center;
        padding: 0 30px;
        font-size: 12px;
        line-height: 18px;
    }

    .page-template-page-dinner .section-list__items img {
        height: 453px;
        object-fit: cover;
    }

    .section-list__items .grid-item__images {
        aspect-ratio: auto;
    }

    .section-list__items .grid-item__content {
        padding: 30px;
        margin: -88px 30px 0;
        z-index: 10;
        position: relative;
    }

    .section-list__dinner .section-eyebrow {
        padding-bottom: 0;
        padding-top: 62px;
    }

    .section-list__dinner .restaurant-card__actions .btn-text {
        background-color: transparent;
    }

    .page-template-page-dinner .restaurant-card__actions>a:first-child:hover,
    .page-template-page-dinner .restaurant-card__actions>a:last-child {
        border: 0;
        padding: 7px 20px;
    }

    .page-template-page-dinner .section-list {
        padding-bottom: 0;
    }

    .section-list__dinner .restaurant-card__actions {
        gap: 0;
        display: block;
    }

    .section-list__dinner .btn-read-toggle {
        margin-top: 0;
        border-color: var(--heritage-red);
        color: var(--heritage-red)
    }

    .section-list__dinner .room-block__container {
        background-color: transparent;
        padding: 0;
    }

    .section-list__dinner .room-block__container .restaurant-card__actions {
        display: none;
    }

    .section-list__dinner .room-block__container .restaurant-card__actions.isOpen {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .section-list__dinner .room-specs {
        margin-bottom: 0;
    }

    .section-title {
        word-break: break-word;
    }

    .section-title br {
        display: block;
    }

    .section-intro {
        padding-left: 30px;
        padding-right: 30px;
    }

    body {
        font-size: 12px;
        font-weight: 300;
        line-height: 1.4;
    }

    .navbar__right {
        display: flex;
    }

    .nav-strip.strip-visible {
        display: none;
    }

    .hero__scroll span {
        max-width: 64px;
        font-size: 8px;
        line-height: 12px;
        letter-spacing: 0.42px;
    }

    .photo-grid {
        grid-template-columns: 1fr;
        height: auto;
        padding: 0 31px;
    }

    .photo-grid img {
        height: auto;
        object-fit: inherit;
    }

    .photo-grid .img-placeholder {
        height: auto;
    }

    .banner-river {
        margin-top: 40px;
        padding-bottom: 21px;
    }

    .banner-river__eyebrow {
        font-size: 10px;
        margin-bottom: 10px;
    }

    .banner-river__eyebrow span {
        top: -88px;
    }

    .hero__content .mobile-menu__book {
        display: block;
        position: relative;
        padding: 9px 25px;
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 0.7px;
        margin-top: 43px;
    }

    section-title {
        margin-bottom: 23px;
    }

    .section-text {
        font-size: 12px;
        line-height: 18px;
    }

    .banner-river__btn-wrap {
        margin-bottom: 100px;
        margin-top: 48px;
    }

    .event-section .btn-text,
    .rooms-slide__actions .btn-text,
    .rooms-section__header .rooms-section__right-text .btn-text {
        margin-top: 20px;
    }

    .rooms-slide__actions .btn-text {
        margin-top: 0;
    }

    .page-nav {
        top: 28%;
    }
    #our-venue .page-nav {
        top: 25%;
    }
    .restaurant-card__nav.page-nav{
        left: 0;
    }
    .page-nav.hidden-md {
        position: absolute;
        top: 28%!important;
    }
    .page-nav.hidden-md .swiper-button-prev{
        left: 30px;
    }
    .page-nav.hidden-md .swiper-button-next{
        right: 30px;
    }
    
    .swiper-wrapper+.restaurant-card__nav.page-nav {
        position: absolute;
        justify-content: space-between;
        width: 100%;
        top: 28%;
    }

    .swiper-wrapper+.restaurant-card__nav.page-nav .swiper-button-next {
        right: 18px !important;
    }

    .swiper-wrapper+.restaurant-card__nav.page-nav .swiper-button-prev {
        left: 18px !important;
    }

    .btn-prev::after {
        width: 30px;
        height: 30px;
        z-index: 0;
        font-size: 30px;
    }

    .rooms-nav-btn.btn-next::after,
    .rooms-nav-btn.btn-prev::after {
        z-index: -1;
    }

    .btn-next,
    .btn-prev {
        background: transparent;
    }

    .restaurant-card__nav .nav-circle-btn,
    .life-slider-nav .nav-circle-btn {
        position: relative;
        max-width: 40px;
    }

    .room-nav>div:hover,
    .room-nav>div {
        background: transparent;
    }

    .room-nav .btn-prev,
    .restaurant-card__nav .btn-prev,
    .life-slider-nav .btn-prev {
        left: 17px;
    }

    .room-nav .btn-next,
    .restaurant-card__nav .btn-next,
    .life-slider-nav .btn-next {
        right: 17px;
    }

    .restaurant-card__text {
        margin-bottom: 0;
    }

    .restaurant-card__actions {
        justify-content: center;
        margin-bottom: 0;
        margin-top: 25px;
        display: grid;
        grid-template-columns: 1fr auto;
    }

    .table-section .btn-text {
        margin-top: 15px;
    }

    .event-section {
        padding: 0 30px;
    }

    .restaurant-card__actions .btn-text {
        margin-top: 20px;
        display: block;
    }

    .table-section__top {
        padding-bottom: 20px;
    }

    .the-table_event {
        padding: 0 30px;
    }

    .restaurant-card__title {
        margin-bottom: 20px;
    }

    .restaurant-card__content {
        max-height: 232px;
        min-height: 232px;
    }

    .navbar__search-mobile img {
        width: 21px;
        height: 21px;
    }

    .navbar__search-mobile span {
        display: none;
    }

    .table-section__text {
        margin-bottom: 5px;
    }

    .event-gallery__item {
        height: 272px;
    }

    .event-gallery__description {
        bottom: 30px;
    }

    .event-gallery__vert-label {
        max-height: 190px;
        top: 47px;
        bottom: 0;
    }

    .event-gallery__vert-label span {
        font-size: 24px;
    }

    .event-section__text,
    .restaurant-card__text {
        line-height: 18px;
        font-size: 12px;
        max-height: 53px;
    }

    .the-table_event .restaurant-card__bullets {
        opacity: 0;
    }

    .section-intro__item .room-block__img {
        margin-top: 0;
    }

    .restaurant-card__bullets {
        bottom: 23px;
        gap: 20px;
    }

    .restaurant-bullet {
        width: 12px;
        height: 12px;
    }

    .restaurant-slider-wrap {
        padding: 0;
        overflow: hidden;
    }

    .restaurant-card__content .restaurant-card__title,
    .restaurant-card__text {
        text-align: center;
    }

    .restaurant-card {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .section-items .section-text__description {
        padding-bottom: 20px;
    }

    .section-items .section-text {
        margin-bottom: 10px;
    }

    .life-slider-nav .swiper-button-next,
    .life-slider-nav .swiper-button-prev,
    .restaurant-card__nav .swiper-button-next,
    .restaurant-card__nav .swiper-button-prev {
        background: transparent;
        border: 0;
    }

    .restaurant-card__content {
        padding: 30px;
    }

    .restaurant-card__img-area img {
        height: 100%;
        object-fit: cover;
    }

    .restaurant-card__img-area {
        overflow: visible;
        min-height: 261px;
    }

    .life-section {
        text-align: center;
        padding: 0 30px 40px;
        border-bottom: 0;
    }

    .life-section__left .btn-text {
        border-bottom: 0;
        text-decoration: underline;
    }

    .life-next-btn {
        display: none;
    }

    .life-slider-nav {
        justify-content: space-between;
        position: absolute;
        width: 100%;
        z-index: 10;
        top: 20%;
        opacity: 1;
    }

    .life-slider-nav .nav-circle-btn {
        width: 40px;
        height: 40px;
    }

    .life-section .section-line {
        background-color: var(--starlight-sand);
    }

    .life-slide {
        flex: none;
        display: block;
        max-width: 100%;
    }

    .life-section__inner {
        display: block;
        text-align: center;
        gap: 0;
    }

    life-mask {
        padding: 0;
    }

    life-slide__content {
        display: block;
    }

    .life-slide__img .img-placeholder,
    .life-slide__img {
        max-height: 250px;
    }

    .life-slide__img img {
        object-fit: inherit;
        height: auto;
    }

    .life-slide__content {
        padding: 30px;
        min-height: 204px;
    }

    .life-section__right {
        overflow: hidden;
        margin-top: 33px;
        position: relative;
    }

    .life-mask {
        padding: 0;
    }

    .life-slide__title {
        font-size: 16px;
        white-space: nowrap;
    }

    footer {
        background-color: var(--of-white);
        padding-bottom: 22px;
    }

    .footer__textarea,
    .footer__input {
        font-size: 12px;
    }

    .footer__inner {
        padding: 45px 48px;
    }

    .footer__logo {
        text-align: center;
        display: block;
        margin-bottom: 68px;
    }

    .footer__logo img {
        max-width: 155px;
        margin: 0 auto;
    }

    .footer__grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer__nl-row {
        grid-template-columns: 1fr 109px;
    }

    .footer__newsletter .footer__col-head,
    .footer__col-head {
        font-size: 8px;
        margin-bottom: 0;
        color: var(--legacy-gold);
    }

    .footer__newsletter .footer__col-head {
        color: var(--legacy-gold);
        margin-bottom: 5px;
    }

    .footer__newsletter {
        width: 100%;
    }

    .footer__form-submit-row .btn-gold {
        padding: 6px 26px;
        font-size: 14px;
        border: 0;
    }

    .footer__contact-text {
        font-size: 14px;
        line-height: 20px;
    }

    .footer__special {
        margin-top: 50px;
    }

    .footer__copyright {
        order: 2;
        padding-left: 0;
        text-align: left;
        font-size: 10px;
        letter-spacing: 0.2px;
        line-height: 20px;
    }

    .footer__nl-input {
        padding: 6px 12px;
    }

    .footer__nl-btn {
        padding: 0 24px;
    }

    .footer__bottom {
        gap: 16px;
    }

    #booknow-mobile.mobile-menu__book.scrolled {
        opacity: 1;
    }

    #popup .popup-bg {
        background: url(../images/background-popup-02.jpg?v=001) no-repeat;
        margin: 0 6.5%;
    }

    #popupEmail .popup-bg {
        background: url(../images/background-popupemail-02.jpg?v=001) no-repeat;
        background-size: 100%;
        margin: 0 6.5%;
    }

    .popup-close {
        right: 11px;
    }

    .popup-headline {
        margin-top: 21px;
    }

    .popup-content {
        font-size: 14px;
        padding: 50px 40px;
    }

    #popupEmail .popup-content {
        padding-bottom: 50px;
    }

    .popup-body .pop-tel {
        display: block;
    }

    .popup-buttons {
        flex-wrap: wrap;
        gap: 7px;
        max-width: 130px;
        justify-content: center;
    }

    .popup-buttons a {
        flex: 1 1 auto;
        text-align: center;
        min-width: 125px;
        font-size: 12px;
        font-weight: 300;
        padding: 6px 10px;
    }

    .room-detail-section .room-block__content,
    .room-detail-section .room-block.room-block--alt .room-block__content {
        padding: 0 20px;
        margin-top: -90px;
        z-index: 10;
        margin-left: 0;
    }

    .room-block--alt .room-block__content,
    .room-block__content {
        background: transparent;
    }

    .room-detail-section .room-block__content .room-block__container {
        background-color: var(--of-white);
    }
    .booking-rate:not(:first-child){
        margin-top: 30px;
    }
    .booking-rate__price .booking-rate__price-value{
        font-size: 16px;
    }
    .booking-rate__price, .booking-rate__actions{
        align-items: baseline
    }
    .room-block .room-block__title {
        font-size: 16px;
        padding: 0;
        top: 46px;
        position: absolute;
        text-align: center;
        width: 100%;
        color: var(--white);
        left: 0;
    }
    .booking-room__overview .room-block__title {
        position: relative;
        top:0;
        color:var(--legacy-gold);
        font-size: 16px;
        margin: 0;
    }
    .room-block__actions {
        gap: 20px;
        display: block;
        width: 100%;
    }

    .room-block__actions>a {
        width: 100%;
        text-align: center;
        font-size: 14px;
    }

    .room-block__more {
        height: 0;
        overflow: hidden;
        display: block;
        tẽtext-align: left;
    }

    .room-block__more.is-open {
        margin: 28px 0 0;
    }

    .room-block__desc {
        margin-bottom: 0;
    }

    /* .room-block__more.is-open {
        display: block;
    } */

    .btn-read-toggle {
        background: none;
        border: none;
        cursor: pointer;
        font-size: 12px;
        text-decoration: none;
        border: 1px solid var(--legacy-gold);
        color: var(--legacy-gold);
        padding: 6px 6px;
        display: block;
        margin: 0 auto;
        letter-spacing: 0.05em;
        margin-top: 8px;
    }

    .expslide-item img {
        height: 250px;
    }

    .expslidehalf .swiper-button-next,
    .expslidehalf .swiper-button-prev {
        top: 25%
    }

    .section-items.section-life__item {
        margin-top: 0;
    }

    .section-items .grid-item__content .section-intro__text,
    .section-intro__text {
        font-size: 12px;
        line-height: 18px;
    }

    .section-life__end {
        padding: 0;
        background-color: var(--white);
    }

    .section-event .exp-slide {
        background: transparent;
        padding-bottom: 60px;
        position: relative;
    }

    .section-life__end .section-event__content {
        color: var(--dark-grey-tin);
        position: relative;
        max-width: inherit;
        background: var(--of-white);
        font-size: 12px;
        line-height: 18px;
        padding: 30px 60px 60px;
        margin: 0;
    }

    .section-life__end .exp-slide {
        padding-bottom: 0;
    }

    .section-life__end .section-title {
        font-size: 16px;
    }

    .section-life__end.section-event .section-title {
        font-size: 30px;
    }

    .section-life__end.section-event .section-event__content .section-title {
        font-size: 16px;
    }

    .section-event .section-event__content .section-event__description {
        font-size: 12px;
        line-height: 18px;
    }

    #our-venue .section-feature .room-specs .grid-item__grid strong {
        font-size: 10px;
    }

    .section-life__item .section-items__grid-item {
        padding: 0 30px;
    }

    .section-items.section-life__item {
        background-color: transparent;
    }

    .section-life__item .section-items__grid-item:first-child {
        background: linear-gradient(to bottom, var(--white) 38%, var(--of-white) 38%);
    }

    .section-life__item .section-items__grid-item:last-child {
        background: linear-gradient(to top, var(--white) 57.5%, var(--of-white) 50%);
    }

    .spec-label,
    .room-specs>.spec-cell>strong,
    .spec-label {
        font-weight: 400;
        font-size: 10px;
    }

    .grid-item__content-text .section-title br,
    .life-slide__title br {
        display: none;
    }

    .life-slide__text,
    .rooms-slide__text,
    .room-specs .spec-value {
        font-size: 12px;
        line-height: 18px;
    }

    .spec-cell:nth-child(even),
    .spec-cell:nth-child(odd) {
        margin: 0;
    }

    ul.section-list__menu:after {
        bottom: 10px;
    }

    .spec-cell:nth-child(odd) {
        padding-right: 0;
    }

    .spec-cell:nth-child(even) {
        padding-left: 0;
    }

    .room-block__desc {
        font-size: 12px;
        text-align: center;
    }
}

@media (max-width: 600px) {
    :root {
        --side-pad: 20px;
    }

    .footer__grid {
        grid-template-columns: 1fr;
    }

    .footer__form-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 440px) {
    .rooms-slide__text {
        min-height: 100px;
    }
}

/* ===================== BOOKING BAR RESPONSIVE ===================== */
@media (max-width: 980px) {
    .booking-room__overview {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .booking-rate {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .booking-rate__booking {
        justify-items: start;
        min-height: 0;
    }

    .booking-rate__price {
        text-align: left;
    }
    .booking-rate__price > div:last-child {
        text-align: right;
    }
    .booking-rate__price{
        grid-template-columns: 100px 1fr;
        width: 100%;
    }
    .booking-rate__actions {
        display: grid;
        grid-template-columns: 125px 1fr;
        gap: 12px;
        align-items: center;
    }

    .booking-rate__actions .booking-rate__detail {
        grid-column: 1;
    }

    .booking-rate__actions select {
        grid-column: 2;
    }

    .booking-rate__actions .btn-gold {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .form-booknow.nav-strip {
        display: none !important;
    }

    .career-item .career-itemmb2 {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .career-list .career-itemmb3 {
        display: grid;
        grid-template-columns: 1fr;
    }

    .career-list .career-itemmb3 a {
        display: block;
        margin-top: 20px;
        margin-bottom: 15px;
        text-align: center;
    }

    .career-list {
        margin: 0 30px;
    }

    .career-item {
        padding-top: 30px;
    }

    .career-item .career-itemmb1>div:first-child {
        padding-bottom: 5px;
        line-height: 1.2;
    }

    .career-itemmb2 {
        padding-top: 20px;
    }

    .career-itemmb2>div {
        display: grid;
        gap: 5px;
        line-height: 1.2;
    }

    .career-itemmb2>div>div:last-child {
        color: var(--legacy-gold)
    }

    .career-items {
        padding: 0 30px;
    }

    .career-list .section-title {
        font-size: 24px;
        text-align: center;
    }

    .page-template-page-contact .section-intro .section-title {
        padding-bottom: 40px;
    }

    .navbar__logo {
        left: 50%;
        transform: translateX(-50%);
        position: absolute;
    }

    .hero.others .hero__content .hero__title {
        font-size: clamp(22px, 7vw, 42px);
        letter-spacing: 0.2em;
        padding: 0 20px;
    }

    section-title {
        font-size: clamp(28px, 8vw, 48px);
    }

    .room_features {
        margin-top: 40px;
    }
}

@media (max-width: 560px) {
    
    .tabcontent {
        padding-top: 0px;
    }
    .mobile-collapse-panel .container{
        padding:0;
    }
    .section-booking {
        padding: 30px 0 0;
    }

    .booking-results__title {
        font-size: 28px;
        text-transform: lowercase;
        letter-spacing: 40%;
    }

    .booking-results__room {
        padding: 28px 0;
    }

    /* .booking-room__gallery {
        aspect-ratio: 1.35 / 1;
    } */

    .booking-room__name,
    .booking-rate__content h3 {
        font-size: 17px;
    }

    .booking-rate__actions {
        width: 100%;
        margin-top: 16px;
    }
    .booking-rate__content p, .booking-rate__content li{
        font-size: 12px;
    }
    .booking-rate__actions select,
    .booking-rate__actions button {
        width: 100%;
        height: 34px;
    }

    .hero.others .hero__content .hero__title {
        font-size: clamp(18px, 6vw, 32px);
        letter-spacing: 0.1em;
    }
    .page-template-page-booking .hero.others{
        height: calc(100vh / 3);
        min-height: auto;
    }
    .page-template-page-booking .hero.others .hero__content .hero__title{
        font-size: 30px;
        letter-spacing: 40%;        
        max-width: 300px;
    }
    .room-detail-section .room-block .swiper-horizontal,
    .room-detail-section .room-block__img {
        height: 453px;
    }

    .section-intro__grid .room-block__img {
        height: auto;
    }

    /* Fix: swiper arrows trong room-block không bị che */
    .room-block .swiper-button-prev,
    .room-block .swiper-button-next {
        top: 50%;
    }

    .single .section-intro {
        padding: 0;
    }

    .single-content,
    .images-grid picture,
    .images-grid {
        display: block;
    }

    .images-grid picture:first-child {
        height: 375px;
    }

    .images-grid picture img {
        height: 100%;
        object-fit: cover;
    }

    .single-content,
    .images-grid picture:not(:first-child) {
        padding: 30px;
    }

    .single-content {
        padding-top: 0;
    }

    .single-content__title {
        padding-bottom: 30px;
    }

    .single-content .single-content__right {
        font-size: 12px;
        line-height: 18px;
    }

    .single-content__right .btn-gold {
        display: block;
        text-align: center;
    }
}

@media (max-width: 820px) {    
    .toggle_title{
        grid-template-columns: 1fr;
        padding-bottom: 10px;
        margin-bottom: 30px;
    }
    .conditions{
        padding-bottom: 30px;
    }
    .conditions,
    .condition-button{
        grid-template-columns: 1fr;
    }
    .inclusions,
    .inclusions-panel {
        display: block;
    }
    .itinerary_toggle p img{
        padding:0;
    }
    .condition-title{
        margin-bottom: 10px;
    }
    .condition-title,
    .conditions,
    .tabcontent{
        font-size: 12px;
        line-height: 18px;
    }
    .inclusions-toggle {
        appearance: none;
        background: var(--white);
        /*border: 1px solid var(--starlight-sand);
        color: var(--starlight-sand);
        cursor: pointer; */
        display: block;
        /* font-family: var(--font-title);
        font-size: 16px;
        font-weight: 400;
        letter-spacing: 0.1em;
        line-height: 1.1;
        padding: 9px 11px 7px;
        text-align: left;
        text-transform: uppercase; */
        width: 100%;
    }
    .inclusions-panel {
        display: none;
        padding-top: 20px;
    }
    .inclusions.is-open .inclusions-panel {
        display: block;
    }
    .inclusions .includes {
        margin-bottom: 24px;
    }
    .page-template-page-itinerary .grid-item__content .section-list__text h3:first-child,
    .toggle_title .day-no{
        font-size: 16px;
    }
    .page-template-page-itinerary .grid-item__content .section-list__text h3:first-child{
        padding-bottom: 20px;
    }
    .section-list__grid{
        display: flex;
        flex-wrap: wrap;
    }
    .section-list__grid .grid-item:last-child{
        order:1;
        margin-bottom: 0;
    }
    .page-template-page-itinerary .grid-item__content .section-list__text p:not(:last-child) {
        padding-bottom: 15px;
    }
    .tabcontent {
        padding-top: 30px;
    }
    .section-list__grid .grid-item:first-child{
        order:2;
    }
    .daily_itinerary_title{
        font-size: 12px;
        font-weight: 300;
        padding-top: 10px;
        grid-template-columns: auto 75px;
        gap: 16px;
        align-items: flex-end;
    }
    
    #our-venue .rooms-section__right-text{
        font-size: 12px;
        line-height: 18px;
    }
    .booking-room__details{
        text-align: center;
    }
    .booking-room__details .btn-read-toggle{
        margin-top: 20px;
        padding-left: 15px;
        padding-right: 15px;
    }
    .booking-results__inner{
        padding: 0 32px;
    }
    .booking-rate__content li {
        padding-left: 25px;
        font-weight: 400;
    }
    .booking-rate__price small,
    .booking-rate__old-price{
        font-size: 12px;
    }
    .booking-rate__content li::before{
        top:1px
    }
    .row {
        flex-direction: column;
        gap: 10px;
    }

    .careers-form .row.btn-row {
        display: grid;
        grid-template-columns: 3fr 4fr;
    }

    .col-title,
    .col-name,
    .col-3,
    .col-4,
    .col-6,
    .col-9 {
        flex: 0 0 100%;
    }

    .contact-us {
        font-size: 12px;
        line-height: 18px;
        margin-bottom: 40px;
    }

    .contact-us span {
        display: block;
    }

    .consent-box label {
        align-items: flex-start;
        text-align: left;
    }

    .section-end .section-text {
        margin-bottom: 0;
    }

    .contact-end .section-text em {
        font-style: normal;
    }

    .contact-end .section-text .btn-gold {
        margin-top: 30px;
    }

    .form-row {
        flex-direction: column;
    }

    .section-life__item .section-items__grid,
    .expslide-item>div:last-child {
        margin-left: 30px;
        margin-right: 30px;
    }

    .section-life__item .section-items__grid {
        margin: 0;
    }

    .hero.others .hero__content {
        bottom: 140px;
    }
    .page-template-page-booking .hero.others .hero__content{
        bottom: 40px;
    }
    .section-intro__grid {
        display: block;
        padding: 0;
    }

    .section-intro__grid .section-intro__grid-item:last-child {
        padding-left: 30px;
        padding-right: 30px;
        text-align: center;
        flex-direction: column;
        display: flex;
        background: linear-gradient(to bottom, var(--of-white) 80%, var(--white) 50%);
    }

    .section-intro__grid section-title {
        margin-top: 30px;
        font-size: 30px;
        padding-bottom: 0;
    }

    .section-intro__grid .section-intro__grid-item:last-child picture {
        order: 3;
    }

    .section-intro__grid .section-intro__text {
        order: 2;
        padding-top: 0;
    }

    .page-template-page-stories .section-intro__grid .section-intro__text {
        order: 1;
    }

    .page-template-page-stories .section-intro__grid .room-block__img {
        order: 2;
    }

    .section-items {
        padding-top: 0px;
    }

    .section-end .container-fluid,
    .section-items .container-fluid,
    .page-template-page-dinner .container-fluid {
        padding: 0;
    }

    .section-items__grid-item {
        display: block;
    }

    .section-end .section-items__grid,
    .section-items .grid-item__content {
        padding: 0 30px;
    }

    .grid-item__content .btn-text {
        margin-top: 20px;
    }

    .grid-item__content section-title {
        padding-bottom: 0;
    }

    .section-items .grid-item__content section-title,
    .section-items .grid-item__content .section-intro__text {
        padding: 0;
    }

    .section-items__grid-item img {
        height: 262px;
    }

    .section-end {
        margin: 30px 0;
        background-color: transparent;
    }

    .section-end .section-items__grid {
        margin: -30px 30px 0;
        position: relative;
        z-index: 10;
        padding: 30px;
        background-color: var(--starlight-sand);
        text-align: center;
    }

    .section-items.section-life__item .section-items__grid-item .grid-item__content {
        padding-top: 90px;
        padding-bottom: 90px;
    }

    .section-life__baner,
    .section-life__end .container-fluid {
        padding: 0;
    }

    .section-life__end section-title,
    .section-life__end .section-intro__text {
        padding: 0 30px;
    }

    .section-life__end img {
        height: 250px;
    }

}

.section-gallery {
    background: var(--of-white);
    overflow: hidden;
    padding: 62px 0 34px;
}

.gallery-slides {
    overflow: hidden;
}

.gallery-slides > .swiper-wrapper > .swiper-slide {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.gallery-slides > .swiper-wrapper > .swiper-slide.swiper-slide-active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.gallery-slider {
    overflow: visible;
    width: 100%;
}

.gallery-slider .swiper-wrapper {
    align-items: center;
}

.gallery-slider .swiper-slide {
    align-items: center;
    display: flex;
    justify-content: center;
    opacity: 0.42;
    transition: opacity 0.45s ease;
}

.gallery-slider .swiper-slide-active {
    opacity: 1;
    position: relative;
    z-index: 2;
}

.gallery-slide__image {
    aspect-ratio: var(--gallery-ratio, 1 / 1);
    display: block;
    height: auto;
    max-height: clamp(140px, 18vw, 260px);
    overflow: hidden;
    position: relative;
    transition: height 0.45s ease, max-height 0.45s ease, opacity 0.45s ease, width 0.45s ease;
    width: 100%;
}

.gallery-slider .swiper-slide-active .gallery-slide__image {
    height: clamp(260px, 24vw, 330px);
    max-height: none;
}

.gallery-slider .swiper-slide-active .gallery-slide__image.is-portrait {
    height: clamp(300px, 30.25vw, 392px);
}

.gallery-slide__image img {
    display: block;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
    width: 100%;
}

.gallery-slider__nav {
    align-items: center;
    color: var(--legacy-gold);
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-top: 50px;
}

.gallery-slider__button {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 1px solid var(--legacy-gold);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    position: relative;
    transition: background-color 0.3s ease, opacity 0.3s ease;
    width: 30px;
}

.gallery-slider__button::before {
    border-color: var(--legacy-gold);
    border-style: solid;
    border-width: 1px 1px 0 0;
    content: "";
    display: block;
    height: 7px;
    width: 7px;
}

.gallery-slider__button--prev::before {
    margin-left: 3px;
    transform: rotate(-135deg);
}

.gallery-slider__button--next::before {
    margin-right: 3px;
    transform: rotate(45deg);
}

.gallery-slider__button:hover {
    background: rgba(187, 149, 86, 0.12);
}

.gallery-slider__button.swiper-button-disabled {
    cursor: default;
    opacity: 0.35;
}

.gallery-slider__fraction {
    align-items: center;
    display: flex;
    font-size: 16px;
    gap: 12px;
    line-height: 1;
    min-width: 56px;
    justify-content: center;
}

.gallery-lightbox {
    align-items: center;
    background: rgba(4, 4, 4, 0.94);
    display: none;
    inset: 0;
    justify-content: center;
    padding: 48px 72px;
    position: fixed;
    z-index: 9999;
}

.gallery-lightbox.is-open {
    display: flex;
}

.gallery-lightbox__slider {
    height: 100%;
    width: 100%;
}

.gallery-lightbox .swiper-slide {
    align-items: center;
    display: flex;
    justify-content: center;
}

.gallery-lightbox img {
    display: block;
    max-height: calc(100vh - 110px);
    max-width: calc(100vw - 160px);
    object-fit: contain;
    width: auto;
}

.gallery-lightbox__close,
.gallery-lightbox__button {
    appearance: none;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.68);
    border-radius: 50%;
    cursor: pointer;
    position: absolute;
    z-index: 2;
}

.gallery-lightbox__close {
    height: 38px;
    right: 28px;
    top: 28px;
    width: 38px;
}

.gallery-lightbox__close::before,
.gallery-lightbox__close::after {
    background: var(--of-white);
    content: "";
    height: 1px;
    left: 10px;
    position: absolute;
    top: 18px;
    width: 16px;
}

.gallery-lightbox__close::before {
    transform: rotate(45deg);
}

.gallery-lightbox__close::after {
    transform: rotate(-45deg);
}

.gallery-lightbox__button {
    height: 46px;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
}

.gallery-lightbox__button--prev {
    left: 28px;
}

.gallery-lightbox__button--next {
    right: 28px;
}

.gallery-lightbox__button::before {
    border-color: var(--of-white);
    border-style: solid;
    border-width: 1px 1px 0 0;
    content: "";
    display: block;
    height: 12px;
    left: 16px;
    position: absolute;
    top: 16px;
    width: 12px;
}

.gallery-lightbox__button--prev::before {
    left: 18px;
    transform: rotate(-135deg);
}

.gallery-lightbox__button--next::before {
    transform: rotate(45deg);
}

.gallery-lightbox__fraction {
    bottom: 24px;
    color: var(--of-white);
    font-size: 15px;
    left: 0;
    letter-spacing: 0.08em;
    position: absolute;
    right: 0;
    text-align: center;
    z-index: 2;
}

@media (min-width: 821px) {
    .gallery-slide__image {
        cursor: zoom-in;
    }
}

@media (max-width: 820px) {
    .single .navbar__search-mobile img, .navbar__logo img{
        filter: brightness(0) invert(1);
    }
    .navbar{position: absolute;}
    .navbar.scrolled{
        position: sticky;
    }
    .section-gallery {
        padding: 44px 0 30px;
    }

    .section-gallery .offer-slide__menu {
        display: none;
    }

    .gallery-slides {
        overflow: visible;
        padding: 0;
    }

    .gallery-slides > .swiper-wrapper {
        display: block;
        height: auto !important;
        transform: none !important;
    }

    .gallery-slides > .swiper-wrapper > .swiper-slide {
        display: block;
        height: auto !important;
        margin: 0 0 12px;
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
        width: 100% !important;
    }

    .gallery-slider {
        overflow: hidden;
        padding: 0;
    }

    .gallery-slide__image {
        aspect-ratio: auto;
        height: auto;
        max-height: none;
    }

    .gallery-slider .swiper-slide-active .gallery-slide__image {
        height: auto;
        max-height: none;
    }

    .gallery-slider .swiper-slide-active .gallery-slide__image.is-portrait {
        height: auto;
        max-height: none;
    }

    .gallery-slide__image img {
        height: auto;
        object-fit: contain;
        position: static;
        width: 100%;
    }

    .gallery-slider__nav {
        margin-top: 30px;
    }
}

@media (max-width: 400px) {
    .page-template-page-dinner ul.section-list__menu li a.active:after {
        top: 69px;
    }
}
