/* =========================================================
   HOTEL SAMANVI - GLOBAL DESIGN SYSTEM
   ========================================================= */

* {
    font-family: "Google Sans Flex", sans-serif;
}
@font-face {
    font-family: 'Google Sans Flex';
    src: url('../fonts/google-sans-flex/google-sans-flex-latin-wght-normal.woff2') format('woff2');
    font-style: normal;
    font-weight: 100 1000;
    font-display: swap;
}
:root {
    --samanvi-blue: #3d5a80;
    --samanvi-blue-dark: #293241;
    --samanvi-coral: #ee6c4d;
    --samanvi-light-blue: #98c1d9;
    --samanvi-soft: #f5f7fa;
    --samanvi-white: #ffffff;
    --samanvi-text: #394452;
    --samanvi-muted: #7b8490;
    --samanvi-container: 94%;
    --samanvi-max-width: 1500px;
}


/* =========================================================
   RESET
   ========================================================= */

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    margin: 0;
    padding: 0;
    background: var(--samanvi-white);
    color: var(--samanvi-text);
    font-family: "Segoe UI", Arial, sans-serif;
    overflow-x: hidden;
    width:100%;
    max-width:100%;
}

* {
    box-sizing: border-box;
}

a {
    text-decoration: none;
}

img {
    max-width: 100%;
}


/* =========================================================
   COMMON CONTAINER
   ========================================================= */

.samanvi-container {
    width: var(--samanvi-container);
    max-width: var(--samanvi-max-width);
    margin: 0 auto;
}
/* =========================================================
   SAMANVI HERO
========================================================= */

.samanvi-hero {
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    overflow: hidden;
    background: #000;
}


/* =========================================================
   CAROUSEL
========================================================= */

.samanvi-hero-carousel {
    width: 100%;
    margin: 0;
    padding: 0;
}


    /* =========================================================
   CAROUSEL ITEM
========================================================= */

    /* NOTE: do NOT set margin here. Bootstrap needs
       margin-right: -100% on .carousel-item so the two
       slides sit side by side during the transition.
       "margin: 0" made them stack and the page below
       jumped (blinked) on every slide. */

    .samanvi-hero-carousel .carousel-item {
        width: 100%;
        padding: 0;
        background: #000;
    }


/* =========================================================
   HERO IMAGE

   IMPORTANT:
   Do NOT use object-fit: cover.

   The original image ratio is:

   2701 / 1101 = approximately 2.45 : 1

   Therefore height is allowed to calculate automatically.
========================================================= */

.samanvi-hero-image {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center center;
    margin: 0;
    padding: 0;
}


/* =========================================================
   REMOVE ANY OVERLAY
========================================================= */

.samanvi-hero::before,
.samanvi-hero::after {
    display: none !important;
    content: none !important;
}


/* =========================================================
   CAROUSEL CONTROLS
========================================================= */

.samanvi-carousel-control {
    width: 70px;
    opacity: 0;
    transition: opacity 0.3s ease, background 0.3s ease;
}


/* Show controls when mouse is over banner */

.samanvi-hero:hover .samanvi-carousel-control {
    opacity: 1;
}


/* =========================================================
   CONTROL ICON BACKGROUND
========================================================= */

.samanvi-carousel-control .carousel-control-prev-icon,
.samanvi-carousel-control .carousel-control-next-icon {
    width: 42px;
    height: 42px;
    background-size: 55% 55%;
    background-color: rgba(41, 50, 65, 0.75);
    border-radius: 50%;
    padding: 10px;
    backdrop-filter: blur(5px);
}


/* =========================================================
   INDICATORS
========================================================= */

.samanvi-carousel-indicators {
    margin-bottom: 22px;
    gap: 8px;
}


    .samanvi-carousel-indicators [data-bs-target] {
        width: 32px;
        height: 3px;
        margin: 0;
        border: 0;
        border-radius: 10px;
        opacity: 0.65;
        transition: width 0.2s ease, opacity 0.2s ease;
    }


    .samanvi-carousel-indicators .active {
        width: 55px;
        opacity: 1;
    }


/* =========================================================
   CAROUSEL TRANSITION
========================================================= */

.samanvi-hero-carousel .carousel-item {
    transition: transform 0.2s ease-in-out;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1400px) {

    .samanvi-hero-image {
        width: 100%;
        height: auto;
    }
}


/* =========================================================
   LAPTOP / TABLET
========================================================= */

@media (max-width: 1199px) {

    .samanvi-hero-image {
        width: 100%;
        height: auto;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .samanvi-carousel-control {
        width: 55px;
    }

        .samanvi-carousel-control
        .carousel-control-prev-icon,
        .samanvi-carousel-control
        .carousel-control-next-icon {
            width: 36px;
            height: 36px;
        }

    .samanvi-carousel-indicators {
        margin-bottom: 15px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .samanvi-hero {
        width: 100%;
    }

    .samanvi-hero-image {
        width: 100%;
        height: auto;
        min-height: 0;
    }


    /* Smaller controls */

    .samanvi-carousel-control {
        width: 42px;
        opacity: 0.8;
    }

        .samanvi-carousel-control
        .carousel-control-prev-icon,
        .samanvi-carousel-control
        .carousel-control-next-icon {
            width: 30px;
            height: 30px;
        }


    /* Smaller indicators */

    .samanvi-carousel-indicators {
        margin-bottom: 10px;
        gap: 5px;
    }

        .samanvi-carousel-indicators [data-bs-target] {
            width: 20px;
            height: 2px;
        }

        .samanvi-carousel-indicators .active {
            width: 35px;
        }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .samanvi-carousel-control {
        display: none;
    }

    .samanvi-carousel-indicators {
        margin-bottom: 8px;
    }
}
/* ==========================================
   HOTEL SAMANVI NAVBAR
========================================== */

.samanvi-navbar {
    width: 100%;
    min-height: 78px;
    background: #ffffff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    position: relative;
    z-index: 1050;
}


    /* ==========================================
   NAVBAR CONTAINER
========================================== */

    .samanvi-navbar .samanvi-container {
        width: 85%;
        max-width: 1500px;
        margin: 0 auto;
        min-height: 78px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }


    /* ==========================================
   LOGO
========================================== */

    .samanvi-navbar .samanvi-brand {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        flex-shrink: 0;
        text-decoration: none;
        line-height: 1;
    }


    .samanvi-navbar .samanvi-brand-main {
        display: block;
        font-size: 22px;
        font-weight: 800;
        letter-spacing: 1.5px;
        color: #3d5a80;
        white-space: nowrap;
    }


    .samanvi-navbar .samanvi-brand-sub {
        display: block;
        margin-top: 5px;
        font-size: 9px;
        font-weight: 600;
        letter-spacing: 4px;
        color: #ee6c4d;
        white-space: nowrap;
    }


    /* ==========================================
   NAVBAR COLLAPSE
========================================== */

    .samanvi-navbar .navbar-collapse {
        flex-grow: 0;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }


    /* ==========================================
   NAVIGATION MENU
========================================== */

    .samanvi-navbar .navbar-nav {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        margin-left: auto;
        gap: 2px;
    }


    /* ==========================================
   NAV ITEM
========================================== */

    .samanvi-navbar .nav-item {
        display: flex;
        align-items: center;
    }


    /* ==========================================
   NAV LINKS
========================================== */

    .samanvi-navbar .nav-link {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 10px 15px !important;
        color: #394452 !important;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        white-space: nowrap;
        transition: all 0.25s ease;
    }


        .samanvi-navbar .nav-link:hover {
            color: #ee6c4d !important;
        }


    /* ==========================================
   GALLERY DROPDOWN
========================================== */

    .samanvi-navbar .dropdown {
        position: relative;
    }


    .samanvi-navbar .dropdown-menu {
        margin-top: 10px;
        padding: 8px 0;
        min-width: 190px;
        background: #ffffff;
        border: 1px solid #eeeeee;
        border-radius: 8px;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.10);
    }


    .samanvi-navbar .dropdown-item {
        padding: 10px 16px;
        color: #394452;
        font-size: 14px;
        font-weight: 500;
        white-space: nowrap;
        transition: all 0.2s ease;
    }


        .samanvi-navbar .dropdown-item:hover {
            background: #f5f7fa;
            color: #ee6c4d;
        }


    /* ==========================================
   BOOK YOUR STAY BUTTON
========================================== */

    .samanvi-navbar .samanvi-book-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        padding: 11px 19px;
        margin-left: 8px;
        background: #ee6c4d;
        color: #ffffff !important;
        border-radius: 6px;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
        transition: all 0.25s ease;
    }


        .samanvi-navbar .samanvi-book-btn:hover {
            background: #d9573a;
            color: #ffffff !important;
            transform: translateY(-1px);
        }


        .samanvi-navbar .samanvi-book-btn i {
            font-size: 12px;
        }


    /* ==========================================
   MOBILE MENU BUTTON
========================================== */

    .samanvi-navbar .navbar-toggler {
        border: none;
        padding: 7px 9px;
        box-shadow: none !important;
    }


        .samanvi-navbar .navbar-toggler:focus {
            box-shadow: none !important;
        }


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 991.98px) {

    .samanvi-navbar {
        min-height: 70px;
    }


        .samanvi-navbar .samanvi-container {
            width: 94%;
            min-height: 70px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }


        .samanvi-navbar .navbar-collapse {
            width: 100%;
            flex-grow: 1;
            display: block;
        }


        .samanvi-navbar .navbar-nav {
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: stretch;
            justify-content: flex-start;
            margin-left: 0;
            padding: 15px 0;
        }


        .samanvi-navbar .nav-item {
            width: 100%;
            display: block;
        }


        .samanvi-navbar .nav-link {
            width: 100%;
            display: block;
            padding: 12px 5px !important;
            text-align: left;
        }


        .samanvi-navbar .dropdown-menu {
            position: static;
            width: 100%;
            margin-top: 0;
            border: none;
            border-radius: 0;
            box-shadow: none;
        }


        .samanvi-navbar .samanvi-book-btn {
            width: 100%;
            margin-left: 0;
            margin-top: 10px;
        }
}


/* ==========================================
   SMALL MOBILE
========================================== */

@media (max-width: 576px) {

    .samanvi-navbar .samanvi-brand-main {
        font-size: 18px;
        letter-spacing: 1px;
    }


    .samanvi-navbar .samanvi-brand-sub {
        font-size: 8px;
        letter-spacing: 3px;
    }
}


/* =========================================================
   COMMON SECTIONS
   ========================================================= */

.samanvi-section {
    width: 100%;
    padding: 40px 0;
}


.samanvi-section-soft {
    background: var(--samanvi-soft);
}


.samanvi-section-title {
    margin-bottom: 15px;
    color: var(--samanvi-blue-dark);
    font-size: clamp(2rem, 4vw, 3.3rem);
    font-weight: 700;
    line-height: 1.15;
}


.samanvi-section-subtitle {
    max-width: 700px;
    margin: 0 auto;
    color: var(--samanvi-muted);
    font-size: 1.05rem;
    line-height: 1.8;
}


/* Small section label */

.samanvi-section-label {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--samanvi-coral);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}


/* =========================================================
   PREMIUM BUTTONS
   ========================================================= */

.samanvi-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 28px;
    border-radius: 30px;
    font-size: 0.92rem;
    font-weight: 600;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}


    .samanvi-btn:hover {
        transform: translateY(-3px);
    }


.samanvi-btn-primary {
    background: var(--samanvi-coral);
    color: #ffffff;
    box-shadow: 0 10px 25px rgba(238, 108, 77, 0.25);
}


    .samanvi-btn-primary:hover {
        background: #d9573d;
        color: #ffffff;
        box-shadow: 0 15px 30px rgba(238, 108, 77, 0.30);
    }


.samanvi-btn-outline {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.7);
    color: #ffffff;
}


    .samanvi-btn-outline:hover {
        background: #ffffff;
        color: var(--samanvi-blue-dark);
    }


/* =========================================================
   PREMIUM CARDS
   ========================================================= */

.samanvi-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(61, 90, 128, 0.08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 35px rgba(41, 50, 65, 0.07);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}


    .samanvi-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 45px rgba(41, 50, 65, 0.13);
    }


/* =========================================================
   IMAGES
   ========================================================= */

.samanvi-img {
    display: block;
    width: 100%;
    object-fit: cover;
}


/* =========================================================
   SCROLL ANIMATION
   ========================================================= */

.scroll-animate {
    opacity: 0;
}


    .scroll-animate.is-visible {
        opacity: 1;
    }


/* =========================================================
   FOOTER
   ========================================================= */

/*.samanvi-footer {
    padding: 75px 0 25px;
    background: var(--samanvi-blue-dark);
    color: rgba(255, 255, 255, 0.75);
}


.samanvi-footer-title {
    margin-bottom: 20px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.5px;
}


.samanvi-footer-text {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.92rem;
    line-height: 1.8;
    text-align:justify;
    word-break:break-all;
}


.samanvi-footer a {
    color: rgba(255, 255, 255, 0.7);
    transition: color 0.25s ease;
}


    .samanvi-footer a:hover {
        color: var(--samanvi-coral);
    }


.samanvi-footer-bottom {
    margin-top: 50px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.82rem;
}*/


/* =========================================================
   MOBILE
   ========================================================= */

/*@media (max-width: 768px) {

    .samanvi-section {
        padding: 70px 0;
    }

    .samanvi-section-title {
        font-size: 2rem;
    }

    .samanvi-brand-main {
        font-size: 1.1rem;
    }

    .samanvi-brand-sub {
        font-size: 0.55rem;
    }
}

@media(max-width:425px) {
    .samanvi-footer .row.g-5 {
        padding:10px;
    }
}*/


/* =========================================================
   HOTEL SAMANVI
   ROOMS PAGE HERO
   PREMIUM 2026
   ========================================================= */

.samanvi-rooms-hero {
    position: relative;
    width: 100%;
    min-height: 270px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    isolation: isolate;
}


/* =========================================================
   FIXED PARALLAX BACKGROUND
   ========================================================= */

.samanvi-rooms-hero-background {
    position: absolute;
    top: -60px;
    left: 0;
    width: 100%;
    height: calc(100% + 120px);
    z-index: -3;
    background-image: url("/rooms/room10.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    /*
       Fixed background creates the
       parallax scrolling effect.
    */
    background-attachment: fixed;
}


/* =========================================================
   DARK OVERLAY
   ========================================================= */

.samanvi-rooms-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient( 90deg, rgba(41, 50, 65, 0.88) 0%, rgba(41, 50, 65, 0.72) 50%, rgba(41, 50, 65, 0.82) 100% );
}


    /* =========================================================
   SUBTLE BOTTOM DARKNESS
   ========================================================= */

    .samanvi-rooms-hero-overlay::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( to bottom, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25) );
    }


/* =========================================================
   95% WIDTH CONTAINER
   ========================================================= */

.samanvi-rooms-hero-content {
    position: relative;
    z-index: 5;
    width: 95%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 55px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.samanvi-rooms-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 12px;
    color: var(--samanvi-light-blue);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
}


    /* Small lines around eyebrow */

    .samanvi-rooms-hero-eyebrow::before,
    .samanvi-rooms-hero-eyebrow::after {
        content: "";
        width: 28px;
        height: 1px;
        background: var(--samanvi-coral);
    }


/* =========================================================
   H1
   ========================================================= */

.samanvi-rooms-hero h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp( 42px, 6vw, 68px );
    font-weight: 500;
    line-height: 1;
    letter-spacing: -2px;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.samanvi-rooms-hero p {
    max-width: 650px;
    margin: 15px auto 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .samanvi-rooms-hero {
        min-height: 270px;
    }


    .samanvi-rooms-hero-content {
        padding: 50px 0;
    }


    .samanvi-rooms-hero h1 {
        font-size: 52px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .samanvi-rooms-hero {
        min-height: 270px;
    }


    .samanvi-rooms-hero-background {
        /*
           Keep the image limited to the hero.
        */

        top: 0;
        height: 100%;
        /*
           Fixed background works inconsistently
           on some mobile browsers.
        */
        background-attachment: scroll;
    }


    .samanvi-rooms-hero-content {
        width: 95%;
        padding: 45px 0;
    }


    .samanvi-rooms-hero-eyebrow {
        gap: 8px;
        margin-bottom: 10px;
        font-size: 8px;
        letter-spacing: 2px;
    }


        .samanvi-rooms-hero-eyebrow::before,
        .samanvi-rooms-hero-eyebrow::after {
            width: 20px;
        }


    .samanvi-rooms-hero h1 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }


    .samanvi-rooms-hero p {
        width: 95%;
        margin-top: 13px;
        font-size: 12px;
        line-height: 1.65;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .samanvi-rooms-hero h1 {
        font-size: 38px;
    }


    .samanvi-rooms-hero p {
        font-size: 11.5px;
    }
}



/* =========================================================
   PREMIUM HERO SECTION
   ========================================================= */

/* NOTE: the old .samanvi-hero { min-height: 100vh } and
   .samanvi-hero-image { min-height: 100vh; object-fit: cover }
   rules were removed from here. They overrode the carousel
   styles at the top of this file and cropped the banners
   on mobile. */

.samanvi-hero-background {
    position: absolute;
    inset: 0;
    z-index: 0;
}


/* =========================================================
   HERO OVERLAY
   ========================================================= */

.samanvi-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient( 90deg, rgba(20, 27, 38, 0.88) 0%, rgba(20, 27, 38, 0.65) 45%, rgba(20, 27, 38, 0.25) 100% );
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.samanvi-hero-container {
    position: relative;
    z-index: 2;
}


.samanvi-hero-location {
    display: inline-block;
    margin-bottom: 22px;
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 2px;
    backdrop-filter: blur(8px);
}


.samanvi-hero-title {
    max-width: 850px;
    margin: 0 0 25px;
    color: #ffffff;
    font-size: clamp(3rem, 6vw, 5.8rem);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -2px;
}


    .samanvi-hero-title span {
        color: var(--samanvi-coral);
    }


.samanvi-hero-description {
    max-width: 650px;
    margin-bottom: 35px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.08rem;
    line-height: 1.8;
}


/* =========================================================
   HERO BUTTONS
   ========================================================= */

.samanvi-hero-buttons {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}


/* =========================================================
   SCROLL INDICATOR
   ========================================================= */

.samanvi-hero-scroll {
    position: absolute;
    z-index: 3;
    right: 5%;
    bottom: 35px;
    display: flex;
    align-items: center;
    gap: 15px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.65rem;
    letter-spacing: 2px;
}


.samanvi-scroll-line {
    width: 45px;
    height: 1px;
    background: rgba(255, 255, 255, 0.6);
}


/* =========================================================
   HERO MOBILE
   ========================================================= */

@media (max-width: 991px) {

    .samanvi-hero-title {
        font-size: clamp(2.8rem, 8vw, 4.5rem);
    }

    .samanvi-hero-description {
        max-width: 600px;
    }
}


@media (max-width: 576px) {

    .samanvi-hero-overlay {
        background: linear-gradient( 90deg, rgba(20, 27, 38, 0.86), rgba(20, 27, 38, 0.60) );
    }

    .samanvi-hero-title {
        margin-bottom: 20px;
        font-size: 2.8rem;
        letter-spacing: -1px;
    }

    .samanvi-hero-description {
        font-size: 0.95rem;
        line-height: 1.7;
    }

    .samanvi-hero-buttons {
        flex-direction: column;
        align-items: stretch;
    }

        .samanvi-hero-buttons .samanvi-btn {
            width: 100%;
        }

    .samanvi-hero-scroll {
        display: none;
    }
}






/* =========================================================
   ABOUT HOTEL
   ========================================================= */

.samanvi-about {
    background: #ffffff;
}


/* IMAGE */

.samanvi-about-image-wrap {
    position: relative;
    padding-right: 35px;
    padding-bottom: 35px;
}


    .samanvi-about-image-wrap::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        width: 75%;
        height: 75%;
        border-radius: 18px;
        background: #293241;
        z-index: 0;
    }


.samanvi-about-image {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 560px;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 25px 60px rgba(41, 50, 65, 0.16);
}


/* EXPERIENCE BADGE */

.samanvi-about-experience {
    position: absolute;
    z-index: 2;
    left: -15px;
    bottom: 25px;
    display: flex;
    flex-direction: column;
    padding: 20px 25px;
    border-radius: 12px;
    background: var(--samanvi-blue-dark);
    color: #ffffff;
    box-shadow: 0 15px 35px rgba(41, 50, 65, 0.25);
}


    .samanvi-about-experience strong {
        font-size: 1.1rem;
    }


    .samanvi-about-experience span {
        margin-top: 4px;
        color: rgba(255,255,255,0.65);
        font-size: 0.75rem;
        letter-spacing: 1px;
    }


/* CONTENT */

.samanvi-about-content {
    padding-left: 25px;
}


.samanvi-about-title {
    max-width: 550px;
    margin-bottom: 25px;
    color: var(--samanvi-blue-dark);
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    font-weight: 700;
    line-height: 1.15;
}


    .samanvi-about-title span {
        color: var(--samanvi-coral);
    }


.samanvi-about-text {
    max-width: 600px;
    margin-bottom: 18px;
    color: var(--samanvi-muted);
    font-size: 1rem;
    line-height: 1.85;
}


/* HIGHLIGHTS */

.samanvi-about-highlights {
    margin-top: 35px;
    margin-bottom: 30px;
}


.samanvi-about-highlight {
    padding-right: 15px;
    border-right: 1px solid #e5e9ee;
}


    .samanvi-about-highlight strong {
        display: block;
        color: var(--samanvi-blue-dark);
        font-size: 0.95rem;
    }


    .samanvi-about-highlight span {
        display: block;
        margin-top: 5px;
        color: var(--samanvi-muted);
        font-size: 0.78rem;
    }


/* LINK */

.samanvi-about-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--samanvi-blue);
    font-weight: 700;
    transition: gap 0.3s ease;
}


    .samanvi-about-link span {
        font-size: 1.2rem;
    }


    .samanvi-about-link:hover {
        color: var(--samanvi-coral);
        gap: 18px;
    }


/* MOBILE */

@media (max-width: 991px) {

    .samanvi-about-content {
        padding-left: 0;
    }
}


@media (max-width: 576px) {

    .samanvi-about-image-wrap {
        padding-right: 15px;
        padding-bottom: 20px;
    }

    .samanvi-about-image {
        height: 420px;
    }

    .samanvi-about-experience {
        left: 5px;
        bottom: 10px;
    }

    .samanvi-about-highlights {
        row-gap: 20px;
    }

    .samanvi-about-highlight {
        border-right: none;
    }
}

/* =========================================================
   HOTEL SAMANVI
   FACILITIES SECTION
   ========================================================= */

.samanvi-facilities {
    position: relative;
    background: #f5f7fa;
    overflow: hidden;
}


    /* =========================================================
   SUBTLE BACKGROUND DECORATION
   ========================================================= */

    .samanvi-facilities::before {
        content: "";
        position: absolute;
        width: 450px;
        height: 450px;
        top: -220px;
        right: -150px;
        border-radius: 50%;
        background: rgba(152, 193, 217, 0.12);
        pointer-events: none;
    }


    .samanvi-facilities::after {
        content: "";
        position: absolute;
        width: 350px;
        height: 350px;
        bottom: -180px;
        left: -150px;
        border-radius: 50%;
        background: rgba(238, 108, 77, 0.05);
        pointer-events: none;
    }


/* =========================================================
   HEADER
   ========================================================= */

.samanvi-facilities-header {
    position: relative;
    z-index: 2;
    margin-bottom: 55px;
}


    .samanvi-facilities-header
    .samanvi-section-subtitle {
        margin-top: 20px;
    }


/* =========================================================
   FACILITIES GRID
   ========================================================= */

.samanvi-facilities-grid {
    position: relative;
    z-index: 2;
}


/* =========================================================
   FACILITY CARD
   ========================================================= */

.samanvi-facility-card {
    position: relative;
    height: 100%;
    min-height: 320px;
    padding: 35px 30px 30px;
    overflow: hidden;
    border: 1px solid rgba(61, 90, 128, 0.08);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 10px 35px rgba(41, 50, 65, 0.06);
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}


    /* TOP ACCENT */

    .samanvi-facility-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0;
        height: 4px;
        background: var(--samanvi-coral);
        transition: width 0.4s ease;
    }


    .samanvi-facility-card:hover::before {
        width: 100%;
    }


    /* HOVER */

    .samanvi-facility-card:hover {
        transform: translateY(-10px);
        border-color: rgba(238, 108, 77, 0.18);
        box-shadow: 0 22px 50px rgba(41, 50, 65, 0.13);
    }


/* =========================================================
   ICON
   ========================================================= */

.samanvi-facility-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 65px;
    height: 65px;
    margin-bottom: 25px;
    border-radius: 17px;
    background: rgba(61, 90, 128, 0.09);
    color: var(--samanvi-blue);
    font-size: 1.45rem;
    transition: background-color 0.35s ease, color 0.35s ease, transform 0.35s ease;
}


.samanvi-facility-card:hover
.samanvi-facility-icon {
    background: var(--samanvi-coral);
    color: #ffffff;
    transform: translateY(-3px) rotate(-4deg);
}


/* =========================================================
   NUMBER
   ========================================================= */

.samanvi-facility-number {
    position: absolute;
    top: 28px;
    right: 25px;
    color: rgba(41, 50, 65, 0.07);
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1;
    transition: color 0.3s ease;
}


.samanvi-facility-card:hover
.samanvi-facility-number {
    color: rgba(238, 108, 77, 0.12);
}


/* =========================================================
   TITLE
   ========================================================= */

.samanvi-facility-card h3 {
    margin-bottom: 13px;
    color: var(--samanvi-blue-dark);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.4;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.samanvi-facility-card p {
    margin: 0;
    color: var(--samanvi-muted);
    font-size: 0.91rem;
    line-height: 1.75;
}


/* =========================================================
   ARROW
   ========================================================= */

.samanvi-facility-arrow {
    position: absolute;
    left: 30px;
    bottom: 25px;
    color: var(--samanvi-coral);
    font-size: 0.85rem;
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}


.samanvi-facility-card:hover
.samanvi-facility-arrow {
    opacity: 1;
    transform: translateX(0);
}


/* =========================================================
   BOTTOM FEATURE STRIP
   ========================================================= */

.samanvi-facility-bottom {
    position: relative;
    z-index: 2;
    margin-top: 55px;
    padding: 35px 40px;
    border-radius: 20px;
    background: var(--samanvi-blue-dark);
    box-shadow: 0 20px 45px rgba(41, 50, 65, 0.12);
}


/* BOTTOM CONTENT */

.samanvi-facility-bottom-content {
    padding-right: 20px;
}


.samanvi-facility-bottom
.samanvi-section-label {
    color: var(--samanvi-light-blue);
}


.samanvi-facility-bottom h3 {
    max-width: 650px;
    margin: 5px 0 0;
    color: #ffffff;
    font-size: clamp( 1.5rem, 3vw, 2.2rem );
    font-weight: 600;
    line-height: 1.3;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991px) {

    .samanvi-facility-bottom {
        padding: 30px;
    }
}


@media (max-width: 767px) {

    .samanvi-facilities-header {
        margin-bottom: 40px;
    }


    .samanvi-facility-card {
        min-height: 290px;
    }


    .samanvi-facility-bottom {
        padding: 30px 25px;
        text-align: center;
    }


    .samanvi-facility-bottom-content {
        padding-right: 0;
    }
}


@media (max-width: 575px) {

    .samanvi-facility-card {
        min-height: 270px;
        padding: 30px 25px;
    }


    .samanvi-facility-icon {
        width: 60px;
        height: 60px;
    }


    .samanvi-facility-number {
        right: 20px;
        font-size: 2rem;
    }


    .samanvi-facility-arrow {
        left: 25px;
    }
}
/* =========================================================
   FEATURED ROOMS SECTION
   ========================================================= */

.samanvi-rooms {
    position: relative;
    background: #ffffff;
    overflow: hidden;
}


/* =========================================================
   SECTION HEADER - CENTERED
   ========================================================= */

.samanvi-rooms-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 18px;
    margin-bottom: 55px;
    text-align: center;
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.samanvi-rooms-heading {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

    .samanvi-rooms-heading .samanvi-section-label {
        display: block;
        margin-bottom: 10px;
        text-align: center;
    }

    .samanvi-rooms-heading .samanvi-section-title {
        margin: 0;
        text-align: center;
    }


/* =========================================================
   INTRO TEXT
   ========================================================= */

.samanvi-rooms-intro {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

    .samanvi-rooms-intro p {
        max-width: 720px;
        margin: 0 auto 20px;
        color: var(--samanvi-muted);
        font-size: 0.96rem;
        line-height: 1.8;
        text-align: center;
    }


/* =========================================================
   VIEW ALL ROOMS LINK
   ========================================================= */

.samanvi-rooms-view-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--samanvi-blue);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.3s ease, gap 0.3s ease;
}

    .samanvi-rooms-view-link:hover {
        color: var(--samanvi-coral);
        gap: 15px;
    }


/* =========================================================
   ROOMS GRID
   ========================================================= */

.samanvi-rooms-grid {
    position: relative;
    z-index: 2;
}


/* =========================================================
   ROOM CARD
   ========================================================= */

.samanvi-room-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(61, 90, 128, 0.09);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 12px 35px rgba(41, 50, 65, 0.07);
    transition: transform 0.45s ease, box-shadow 0.45s ease;
}

    .samanvi-room-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 25px 55px rgba(41, 50, 65, 0.15);
    }


/* =========================================================
   ROOM IMAGE
   ========================================================= */

.samanvi-room-image-wrap {
    position: relative;
    height: 320px;
    overflow: hidden;
    background: var(--samanvi-blue-dark);
}


.samanvi-room-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.2, 0.65, 0.25, 1);
}


.samanvi-room-card:hover .samanvi-room-image {
    transform: scale(1.07);
}


/* =========================================================
   IMAGE OVERLAY
   ========================================================= */

.samanvi-room-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient( to bottom, rgba(41, 50, 65, 0.05) 20%, rgba(41, 50, 65, 0.18) 45%, rgba(41, 50, 65, 0.82) 100% );
    pointer-events: none;
}


/* =========================================================
   ROOM BADGE
   ========================================================= */

.samanvi-room-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50px;
    background: rgba(41, 50, 65, 0.72);
    backdrop-filter: blur(8px);
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 1.2px;
}


/* =========================================================
   IMAGE PRICE
   ========================================================= */

.samanvi-room-image-content {
    position: absolute;
    right: 22px;
    bottom: 20px;
    left: 22px;
    display: flex;
    align-items: baseline;
    gap: 6px;
    color: #ffffff;
}


    .samanvi-room-image-content span {
        margin-right: 2px;
        font-size: 0.72rem;
        opacity: 0.82;
    }


    .samanvi-room-image-content strong {
        font-size: 1.7rem;
        font-weight: 700;
        line-height: 1;
    }


    .samanvi-room-image-content small {
        font-size: 0.72rem;
        opacity: 0.8;
    }


/* =========================================================
   ROOM CONTENT
   ========================================================= */

.samanvi-room-content {
    padding: 27px 27px 30px;
}


.samanvi-room-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
}


    .samanvi-room-meta span {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        color: var(--samanvi-muted);
        font-size: 0.73rem;
        font-weight: 600;
    }


    .samanvi-room-meta i {
        color: var(--samanvi-coral);
        font-size: 0.72rem;
    }


/* =========================================================
   ROOM TITLE
   ========================================================= */

.samanvi-room-content h3 {
    margin-bottom: 11px;
    color: var(--samanvi-blue-dark);
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.3;
}


/* =========================================================
   ROOM DESCRIPTION
   ========================================================= */

.samanvi-room-content p {
    min-height: 82px;
    margin-bottom: 22px;
    color: var(--samanvi-muted);
    font-size: 0.88rem;
    line-height: 1.75;
}


/* =========================================================
   ROOM LINK
   ========================================================= */

.samanvi-room-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--samanvi-blue);
    font-size: 0.83rem;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.3s ease, gap 0.3s ease;
}


    .samanvi-room-link:hover {
        color: var(--samanvi-coral);
        gap: 14px;
    }


/* =========================================================
   BOTTOM CTA
   ========================================================= */

.samanvi-rooms-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 55px;
    padding: 38px 42px;
    border-radius: 22px;
    background: linear-gradient( 110deg, var(--samanvi-blue-dark), #35465e );
    box-shadow: 0 20px 45px rgba(41, 50, 65, 0.13);
}


.samanvi-rooms-bottom-content {
    padding-right: 20px;
}


.samanvi-rooms-bottom .samanvi-section-label {
    color: var(--samanvi-light-blue);
}


.samanvi-rooms-bottom h3 {
    max-width: 650px;
    margin: 5px 0 0;
    color: #ffffff;
    font-size: clamp(1.45rem, 3vw, 2.1rem);
    font-weight: 600;
    line-height: 1.3;
}


/* =========================================================
   RESPONSIVE - TABLET
   ========================================================= */

@media (max-width: 991px) {

    .samanvi-rooms-header {
        align-items: center;
        justify-content: center;
        gap: 18px;
        margin-bottom: 40px;
        text-align: center;
    }


    .samanvi-rooms-heading {
        max-width: 700px;
    }


    .samanvi-rooms-intro {
        max-width: 650px;
    }


    .samanvi-room-image-wrap {
        height: 300px;
    }


    .samanvi-rooms-bottom {
        padding: 32px;
    }
}


/* =========================================================
   RESPONSIVE - MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .samanvi-rooms-header {
        gap: 15px;
        margin-bottom: 35px;
    }


    .samanvi-rooms-heading {
        max-width: 100%;
    }


    .samanvi-rooms-intro {
        max-width: 100%;
    }


        .samanvi-rooms-intro p {
            font-size: 0.9rem;
            line-height: 1.7;
        }


    .samanvi-room-image-wrap {
        height: 330px;
    }


    .samanvi-room-content {
        padding: 25px;
    }


        .samanvi-room-content p {
            min-height: auto;
        }


    .samanvi-rooms-bottom {
        flex-direction: column;
        align-items: center;
        padding: 30px 25px;
        text-align: center;
    }


    .samanvi-rooms-bottom-content {
        padding-right: 0;
    }


    .samanvi-rooms-bottom h3 {
        text-align: center;
    }
}


/* =========================================================
   RESPONSIVE - SMALL MOBILE
   ========================================================= */

@media (max-width: 575px) {

    .samanvi-room-image-wrap {
        height: 285px;
    }


    .samanvi-room-image-content strong {
        font-size: 1.5rem;
    }


    .samanvi-room-meta {
        gap: 10px;
    }


    .samanvi-room-content h3 {
        font-size: 1.2rem;
    }
}

/* =========================================================
   WHY CHOOSE SAMANVI SECTION
   ========================================================= */

.samanvi-why {
    position: relative;
    overflow: hidden;
    background: #ffffff;
}


/* ---------------------------------------------------------
   MAIN LAYOUT
   --------------------------------------------------------- */

.samanvi-why-layout {
    position: relative;
}


/* ---------------------------------------------------------
   IMAGE AREA
   --------------------------------------------------------- */

.samanvi-why-image-wrap {
    position: relative;
    min-height: 620px;
    overflow: visible;
    border-radius: 24px;
}


.samanvi-why-image {
    position: relative;
    width: 92%;
    height: 620px;
    display: block;
    object-fit: cover;
    border-radius: 24px;
    box-shadow: 0 25px 60px rgba(41, 50, 65, 0.15);
    transition: transform 0.8s cubic-bezier(0.2, 0.65, 0.25, 1);
}


.samanvi-why-image-wrap:hover
.samanvi-why-image {
    transform: scale(1.025);
}


/* ---------------------------------------------------------
   IMAGE OVERLAY
   --------------------------------------------------------- */

.samanvi-why-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 92%;
    height: 620px;
    border-radius: 24px;
    background: linear-gradient( 180deg, rgba(41, 50, 65, 0.02) 30%, rgba(41, 50, 65, 0.32) 100% );
    pointer-events: none;
}


/* ---------------------------------------------------------
   EXPERIENCE BADGE
   --------------------------------------------------------- */

.samanvi-why-experience {
    position: absolute;
    right: 0;
    bottom: 55px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    width: 190px;
    padding: 25px 25px 24px;
    border-radius: 16px;
    background: var(--samanvi-coral);
    box-shadow: 0 18px 45px rgba(238, 108, 77, 0.25);
    color: #ffffff;
}


    .samanvi-why-experience strong {
        margin-bottom: 5px;
        font-size: 1.15rem;
        font-weight: 700;
    }


    .samanvi-why-experience span {
        font-size: 0.78rem;
        opacity: 0.85;
        letter-spacing: 0.8px;
    }


/* ---------------------------------------------------------
   DECORATIVE SHAPE
   --------------------------------------------------------- */

.samanvi-why-image-shape {
    position: absolute;
    left: -18px;
    bottom: -18px;
    width: 130px;
    height: 130px;
    border: 2px solid rgba(61, 90, 128, 0.15);
    border-radius: 50%;
    z-index: -1;
}


/* ---------------------------------------------------------
   CONTENT
   --------------------------------------------------------- */

.samanvi-why-content {
    max-width: 620px;
    padding-left: 15px;
}


    .samanvi-why-content
    .samanvi-section-title {
        margin-bottom: 24px;
    }


        .samanvi-why-content
        .samanvi-section-title span {
            color: var(--samanvi-coral);
        }


.samanvi-why-intro {
    margin-bottom: 12px;
    color: var(--samanvi-blue-dark);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.75;
}


.samanvi-why-description {
    margin-bottom: 30px;
    color: var(--samanvi-muted);
    font-size: 0.92rem;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   FEATURES
   --------------------------------------------------------- */

.samanvi-why-features {
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin-bottom: 32px;
}


.samanvi-why-feature {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(61, 90, 128, 0.10);
}


    .samanvi-why-feature:last-child {
        padding-bottom: 0;
        border-bottom: none;
    }


.samanvi-why-feature-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(61, 90, 128, 0.08);
    color: var(--samanvi-blue);
    font-size: 1rem;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}


.samanvi-why-feature:hover
.samanvi-why-feature-icon {
    background: var(--samanvi-coral);
    color: #ffffff;
    transform: translateY(-3px);
}


.samanvi-why-feature h3 {
    margin: 0 0 5px;
    color: var(--samanvi-blue-dark);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.4;
}


.samanvi-why-feature p {
    margin: 0;
    color: var(--samanvi-muted);
    font-size: 0.83rem;
    line-height: 1.65;
}


/* ---------------------------------------------------------
   ACTION AREA
   --------------------------------------------------------- */

.samanvi-why-action {
    display: flex;
    align-items: center;
    gap: 28px;
}


.samanvi-why-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--samanvi-blue-dark);
    font-size: 0.83rem;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.3s ease, gap 0.3s ease;
}


    .samanvi-why-text-link i {
        font-size: 0.7rem;
    }


    .samanvi-why-text-link:hover {
        color: var(--samanvi-coral);
        gap: 11px;
    }


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 991px) {

    .samanvi-why-image-wrap {
        min-height: 500px;
    }

    .samanvi-why-image,
    .samanvi-why-image-overlay {
        width: 100%;
        height: 500px;
    }

    .samanvi-why-content {
        max-width: 100%;
        padding-left: 0;
    }

    .samanvi-why-experience {
        right: 25px;
        bottom: 35px;
    }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .samanvi-why-image-wrap {
        min-height: 430px;
    }

    .samanvi-why-image,
    .samanvi-why-image-overlay {
        height: 430px;
    }

    .samanvi-why-experience {
        right: 15px;
        bottom: 25px;
        width: 165px;
        padding: 20px;
    }

    .samanvi-why-image-shape {
        display: none;
    }

    .samanvi-why-feature {
        gap: 14px;
    }

    .samanvi-why-feature-icon {
        width: 48px;
        height: 48px;
    }

    .samanvi-why-action {
        flex-wrap: wrap;
        gap: 20px;
    }
}


/* ---------------------------------------------------------
   SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 575px) {

    .samanvi-why-image-wrap {
        min-height: 360px;
    }

    .samanvi-why-image,
    .samanvi-why-image-overlay {
        height: 360px;
    }

    .samanvi-why-experience {
        right: 12px;
        bottom: 18px;
        width: 145px;
        padding: 17px;
    }

        .samanvi-why-experience strong {
            font-size: 1rem;
        }

        .samanvi-why-experience span {
            font-size: 0.7rem;
        }
}
/* =========================================================
   HOTEL SAMANVI
   NEARBY TOURISM PLACES
   ========================================================= */
.samanvi-tourism-section {
    position: relative;
    width: 100%;
    padding: 110px 0 120px;
    overflow: hidden;
    background: radial-gradient( circle at 10% 15%, rgba(152, 193, 217, 0.45) 0%, rgba(152, 193, 217, 0) 35% ), radial-gradient( circle at 90% 85%, rgba(61, 90, 128, 0.22) 0%, rgba(61, 90, 128, 0) 40% ), linear-gradient( 135deg, #eaf4f8 0%, #ffffff 45%, #f3f6f9 70%, #e5edf3 100% );
}

/* =========================================================
   95% WIDTH CONTAINER
   ========================================================= */

.samanvi-tourism-container {
    width: 95%;
    max-width: var(--samanvi-max-width);
    margin: 0 auto;
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.samanvi-tourism-heading {
    max-width: 900px;
    margin: 0 auto 60px;
    text-align: center;
}


    .samanvi-tourism-heading .samanvi-section-label {
        display: block;
        margin-bottom: 14px;
        color: var(--samanvi-coral);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 2.5px;
    }


.samanvi-tourism-title {
    margin: 0;
    color: var(--samanvi-blue-dark);
    font-size: clamp( 2.2rem, 4vw, 4rem );
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1px;
}


    .samanvi-tourism-title span {
        display: block;
        color: var(--samanvi-blue);
    }


.samanvi-tourism-divider {
    width: 55px;
    height: 3px;
    margin: 22px auto 24px;
    border-radius: 10px;
    background: var(--samanvi-coral);
}


.samanvi-tourism-intro {
    max-width: 760px;
    margin: 0 auto;
    color: var(--samanvi-muted);
    font-size: 0.96rem;
    line-height: 1.9;
}


/* =========================================================
   TOURISM GRID
   ========================================================= */

.samanvi-tourism-grid {
    position: relative;
    z-index: 2;
}


/* =========================================================
   TOURISM CARD
   ========================================================= */

.samanvi-tourism-card {
    position: relative;
    height: 100%;
    overflow: hidden;
    border-radius: 24px;
    background: var(--samanvi-blue-dark);
    box-shadow: 0 15px 40px rgba(41, 50, 65, 0.10);
    transition: transform 0.5s ease, box-shadow 0.5s ease;
}


    .samanvi-tourism-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 25px 60px rgba(41, 50, 65, 0.18);
    }


/* =========================================================
   IMAGE WRAPPER
   ========================================================= */

.samanvi-tourism-image-wrap {
    /*    position: relative;*/
    width: 100%;
    height: 420px;
    overflow: hidden;
}


.samanvi-tourism-card-large
.samanvi-tourism-image-wrap {
    height: 520px;
}


/* =========================================================
   IMAGE
   ========================================================= */

.samanvi-tourism-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.9s cubic-bezier(0.2, 0.65, 0.25, 1);
}


.samanvi-tourism-card:hover
.samanvi-tourism-image {
    transform: scale(1.08);
}


/* =========================================================
   IMAGE OVERLAY
   ========================================================= */

.samanvi-tourism-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient( to bottom, rgba(41, 50, 65, 0.02) 20%, rgba(41, 50, 65, 0.18) 45%, rgba(41, 50, 65, 0.92) 100% );
    pointer-events: none;
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.samanvi-tourism-card-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: flex-end;
    gap: 20px;
    padding: 35px;
    color: #ffffff;
}


.samanvi-tourism-number {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(10px);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 1px;
}


/* =========================================================
   LOCATION LABEL
   ========================================================= */

.samanvi-tourism-location {
    display: block;
    margin-bottom: 7px;
    color: var(--samanvi-light-blue);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 2px;
}


/* =========================================================
   CARD TITLE
   ========================================================= */

.samanvi-tourism-card h3 {
    margin: 0 0 9px;
    color: #ffffff;
    font-size: clamp( 1.35rem, 2.2vw, 2rem );
    font-weight: 700;
    line-height: 1.2;
}


/* =========================================================
   CARD DESCRIPTION
   ========================================================= */

.samanvi-tourism-card p {
    max-width: 600px;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.84rem;
    line-height: 1.7;
}


/* =========================================================
   BOTTOM INFORMATION BAR
   ========================================================= */

.samanvi-tourism-bottom {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 35px;
    padding: 30px 35px;
    border: 1px solid rgba(61, 90, 128, 0.10);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 12px 35px rgba(41, 50, 65, 0.07);
}


.samanvi-tourism-bottom-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: rgba(238, 108, 77, 0.10);
    color: var(--samanvi-coral);
    font-size: 1.1rem;
}


.samanvi-tourism-bottom-content {
    flex: 1;
}


    .samanvi-tourism-bottom-content span {
        display: block;
        margin-bottom: 5px;
        color: var(--samanvi-coral);
        font-size: 0.66rem;
        font-weight: 800;
        letter-spacing: 1.8px;
    }


    .samanvi-tourism-bottom-content h3 {
        margin: 0;
        color: var(--samanvi-blue-dark);
        font-size: clamp( 1rem, 2vw, 1.35rem );
        font-weight: 600;
        line-height: 1.4;
    }


.samanvi-tourism-bottom-arrow {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--samanvi-blue);
    color: #ffffff;
    transition: background 0.3s ease, transform 0.3s ease;
}


.samanvi-tourism-bottom:hover
.samanvi-tourism-bottom-arrow {
    background: var(--samanvi-coral);
    transform: translateX(5px);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .samanvi-tourism-section {
        padding: 90px 0 100px;
    }


    .samanvi-tourism-heading {
        margin-bottom: 45px;
    }


    .samanvi-tourism-card-large
    .samanvi-tourism-image-wrap {
        height: 450px;
    }


    .samanvi-tourism-image-wrap {
        height: 380px;
    }


    .samanvi-tourism-card-content {
        padding: 28px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .samanvi-tourism-section {
        padding: 75px 0 85px;
    }


    .samanvi-tourism-container {
        width: 95%;
    }


    .samanvi-tourism-heading {
        margin-bottom: 35px;
    }


    .samanvi-tourism-title {
        font-size: 2.1rem;
        letter-spacing: -0.5px;
    }


    .samanvi-tourism-intro {
        font-size: 0.88rem;
        line-height: 1.8;
    }


    .samanvi-tourism-image-wrap,
    .samanvi-tourism-card-large
    .samanvi-tourism-image-wrap {
        height: 380px;
    }


    .samanvi-tourism-card-content {
        gap: 14px;
        padding: 23px;
    }


    .samanvi-tourism-number {
        width: 40px;
        height: 40px;
        font-size: 0.65rem;
    }


    .samanvi-tourism-card h3 {
        font-size: 1.35rem;
    }


    .samanvi-tourism-card p {
        font-size: 0.78rem;
        line-height: 1.6;
    }


    .samanvi-tourism-bottom {
        align-items: flex-start;
        gap: 15px;
        padding: 25px 20px;
    }


    .samanvi-tourism-bottom-icon {
        width: 45px;
        height: 45px;
        font-size: 0.95rem;
    }


    .samanvi-tourism-bottom-arrow {
        display: none;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 575.98px) {

    .samanvi-tourism-title {
        font-size: 1.85rem;
    }


    .samanvi-tourism-image-wrap,
    .samanvi-tourism-card-large
    .samanvi-tourism-image-wrap {
        height: 340px;
    }


    .samanvi-tourism-card-content {
        padding: 20px;
    }


    .samanvi-tourism-card p {
        font-size: 0.76rem;
    }


    .samanvi-tourism-bottom-content h3 {
        font-size: 0.98rem;
    }
}

/* =========================================================
   GALLERY PREVIEW SECTION
   ========================================================= */

.samanvi-gallery {
    position: relative;
    background: #f5f7fa;
    overflow: hidden;
}


/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

.samanvi-gallery-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 50px;
    margin-bottom: 50px;
}


.samanvi-gallery-heading {
    max-width: 650px;
}


    .samanvi-gallery-heading
    .samanvi-section-title {
        margin-bottom: 0;
    }


.samanvi-gallery-intro {
    max-width: 420px;
}


    .samanvi-gallery-intro p {
        margin: 0 0 20px;
        color: var(--samanvi-muted);
        font-size: 0.94rem;
        line-height: 1.8;
    }


.samanvi-gallery-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--samanvi-blue);
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.3s ease, gap 0.3s ease;
}


    .samanvi-gallery-link:hover {
        color: var(--samanvi-coral);
        gap: 15px;
    }


/* ---------------------------------------------------------
   GALLERY GRID
   --------------------------------------------------------- */

.samanvi-gallery-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    grid-template-rows: 285px 285px;
    gap: 18px;
}


/* ---------------------------------------------------------
   GALLERY ITEM
   --------------------------------------------------------- */

.samanvi-gallery-item {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 20px;
    background: var(--samanvi-blue-dark);
    text-decoration: none;
    box-shadow: 0 12px 35px rgba(41, 50, 65, 0.08);
}


.samanvi-gallery-large {
    grid-row: 1 / 3;
}


/* ---------------------------------------------------------
   IMAGE
   --------------------------------------------------------- */

.samanvi-gallery-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.2, 0.65, 0.25, 1);
}


.samanvi-gallery-item:hover
.samanvi-gallery-image {
    transform: scale(1.07);
}


/* ---------------------------------------------------------
   IMAGE OVERLAY
   --------------------------------------------------------- */

.samanvi-gallery-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 28px;
    background: linear-gradient( to bottom, rgba(41, 50, 65, 0.02) 30%, rgba(41, 50, 65, 0.15) 50%, rgba(41, 50, 65, 0.86) 100% );
    transition: background 0.4s ease;
}


.samanvi-gallery-item:hover
.samanvi-gallery-overlay {
    background: linear-gradient( to bottom, rgba(41, 50, 65, 0.05) 20%, rgba(41, 50, 65, 0.30) 50%, rgba(41, 50, 65, 0.92) 100% );
}


/* ---------------------------------------------------------
   OVERLAY CONTENT
   --------------------------------------------------------- */

.samanvi-gallery-overlay-content {
    width: 100%;
    position: relative;
    padding-right: 55px;
    transform: translateY(5px);
    transition: transform 0.4s ease;
}


.samanvi-gallery-item:hover
.samanvi-gallery-overlay-content {
    transform: translateY(0);
}


.samanvi-gallery-overlay-content span {
    display: block;
    margin-bottom: 7px;
    color: var(--samanvi-light-blue);
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 1.4px;
}


.samanvi-gallery-overlay-content h3 {
    margin: 0;
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.35;
}


/* ---------------------------------------------------------
   GALLERY ICON
   --------------------------------------------------------- */

.samanvi-gallery-icon {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(8px);
    color: #ffffff;
    font-size: 0.75rem;
    transform: translateX(8px);
    opacity: 0;
    transition: opacity 0.35s ease, transform 0.35s ease, background-color 0.35s ease;
}


.samanvi-gallery-item:hover
.samanvi-gallery-icon {
    opacity: 1;
    transform: translateX(0);
    background: var(--samanvi-coral);
}


/* ---------------------------------------------------------
   BOTTOM CTA
   --------------------------------------------------------- */

.samanvi-gallery-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 35px;
    padding: 32px 38px;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid rgba(61, 90, 128, 0.08);
    box-shadow: 0 10px 35px rgba(41, 50, 65, 0.05);
}


    .samanvi-gallery-bottom
    .samanvi-section-label {
        color: var(--samanvi-coral);
    }


    .samanvi-gallery-bottom h3 {
        margin: 4px 0 0;
        color: var(--samanvi-blue-dark);
        font-size: clamp(1.3rem, 2.5vw, 1.85rem);
        font-weight: 600;
        line-height: 1.35;
    }


    .samanvi-gallery-bottom
    .samanvi-btn-outline {
        flex-shrink: 0;
    }


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 991px) {

    .samanvi-gallery-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        margin-bottom: 40px;
    }


    .samanvi-gallery-intro {
        max-width: 600px;
    }


    .samanvi-gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 300px 300px;
    }


    .samanvi-gallery-large {
        grid-column: 1 / 3;
        grid-row: auto;
    }
}


@media (max-width: 767px) {

    .samanvi-gallery-grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(3, 300px);
        gap: 15px;
    }


    .samanvi-gallery-large {
        grid-column: auto;
        grid-row: auto;
    }


    .samanvi-gallery-overlay {
        padding: 22px;
    }


    .samanvi-gallery-bottom {
        align-items: flex-start;
        flex-direction: column;
        padding: 28px 25px;
    }
}


@media (max-width: 575px) {

    .samanvi-gallery-grid {
        grid-template-rows: repeat(3, 260px);
    }


    .samanvi-gallery-overlay-content h3 {
        font-size: 1.1rem;
    }


    .samanvi-gallery-bottom {
        margin-top: 25px;
    }
}



/* =========================================================
   ABOUT PAGE HERO - V2
   ========================================================= */

.samanvi-about-hero-v2 {
    position: relative;
    min-height: 100vh;
    width: 100%;
    overflow: hidden;
    background: var(--samanvi-blue-dark);
    color: var(--samanvi-white);
    display: flex;
    align-items: center;
}


/* =========================================================
   BACKGROUND
   ========================================================= */

.samanvi-about-hero-v2-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.samanvi-about-hero-v2-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.08);
    animation: samanviAboutHeroZoom 12s ease-out forwards;
}


@keyframes samanviAboutHeroZoom {

    from {
        transform: scale(1.08);
    }

    to {
        transform: scale(1);
    }
}


/* =========================================================
   CINEMATIC OVERLAY
   ========================================================= */

.samanvi-about-hero-v2-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient( 90deg, rgba(41, 50, 65, 0.96) 0%, rgba(41, 50, 65, 0.82) 34%, rgba(41, 50, 65, 0.48) 65%, rgba(41, 50, 65, 0.30) 100% );
}


    /* Bottom darker gradient */

    .samanvi-about-hero-v2-overlay::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 0deg, rgba(20, 25, 34, 0.75) 0%, transparent 35% );
    }


/* =========================================================
   CONTAINER
   ========================================================= */

.samanvi-about-hero-v2-container {
    position: relative;
    z-index: 5;
    min-height: 100vh;
    padding-top: 130px;
    padding-bottom: 130px;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.samanvi-about-v2-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.78);
    animation: samanviAboutFadeUp 1s ease 0.15s both;
}


.samanvi-about-v2-eyebrow-line {
    display: inline-block;
    width: 45px;
    height: 1px;
    background: var(--samanvi-coral);
}


/* =========================================================
   MAIN TITLE
   ========================================================= */

.samanvi-about-v2-title {
    margin: 0;
    max-width: 900px;
    font-size: clamp(58px, 7vw, 112px);
    line-height: 0.92;
    font-weight: 500;
    letter-spacing: -4px;
    color: #ffffff;
    animation: samanviAboutTitleReveal 1.2s cubic-bezier(.16,1,.3,1) 0.3s both;
}


    .samanvi-about-v2-title span {
        color: var(--samanvi-light-blue);
        font-style: italic;
        font-weight: 400;
    }


/* =========================================================
   DESCRIPTION
   ========================================================= */

.samanvi-about-v2-description {
    max-width: 560px;
    margin-top: 34px;
    margin-bottom: 0;
    font-size: 18px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.78);
    animation: samanviAboutFadeUp 1s ease 0.6s both;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.samanvi-about-v2-actions {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 42px;
    animation: samanviAboutFadeUp 1s ease 0.75s both;
}


.samanvi-about-v2-primary-btn {
    display: inline-flex;
    align-items: center;
    gap: 22px;
    padding: 17px 24px 17px 28px;
    color: #ffffff;
    background: var(--samanvi-coral);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: transform 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
}


    .samanvi-about-v2-primary-btn i {
        width: 35px;
        height: 35px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, 0.18);
        transition: transform 0.35s ease;
    }


    .samanvi-about-v2-primary-btn:hover {
        color: #ffffff;
        transform: translateY(-4px);
        background: #f07859;
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
    }


        .samanvi-about-v2-primary-btn:hover i {
            transform: translateX(5px);
        }


.samanvi-about-v2-text-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding-bottom: 7px;
    transition: color 0.3s ease, border-color 0.3s ease;
}


    .samanvi-about-v2-text-btn i {
        font-size: 11px;
    }


    .samanvi-about-v2-text-btn:hover {
        color: var(--samanvi-light-blue);
        border-color: var(--samanvi-light-blue);
    }


/* =========================================================
   RIGHT SIDE INFORMATION
   ========================================================= */

.samanvi-about-v2-side {
    position: relative;
    max-width: 270px;
    margin-left: auto;
    padding: 30px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    animation: samanviAboutSideReveal 1.2s cubic-bezier(.16,1,.3,1) 0.9s both;
}


.samanvi-about-v2-side-number {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    color: var(--samanvi-coral);
    margin-bottom: 20px;
}


.samanvi-about-v2-side-line {
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.18);
    margin-bottom: 22px;
}


.samanvi-about-v2-side-content span {
    display: block;
    margin-bottom: 8px;
    font-size: 10px;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.58);
}


.samanvi-about-v2-side-content strong {
    display: block;
    font-size: 36px;
    font-weight: 500;
    line-height: 1.1;
    margin-bottom: 7px;
}


.samanvi-about-v2-side-content p {
    margin: 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65);
}


/* =========================================================
   BOTTOM AREA
   ========================================================= */

.samanvi-about-v2-bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    padding-bottom: 35px;
}


.samanvi-about-v2-scroll {
    display: flex;
    align-items: center;
    gap: 18px;
    font-size: 10px;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.62);
}


.samanvi-about-v2-scroll-line {
    position: relative;
    width: 75px;
    height: 1px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.25);
}


    .samanvi-about-v2-scroll-line span {
        position: absolute;
        top: 0;
        left: 0;
        width: 30px;
        height: 1px;
        background: var(--samanvi-coral);
        animation: samanviScrollLine 2s ease-in-out infinite;
    }


@keyframes samanviScrollLine {

    0% {
        transform: translateX(-35px);
    }

    50% {
        transform: translateX(75px);
    }

    100% {
        transform: translateX(75px);
    }
}


.samanvi-about-v2-meta {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    font-size: 10px;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.55);
}


.samanvi-about-v2-meta-dot {
    color: var(--samanvi-coral);
}


/* =========================================================
   BACKGROUND NUMBER
   ========================================================= */

.samanvi-about-v2-bg-number {
    position: absolute;
    right: -30px;
    bottom: 50px;
    z-index: 2;
    font-size: clamp(180px, 24vw, 400px);
    font-weight: 700;
    line-height: 1;
    color: rgba(255, 255, 255, 0.025);
    pointer-events: none;
    user-select: none;
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes samanviAboutFadeUp {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@keyframes samanviAboutTitleReveal {

    from {
        opacity: 0;
        transform: translateY(70px);
        filter: blur(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}


@keyframes samanviAboutSideReveal {

    from {
        opacity: 0;
        transform: translateX(60px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .samanvi-about-hero-v2 {
        min-height: 900px;
    }


    .samanvi-about-hero-v2-container {
        min-height: 900px;
        padding-top: 150px;
        padding-bottom: 150px;
    }


    .samanvi-about-v2-title {
        font-size: clamp(54px, 10vw, 88px);
    }


    .samanvi-about-v2-side {
        margin-top: 50px;
        margin-left: 0;
    }


    .samanvi-about-v2-bottom {
        padding-bottom: 25px;
    }
}


@media (max-width: 767.98px) {

    .samanvi-about-hero-v2 {
        min-height: 850px;
    }


    .samanvi-about-hero-v2-container {
        min-height: 850px;
        padding-top: 140px;
        padding-bottom: 130px;
    }


    .samanvi-about-v2-eyebrow {
        font-size: 9px;
        letter-spacing: 2px;
    }


    .samanvi-about-v2-title {
        font-size: clamp(48px, 14vw, 72px);
        letter-spacing: -2px;
        line-height: 0.96;
    }


    .samanvi-about-v2-description {
        font-size: 15px;
        line-height: 1.7;
        margin-top: 25px;
    }


    .samanvi-about-v2-actions {
        flex-wrap: wrap;
        gap: 22px;
        margin-top: 32px;
    }


    .samanvi-about-v2-side {
        display: none;
    }


    .samanvi-about-v2-scroll {
        display: none;
    }


    .samanvi-about-v2-meta {
        justify-content: flex-start;
        font-size: 8px;
        gap: 8px;
    }


    .samanvi-about-v2-bg-number {
        right: -10px;
        bottom: 100px;
        font-size: 180px;
    }
}


@media (max-width: 400px) {

    .samanvi-about-v2-title {
        font-size: 44px;
    }


    .samanvi-about-v2-primary-btn {
        width: 100%;
        justify-content: space-between;
    }
}




/* =========================================================
   ABOUT STORY SECTION
   Hotel Samanvi International
   ========================================================= */

.samanvi-about-story {
    position: relative;
    width: 100%;
    padding: 30px 0;
    background: var(--samanvi-white);
    overflow: hidden;
}


/* =========================================================
   IMAGE AREA
   ========================================================= */

.samanvi-about-story-visual {
    position: relative;
    width: 100%;
    min-height: 650px;
    display: flex;
    align-items: center;
}


.samanvi-about-story-image-wrap {
    position: relative;
    width: 88%;
    height: 620px;
    overflow: hidden;
    z-index: 2;
}


.samanvi-about-story-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 1s cubic-bezier(.16, 1, .3, 1);
}


.samanvi-about-story-image-wrap:hover
.samanvi-about-story-image {
    transform: scale(1.06);
}


/* =========================================================
   IMAGE DECORATIVE SHAPE
   ========================================================= */

.samanvi-about-story-shape {
    position: absolute;
    left: 25px;
    bottom: 10px;
    width: 88%;
    height: 620px;
    border: 1px solid var(--samanvi-light-blue);
    z-index: 1;
}


/* =========================================================
   EXPERIENCE CARD
   ========================================================= */

.samanvi-about-story-card {
    position: absolute;
    right: 0;
    bottom: 55px;
    z-index: 5;
    width: 250px;
    min-height: 150px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 18px;
    background: var(--samanvi-blue-dark);
    color: var(--samanvi-white);
    box-shadow: 0 20px 50px rgba(41, 50, 65, 0.25);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}


    .samanvi-about-story-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 30px 60px rgba(41, 50, 65, 0.32);
    }


.samanvi-about-story-card-icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--samanvi-coral);
    color: var(--samanvi-white);
    font-size: 19px;
}


.samanvi-about-story-card span {
    display: block;
    margin-bottom: 5px;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 2px;
    color: var(--samanvi-light-blue);
}


.samanvi-about-story-card strong {
    display: block;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 500;
}


/* =========================================================
   IMAGE NUMBER
   ========================================================= */

.samanvi-about-story-number {
    position: absolute;
    top: 35px;
    left: -15px;
    z-index: 6;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--samanvi-coral);
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}


/* =========================================================
   CONTENT
   ========================================================= */

.samanvi-about-story-content {
    padding-left: 30px;
}


.samanvi-about-story-title {
    margin-top: 18px;
    margin-bottom: 30px;
    font-size: clamp(40px, 4vw, 62px);
    line-height: 1.05;
    letter-spacing: -1.8px;
}


    .samanvi-about-story-title span {
        color: var(--samanvi-blue);
    }


.samanvi-about-story-intro {
    max-width: 620px;
    margin-bottom: 18px;
    font-size: 19px;
    line-height: 1.8;
    color: var(--samanvi-blue-dark);
    font-weight: 500;
}


.samanvi-about-story-text {
    max-width: 650px;
    margin-bottom: 16px;
    font-size: 15px;
    line-height: 1.9;
    color: var(--samanvi-text);
}


/* =========================================================
   HIGHLIGHTS
   ========================================================= */

.samanvi-about-story-highlights {
    margin-top: 35px;
    border-top: 1px solid #e7ebef;
}


.samanvi-about-story-highlight {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 0;
    border-bottom: 1px solid #e7ebef;
    transition: padding-left 0.35s ease, background 0.35s ease;
}


    .samanvi-about-story-highlight:hover {
        padding-left: 10px;
    }


.samanvi-about-story-highlight-icon {
    flex-shrink: 0;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--samanvi-e0fbfc, #e0fbfc);
    color: var(--samanvi-blue);
    font-size: 16px;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}


.samanvi-about-story-highlight:hover
.samanvi-about-story-highlight-icon {
    background: var(--samanvi-coral);
    color: var(--samanvi-white);
    transform: rotate(5deg);
}


.samanvi-about-story-highlight h3 {
    margin: 0 0 4px;
    font-size: 15px;
    font-weight: 600;
    color: var(--samanvi-blue-dark);
}


.samanvi-about-story-highlight p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--samanvi-muted);
}


/* =========================================================
   ACTION
   ========================================================= */

.samanvi-about-story-action {
    margin-top: 35px;
}


/* =========================================================
   SCROLL ANIMATION INITIAL STATE
   ========================================================= */

.samanvi-about-story
.scroll-animate {
    will-change: transform, opacity;
}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media (min-width: 1400px) {

    /*    .samanvi-about-story {
        padding: 150px 0;
    }*/


    .samanvi-about-story-visual {
        min-height: 700px;
    }


    .samanvi-about-story-image-wrap {
        height: 680px;
    }


    .samanvi-about-story-shape {
        height: 680px;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .samanvi-about-story {
        padding: 90px 0;
    }


    .samanvi-about-story-visual {
        min-height: 560px;
        margin-bottom: 25px;
    }


    .samanvi-about-story-image-wrap {
        width: 90%;
        height: 520px;
    }


    .samanvi-about-story-shape {
        width: 90%;
        height: 520px;
    }


    .samanvi-about-story-content {
        padding-left: 0;
    }


    .samanvi-about-story-title {
        font-size: clamp(40px, 7vw, 58px);
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .samanvi-about-story {
        padding: 70px 0;
    }


    .samanvi-about-story-visual {
        min-height: 450px;
    }


    .samanvi-about-story-image-wrap {
        width: calc(100% - 20px);
        height: 430px;
    }


    .samanvi-about-story-shape {
        left: 15px;
        width: calc(100% - 20px);
        height: 430px;
    }


    .samanvi-about-story-card {
        right: 0;
        bottom: 20px;
        width: 220px;
        min-height: 125px;
        padding: 18px;
    }


    .samanvi-about-story-card-icon {
        width: 42px;
        height: 42px;
        font-size: 16px;
    }


    .samanvi-about-story-card strong {
        font-size: 16px;
    }


    .samanvi-about-story-number {
        top: 20px;
        left: -3px;
    }


    .samanvi-about-story-title {
        font-size: 40px;
        letter-spacing: -1px;
    }


    .samanvi-about-story-intro {
        font-size: 17px;
    }


    .samanvi-about-story-text {
        font-size: 14px;
        line-height: 1.8;
    }


    .samanvi-about-story-highlight {
        align-items: flex-start;
    }


    .samanvi-about-story-highlight-icon {
        width: 40px;
        height: 40px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .samanvi-about-story {
        padding: 60px 0;
    }


    .samanvi-about-story-visual {
        min-height: 400px;
    }


    .samanvi-about-story-image-wrap {
        height: 380px;
    }


    .samanvi-about-story-shape {
        height: 380px;
    }


    .samanvi-about-story-card {
        width: 195px;
        padding: 15px;
    }


        .samanvi-about-story-card strong {
            font-size: 14px;
        }


    .samanvi-about-story-title {
        font-size: 35px;
    }
}

/* =========================================================
   SAMANVI EXPERIENCE
   PREMIUM PARALLAX SECTION
   ========================================================= */

.samanvi-parallax-experience {
    position: relative;
    width: 100%;
    min-height: 900px;
    overflow: hidden;
    color: #ffffff;
}


/* =========================================================
   PARALLAX BACKGROUND
   ========================================================= */

.samanvi-parallax-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}


.samanvi-parallax-bg-image {
    position: absolute;
    top: -110px;
    left: 0;
    width: 100%;
    height: calc(100% + 220px);
    background-image: url("https://images.pexels.com/photos/261102/pexels-photo-261102.jpeg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: translate3d(0, 0, 0) scale(1.05);
    will-change: transform;
}


/* =========================================================
   CINEMATIC OVERLAY
   ========================================================= */

.samanvi-parallax-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient( 90deg, rgba(41, 50, 65, 0.82) 0%, rgba(41, 50, 65, 0.68) 50%, rgba(41, 50, 65, 0.55) 100% );
}


    .samanvi-parallax-overlay::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 0deg, rgba(20, 25, 34, 0.75) 0%, transparent 55% );
    }


/* =========================================================
   CONTAINER
   ========================================================= */

.samanvi-parallax-container {
    position: relative;
    z-index: 5;
    width: var(--samanvi-container);
    max-width: var(--samanvi-max-width);
    margin: 0 auto;
    padding-top: 50px;
    padding-bottom: 50px;
}


/* =========================================================
   HEADER
   CENTERED
   ========================================================= */

.samanvi-parallax-heading {
    max-width: 850px;
}


/* Center the complete heading block */

.samanvi-parallax-heading-center {
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}


/* =========================================================
   HEADER LABEL
   ========================================================= */

.samanvi-parallax-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 25px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    color: rgba(255, 255, 255, 0.72);
}


    .samanvi-parallax-label::before {
        content: "";
        width: 45px;
        height: 1px;
        background: var(--samanvi-coral);
        flex-shrink: 0;
    }


/* =========================================================
   HEADER TITLE
   ========================================================= */

.samanvi-parallax-heading h2 {
    margin: 0;
    font-size: clamp(48px, 6vw, 82px);
    line-height: 0.98;
    letter-spacing: -3px;
    font-weight: 500;
    color: #ffffff;
}


    .samanvi-parallax-heading h2 span {
        color: var(--samanvi-light-blue);
        font-style: italic;
        font-weight: 400;
    }


/* =========================================================
   HEADER DESCRIPTION
   ========================================================= */

.samanvi-parallax-heading p {
    max-width: 600px;
    margin-top: 30px;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    font-size: 17px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.74);
}


/* =========================================================
   CARDS AREA
   ========================================================= */

.samanvi-parallax-cards {
    margin-top: 75px;
}


/* =========================================================
   INDIVIDUAL CARD
   ========================================================= */

.samanvi-parallax-card {
    position: relative;
    height: 100%;
    min-height: 350px;
    padding: 32px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    overflow: hidden;
    transition: transform 0.45s cubic-bezier(.16, 1, .3, 1), background 0.45s ease, border-color 0.45s ease, box-shadow 0.45s ease;
}


    /* =========================================================
   CARD TOP ACCENT
   ========================================================= */

    .samanvi-parallax-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background: var(--samanvi-coral);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.45s ease;
    }


    /* =========================================================
   CARD HOVER
   ========================================================= */

    .samanvi-parallax-card:hover {
        transform: translateY(-12px);
        background: rgba(255, 255, 255, 0.16);
        border-color: rgba(255, 255, 255, 0.32);
        box-shadow: 0 25px 70px rgba(0, 0, 0, 0.28);
    }


        .samanvi-parallax-card:hover::before {
            transform: scaleX(1);
        }


/* =========================================================
   CARD NUMBER
   ========================================================= */

.samanvi-parallax-card-number {
    position: absolute;
    top: 25px;
    right: 25px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.45);
}


/* =========================================================
   CARD ICON
   ========================================================= */

.samanvi-parallax-card-icon {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--samanvi-coral);
    color: #ffffff;
    font-size: 19px;
    margin-bottom: 75px;
    transition: transform 0.4s ease, border-radius 0.4s ease;
}


/* =========================================================
   CARD ICON HOVER
   ========================================================= */

.samanvi-parallax-card:hover
.samanvi-parallax-card-icon {
    transform: rotate(-7deg) scale(1.08);
    border-radius: 50%;
}


/* =========================================================
   CARD TITLE
   ========================================================= */

.samanvi-parallax-card h3 {
    margin: 0 0 15px;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 500;
    color: #ffffff;
}


/* =========================================================
   CARD DESCRIPTION
   ========================================================= */

.samanvi-parallax-card p {
    margin: 0;
    font-size: 13px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.66);
}


/* =========================================================
   CARD LINK
   ========================================================= */

.samanvi-parallax-card-link {
    position: absolute;
    left: 32px;
    bottom: 28px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #ffffff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.4px;
    transition: color 0.3s ease, gap 0.3s ease;
}


    /* =========================================================
   CARD LINK ICON
   ========================================================= */

    .samanvi-parallax-card-link i {
        color: var(--samanvi-coral);
        font-size: 11px;
    }


    /* =========================================================
   CARD LINK HOVER
   ========================================================= */

    .samanvi-parallax-card-link:hover {
        color: var(--samanvi-light-blue);
        gap: 18px;
    }


/* =========================================================
   BOTTOM CTA
   ========================================================= */

.samanvi-parallax-bottom {
    margin-top: 70px;
    padding: 38px 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    background: var(--samanvi-coral);
}


    /* =========================================================
   BOTTOM CTA LABEL
   ========================================================= */

    .samanvi-parallax-bottom span {
        display: block;
        margin-bottom: 8px;
        font-size: 9px;
        font-weight: 600;
        letter-spacing: 2.5px;
        color: rgba(255, 255, 255, 0.72);
    }


    /* =========================================================
   BOTTOM CTA TITLE
   ========================================================= */

    .samanvi-parallax-bottom h3 {
        margin: 0;
        font-size: clamp(25px, 3vw, 38px);
        font-weight: 400;
        line-height: 1.2;
        color: #ffffff;
    }


/* =========================================================
   BOTTOM CTA BUTTON
   ========================================================= */

.samanvi-parallax-bottom-button {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 20px;
    padding: 15px 22px;
    color: var(--samanvi-blue-dark);
    background: #ffffff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}


    /* =========================================================
   BOTTOM CTA BUTTON ICON
   ========================================================= */

    .samanvi-parallax-bottom-button i {
        transition: transform 0.3s ease;
    }


    /* =========================================================
   BOTTOM CTA BUTTON HOVER
   ========================================================= */

    .samanvi-parallax-bottom-button:hover {
        color: var(--samanvi-blue-dark);
        transform: translateY(-3px);
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
    }


        .samanvi-parallax-bottom-button:hover i {
            transform: translateX(5px);
        }


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media (min-width: 1400px) {

    .samanvi-parallax-container {
        padding-top: 50px;
        padding-bottom: 50px;
    }


    .samanvi-parallax-card {
        min-height: 380px;
        padding: 36px;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .samanvi-parallax-container {
        padding-top: 50px;
        padding-bottom: 50px;
    }


    .samanvi-parallax-heading h2 {
        font-size: 58px;
    }


    .samanvi-parallax-heading {
        max-width: 850px;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }


    .samanvi-parallax-cards {
        margin-top: 55px;
    }


    .samanvi-parallax-card {
        min-height: 330px;
    }


    .samanvi-parallax-bottom {
        margin-top: 50px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .samanvi-parallax-experience {
        min-height: auto;
    }


    /* Disable parallax movement on mobile */

    .samanvi-parallax-bg-image {
        top: 0;
        height: 100%;
        transform: none;
    }


    .samanvi-parallax-container {
        padding-top: 50px;
        padding-bottom: 50px;
    }


    /* Center heading */

    .samanvi-parallax-heading {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }


        .samanvi-parallax-heading h2 {
            font-size: 43px;
            line-height: 1;
            letter-spacing: -1.5px;
        }


        .samanvi-parallax-heading p {
            font-size: 15px;
            line-height: 1.75;
            margin-top: 24px;
        }


    .samanvi-parallax-cards {
        margin-top: 45px;
    }


    .samanvi-parallax-card {
        min-height: 330px;
        padding: 28px;
    }


    .samanvi-parallax-card-icon {
        margin-bottom: 65px;
    }


    .samanvi-parallax-bottom {
        margin-top: 40px;
        padding: 30px 25px;
        flex-direction: column;
        align-items: flex-start;
    }


    .samanvi-parallax-bottom-button {
        width: 100%;
        justify-content: center;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .samanvi-parallax-heading h2 {
        font-size: 37px;
    }


    .samanvi-parallax-card {
        min-height: 315px;
    }
}




/* ROOM SECTION */
/* =========================================================
   HOTEL SAMANVI - ROOMS SECTION BACKGROUND
   PREMIUM VISIBLE GRADIENT
   ========================================================= */

.samanvi-rooms-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: radial-gradient( circle at 0% 0%, rgba(152, 193, 217, 0.55) 0%, rgba(152, 193, 217, 0.20) 22%, transparent 45% ), radial-gradient( circle at 100% 100%, rgba(61, 90, 128, 0.30) 0%, rgba(61, 90, 128, 0.10) 25%, transparent 50% ), linear-gradient( 135deg, #dcecf4 0%, #f8fbfd 30%, #ffffff 52%, #eef4f8 75%, #d7e5ee 100% );
}

    .samanvi-rooms-section::before {
        content: "";
        position: absolute;
        width: 500px;
        height: 500px;
        top: -250px;
        left: -180px;
        border-radius: 50%;
        background: radial-gradient( circle, rgba(152, 193, 217, 0.35) 0%, rgba(152, 193, 217, 0.15) 35%, transparent 70% );
        pointer-events: none;
    }


    .samanvi-rooms-section::after {
        content: "";
        position: absolute;
        width: 600px;
        height: 600px;
        right: -300px;
        bottom: -350px;
        border-radius: 50%;
        background: radial-gradient( circle, rgba(61, 90, 128, 0.20) 0%, rgba(61, 90, 128, 0.08) 35%, transparent 70% );
        pointer-events: none;
    }


    /* Keep all actual content above the background effects */

    .samanvi-rooms-section > * {
        position: relative;
        z-index: 2;
    }

.samanvi-section-heading {
    max-width: 800px;
    margin: 0 auto;
}

    .samanvi-section-heading h2 {
        color: var(--samanvi-blue-dark);
        font-size: clamp(2rem, 4vw, 3.2rem);
        font-weight: 700;
        line-height: 1.15;
        margin: 15px 0;
    }

    .samanvi-section-heading p {
        color: var(--samanvi-muted);
        line-height: 1.8;
    }


/* ROOM CARD */

.samanvi-room-card {
    height: 100%;
    background: var(--samanvi-white);
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(41, 50, 65, 0.08);
    box-shadow: 0 12px 35px rgba(41, 50, 65, 0.08);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

    .samanvi-room-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 45px rgba(41, 50, 65, 0.14);
    }

.samanvi-room-card-image {
    height: 270px;
    position: relative;
    overflow: hidden;
    background: var(--samanvi-light-blue);
}

    .samanvi-room-card-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s ease;
    }

.samanvi-room-card:hover .samanvi-room-card-image img {
    transform: scale(1.06);
}

.samanvi-room-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--samanvi-white);
    font-size: 4rem;
}

.samanvi-room-featured {
    position: absolute;
    top: 18px;
    left: 18px;
    background: var(--samanvi-coral);
    color: var(--samanvi-white);
    padding: 7px 14px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.samanvi-room-card-content {
    padding: 28px;
}

.samanvi-room-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
}

    .samanvi-room-card-top h3 {
        color: var(--samanvi-blue-dark);
        font-size: 1.35rem;
        font-weight: 700;
        margin: 0;
    }

.samanvi-room-price {
    color: var(--samanvi-coral);
    font-size: 1.15rem;
    font-weight: 700;
    white-space: nowrap;
}

.samanvi-room-short-description {
    color: var(--samanvi-muted);
    line-height: 1.7;
    margin: 18px 0 12px;
}

.samanvi-room-amenities {
    color: var(--samanvi-blue);
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 22px;
}

.samanvi-room-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--samanvi-blue-dark);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.25s ease;
}

    .samanvi-room-button i {
        transition: transform 0.25s ease;
    }

    .samanvi-room-button:hover {
        color: var(--samanvi-coral);
    }

        .samanvi-room-button:hover i {
            transform: translateX(5px);
        }

.samanvi-empty-state {
    padding: 80px 20px;
    background: var(--samanvi-white);
    border-radius: 18px;
}

    .samanvi-empty-state i {
        font-size: 3rem;
        color: var(--samanvi-light-blue);
        margin-bottom: 20px;
    }

    .samanvi-empty-state h3 {
        color: var(--samanvi-blue-dark);
    }

    .samanvi-empty-state p {
        color: var(--samanvi-muted);
    }


/* MOBILE */

@media (max-width: 767.98px) {

    .samanvi-page-hero {
        min-height: 360px;
    }

    .samanvi-page-hero-content {
        padding: 60px 0;
    }

    .samanvi-room-card-image {
        height: 230px;
    }

    .samanvi-room-card-content {
        padding: 22px;
    }

    .samanvi-room-card-top {
        flex-direction: column;
        gap: 8px;
    }
}



/* =========================================================
   HOTEL SAMANVI
   IMAGE GALLERY PAGE HERO
   PREMIUM 2026
   ========================================================= */

.samanvi-gallery-hero {
    position: relative;
    width: 100%;
    min-height: 270px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    isolation: isolate;
}


/* =========================================================
   FIXED PARALLAX BACKGROUND
   ========================================================= */

.samanvi-gallery-hero-background {
    position: absolute;
    top: -60px;
    left: 0;
    width: 100%;
    height: calc(100% + 120px);
    z-index: -3;
    background-image: url("/rooms/room4.jpeg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}


/* =========================================================
   DARK OVERLAY
   ========================================================= */

.samanvi-gallery-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient( 90deg, rgba(41, 50, 65, 0.90) 0%, rgba(41, 50, 65, 0.70) 50%, rgba(41, 50, 65, 0.86) 100% );
}


    /* Additional cinematic darkness */

    .samanvi-gallery-hero-overlay::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( to bottom, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.30) );
    }


/* =========================================================
   CONTENT - 95% WIDTH
   ========================================================= */

.samanvi-gallery-hero-content {
    position: relative;
    z-index: 5;
    width: 95%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 55px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.samanvi-gallery-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 12px;
    color: var(--samanvi-light-blue);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
}


    /* Decorative lines */

    .samanvi-gallery-hero-eyebrow::before,
    .samanvi-gallery-hero-eyebrow::after {
        content: "";
        width: 28px;
        height: 1px;
        background: var(--samanvi-coral);
    }


/* =========================================================
   H1
   ========================================================= */

.samanvi-gallery-hero h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 68px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -2px;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.samanvi-gallery-hero p {
    max-width: 680px;
    margin: 15px auto 0;
    color: rgba(255, 255, 255, 0.80);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .samanvi-gallery-hero {
        min-height: 270px;
    }

    .samanvi-gallery-hero-content {
        padding: 50px 0;
    }

    .samanvi-gallery-hero h1 {
        font-size: 52px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .samanvi-gallery-hero {
        min-height: 270px;
    }

    /* Fixed background is unreliable on mobile */

    .samanvi-gallery-hero-background {
        top: 0;
        height: 100%;
        background-attachment: scroll;
    }

    .samanvi-gallery-hero-content {
        width: 95%;
        padding: 45px 0;
    }

    .samanvi-gallery-hero-eyebrow {
        gap: 8px;
        margin-bottom: 10px;
        font-size: 8px;
        letter-spacing: 2px;
    }

        .samanvi-gallery-hero-eyebrow::before,
        .samanvi-gallery-hero-eyebrow::after {
            width: 20px;
        }

    .samanvi-gallery-hero h1 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .samanvi-gallery-hero p {
        width: 95%;
        margin-top: 13px;
        font-size: 12px;
        line-height: 1.65;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .samanvi-gallery-hero h1 {
        font-size: 38px;
    }

    .samanvi-gallery-hero p {
        font-size: 11.5px;
    }
}


/* =========================================================
   HOTEL SAMANVI
   VIDEO GALLERY PAGE HERO
   PREMIUM 2026
   ========================================================= */

.samanvi-video-hero {
    position: relative;
    width: 100%;
    min-height: 270px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    isolation: isolate;
}


/* =========================================================
   FIXED PARALLAX BACKGROUND
   ========================================================= */

.samanvi-video-hero-background {
    position: absolute;
    top: -60px;
    left: 0;
    width: 100%;
    height: calc(100% + 120px);
    z-index: -3;
    background-image: url("/rooms/room1.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}


/* =========================================================
   DARK OVERLAY
   ========================================================= */

.samanvi-video-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient( 90deg, rgba(41, 50, 65, 0.90) 0%, rgba(41, 50, 65, 0.70) 50%, rgba(41, 50, 65, 0.86) 100% );
}


    /* Additional cinematic darkness */

    .samanvi-video-hero-overlay::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( to bottom, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.30) );
    }


/* =========================================================
   CONTENT - 95% WIDTH
   ========================================================= */

.samanvi-video-hero-content {
    position: relative;
    z-index: 5;
    width: 95%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 55px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.samanvi-video-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 12px;
    color: var(--samanvi-light-blue);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
}


    /* Decorative lines */

    .samanvi-video-hero-eyebrow::before,
    .samanvi-video-hero-eyebrow::after {
        content: "";
        width: 28px;
        height: 1px;
        background: var(--samanvi-coral);
    }


/* =========================================================
   H1
   ========================================================= */

.samanvi-video-hero h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 68px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -2px;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.samanvi-video-hero p {
    max-width: 680px;
    margin: 15px auto 0;
    color: rgba(255, 255, 255, 0.80);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .samanvi-video-hero {
        min-height: 270px;
    }

    .samanvi-video-hero-content {
        padding: 50px 0;
    }

    .samanvi-video-hero h1 {
        font-size: 52px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .samanvi-video-hero {
        min-height: 270px;
    }

    /* Fixed background is unreliable on mobile */

    .samanvi-video-hero-background {
        top: 0;
        height: 100%;
        background-attachment: scroll;
    }

    .samanvi-video-hero-content {
        width: 95%;
        padding: 45px 0;
    }

    .samanvi-video-hero-eyebrow {
        gap: 8px;
        margin-bottom: 10px;
        font-size: 8px;
        letter-spacing: 2px;
    }

        .samanvi-video-hero-eyebrow::before,
        .samanvi-video-hero-eyebrow::after {
            width: 20px;
        }

    .samanvi-video-hero h1 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .samanvi-video-hero p {
        width: 95%;
        margin-top: 13px;
        font-size: 12px;
        line-height: 1.65;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .samanvi-video-hero h1 {
        font-size: 38px;
    }

    .samanvi-video-hero p {
        font-size: 11.5px;
    }
}





/* =========================================================
   HOTEL SAMANVI INTERNATIONAL
   PREMIUM PHOTO GALLERY
   ========================================================= */

:root {
    --samanvi-blue: #3d5a80;
    --samanvi-blue-dark: #293241;
    --samanvi-coral: #ee6c4d;
    --samanvi-light-blue: #98c1d9;
    --samanvi-soft: #f5f7fa;
    --samanvi-white: #ffffff;
    --samanvi-text: #394452;
    --samanvi-muted: #7b8490;
    --samanvi-container: 95%;
    --samanvi-max-width: 1600px;
}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.samanvi-gallery-section {
    width: 100%;
    min-height: 100vh;
    background: radial-gradient( circle at 8% 15%, rgba(152, 193, 217, 0.35), transparent 28% ), radial-gradient( circle at 92% 75%, rgba(61, 90, 128, 0.22), transparent 32% ), linear-gradient( 135deg, #f8fbfd 0%, #eef4f8 45%, #f7f9fb 100% );
    overflow: hidden;
    position: relative;
}

    .samanvi-gallery-section::before {
        content: "";
        position: absolute;
        width: 500px;
        height: 500px;
        top: -250px;
        right: -150px;
        background: radial-gradient( circle, rgba(238, 108, 77, 0.12) 0%, rgba(238, 108, 77, 0.05) 35%, transparent 70% );
        border-radius: 50%;
        pointer-events: none;
    }


    .samanvi-gallery-section::after {
        content: "";
        position: absolute;
        width: 450px;
        height: 450px;
        bottom: -250px;
        left: -150px;
        background: radial-gradient( circle, rgba(61, 90, 128, 0.13) 0%, rgba(152, 193, 217, 0.06) 40%, transparent 70% );
        border-radius: 50%;
        pointer-events: none;
    }

/* =========================================================
   95% WIDTH CONTAINER
   ========================================================= */

.samanvi-gallery-container {
    width: var(--samanvi-container);
    max-width: var(--samanvi-max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}


/* =========================================================
   HEADER
   ========================================================= */

.samanvi-gallery-header {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 25px;
}


.samanvi-gallery-eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: var(--samanvi-coral);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}


.samanvi-gallery-title {
    margin: 0;
    color: var(--samanvi-blue-dark);
    font-size: clamp(2.3rem, 5vw, 4.5rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -1.5px;
}


.samanvi-gallery-divider {
    width: 75px;
    height: 4px;
    margin: 24px auto 22px;
    background: var(--samanvi-coral);
    border-radius: 50px;
}


.samanvi-gallery-subtitle {
    max-width: 750px;
    margin: 0 auto;
    color: var(--samanvi-muted);
    font-size: 1.05rem;
    line-height: 1.8;
}


/* =========================================================
   GALLERY CARD
   ========================================================= */

.samanvi-gallery-card {
    height: 100%;
    background: var(--samanvi-white);
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(41, 50, 65, 0.07);
    box-shadow: 0 8px 30px rgba(41, 50, 65, 0.07);
    transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease;
}


    .samanvi-gallery-card:hover {
        transform: translateY(-10px);
        border-color: rgba(61, 90, 128, 0.15);
        box-shadow: 0 25px 55px rgba(41, 50, 65, 0.16);
    }


/* =========================================================
   IMAGE
   ========================================================= */

.samanvi-gallery-image-link {
    display: block;
    text-decoration: none;
    color: inherit;
}


.samanvi-gallery-image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e9edf1;
}


.samanvi-gallery-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.5s ease;
}


.samanvi-gallery-card:hover .samanvi-gallery-image {
    transform: scale(1.08);
    filter: brightness(0.78);
}


/* =========================================================
   IMAGE OVERLAY
   ========================================================= */

.samanvi-gallery-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient( 135deg, rgba(41, 50, 65, 0.15), rgba(41, 50, 65, 0.65) );
    opacity: 0;
    transition: opacity 0.45s ease;
}


.samanvi-gallery-card:hover .samanvi-gallery-overlay {
    opacity: 1;
}


.samanvi-gallery-view {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--samanvi-white);
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    transform: translateY(15px);
    transition: transform 0.45s ease;
}


.samanvi-gallery-card:hover .samanvi-gallery-view {
    transform: translateY(0);
}


.samanvi-gallery-view-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
    font-size: 1.1rem;
}


/* =========================================================
   IMAGE CORNER ICON
   ========================================================= */

.samanvi-gallery-corner {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--samanvi-white);
    background: rgba(41, 50, 65, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    backdrop-filter: blur(8px);
    z-index: 2;
    transition: background 0.3s ease, transform 0.3s ease;
}


.samanvi-gallery-card:hover .samanvi-gallery-corner {
    background: var(--samanvi-coral);
    transform: rotate(8deg);
}


/* =========================================================
   CARD BODY
   ========================================================= */

.samanvi-gallery-card-body {
    padding: 25px 26px 27px;
    text-align: left;
}


.samanvi-gallery-label {
    display: block;
    margin-bottom: 9px;
    color: var(--samanvi-coral);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}


.samanvi-gallery-card-title {
    margin: 0 0 18px;
    color: var(--samanvi-blue-dark);
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 650;
    line-height: 1.35;
}


.samanvi-gallery-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--samanvi-blue);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.3s ease, gap 0.3s ease;
}


    .samanvi-gallery-link i {
        transition: transform 0.3s ease;
    }


    .samanvi-gallery-link:hover {
        color: var(--samanvi-coral);
        gap: 13px;
    }


        .samanvi-gallery-link:hover i {
            transform: translateX(4px);
        }


/* =========================================================
   EMPTY STATE
   ========================================================= */

.samanvi-gallery-empty {
    max-width: 700px;
    margin: 30px auto;
    padding: 70px 30px !important;
    background: var(--samanvi-white);
    border: 1px solid rgba(41, 50, 65, 0.07);
    border-radius: 20px;
    box-shadow: 0 15px 45px rgba(41, 50, 65, 0.08);
}


.samanvi-empty-icon {
    width: 75px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 22px;
    color: var(--samanvi-blue);
    background: rgba(61, 90, 128, 0.08);
    border-radius: 50%;
    font-size: 2rem;
}


.samanvi-gallery-empty h2 {
    margin-bottom: 12px;
    color: var(--samanvi-blue-dark);
    font-size: 1.5rem;
}


.samanvi-gallery-empty p {
    max-width: 500px;
    margin: auto;
    color: var(--samanvi-muted);
    line-height: 1.7;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .samanvi-gallery-section {
        padding-top: 55px !important;
        padding-bottom: 55px !important;
    }

    .samanvi-gallery-header {
        padding-top: 10px;
    }

    .samanvi-gallery-card-body {
        padding: 22px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    :root {
        --samanvi-container: 92%;
    }


    .samanvi-gallery-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }


    .samanvi-gallery-header {
        margin-bottom: 40px !important;
    }


    .samanvi-gallery-eyebrow {
        font-size: 0.68rem;
        letter-spacing: 2px;
    }


    .samanvi-gallery-title {
        font-size: clamp(2.1rem, 11vw, 3rem);
        letter-spacing: -1px;
    }


    .samanvi-gallery-subtitle {
        font-size: 0.95rem;
        line-height: 1.7;
    }


    .samanvi-gallery-image-wrapper {
        aspect-ratio: 16 / 10;
    }


    .samanvi-gallery-card-body {
        padding: 21px;
    }


    .samanvi-gallery-card-title {
        font-size: 1.2rem;
    }


    /*
       Keep overlay visible enough on touch devices
       because there is no hover.
    */

    .samanvi-gallery-overlay {
        background: linear-gradient( to top, rgba(41, 50, 65, 0.48), transparent 60% );
        opacity: 1;
        align-items: flex-end;
        justify-content: flex-start;
        padding: 18px;
    }


    .samanvi-gallery-view {
        transform: none;
        font-size: 0.78rem;
    }


    .samanvi-gallery-view-icon {
        width: 38px;
        height: 38px;
        font-size: 0.9rem;
    }


    .samanvi-gallery-corner {
        width: 38px;
        height: 38px;
        top: 13px;
        right: 13px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 575.98px) {

    :root {
        --samanvi-container: 91%;
    }


    .samanvi-gallery-container {
        width: var(--samanvi-container);
    }


    .samanvi-gallery-card {
        border-radius: 15px;
    }


    .samanvi-gallery-image-wrapper {
        aspect-ratio: 4 / 3;
    }


    .samanvi-gallery-card-body {
        padding: 19px;
    }


    .samanvi-gallery-divider {
        width: 60px;
        height: 3px;
        margin-top: 20px;
        margin-bottom: 18px;
    }
}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media (min-width: 1600px) {

    .samanvi-gallery-card-body {
        padding: 30px;
    }


    .samanvi-gallery-image-wrapper {
        aspect-ratio: 16 / 10;
    }
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.samanvi-gallery-card a:focus-visible {
    outline: 3px solid var(--samanvi-coral);
    outline-offset: 4px;
    border-radius: 5px;
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .samanvi-gallery-card,
    .samanvi-gallery-image,
    .samanvi-gallery-overlay,
    .samanvi-gallery-view,
    .samanvi-gallery-corner,
    .samanvi-gallery-link,
    .samanvi-gallery-link i {
        transition: none !important;
        animation: none !important;
    }
}




/* =========================================================
   HOTEL SAMANVI INTERNATIONAL
   PHOTO ALBUM
   ========================================================= */
:root {
    --samanvi-blue: #3d5a80;
    --samanvi-blue-dark: #293241;
    --samanvi-coral: #ee6c4d;
    --samanvi-light-blue: #98c1d9;
    --samanvi-soft: #f5f7fa;
    --samanvi-white: #ffffff;
    --samanvi-text: #394452;
    --samanvi-muted: #7b8490;
    --samanvi-container: 95%;
    --samanvi-max-width: 1600px;
}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.samanvi-album-section {
    position: relative;
    width: 100%;
    min-height: 100vh;
    padding: 80px 0 100px;
    overflow: hidden;
    background: radial-gradient( circle at 8% 12%, rgba(152, 193, 217, 0.30), transparent 28% ), radial-gradient( circle at 92% 75%, rgba(61, 90, 128, 0.16), transparent 32% ), linear-gradient( 135deg, #f9fbfd 0%, #edf4f8 45%, #f8fafc 100% );
}


    .samanvi-album-section::before {
        content: "";
        position: absolute;
        width: 550px;
        height: 550px;
        top: -300px;
        right: -180px;
        border-radius: 50%;
        background: radial-gradient( circle, rgba(238, 108, 77, 0.13), transparent 70% );
        pointer-events: none;
    }


    .samanvi-album-section::after {
        content: "";
        position: absolute;
        width: 500px;
        height: 500px;
        bottom: -280px;
        left: -180px;
        border-radius: 50%;
        background: radial-gradient( circle, rgba(61, 90, 128, 0.13), transparent 70% );
        pointer-events: none;
    }


/* =========================================================
   CONTAINER
   ========================================================= */

.samanvi-album-container {
    position: relative;
    z-index: 2;
    width: var(--samanvi-container);
    max-width: var(--samanvi-max-width);
    margin: 0 auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.samanvi-album-header {
    max-width: 850px;
    margin: 0 auto 65px;
}


.samanvi-album-eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: var(--samanvi-coral);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}


.samanvi-album-title {
    margin: 0;
    color: var(--samanvi-blue-dark);
    font-size: clamp( 2.5rem, 6vw, 4.8rem );
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -2px;
}


.samanvi-album-divider {
    width: 75px;
    height: 4px;
    margin: 25px auto 23px;
    background: linear-gradient( 90deg, var(--samanvi-coral), var(--samanvi-light-blue) );
    border-radius: 50px;
}


.samanvi-album-description {
    max-width: 760px;
    margin: 0 auto;
    color: var(--samanvi-muted);
    font-size: 1.05rem;
    line-height: 1.8;
}


/* =========================================================
   PHOTO ITEM
   ========================================================= */

.samanvi-photo-item {
    transition: opacity 0.3s ease;
}


/* =========================================================
   PHOTO CARD
   ========================================================= */

.samanvi-photo-card {
    height: 100%;
    overflow: hidden;
    background: var(--samanvi-white);
    border: 1px solid rgba(41, 50, 65, 0.07);
    border-radius: 20px;
    box-shadow: 0 10px 35px rgba(41, 50, 65, 0.08);
    transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease;
}


    .samanvi-photo-card:hover {
        transform: translateY(-10px);
        border-color: rgba(61, 90, 128, 0.15);
        box-shadow: 0 25px 60px rgba(41, 50, 65, 0.17);
    }


/* =========================================================
   PHOTO BUTTON
   ========================================================= */

.samanvi-photo-button {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
}


    .samanvi-photo-button:focus-visible {
        outline: 3px solid var(--samanvi-coral);
        outline-offset: 4px;
    }


/* =========================================================
   IMAGE
   ========================================================= */

.samanvi-photo-image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 11;
    overflow: hidden;
    background: #e7edf2;
}


.samanvi-photo-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.9s cubic-bezier( 0.2, 0.7, 0.2, 1 ), filter 0.5s ease;
}


.samanvi-photo-card:hover
.samanvi-photo-image {
    transform: scale(1.09);
    filter: brightness(0.72);
}


/* =========================================================
   OVERLAY
   ========================================================= */

.samanvi-photo-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    background: linear-gradient( 135deg, rgba(41, 50, 65, 0.20), rgba(41, 50, 65, 0.72) );
    transition: opacity 0.45s ease;
}


.samanvi-photo-card:hover
.samanvi-photo-overlay {
    opacity: 1;
}


.samanvi-photo-view {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--samanvi-white);
    font-size: 0.88rem;
    font-weight: 600;
    transform: translateY(20px);
    transition: transform 0.45s ease;
}


.samanvi-photo-card:hover
.samanvi-photo-view {
    transform: translateY(0);
}


.samanvi-photo-view-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(10px);
}


/* =========================================================
   CORNER ICON
   ========================================================= */

.samanvi-photo-corner-icon {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 43px;
    height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--samanvi-white);
    background: rgba(41, 50, 65, 0.70);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    backdrop-filter: blur(8px);
    transition: transform 0.35s ease, background 0.35s ease;
}


.samanvi-photo-card:hover
.samanvi-photo-corner-icon {
    background: var(--samanvi-coral);
    transform: rotate(8deg) scale(1.05);
}


/* =========================================================
   CAPTION
   ========================================================= */

.samanvi-photo-caption {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 20px 22px 22px;
}


.samanvi-photo-caption-line {
    flex-shrink: 0;
    width: 3px;
    min-height: 23px;
    margin-top: 2px;
    background: linear-gradient( to bottom, var(--samanvi-coral), var(--samanvi-light-blue) );
    border-radius: 10px;
}


.samanvi-photo-caption p {
    margin: 0;
    color: var(--samanvi-text);
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.6;
}


/* =========================================================
   PAGINATION
   ========================================================= */

.samanvi-pagination-wrapper {
    margin-top: 60px;
    text-align: center;
}


.samanvi-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}


.samanvi-pagination-btn {
    width: 43px;
    height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--samanvi-blue-dark);
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(61, 90, 128, 0.15);
    border-radius: 50%;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(41, 50, 65, 0.05);
    transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}


    .samanvi-pagination-btn:hover:not(:disabled) {
        color: var(--samanvi-white);
        background: var(--samanvi-blue);
        transform: translateY(-3px);
        box-shadow: 0 8px 18px rgba(61, 90, 128, 0.18);
    }


    .samanvi-pagination-btn.active {
        color: var(--samanvi-white);
        background: linear-gradient( 135deg, var(--samanvi-blue), var(--samanvi-blue-dark) );
        border-color: var(--samanvi-blue);
        box-shadow: 0 8px 20px rgba(61, 90, 128, 0.22);
    }


    .samanvi-pagination-btn:disabled {
        opacity: 0.35;
        cursor: not-allowed;
        box-shadow: none;
    }


.samanvi-page-info {
    margin: 18px 0 0;
    color: var(--samanvi-muted);
    font-size: 0.82rem;
}


/* =========================================================
   BACK BUTTON
   ========================================================= */

.samanvi-album-back-wrapper {
    margin-top: 55px;
}


.samanvi-album-back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 12px 25px;
    color: var(--samanvi-white);
    background: linear-gradient( 135deg, var(--samanvi-blue), var(--samanvi-blue-dark) );
    border: 0;
    border-radius: 50px;
    box-shadow: 0 10px 25px rgba(61, 90, 128, 0.22);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}


    .samanvi-album-back-btn:hover {
        color: var(--samanvi-white);
        background: linear-gradient( 135deg, var(--samanvi-coral), #d9573c );
        transform: translateY(-3px);
        box-shadow: 0 15px 30px rgba(238, 108, 77, 0.25);
    }


/* =========================================================
   POPUP MODAL
   ========================================================= */

.samanvi-photo-modal .modal-dialog {
    width: 95%;
    max-width: 1200px;
    margin: 1.75rem auto;
}


.samanvi-photo-modal .modal-content {
    position: relative;
    overflow: hidden;
    background: #10151c;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.45);
}


/* =========================================================
   MODAL IMAGE
   ========================================================= */

.samanvi-modal-image-wrapper {
    position: relative;
    width: 100%;
    height: min( 78vh, 800px );
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 35px 80px;
    background: radial-gradient( circle at center, #293241 0%, #10151c 70% );
}


.samanvi-modal-image {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 5px;
    user-select: none;
    animation: samanviModalImageIn 0.45s ease;
}


@keyframes samanviModalImageIn {

    from {
        opacity: 0;
        transform: scale(0.96);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}


/* =========================================================
   MODAL CLOSE
   ========================================================= */

.samanvi-modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 20;
    width: 43px;
    height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--samanvi-white);
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    backdrop-filter: blur(10px);
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}


    .samanvi-modal-close:hover {
        color: var(--samanvi-white);
        background: var(--samanvi-coral);
        transform: rotate(90deg);
    }


/* =========================================================
   CAROUSEL CONTROLS
   ========================================================= */

.samanvi-carousel-control {
    width: 90px;
    opacity: 1;
}


.samanvi-carousel-arrow {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--samanvi-white);
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    backdrop-filter: blur(10px);
    font-size: 1.2rem;
    transition: background 0.3s ease, transform 0.3s ease;
}


.samanvi-carousel-control:hover
.samanvi-carousel-arrow {
    background: var(--samanvi-coral);
    transform: scale(1.08);
}


/* =========================================================
   MODAL CAPTION
   ========================================================= */

.samanvi-modal-caption {
    position: absolute;
    left: 50%;
    bottom: 20px;
    z-index: 10;
    transform: translateX(-50%);
    max-width: 80%;
    padding: 9px 18px;
    color: var(--samanvi-white);
    background: rgba(0, 0, 0, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50px;
    backdrop-filter: blur(8px);
    text-align: center;
    font-size: 0.85rem;
}


/* =========================================================
   COUNTER
   ========================================================= */

.samanvi-carousel-counter {
    position: absolute;
    left: 50%;
    bottom: 20px;
    z-index: 12;
    transform: translateX(-50%);
    padding: 8px 15px;
    color: var(--samanvi-white);
    background: rgba(41, 50, 65, 0.75);
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 600;
    pointer-events: none;
}


.samanvi-counter-divider {
    margin: 0 5px;
    opacity: 0.5;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.samanvi-album-empty {
    max-width: 700px;
    margin: 0 auto;
    padding: 70px 30px;
    background: var(--samanvi-white);
    border: 1px solid rgba(41, 50, 65, 0.07);
    border-radius: 22px;
    box-shadow: 0 15px 45px rgba(41, 50, 65, 0.09);
}


.samanvi-album-empty-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 22px;
    color: var(--samanvi-blue);
    background: rgba(61, 90, 128, 0.08);
    border-radius: 50%;
    font-size: 2rem;
}


.samanvi-album-empty h2 {
    color: var(--samanvi-blue-dark);
    font-size: 1.6rem;
}


.samanvi-album-empty p {
    max-width: 500px;
    margin: 0 auto 25px;
    color: var(--samanvi-muted);
    line-height: 1.7;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .samanvi-album-section {
        padding-top: 65px;
        padding-bottom: 80px;
    }


    .samanvi-album-header {
        margin-bottom: 50px;
    }


    .samanvi-modal-image-wrapper {
        height: 70vh;
        padding: 30px 65px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    :root {
        --samanvi-container: 92%;
    }


    .samanvi-album-section {
        padding-top: 50px;
        padding-bottom: 65px;
    }


    .samanvi-album-header {
        margin-bottom: 40px;
    }


    .samanvi-album-title {
        font-size: clamp( 2.2rem, 11vw, 3.2rem );
    }


    .samanvi-album-description {
        font-size: 0.94rem;
    }


    .samanvi-photo-image-wrapper {
        aspect-ratio: 4 / 3;
    }


    /*
       Touch devices
    */

    .samanvi-photo-overlay {
        opacity: 1;
        align-items: flex-end;
        justify-content: flex-start;
        padding: 16px;
        background: linear-gradient( to top, rgba(41, 50, 65, 0.58), transparent 65% );
    }


    .samanvi-photo-view {
        transform: none;
        font-size: 0.76rem;
    }


    .samanvi-photo-view-icon {
        width: 38px;
        height: 38px;
    }


    /* Modal */

    .samanvi-photo-modal .modal-dialog {
        width: 100%;
        margin: 0;
        min-height: 100vh;
    }


    .samanvi-photo-modal .modal-content {
        min-height: 100vh;
        border-radius: 0;
    }


    .samanvi-modal-image-wrapper {
        height: 100vh;
        min-height: 100vh;
        padding: 70px 45px 90px;
    }


    .samanvi-carousel-control {
        width: 60px;
    }


    .samanvi-carousel-arrow {
        width: 43px;
        height: 43px;
        font-size: 1rem;
    }


    .samanvi-modal-caption {
        bottom: 72px;
        max-width: 70%;
        font-size: 0.75rem;
    }


    .samanvi-carousel-counter {
        bottom: 22px;
    }


    .samanvi-modal-close {
        top: 15px;
        right: 15px;
    }


    /* Pagination */

    .samanvi-pagination {
        gap: 6px;
    }


    .samanvi-pagination-btn {
        width: 39px;
        height: 39px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 575.98px) {

    :root {
        --samanvi-container: 91%;
    }


    .samanvi-photo-card {
        border-radius: 16px;
    }


    .samanvi-photo-caption {
        padding: 17px 18px 19px;
    }


        .samanvi-photo-caption p {
            font-size: 0.87rem;
        }


    .samanvi-album-back-btn {
        width: 100%;
        max-width: 300px;
    }


    .samanvi-modal-image-wrapper {
        padding: 65px 35px 90px;
    }


    .samanvi-carousel-control {
        width: 50px;
    }


    .samanvi-carousel-arrow {
        width: 38px;
        height: 38px;
    }
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .samanvi-photo-card,
    .samanvi-photo-image,
    .samanvi-photo-overlay,
    .samanvi-photo-view,
    .samanvi-photo-corner-icon,
    .samanvi-pagination-btn,
    .samanvi-album-back-btn,
    .samanvi-modal-image {
        animation: none !important;
        transition: none !important;
    }
}







/* =========================================================
   HOTEL SAMANVI INTERNATIONAL
   FACILITIES PAGE
   Premium 2026 Design
========================================================= */

:root {
    --samanvi-blue: #3d5a80;
    --samanvi-blue-dark: #293241;
    --samanvi-coral: #ee6c4d;
    --samanvi-light-blue: #98c1d9;
    --samanvi-soft: #f5f7fa;
    --samanvi-white: #ffffff;
    --samanvi-text: #394452;
    --samanvi-muted: #7b8490;
    --samanvi-container: 94%;
    --samanvi-max-width: 1500px;
}


/* =========================================================
   GLOBAL
========================================================= */

.samanvi-facilities-page {
    width: 100%;
    overflow: hidden;
    background: var(--samanvi-white);
    color: var(--samanvi-text);
}


.samanvi-container {
    width: var(--samanvi-container);
    max-width: var(--samanvi-max-width);
    margin-left: auto;
    margin-right: auto;
}


.samanvi-facilities-page img {
    max-width: 100%;
    display: block;
}


.samanvi-facilities-page h1,
.samanvi-facilities-page h2,
.samanvi-facilities-page h3 {
    font-family: inherit;
}


.samanvi-facilities-page p {
    line-height: 1.8;
}


/* =========================================================
   HERO
========================================================= */

.samanvi-facility-hero {
    position: relative;
    min-height: 45vh;
    display: flex;
    align-items: center;
    background: linear-gradient( 90deg, rgba(41, 50, 65, 0.96) 0%, rgba(41, 50, 65, 0.82) 45%, rgba(41, 50, 65, 0.35) 100% ), url('/images/facilities-hero.jpg');
    background-size: cover;
    background-position: center;
}


.samanvi-hero-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient( circle at 80% 50%, rgba(152, 193, 217, 0.18), transparent 35% );
}


.samanvi-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 20px;
    padding-bottom: 20px;
}


.min-vh-75 {
    min-height: 76vh;
}


.samanvi-eyebrow {
    display: inline-block;
    color: var(--samanvi-light-blue);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 18px;
}


.samanvi-hero-title {
    color: var(--samanvi-white);
    font-size: clamp( 2.7rem, 6vw, 5.8rem );
    font-weight: 700;
    line-height: 1.02;
    max-width: 900px;
    margin-bottom: 28px;
}


    .samanvi-hero-title span {
        display: block;
        color: var(--samanvi-light-blue);
    }


.samanvi-hero-text {
    max-width: 720px;
    color: rgba(255,255,255,0.85);
    font-size: 1.08rem;
    line-height: 1.9;
    margin-bottom: 35px;
}


.samanvi-hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}


.samanvi-btn-primary,
.samanvi-btn-outline,
.samanvi-btn-light {
    padding: 13px 25px;
    border-radius: 50px;
    font-weight: 600;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}


.samanvi-btn-primary {
    background: var(--samanvi-coral);
    color: var(--samanvi-white);
    border: 1px solid var(--samanvi-coral);
}


    .samanvi-btn-primary:hover {
        background: #d9573a;
        color: var(--samanvi-white);
        transform: translateY(-3px);
        box-shadow: 0 12px 30px rgba(238,108,77,0.30);
    }


.samanvi-btn-outline {
    border: 1px solid rgba(255,255,255,0.7);
    color: var(--samanvi-white);
    background: transparent;
}


    .samanvi-btn-outline:hover {
        background: var(--samanvi-white);
        color: var(--samanvi-blue-dark);
        transform: translateY(-3px);
    }


/* =========================================================
   INTRO
========================================================= */

.samanvi-intro-section {
    padding: 110px 0;
    background: var(--samanvi-white);
}


.samanvi-intro-label span {
    display: inline-block;
    font-size: 0.75rem;
    letter-spacing: 2.5px;
    font-weight: 700;
    color: var(--samanvi-coral);
    padding-left: 45px;
    position: relative;
}


    .samanvi-intro-label span::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 32px;
        height: 2px;
        background: var(--samanvi-coral);
    }


.samanvi-section-title {
    color: var(--samanvi-blue-dark);
    font-size: clamp( 2rem, 4vw, 3.4rem );
    font-weight: 500;
    line-height: 1.15;
    margin-top: 18px;
}


    .samanvi-section-title strong {
        display: block;
        color: #ee7153;
        font-weight: 700;
    }


.samanvi-intro-text {
    color: var(--samanvi-muted);
    font-size: 1rem;
    margin-bottom: 18px;
}


/* =========================================================
   FACILITIES SECTION
========================================================= */

.samanvi-facilities-section {
    padding: 30px 0 30px;
   background: radial-gradient(circle at 10% 10%, rgb(216 227 234 / 25%), transparent 35%), radial-gradient(circle at 90% 80%, rgb(225 164 164), transparent 35%), linear-gradient( 189deg, #e9f0f5 0%, #f5b9ab 45%, #e3e3e3 100%);
   
}


.samanvi-heading {
    max-width: 850px;
    margin: 0 auto 45px;
}


.samanvi-eyebrow-dark {
    display: inline-block;
    color: var(--samanvi-coral);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 10px;
}


.samanvi-heading-description {
    max-width: 680px;
    margin: 20px auto 0;
    color: var(--samanvi-muted);
    line-height: 1.8;
}


/* =========================================================
   FACILITY CARD
========================================================= */

.samanvi-facility-card {
    position: relative;
    height: 100%;
    min-height: 360px;
    padding: 35px 30px;
    background: var(--samanvi-white);
    border: 1px solid rgba(61,90,128,0.08);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(41,50,65,0.06);
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}


    .samanvi-facility-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background: linear-gradient( 90deg, var(--samanvi-blue), var(--samanvi-light-blue) );
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.4s ease;
    }


    .samanvi-facility-card:hover {
        transform: translateY(-10px);
        border-color: rgba(61,90,128,0.18);
        box-shadow: 0 25px 60px rgba(41,50,65,0.13);
    }


        .samanvi-facility-card:hover::before {
            transform: scaleX(1);
        }


.samanvi-card-number {
    position: absolute;
    top: 22px;
    right: 25px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--samanvi-light-blue);
}


.samanvi-icon-box {
    width: 92px;
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient( 145deg, #eef5f9, #f8fafc );
    margin-bottom: 25px;
    transition: transform 0.4s ease, background 0.4s ease;
}


.samanvi-facility-card:hover
.samanvi-icon-box {
    transform: scale(1.08);
    background: linear-gradient( 145deg, var(--samanvi-light-blue), #dcebf3 );
}


.samanvi-icon-box img {
    width: 58px;
    height: 58px;
    object-fit: contain;
}


.samanvi-icon-placeholder i {
    font-size: 2.5rem;
    color: var(--samanvi-blue);
    transition: color 0.3s ease;
}


.samanvi-facility-card:hover
.samanvi-icon-placeholder i {
    color: var(--samanvi-blue-dark);
}


.samanvi-facility-card h3 {
    color: var(--samanvi-blue-dark);
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 12px;
}


.samanvi-facility-card p {
    color: var(--samanvi-muted);
    font-size: 0.92rem;
    margin-bottom: 25px;
}


.samanvi-card-line {
    width: 35px;
    height: 2px;
    background: var(--samanvi-coral);
    transition: width 0.4s ease;
}


.samanvi-facility-card:hover
.samanvi-card-line {
    width: 70px;
}


/* =========================================================
   EXPERIENCE CTA
========================================================= */

.samanvi-experience-section {
    padding: 30px 0;
    background: var(--samanvi-white);
}


.samanvi-experience-box {
    position: relative;
    overflow: hidden;
    padding: 65px 70px;
    border-radius: 25px;
    background: linear-gradient( 120deg, var(--samanvi-blue-dark), var(--samanvi-blue) );
    box-shadow: 0 25px 60px rgba(41,50,65,0.16);
}


    .samanvi-experience-box::after {
        content: "";
        position: absolute;
        width: 350px;
        height: 350px;
        right: -120px;
        top: -160px;
        border-radius: 50%;
        border: 70px solid rgba(152,193,217,0.10);
    }


    .samanvi-experience-box h2 {
        position: relative;
        z-index: 2;
        color: var(--samanvi-white);
        font-size: clamp( 2rem, 4vw, 3.3rem );
        line-height: 1.15;
        margin-bottom: 18px;
    }


        .samanvi-experience-box h2 span {
            display: inline-block;
            color: var(--samanvi-light-blue);
        }


    .samanvi-experience-box p {
        position: relative;
        z-index: 2;
        max-width: 650px;
        color: rgba(255,255,255,0.78);
        margin-bottom: 0;
    }


.samanvi-btn-light {
    position: relative;
    z-index: 3;
    background: var(--samanvi-white);
    color: var(--samanvi-blue-dark);
    border: 1px solid var(--samanvi-white);
}


    .samanvi-btn-light:hover {
        background: var(--samanvi-light-blue);
        color: var(--samanvi-blue-dark);
        transform: translateY(-3px);
    }


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {

    .samanvi-container {
        width: 94%;
    }

    .samanvi-facility-card {
        min-height: 350px;
    }
}


@media (max-width: 991px) {

    .samanvi-facility-hero {
        min-height: 70vh;
        background-position: center;
    }

    .min-vh-75 {
        min-height: 70vh;
    }

    .samanvi-hero-content {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .samanvi-intro-section,
    .samanvi-facilities-section,
    .samanvi-experience-section {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .samanvi-experience-box {
        padding: 50px 40px;
    }
}


@media (max-width: 767px) {

    .samanvi-container {
        width: 94%;
    }

    .samanvi-facility-hero {
        min-height: 82vh;
        background-position: 65% center;
    }

    .min-vh-75 {
        min-height: 82vh;
    }

    .samanvi-hero-content {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .samanvi-hero-title {
        font-size: 2.7rem;
    }

    .samanvi-hero-text {
        font-size: 0.98rem;
    }

    .samanvi-intro-section {
        padding: 70px 0;
    }

    .samanvi-facilities-section {
        padding: 70px 0;
    }

    .samanvi-facility-card {
        min-height: auto;
        padding: 30px 25px;
    }

    .samanvi-experience-section {
        padding: 70px 0;
    }

    .samanvi-experience-box {
        padding: 40px 25px;
        border-radius: 18px;
    }
}


@media (max-width: 575px) {

    .samanvi-container {
        width: 94%;
    }

    .samanvi-hero-title {
        font-size: 2.35rem;
    }

    .samanvi-hero-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .samanvi-btn-primary,
    .samanvi-btn-outline {
        text-align: center;
        width: 100%;
    }

    .samanvi-section-title {
        font-size: 2rem;
    }

    .samanvi-experience-box {
        text-align: center;
    }
}


.samanvi-icon-box {
    width: 92px;
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient( 145deg, #eef5f9, #f8fafc );
    margin-bottom: 25px;
    transition: transform 0.4s ease, background 0.4s ease, box-shadow 0.4s ease;
}


    .samanvi-icon-box i {
        font-size: 2.6rem;
        color: var(--samanvi-blue);
        line-height: 1;
        transition: transform 0.4s ease, color 0.4s ease;
    }


.samanvi-facility-card:hover .samanvi-icon-box {
    transform: scale(1.08);
    background: linear-gradient( 145deg, var(--samanvi-light-blue), #dcebf3 );
    box-shadow: 0 12px 30px rgba(61, 90, 128, 0.15);
}


    .samanvi-facility-card:hover .samanvi-icon-box i {
        transform: scale(1.12);
        color: var(--samanvi-blue-dark);
    }

.samanvi-facilities-section {
    background: radial-gradient(circle at 10% 10%, rgb(216 227 234 / 25%), transparent 35%), radial-gradient(circle at 90% 80%, rgb(225 164 164), transparent 35%), linear-gradient( 189deg, #e9f0f5 0%, #f5b9ab 45%, #e3e3e3 100%);
}

.samanvi-facility-card {
    position: relative;
    height: 100%;
    min-height: 360px;
    padding: 35px 30px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(61, 90, 128, 0.12);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(41, 50, 65, 0.10);
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

.samanvi-facilities-section {
    position: relative;
    overflow: hidden;
}

    .samanvi-facilities-section::before {
        content: "";
        position: absolute;
        width: 500px;
        height: 500px;
        top: -250px;
        right: -150px;
        border-radius: 50%;
        background: rgba(152, 193, 217, 0.12);
        pointer-events: none;
    }

    .samanvi-facilities-section::after {
        content: "";
        position: absolute;
        width: 400px;
        height: 400px;
        bottom: -220px;
        left: -150px;
        border-radius: 50%;
        background: rgba(61, 90, 128, 0.08);
        pointer-events: none;
    }

    .samanvi-facilities-section .samanvi-container {
        position: relative;
        z-index: 2;
    }




/* ============================================================
   HOTEL SAMANVI INTERNATIONAL
   PREMIUM VIDEO GALLERY
   ============================================================ */

:root {
    --svi-video-orange: #ee6c4d;
    --svi-video-dark: #293241;
    --svi-video-blue: #98c1d9;
    --svi-video-deep: #202735;
    --svi-video-surface: #dceaf0;
}


/* ============================================================
   SECTION
   ============================================================ */

.svi-video-gallery-section {
    width: 100%;
    padding: clamp(35px, 5vw, 75px) 0;
    background: linear-gradient( 135deg, #eef5f8 0%, #dceaf0 50%, #cddfe7 100% );
    overflow: hidden;
}


/* 95% SCREEN WIDTH */

.svi-video-gallery-container {
    width: 95%;
    max-width: 1900px;
    margin: 0 auto;
    padding: 0;
}


/* ============================================================
   GRID
   ============================================================ */

.svi-video-grid {
    width: 100%;
    margin: 0;
}


/* ============================================================
   CARD
   ============================================================ */

.svi-video-card {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 22px;
    background: linear-gradient( 145deg, #f1f8fa, #d7e8ef );
    border: 1px solid rgba(41, 50, 65, 0.09);
    box-shadow: 0 15px 40px rgba(41, 50, 65, 0.15);
    transition: transform 0.45s ease, box-shadow 0.45s ease;
}


    .svi-video-card:hover {
        transform: translateY(-9px);
        box-shadow: 0 28px 65px rgba(41, 50, 65, 0.25);
    }


/* ============================================================
   BUTTON
   ============================================================ */

.svi-video-trigger {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}


/* ============================================================
   THUMBNAIL
   ============================================================ */

.svi-video-thumbnail {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--svi-video-dark);
}


    .svi-video-thumbnail img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        transition: transform 0.8s cubic-bezier( 0.22, 1, 0.36, 1 ), filter 0.5s ease;
    }


.svi-video-card:hover
.svi-video-thumbnail img {
    transform: scale(1.08);
    filter: saturate(1.1);
}


/* ============================================================
   OVERLAY
   ============================================================ */

.svi-video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient( to top, rgba(41, 50, 65, 0.82), rgba(41, 50, 65, 0.12) );
}


/* ============================================================
   PLAY BUTTON
   ============================================================ */

.svi-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.88);
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #f8fbfc;
    background: var(--svi-video-orange);
    font-size: 34px;
    box-shadow: 0 15px 40px rgba(238, 108, 77, 0.4);
    transition: transform 0.4s ease, background 0.3s ease, box-shadow 0.3s ease;
}


.svi-video-card:hover
.svi-video-play {
    transform: translate(-50%, -50%) scale(1);
    background: #f58b70;
    box-shadow: 0 20px 50px rgba(238, 108, 77, 0.55);
}


/* ============================================================
   CORNER ICON
   ============================================================ */

.svi-video-corner-icon {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #f8fbfc;
    background: rgba(41, 50, 65, 0.82);
    border: 1px solid rgba(152, 193, 217, 0.35);
    backdrop-filter: blur(10px);
    transition: transform 0.4s ease, background 0.3s ease;
}


.svi-video-card:hover
.svi-video-corner-icon {
    transform: rotate(8deg);
    background: var(--svi-video-orange);
}


/* ============================================================
   CAPTION
   ============================================================ */

.svi-video-caption {
    display: flex;
    gap: 13px;
    padding: 18px 20px;
    min-height: 85px;
}


.svi-video-caption-line {
    flex: 0 0 auto;
    width: 4px;
    min-height: 34px;
    border-radius: 20px;
    background: linear-gradient( to bottom, var(--svi-video-orange), var(--svi-video-blue) );
}


.svi-video-caption h3 {
    margin: 0 0 5px;
    color: var(--svi-video-dark);
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.35;
    font-weight: 800;
}


.svi-video-caption p {
    margin: 0;
    color: #4c5b6d;
    font-size: 13px;
    line-height: 1.5;
}


/* ============================================================
   PAGINATION
   ============================================================ */

.svi-video-pagination-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    width: 100%;
    margin-top: 45px;
    padding: 25px 20px;
    border-radius: 20px;
    background: rgba(41, 50, 65, 0.07);
    border: 1px solid rgba(41, 50, 65, 0.08);
}


.svi-video-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}


.svi-video-page-button {
    width: 43px;
    height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(41, 50, 65, 0.15);
    border-radius: 12px;
    color: var(--svi-video-dark);
    background: rgba(255, 255, 255, 0.45);
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
}


    .svi-video-page-button:hover:not(:disabled) {
        color: #f8fbfc;
        background: var(--svi-video-orange);
        border-color: var(--svi-video-orange);
        transform: translateY(-3px);
    }


    .svi-video-page-button:disabled {
        opacity: 0.4;
        cursor: not-allowed;
    }


.svi-video-page-active {
    color: #f8fbfc !important;
    background: var(--svi-video-dark) !important;
    border-color: var(--svi-video-dark) !important;
}


.svi-video-page-info {
    margin: 0;
    color: #4c5b6d;
    font-size: 13px;
    font-weight: 600;
}


/* ============================================================
   MODAL
   ============================================================ */

.svi-video-modal .modal-dialog {
    width: 95vw;
    max-width: 1450px;
}


.svi-video-modal-content {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(152, 193, 217, 0.2);
    border-radius: 24px;
    background: var(--svi-video-deep);
    box-shadow: 0 35px 100px rgba(0, 0, 0, 0.45);
}


.svi-video-modal-body {
    padding: 0;
}


/* ============================================================
   VIDEO PLAYER
   ============================================================ */

.svi-video-player-wrapper {
    width: 100%;
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 65px 70px 75px;
    background: linear-gradient( 135deg, #202735, #293241, #34445a );
}


.svi-video-player {
    width: 100%;
    max-width: 1250px;
    max-height: 75vh;
    display: block;
    border-radius: 12px;
    background: #000;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.45);
}


/* ============================================================
   CLOSE BUTTON
   ============================================================ */

.svi-video-close {
    position: absolute;
    z-index: 30;
    top: 16px;
    right: 16px;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    color: #f8fbfc;
    background: rgba(41, 50, 65, 0.85);
    backdrop-filter: blur(10px);
    cursor: pointer;
    transition: all 0.3s ease;
}


    .svi-video-close:hover {
        background: var(--svi-video-orange);
        border-color: var(--svi-video-orange);
        transform: rotate(90deg);
    }


/* ============================================================
   CAROUSEL ARROWS
   ============================================================ */

.svi-video-carousel-control {
    width: 12%;
    opacity: 1;
}


.svi-video-arrow {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #f8fbfc;
    background: rgba(41, 50, 65, 0.85);
    border: 1px solid rgba(152, 193, 217, 0.35);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}


.svi-video-carousel-control:hover
.svi-video-arrow {
    background: var(--svi-video-orange);
    border-color: var(--svi-video-orange);
    transform: scale(1.08);
}


/* ============================================================
   MODAL TITLE
   ============================================================ */

.svi-video-modal-title {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    z-index: 15;
    max-width: 75%;
    padding: 10px 20px;
    border-radius: 100px;
    color: #f8fbfc;
    background: rgba(41, 50, 65, 0.88);
    border: 1px solid rgba(152, 193, 217, 0.25);
    backdrop-filter: blur(10px);
    font-size: 14px;
    font-weight: 600;
    text-align: center;
}


/* ============================================================
   COUNTER
   ============================================================ */

.svi-video-counter {
    position: absolute;
    z-index: 20;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 9px;
    padding: 8px 16px;
    border-radius: 100px;
    color: #f8fbfc;
    background: rgba(41, 50, 65, 0.82);
    border: 1px solid rgba(152, 193, 217, 0.25);
    backdrop-filter: blur(10px);
    font-size: 13px;
    font-weight: 700;
}


/* ============================================================
   SCROLL ANIMATIONS
   ============================================================ */

.svi-video-reveal {
    opacity: 0;
    transition: opacity 0.9s ease, transform 0.9s cubic-bezier( 0.22, 1, 0.36, 1 );
}


.svi-video-left {
    transform: translateX(-80px);
}


.svi-video-right {
    transform: translateX(80px);
}


.svi-video-reveal.svi-video-visible {
    opacity: 1;
    transform: translateX(0);
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.svi-video-empty {
    width: 100%;
    padding: 70px 25px;
    text-align: center;
    border-radius: 25px;
    background: linear-gradient( 145deg, #dceaf0, #c8dfe8 );
    box-shadow: 0 20px 50px rgba(41, 50, 65, 0.15);
}


.svi-video-empty-icon {
    width: 85px;
    height: 85px;
    margin: 0 auto 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #f8fbfc;
    background: var(--svi-video-orange);
    font-size: 34px;
}


.svi-video-empty h2 {
    color: var(--svi-video-dark);
    font-weight: 800;
}


.svi-video-empty p {
    color: #4c5b6d;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    .svi-video-gallery-section {
        padding: 30px 0 50px;
    }

    .svi-video-gallery-container {
        width: 95%;
    }

    .svi-video-card {
        border-radius: 17px;
    }

    .svi-video-play {
        width: 62px;
        height: 62px;
        font-size: 29px;
    }

    .svi-video-caption {
        padding: 15px 16px;
    }

    .svi-video-pagination-area {
        margin-top: 30px;
        padding: 20px 10px;
    }

    .svi-video-page-button {
        width: 38px;
        height: 38px;
    }

    .svi-video-player-wrapper {
        min-height: 65vh;
        padding: 60px 12px 70px;
    }

    .svi-video-player {
        max-height: 60vh;
        border-radius: 7px;
    }

    .svi-video-carousel-control {
        width: 18%;
    }

    .svi-video-arrow {
        width: 42px;
        height: 42px;
    }

    .svi-video-close {
        width: 40px;
        height: 40px;
        top: 12px;
        right: 12px;
    }

    .svi-video-counter {
        top: 15px;
        padding: 7px 12px;
        font-size: 11px;
    }

    .svi-video-modal-title {
        max-width: 70%;
        bottom: 15px;
        padding: 8px 14px;
        font-size: 11px;
    }
}


/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .svi-video-reveal,
    .svi-video-card,
    .svi-video-thumbnail img,
    .svi-video-play,
    .svi-video-page-button,
    .svi-video-close,
    .svi-video-arrow {
        transition: none !important;
    }

    .svi-video-reveal {
        opacity: 1;
        transform: none;
    }
}



/* =========================================================
    HOTEL SAMANVI - VIDEO GALLERY
 ========================================================= */

.hs-video-showcase {
    width: 100%;
    padding: 90px 0 100px;
    background: linear-gradient( 135deg, #ffffff 0%, #f7fafc 50%, #e0fbfc 100% );
    position: relative;
    overflow: hidden;
}


    /* Decorative background */

    .hs-video-showcase::before {
        content: "";
        position: absolute;
        width: 420px;
        height: 420px;
        border-radius: 50%;
        background: rgba(152, 193, 217, 0.16);
        top: -220px;
        left: -180px;
        pointer-events: none;
    }

    .hs-video-showcase::after {
        content: "";
        position: absolute;
        width: 350px;
        height: 350px;
        border-radius: 50%;
        background: rgba(238, 108, 77, 0.08);
        right: -180px;
        bottom: -180px;
        pointer-events: none;
    }


/* =========================================================
   95% WIDTH
 ========================================================= */

.hs-video-container {
    width: 95%;
    max-width: 1700px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}


/* =========================================================
   HEADER
 ========================================================= */

.hs-video-header {
    max-width: 850px;
    margin: 0 auto 65px;
}


.hs-video-eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: #ee6c4d;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 4px;
    text-transform: uppercase;
}


.hs-video-header h1 {
    margin: 0;
    color: #293241;
    font-size: clamp(2.3rem, 5vw, 4.2rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -1px;
}


    .hs-video-header h1 span {
        display: block;
        margin-top: 8px;
        color: #3d5a80;
        font-weight: 500;
    }


.hs-video-accent {
    width: 65px;
    height: 4px;
    margin: 24px auto;
    border-radius: 20px;
    background: #ee6c4d;
}


.hs-video-header p {
    max-width: 750px;
    margin: 0 auto;
    color: #5f6670;
    font-size: 1rem;
    line-height: 1.8;
}


/* =========================================================
   VIDEO GRID
 ========================================================= */

.hs-video-row {
    margin-left: -15px;
    margin-right: -15px;
    row-gap: 35px;
}


.hs-video-column {
    padding-left: 15px;
    padding-right: 15px;
}


/* =========================================================
   VIDEO CARD
 ========================================================= */

.hs-video-card {
    height: 100%;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(41, 50, 65, 0.08);
    border-radius: 22px;
    box-shadow: 0 12px 35px rgba(41, 50, 65, 0.08);
    transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease;
}


    .hs-video-card:hover {
        transform: translateY(-9px);
        border-color: rgba(238, 108, 77, 0.35);
        box-shadow: 0 25px 55px rgba(41, 50, 65, 0.15);
    }


/* =========================================================
   VIDEO
 ========================================================= */

.hs-video-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #000000;
}


    .hs-video-media iframe {
        width: 100%;
        height: 100%;
        display: block;
        border: 0;
    }


/* =========================================================
   VIDEO BADGE
 ========================================================= */

.hs-video-badge {
    position: absolute;
    left: 18px;
    bottom: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    color: #ffffff;
    background: rgba(41, 50, 65, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 30px;
    font-size: 0.78rem;
    font-weight: 600;
    backdrop-filter: blur(8px);
    pointer-events: none;
    transition: 0.35s ease;
}


    .hs-video-badge i {
        color: #ee6c4d;
    }


.hs-video-card:hover .hs-video-badge {
    background: #ee6c4d;
    transform: translateY(-3px);
}


    .hs-video-card:hover .hs-video-badge i {
        color: #ffffff;
    }


/* =========================================================
   VIDEO CONTENT
 ========================================================= */

.hs-video-content {
    padding: 28px 30px 30px;
}


.hs-video-number {
    display: block;
    margin-bottom: 9px;
    color: #ee6c4d;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 2px;
}


.hs-video-content h2 {
    margin: 0;
    color: #293241;
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 700;
    line-height: 1.4;
}


.hs-video-small-line {
    width: 45px;
    height: 3px;
    margin: 15px 0;
    border-radius: 10px;
    background: #98c1d9;
    transition: width 0.4s ease, background 0.4s ease;
}


.hs-video-card:hover .hs-video-small-line {
    width: 80px;
    background: #ee6c4d;
}


.hs-video-content p {
    margin: 0;
    color: #6b7280;
    font-size: 0.92rem;
    line-height: 1.75;
}


/* =========================================================
   EMPTY STATE
 ========================================================= */

.hs-video-empty {
    max-width: 650px;
    margin: 40px auto;
    padding: 60px 30px;
    text-align: center;
    background: #ffffff;
    border-radius: 22px;
    box-shadow: 0 15px 40px rgba(41, 50, 65, 0.08);
}


.hs-video-empty-icon {
    width: 75px;
    height: 75px;
    margin: 0 auto 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e0fbfc;
    color: #3d5a80;
    font-size: 1.8rem;
}


.hs-video-empty h2 {
    margin-bottom: 10px;
    color: #293241;
}


.hs-video-empty p {
    margin: 0;
    color: #6b7280;
}


/* =========================================================
   BOTTOM INFORMATION
 ========================================================= */

.hs-video-bottom {
    max-width: 1000px;
    margin: 70px auto 0;
    padding: 32px 38px;
    display: flex;
    align-items: center;
    gap: 24px;
    border-radius: 20px;
    background: linear-gradient( 135deg, #293241, #3d5a80 );
    box-shadow: 0 20px 45px rgba(41, 50, 65, 0.15);
}


.hs-video-bottom-icon {
    flex: 0 0 auto;
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: 1.4rem;
}


.hs-video-bottom h2 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 1.35rem;
    font-weight: 700;
}


.hs-video-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.92rem;
    line-height: 1.7;
}


/* =========================================================
   TABLET
 ========================================================= */

@media (max-width: 991.98px) {

    .hs-video-showcase {
        padding: 75px 0 85px;
    }

    .hs-video-header {
        margin-bottom: 50px;
    }

    .hs-video-content {
        padding: 24px 25px 27px;
    }

    .hs-video-bottom {
        margin-top: 55px;
    }
}


/* =========================================================
   MOBILE
 ========================================================= */

@media (max-width: 767.98px) {

    .hs-video-showcase {
        padding: 60px 0 70px;
    }

    .hs-video-container {
        width: 95%;
    }

    .hs-video-header {
        margin-bottom: 40px;
    }

    .hs-video-eyebrow {
        font-size: 0.65rem;
        letter-spacing: 2.5px;
    }

    .hs-video-header h1 {
        font-size: 2.25rem;
    }

    .hs-video-header p {
        font-size: 0.92rem;
        line-height: 1.7;
    }

    .hs-video-row {
        row-gap: 25px;
    }

    .hs-video-content {
        padding: 22px;
    }

    .hs-video-bottom {
        margin-top: 45px;
        padding: 25px 22px;
        align-items: flex-start;
    }

    .hs-video-bottom-icon {
        width: 52px;
        height: 52px;
        font-size: 1.15rem;
    }

    .hs-video-bottom h2 {
        font-size: 1.15rem;
    }

    .hs-video-bottom p {
        font-size: 0.86rem;
    }
}


/* =========================================================
   SMALL MOBILE
 ========================================================= */

@media (max-width: 400px) {

    .hs-video-header h1 {
        font-size: 2rem;
    }

    .hs-video-content {
        padding: 20px;
    }

    .hs-video-bottom {
        display: block;
    }

    .hs-video-bottom-icon {
        margin-bottom: 15px;
    }
}


/* =========================================================
   REDUCED MOTION
 ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .hs-video-card,
    .hs-video-badge,
    .hs-video-small-line {
        transition: none;
    }

    .animate__animated {
        animation: none !important;
    }
}


/* =========================================================
   HOTEL SAMANVI
   PREMIUM TARIFF HERO
========================================================= */

.hs-tariff-hero {
    position: relative;
    width: 100%;
    min-height: 72vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #293241;
}


/* =========================================================
   PARALLAX BACKGROUND

   The image stays visually fixed while the content moves
   naturally with the page.
========================================================= */

.hs-tariff-hero-bg {
    position: absolute;
    inset: -12% 0;
    width: 100%;
    height: 124%;
    background-image: url("/rooms/room3.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: translateZ(0);
    will-change: transform;
    z-index: 0;
}


/* =========================================================
   PREMIUM OVERLAY
========================================================= */

.hs-tariff-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient( 90deg, rgba(41, 50, 65, 0.88) 0%, rgba(41, 50, 65, 0.68) 45%, rgba(41, 50, 65, 0.48) 100% );
}


    /* Additional subtle bottom fade */

    .hs-tariff-hero-overlay::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 140px;
        background: linear-gradient( to bottom, transparent, rgba(41, 50, 65, 0.35) );
    }


/* =========================================================
   95% WIDTH CONTAINER
========================================================= */

.hs-tariff-container {
    position: relative;
    z-index: 2;
    width: 95%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 30px 0;
}


/* =========================================================
   HERO CONTENT
========================================================= */

.hs-tariff-content {
    max-width: 950px;
    margin: 0 auto;
    padding: 0 20px;
}


/* =========================================================
   EYEBROW
========================================================= */

.hs-tariff-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    color: #98c1d9;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 4px;
    text-transform: uppercase;
}


/* =========================================================
   HEADING
========================================================= */

.hs-tariff-content h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp( 2.4rem, 6vw, 5rem );
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1.5px;
    text-shadow: 0 5px 25px rgba(0, 0, 0, 0.3);
}


/* =========================================================
   ACCENT LINE
========================================================= */

.hs-tariff-line {
    width: 75px;
    height: 4px;
    margin: 27px auto;
    border-radius: 20px;
    background: #ee6c4d;
    box-shadow: 0 4px 15px rgba(238, 108, 77, 0.4);
}


/* =========================================================
   DESCRIPTION
========================================================= */

.hs-tariff-content p {
    max-width: 760px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.88);
    font-size: clamp( 0.95rem, 1.5vw, 1.12rem );
    line-height: 1.85;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}


/* =========================================================
   SUBTLE PREMIUM BORDER
========================================================= */

.hs-tariff-content::before {
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    top: -35px;
    left: 5%;
    border-top: 1px solid rgba(152, 193, 217, 0.45);
    border-left: 1px solid rgba(152, 193, 217, 0.45);
    pointer-events: none;
}

.hs-tariff-content::after {
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    right: 5%;
    bottom: -35px;
    border-right: 1px solid rgba(238, 108, 77, 0.45);
    border-bottom: 1px solid rgba(238, 108, 77, 0.45);
    pointer-events: none;
}


/* =========================================================
   DESKTOP PARALLAX
========================================================= */

@media (min-width: 992px) {

    .hs-tariff-hero-bg {
        background-attachment: fixed;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .hs-tariff-hero {
        min-height: 65vh;
    }

    .hs-tariff-container {
        padding: 85px 0;
    }

    .hs-tariff-content {
        max-width: 800px;
    }

        .hs-tariff-content::before,
        .hs-tariff-content::after {
            width: 60px;
            height: 60px;
        }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .hs-tariff-hero {
        min-height: 68vh;
    }

    .hs-tariff-container {
        width: 95%;
        padding: 75px 0;
    }

    .hs-tariff-content {
        padding: 0 10px;
    }

    .hs-tariff-eyebrow {
        margin-bottom: 14px;
        font-size: 0.65rem;
        letter-spacing: 2.5px;
    }

    .hs-tariff-content h1 {
        font-size: 2.45rem;
        letter-spacing: -0.8px;
    }

    .hs-tariff-line {
        width: 60px;
        margin: 22px auto;
    }

    .hs-tariff-content p {
        font-size: 0.92rem;
        line-height: 1.7;
    }

    .hs-tariff-content::before {
        top: -25px;
        left: 0;
        width: 45px;
        height: 45px;
    }

    .hs-tariff-content::after {
        right: 0;
        bottom: -25px;
        width: 45px;
        height: 45px;
    }

    /*
       background-attachment: fixed can behave poorly
       on some mobile browsers, so keep the image stable
       and use the oversized background for the visual depth.
    */
    .hs-tariff-hero-bg {
        inset: -8% 0;
        height: 116%;
        background-attachment: scroll;
        background-position: center center;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .hs-tariff-hero {
        min-height: 70vh;
    }

    .hs-tariff-container {
        padding: 65px 0;
    }

    .hs-tariff-content h1 {
        font-size: 2.1rem;
    }
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .hs-tariff-hero-bg {
        background-attachment: scroll;
    }

    .animate__animated {
        animation: none !important;
    }
}

/* =========================================================
   HOTEL SAMANVI
   CONTACT PAGE HERO
========================================================= */

.hs-contact-hero {
    /* Background image directly on section */
    background-image: linear-gradient( rgba(41, 50, 65, 0.72), rgba(41, 50, 65, 0.72) ), url("/rooms/room9.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    width: 100%;
    min-height: 62vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}


/* =========================================================
   95% WIDTH CONTAINER
========================================================= */

.hs-contact-container {
    width: 95%;
    max-width: 1600px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}


/* =========================================================
   HERO CONTENT
========================================================= */

.hs-contact-content {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    padding: 45px 20px;
}


/* =========================================================
   EYEBROW
========================================================= */

.hs-contact-eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: #98c1d9;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
}


/* =========================================================
   HEADING
========================================================= */

.hs-contact-content h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp( 2.5rem, 6vw, 4.8rem );
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -1px;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}


/* =========================================================
   ACCENT
========================================================= */

.hs-contact-line {
    width: 65px;
    height: 4px;
    margin: 22px auto;
    border-radius: 20px;
    background: #ee6c4d;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.hs-contact-content p {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.90);
    font-size: 1rem;
    line-height: 1.8;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}


/* =========================================================
   PREMIUM CORNER DETAILS
========================================================= */

.hs-contact-content::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 0;
    width: 55px;
    height: 55px;
    border-top: 1px solid #98c1d9;
    border-left: 1px solid #98c1d9;
    opacity: 0.7;
}


.hs-contact-content::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 15px;
    width: 55px;
    height: 55px;
    border-right: 1px solid #ee6c4d;
    border-bottom: 1px solid #ee6c4d;
    opacity: 0.7;
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 992px) {

    .hs-contact-hero {
        /*
           Fixed background creates the parallax effect
           while scrolling on desktop.
        */

        background-attachment: fixed;
        min-height: 62vh;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .hs-contact-hero {
        min-height: 55vh;
        background-position: center center;
    }

    .hs-contact-content {
        padding: 40px 15px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .hs-contact-hero {
        min-height: 58vh;
        /*
           Fixed backgrounds can be problematic on
           some mobile browsers.
        */

        background-attachment: scroll;
        background-position: center center;
    }

    .hs-contact-container {
        width: 95%;
    }

    .hs-contact-content {
        padding: 35px 10px;
    }

    .hs-contact-eyebrow {
        font-size: 0.64rem;
        letter-spacing: 2.5px;
        margin-bottom: 12px;
    }

    .hs-contact-content h1 {
        font-size: 2.4rem;
    }

    .hs-contact-line {
        width: 55px;
        height: 3px;
        margin: 18px auto;
    }

    .hs-contact-content p {
        font-size: 0.92rem;
        line-height: 1.7;
    }

    .hs-contact-content::before,
    .hs-contact-content::after {
        width: 35px;
        height: 35px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .hs-contact-hero {
        min-height: 60vh;
    }

    .hs-contact-content h1 {
        font-size: 2.1rem;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .hs-contact-hero {
        background-attachment: scroll;
    }

    .animate__animated {
        animation: none !important;
    }
}



/* =========================================================
   HOTEL SAMANVI INTERNATIONAL
   PREMIUM CONTACT PAGE
   2026 DESIGN
========================================================= */

:root {
    --hsx-navy: #293241;
    --hsx-blue: #3d5a80;
    --hsx-light-blue: #98c1d9;
    --hsx-soft: #e0fbfc;
    --hsx-coral: #ee6c4d;
    --hsx-white: #ffffff;
    --hsx-black: #000000;
    --hsx-text: #4f5b68;
    --hsx-muted: #707b87;
    --hsx-border: rgba(41, 50, 65, 0.12);
    --hsx-shadow: 0 18px 50px rgba(41, 50, 65, 0.10);
    --hsx-shadow-hover: 0 25px 60px rgba(41, 50, 65, 0.16);
}


/* =========================================================
   MAIN CONTACT SECTION
========================================================= */

.hsx-contact-page {
    width: 100%;
    min-height: 100vh;
    padding: 80px 0 90px;
    overflow: hidden;
    background: radial-gradient( circle at 8% 12%, rgba(152, 193, 217, 0.22), transparent 28% ), radial-gradient( circle at 92% 82%, rgba(238, 108, 77, 0.09), transparent 25% ), #ffffff;
}


/* =========================================================
   95% WIDTH CONTAINER
========================================================= */

.hsx-contact-wrap {
    width: 95%;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   INTRODUCTION
========================================================= */

.hsx-contact-intro {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
    text-align: center;
}


.hsx-contact-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--hsx-coral);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 3px;
    line-height: 1.4;
    text-transform: uppercase;
}


.hsx-contact-title {
    margin: 0;
    color: var(--hsx-navy);
    font-size: clamp(2.1rem, 4vw, 4rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1.5px;
}


.hsx-contact-title-line {
    width: 70px;
    height: 4px;
    margin: 24px auto;
    border-radius: 50px;
    background: linear-gradient( 90deg, var(--hsx-blue), var(--hsx-coral) );
}


.hsx-contact-intro-text {
    max-width: 760px;
    margin: 0 auto;
    color: var(--hsx-muted);
    font-size: 1.04rem;
    line-height: 1.8;
}


/* =========================================================
   LEFT CONTACT PANEL
========================================================= */

.hsx-contact-left {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 42px;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient( 145deg, #293241 0%, #34445a 58%, #3d5a80 100% );
    color: var(--hsx-white);
    box-shadow: var(--hsx-shadow);
}


    /* Decorative circles */

    .hsx-contact-left::before {
        content: "";
        position: absolute;
        width: 280px;
        height: 280px;
        top: -145px;
        right: -145px;
        border: 1px solid rgba(255, 255, 255, 0.13);
        border-radius: 50%;
    }


    .hsx-contact-left::after {
        content: "";
        position: absolute;
        width: 210px;
        height: 210px;
        top: -105px;
        right: -105px;
        border: 1px solid rgba(238, 108, 77, 0.30);
        border-radius: 50%;
    }


/* =========================================================
   LEFT HEADING
========================================================= */

.hsx-contact-left-heading {
    position: relative;
    z-index: 2;
    margin-bottom: 32px;
}


.hsx-small-label {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--hsx-coral);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}


.hsx-contact-left-heading .hsx-small-label {
    color: var(--hsx-light-blue);
}


.hsx-contact-left-heading h2 {
    margin: 0 0 16px;
    color: var(--hsx-white);
    font-size: clamp(1.8rem, 3vw, 2.7rem);
    font-weight: 800;
    line-height: 1.15;
}


.hsx-contact-left-heading p {
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.95rem;
    line-height: 1.8;
}


/* =========================================================
   CONTACT INFORMATION CARD
========================================================= */

.hsx-info-card {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    gap: 18px;
    width: 100%;
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.055);
    transition: transform 0.35s ease, background 0.35s ease, border-color 0.35s ease;
}


    .hsx-info-card:hover {
        transform: translateX(7px);
        border-color: rgba(152, 193, 217, 0.45);
        background: rgba(255, 255, 255, 0.105);
    }


/* =========================================================
   CONTACT ICON
========================================================= */

.hsx-info-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--hsx-coral);
    color: var(--hsx-white);
    font-size: 1rem;
    box-shadow: 0 8px 20px rgba(238, 108, 77, 0.25);
}


/* =========================================================
   CONTACT TEXT
========================================================= */

.hsx-info-content {
    min-width: 0;
}


    .hsx-info-content span {
        display: block;
        margin-bottom: 3px;
        color: var(--hsx-light-blue);
        font-size: 0.67rem;
        font-weight: 800;
        letter-spacing: 2px;
        text-transform: uppercase;
    }


    .hsx-info-content h3 {
        margin: 0 0 5px;
        color: var(--hsx-white);
        font-size: 1.05rem;
        font-weight: 700;
    }


    .hsx-info-content p {
        margin: 0;
        color: rgba(255, 255, 255, 0.75);
        font-size: 0.9rem;
        line-height: 1.65;
    }


    .hsx-info-content address {
        margin: 0;
        color: rgba(255, 255, 255, 0.75);
        font-size: 0.9rem;
        line-height: 1.65;
        font-style: normal;
    }


    .hsx-info-content a {
        color: var(--hsx-white);
        text-decoration: none;
        transition: color 0.25s ease;
    }


        .hsx-info-content a:hover {
            color: var(--hsx-light-blue);
        }


/* =========================================================
   GOOGLE MAPS BUTTON
========================================================= */

.hsx-map-button {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    min-height: 52px;
    margin-top: 25px;
    padding: 14px 20px;
    border: 1px solid rgba(152, 193, 217, 0.35);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.07);
    color: var(--hsx-white);
    font-size: 0.9rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}


    .hsx-map-button:hover {
        transform: translateY(-3px);
        border-color: var(--hsx-coral);
        background: var(--hsx-coral);
        color: var(--hsx-white);
    }


    .hsx-map-button i:last-child {
        transition: transform 0.3s ease;
    }


    .hsx-map-button:hover i:last-child {
        transform: translateX(5px);
    }


/* =========================================================
   CONTACT FORM BOX
========================================================= */

.hsx-contact-form-box {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 45px;
    overflow: hidden;
    border: 1px solid var(--hsx-border);
    border-radius: 28px;
    background: var(--hsx-white);
    box-shadow: var(--hsx-shadow);
}


    /* Top gradient line */

    .hsx-contact-form-box::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 5px;
        background: linear-gradient( 90deg, var(--hsx-navy), var(--hsx-blue), var(--hsx-light-blue), var(--hsx-coral) );
    }


/* =========================================================
   FORM HEADING
========================================================= */

.hsx-form-heading {
    margin-bottom: 30px;
}


    .hsx-form-heading h2 {
        margin: 0 0 12px;
        color: var(--hsx-navy);
        font-size: clamp(1.7rem, 3vw, 2.5rem);
        font-weight: 800;
        line-height: 1.2;
    }


    .hsx-form-heading p {
        margin: 0;
        color: var(--hsx-muted);
        font-size: 0.94rem;
        line-height: 1.75;
    }


/* =========================================================
   SUCCESS MESSAGE
========================================================= */

.hsx-success-message {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 25px;
    padding: 14px 17px;
    border-left: 4px solid #198754;
    border-radius: 10px;
    background: rgba(25, 135, 84, 0.08);
    color: #146c43;
    font-size: 0.9rem;
    font-weight: 600;
}


    .hsx-success-message i {
        flex-shrink: 0;
        font-size: 1.15rem;
    }


/* =========================================================
   VALIDATION
========================================================= */

.hsx-validation-message {
    margin-bottom: 20px;
    color: #dc3545;
    font-size: 0.88rem;
}


/* =========================================================
   FORM FIELD
========================================================= */

.hsx-field {
    width: 100%;
}


    .hsx-field label {
        display: block;
        margin-bottom: 9px;
        color: var(--hsx-navy);
        font-size: 0.87rem;
        font-weight: 750;
    }


/* =========================================================
   INPUT WRAPPER
========================================================= */

.hsx-input-wrap,
.hsx-textarea-wrap {
    position: relative;
    width: 100%;
}


    .hsx-input-wrap i,
    .hsx-textarea-wrap i {
        position: absolute;
        left: 17px;
        top: 50%;
        z-index: 2;
        transform: translateY(-50%);
        color: var(--hsx-blue);
        font-size: 0.9rem;
        pointer-events: none;
    }


    .hsx-textarea-wrap i {
        top: 20px;
        transform: none;
    }


    /* =========================================================
   INPUTS
========================================================= */

    .hsx-input-wrap input,
    .hsx-textarea-wrap textarea {
        display: block;
        width: 100%;
        border: 1px solid #dce2e8;
        border-radius: 13px;
        outline: none;
        background: #fbfcfd;
        color: var(--hsx-navy);
        font-family: inherit;
        font-size: 0.93rem;
        transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    }


    .hsx-input-wrap input {
        min-height: 54px;
        padding: 0 17px 0 46px;
    }


    .hsx-textarea-wrap textarea {
        min-height: 150px;
        padding: 16px 17px 16px 46px;
        resize: vertical;
    }


        .hsx-input-wrap input::placeholder,
        .hsx-textarea-wrap textarea::placeholder {
            color: #9ba5af;
        }


        .hsx-input-wrap input:focus,
        .hsx-textarea-wrap textarea:focus {
            border-color: var(--hsx-light-blue);
            background: var(--hsx-white);
            box-shadow: 0 0 0 4px rgba(152, 193, 217, 0.18);
        }


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.hsx-submit-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    min-height: 56px;
    padding: 14px 24px;
    border: none;
    border-radius: 14px;
    background: linear-gradient( 135deg, var(--hsx-coral), #d95539 );
    color: var(--hsx-white);
    font-size: 0.95rem;
    font-weight: 750;
    cursor: pointer;
    box-shadow: 0 12px 25px rgba(238, 108, 77, 0.22);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}


    .hsx-submit-button:hover {
        transform: translateY(-3px);
        color: var(--hsx-white);
        box-shadow: 0 17px 32px rgba(238, 108, 77, 0.30);
    }


    .hsx-submit-button i {
        transition: transform 0.3s ease;
    }


    .hsx-submit-button:hover i {
        transform: translateX(5px);
    }


/* =========================================================
   TARIFF + PAYMENT SECTION
========================================================= */

.hsx-details-area {
    width: 100%;
    margin-top: 70px;
}


/* =========================================================
   DETAILS CARD
========================================================= */

.hsx-details-card {
    width: 100%;
    height: 100%;
    padding: 38px;
    border: 1px solid var(--hsx-border);
    border-radius: 25px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--hsx-shadow);
}


.hsx-payment-card {
    background: linear-gradient( 145deg, #ffffff, #f5f9fb );
}


/* =========================================================
   DETAILS HEADING
========================================================= */

.hsx-details-heading {
    margin-bottom: 25px;
}


    .hsx-details-heading h2 {
        margin: 0 0 10px;
        color: var(--hsx-navy);
        font-size: clamp(1.6rem, 2.8vw, 2.3rem);
        font-weight: 800;
        line-height: 1.2;
    }


    .hsx-details-heading p {
        margin: 0;
        color: var(--hsx-muted);
        font-size: 0.92rem;
        line-height: 1.7;
    }


/* =========================================================
   TARIFF TABLE
========================================================= */

.hsx-tariff-table {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0 6px;
}


    .hsx-tariff-table thead th {
        padding: 13px 16px;
        border-bottom: 2px solid var(--hsx-navy);
        color: var(--hsx-navy);
        font-size: 0.76rem;
        font-weight: 800;
        letter-spacing: 1px;
        text-transform: uppercase;
    }


    .hsx-tariff-table tbody td {
        padding: 13px 16px;
        border: none;
        background: #f7f9fa;
        color: var(--hsx-text);
        font-size: 0.92rem;
        vertical-align: middle;
    }


        .hsx-tariff-table tbody td:first-child {
            border-radius: 9px 0 0 9px;
        }


        .hsx-tariff-table tbody td:last-child {
            border-radius: 0 9px 9px 0;
            color: var(--hsx-navy);
            font-weight: 800;
        }


    .hsx-tariff-table tbody tr {
        transition: transform 0.25s ease;
    }


        .hsx-tariff-table tbody tr:hover {
            transform: translateX(4px);
        }


            .hsx-tariff-table tbody tr:hover td {
                background: rgba(152, 193, 217, 0.16);
            }


    .hsx-tariff-table .hsx-extra-row td {
        border-top: 2px solid rgba(238, 108, 77, 0.25);
    }


/* =========================================================
   BANK DETAILS
========================================================= */

.hsx-bank-details {
    border-top: 1px solid var(--hsx-border);
}


.hsx-bank-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid var(--hsx-border);
}


    .hsx-bank-row span {
        color: var(--hsx-muted);
        font-size: 0.82rem;
    }


    .hsx-bank-row strong {
        max-width: 62%;
        color: var(--hsx-navy);
        font-size: 0.86rem;
        text-align: right;
        overflow-wrap: anywhere;
    }


/* =========================================================
   BOTTOM WEBSITE INFORMATION
========================================================= */

.hsx-contact-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 35px;
    padding: 28px 32px;
    border-radius: 20px;
    background: var(--hsx-navy);
    color: var(--hsx-white);
    box-shadow: 0 15px 40px rgba(41, 50, 65, 0.12);
}


    .hsx-contact-footer span {
        display: block;
        margin-bottom: 5px;
        color: var(--hsx-light-blue);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 2px;
    }


    .hsx-contact-footer p {
        margin: 0;
        color: rgba(255, 255, 255, 0.70);
        font-size: 0.88rem;
        line-height: 1.6;
    }


    .hsx-contact-footer a {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: var(--hsx-white);
        font-size: 0.9rem;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
        transition: color 0.25s ease;
    }


        .hsx-contact-footer a:hover {
            color: var(--hsx-coral);
        }


/* =========================================================
   SCROLL ANIMATION
   IMPORTANT:
   CONTENT IS VISIBLE BY DEFAULT.
   JS ONLY ADDS THE ANIMATION BEHAVIOUR.
========================================================= */

.hsx-reveal-left,
.hsx-reveal-right,
.hsx-reveal-up {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}


/* JavaScript enabled */

.hsx-js-enabled .hsx-reveal-left {
    opacity: 0;
    transform: translate3d(-70px, 0, 0);
}


.hsx-js-enabled .hsx-reveal-right {
    opacity: 0;
    transform: translate3d(70px, 0, 0);
}


.hsx-js-enabled .hsx-reveal-up {
    opacity: 0;
    transform: translate3d(0, 45px, 0);
}


    /* Visible after scrolling */

    .hsx-js-enabled .hsx-reveal-left.hsx-visible,
    .hsx-js-enabled .hsx-reveal-right.hsx-visible,
    .hsx-js-enabled .hsx-reveal-up.hsx-visible {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }


/* =========================================================
   BOOTSTRAP ROW SAFETY
========================================================= */

.hsx-contact-page .row {
    position: relative;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}


    .hsx-contact-page .row > * {
        position: relative;
    }


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .hsx-contact-left {
        padding: 35px;
    }

    .hsx-contact-form-box {
        padding: 38px;
    }

    .hsx-details-card {
        padding: 32px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .hsx-contact-page {
        padding: 65px 0 75px;
    }


    .hsx-contact-intro {
        margin-bottom: 45px;
    }


    .hsx-contact-left {
        height: auto;
        padding: 35px;
    }


    .hsx-contact-form-box {
        height: auto;
        padding: 35px;
    }


    .hsx-details-area {
        margin-top: 55px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .hsx-contact-page {
        padding: 50px 0 60px;
    }


    .hsx-contact-wrap {
        width: 95%;
    }


    .hsx-contact-intro {
        margin-bottom: 35px;
    }


    .hsx-contact-title {
        font-size: 2.15rem;
        letter-spacing: -0.7px;
    }


    .hsx-contact-intro-text {
        font-size: 0.93rem;
        line-height: 1.7;
    }


    .hsx-contact-left,
    .hsx-contact-form-box,
    .hsx-details-card {
        padding: 25px 20px;
        border-radius: 21px;
    }


    .hsx-contact-left-heading h2 {
        font-size: 1.8rem;
    }


    .hsx-info-card {
        gap: 13px;
        padding: 16px;
    }


    .hsx-info-icon {
        flex: 0 0 43px;
        width: 43px;
        height: 43px;
        border-radius: 12px;
    }


    .hsx-info-content p,
    .hsx-info-content address {
        font-size: 0.84rem;
    }


    .hsx-details-area {
        margin-top: 40px;
    }


    .hsx-details-heading h2 {
        font-size: 1.65rem;
    }


    .hsx-tariff-table thead th,
    .hsx-tariff-table tbody td {
        padding: 11px 9px;
        font-size: 0.82rem;
    }


    .hsx-bank-row {
        flex-direction: column;
        gap: 5px;
    }


        .hsx-bank-row strong {
            max-width: 100%;
            text-align: left;
        }


    .hsx-contact-footer {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px 20px;
    }


        .hsx-contact-footer a {
            white-space: normal;
        }


    /* Smaller scroll distance on mobile */

    .hsx-js-enabled .hsx-reveal-left {
        transform: translate3d(-35px, 0, 0);
    }


    .hsx-js-enabled .hsx-reveal-right {
        transform: translate3d(35px, 0, 0);
    }


    .hsx-js-enabled .hsx-reveal-up {
        transform: translate3d(0, 30px, 0);
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .hsx-contact-wrap {
        width: 95%;
    }


    .hsx-contact-left,
    .hsx-contact-form-box,
    .hsx-details-card {
        padding: 22px 16px;
    }


    .hsx-contact-title {
        font-size: 1.9rem;
    }


    .hsx-contact-left-heading h2 {
        font-size: 1.6rem;
    }


    .hsx-info-card {
        gap: 11px;
    }


    .hsx-info-content h3 {
        font-size: 0.98rem;
    }


    .hsx-info-content p,
    .hsx-info-content address {
        font-size: 0.81rem;
    }


    .hsx-tariff-table thead th,
    .hsx-tariff-table tbody td {
        padding: 10px 7px;
        font-size: 0.77rem;
    }


    .hsx-contact-footer {
        padding: 21px 17px;
    }
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .hsx-reveal-left,
    .hsx-reveal-right,
    .hsx-reveal-up {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }


    .hsx-info-card,
    .hsx-map-button,
    .hsx-submit-button,
    .hsx-contact-footer a,
    .hsx-tariff-table tbody tr {
        transition: none !important;
    }
}



/* =========================================================
   HOTEL SAMANVI — PREMIUM WIDE LOGO
   ========================================================= */

.hsx-brand-logo {
    display: inline-flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 400px;
    min-width: 400px;
    max-width: 400px;
    /* Move logo slightly to the right */
    padding: 8px 0 8px 22px !important;
    margin: 0;
    text-decoration: none !important;
    line-height: 1;
    position: relative;
    transition: transform 0.3s ease;
}


/* =========================================================
   HOTEL SAMANVI
   ========================================================= */

.hsx-brand-main {
    display: block;
    color: #293241;
    font-size: 1.9rem;
    font-weight: 900;
    letter-spacing: 3.5px;
    line-height: 1.05;
    white-space: nowrap;
    text-transform: uppercase;
    text-shadow: 0 1px 0 rgba(255,255,255,0.7);
    transition: color 0.3s ease, letter-spacing 0.3s ease, transform 0.3s ease;
}


/* =========================================================
   INTERNATIONAL
   ========================================================= */

.hsx-brand-sub {
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 9px;
    padding-left: 4px;
    color: #3d5a80;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 8px;
    line-height: 1;
    white-space: nowrap;
    text-transform: uppercase;
    transition: color 0.3s ease;
}


    /* Premium coral line */

    .hsx-brand-sub::before {
        content: "";
        display: inline-block;
        width: 48px;
        height: 2px;
        margin-right: 11px;
        background: #ee6c4d;
        border-radius: 20px;
        box-shadow: 0 1px 4px rgba(238,108,77,0.25);
        transition: width 0.3s ease, background 0.3s ease;
    }




/* =========================================================
   HOVER
   ========================================================= */

.hsx-brand-logo:hover {
    transform: translateY(-1px);
}

    .hsx-brand-logo:hover .hsx-brand-main {
        color: #3d5a80;
        letter-spacing: 4px;
    }

    .hsx-brand-logo:hover .hsx-brand-sub {
        color: #293241;
    }

        .hsx-brand-logo:hover .hsx-brand-sub::before {
            width: 62px;
            background: #ee6c4d;
        }

    .hsx-brand-logo:hover::after {
        transform: translateY(-50%) scale(1.25);
    }


/* =========================================================
   LARGE LAPTOP / TABLET
   ========================================================= */

@media (max-width: 1199.98px) {

    .hsx-brand-logo {
        width: 350px;
        min-width: 350px;
        max-width: 350px;
        padding-left: 18px !important;
    }

    .hsx-brand-main {
        font-size: 1.7rem;
        letter-spacing: 3px;
    }

    .hsx-brand-sub {
        font-size: 0.67rem;
        letter-spacing: 7px;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .hsx-brand-logo {
        width: 285px;
        min-width: 285px;
        max-width: 285px;
        padding-left: 12px !important;
    }

    .hsx-brand-main {
        font-size: 1.5rem;
        letter-spacing: 2.3px;
    }

    .hsx-brand-sub {
        font-size: 0.59rem;
        letter-spacing: 6px;
    }

        .hsx-brand-sub::before {
            width: 32px;
            margin-right: 8px;
        }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 575.98px) {

    .hsx-brand-logo {
        width: 225px;
        min-width: 225px;
        max-width: 225px;
        padding-left: 6px !important;
    }

    .hsx-brand-main {
        font-size: 1.22rem;
        letter-spacing: 1.5px;
    }

    .hsx-brand-sub {
        margin-top: 7px;
        font-size: 0.51rem;
        letter-spacing: 4.5px;
    }

        .hsx-brand-sub::before {
            width: 22px;
            height: 2px;
            margin-right: 6px;
        }

    .hsx-brand-logo::after {
        right: 2px;
    }
}


/* =========================================================
   NAVBAR MAIN
========================================================= */

.samanvi-navbar {
    width: 100%;
    position: relative;
    z-index: 1050;
    padding: 0;
    background: rgba(255, 255, 255, 0.96);
    transition: background 0.3s ease, box-shadow 0.3s ease;
}


    /* =========================================================
   NAVBAR CONTAINER
========================================================= */

    .samanvi-navbar .navbar-container {
        width: 95%;
        max-width: 1600px;
        margin: 0 auto;
        min-height: 82px;
        display: flex;
        align-items: center;
        position: relative;
    }


/* =========================================================
   LOGO
========================================================= */

.hsx-brand-logo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-shrink: 0;
    text-decoration: none;
    line-height: 1;
    margin: 0;
    padding: 0;
}


.hsx-brand-main {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #293241;
    white-space: nowrap;
}


.hsx-brand-sub {
    margin-top: 5px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 5px;
    color: #ee6c4d;
    text-align: center;
    white-space: nowrap;
}

/* =========================================================
   NAVIGATION AREA
========================================================= */

.samanvi-navbar .navbar-collapse {
    flex-grow: 1;
    align-items: center;
}


.samanvi-navbar .navbar-nav {
    margin-left: auto;
    gap: 4px;
}


.samanvi-navbar .nav-link {
    position: relative;
    padding: 10px 13px !important;
    color: #293241;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.3px;
    white-space: nowrap;
    transition: color 0.25s ease;
}


    .samanvi-navbar .nav-link:hover {
        color: #ee6c4d;
    }


/* =========================================================
   HAMBURGER
========================================================= */

.samanvi-navbar .navbar-toggler {
    border: 1px solid rgba(41, 50, 65, 0.25);
    padding: 8px 10px;
    border-radius: 6px;
    margin-left: auto;
    flex-shrink: 0;
    box-shadow: none !important;
}


    .samanvi-navbar .navbar-toggler:focus {
        box-shadow: 0 0 0 3px rgba(238, 108, 76, 0.15) !important;
    }


.samanvi-navbar .navbar-toggler-icon {
    width: 25px;
    height: 25px;
}


/* =========================================================
   GALLERY DROPDOWN
========================================================= */

.samanvi-navbar .dropdown-menu {
    border: 0;
    border-radius: 10px;
    padding: 8px;
    margin-top: 8px;
    box-shadow: 0 12px 35px rgba(41, 50, 65, 0.15);
}


.samanvi-navbar .dropdown-item {
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 14px;
    color: #293241;
}


    .samanvi-navbar .dropdown-item:hover {
        background: #e0fbfc;
        color: #293241;
    }


/* =========================================================
   SCROLLED NAVBAR
========================================================= */

.samanvi-navbar.scrolled {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 8px 30px rgba(41, 50, 65, 0.10);
}


/* =========================================================
   TABLET + MOBILE
========================================================= */

@media (max-width: 991.98px) {

    /* -----------------------------------------
       NAVBAR CONTAINER
    ----------------------------------------- */

    .samanvi-navbar .navbar-container {
        width: 94%;
        min-height: 76px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }


    /* -----------------------------------------
       HAMBURGER
    ----------------------------------------- */

    .samanvi-navbar .navbar-toggler {
        display: block;
        margin-left: auto;
    }


    /* =====================================================
       THIS IS THE IMPORTANT FIX
       
       When Bootstrap removes .show:
       menu MUST disappear.
    ===================================================== */

    .samanvi-navbar .navbar-collapse.collapse:not(.show) {
        display: none !important;
    }


    /* When Bootstrap adds .show:
       menu becomes visible */

    .samanvi-navbar .navbar-collapse.collapse.show {
        display: block !important;
        flex-basis: 100%;
        width: 100%;
        margin-top: 10px;
        padding-bottom: 12px;
    }


    /* -----------------------------------------
       NAVIGATION
    ----------------------------------------- */

    .samanvi-navbar .navbar-nav {
        width: 100%;
        margin-left: 0;
        gap: 2px;
        align-items: stretch !important;
    }


    /* -----------------------------------------
       NAV ITEMS
    ----------------------------------------- */

    .samanvi-navbar .nav-item {
        width: 100%;
    }


    /* -----------------------------------------
       NAV LINKS
    ----------------------------------------- */

    .samanvi-navbar .nav-link {
        width: 100%;
        display: block;
        padding: 12px 15px !important;
        border-radius: 6px;
    }


        .samanvi-navbar .nav-link:hover {
            background: rgba(152, 193, 217, 0.15);
        }


    /* -----------------------------------------
       GALLERY DROPDOWN
    ----------------------------------------- */

    .samanvi-navbar .dropdown-menu {
        position: static !important;
        width: 100%;
        margin: 0;
        padding: 5px 10px;
        box-shadow: none;
        border-radius: 6px;
        background: rgba(224, 251, 252, 0.5);
    }


    .samanvi-navbar .dropdown-item {
        padding: 10px 15px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .samanvi-navbar .navbar-container {
        width: 92%;
        min-height: 70px;
    }


    .hsx-brand-main {
        font-size: 21px;
        letter-spacing: 1.5px;
    }


    .hsx-brand-sub {
        font-size: 8px;
        letter-spacing: 3.5px;
        margin-top: 4px;
    }


    .samanvi-navbar .navbar-toggler {
        padding: 7px 9px;
    }


    .samanvi-navbar .navbar-toggler-icon {
        width: 22px;
        height: 22px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .hsx-brand-main {
        font-size: 18px;
        letter-spacing: 1px;
    }


    .hsx-brand-sub {
        font-size: 7px;
        letter-spacing: 3px;
    }
}


@media (max-width: 991.98px) {

    .samanvi-navbar .navbar-collapse {
        flex-basis: 100%;
        width: 100%;
        flex-grow: 1;
        margin-top: 10px;
        padding-bottom: 12px;
        /* Smooth animation */
        display: block !important;
        overflow: hidden;
        max-height: 0;
        opacity: 0;
        transform: translateY(-10px);
        transition: max-height 0.7s ease, opacity 0.30s ease, transform 0.7s ease;
    }

        /* OPEN */
        .samanvi-navbar .navbar-collapse.show {
            max-height: 600px;
            opacity: 1;
            transform: translateY(0);
        }

    .samanvi-navbar .navbar-nav {
        width: 100%;
        margin-left: 0;
        gap: 2px;
        align-items: stretch !important;
    }

    .samanvi-navbar .nav-item {
        width: 100%;
    }

    .samanvi-navbar .nav-link {
        width: 100%;
        display: block;
        padding: 12px 15px !important;
        border-radius: 6px;
    }
}



/* =========================================================
   HOTEL SAMANVI FOOTER
========================================================= */

.samanvi-footer {
    position: relative;
    background: linear-gradient( 135deg, #293241 0%, #3d5a80 55%, #293241 100% );
    color: #ffffff;
    padding: 75px 0 0;
    overflow: hidden;
}


    /* Subtle top border */

    .samanvi-footer::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background: linear-gradient( 90deg, #98c1d9, #e0fbfc, #ee6c4d, #98c1d9 );
    }


/* =========================================================
   FOOTER BRAND
========================================================= */

.samanvi-footer-brand {
    display: inline-flex;
    flex-direction: column;
    margin-bottom: 22px;
}

.samanvi-footer .samanvi-brand-main {
    display: block;
    color: #ffffff;
    font-size: 29px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.1;
}

.samanvi-footer .samanvi-brand-sub {
    display: block;
    margin-top: 7px;
    color: #98c1d9;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 5px;
}


/* =========================================================
   GREETING
========================================================= */

.samanvi-footer-greeting {
    margin: 0 0 14px;
    color: #e0fbfc;
    font-size: 15px;
    line-height: 1.7;
}

    .samanvi-footer-greeting strong {
        color: #ffffff;
        font-weight: 700;
    }


/* =========================================================
   FOOTER DESCRIPTION
========================================================= */

.samanvi-footer-text {
    max-width: 520px;
    margin: 0 0 25px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.8;
}


/* =========================================================
   FOOTER TITLES
========================================================= */

.samanvi-footer-title {
    position: relative;
    display: inline-block;
    margin: 0 0 25px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.5px;
}


    /* Small accent line */

    .samanvi-footer-title::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -9px;
        width: 38px;
        height: 2px;
        background: #ee6c4d;
        border-radius: 10px;
    }


/* =========================================================
   QUICK LINKS
========================================================= */

.samanvi-footer-links {
    margin: 0;
    padding: 0;
}

    .samanvi-footer-links li {
        margin-bottom: 11px;
    }

    .samanvi-footer-links a {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        color: rgba(255, 255, 255, 0.78);
        text-decoration: none;
        font-size: 14px;
        font-weight: 500;
        transition: color 0.25s ease, transform 0.25s ease;
    }

        .samanvi-footer-links a i {
            color: #98c1d9;
            font-size: 10px;
            transition: color 0.25s ease, transform 0.25s ease;
        }

        .samanvi-footer-links a:hover {
            color: #ffffff;
            transform: translateX(4px);
        }

            .samanvi-footer-links a:hover i {
                color: #ee6c4d;
                transform: translateX(2px);
            }


    /* Admin login */

    .samanvi-footer-links li:last-child {
        margin-top: 18px;
    }

        .samanvi-footer-links li:last-child a {
            color: #e0fbfc;
        }

            .samanvi-footer-links li:last-child a i {
                color: #ee6c4d;
            }


/* =========================================================
   CONTACT INFORMATION
========================================================= */

.samanvi-footer-contact {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 22px;
}

    .samanvi-footer-contact > i {
        flex-shrink: 0;
        width: 38px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: rgba(152, 193, 217, 0.12);
        color: #98c1d9;
        font-size: 15px;
        transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
    }

    .samanvi-footer-contact:hover > i {
        background: #ee6c4d;
        color: #ffffff;
        transform: translateY(-2px);
    }


    /* Contact text */

    .samanvi-footer-contact span {
        color: rgba(255, 255, 255, 0.78);
        font-size: 14px;
        line-height: 1.8;
    }


/* Contact label */

.samanvi-contact-label {
    display: block;
    margin-bottom: 3px;
    color: #e0fbfc;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* Contact links */

.samanvi-footer-contact a {
    display: block;
    width: fit-content;
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    transition: color 0.25s ease;
}

    .samanvi-footer-contact a:hover {
        color: #ee6c4d;
    }


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.samanvi-footer-bottom {
    margin-top: 45px;
    padding: 22px 0;
    border-top: 1px solid rgba(224, 251, 252, 0.14);
}

    .samanvi-footer-bottom p {
        margin: 0;
        color: rgba(255, 255, 255, 0.62);
        font-size: 12px;
        line-height: 1.6;
    }

    .samanvi-footer-bottom strong {
        color: #e0fbfc;
        font-weight: 600;
    }


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .samanvi-footer {
        padding-top: 60px;
    }

    .samanvi-footer-title {
        margin-bottom: 22px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .samanvi-footer {
        padding-top: 50px;
    }

        .samanvi-footer .samanvi-brand-main {
            font-size: 25px;
        }

        .samanvi-footer .samanvi-brand-sub {
            font-size: 9px;
            letter-spacing: 4px;
        }

    .samanvi-footer-text {
        font-size: 13px;
    }

    .samanvi-footer-bottom {
        margin-top: 30px;
        text-align: center;
    }

        .samanvi-footer-bottom .text-md-end {
            text-align: center !important;
        }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .samanvi-footer {
        padding-top: 45px;
    }

        .samanvi-footer .samanvi-brand-main {
            font-size: 22px;
            letter-spacing: 1.5px;
        }

        .samanvi-footer .samanvi-brand-sub {
            font-size: 8px;
            letter-spacing: 3.5px;
        }

    .samanvi-footer-title {
        font-size: 17px;
    }

    .samanvi-footer-contact {
        gap: 12px;
    }

        .samanvi-footer-contact > i {
            width: 35px;
            height: 35px;
            font-size: 14px;
        }

        .samanvi-footer-contact span {
            font-size: 13px;
        }
}












/* =========================================================
   HOTEL SAMANVI INTERNATIONAL - PREMIUM GOOGLE MAPS
========================================================= */

.samanvi-map-section {
    position: relative;
    width: var(--samanvi-container, 94%);
    max-width: var(--samanvi-max-width, 1500px);
    margin: 70px auto;
    padding: 0;
}

/* Map heading */

.samanvi-map-heading {
    text-align: center;
    margin-bottom: 30px;
}

.samanvi-map-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--samanvi-coral, #ee6c4d);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.samanvi-map-title {
    margin: 0 0 14px;
    color: var(--samanvi-blue-dark, #293241);
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 800;
    line-height: 1.2;
}

.samanvi-map-description {
    max-width: 680px;
    margin: 0 auto;
    color: var(--samanvi-muted, #7b8490);
    font-size: 16px;
    line-height: 1.8;
}

/* Premium map card */

.samanvi-map-card {
    position: relative;
    overflow: hidden;
    padding: 10px;
    background: var(--samanvi-white, #ffffff);
    border: 1px solid rgba(61, 90, 128, 0.12);
    border-radius: 24px;
    box-shadow: 0 18px 55px rgba(41, 50, 65, 0.12), 0 4px 14px rgba(61, 90, 128, 0.06);
    transition: box-shadow 0.35s ease, transform 0.35s ease;
}

    .samanvi-map-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 25px 65px rgba(41, 50, 65, 0.17);
    }

/* Responsive iframe wrapper */

.samanvi-map-frame {
    position: relative;
    width: 100%;
    height: 460px;
    overflow: hidden;
    background: var(--samanvi-soft, #f5f7fa);
    border-radius: 17px;
}

    .samanvi-map-frame iframe {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 100%;
        border: 0;
        border-radius: inherit;
    }

/* Bottom location information */

.samanvi-map-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 20px 16px;
}

.samanvi-map-location {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 0;
}

.samanvi-map-icon {
    display: flex;
    flex: 0 0 50px;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    color: var(--samanvi-white, #ffffff);
    font-size: 20px;
    background: linear-gradient( 135deg, var(--samanvi-blue, #3d5a80), var(--samanvi-blue-dark, #293241) );
    border-radius: 15px;
    box-shadow: 0 7px 18px rgba(61, 90, 128, 0.22);
}

.samanvi-map-location h3 {
    margin: 0 0 5px;
    color: var(--samanvi-blue-dark, #293241);
    font-size: 17px;
    font-weight: 800;
}

.samanvi-map-location p {
    margin: 0;
    color: var(--samanvi-muted, #7b8490);
    font-size: 14px;
    line-height: 1.7;
}

/* Get directions button */

.samanvi-map-directions {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 22px;
    color: var(--samanvi-white, #ffffff);
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    background: linear-gradient( 135deg, var(--samanvi-coral, #ee6c4d), #d9563a );
    border: 1px solid transparent;
    border-radius: 12px;
    box-shadow: 0 7px 18px rgba(238, 108, 77, 0.2);
    transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

    .samanvi-map-directions:hover {
        color: var(--samanvi-white, #ffffff);
        background: var(--samanvi-blue-dark, #293241);
        box-shadow: 0 10px 22px rgba(41, 50, 65, 0.2);
        transform: translateY(-2px);
    }

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {
    .samanvi-map-section {
        margin: 55px auto;
    }

    .samanvi-map-frame {
        height: 400px;
    }

    .samanvi-map-footer {
        align-items: flex-start;
        padding: 22px 14px 14px;
    }

    .samanvi-map-directions {
        padding: 13px 16px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {
    .samanvi-map-section {
        width: 94%;
        margin: 40px auto;
    }

    .samanvi-map-heading {
        margin-bottom: 22px;
    }

    .samanvi-map-eyebrow {
        font-size: 10px;
        letter-spacing: 2px;
    }

    .samanvi-map-title {
        font-size: 28px;
    }

    .samanvi-map-description {
        font-size: 14px;
        line-height: 1.7;
    }

    .samanvi-map-card {
        padding: 6px;
        border-radius: 17px;
    }

    .samanvi-map-frame {
        height: 320px;
        border-radius: 12px;
    }

    .samanvi-map-footer {
        flex-direction: column;
        gap: 18px;
        padding: 18px 10px 10px;
    }

    .samanvi-map-location {
        gap: 12px;
    }

    .samanvi-map-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        font-size: 18px;
        border-radius: 12px;
    }

    .samanvi-map-location h3 {
        font-size: 15px;
    }

    .samanvi-map-location p {
        font-size: 13px;
    }

    .samanvi-map-directions {
        width: 100%;
        padding: 14px 16px;
        font-size: 13px;
    }
}

/* Reduced motion accessibility */

@media (prefers-reduced-motion: reduce) {
    .samanvi-map-card,
    .samanvi-map-directions {
        transition: none;
    }

        .samanvi-map-card:hover,
        .samanvi-map-directions:hover {
            transform: none;
        }
}







/* =========================================================
   HOTEL SAMANVI FOOTER - FULLY RESPONSIVE
   HTML / CSHTML REMAINS UNCHANGED
========================================================= */
.samanvi-footer {
    position: relative;
    width: 100%;
    max-width: 100%;
    background: linear-gradient( 135deg, #293241 0%, #3d5a80 55%, #293241 100% );
    color: #ffffff;
    padding: 65px 0 0;
    overflow: hidden;
    box-sizing: border-box;
}

.samanvi-footer *,
.samanvi-footer *::before,
.samanvi-footer *::after {
    box-sizing: border-box;
}

/* Top accent border */

.samanvi-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient( 90deg, #98c1d9, #e0fbfc, #ee6c4d, #98c1d9 );
}

/* =========================================================
   CONTAINER
========================================================= */

.samanvi-footer .samanvi-container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

/* Prevent footer columns from overflowing */

.samanvi-footer .row {
    min-width: 0;
}

.samanvi-footer [class*="col-"] {
    min-width: 0;
}

/* =========================================================
   FOOTER BRAND
========================================================= */

.samanvi-footer-brand {
    display: inline-flex;
    flex-direction: column;
    max-width: 100%;
    margin-bottom: 22px;
}

.samanvi-footer .samanvi-brand-main {
    display: block;
    color: #ffffff;
    font-size: clamp(23px, 2vw, 29px);
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.samanvi-footer .samanvi-brand-sub {
    display: block;
    margin-top: 7px;
    color: #98c1d9;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 5px;
}

/* =========================================================
   GREETING
========================================================= */

.samanvi-footer-greeting {
    margin: 0 0 14px;
    color: #e0fbfc;
    font-size: 15px;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

    .samanvi-footer-greeting strong {
        color: #ffffff;
        font-weight: 700;
    }

/* =========================================================
   FOOTER DESCRIPTION
========================================================= */

.samanvi-footer-text {
    max-width: 520px;
    margin: 0 0 25px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    line-height: 1.9;
    overflow-wrap: anywhere;
    text-align:justify;
    word-break:break-all;
}

/* =========================================================
   FOOTER TITLES
========================================================= */

.samanvi-footer-title {
    position: relative;
    display: inline-block;
    max-width: 100%;
    margin: 0 0 28px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

    .samanvi-footer-title::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -9px;
        width: 38px;
        height: 2px;
        background: #ee6c4d;
        border-radius: 10px;
    }

/* =========================================================
   QUICK LINKS
========================================================= */

.samanvi-footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .samanvi-footer-links li {
        margin-bottom: 12px;
    }

    .samanvi-footer-links a {
        display: inline-flex;
        align-items: flex-start;
        gap: 10px;
        max-width: 100%;
        color: rgba(255, 255, 255, 0.82);
        text-decoration: none;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.7;
        overflow-wrap: anywhere;
        transition: color 0.25s ease, transform 0.25s ease;
    }

        .samanvi-footer-links a i {
            flex-shrink: 0;
            margin-top: 5px;
            color: #98c1d9;
            font-size: 12px;
            transition: color 0.25s ease, transform 0.25s ease;
        }

        .samanvi-footer-links a:hover {
            color: #ffffff;
            transform: translateX(4px);
        }

            .samanvi-footer-links a:hover i {
                color: #ee6c4d;
            }

    /* Admin login */

    .samanvi-footer-links li:last-child {
        margin-top: 18px;
    }

        .samanvi-footer-links li:last-child a {
            color: #e0fbfc;
        }

            .samanvi-footer-links li:last-child a i {
                color: #ee6c4d;
            }

/* =========================================================
   CONTACT INFORMATION
========================================================= */

.samanvi-footer-contact {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    margin-bottom: 22px;
}

    .samanvi-footer-contact > i {
        flex: 0 0 38px;
        width: 38px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: rgba(152, 193, 217, 0.12);
        color: #98c1d9;
        font-size: 15px;
        transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
    }

    .samanvi-footer-contact:hover > i {
        background: #ee6c4d;
        color: #ffffff;
        transform: translateY(-2px);
    }

    /* Contact text */

    .samanvi-footer-contact > span {
        display: block;
        flex: 1 1 auto;
        min-width: 0;
        color: rgba(255, 255, 255, 0.82);
        font-size: 14px;
        line-height: 1.9;
        overflow-wrap: anywhere;
        word-break: normal;
    }

/* Contact label */

.samanvi-contact-label {
    display: block;
    margin-bottom: 4px;
    color: #e0fbfc;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

/* Contact links */

.samanvi-footer-contact a {
    display: block;
    width: fit-content;
    max-width: 100%;
    color: rgba(255, 255, 255, 0.86);
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: color 0.25s ease;
}

    .samanvi-footer-contact a:hover {
        color: #ee6c4d;
    }

/* =========================================================
   FOOTER BOTTOM
========================================================= */

.samanvi-footer-bottom {
    margin-top: 38px;
    padding: 22px 0;
    border-top: 1px solid rgba(224, 251, 252, 0.16);
}

    .samanvi-footer-bottom .row {
        row-gap: 12px;
    }

    .samanvi-footer-bottom p {
        margin: 0;
        color: rgba(255, 255, 255, 0.72);
        font-size: 12px;
        line-height: 1.8;
        overflow-wrap: anywhere;
    }

    .samanvi-footer-bottom strong {
        color: #e0fbfc;
        font-weight: 600;
    }

/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1400px) {
    .samanvi-footer .samanvi-container {
        max-width: 1320px;
    }

    .samanvi-footer {
        padding-top: 75px;
    }

        .samanvi-footer .row.g-5 {
            --bs-gutter-x: 3rem;
        }
}

/* =========================================================
   LAPTOP / SMALL DESKTOP
========================================================= */

@media (min-width: 992px) and (max-width: 1199.98px) {
    .samanvi-footer {
        padding-top: 55px;
    }

        .samanvi-footer .samanvi-container {
            padding-left: 22px;
            padding-right: 22px;
        }

        .samanvi-footer .row.g-5 {
            --bs-gutter-x: 2rem;
            --bs-gutter-y: 2.5rem;
        }

        .samanvi-footer .samanvi-brand-main {
            font-size: 25px;
            letter-spacing: 1.5px;
        }

        .samanvi-footer .samanvi-brand-sub {
            letter-spacing: 4px;
        }

    .samanvi-footer-contact {
        gap: 11px;
    }

        .samanvi-footer-contact > i {
            flex-basis: 35px;
            width: 35px;
            height: 35px;
        }

        .samanvi-footer-contact > span,
        .samanvi-footer-links a,
        .samanvi-footer-text {
            font-size: 13px;
        }
}

/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {
    .samanvi-footer {
        padding-top: 50px;
    }

        .samanvi-footer .samanvi-container {
            padding-left: 28px;
            padding-right: 28px;
        }

        .samanvi-footer .row.g-5 {
            --bs-gutter-x: 2rem;
            --bs-gutter-y: 2.5rem;
        }

            /* First column takes full width on tablets */
            .samanvi-footer .row.g-5 > .col-lg-5 {
                width: 100%;
            }

            /* Quick links and contact share the next row */
            .samanvi-footer .row.g-5 > .col-sm-6 {
                width: 50%;
            }

        .samanvi-footer .samanvi-brand-main {
            font-size: 27px;
        }

    .samanvi-footer-text {
        max-width: 991px;
    }

    .samanvi-footer-bottom {
        margin-top: 25px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {
    .samanvi-footer {
        padding-top: 42px;
    }

        .samanvi-footer .samanvi-container {
            padding-left: 22px;
            padding-right: 22px;
        }

        .samanvi-footer .row.g-5 {
            --bs-gutter-x: 1.5rem;
            --bs-gutter-y: 2rem;
        }

        .samanvi-footer .samanvi-brand-main {
            font-size: 25px;
            letter-spacing: 1.5px;
        }

        .samanvi-footer .samanvi-brand-sub {
            font-size: 9px;
            letter-spacing: 4px;
        }

    .samanvi-footer-greeting {
        font-size: 14px;
    }

    .samanvi-footer-text {
        font-size: 13px;
        line-height: 1.85;
    }

    .samanvi-footer-title {
        font-size: 17px;
        margin-bottom: 25px;
    }

    .samanvi-footer-links li {
        margin-bottom: 10px;
    }

    .samanvi-footer-links a {
        font-size: 13px;
    }

    .samanvi-footer-contact {
        gap: 12px;
        margin-bottom: 20px;
    }

        .samanvi-footer-contact > i {
            flex-basis: 35px;
            width: 35px;
            height: 35px;
            font-size: 14px;
        }

        .samanvi-footer-contact > span {
            font-size: 13px;
            line-height: 1.8;
        }

    .samanvi-contact-label {
        font-size: 10px;
    }

    .samanvi-footer-bottom {
        margin-top: 22px;
        padding: 20px 0;
        text-align: center;
    }

        .samanvi-footer-bottom .text-md-end {
            text-align: center !important;
        }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {
    .samanvi-footer {
        padding-top: 36px;
    }

        .samanvi-footer .samanvi-container {
            padding-left: 18px;
            padding-right: 18px;
        }

        .samanvi-footer .row.g-5 {
            --bs-gutter-x: 1.25rem;
            --bs-gutter-y: 1.75rem;
        }

        .samanvi-footer .samanvi-brand-main {
            font-size: clamp(20px, 5.5vw, 23px);
            letter-spacing: 1px;
        }

        .samanvi-footer .samanvi-brand-sub {
            font-size: 8px;
            letter-spacing: 3px;
        }

    .samanvi-footer-greeting {
        font-size: 13px;
    }

    .samanvi-footer-text {
        font-size: 13px;
    }

    .samanvi-footer-title {
        font-size: 16px;
    }

    .samanvi-footer-links a {
        font-size: 13px;
        gap: 8px;
    }

    .samanvi-footer-contact {
        gap: 10px;
    }

        .samanvi-footer-contact > i {
            flex-basis: 33px;
            width: 33px;
            height: 33px;
            font-size: 13px;
        }

        .samanvi-footer-contact > span {
            font-size: 12px;
        }

    .samanvi-contact-label {
        letter-spacing: 1.2px;
    }

    .samanvi-footer-bottom p {
        font-size: 11px;
    }
}

/* =========================================================
   EXTRA SMALL SCREENS
========================================================= */

@media (max-width: 359.98px) {
    .samanvi-footer .samanvi-container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .samanvi-footer .samanvi-brand-main {
        font-size: 19px;
        letter-spacing: 0.5px;
    }

    .samanvi-footer .samanvi-brand-sub {
        letter-spacing: 2.5px;
    }

    .samanvi-footer-contact {
        gap: 8px;
    }

        .samanvi-footer-contact > i {
            flex-basis: 30px;
            width: 30px;
            height: 30px;
        }

        .samanvi-footer-contact > span {
            font-size: 11px;
        }
}

/* =========================================================
   ACCESSIBILITY
========================================================= */

@media (prefers-reduced-motion: reduce) {
    .samanvi-footer *,
    .samanvi-footer *::before,
    .samanvi-footer *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

