.custom-footer-logo {
    height: 80px;
}

.custom-left-logo {
    height: 100px;
}

.custom-layout-pb-lg {
    padding-bottom: 100px;
}

.custome-layout-pt-lg {
    padding-top: 100px;
}

@media (max-width: 575px) {

.footer.-type-1 .footer__main{
    padding: 50px 0 !important;
}
}

/* Responsive styles for roomCard elements */
@media (max-width: 767px) {

    /* Amenities section */
    .roomCard .d-flex.x-gap-15.y-gap-10.pt-30.text-accent-1 {
        font-size: 12px;
    }

    .roomCard .d-flex.x-gap-15.y-gap-10.pt-30.text-accent-1 i {
        font-size: 16px !important;
    }

    /* Room title and price */
    .roomCard__title.text-40 {
        font-size: 28px !important;
    }

    .roomCard__price {
        font-size: 14px !important;
    }

    /* Room single page amenities */
    .d-flex.x-gap-50.md\:x-gap-20.pt-20 {
        font-size: 12px;
    }

    .d-flex.x-gap-50.md\:x-gap-20.pt-20 i {
        font-size: 16px !important;
    }

    /* Room single page price */
    .row.y-gap-30.justify-between.items-end .col-auto .fw-500 {
        font-size: 14px !important;
    }

    /* Adjust spacing for better mobile layout */
    .row.y-gap-30.justify-between.items-end {
        margin-bottom: 10px;
    }

    /* Adjust room title size on single room page */
    h1.text-64.md\:text-40 {
        font-size: 32px !important;
    }

    /* Similar Rooms section */
    .d-flex.x-gap-30.pt-30 {
        font-size: 11px;
        flex-wrap: nowrap;
        justify-content: space-between;
        width: 100%;
    }

    .d-flex.x-gap-30.pt-30 i {
        font-size: 16px !important;
    }

    .d-flex.x-gap-30.pt-30 .d-flex.items-center {
        margin-bottom: 0;
        padding-right: 0;
        flex: 1;
        min-width: auto;
    }

    /* Similar Rooms title */
    h2.text-64.md\:text-40.lh-065 {
        font-size: 32px !important;
    }

    /* VerticalSlider paragraph width adjustment */
    .verticalSlider .swiper-slide p {
        max-width: 85%;
        font-size: 15px;
    }
}

/* Custom form input styles */
.form-input input {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 15px;
    width: 100%;
    transition: all 0.3s ease;
}

.form-input input:focus {
    border-color: var(--color-accent-1);
    box-shadow: 0 0 0 2px rgba(var(--color-accent-1-rgb), 0.2);
    outline: none;
}

/* Custom header with accent background */
.header-accent-bg {
    background-color: var(--color-accent-1) !important;
}

/* Banquet page hover effects */
.baseCard.-type-4 {
    transition: transform 0.3s ease, box-shadow 0.3s ease, border 0.3s ease;
}

.baseCard.-type-4:hover {
    transform: translateY(-10px) !important;
    border: 1px solid var(--color-accent-2) !important;
    box-shadow: none !important;
}

.iconCard.-type-1 {
    transition: all 0.3s ease, border 0.3s ease;
}

.iconCard.-type-1:hover {
    transform: translateY(-5px);
    border: 1px solid var(--color-accent-2);
}

.iconCard.-type-1:hover .iconCard__icon {
    color: var(--color-accent-1);
}

.contactForm__form .button {
    transition: all 0.3s ease;
}

.contactForm__form .button:hover {
    transform: translateX(5px);
    box-shadow: 0 5px 15px rgba(var(--color-accent-1-rgb), 0.3);
}

/* Banquet venue card hover effect */
.venue-card {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    transition: border 0.3s ease;
}

.venue-card:hover {
    border: 1px solid var(--color-accent-2);
}

.venue-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.7));
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.venue-card:hover::before {
    opacity: 1;
}

.venue-card img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.3s ease;
}

.venue-card:hover img {
    transform: scale(1.05);
}

.venue-card .venue-content {
    position: absolute;
    bottom: -50px;
    left: 0;
    width: 100%;
    padding: 20px;
    color: white;
    transition: bottom 0.3s ease;
    z-index: 2;
}

.venue-card:hover .venue-content {
    bottom: 0;
}

/* Banquet features hover animation */
.feature-icon {
    transition: transform 0.3s ease;
}

.feature-icon:hover {
    transform: scale(1.1) rotate(5deg);
}

/* Banquet form input hover effects */
.contactForm__form .form-input input:hover,
.contactForm__form .form-input textarea:hover {
    border-color: var(--color-accent-1);
}

.contactForm__form .form-input input:focus,
.contactForm__form .form-input textarea:focus {
    border-color: var(--color-accent-1);
    box-shadow: 0 0 0 3px rgba(var(--color-accent-1-rgb), 0.2);
    outline: none;
}


/* Ensure iconCard -type-1 -hover-2 hover is correctly applied */
.iconCard.-type-1.-hover-2 {
    transition: all 0.3s ease, border 0.3s ease;
    border: 1px solid transparent;
}

.iconCard.-type-1.-hover-2:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--color-accent-2);
    color: white;
}

.iconCard.-type-1.-hover-2:hover .iconCard__icon i {
    color: white;
}

.iconCard.-type-1.-hover-2:hover .iconCard__content h4,
.iconCard.-type-1.-hover-2:hover .iconCard__content p {
    color: white;
}

/* -----------------------------
   Simple Gallery Lightbox
------------------------------ */
.gallery-modal {
    position: fixed;
    inset: 0;
    /* shorthand for top/right/bottom/left: 0 */
    background: rgba(0, 0, 0, 0.9);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.gallery-modal.-open {
    display: flex;
}

.gallery-modal__img {
    max-width: 92vw;
    max-height: 90vh;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.gallery-modal__close,
.gallery-modal__prev,
.gallery-modal__next {
    position: absolute;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease;
}

.gallery-modal__close:hover,
.gallery-modal__prev:hover,
.gallery-modal__next:hover {
    background: rgba(255, 255, 255, 0.22);
}

.gallery-modal__close {
    top: 20px;
    right: 20px;
    font-size: 20px;
}

.gallery-modal__prev {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 26px;
}

.gallery-modal__next {
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 26px;
}

/* Prevent background scroll when lightbox open */
html.-gallery-open {
    overflow: hidden;
}

/* Fix Similar Rooms slider overflow on <1200px (scoped to section) */
@media (max-width: 1199px) {
    .similar-rooms .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .similar-rooms .js-section-slider {
        overflow: hidden;
    }

    .similar-rooms .navAbsolute.-type-2 {
        position: static !important;
        inset: auto !important;
        width: 100%;
        display: flex;
        justify-content: center;
        gap: 12px;
        margin-top: 20px;
        transform: none !important;
    }

    .similar-rooms .navAbsolute.-type-2 .button {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
    }

    .similar-rooms .swiper-wrapper {
        box-sizing: border-box;
    }
}

/* Extra safety for 992px–1199px range (small laptops) */
@media (min-width: 992px) and (max-width: 1199px) {
    .similar-rooms .row.y-gap-30.justify-between.items-end {
        margin-left: 0;
        margin-right: 0;
    }
}

/* Small-laptop fix (<=1399px): reduce container padding, clip overflow, move arrows below */
@media (max-width: 1399px) {
    .similar-rooms .container {
        padding-left: 60px;
        padding-right: 60px;
    }

    /* Clip slides but let arrows bleed outside without causing layout shift */
    .similar-rooms .relative {
        overflow: visible;
        position: relative;
    }

    .similar-rooms .js-section-slider {
        overflow: hidden;
    }

    /* Anchor a nav layer centered vertically; position buttons with negative offsets */
    .similar-rooms .navAbsolute.-type-2 {
        position: absolute !important;
        top: 50%;
        left: 0;
        right: 0;
        bottom: auto;
        transform: translateY(-50%) !important;
        pointer-events: none;
        z-index: 3;
    }

    .similar-rooms .navAbsolute.-type-2 .js-slider2-prev,
    .similar-rooms .navAbsolute.-type-2 .js-slider2-next {
        position: absolute;
        top: 50%;
        width: 56px !important;
        height: 56px !important;
        min-width: 56px !important;
        pointer-events: auto;
        z-index: 4;
        transform: translateY(-50%);
    }

    .similar-rooms .navAbsolute.-type-2 .js-slider2-prev {
        left: clamp(-96px, -6vw, -64px);
    }

    .similar-rooms .navAbsolute.-type-2 .js-slider2-next {
        right: clamp(-96px, -6vw, -64px);
    }
}

/* Ensure laptop widths 992–1199px also keep side arrows (override earlier block) */
@media (min-width: 992px) and (max-width: 1199px) {
    .similar-rooms .container {
        padding-left: 28px;
        padding-right: 28px;
    }

    .similar-rooms .relative {
        overflow: visible;
        position: relative;
    }

    /* shrink cards a bit so arrows sit outside naturally */
    .similar-rooms .swiper-slide .roomCard {
        transform: scale(0.92);
        transform-origin: center top;
    }

    .similar-rooms .navAbsolute.-type-2 {
        position: absolute !important;
        top: 50%;
        left: 0;
        right: 0;
        bottom: auto;
        transform: translateY(-50%) !important;
        pointer-events: none;
        z-index: 3;
        display: block;
    }

    .similar-rooms .navAbsolute.-type-2 .js-slider2-prev,
    .similar-rooms .navAbsolute.-type-2 .js-slider2-next {
        position: absolute;
        top: 50%;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        transform: translateY(-50%);
        pointer-events: auto;
        z-index: 4;
    }

    .similar-rooms .navAbsolute.-type-2 .js-slider2-prev {
        left: clamp(-88px, -7vw, -56px);
    }

    .similar-rooms .navAbsolute.-type-2 .js-slider2-next {
        right: clamp(-88px, -7vw, -56px);
    }
}

/* Laptop wide 1200–1399px: slightly smaller cards too */
@media (min-width: 1400px) {
    .similar-rooms .container {
        padding-left: 160px;
        padding-right: 160px;
    }

    .similar-rooms .swiper-slide .roomCard {
        transform: scale(0.94);
        transform-origin: center top;
    }

    .similar-rooms .navAbsolute.-type-2 .js-slider2-prev {
        left: clamp(-96px, -6vw, -60px);
    }

    .similar-rooms .navAbsolute.-type-2 .js-slider2-next {
        right: clamp(-96px, -6vw, -60px);
    }
}

/* Terms page readability tweaks */
.terms-page .y-gap-40 {
    gap: 28px;
}

.terms-page p {
    line-height: 1.9;
    color: #0d2a4a;
}

.terms-page ol.ulList {
    padding-left: 1.2rem;
}

.terms-page ol.ulList>li {
    margin-bottom: 24px;
    line-height: 2;
}

.terms-page ol.ulList>li strong {
    color: var(--color-light-1);
}

/* Slightly larger max-width for better readability on wide screens */
@media (min-width: 1200px) {
    .terms-page .col-xl-9.col-lg-10 {
        max-width: 900px;
    }
}









/* Overlay behind header */
.header::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  /* margin:10px !important;
width: calc(100% - 20px) !important;
border-radius: 20px 20px 0px 0px !important; */
  height: calc(100% - 20px);
  background: rgba(0, 0, 0, 0.25); /* semi-transparent black */
  z-index: -1;
}

.header.-type-1::after {
  background: transparent !important; /* slightly darker for type-1 */
}
