/* 1. Theme default css */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800&amp;display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

body {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 24px;
    color: #6a6a6a;
}

.img {
    max-width: 100%;
    transition: all 0.3s ease-out 0s;
}

.f-left {
    float: left
}

.f-right {
    float: right
}

.fix {
    overflow: hidden
}

a,
.button {
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}

a:focus,
.btn:focus,
.button:focus {
    text-decoration: none;
    outline: none;
    box-shadow: none;
}

a:hover,
.portfolio-cat a:hover,
.footer -menu li a:hover {
    color: #2B96CC;
    text-decoration: none;
}

a,
button {
    color: #1696e7;
    outline: medium none;
}

button:focus,
input:focus,
input:focus,
textarea,
textarea:focus {
    outline: 0
}

.uppercase {
    text-transform: uppercase;
}

.capitalize {
    text-transform: capitalize;
}

h2 {
    font-size: 35px;
}

h3 {
    font-size: 28px;
}

h4 {
    font-size: 22px;
}

h5 {
    font-size: 18px;
}

h6 {
    font-size: 16px;
}

ul {
    margin: 0px;
    padding: 0px;
}

li {
    list-style: none
}

hr {
    border-bottom: 1px solid #eceff8;
    border-top: 0 none;
    margin: 30px 0;
    padding: 0;
}

label {
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
}

*::-moz-selection {
    background: #d6b161;
    color: #fff;
    text-shadow: none;
}

::-moz-selection {
    background: #444;
    color: #fff;
    text-shadow: none;
}

::selection {
    background: #444;
    color: #fff;
    text-shadow: none;
}

*::-moz-placeholder {
    color: #202124;
    font-size: 14px;
    opacity: 1;
}

*::placeholder {
    color: #202124;
    font-size: 14px;
    opacity: 1;
}

.theme-overlay {
    position: relative
}

.theme-overlay::before {
    background: #1696e7 none repeat scroll 0 0;
    content: "";
    height: 100%;
    left: 0;
    opacity: 0.6;
    position: absolute;
    top: 0;
    width: 100%;
}

.separator {
    border-top: 1px solid #f2f2f2
}

:root {
    --chardham-primary: #6F93B0;
    --chardham-secondary: #C28E1F;
}

/* ===== TOP BAR ===== */
.header-style-two .header-top-wrap {
    background: linear-gradient(120deg,
            #1d2733 0%,
            #6F93B0 35%,
            #C28E1F 100%);
    color: #fff;
    padding: 6px 0;
    position: relative;
    overflow: hidden;
}

.header-style-two .header-top-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(120deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px),
        linear-gradient(210deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
    background-size: 18px 18px;
    opacity: 0.25;
    pointer-events: none;
}

.header-top-wrap .container {
    position: relative;
    z-index: 2;
}

.header-top-left ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    /* 16px se thoda kam */
    flex-wrap: nowrap;
    /* ✅ ab sab ek line me rahenge */
}

.header-top-left li {
    display: flex;
    align-items: center;
    font-size: 16px;
    white-space: nowrap;
}

.header-top-left li i {
    margin-right: 6px;
    font-size: 15px;
}

.header-top-left a {
    color: #fff;
    text-decoration: none;
}

.header-top-left a:hover {
    text-decoration: underline;
}

/* ➤ Get A Quote button RIGHT SIDE perfect alignment */
.top-quote-btn {
    padding: 7px 28px;
    font-size: 12px;
    border-radius: 999px;
    background: #6F93B0;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* border: 2px solid rgba(255, 255, 255, 0.7); */
    margin-left: auto;
    /* 👉 pushes it fully right */
    margin-right: 0;
    /* stays near the corner */
}

/* Hover */
.top-quote-btn:hover {
    background: #617381;
    color: #fff;
}

/* Container row must support spacing */
.header-top-wrap .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* email/phone left | quote right */
}

/* =====================================
   SOCIAL ICONS PERFECT ALIGNMENT FIX
   ===================================== */
.header-top-left ul {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: nowrap;
    /* force same row */
}

.header-social-icons {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 0;
    /* remove shifting */
}

/* CIRCLE */
/* CIRCLE WRAPPER */
.header-social-icons a {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.6);
    display: inline-block;
    position: relative;
    /* ✅ important for absolute centering */
    text-decoration: none;
}

/* ICON – PERFECT CENTER */
.header-social-icons a i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* ✅ exact centre */
    font-size: 14px;
    line-height: 1;
}


/* Hover premium look */
.header-social-icons a:hover {
    background: var(--chardham-secondary);
}

/* ===== MAIN HEADER ===== */
.header-style-two .main-header.menu-area {
    background: #ffffff;
    position: relative;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.25);
}

/* Main row */
#sticky-header .container.custom-container>.row>.col-12 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    /* padding: 8px 0; */
}

/* Logo */
.header-style-two .logo {
    display: flex;
    align-items: center;
}

.header-style-two .logo a img {
    max-height: 70px;
    width: auto;
    display: block;
    margin-left: 80px;
    margin-top: 10px;
    margin-bottom: 10px;
}

/* Nav */
.header-style-two .menu-nav {
    display: flex;
    align-items: center;
    flex: 1;
    gap: 55px;
}

.header-style-two .navbar-wrap.main-menu {
    flex: 1;
    min-width: 0;
    margin-left: 80px;
}

.header-style-two .navigation {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 22px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-style-two .navigation>li {
    position: relative;
}

.header-style-two .navigation>li>a {
    display: block;
    padding: 14px 0;
    font-size: 14px;
    /* ✅ readable */
    font-weight: 600;
    color: #111827;
    text-decoration: none;
    text-transform: capitalize;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

/* underline */
.header-style-two .navigation>li>a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--chardham-primary), var(--chardham-secondary));
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.2s ease;
}

.header-style-two .navigation>li:hover>a::after,
.header-style-two .navigation>li.active>a::after {
    transform: scaleX(1);
}

.header-style-two .navigation>li:hover>a,
.header-style-two .navigation>li.active>a {
    color: var(--chardham-secondary);
}

/* ONLY dropdowns with this class → 3 columns */
.header-style-two .navigation>li.dropdown-3col>.submenu {
    column-count: 2;
    column-gap: 18px;
}

/* items ko column ke beech tootne se bachane ke liye */
.header-style-two .navigation>li.dropdown-3col>.submenu>li {
    break-inside: avoid;
}

/* ============= MOBILE HEADER ONLY ============= */
.mobile-header-bar {
    display: none;
}

/* Phones / tablets */
@media (max-width: 991.98px) {

    /* OLD top bar + desktop menu hide */
    .header-style-two .header-top-wrap {
        display: none;
    }

    .header-style-two .main-header.menu-area {
        background: transparent;
        box-shadow: none;
    }

    .header-style-two .main-header.menu-area .menu-wrap {
        display: none;
        /* desktop logo + menu row */
    }

    /* ❌ old left burger icon hide on mobile */
    .header-style-two .main-header.menu-area>.container .mobile-nav-toggler {
        display: none;
    }

    /* ✅ mobile offcanvas menu ON */
    .header-style-two .main-header.menu-area .mobile-menu {
        display: block;
    }

    .mobile-menu {
        position: fixed;
        inset: 0;
        z-index: 9999;
        opacity: 0;
        visibility: hidden;
        transform: translateX(100%);
        transition: all 0.3s ease;
    }

    .mobile-menu.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }

    .no-scroll {
        overflow: hidden;
    }

    .mobile-submenu {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }

    .has-submenu.submenu-open>.mobile-submenu {
        max-height: 500px;
        /* enough height for inner items */
        opacity: 1;
        visibility: visible;
    }

    /* Rotate arrow icon when opened */
    .has-submenu.submenu-open .submenu-toggle i {
        transform: rotate(180deg);
    }

    .submenu-toggle i {
        transition: transform 0.3s ease;
    }

    /* ✅ NEW MOBILE HEADER – full width bar, no card edges */
    .mobile-header-bar {
        display: block;
        width: 100%;
        background: linear-gradient(120deg,
                #1d2733 0%,
                #6F93B0 35%,
                #C28E1F 100%);
        color: #fff;
        padding: 10px 14px 8px;
        box-shadow: 0 4px 14px rgba(15, 23, 42, 0.25);
        border-radius: 0;
        /* card jaisa rounding hata diya */
        margin: 0;
    }

    .mobile-header-bar .mh-logo img {
        filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.35));
    }

    .mobile-header-bar .mh-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        min-height: 70px;
    }

    .mobile-header-bar .mh-logo img {
        max-height: 64px;
        width: auto;
        display: block;
    }

    .mobile-header-bar .mh-actions {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .mobile-header-bar .mh-icon-btn {
        width: 36px;
        height: 36px;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.7);
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        color: #fff;
        font-size: 16px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    }

    .mobile-header-bar .mh-quote-btn {
        padding: 8px 14px;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        border-radius: 999px;
        background: #6F93B0;
        color: #ffffff;
        font-weight: 700;
        text-decoration: none;
        border: 1px solid rgba(255, 255, 255, 0.8);
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
        white-space: nowrap;
    }

    .mobile-header-bar .mh-quote-btn:hover {
        background: #475f72;
        color: #fff;
    }

    .mobile-header-bar .mobile-nav-toggler {
        font-size: 22px;
        color: #fff;
        cursor: pointer;
        margin-left: 2px;
    }

    .mobile-header-bar .mh-bottom {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 16px;
        margin-top: 8px;
        font-size: 12px;
    }

    .mobile-header-bar .mh-bottom a {
        color: #f9fafb;
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .mobile-header-bar .mh-bottom a:hover {
        text-decoration: underline;
    }
}

@media (max-width: 991.98px) {

    /* By default hidden */
    .mobile-menu {
        opacity: 0;
        visibility: hidden;
        transform: translateX(100%);
        transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    }

    /* Jab body pe class lage to show */
    body.mobile-menu-visible .mobile-menu {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }
}


/* Desktop pe mobile header OFF */
@media (min-width: 992px) {
    .mobile-header-bar {
        display: none !important;
    }
}

/* 🔧 FIX: remove duplicate mobile header / burger on mobile  */
@media (max-width: 991.98px) {

    /* 1. Purana theme wala burger icon hide */
    .header-style-two .main-header.menu-area>.container.custom-container>.row>.col-12>.mobile-nav-toggler {
        display: none !important;
    }

    /* 2. Main header ka background & padding hatao 
        (sirf naya gradient mobile header dikhe) */
    .header-style-two .main-header.menu-area {
        background: transparent;
        box-shadow: none;
        padding: 0;
    }

    /* 3. Col-12 ka extra padding hatao (white strip na aaye) */
    #sticky-header .container.custom-container>.row>.col-12 {
        /* padding: 10px 0; */
    }

    /* 4. Naya mobile header full-width, card jaisa nahi */
    .mobile-header-bar {
        margin: 0;
        border-radius: 0;
        padding: 14px 16px 12px;
    }
}

/* ============================
   FINAL CLEAN THEME DROPDOWN
   ============================ */
@media (min-width: 992px) {

    .header-style-two .navigation>li.dropdown {
        position: relative;
    }

    /* Main dropdown box */
    .header-style-two .navigation>li.dropdown>.submenu {
        position: absolute;
        top: 100%;
        left: 0;
        /* menu ke just niche */
        margin-top: 10px;
        min-width: 260px;

        background: #ffffff;
        border-radius: 12px;
        border: 1px solid rgba(148, 163, 184, 0.35);
        box-shadow: 0 14px 32px rgba(15, 23, 42, 0.18);

        list-style: none;
        padding: 6px 0 8px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(6px);
        transition: opacity .18s ease, transform .18s ease;
        z-index: 60;
    }

    /* Top gold bar matching theme */
    .header-style-two .navigation>li.dropdown>.submenu::before {
        content: "";
        position: absolute;
        left: 10px;
        right: 10px;
        top: 6px;
        height: 2px;
        border-radius: 999px;
        background: linear-gradient(90deg,
                var(--chardham-primary),
                var(--chardham-secondary));
    }

    /* show on hover */
    .header-style-two .navigation>li.dropdown:hover>.submenu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    /* each row */
    .header-style-two .navigation>li.dropdown>.submenu>li {
        margin: 0;
    }

    /* subtle separators */
    .header-style-two .navigation>li.dropdown>.submenu>li+li {
        border-top: 1px solid rgba(229, 231, 235, 0.9);
    }

    /* normal link style */
    .header-style-two .navigation>li.dropdown>.submenu>li>a {
        display: block;
        padding: 9px 16px;
        font-size: 13px;
        font-weight: 500;
        color: #111827;
        text-decoration: none;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        background-color: transparent;
        position: relative;
        transition: all .16s ease;
    }

    /* remove any old dots / icons */
    .header-style-two .navigation>li.dropdown>.submenu>li>a::before {
        content: none !important;
    }

    /* hover – light blue background + left border in theme color */
    .header-style-two .navigation>li.dropdown>.submenu>li>a:hover {
        background: rgba(111, 147, 176, 0.06);
        color: var(--chardham-secondary);
        padding-left: 20px;
        box-shadow: inset 3px 0 0 var(--chardham-secondary);
    }

    /* optional: headings like "3 Days Tours", use class="menu-heading" on those li */
    .header-style-two .navigation>li.dropdown>.submenu>li.menu-heading {
        padding: 6px 16px 4px;
        font-size: 12px;
        font-weight: 700;
        color: var(--chardham-primary);
        text-transform: uppercase;
        letter-spacing: 0.05em;
        border-top: none;
    }

    .header-style-two .navigation>li.dropdown>.submenu>li.menu-heading a {
        padding: 0;
        background: none;
        box-shadow: none;
        cursor: default;
        color: inherit;
    }
}

/* ========== MOBILE MENU LAYOUT ========== */
@media (max-width: 991.98px) {

    .mobile-menu {
        position: fixed;
        inset: 0;
        z-index: 9999;
        /* visibility handled already: see your existing .mobile-menu rules */
        display: block;
        /* ensure it exists so the transitions work */
    }

    .mobile-menu .menu-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(15, 23, 42, 0.65);
    }

    .mobile-menu-inner {
        position: absolute;
        top: 0;
        right: 0;
        width: 82%;
        max-width: 360px;
        height: 100%;
        background: #ffffff;
        box-shadow: -8px 0 24px rgba(15, 23, 42, 0.25);
        padding: 16px 18px 24px;
        display: flex;
        flex-direction: column;
    }

    .mobile-menu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
    }

    .mobile-menu-logo img {
        max-height: 70px;
        width: auto;
        display: block;
    }

    .mobile-menu-close {
        border: none;
        background: transparent;
        font-size: 30px;
        line-height: 1;
        cursor: pointer;
        color: #111827;
    }

    .mobile-nav {
        flex: 1;
        overflow-y: auto;
        padding-right: 4px;
        margin-top: 4px;
    }

    .mobile-nav-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .mobile-nav-list>li {
        border-bottom: 1px solid #e5e7eb;
        padding: 0;
    }

    .mobile-item-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .mobile-item-header>a {
        flex: 1;
        padding: 10px 0;
        font-size: 14px;
        font-weight: 500;
        color: #111827;
        text-decoration: none;
    }

    .submenu-toggle {
        width: 32px;
        height: 32px;
        border-radius: 999px;
        border: 1px solid #e5e7eb;
        background: #f9fafb;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        cursor: pointer;
    }

    .submenu-toggle i {
        font-size: 13px;
        transition: transform .22s ease;
    }

    .mobile-item-header>a:hover {
        color: var(--chardham-secondary);
    }

    .mobile-nav-list>li>a {
        display: block;
        padding: 10px 0;
        font-size: 14px;
        font-weight: 500;
        color: #111827;
        text-decoration: none;
    }

    .mobile-nav-list>li>a:hover {
        color: var(--chardham-secondary);
    }

    /* collapsed by default */
    .has-submenu .mobile-submenu {
        max-height: 0;
        overflow: hidden;
        transition: max-height .25s ease;
        padding-left: 10px;
    }

    .has-submenu .mobile-submenu li a {
        display: block;
        padding: 6px 0;
        font-size: 13px;
        color: #4b5563;
        text-decoration: none;
    }

    .has-submenu .mobile-submenu li a:hover {
        color: var(--chardham-secondary);
    }

    /* when open */
    .has-submenu.open .mobile-submenu {
        max-height: 600px;
        /* enough for items */
    }

    .has-submenu.open .submenu-toggle i {
        transform: rotate(180deg);
    }

    /* Submenus: simple indent */
    .mobile-submenu {
        list-style: none;
        margin: 0 0 6px 0;
        padding: 0 0 4px 10px;
    }

    .mobile-submenu li a {
        display: block;
        padding: 6px 0;
        font-size: 13px;
        color: #4b5563;
        text-decoration: none;
    }

    .mobile-submenu li a:hover {
        color: var(--chardham-secondary);
    }

    .mobile-menu-cta a {
        display: block;
        margin-top: 10px;
        padding: 10px 14px;
        text-align: center;
        border-radius: 999px;
        background: linear-gradient(135deg, var(--chardham-primary), var(--chardham-secondary));
        color: #ffffff;
        font-size: 13px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        text-decoration: none;
    }

    .mobile-menu-cta a:hover {
        opacity: 0.9;
    }
}

/* ==== DESKTOP: FULL HEADER FIXED TOP ==== */
.header-style-two.inner-page-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1200;
}

/* ===== HERO SECTION (BACKGROUND SLIDER) ===== */
.hero-section {
    position: relative;
    overflow: visible;
}

/* Background carousel height */
.hero-section .hero-bg-carousel .carousel-item img {
    height: 640px;
    object-fit: cover;
    object-position: center;
}


/* Dark overlay so text & form are readable */
.hero-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 3;
}

/* Foreground content wrapper */
.hero-content {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: flex-end;
    /* booking bar bottom pe */
    padding-bottom: 28px;
}

.hero-content .container {
    position: relative;
}

/* Title + subtitle above bar */
.hero-text-wrap {
    margin-bottom: 18px;
    color: #ffffff;
    text-align: center;
    /* ⬅️ text center */
    width: 100%;
    /* ⬅️ center block full width */
    display: flex;
    flex-direction: column;
    align-items: center;
    /* ⬅️ h1 + p both centered */
}


.hero-main-title {
    font-size: 50px;
    font-weight: 800;
    margin-bottom: 8px;
}

.hero-main-title {
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.65);
}

.hero-main-subtitle {
    text-shadow: 0 3px 8px rgba(0, 0, 0, 0.55);
}


.hero-main-subtitle {
    font-size: 14px;
    max-width: 520px;
    margin: 0 auto;
    /* ⬅️ center perfectly */
    color: #ffffff;
}


/* ===== BOOKING BAR – NEW STYLE ===== */
.hero-booking-card {
    background: radial-gradient(circle at top left, #f6e4b2 0%, #c28e1f 45%, #8b5c11 100%);
    border-radius: 26px;
    padding: 14px 22px 18px;
    max-width: 1120px;
    margin: 0 auto -85px;
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.9);
    border: 1px solid #94a3b899;
    position: relative;
    overflow: hidden;
}

/* Default: hide everywhere */
.hero-booking-card {
    display: none;
}

/* Show only on mobile */
@media (max-width: 767.98px) {
    .hero-booking-card {
        display: block;
    }
}

/* Soft shine overlay */
.hero-booking-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.24), transparent 40%, transparent 60%, rgba(0, 0, 0, 0.08));
    opacity: 0.7;
    pointer-events: none;
}

/* Inner content wrapper so overlay upar na aaye */
.hero-booking-card form,
.hero-booking-head {
    position: relative;
    z-index: 1;
}

/* Small heading row */
.hero-booking-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.hb-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 14px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.9);
    color: #fef3c7;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.hb-text {
    margin: 0;
    font-size: 12px;
    color: #fff7d6;
    opacity: 0.95;
}

/* Main row */
.hero-booking-row {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: nowrap;
}

/* Individual field block */
.hero-field {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

/* Date field thoda chhota */
.hero-field-date {
    max-width: 150px;
}

/* Labels */
.hero-booking-card label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #fef9c3;
    margin-bottom: 4px;
    margin-left: 6px;
}

/* Input container – for border and focus glow */
.hero-input-wrap {
    position: relative;
    border-radius: 999px;
    padding: 1px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.6), rgba(15, 23, 42, 0.4));
}

/* Inputs */


/* Focus state with glow on wrapper */
.hero-input-wrap:focus-within {
    box-shadow: 0 0 0 1px rgba(254, 243, 199, 0.8), 0 0 0 4px rgba(15, 23, 42, 0.35);
}

/* Button + note */
.hero-btn-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.hero-booking-btn {
    border: none;
    border-radius: 999px;
    padding: 11px 26px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    background: linear-gradient(135deg, #0f172a, #1e293b);
    color: #ffffff;
    cursor: pointer;
    white-space: nowrap;
    transition: transform 0.12s ease, box-shadow 0.12s ease, opacity 0.12s ease;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.9);
}

.hero-booking-btn:hover {
    opacity: 0.96;
    transform: translateY(-1px);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 1);
}

.hb-note {
    font-size: 10px;
    color: #fef3c7;
    opacity: 0.9;
}


/* ===== MOBILE BOOKING FORM – RESPONSIVE ===== */
@media (max-width: 767.98px) {
    .hero-booking-card {
        border-radius: 26px;
        padding: 14px 14px 16px;
        max-width: 100%;
        margin: 18px auto 10px;
        /* mobile me overlap kam */
        box-shadow: 0 16px 40px rgba(15, 23, 42, 0.9);
    }

    .hero-booking-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .hb-badge {
        font-size: 10px;
        padding: 3px 12px;
    }

    .hb-text {
        font-size: 11px;
    }

    .hero-booking-row {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .hero-field,
    .hero-field-date {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .hero-booking-card label {
        font-size: 11px;
        margin-left: 4px;
    }


    .hero-btn-wrap {
        align-items: stretch;
        margin-top: 4px;
    }

    .hero-booking-btn {
        width: 100%;
        text-align: center;
        letter-spacing: 0.18em;
        padding: 12px 14px;
    }

    .hb-note {
        text-align: center;
        font-size: 10px;
    }

    /* Hide hero heading/subtitle in mobile (aapka pehle ka rule) */
    .hero-text-wrap {
        display: none !important;
    }
}

/* ===== INTRO / ABOUT SECTION BELOW HERO ===== */

.chardham-intro-section {
    position: relative;
    padding: 60px 0 70px;
    background: #f9fafb;
}

.intro-text-block {
    max-width: 720px;
}

/* Eyebrow top */
.intro-pill {
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    padding: 4px 10px;
    border-radius: 999px;
    background: #6F93B0;
    color: #ffffff;
}

.intro-tagline {
    font-size: 13px;
    color: #4b5563;
}

/* Title */
.intro-title {
    font-size: 32px;
    line-height: 1.25;
    font-weight: 800;
    color: #111827;
    margin-bottom: 10px;
}

.intro-title span {
    display: block;
    font-weight: 700;
    color: #6F93B0;
}

/* Divider */
.intro-divider {
    width: 70px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #6F93B0, #C28E1F);
    margin: 12px 0 20px;
}

/* Paragraphs */
.intro-body p {
    font-size: 18px;
    line-height: 1.8;
    color: #4b5563;
    margin-bottom: 14px;
}

/* Chips */
.intro-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    /* spacing between chips */
    margin-top: 12px;
}

.intro-chips .chip {
    font-size: 12px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(111, 147, 176, 0.08);
    color: #6F93B0;
    border: 1px solid rgba(111, 147, 176, 0.35);
    white-space: nowrap;
    /* prevent unwanted text break */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    backdrop-filter: blur(6px);
    /* premium glass look */
    transition: .25s ease;
}

/* ===== RIGHT CARD ===== */
.intro-highlight-card {
    position: relative;
    margin-top: 15px;
    padding: 22px 20px 18px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow:
        0 18px 40px rgba(15, 23, 42, 0.15),
        0 0 0 1px rgba(229, 231, 235, 0.9);
    border-top: 4px solid #C28E1F;
}

.ihc-badge {
    display: inline-block;
    font-size: 17px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 700;
    color: #6F93B0;
    margin-bottom: 12px;
}

/* Bullets */
.ihc-list .dot {
    width: 10px;
    height: 10px;
    margin-top: 5px;
    border-radius: 50%;
    background: #C28E1F;
    box-shadow: 0 0 0 3px rgba(194, 142, 31, 0.25);
    flex: 0 0 10px;
}

.ihc-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    list-style: none;
}

.ihc-list h4 {
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 4px;
    color: #111827;
}

.ihc-list p {
    font-size: 15px;
    color: #6b7280;
    margin: 0;
}

/* Stats */
.ihc-footer {
    display: flex;
    gap: 14px;
    border-top: 1px dashed #e5e7eb;
    padding-top: 10px;
    margin-top: 4px;
}

.ihc-stat {
    font-size: 18px;
    font-weight: 800;
    color: #C28E1F;
}

.ihc-stat small {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: #6F93B0;
}

/* Responsive */
@media (max-width: 991.98px) {
    .chardham-intro-section {
        padding: 90px 0 55px;
    }

    .intro-title {
        font-size: 26px;
    }

    .intro-highlight-card {
        margin-top: 30px;
    }
}

@media (max-width: 767.98px) {
    .chardham-intro-section {
        padding: 70px 0 45px;
    }

    .intro-title {
        font-size: 24px;
    }

    .intro-body p {
        font-size: 16px;
    }
}


/* ===== TAXI FLEET SECTION  ===== */
.fleet-section {
    background: #f9fafb;
    padding: 30px 0;
}

/* top intro */
.fleet-intro-text {
    margin-bottom: 24px;
}

.fleet-kicker {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 700;
    color: #6F93B0;
    display: inline-block;
    margin-bottom: 6px;
}

.fleet-title {
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 12px;
    color: #111827;
    text-align: left;
}

.fleet-title span {
    color: #C28E1F;
}

.fleet-intro-text p {
    font-size: 18px;
    line-height: 1.8;
    color: #4b5563;
    margin-bottom: 10px;
}

.fleet-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.fleet-badges span {
    font-size: 12px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(111, 147, 176, 0.08);
    border: 1px solid rgba(111, 147, 176, 0.25);
    color: #1f2933;
}

/* taxi */
:root {
    --taxi-primary: #6F93B0;
    --taxi-accent: #C28E1F;
}

/* SECTION & GRID */
.taxi-section {
    padding: 60px 0;
}

.taxi-container {
    max-width: 1180px;
    margin: auto;
    padding: 0 15px;
}

.taxi-grid {
    display: grid;
    gap: 25px;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

/* CARD */
.taxi-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
    transition: 0.3s;
}

.taxi-card:hover {
    transform: translateY(-6px);
}

/* IMAGE FRAME */
.taxi-card-img {
    padding: 0;
    /* no space now */
    background: none;
    /* remove gradient frame */
}

.taxi-card-img-inner {
    border-radius: 20px 20px 0 0;
    overflow: hidden;
}

.taxi-card-img img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    /* image fills without gap */
    display: block;
}

/* TITLE & PRICE */
.taxi-card-body {
    padding: 16px 22px 12px;
}

.taxi-title {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    color: var(--taxi-primary);
    margin: 4px 0 6px;
}

.taxi-price-wrap {
    text-align: center;
    margin-bottom: 10px;
}

.taxi-price {
    color: var(--taxi-accent);
    font-weight: 700;
}

.taxi-price-line {
    display: block;
    width: 60px;
    height: 3px;
    margin: 6px auto 0;
    background: var(--taxi-accent);
    border-radius: 20px;
}

/* Title & Price Row Layout */
.taxi-title-price {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 6px 0 6px;
    padding: 0 4px;
}

.taxi-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    color: var(--taxi-primary);
}

.taxi-price {
    font-size: 16px;
    font-weight: 700;
    color: var(--taxi-accent);
    white-space: nowrap;
}


/* FEATURES – CLEAN 2-COLUMN TEXT */
.taxi-features {
    list-style: none;
    padding: 14px 0 0;
    margin: 0;
    border-top: 1px solid #eceff5;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    /* hamesha 2 columns */
    column-gap: 16px;
    row-gap: 8px;
    font-size: 14px;
}

.taxi-features li {
    display: flex;
    align-items: center;
    line-height: 1.4;
}

.tf-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(111, 147, 176, 0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    flex-shrink: 0;
}

.tf-icon i {
    font-size: 14px;
    color: var(--taxi-accent);
}

.tf-text strong {
    color: #333;
    font-weight: 600;
}

.tf-text {
    color: #666;
}

/* BUTTONS */
.taxi-card-footer {
    display: flex;
    gap: 10px;
    padding: 10px 18px 14px;
}

.taxi-btn {
    flex: 1;
    text-align: center;
    padding: 10px 14px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    transition: 0.25s;
    text-decoration: none;
    border: 2px solid transparent;
}

.taxi-btn.details {
    background: var(--taxi-primary);
    color: #fff;
}

.taxi-btn.details:hover {
    background: #fff;
    color: var(--taxi-primary);
    border-color: var(--taxi-primary);
}

.taxi-btn.book {
    background: var(--taxi-accent);
    color: #fff;
}

.taxi-btn.book:hover {
    background: #fff;
    color: var(--taxi-accent);
    border-color: var(--taxi-accent);
}

/* Car Type Badge */
.taxi-type {
    font-size: 12px;
    font-weight: 600;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 30px;
    background: rgba(194, 142, 31, 0.15);
    color: #C28E1F;
    letter-spacing: 0.5px;
    vertical-align: middle;
    text-transform: uppercase;
}


/* Heading Section */
.taxi-heading-wrap {
    text-align: center;
    margin-bottom: 40px;
}

.taxi-subtitle {
    display: block;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #6F93B0;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.taxi-heading {
    font-size: 38px;
    font-weight: 800;
    margin: 0;
    line-height: 1.2;
    color: #0F1A2A;
    /* dark navy like sample */
}

.taxi-heading span {
    color: #C28E1F;
    /* gold accent */
}


.why-choose-area {
    background-image: url('/images/tours/Badrinath-in-Fog.webp');
    /* change URL */
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    position: relative;
    padding: 50px 15px 45px;
    color: #fff;
}

/* Dark overlay to make text visible */
.why-choose-area::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top left, rgba(194, 142, 31, 0.55), rgba(62, 74, 88, 0.88));
    /* backdrop-filter: blur(3px); */
}

.why-choose-area>.container {
    position: relative;
    z-index: 2;
}

.why-choose-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.25fr);
    gap: 40px;
    align-items: center;
}

/* Left */
.why-badge {
    display: inline-block;
    border: 1px solid rgba(255, 255, 255, 0.45);
    padding: 6px 18px;
    border-radius: 30px;
    margin-bottom: 12px;
    font-size: 13px;
    letter-spacing: 1px;
    background: rgba(0, 0, 0, 0.35);
}

.why-left h2 {
    font-size: 36px;
    margin-bottom: 10px;
    line-height: 1.3;
    font-weight: 700;
    color: #ffffff;
}

.why-left h2 span {
    color: #C28E1F;
}

.why-left p {
    font-size: 12px;
    line-height: 1.75;
    margin-bottom: 18px;
}

.why-points {
    list-style: none;
    margin: 0;
    padding: 0;
}

.why-points li {
    font-size: 15px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.why-points i {
    margin-right: 8px;
    color: #C28E1F;
    font-size: 17px;
}

/* Cards */
.why-right {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.why-card {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 18px 16px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    transition: all .35s ease;
    backdrop-filter: blur(4px);
    position: relative;
}

.why-card:hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.16);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.55);
}

.why-icon {
    background: linear-gradient(135deg, #C28E1F, #6F93B0);
    width: 55px;
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
    margin-bottom: 12px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.45);
}

.why-icon i {
    color: #fff;
    font-size: 24px;
}

.why-card h3 {
    font-size: 18px;
    margin-bottom: 6px;
    font-weight: 600;
    color: #C28E1F;
}

.why-card p {
    font-size: 14px;
    line-height: 1.65;
}

/* Trust strip */
.why-trust-strip {
    margin-top: 25px;
    background: rgba(0, 0, 0, 0.40);
    padding: 10px 20px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    justify-content: center;
    font-size: 14px;
}

.why-trust-strip i {
    margin-right: 6px;
    color: #C28E1F;
}

/* Responsive */
@media (max-width: 992px) {
    .why-choose-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .why-right {
        grid-template-columns: 1fr;
    }

    .why-choose-area {
        background-attachment: scroll;
        padding: 55px 12px 50px;
    }
}

/* Mobile fix for trust strip */
@media (max-width: 575px) {
    .why-trust-strip {
        flex-direction: column;
        /* 1 item per row */
        gap: 10px;
        /* spacing between items */
        padding: 12px 18px;
        border-radius: 14px;
        text-align: center;
    }

    .why-trust-strip div {
        width: 100%;
        justify-content: center;
        font-size: 14px;
    }
}

@media (max-width: 575px) {
    .why-trust-strip div {
        padding-bottom: 8px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    }

    .why-trust-strip div:last-child {
        border-bottom: none;
    }
}

/* tour */
:root {
    --themeBlue: #6F93B0;
    --themeGold: #C28E1F;
}

.tour-pro-head {
    text-align: center;
    margin-bottom: 28px;
}

.tour-pro-head h2 {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 6px;
    color: #1f2933;
}

.tour-pro-head h2 span {
    color: var(--themeGold);
}

.tour-pro-head p {
    font-size: 14px;
    color: #4b5563;
}


/* GRID WRAPPER */
.tour-pro-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    /* 4 cards in one row */
    gap: 18px;
}

/* 3 / 2 / 1 cards on smaller screens */
@media (max-width: 1199px) {
    .tour-pro-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .tour-pro-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .tour-pro-grid {
        grid-template-columns: 1fr;
    }
}

/* FEATURES ROW (Guide, Transfer, Breakfast, Hotel, Sightseeing) */
.tour-pro-features {
    background: rgba(111, 147, 176, 0.10);
    border-radius: 12px;
    padding: 8px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-top: 6px;
}

.tour-pro-feature-item {
    text-align: center;
    flex: 1;
}

.tour-pro-feature-item i {
    font-size: 18px;
    color: #3a3a3a;
    display: block;
    margin-bottom: 2px;
}

.tour-pro-feature-item span {
    font-size: 10px;
    font-weight: 500;
    color: #333;
}

/* FREE CANCELLATION / PART PAYMENT TAGS */
.tour-pro-tags {
    display: flex;
    align-items: center;
    /* Fix vertical height variation */
    gap: 6px;
    max-width: 65%;
    /* Enough room for price */
    flex-wrap: wrap;
    line-height: 1;
}

.tour-pro-tag {
    font-size: 10px;
    padding: 4px 7px;
    border-radius: 6px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.tour-pro-tag.free {
    background: #6F93B0;
    color: #fff;
}

.tour-pro-tag.part {
    background: #C28E1F;
    color: #fff;
}

/* RESPONSIVE GRID BREAKPOINTS */
@media (max-width: 1199px) {
    .tour-pro-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .tour-pro-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .tour-pro-grid {
        grid-template-columns: 1fr;
    }
}


/* CARD */
.tour-pro-card {
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(111, 147, 176, 0.25);
    display: flex;
    flex-direction: column;
    position: relative;
}

/* IMAGE WRAP */
.tour-pro-image-wrap {
    position: relative;
    overflow: hidden;
}

.tour-pro-image-wrap img {
    width: 100%;
    height: 300px;
    /* ⬅ compact image */
    object-fit: cover;
    display: block;
}

/* DURATION CHIP */
.tour-pro-chip {
    position: absolute;
    left: 14px;
    bottom: 12px;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.tour-pro-chip i {
    color: var(--themeGold);
}

/* BODY */
.tour-pro-body {
    padding: 12px 14px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tour-pro-title {
    font-size: 18px;
    font-weight: 900;
    margin: 0;
    color: #111827;
}

/* META */
.tour-pro-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tour-pro-meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(111, 147, 176, 0.08);
    color: #4b5563;
}

.tour-pro-meta span i {
    color: var(--themeBlue);
    font-size: 12px;
}

/* FOOTER */
.tour-pro-footer {
    padding-top: 10px;
    border-top: 1px dashed rgba(111, 147, 176, 0.25);
}

.tour-pro-price {
    font-size: 12px;
    color: #374151;
}


/* PRICE RIGHT SIDE */
.tour-pro-price strong {
    font-size: 18px;
    font-weight: 700;
    color: var(--themeGold);
    white-space: nowrap;
}

/* TAGS + PRICE WRAPPER */
.tour-pro-row {
    display: flex;
    align-items: center;
    /* This aligns price properly */
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
    flex-wrap: nowrap;
}

/* BUTTONS */
.tour-pro-actions {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}

.tour-pro-actions a {
    flex: 1;
    /* Equal width */
    text-align: center;
    font-size: 14px;
    padding: 10px 0;
    /* Uniform height */
    border-radius: 999px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    cursor: pointer;
    transition: 0.25s ease;
}

.tour-pro-features {
    background: rgba(111, 147, 176, 0.10);
    border-radius: 12px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    /* 5 items always in 1 row */
    align-items: center;
    text-align: center;
    gap: 6px;
    margin-top: 8px;
}

/* View Details - outline */
/* VIEW DETAILS – clean outline primary */
.btn-view {
    background: #ffffff;
    /* white pill */
    color: #284564;
    /* dark blue text */
    border: 2px solid #6F93B0;
    /* theme blue border */
    box-shadow: 0 3px 8px rgba(111, 147, 176, 0.35);
}

.btn-view:hover {
    background: #6F93B0;
    /* fill on hover */
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(111, 147, 176, 0.55);
}

/* BOOK NOW – solid, punchy gold CTA */
.btn-book {
    background: #C28E1F;
    /* strong gold */
    color: #ffffff;
    border: 2px solid #C28E1F;
    box-shadow: 0 4px 12px rgba(194, 142, 31, 0.6);
}

.btn-book:hover {
    background: #E2B33A;
    /* brighter gold on hover */
    color: #ffffff;
    box-shadow: 0 5px 16px rgba(194, 142, 31, 0.7);
}


/* RATING */
.tour-pro-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    margin-top: -2px;
}

.tour-pro-rating .stars {
    color: #C28E1F;
    /* Gold stars */
    font-weight: 700;
    letter-spacing: 1px;
}

.rating-text {
    color: #4b5563;
    font-size: 11px;
}

/* ✅ MOBILE FIXES */
@media (max-width: 575px) {

    .tour-pro-body {
        padding: 10px 10px 12px;
        gap: 6px;
    }

    /* Image thodi chhoti so card compact rahe */
    .tour-pro-image-wrap img {
        height: 350px;
    }

    /* FEATURES – 5 icons in one row, just smaller */
    .tour-pro-feature-item i {
        font-size: 15px;
        margin-bottom: 2px;
    }

    .tour-pro-feature-item span {
        font-size: 9px;
    }

    /* TAGS – center aligned, no overflow */

    .tour-pro-tag {
        font-size: 10px;
        padding: 5px 12px;
    }

    /* Footer – price upar, buttons neeche full width style */
    .tour-pro-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }



    .btn-view,
    .btn-book {
        font-size: 11px;
        padding: 7px 8px;
    }
}

/* about us */
:root {
    --tp-primary: #6F93B0;
    --tp-accent: #C28E1F;
}

/* SECTION WRAPPER */
.about-neo {
    position: relative;
    padding: 80px 0;
    background: radial-gradient(circle at top left,
            rgba(111, 147, 176, 0.25),
            #f3f4f6 40%,
            #ffffff 80%);
    overflow: hidden;
}

.about-neo::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle at center,
            rgba(194, 142, 31, 0.16),
            transparent 70%);
    top: -160px;
    right: -80px;
    pointer-events: none;
}

/* INNER GRID */
.about-neo-inner {
    position: relative;
    z-index: 1;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 18px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr);
    gap: 40px;
    align-items: center;
}

/* LEFT SIDE */
.about-neo-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 14px;
    border-radius: 999px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #111827;
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.6);
}

.about-neo-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: radial-gradient(circle at center,
            var(--tp-accent),
            var(--tp-primary));
}

.about-neo-title {
    margin: 18px 0 14px;
    font-size: 34px;
    line-height: 1.25;
    color: #111827;
    font-weight: 800;
}

.about-neo-title span {
    background: linear-gradient(135deg, var(--tp-primary), var(--tp-accent));
    -webkit-background-clip: text;
    color: transparent;
}

.about-neo-text {
    font-size: 15px;
    line-height: 1.8;
    color: #4b5563;
    max-width: 520px;
}

/* FEATURE LIST */
.about-neo-features {
    margin-top: 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.about-neo-feature {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: flex-start;
}

.about-neo-icon-circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: radial-gradient(circle at top,
            rgba(111, 147, 176, 0.9),
            rgba(111, 147, 176, 0.5));
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: 0 10px 18px rgba(148, 163, 184, 0.7);
}

.about-neo-icon-dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: radial-gradient(circle at center,
            #fff,
            var(--tp-accent));
}

.about-neo-feature h4 {
    margin: 0 0 3px;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
}

.about-neo-feature p {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.7;
}

/* TAG CHIPS */
.about-neo-chips {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.about-neo-chip {
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.7);
    background: rgba(255, 255, 255, 0.9);
    font-size: 12px;
    color: #111827;
}

/* RIGHT SIDE */
.about-neo-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.about-neo-stats-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-left: 18px;
}

.about-neo-stats-row {
    display: flex;
    gap: 14px;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}


/* MAIN CARD */
.about-neo-card {
    position: relative;
    border-radius: 24px;
    padding: 22px 22px 20px;
    background: linear-gradient(135deg,
            #ffffff,
            rgba(111, 147, 176, 0.05));
    border: 1px solid rgba(148, 163, 184, 0.7);
    box-shadow:
        0 18px 35px rgba(15, 23, 42, 0.18),
        0 0 0 1px rgba(255, 255, 255, 0.7);
    overflow: hidden;
    flex: 1 1 auto;
    /* ✅ card takes available width */
}


.about-neo-card::before {
    content: "";
    position: absolute;
    inset: -40%;
    background: radial-gradient(circle at top right,
            rgba(194, 142, 31, 0.2),
            transparent 55%);
    opacity: 0.6;
    pointer-events: none;
}

.about-neo-card>* {
    position: relative;
    z-index: 1;
}

.about-neo-label {
    display: inline-flex;
    padding: 4px 11px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: rgba(250, 250, 250, 0.95);
    border: 1px solid rgba(209, 213, 219, 0.9);
    color: #92400e;
}

.about-neo-card h3 {
    margin: 10px 0 8px;
    font-size: 20px;
    font-weight: 700;
    color: #111827;
}

.about-neo-card p {
    font-size: 14px;
    line-height: 1.7;
    color: #4b5563;
    margin-bottom: 16px;
}

/* STEPS */
.about-neo-steps {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;
}

.about-neo-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: flex-start;
    padding: 8px 10px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(226, 232, 240, 0.9);
}

.about-neo-step-no {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: #111827;
    background: linear-gradient(135deg, var(--tp-primary), var(--tp-accent));
}

.about-neo-step h5 {
    margin: 0 0 2px;
    font-size: 13px;
    font-weight: 600;
    color: #111827;
}

.about-neo-step p {
    margin: 0;
    font-size: 12px;
    color: #6b7280;
}

/* FOOTER */
.about-neo-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px dashed rgba(148, 163, 184, 0.9);
}

.about-neo-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: radial-gradient(circle at top,
            var(--tp-accent),
            var(--tp-primary));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    color: #111827;
}

.about-neo-footer-title {
    font-size: 13px;
    font-weight: 600;
    color: #111827;
}

.about-neo-footer-sub {
    font-size: 11px;
    color: #6b7280;
}

/* FLOATING STATS */
.about-neo-stat {
    min-width: 140px;
    padding: 12px 14px;
    text-align: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #6F93B0, #C28E1F);
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
}

.about-neo-stat-top {
    top: -10px;
}

.about-neo-stat-middle {
    top: 110px;
}

.about-neo-stat-bottom {
    top: 230px;
}

.about-neo-stat-number {
    font-size: 20px;
    font-weight: 700;
}

.about-neo-stat-label {
    font-size: 12px;
    text-transform: uppercase;
    line-height: 1.4;
    opacity: .95;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .about-neo-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .about-neo-right {
        padding-left: 0;
    }

    .about-neo-stat {
        position: static;
        margin-top: 10px;
    }

    .about-neo-right {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
}

@media (max-width: 640px) {
    .about-neo {
        padding: 60px 0;
    }

    .about-neo-title {
        font-size: 26px;
    }

    .about-neo-card {
        padding: 18px 16px 16px;
    }

    .about-neo-inner {
        padding: 0 14px;
    }
}

@media (max-width: 1024px) {
    .about-neo-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .about-neo-right {
        padding-left: 0;
        flex-direction: column;
    }

    .about-neo-stats-wrap {
        margin-left: 0;
        margin-top: 14px;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .about-neo-stat {
        margin-right: 10px;
    }
}

@media(max-width: 768px) {
    .about-neo-stats-row {
        flex-direction: column;
    }
}

/* slider */
/* SECTION */
.special-tour-section {
    padding: 60px 15px;
    background: #f4f5f7;
}

/* HEADER */
.special-tour-header {
    text-align: center;
    margin-bottom: 40px;
}

.special-tour-kicker {
    font-size: 12px;
    letter-spacing: 2px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--themeBlue);
    display: block;
    margin-bottom: 6px;
}

.special-tour-title {
    font-size: 40px;
    font-weight: 800;
    color: #000000;
    margin-bottom: 10px;
}

.special-tour-title span {
    color: var(--themeGold);
}

.special-tour-subtext {
    text-align: center;
    max-width: 680px;
    margin: 0 auto;
    font-size: 15px;
    color: #4b5563;
    line-height: 1.6;
}

/* SLIDER ROW */
.special-tour-grid {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    padding: 5px 5px 12px;
    scroll-snap-type: x mandatory;
}

.special-tour-grid::-webkit-scrollbar {
    display: none;
}

/* CARD – desktop */
.special-tour-card {
    position: relative;
    flex: 0 0 360px;
    height: 450px;
    border-radius: 18px;
    overflow: hidden;
    background: #000;
    scroll-snap-align: start;
    color: #fff;
}

/* BACKGROUND IMAGE */
.special-tour-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

/* BLUE OVERLAY LIKE BHUTAN CARD */
.special-tour-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
            rgba(15, 23, 42, 0.10) 0%,
            /* clearer top */
            rgba(15, 23, 42, 0.35) 42%,
            /* light fade */
            rgba(15, 23, 42, 0.70) 68%,
            /* visible but soft */
            rgba(15, 23, 42, 0.92) 100%
            /* strong only bottom */
        );
    z-index: 1;
}

/* BADGE */
.special-tour-badge {
    position: absolute;
    top: 12px;
    left: 14px;
    z-index: 3;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.9);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
}

/* INFO BLOCK – BHUTAN STYLE */
.special-tour-info {
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 18px 18px 18px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 10px;
}

.special-tour-top {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* TITLE */
.special-tour-name {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
}

/* ROUTE PILL */
.special-tour-route {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.18);
    width: auto;
    max-width: fit-content;
    white-space: nowrap;
}

.special-tour-route i {
    font-size: 13px;
    color: var(--themeGold);
}

/* THIN DIVIDER */
.special-tour-divider {
    height: 1px;
    margin: 10px 0 8px;
    background: rgba(255, 255, 255, 0.25);
}

/* META ROW (duration + season) */
.special-tour-meta-row {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 12px;
}

.special-tour-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.special-tour-meta-item i {
    font-size: 13px;
    color: var(--themeGold);
}

/* BOTTOM ROW – price + rating */
.special-tour-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 6px;
    gap: 10px;
}

/* PRICE BLOCK */
.special-tour-old-price {
    font-size: 13px;
    text-decoration: line-through;
    opacity: 0.85;
    margin-right: 6px;
    color: #dcdcdc;
}

.special-tour-new-price {
    font-size: 20px;
    font-weight: 800;
    color: var(--themeGold);
}

/* RATING BLOCK */
.special-tour-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
}

.special-tour-rating-stars i {
    color: #FFCC33;
    font-size: 15px;
}

.special-tour-rating-count {
    font-size: 12px;
    opacity: 0.9;
}

/* HOVER EFFECT */
.special-tour-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.special-tour-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 35px rgba(15, 23, 42, 0.45);
}

/* LINK WRAPPER AS FLEX ITEM */
.special-tour-link {
    display: block;
    flex: 0 0 360px;
    /* ✅ same desktop width as pehle */
    scroll-snap-align: start;
    text-decoration: none;
}

/* Card fills full width of link */
.special-tour-card {
    width: 100%;
    height: 450px;
    /* jo height aapne upar set ki hai */
}

/* ===================== */
/*   RESPONSIVE STYLES   */
/* ===================== */

/* Tablet */
@media (max-width: 992px) {
    .special-tour-title {
        font-size: 32px;
    }

    .special-tour-card {
        flex: 0 0 320px;
        height: 420px;
    }
}

/* Small tablet / large mobile */
@media (max-width: 768px) {
    .special-tour-section {
        padding: 40px 12px;
    }

    .special-tour-title {
        font-size: 30px;
    }

    .special-tour-card {
        flex: 0 0 320px;
        height: 400px;
    }
}

/* Mobile */
@media (max-width: 575px) {
    .special-tour-section {
        padding: 36px 10px;
    }

    .special-tour-header {
        margin-bottom: 24px;
    }

    .special-tour-title {
        font-size: 24px;
    }

    .special-tour-subtext {
        font-size: 14px;
    }

    .special-tour-grid {
        gap: 14px;
        padding: 4px 2px 10px;
    }

    .special-tour-card {
        flex: 0 0 100%;
        height: 360px;
        /* enough height for all text */
        border-radius: 16px;
    }

    .special-tour-link {
        flex: 0 0 100%;
        /* ✅ mobile par full width */
    }

    .special-tour-info {
        padding: 14px 14px 16px;
    }

    .special-tour-name {
        font-size: 15px;
    }

    .special-tour-route {
        font-size: 11px;
        padding: 4px 10px;
        max-width: 100%;
        white-space: normal;
        /* mobile pe wrap allow */
    }

    .special-tour-meta-row {
        flex-wrap: wrap;
        gap: 12px;
        font-size: 11px;
    }

    .special-tour-meta-item i {
        font-size: 12px;
    }

    .special-tour-new-price {
        font-size: 18px;
    }

    .special-tour-rating-stars i {
        font-size: 13px;
    }
}



/* feature tour */
/* SECTION WRAPPER */
.featured-tour-section {
    padding: 20px 15px;
}

/* SLIDER WRAPPER */
.featured-tour-slider {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 20px 0;
    scrollbar-width: none;
}

.featured-tour-slider::-webkit-scrollbar {
    display: none;
}

/* GRID – ROW OF CARDS */
.featured-tour-grid {
    display: flex;
    gap: 24px;
    padding-left: 6px;
}

/* CARD */
.featured-tour-card {
    position: relative;
    flex: 0 0 calc(50% - 12px);
    height: 500px;
    border-radius: 22px;
    overflow: hidden;
    background: #000;
    scroll-snap-align: center;
}

.featured-tour-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
            rgba(15, 23, 42, 0.10) 0%,
            /* clearer top */
            rgba(15, 23, 42, 0.35) 42%,
            /* light fade */
            rgba(15, 23, 42, 0.70) 68%,
            /* visible but soft */
            rgba(15, 23, 42, 0.92) 100%
            /* strong only bottom */
        );
    z-index: 1;
}

/* FULL-CARD LINK */
.featured-tour-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
    position: relative;
}

.featured-tour-card:hover .featured-tour-link {
    cursor: pointer;
}

/* IMAGE */
.featured-tour-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: brightness(1.15);
    /* 🔆 pehle 1.03 tha */
    transition: transform 0.4s ease, filter 0.4s ease;
    z-index: 0;
}

.featured-tour-card:hover .featured-tour-img {
    transform: scale(1.05);
    filter: brightness(1.22);
}


/* LABEL */
.featured-tour-label {
    position: absolute;
    top: 16px;
    left: 18px;
    padding: 5px 14px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, var(--themeBlue), var(--themeGold));
    letter-spacing: 0.6px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
    z-index: 2;
}

/* INFO OVERLAY (special-tour-style) */
.featured-tour-info {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 18px 18px 16px;
    color: #fff;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 10px;
}

.featured-tour-top {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* TITLE */
.featured-tour-name {
    font-size: 19px;
    font-weight: 800;
    line-height: 1.35;
    color: #fff;
}

/* ROUTE PILL */
.featured-tour-route {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px;
    font-size: 12px;
    border-radius: 999px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.18);
    white-space: nowrap;
    width: auto;
    max-width: fit-content;
}

.featured-tour-route i {
    color: var(--themeGold);
    font-size: 13px;
}

/* DIVIDER */
.featured-tour-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.25);
    margin: 10px 0 6px;
}

/* META ROW */
.featured-tour-meta-row {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 12px;
}

.featured-tour-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.featured-tour-meta-item i {
    color: var(--themeGold);
}

/* BOTTOM ROW: PRICE + STARS */
.featured-tour-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.featured-tour-old-price {
    font-size: 13px;
    text-decoration: line-through;
    opacity: 0.85;
    color: #dcdcdc;
}

.featured-tour-new-price {
    font-size: 20px;
    font-weight: 800;
    color: var(--themeGold);
}

.featured-tour-rating {
    display: flex;
    align-items: center;
    gap: 4px;
}

.featured-tour-rating-stars i {
    color: #FFCC33;
}

.featured-tour-rating-count {
    font-size: 12px;
    opacity: 0.9;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 992px) {
    .featured-tour-card {
        height: 400px;
    }
}

@media (max-width: 768px) {
    .featured-tour-grid {
        gap: 16px;
    }

    .featured-tour-card {
        flex: 0 0 88%;
        height: 400px;
    }
}

@media (max-width: 575px) {
    .featured-tour-section {
        padding: 32px 10px;
    }

    .featured-tour-card {
        flex: 0 0 100%;
        height: 400px;
    }

    .featured-tour-info {
        padding: 14px;
        gap: 8px;
    }

    .featured-tour-name {
        font-size: 16px;
    }

    .featured-tour-new-price {
        font-size: 18px;
    }

    .featured-tour-route {
        font-size: 11px;
        padding: 4px 10px;
        max-width: 100%;
        white-space: normal;
    }

}

/* tables */
/* SECTION WRAPPER */
.big-fare-section {
    padding: 40px 0;
    background: #f7f7f7;
    /* thoda dark so white tables pop */
}

.big-fare-container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 16px;
}


/* GRID OF BIG TABLES */
.big-fare-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(520px, 1fr));
    gap: 26px;
}

/* BOX AROUND EACH TABLE */
.big-fare-box {
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.16);
    overflow: hidden;
    border: 2px solid rgba(148, 163, 184, 0.8);
}

/* HEADER AREA OF BOX */
.big-fare-box-head {
    padding: 14px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    background: linear-gradient(90deg, var(--tp-primary), var(--tp-accent));
    color: #ffffff;
}

.big-fare-box-head h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
}

/* SMALL TAG ON RIGHT */
.big-fare-tag {
    font-size: 12px;
    padding: 5px 11px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    background: rgba(255, 255, 255, 0.24);
    border: 1px solid rgba(255, 255, 255, 0.7);
}

.big-fare-tag.alt {
    background: rgba(0, 0, 0, 0.16);
}

/* MAIN TABLE */
.big-fare-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}

.big-fare-table thead tr {
    background: linear-gradient(90deg, #f9fafb, #e5e7eb);
}

.big-fare-table th,
.big-fare-table td {
    padding: 11px 20px;
    text-align: left;
    border-bottom: 1px solid #e5e7eb;
}

.big-fare-table th {
    font-weight: 700;
    color: #111827;
}

/* zebra rows for better visibility */
.big-fare-table tbody tr:nth-child(odd) {
    background-color: #f9fafb;
}

.big-fare-table tbody tr:nth-child(even) {
    background-color: #ffffff;
}

/* hover highlight */
.big-fare-table tbody tr:hover {
    background-color: rgba(111, 147, 176, 0.18);
}

/* PRICE COLUMN MORE VISIBLE */
.big-fare-table td:nth-child(3) {
    font-weight: 700;
    color: var(--tp-accent);
    text-align: left;
}

/* NOTE UNDER TABLE */
.big-fare-note {
    padding: 10px 20px 14px;
    font-size: 13px;
    color: #4b5563;
    background: #f9fafb;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .big-fare-grid {
        grid-template-columns: 1fr;
    }


    .big-fare-table th,
    .big-fare-table td {
        padding: 9px 12px;
        font-size: 14px;
    }

    .big-fare-box-head h3 {

        font-size: 15px;

    }
}

/* hotel */

.hotel-box-section {
    padding: 55px 0;
}

.hotel-box-container {
    max-width: 1180px;
    margin: auto;
    padding: 0 16px;
}

.hotel-box-title {
    text-align: center;
    font-size: 28px;
    font-weight: 800;
    color: #1f2b38;
    margin-bottom: 22px;
    /* heading ke niche kam gap */
}

.hotel-box-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    /* cards ke beech thoda kam gap */
}

/* CARD BOX */
.hotel-box-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0px 10px 24px rgba(15, 23, 42, 0.14);
    transition: .25s ease;
}

.hotel-box-card:hover {
    transform: translateY(-5px);
    box-shadow: 0px 14px 32px rgba(15, 23, 42, 0.20);
}

/* IMAGE */
.hotel-box-img {
    position: relative;
    height: 190px;
    /* image thodi chhoti = overall height kam */
}

.hotel-box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hotel-rating-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: var(--tp-accent);
    color: #fff;
    font-size: 12px;
    padding: 5px 9px;
    border-radius: 7px;
    font-weight: 700;
}

/* HOTEL TEXT */
.hotel-name {
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
    padding: 10px 14px 0;
    line-height: 1.2;
}

.hotel-place {
    font-size: 12px;
    color: #6b7280;
    padding: 0 14px 6px;
}

/* FEATURES – compact chips */
.hotel-features {
    padding: 0 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 4px;
}

.hotel-features li {
    font-size: 10px;
    background: #f8fafc;
    padding: 3px 8px;
    border-radius: 999px;
    border: 1px solid rgba(111, 147, 176, 0.38);
}

/* PRICE – thoda sa upar, less gap */
.hotel-price-box {
    padding: 8px 14px 4px;
    display: flex;
    gap: 4px;
    align-items: baseline;
}

.hotel-price {
    font-size: 19px;
    font-weight: 800;
    color: var(--tp-accent);
}

.hotel-per {
    font-size: 11px;
    color: #6b7280;
}

.hotel-buttons {
    padding: 10px 14px 16px;
    display: flex;
    gap: 12px;
}

/* Base Button Style – Full Capsule Shape */
.hotel-btn {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    height: 42px;
    /* Perfect Height */
    border-radius: 50px;
    /* Capsule Shape */
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: .3px;
    cursor: pointer;
    transition: all .25s ease;
    position: relative;
    overflow: hidden;
}

/* Ghost (Details) */
.hotel-btn.ghost {
    border: 2px solid var(--tp-primary);
    color: var(--tp-primary);
    background-color: #fff;
}

.hotel-btn.ghost:hover {
    background-color: var(--tp-primary);
    color: #fff;
    box-shadow: 0 8px 20px rgba(111, 147, 176, 0.4);
    transform: translateY(-2px);
}

/* Solid Golden (Book) */
.hotel-btn.solid {
    background: linear-gradient(135deg, var(--tp-accent), #b78314);
    color: #fff;
    border: none;
    box-shadow: 0 6px 16px rgba(194, 142, 31, 0.35);
}

.hotel-btn.solid:hover {
    background: linear-gradient(135deg, #d29b10, #c28e1f);
    box-shadow: 0 10px 24px rgba(194, 142, 31, 0.45);
    transform: translateY(-3px);
}

/* Optional Ripple Hover Effect */
.hotel-btn::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    left: var(--x);
    top: var(--y);
    transition: width .45s ease, height .45s ease;
}

.hotel-btn:hover::after {
    width: 240px;
    height: 240px;
}


/* Mobile */
@media(max-width:575px) {
    .hotel-box-section {
        padding: 45px 0;
    }

    .hotel-box-img {
        height: 170px;
    }

    .hotel-box-title {
        font-size: 24px;
        margin-bottom: 18px;
    }
}

/* routes */
/* SECTION */
.mv-pop-routes {
    padding: 70px 15px;
    background: #f9fafb;
}

.mv-pop-container {
    max-width: 1140px;
    margin: 0 auto;
}

/* HEAD */
.mv-pop-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 34px;
}

.mv-pop-kicker {
    display: inline-block;
    padding: 4px 14px;
    border-radius: 999px;
    background: rgba(194, 142, 31, 0.14);
    color: #C28E1F;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.mv-pop-head h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 12px 0 6px;
    color: #111827;
}

.mv-pop-head p {
    font-size: 14px;
    color: #6b7280;
}

/* GRID */
.mv-pop-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

/* CARD BASE */
.mv-route-card {
    position: relative;
    display: flex;
    align-items: stretch;
    text-decoration: none;
    border-radius: 18px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.10);
    transition: .25s ease-in-out;
    border: 1px solid rgba(148, 163, 184, 0.32);
}

/* Colored spine on left */
.mv-route-spine {
    width: 8px;
    background: linear-gradient(180deg, #6F93B0, #C28E1F);
}

/* MAIN CONTENT */
.mv-route-main {
    flex: 1;
    padding: 16px 18px 14px;
}

/* TITLE ROW */
.mv-route-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
}

.mv-route-title-row h3 {
    font-size: 17px;
    font-weight: 800;
    color: #111827;
    margin: 0;
}

/* TAGS / LABELS */
.mv-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    /* add */
    min-width: auto;
    /* add */
    max-width: fit-content;
    /* add */
    padding: 4px 10px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .14em;
    border-radius: 999px;
    border: 1px solid rgba(111, 147, 176, 0.5);
    color: #1f2937;
    background: rgba(111, 147, 176, 0.10);
    white-space: nowrap;
    /* prevent wrapping */
}

.mv-tag-gold {
    border-color: rgba(194, 142, 31, 0.7);
    background: rgba(194, 142, 31, 0.15);
    color: #78350f;
}

/* SUB TEXT */
.mv-route-sub {
    font-size: 13px;
    color: #6b7280;
    margin: 0 0 10px;
}

/* META ROW */
.mv-route-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
}

.mv-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #374151;
}

.mv-meta-item i {
    font-size: 13px;
    color: #6F93B0;
}

/* HOVER EFFECTS */
.mv-route-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right,
            rgba(111, 147, 176, 0.09),
            transparent 55%);
    opacity: 0;
    transition: .25s ease-in-out;
}

.mv-route-card:hover::before {
    opacity: 1;
}

.mv-route-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18);
    border-color: rgba(111, 147, 176, 0.7);
}

.mv-route-card:hover .mv-route-spine {
    background: linear-gradient(180deg, #C28E1F, #6F93B0);
}

/* ZIG-ZAG FEEL (slight offset) */
.mv-pop-grid>.mv-route-card:nth-child(odd) {
    transform: translateY(4px);
}

.mv-pop-grid>.mv-route-card:nth-child(even) {
    transform: translateY(-4px);
}

.mv-pop-grid>.mv-route-card:hover {
    transform: translateY(-2px);
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .mv-pop-grid {
        grid-template-columns: 1fr;
    }

    .mv-pop-grid>.mv-route-card:nth-child(odd),
    .mv-pop-grid>.mv-route-card:nth-child(even) {
        transform: none;
    }
}

@media (max-width: 600px) {
    .mv-route-main {
        padding: 14px 14px 12px;
    }

    .mv-route-title-row h3 {
        font-size: 16px;
    }

    .mv-route-meta {
        gap: 8px 12px;
    }
}


/* review */
/* REVIEWS SECTION */
.reviews-section {
    padding: 70px 15px;
    background: #f3f4f6;
}

/* HEADER */
.reviews-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px;
}

.reviews-kicker {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--themeBlue);
    padding: 4px 14px;
    border-radius: 999px;
    background: rgba(111, 147, 176, 0.08);
}

.reviews-title {
    margin: 14px 0 10px;
    font-size: 28px;
    font-weight: 800;
    color: #111827;
}

.reviews-title span {
    color: var(--themeGold);
}

.reviews-subtext {
    margin: 0;
    font-size: 14px;
    color: #6b7280;
}

/* GRID */
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

/* CARD */
.review-card {
    position: relative;
    border-radius: 20px;
    padding: 20px 20px 18px;
    background: radial-gradient(circle at top left, rgba(111, 147, 176, 0.12), #ffffff);
    box-shadow: 0 16px 35px rgba(15, 23, 42, 0.15);
    border: 1px solid rgba(148, 163, 184, 0.3);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.review-card::before {
    content: "“";
    position: absolute;
    right: 18px;
    top: -10px;
    font-size: 70px;
    font-weight: 700;
    color: rgba(194, 142, 31, 0.12);
    pointer-events: none;
}

.review-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 55px rgba(15, 23, 42, 0.25);
    border-color: rgba(194, 142, 31, 0.6);
}

/* TOP ROW */
.review-top-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.review-avatar {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--themeBlue), var(--themeGold));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f9fafb;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.4);
}

.review-user h3 {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 2px;
    color: #111827;
}

.review-user span {
    font-size: 12px;
    color: #6b7280;
}

/* RATING */
.review-rating {
    display: flex;
    align-items: center;
    gap: 3px;
    margin-bottom: 10px;
}

.review-rating .star {
    font-size: 15px;
    color: #facc15;
}

.review-rating .star-fade {
    color: #e5e7eb;
}

.rating-text {
    margin-left: 6px;
    font-size: 12px;
    color: #4b5563;
    font-weight: 600;
}

/* TEXT */
.review-text {
    font-size: 13px;
    line-height: 1.7;
    color: #374151;
    margin: 0 0 10px;
}

.review-meta {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #9ca3af;
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .reviews-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .reviews-section {
        padding: 50px 12px;
    }

    .reviews-grid {
        grid-template-columns: 1fr;
    }
}

/* FAQ SECTION */
.faq-section {
    padding: 40px 15px;
    background: #ffffff;
}

/* HEADER */
.faq-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px;
}

.faq-kicker {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--themeBlue);
    padding: 4px 14px;
    border-radius: 999px;
    background: rgba(111, 147, 176, 0.08);
}

.faq-title {
    margin: 14px 0 10px;
    font-size: 28px;
    font-weight: 800;
    color: #111827;
}

.faq-title span {
    color: var(--themeGold);
}

.faq-subtext {
    margin: 0;
    font-size: 14px;
    color: #6b7280;
}

/* FAQ LIST WRAPPER */
.faq-list {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* FAQ ITEM */
.faq-item {
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    background: radial-gradient(circle at top left, rgba(111, 147, 176, 0.06), #f9fafb);
    padding: 0;
    overflow: hidden;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

/* Remove default arrow */
.faq-item summary {
    list-style: none;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

/* SUMMARY (QUESTION ROW) */
.faq-item summary {
    cursor: pointer;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
}

/* QUESTION TEXT */
.faq-item summary span {
    flex: 1;
}

/* PLUS / MINUS ICON */
.faq-item summary::after {
    content: "+";
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: var(--themeBlue);
    background: #ffffff;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* CONTENT (ANSWER) */
.faq-content {
    padding: 0 18px 16px;
    border-top: 1px solid rgba(209, 213, 219, 0.8);
}

.faq-content p {
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 1.7;
    color: #4b5563;
}

/* OPEN STATE */
.faq-item[open] {
    border-color: rgba(194, 142, 31, 0.8);
    background: radial-gradient(circle at top left, rgba(194, 142, 31, 0.12), #ffffff);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
}

.faq-item[open] summary::after {
    content: "–";
    background: linear-gradient(135deg, var(--themeBlue), var(--themeGold));
    color: #f9fafb;
    border-color: transparent;
}

/* HOVER */
.faq-item summary:hover {
    background: rgba(249, 250, 251, 0.95);
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .faq-section {
        padding: 30px 12px;
    }

    .faq-title {
        font-size: 24px;
    }
}

/* gov. section */
/* SECTION BG */
.govtrust-section {
    padding: 70px 15px;
    background: radial-gradient(circle at top left,
            rgba(111, 147, 176, 0.16) 0%,
            #f9fafb 45%,
            rgba(194, 142, 31, 0.12) 100%);
}

/* TOP HEADER */
.govtrust-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 32px;
}

/* Center badge */
.govtrust-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px 16px;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.15);
    border: 1px solid rgba(148, 163, 184, 0.5);
    margin-bottom: 14px;
}

.govtrust-badge-icon {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 30% 0,
            var(--themeGold),
            var(--themeBlue));
    color: #fff;
    font-size: 14px;
}

.govtrust-badge-text small {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.6px;
    color: #6b7280;
}

.govtrust-badge-text strong {
    font-size: 13px;
    font-weight: 700;
    color: #111827;
}

/* Heading */
.govtrust-title {
    font-size: 32px;
    font-weight: 800;
    color: #111827;
    margin-bottom: 8px;
}

.govtrust-title span {
    color: var(--themeGold);
}

.govtrust-sub {
    font-size: 14px;
    color: #4b5563;
    line-height: 1.7;
}

/* MIDDLE RIBBON CARD */
.govtrust-ribbon-card {
    position: relative;
    margin: 0 auto 30px;
    max-width: 1000px;
    border-radius: 999px;
    padding: 18px;
    background: rgba(255, 255, 255, 0.42);
    /* lighter glass */
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.65);
    overflow: hidden;
}

/* Wrapper */
.govtrust-ribbon {
    width: 100%;
    overflow: hidden;
    padding: 35px 0;
    background: linear-gradient(90deg, #DAE1E7, #F6ECD4);
    border-radius: 60px;
    margin: 40px 0;
    position: relative;
}

/* Track – Continuous Animation */
.govtrust-track {
    display: flex;
    align-items: center;
    gap: 32px;
    width: max-content;
    animation: ribbonScroll 22s linear infinite;
}

.govtrust-track:hover {
    animation-play-state: paused;
    /* Stop scroll on hover */
}

/* =========================
   GOVT LOGO PILL – FULL COVER LOGO
   ========================= */
.govtrust-logo-pill {
    width: 180px;
    height: 100px;
    border-radius: 18px;
    background: transparent;
    /* no white bg now */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    padding: 0;
}

.govtrust-logo-pill img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 📌 full cover */
    display: block;
    border-radius: 18px;
    /* same radius as card */
}

/* Hover */
.govtrust-logo-pill:hover {
    transform: scale(1.07);
    box-shadow: 0 16px 45px rgba(15, 23, 42, 0.28);
}

/* Responsive sizes */
@media (max-width: 768px) {
    .govtrust-logo-pill {
        width: 160px;
        height: 90px;
    }
}

@media (max-width: 480px) {
    .govtrust-logo-pill {
        width: 135px;
        height: 80px;
    }
}

/* Animation Loop */
@keyframes ribbonScroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

/* Soft light glow inside */
.govtrust-ribbon-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 10% 10%,
            rgba(111, 147, 176, 0.7) 0%,
            transparent 45%),
        radial-gradient(circle at 90% 90%,
            rgba(194, 142, 31, 0.9) 0%,
            transparent 50%);
    opacity: 0.65;
    pointer-events: none;
}

/* Logo pills row */
.govtrust-ribbon-logos {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}


/* BOTTOM GRID ITEMS */
.govtrust-bottom-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    max-width: 980px;
    margin: 0 auto;
}

.govtrust-item {
    background: #ffffff;
    border-radius: 18px;
    padding: 18px 16px 16px;
    box-shadow: 0 14px 35px rgba(15, 23, 42, 0.10);
    border: 1px solid rgba(148, 163, 184, 0.4);
}

.govtrust-item i {
    font-size: 20px;
    color: var(--themeBlue);
    margin-bottom: 8px;
}

.govtrust-item h3 {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 4px;
}

.govtrust-item p {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.6;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 992px) {
    .govtrust-bottom-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .govtrust-ribbon-card {
        border-radius: 30px;
    }
}

@media (max-width: 575px) {
    .govtrust-section {
        padding: 50px 12px;
    }

    .govtrust-title {
        font-size: 24px;
    }

    .govtrust-ribbon-card {
        padding: 10px 10px;
        border-radius: 26px;
    }

    .govtrust-ribbon-logos {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .govtrust-ribbon-logos::-webkit-scrollbar {
        display: none;
    }

    .govtrust-bottom-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* features */
/* SECTION */
.hf-section {
    padding: 40px 0;
    background: radial-gradient(circle at top left,
            rgba(111, 147, 176, 0.10),
            #ffffff 40%,
            rgba(194, 142, 31, 0.10));
}

/* HEADING */
.hf-head {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 50px;
}

.hf-kicker {
    display: inline-block;
    padding: 6px 18px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    border-radius: 50px;
    color: var(--themeGold);
    border: 1px solid rgba(194, 142, 31, 0.4);
    background: rgba(255, 216, 145, 0.15);
    text-transform: uppercase;
}

.hf-title {
    font-size: 32px;
    font-weight: 800;
    margin: 14px 0 10px;
    color: #1f2937;
}

.hf-sub {
    font-size: 16px;
    color: #4b5563;
    line-height: 1.6;
}

/* FEATURE CARDS WRAP */
.hf-timeline {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 26px;
    flex-wrap: wrap;
    /* important for responsiveness */
}

/* SINGLE CARD */
.hf-step {
    position: relative;
    flex: 1 1 calc(25% - 24px);
    max-width: 270px;
    text-align: center;
    padding: 30px 20px 26px;
    border-radius: 20px;
    background: #ffffff;
    border: 2px solid rgba(111, 147, 176, 0.10);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07);
    transition: .28s ease;
}

/* ICON */
.hf-icon {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    margin: 0 auto 20px;
    background: linear-gradient(145deg, var(--themeBlue), var(--themeGold));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 30px;
    box-shadow: 0 8px 25px rgba(15, 23, 42, .32);
    transition: .3s ease;
}

/* TEXT INSIDE CARD */
.hf-card h3 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 10px;
    color: #111827;
}

.hf-card p {
    font-size: 15px;
    color: #4b5563;
    line-height: 1.55;
}

/* NUMBER BADGE – now clearly visible */
.hf-number {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #ffffff;
    color: #1f2937;
    font-size: 13px;
    font-weight: 800;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(194, 142, 31, 0.4);
    box-shadow: 0 4px 10px rgba(15, 23, 42, .15);
    z-index: 3;
}

/* HOVER */
.hf-step:hover {
    transform: translateY(-8px);
    border-color: var(--themeBlue);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.20);
}

.hf-step:hover .hf-icon {
    transform: scale(1.08);
    box-shadow: 0 20px 45px rgba(15, 23, 42, .45);
}

/* ---------- RESPONSIVE ---------- */

/* 1200px and below – 2 cards per row */
@media (max-width: 1200px) {
    .hf-step {
        flex: 1 1 calc(50% - 24px);
        max-width: none;
    }
}

/* 768px and below – 1 card per row & smaller headings */
@media (max-width: 768px) {
    .hf-section {
        padding: 40px 0;
    }

    .hf-title {
        font-size: 26px;
    }

    .hf-sub {
        font-size: 14px;
    }

    .hf-timeline {
        gap: 18px;
    }

    .hf-step {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .hf-icon {
        width: 62px;
        height: 62px;
        font-size: 26px;
    }

    .hf-card h3 {
        font-size: 16px;
    }

    .hf-card p {
        font-size: 14px;
    }
}

/* Very small screens */
@media (max-width: 480px) {
    .hf-head {
        padding: 0 16px;
    }

    .hf-step {
        padding: 26px 18px 22px;
    }
}

/* ====== NEW FOOTER (v2) ====== */
footer.mv-footer-v2 {
    margin: 0;
    padding-bottom: 0;
}

.mv-footer-v2 {
    padding: 60px 0 22px;
    color: #e5eefb;
    background: linear-gradient(110deg,
            #1d2733 0%,
            #1f2d3d 25%,
            #2d2b20 55%,
            #b48b2a 100%);
    position: relative;
    overflow: hidden;
}

/* SOFT LIGHT SHINE */
.mv-footer-v2::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 15% 10%,
            rgba(255, 255, 255, 0.10) 0,
            transparent 60%),
        radial-gradient(circle at 85% 85%,
            rgba(0, 0, 0, 0.35) 0,
            transparent 65%);
    opacity: 1;
    pointer-events: none;
}

/* SOFT GOLD TOP LINE */
.mv-footer-v2::after {
    content: "";
    position: absolute;
    top: 0;
    left: 8%;
    right: 8%;
    height: 2px;
    background: linear-gradient(90deg, #6f93b0, #cfa247, #6f93b0);
    opacity: 0.8;
}

.mv-footer-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) repeat(3, minmax(0, 1.3fr));
    gap: 40px;
}

/* LOGO */
.mv-footer-logo {
    width: 130px;
    height: auto;
    margin-bottom: 10px;
}

.mv-footer-logo img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Contact Column */
footer.mv-footer-v2 {
    margin: 0;
    padding-bottom: 0;
}

.mv-footer-label {
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 1.8px;
    color: rgba(226, 232, 240, 0.8);
    margin-bottom: 6px;
    font-weight: 900;
}

.mv-footer-heading {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 10px;
    color: #ffffff;
}

.mv-footer-text {
    font-size: 14px;
    line-height: 1.7;
    color: rgba(226, 232, 240, 0.9);
    max-width: 420px;
}

.mv-footer-contact-list {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mv-footer-contact-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.mv-footer-icon-box {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: linear-gradient(135deg, #6f93b0, #c28e1f);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 17px;
    flex-shrink: 0;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
}

.mv-footer-item-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    color: rgba(148, 163, 184, 0.95);
}

.mv-footer-contact-link {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    color: #f9fafb;
    text-decoration: none;
    margin-top: 2px;
}

.mv-footer-contact-link:hover {
    color: var(--themeGold, #fbbf24);
}

.mv-footer-contact-text {
    font-size: 14px;
    color: rgba(226, 232, 240, 0.92);
    margin-top: 2px;
}

/* Other Columns */
.mv-footer-col {
    position: relative;
    z-index: 1;
}

.mv-footer-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 14px;
    color: #ffffff;
}

.mv-footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mv-footer-links li+li {
    margin-top: 6px;
}

.mv-footer-links a {
    font-size: 14px;
    color: rgba(226, 232, 240, 0.86);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color .2s ease, transform .2s ease;
}

.mv-footer-links a::before {
    content: "›";
    font-size: 12px;
    opacity: 0;
    transform: translateX(-4px);
    transition: all .2s ease;
}

.mv-footer-links a:hover {
    color: var(--themeGold, #fbbf24);
    transform: translateX(2px);
}

.mv-footer-links a:hover::before {
    opacity: 1;
    transform: translateX(0);
}

/* Social in last column */
.mv-footer-follow-title {
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    margin: 20px 0 12px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.mv-footer-social-links {
    display: flex;
    gap: 14px;
}

.mv-footer-social-links a {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 18px;
    text-decoration: none;
    transition: .25s ease-in-out;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25);
}

.mv-footer-social-links a:hover {
    background: var(--themeGold, #F0C75E);
    color: #111827;
    transform: translateY(-4px) scale(1.08);
}

/* ===== BOTTOM GRADIENT BAR – FULL WIDTH, THEME COLORS ===== */
.mv-footer-bottom {
    width: 100%;
    background: linear-gradient(120deg,
            #C28E1F 0%,
            /* Gold start */
            #1d2733 45%,
            /* Dark blue middle */
            #6F93B0 100%
            /* Theme blue last */
        );

    color: #ffffff;
    padding: 10px 6%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 500;
    box-sizing: border-box;
}

.mv-footer-copy {
    margin: 0;
}

.mv-footer-bottom-links {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.mv-footer-bottom-links a {
    color: #ffffff;
    text-decoration: none;
    font-weight: 500;
}

.mv-footer-bottom-links a:hover {
    color: #ffffff;
    text-decoration: underline;
}

/* MOBILE */
@media (max-width: 640px) {
    .mv-footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 6px;
        padding: 10px 16px;
    }
}

/* ===========================
   RESPONSIVE STYLES
   =========================== */

/* Tablet: 2 columns */
@media (max-width: 991px) {
    .mv-footer-v2 {
        padding: 50px 0 20px;
    }

    .mv-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 30px;
    }

    .mv-footer-heading {
        font-size: 20px;
    }
}

/* Mobile: single column, center alignment */
@media (max-width: 640px) {
    .mv-footer-v2 {
        padding: 40px 0 18px;
    }

    .mv-footer-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
    }

    .mv-footer-col {
        text-align: left;
    }

    .mv-footer-contact-item {
        align-items: center;
    }

    .mv-footer-logo {
        width: 120px;
        margin-bottom: 12px;
    }

    .mv-footer-heading {
        font-size: 19px;
    }

    .mv-footer-text,
    .mv-footer-links a,
    .mv-footer-contact-text,
    .mv-footer-contact-link {
        font-size: 13px;
    }

    /* Follow us centered on mobile */
    .mv-footer-follow-title {
        margin-top: 18px;
    }

    .mv-footer-social-links {
        justify-content: flex-start;
        margin-bottom: 12px;
    }

}

/* <!-- client photos --> */
/* SECTION WRAPPER */
.mv-gallery-section {
    padding: 40px 0;
}

/* GALLERY HEADING */
.mv-gallery-head {
    text-align: center;
    margin-bottom: 48px;
}

.mv-gallery-kicker {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--themeGold, #cfa247);
    display: block;
    margin-bottom: 6px;
}

.mv-gallery-title {
    font-size: 36px;
    font-weight: 900;
    color: #111827;
    margin: 0;
}

/* Golden center underline */
.mv-gallery-underline {
    width: 70px;
    height: 4px;
    background: linear-gradient(90deg, #6f93b0, #cfa247);
    margin: 10px auto 12px;
    border-radius: 4px;
}

/* Subtitle */
.mv-gallery-sub {
    font-size: 14px;
    color: #6b7280;
    max-width: 600px;
    margin: 0 auto;
}


/* ROWS */
.mv-gallery-row {
    position: relative;
    overflow: hidden;
    margin-bottom: 26px;
}

/* Hover on full row should pause */
.mv-gallery-row:hover .mv-gallery-track {
    animation-play-state: paused;
}

/* TRACK – moving strip */
.mv-gallery-track {
    display: flex;
    gap: 18px;
    width: max-content;
}

/* ITEMS */
.mv-gallery-item {
    flex: 0 0 260px;
    height: 340px;
    /* Fixed height row */
    border-radius: 20px;
    overflow: hidden;
}

.mv-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* ⭐ Fill whole box properly */
    object-position: center;
    /* Center crop for best look */
    display: block;
}


/* ANIMATIONS */
@keyframes mv-gallery-left {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@keyframes mv-gallery-right {
    0% {
        transform: translateX(-50%);
    }

    100% {
        transform: translateX(0);
    }
}

/* TOP ROW – move LEFT */
.mv-gallery-row-top .mv-gallery-track {
    animation: mv-gallery-left 40s linear infinite;
}

/* BOTTOM ROW – move RIGHT */
.mv-gallery-row-bottom .mv-gallery-track {
    animation: mv-gallery-right 40s linear infinite;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 991px) {
    .mv-gallery-item {
        flex-basis: 200px;
        height: 260px;
    }

    .mv-gallery-head h2 {
        font-size: 28px;
    }
}

@media (max-width: 640px) {
    .mv-gallery-section {
        padding: 50px 0;
    }

    .mv-gallery-item {
        flex-basis: 170px;
        height: 230px;
    }

    .mv-gallery-head h2 {
        font-size: 24px;
    }

    .mv-gallery-head p {
        font-size: 13px;
    }
}




/* About US */


/* ---------- HERO SECTION ---------- */
.cd-hero {
    padding-top: 40px;
    padding-bottom: 40px;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.75)),
        url('/images/tours/Gangotri.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #f9fafb;
    position: relative;
    overflow: hidden;
}

.cd-hero::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(111, 147, 176, 0.6), transparent 70%);
    bottom: -90px;
    left: -30px;
    opacity: 0.4;
    pointer-events: none;
}

.cd-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.2fr);
    gap: 40px;
    align-items: center;
}

.cd-hero-kicker {
    display: inline-block;
    padding: 4px 14px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.5);
    color: #e5e7eb;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .18em;
    border: 1px solid rgba(148, 163, 184, 0.6);
    margin-bottom: 12px;
}

.cd-hero-title {
    font-size: 32px;
    line-height: 1.2;
    font-weight: 800;
    margin-bottom: 10px;
}

.cd-hero-title span {
    color: #C28E1F;
}

.cd-hero-sub {
    font-size: 14px;
    color: #cbd5f5;
    max-width: 520px;
    margin-bottom: 16px;
}

/* LOCATIONS STRIP */
.cd-hero-location-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-bottom: 14px;
}

.cd-hero-location-strip span {
    font-size: 11px;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.7);
    background: rgba(15, 23, 42, 0.6);
    color: #e5e7eb;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cd-hero-location-strip i {
    font-size: 11px;
    color: #C28E1F;
}

/* BULLETS */
.cd-hero-bullets {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-bottom: 18px;
}

.cd-hero-bullets span {
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #e5e7eb;
}

.cd-hero-bullets i {
    font-size: 13px;
    color: #C28E1F;
}

/* CTA */
.cd-hero-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin-bottom: 16px;
}

.cd-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 22px;
    border-radius: 999px;
    background: linear-gradient(120deg, #C28E1F, #6F93B0);
    color: #0f172a;
    font-size: 14px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.4);
}

.cd-btn-primary:hover {
    color: #fff;
}

.cd-btn-primary i {
    font-size: 13px;
}

.cd-hero-contact {
    font-size: 12px;
    color: #e5e7eb;
}

.cd-hero-contact strong {
    color: #ffffff;
}

/* RIGHT CARD */
.cd-hero-right {
    position: relative;
}

.cd-hero-card {
    position: relative;
    background: rgba(15, 23, 42, 0.9);
    border-radius: 20px;
    padding: 18px 18px 14px;
    border: 1px solid rgba(148, 163, 184, 0.6);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(10px);
    overflow: hidden;
}

.cd-hero-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 70% 20%, rgba(194, 142, 31, 0.3), transparent 55%);
    opacity: 0.9;
    pointer-events: none;
}

/* Card top */
.cd-hero-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.cd-hero-card-label {
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.7);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #e5e7eb;
}

.cd-hero-card-label i {
    font-size: 13px;
    color: #C28E1F;
}

.cd-hero-card-badge span {
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(250, 204, 21, 0.12);
    border: 1px solid rgba(250, 204, 21, 0.7);
    color: #facc15;
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
    /* fix extra height */
    white-space: nowrap;
    /* keep text in one line on wide screens */
}

/* Pills */
.cd-hero-yatra-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.cd-yatra-pill {
    padding: 8px 10px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.85);
    border: 1px solid rgba(148, 163, 184, 0.6);
    font-size: 12px;
    color: #e5e7eb;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cd-yatra-pill i {
    font-size: 13px;
    color: #C28E1F;
}

/* Card footer */
.cd-hero-card-footer {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    /* make it behave properly on smaller screens */
}

.cd-hero-footer-title {
    font-weight: 600;
    display: block;
    margin-bottom: 2px;
}

.cd-hero-footer-right {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    flex-shrink: 0;
}

.cd-hero-tag {
    white-space: nowrap;
    /* Prevents awkward text breaks */
    padding: 6px 12px;
    font-size: 11px;
    background: rgba(15, 23, 42, 0.8);
    border: 1px solid rgba(148, 163, 184, 0.7);
    border-radius: 999px;
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .cd-hero-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .cd-hero-right {
        max-width: 420px;
    }
}

@media (max-width: 768px) {
    .cd-hero {
        /* padding: 70px 15px 55px; */
    }

    .cd-hero-title {
        font-size: 26px;
    }
}


/* ========== WHO WE ARE SECTION ========== */

.cd-who-section {
    padding: 60px 0;
    background: radial-gradient(circle at top left, rgba(194, 142, 31, 0.08), transparent 50%),
        radial-gradient(circle at bottom right, rgba(111, 147, 176, 0.10), #fafbff 60%);
    position: relative;
    overflow: hidden;
}

.cd-who-section .container {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(280px, 1fr);
    gap: 40px;
    align-items: flex-start;
}

/* LEFT SIDE */

.cd-who-main {
    position: relative;
    z-index: 1;
}

.cd-who-tagline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.cd-chip,
.cd-chip-secondary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 13px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    font-weight: 600;
    white-space: nowrap;
}

.cd-chip {
    background: #6F93B0;
    color: #ffffff;
    box-shadow: 0 6px 15px rgba(5, 41, 73, 0.18);
}

.cd-chip-secondary {
    background: rgba(194, 142, 31, 0.08);
    color: #8a6715;
    border: 1px solid rgba(194, 142, 31, 0.3);
}

.cd-who-title {
    font-size: 32px;
    line-height: 1.25;
    margin-bottom: 16px;
    color: #102437;
    font-weight: 700;
}

.cd-who-intro {
    font-size: 16px;
    line-height: 1.7;
    color: #45566a;
    max-width: 650px;
    margin-bottom: 26px;
}

/* MAIN GRID (story + highlight) */

.cd-who-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, 1fr);
    gap: 24px;
    margin-bottom: 28px;
}

.cd-who-block {
    background: #ffffff;
    border-radius: 18px;
    padding: 20px 22px;
    box-shadow: 0 12px 35px rgba(16, 36, 55, 0.06);
    border: 1px solid rgba(111, 147, 176, 0.15);
}

.cd-who-block h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #163654;
    font-weight: 700;
}

.cd-who-block p {
    font-size: 15px;
    line-height: 1.7;
    color: #4a5b6f;
    margin-bottom: 10px;
}

/* HIGHLIGHT CARD */

.cd-who-highlight {
    background: linear-gradient(135deg, #102437, #233f5b);
    color: #f7f9ff;
    border-radius: 20px;
    padding: 18px 18px 16px;
    box-shadow: 0 16px 40px rgba(5, 21, 40, 0.55);
    position: relative;
    overflow: hidden;
}

.cd-who-highlight::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top right, rgba(194, 142, 31, 0.25), transparent 55%),
        radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.06), transparent 60%);
    opacity: 0.9;
    pointer-events: none;
}

.cd-highlight-top,
.cd-highlight-bottom {
    position: relative;
    z-index: 1;
}

.cd-highlight-label {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 8px;
}

.cd-highlight-list {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
}

.cd-highlight-list li {
    font-size: 14px;
    line-height: 1.6;
    padding-left: 18px;
    position: relative;
    margin-bottom: 6px;
    color: rgba(245, 249, 255, 0.95);
}

.cd-highlight-list li::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #C28E1F;
    position: absolute;
    left: 0;
    top: 7px;
}

/* STATS */

.cd-highlight-bottom {
    display: flex;
    gap: 14px;
    margin-top: 6px;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    padding-top: 10px;
}

.cd-stat {
    flex: 1;
    min-width: 0;
}

.cd-stat-number {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: #ffda73;
}

.cd-stat-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(235, 242, 255, 0.9);
}

/* CTA ROW */

.cd-who-cta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 20px;
    margin-top: 10px;
}

.cd-who-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 24px;
    border-radius: 999px;
    border: none;
    background: linear-gradient(135deg, #C28E1F, #e3b54b);
    color: #1b1403;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(194, 142, 31, 0.45);
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
    white-space: nowrap;
}

.cd-who-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(194, 142, 31, 0.55);
    background: linear-gradient(135deg, #e0af3d, #f2cb63);
    color: #fff;
}

.cd-who-cta-text p {
    margin: 0;
    font-size: 14px;
    color: #4c5b70;
}

/* RIGHT ASIDE */

.cd-who-aside {
    position: relative;
    z-index: 1;
}

.cd-aside-ribbon {
    display: inline-flex;
    padding: 5px 12px;
    border-radius: 999px;
    background: #102437;
    color: #f5f7ff;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    margin-bottom: 20px;
    box-shadow: 0 8px 25px rgba(5, 21, 40, 0.5);
}

.cd-aside-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 22px 22px 18px;
    box-shadow: 0 16px 40px rgba(16, 36, 55, 0.08);
    border: 1px solid rgba(111, 147, 176, 0.18);
}

.cd-aside-card h3 {
    font-size: 18px;
    margin-bottom: 8px;
    color: #163654;
    font-weight: 700;
}

.cd-aside-card>p {
    font-size: 14px;
    line-height: 1.7;
    color: #4b5e74;
    margin-bottom: 14px;
}

/* ASIDE LINES */

.cd-aside-lines {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
}

.cd-aside-line {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: flex-start;
}

.cd-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    border: 2px solid #C28E1F;
    box-shadow: 0 0 0 4px rgba(194, 142, 31, 0.15);
    margin-top: 4px;
}

.cd-aside-line h4 {
    font-size: 14px;
    margin: 0 0 2px;
    color: #1e3651;
    font-weight: 600;
}

.cd-aside-line p {
    font-size: 13px;
    margin: 0;
    color: #5b6b7f;
}

.cd-aside-tag {
    margin-top: 6px;
    padding: 8px 10px;
    border-radius: 12px;
    font-size: 12px;
    line-height: 1.6;
    background: rgba(111, 147, 176, 0.06);
    border: 1px dashed rgba(111, 147, 176, 0.45);
    color: #314256;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 992px) {
    .cd-who-section {
        padding: 45px 0;
    }

    .cd-who-section .container {
        grid-template-columns: minmax(0, 1fr);
    }

    .cd-who-aside {
        order: -1;
        /* show ribbon/card first on mobile if you prefer */
    }

    .cd-who-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .cd-who-title {
        font-size: 24px;
    }

    .cd-who-intro {
        font-size: 15px;
    }

    .cd-who-block,
    .cd-aside-card,
    .cd-who-highlight {
        border-radius: 16px;
        padding: 18px 16px;
    }

    .cd-highlight-bottom {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .cd-who-cta-row {
        align-items: flex-start;
    }

    .cd-who-btn-primary {
        width: 100%;
        justify-content: center;
    }
}

/* ========== WHY CHOOSE CHARDHAM CABS ========== */

.cd-section {
    padding: 40px 0;
    background: radial-gradient(circle at top right, rgba(111, 147, 176, 0.10), transparent 55%),
        radial-gradient(circle at bottom left, rgba(194, 142, 31, 0.10), #ffffff 60%);
    position: relative;
    overflow: hidden;
}

/* Features Grid */

.cd-features-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 10px;
}

/* Feature Card */

.cd-feature-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 18px 18px 16px;
    border: 1px solid rgba(111, 147, 176, 0.18);
    box-shadow: 0 14px 32px rgba(16, 36, 55, 0.06);
    position: relative;
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.cd-feature-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top left, rgba(194, 142, 31, 0.12), transparent 55%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
}

.cd-feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(10, 35, 60, 0.12);
    border-color: rgba(194, 142, 31, 0.55);
}

.cd-feature-card:hover::before {
    opacity: 1;
}

/* Icon Wrap */

.cd-feature-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: conic-gradient(from 160deg, #C28E1F, #f1d48a, #6F93B0, #C28E1F);
    padding: 1px;
    margin-bottom: 10px;
}

.cd-feature-icon-wrap i {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    background: #102437;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffde8a;
    font-size: 18px;
}

/* Title & Text */

.cd-feature-title {
    font-size: 16px;
    font-weight: 600;
    color: #163654;
    margin-bottom: 6px;
}

.cd-feature-text {
    font-size: 14px;
    line-height: 1.7;
    color: #526276;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 992px) {
    .cd-section {
        padding: 35px 0;
    }

    .cd-features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .cd-sec-title {
        font-size: 26px;
    }
}

@media (max-width: 640px) {
    .cd-sec-head {
        margin-bottom: 24px;
    }

    .cd-sec-title {
        font-size: 22px;
    }

    .cd-sec-sub {
        font-size: 14px;
    }

    .cd-features-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .cd-feature-card {
        padding: 16px 15px;
        border-radius: 16px;
    }
}

/* ========== FLEET & SERVICES ========== */

.cd-fleet-section {
    padding: 40px 0;
    background: radial-gradient(circle at top left, rgba(111, 147, 176, 0.08), transparent 55%),
        radial-gradient(circle at bottom right, rgba(194, 142, 31, 0.08), #f9fbff 60%);
    border-top: 1px solid rgba(111, 147, 176, 0.14);
    position: relative;
    overflow: hidden;
}

.cd-fleet-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr);
    gap: 30px;
    align-items: flex-start;
}

/* Left content block reuses .cd-sec-head styling from earlier sections */

/* Fleet Tags */

.cd-fleet-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 6px 0 16px;
}

.cd-fleet-tag {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.4;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(111, 147, 176, 0.35);
    color: #24364a;
    box-shadow: 0 6px 18px rgba(10, 35, 60, 0.06);
    white-space: nowrap;
}

/* Fleet List */

.cd-fleet-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.cd-fleet-list li {
    position: relative;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.7;
    color: #4a5b6f;
}

.cd-fleet-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #C28E1F;
    box-shadow: 0 0 0 4px rgba(194, 142, 31, 0.16);
}

/* Right Card */

.cd-fleet-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 20px 22px 18px;
    box-shadow: 0 18px 40px rgba(16, 36, 55, 0.08);
    border: 1px solid rgba(111, 147, 176, 0.2);
    position: relative;
    overflow: hidden;
}

/* Decorative strip */

.cd-fleet-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(16, 36, 55, 0.95), rgba(111, 147, 176, 0.9)) top left / 100% 4px no-repeat,
        radial-gradient(circle at top right, rgba(194, 142, 31, 0.22), transparent 60%);
    pointer-events: none;
    opacity: 0.9;
}

.cd-fleet-card>* {
    position: relative;
    z-index: 1;
}

.cd-fleet-card h3 {
    font-size: 18px;
    margin-bottom: 6px;
    color: #163654;
    font-weight: 700;
}

.cd-fleet-card>p {
    font-size: 14px;
    line-height: 1.7;
    color: #4b5e74;
    margin-bottom: 14px;
}

/* Mini grid inside card */

.cd-fleet-mini-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.cd-fleet-mini-item {
    padding: 10px 10px;
    border-radius: 14px;
    background: rgba(111, 147, 176, 0.04);
    border: 1px solid rgba(111, 147, 176, 0.25);
}

.cd-fleet-mini-item strong {
    display: block;
    font-size: 14px;
    color: #1f3954;
    margin-bottom: 2px;
}

.cd-fleet-mini-item span {
    display: block;
    font-size: 13px;
    color: #5a6b7f;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 992px) {
    .cd-fleet-section {
        padding: 35px 0;
    }

    .cd-fleet-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .cd-fleet-card {
        max-width: 480px;
        margin: 0 auto;
    }
}

@media (max-width: 640px) {
    .cd-fleet-tag {
        white-space: normal;
    }

    .cd-fleet-card {
        border-radius: 16px;
        padding: 18px 16px;
    }

    .cd-fleet-mini-item {
        padding: 9px 9px;
    }
}

/* ========== STATS BELT ========== */

.cd-stats-belt {
    padding: 40px 0;
    background: linear-gradient(to right,
            rgba(16, 36, 55, 0.95),
            rgba(16, 36, 55, 0.92)),
        radial-gradient(circle at center,
            rgba(194, 142, 31, 0.20),
            transparent 60%);
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Decorative shine overlay */
.cd-stats-belt::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top,
            rgba(255, 255, 255, 0.14),
            transparent 65%);
    pointer-events: none;
}

/* Stats Row */

.cd-stats-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    text-align: center;
    position: relative;
    z-index: 2;
}

/* Individual Stat */

.cd-stat-item {
    padding: 10px 0;
}

.cd-stat-item strong {
    display: block;
    font-size: 34px;
    font-weight: 700;
    color: #ffda73;
    /* gold highlight */
    letter-spacing: 0.5px;
    text-shadow: 0 4px 14px rgba(194, 142, 31, 0.45);
    margin-bottom: 4px;
}

.cd-stat-item span {
    font-size: 14px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #d7e4f2;
    opacity: 0.86;
}

/* Divider Lines Between Items */

.cd-stat-item:not(:last-child) {
    position: relative;
}

.cd-stat-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    height: 32px;
    width: 1px;
    background: rgba(255, 255, 255, 0.15);
}

/* ========== RESPONSIVE ========== */

@media (max-width: 992px) {
    .cd-stats-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 25px 20px;
    }

    .cd-stat-item:not(:last-child)::after {
        display: none;
    }
}

@media (max-width: 640px) {
    .cd-stats-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .cd-stat-item strong {
        font-size: 30px;
    }
}

/* ========== CTA / CONTACT ========== */

.cd-cta-section {
    padding: 60px 0 70px;
    overflow: hidden;
}

/* subtle overlay shine */
.cd-cta-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top, rgba(255, 255, 255, 0.14), transparent 65%);
    opacity: 0.8;
    pointer-events: none;
}

/* CTA Box */

.cd-cta-box {
    position: relative;
    z-index: 1;
    background: linear-gradient(135deg, rgba(16, 36, 55, 0.96), rgba(16, 36, 55, 0.9));
    border-radius: 22px;
    padding: 22px 24px 22px;
    box-shadow: 0 22px 55px rgba(4, 17, 33, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, 1fr);
    gap: 24px;
}

/* Decorative accent in corner */
.cd-cta-box::before {
    content: "";
    position: absolute;
    right: -40px;
    top: -40px;
    width: 130px;
    height: 130px;
    background: radial-gradient(circle, rgba(194, 142, 31, 0.35), transparent 60%);
    opacity: 0.8;
    pointer-events: none;
}

/* Left side content */

.cd-cta-title {
    font-size: 22px;
    line-height: 1.4;
    font-weight: 700;
    color: #fdf7e9;
    margin-bottom: 8px;
}

.cd-cta-sub {
    font-size: 14px;
    line-height: 1.7;
    color: #d7e4f3;
    max-width: 520px;
    margin-bottom: 14px;
}

/* Phone & mail lines */

.cd-cta-phones,
.cd-cta-mail {
    font-size: 14px;
    line-height: 1.6;
    color: #e7f0ff;
    display: flex;
    align-items: center;
    gap: 6px;
}

.cd-cta-phones {
    margin-bottom: 6px;
}

.cd-cta-mail {
    opacity: 0.95;
}

/* icon (use Font Awesome class on <i> in HTML) */

.cd-cta-phones i {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(194, 142, 31, 0.16);
    color: #ffda73;
    font-size: 13px;
}

.cd-cta-phones strong,
.cd-cta-mail strong {
    color: #ffda73;
    font-weight: 600;
}

/* Right side content */

.cd-cta-right h3 {
    font-size: 16px;
    color: #f8f3e3;
    margin: 0 0 4px;
    font-weight: 600;
}

.cd-cta-right p {
    font-size: 13px;
    line-height: 1.7;
    color: #d0def0;
    margin: 0 0 8px;
}

/* CTA Chips */

.cd-cta-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 10px;
}

.cd-cta-chip {
    font-size: 12px;
    line-height: 1.4;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(12, 30, 50, 0.9);
    border: 1px solid rgba(255, 218, 115, 0.5);
    color: #ffeaa2;
    box-shadow: 0 8px 20px rgba(5, 21, 40, 0.6);
    white-space: nowrap;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 992px) {
    .cd-cta-section {
        padding: 45px 0 55px;
    }

    .cd-cta-box {
        grid-template-columns: minmax(0, 1fr);
        padding: 20px 18px 20px;
        border-radius: 20px;
    }

    .cd-cta-title {
        font-size: 20px;
    }
}

@media (max-width: 640px) {
    .cd-cta-box {
        padding: 18px 16px 18px;
    }

    .cd-cta-title {
        font-size: 18px;
    }

    .cd-cta-sub {
        font-size: 13px;
    }

    .cd-cta-chip-row {
        gap: 6px;
    }

    .cd-cta-chip {
        white-space: normal;
    }

    .cd-cta-phones,
    .cd-cta-mail {
        align-items: flex-start;
        flex-wrap: wrap;
    }
}








/* ===== HERO GRID LAYOUT ===== */
.tp-hero-grid {
    padding-bottom: 32px;
}

/* Desktop: use FLEX so both columns always same height */
.tp-hero-grid {
    display: flex;
    gap: 24px;
    align-items: stretch;
    /* makes both items equal height */
}

/* LEFT: GALLERY – it will stretch automatically */
.tp-gallery {
    flex: 1.7 1 0;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: var(--shadowSoft);
    position: relative;
    display: flex;
    flex-direction: column;
}


/* ===== SLIDES – FULL HEIGHT INSIDE GALLERY ===== */
.tp-slides {
    position: relative;
    flex: 1 1 auto;
    height: 100%;
    min-height: 320px;
    /* minimum height so box never becomes too small */
}

.tp-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.tp-slide.is-active {
    opacity: 1;
}

.tp-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Overlay stays same */
.tp-slide-overlay {
    position: absolute;
    inset: 0;
}

/* ===== ARROWS & DOTS – no change (just for reference) ===== */
.tp-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    color: #333;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25);
}

.tp-arrow.left {
    left: 14px;
}

.tp-arrow.right {
    right: 14px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {
    .tp-hero-grid {
        flex-direction: column;
        /* stack image & form */
    }

    .tp-gallery {
        flex: none;
        height: auto;
    }

    .tp-slides {
        min-height: 260px;
        /* mobile image height */
    }


}



/* breadcrumbs */
.tp-breadcrumb {
    font-size: 13px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    color: #6F93B0;
}

.tp-breadcrumb a {
    text-decoration: none;
    font-weight: 600;
    color: #6F93B0;
    transition: 0.25s;
}

.tp-breadcrumb a:hover {
    color: #C28E1F;
}

.tp-breadcrumb span {
    color: #6F93B0;
    font-weight: 500;
}

.tp-breadcrumb .active {
    color: #C28E1F;
    font-weight: 700;
}

/* HERO TITLE / SUMMARY */
.tp-hero-header {
    padding: 22px 0 14px;
}

.tp-hero-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 6px;
    padding-top: 30px;
}

.tp-tour-label {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 11px;
    color: var(--textMuted);
}

.tp-hero-stars {
    color: var(--themeGold);
    font-size: 14px;
    letter-spacing: 2px;
}

.tp-hero-title {
    font-size: clamp(26px, 3.4vw, 34px);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.tp-hero-meta-line {
    font-size: 13px;
    color: var(--textMuted);
    font-weight: 500;
}


/* ============== BOOKING CARD (BOLD THEME) ============== */
.tp-book-card {
    background: linear-gradient(150deg, #4f6f90 0%, #6F93B0 45%, #C28E1F 120%);
    border-radius: 22px;
    padding: 22px 22px 18px;
    border: 1px solid rgba(194, 142, 31, 0.9);
    box-shadow: 0 15px 30px rgba(31, 45, 64, 0.45);
    position: sticky;
    top: 80px;
    flex: 1.1 1 0;
    height: 100%;
    overflow: hidden;
    color: #fffbe9;
}


/* small top badge */
.tp-book-card::before {
    content: "QUICK ENQUIRY";
    display: inline-block;
    font-size: 12px;
    font-weight: bolder;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    padding: 4px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #d39d2a, #f7d36a);
    color: #fffdf4;
}

/* top row */
.tp-book-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 12px;
    margin-bottom: 14px;
    gap: 10px;
}

.tp-book-top-left span:first-child {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: rgba(255, 241, 205, 0.9);
    opacity: 0.9;
}

.tp-book-top-left span:last-child {
    display: block;
    font-size: 16px;
    color: #ffffff;
    font-weight: 700;
}

/* price */
.tp-book-price {
    text-align: right;
    font-size: 11px;
    color: #fff4d7;
}

.tp-book-price-main {
    font-size: 26px;
    color: #ffdf8a;
    font-weight: 900;
    line-height: 1.1;
    text-shadow: 0 1px 0 #b27c16;
}

.tp-book-price-main small {
    font-size: 11px;
    font-weight: 500;
    color: #fff;
}

/* form rows */
.tp-book-form-row {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

.tp-field {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
}

/* labels */
.tp-field label {
    font-size: 15px;
    color: #fff9e8;
    font-weight: 600;
}

.tp-captcha-field label {
    font-weight: 600;
    display: block;
    margin-bottom: 6px;
}

/* FLEX ROW: Input + Code + Refresh side by side */
.tp-captcha-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Input will auto take remaining width */
.tp-captcha-input {
    flex: 1;
    height: 42px;
}

/* Code box */
.tp-captcha-code {
    min-width: 70px;
    height: 42px;
    padding: 0 10px;
    background: #ffffff;
    border: 1px dashed #6F93B0;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 4px;
    color: #2A2A2A !important;
    /* 👈 Makes numbers fully visible */
    font-family: 'Courier New', monospace;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
}

/* Refresh button */
.tp-captcha-refresh {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    border: none;
    background: #6F93B0;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .25s;
}

.tp-captcha-refresh:hover {
    background: #3a5b72;
}


/* inputs / selects / textarea */
.tp-input,
.tp-select,
.tp-textarea {
    border-radius: 14px;
    border: 1px solid rgba(230, 230, 230, 0.9);
    padding: 8px 12px;
    font-size: 13px;
    outline: none;
    background: #ffffff;
    color: #222f3a;
    transition: all 0.2s ease;
}

.tp-input::placeholder,
.tp-textarea::placeholder {
    color: #9aa2af;
}

.tp-textarea {
    border-radius: 12px;
    resize: vertical;
    min-height: 64px;
}

/* focus */
.tp-input:focus,
.tp-select:focus,
.tp-textarea:focus {
    border-color: #6F93B0;
    box-shadow: 0 0 0 2px rgba(111, 147, 176, 0.45);
}

/* button */
.tp-book-btn {
    width: 100%;
    margin-top: 12px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    border: none;
    padding: 11px 16px;
    background: linear-gradient(135deg, #C28E1F, #f3c84a);
    color: #2b2109;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(194, 142, 31, 0.65);
    transition: all 0.25s ease;
}

.tp-book-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(194, 142, 31, 0.8);
    color: #fff;
}

/* note */
.tp-book-note {
    margin-top: 10px;
    font-size: 11px;
    color: #fff9e5;
    line-height: 1.5;
}

/* mobile */
@media (max-width: 768px) {
    .tp-book-card {
        position: static;
        /* already there, keep it */
        height: auto;
        /* IMPORTANT: no fixed height */
        overflow: visible;
        /* show full form */
        width: 100%;
        max-width: 100%;
        margin-top: 18px;
        box-sizing: border-box;
    }

    .tp-book-btn {
        font-size: 12px;
    }

    .tp-book-form-row {
        flex-direction: column;
    }

    .tp-captcha-refresh {
        width: 42px;
        height: 42px;

    }
}

@media (max-width: 992px) {
    .tp-book-card {
        position: static;
        /* already there, keep it */
        height: auto;
        /* IMPORTANT: no fixed height */
        overflow: visible;
        /* show full form */
        width: 100%;
        max-width: 100%;
        margin-top: 18px;
        box-sizing: border-box;
    }
}



/* ANCHOR NAV – THEMED BAR */
.tp-anchor-nav {
    border-top: 1px solid rgba(111, 147, 176, 0.18);
    border-bottom: 1px solid rgba(194, 142, 31, 0.20);
    background: #ffffff;
    /* white background */
    position: sticky;
    /* optional – remove if not needed */
    top: 0;
    z-index: 40;
}

/* INNER: pill-style chips */
.tp-anchor-inner {
    display: flex;
    gap: 10px;
    padding: 8px 8px 10px;
    font-size: 11px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.tp-anchor-inner::-webkit-scrollbar {
    display: none;
}

/* LINKS: soft pill buttons */
.tp-anchor-link {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    white-space: nowrap;
    cursor: pointer;

    padding: 6px 14px;
    border-radius: 999px;

    color: #6b7280;
    /* muted grey text */
    border: 1px solid rgba(111, 147, 176, 0.20);
    background: rgba(111, 147, 176, 0.03);

    transition: background 0.18s ease, color 0.18s ease,
        box-shadow 0.18s ease, border-color 0.18s ease;
}

/* HOVER state */
.tp-anchor-link:hover {
    border-color: rgba(194, 142, 31, 0.65);
    background: rgba(194, 142, 31, 0.06);
    color: #374151;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

/* ACTIVE tab – blue text + gold outline */
.tp-anchor-link.is-active {
    color: var(--themeBlue);
    /* #6F93B0 */
    border-color: var(--themeGold);
    /* #C28E1F */
    background: linear-gradient(135deg,
            rgba(194, 142, 31, 0.14),
            rgba(111, 147, 176, 0.14));
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.10);
}

/* Main content */
/* MAIN CONTENT 2-COL (CONTENT + SIDEBAR) */
.tp-main {
    padding: 26px 0 40px;
}

.tp-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr);
    gap: 28px;
    align-items: flex-start;
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .tp-main-grid {
        grid-template-columns: 1fr;
    }

    .tp-main {
        padding: 26px 10px 40px;
    }
}

/* NEW — Clean & Highly Readable Overview Section */
.tp-overview {
    background: #ffffff;
    border-radius: 20px;
    padding: 32px 26px 26px;
    border: 1px solid rgba(111, 147, 176, 0.20);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.05);
    /* margin: 12px 0; */
}

.tp-section {
    margin-bottom: 28px;
}

/* Heading */
.tp-section-title {
    font-size: 24px;
    font-weight: 900;
    color: #111827;
    margin-bottom: 10px;
    position: relative;
}

/* Gold Line under title */
.tp-section-title::after {
    content: "";
    width: 60px;
    height: 3px;
    background: #C28E1F;
    border-radius: 3px;
    display: block;
    margin-top: 6px;
}

/* Sub Title */
.tp-overview .tp-section-sub {
    font-size: 15px;
    font-weight: 500;
    background: rgba(111, 147, 176, 0.07);
    padding: 12px 14px;
    border-left: 4px solid var(--themeBlue);
    border-radius: 10px;
    color: #374151;
    line-height: 1.7;
    margin-bottom: 14px;
}

/* Body Paragraph */
.tp-overview .tp-overview-text {
    font-size: 14.5px;
    line-height: 1.8;
    color: #2d2f31;
    font-weight: 400;
}

.tp-section-sub {
    font-size: 15px;
    line-height: 1.8;
    color: #2d2f31;
    font-weight: 400;
}

/* Mobile Responsive */
@media (max-width: 576px) {
    .tp-overview {
        padding: 22px 18px 20px;
    }

    .tp-section-title {
        font-size: 20px;
    }

    .tp-section-title::after {
        width: 48px;
    }

    .tp-overview .tp-section-sub {
        font-size: 14px;
        padding: 10px 12px;
    }

    .tp-overview .tp-overview-text {
        font-size: 14px;
    }
}

/* MAIN SECTION WRAP */
.tp-highlights-elite {
    position: relative;
    margin: 32px 0;
    padding: 26px 24px 24px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top left, rgba(111, 147, 176, 0.10), transparent 55%),
        #ffffff;
    border: 1px solid rgba(111, 147, 176, 0.25);
    box-shadow: 0 22px 50px rgba(15, 23, 42, 0.10);
    overflow: hidden;
}

/* bottom gradient line */
.tp-highlights-elite::after {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    opacity: 0.4;
}

/* HEADER */
.tp-highlights-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.tp-highlights-kicker {
    display: inline-block;
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #6F93B0;
    font-weight: 700;
    background: rgba(111, 147, 176, 0.10);
    padding: 4px 10px;
    border-radius: 999px;
}

.tp-highlights-elite .tp-section-title {
    margin-top: 15px;
}

.tp-highlights-tag {
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(194, 142, 31, 0.12);
    color: #C28E1F;
    font-weight: 700;
}

/* GRID */
.tp-highlights-elite-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 16px;
}

/* SINGLE CARD */
.tp-highlight-elite {
    position: relative;
    border-radius: 18px;
    padding: 12px 14px 12px 46px;
    background: linear-gradient(135deg,
            rgba(255, 255, 255, 0.98),
            rgba(111, 147, 176, 0.06));
    border: 1px solid rgba(111, 147, 176, 0.26);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    transition: transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease,
        background 0.18s ease;
}

/* icon badge (floating circle) */
.tp-highlight-elite-icon {
    position: absolute;
    left: 12px;
    top: 12px;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(111, 147, 176, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.15);
    transition: 0.18s ease;
}

.tp-highlight-elite-icon i {
    font-size: 14px;
    color: #6F93B0;
}

/* text */
.tp-highlight-elite-body h3 {
    font-size: 13px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 4px;
}

.tp-highlight-elite-body p {
    font-size: 12.5px;
    color: #374151;
    line-height: 1.7;
}

/* big number overlay */
.tp-highlight-elite-num {
    position: absolute;
    right: 10px;
    bottom: 4px;
    font-size: 22px;
    font-weight: 800;
    color: rgba(111, 147, 176, 0.16);
}

/* hover effects */
.tp-highlight-elite:hover {
    transform: translateY(-4px);
    background: linear-gradient(135deg,
            rgba(194, 142, 31, 0.14),
            #ffffff);
    border-color: rgba(194, 142, 31, 0.95);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.18);
}

.tp-highlight-elite:hover .tp-highlight-elite-icon {
    border-color: rgba(194, 142, 31, 0.95);
    transform: translateY(-1px);
}

.tp-highlight-elite:hover .tp-highlight-elite-icon i {
    color: #C28E1F;
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .tp-highlights-elite-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .tp-highlights-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .tp-highlights-tag {
        align-self: flex-start;
    }
}

@media (max-width: 576px) {
    .tp-highlights-elite {
        padding: 20px 16px 18px;
    }

    .tp-highlights-elite-grid {
        grid-template-columns: 1fr;
    }
}

/* ================= improved polished timeline style ================= */

.tp-itinerary-v2 .tp-section-sub {
    font-size: 15px;
    line-height: 1.8;
    color: #2d2f31;
    font-weight: 400;
}

.tp-itinerary-v2 {
    margin: 32px 0;
    padding: 28px 26px;
    border-radius: 26px;
    border: 1px solid rgba(111, 147, 176, 0.18);
    background: #ffffff;
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.06);
}

/* proper left alignment */
.tp-itv2-timeline {
    position: relative;
    margin-left: 10px;
    padding-left: 30px;
}

/* line correct positioning */
.tp-itv2-timeline::before {
    content: "";
    position: absolute;
    left: -2px;
    top: 0;
    bottom: 0;
    width: 2px;
    border-left: 2px dashed rgba(194, 142, 31, 0.75);
}

/* items spacing */
.tp-itv2-item {
    position: relative;
    margin-bottom: 34px;
}

/* dot properly centered */
.tp-itv2-node {
    position: absolute;
    left: -42px;
    top: 6px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #C28E1F;
    border: 3px solid #fff;
    box-shadow: 0 5px 18px rgba(15, 23, 42, 0.18);
}

/* card layout fix */
.tp-itv2-card {
    /* margin-left: 28px; */
    border-radius: 22px;
    padding: 20px 22px 20px;
    background: linear-gradient(145deg,
            rgba(255, 255, 255, 0.88),
            rgba(111, 147, 176, 0.07));
    border: 1px solid rgba(111, 147, 176, 0.34);
    box-shadow:
        0 6px 16px rgba(15, 23, 42, 0.06),
        0 20px 36px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: all .28s ease;
}


/* Alternate subtle tint */
.tp-itv2-item .tp-itv2-card {
    background: linear-gradient(145deg,
            rgba(255, 255, 255, 0.92),
            rgba(194, 142, 31, 0.09));
}

/* Stronger hover feel */
.tp-itv2-item:hover .tp-itv2-card {
    background: linear-gradient(145deg,
            rgba(255, 255, 255, 1),
            rgba(194, 142, 31, 0.13));
    border-color: #C28E1F;
    box-shadow:
        0 10px 22px rgba(15, 23, 42, 0.10),
        0 28px 54px rgba(15, 23, 42, 0.12);
    transform: translateY(-4px);
}

/* headings */
.tp-itv2-title {
    font-size: 15px;
    font-weight: 800;
    margin: 6px 0 10px;
    color: #0d1b2a;
    letter-spacing: .015em;
}

.tp-itv2-text {
    color: #2f3b45;
}

/* meta bar */
.tp-itv2-meta-line {
    font-size: 12px;
    padding: 7px 12px;
    background: rgba(111, 147, 176, 0.12);
    border-radius: 10px;
    display: block;
    margin-bottom: 10px;
}

/* day label + route */
.tp-itv2-head {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.tp-itv2-daylabel {
    font-size: 11px;
    font-weight: 700;
    padding: 4px 12px;
    background: #fff;
    border-radius: 999px;
    border: 1px solid rgba(111, 147, 176, 0.7);
    color: #111;
}

.tp-itv2-route {
    font-size: 11px;
    padding: 5px 12px;
    background: rgba(111, 147, 176, 0.15);
    border-radius: 999px;
}

/* big number fixed inside border */
.tp-itv2-item::after {
    content: attr(data-day);
    position: absolute;
    bottom: 12px;
    right: 16px;
    font-size: 42px;
    font-weight: 800;
    color: rgba(111, 147, 176, 0.14);
    pointer-events: none;
}

/* Responsive */
@media (max-width: 576px) {
    .tp-itv2-timeline {
        margin-left: 4px;
        padding-left: 25px;
    }

    .tp-itv2-node {
        left: -37px;
    }

    .tp-itv2-item::after {
        font-size: 34px;
        right: 10px;
    }
}

/* ========== INCLUSIONS & EXCLUSIONS – SPLIT CARD ========== */

.tp-inc-pro {
    position: relative;
    margin: 32px 0;
    padding: 26px 20px 24px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top left, rgba(111, 147, 176, 0.10), transparent 55%),
        #ffffff;
    border: 1px solid rgba(111, 147, 176, 0.25);
    box-shadow: 0 22px 50px rgba(15, 23, 42, 0.10);
    overflow: hidden;
}

/* 2-column grid */
.tp-inc-pro-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
}

/* base card */
.tp-inc-pro-card {
    position: relative;
    border-radius: 22px;
    padding: 22px 24px 22px;
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.55);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    transition: 0.25s ease;
}

/* top accent bar (theme) */
.tp-inc-pro-card::before {
    content: "";
    position: absolute;
    inset: 0;
    height: 4px;
    background: linear-gradient(90deg, #6F93B0, #C28E1F);
}

/* subtle background tint difference */
.tp-inc-pro-inc {
    background:
        radial-gradient(circle at top left, rgba(111, 147, 176, 0.07), transparent 55%),
        #ffffff;
}

.tp-inc-pro-exc {
    background:
        radial-gradient(circle at top right, rgba(194, 142, 31, 0.08), transparent 55%),
        #ffffff;
}

/* hover effect */
.tp-inc-pro-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.10);
}

/* header area */
.tp-inc-pro-top {
    margin-bottom: 10px;
}

.tp-inc-pro-heading {
    font-size: 18px;
    font-weight: 800;
    color: #111827;
    margin-bottom: 6px;
}

.tp-inc-pro-tagline {
    font-size: 14px;
    color: #4b5563;
    /* darker than before */
}

/* list styling */
.tp-inc-pro-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.tp-inc-pro-list li {
    position: relative;
    padding-left: 22px;
    font-size: 15px;
    color: #374151;
    line-height: 1.7;
}

/* bullet dots – theme based, subtle but stylish */
.tp-inc-pro-list-inc li::before,
.tp-inc-pro-list-exc li::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 7px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
}

/* solid blue with glow for Included */
.tp-inc-pro-list-inc li::before {
    background: #6F93B0;
    box-shadow: 0 0 0 3px rgba(111, 147, 176, 0.22);
}

/* ring-style gold for Excluded */
.tp-inc-pro-list-exc li::before {
    border: 1px solid #C28E1F;
    background: rgba(255, 250, 240, 0.9);
}

/* responsive */
@media (max-width: 768px) {
    .tp-inc-pro-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ========== WHY BOOK SECTION ========== */

/* OUTER SHELL */

.tp-why-shell {
    border-radius: 26px;
    padding: 26px 18px 30px;
    background:
        radial-gradient(circle at top left, rgba(111, 147, 176, 0.10), transparent 60%),
        radial-gradient(circle at bottom right, rgba(194, 142, 31, 0.12), #f9fafb);
    border: 1px solid rgba(148, 163, 184, 0.50);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
}

/* HEAD AREA */
.tp-why-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.tp-why-pill {
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 999px;
    background: #fff7e5;
    color: #8a6214;
    border: 1px solid rgba(194, 142, 31, 0.6);
    white-space: nowrap;
}

/* GRID */
.tp-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px;
    margin-top: 10px;
}

/* CARD */
.tp-why-card {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: flex-start;
    padding: 16px 18px 18px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(209, 213, 219, 0.9);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    transition: 0.22s ease;
}

.tp-why-card:hover {
    transform: translateY(-4px);
    border-color: #6F93B0;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
}

/* ICON CIRCLE */
.tp-why-icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #f3f6fb;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6F93B0;
    font-size: 18px;
}

/* TEXT */
.tp-why-text h3 {
    font-size: 14px;
    font-weight: 800;
    color: #111827;
    margin-bottom: 4px;
}

.tp-why-text p {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.8;
    margin: 0;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .tp-why-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .tp-why-pill {
        align-self: flex-start;
        white-space: normal;
    }

    .tp-why-shell .container {
        padding: 20px 18px 26px;
        border-radius: 20px;
    }

    .tp-why-grid {
        grid-template-columns: 1fr !important;
    }
}

/* VEHICLES SECTION */
.tp-veh-section {
    margin-top: 40px;
}

/* GRID */
.tp-veh-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 22px;
}

/* CARD – more attractive box */
.tp-veh-card {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: radial-gradient(circle at top left,
            rgba(111, 147, 176, 0.08),
            transparent 55%),
        #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.5);
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.07);
    transition: 0.28s ease;
    display: flex;
    flex-direction: column;
}

/* top accent line */
.tp-veh-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, #6F93B0, #C28E1F);
    opacity: 0.85;
}

.tp-veh-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.14);
    border-color: #6F93B0;
}

/* IMAGE */
.tp-veh-img-wrap {
    position: relative;
    height: 170px;
    overflow: hidden;
}

.tp-veh-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* subtle gradient at bottom of image */
.tp-veh-img-wrap::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 50px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.28), transparent);
}

/* TAG */
.tp-veh-tag {
    position: absolute;
    left: 14px;
    bottom: 12px;
    z-index: 2;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: #1f2933;
}

/* BODY */
.tp-veh-body {
    padding: 14px 16px 16px;
}

.tp-veh-name {
    font-size: 15px;
    font-weight: 800;
    color: #111827;
    margin-bottom: 4px;
}

.tp-veh-caption {
    font-size: 13px;
    color: #4b5563;
    margin-bottom: 10px;
}

/* META ICON ROW */
.tp-veh-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #6b7280;
    margin-bottom: 10px;
}

.tp-veh-meta i {
    margin-right: 4px;
    color: #6F93B0;
}

/* ACTION BUTTONS */
.tp-veh-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.tp-veh-btn {
    flex: 1 1 120px;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    border: 1px solid transparent;
    cursor: pointer;
    transition: 0.22s ease;
}

/* Primary: Book Now */
.tp-veh-btn-primary {
    background: linear-gradient(135deg, #f9e3b8, #C28E1F);
    color: #3f2c08;
    font-weight: 700;
    border-color: transparent;
}

/* Ghost: View Details */
.tp-veh-btn-ghost {
    background: #ffffff;
    color: #1f2933;
    border-color: rgba(148, 163, 184, 0.7);
}

/* Hover states */
.tp-veh-btn-primary:hover {
    filter: brightness(1.04);
    box-shadow: 0 8px 18px rgba(194, 142, 31, 0.45);
}

.tp-veh-btn-ghost:hover {
    border-color: #6F93B0;
    background: rgba(111, 147, 176, 0.05);
}

/* FOOTNOTE */
.tp-veh-note {
    margin-top: 14px;
    font-size: 12px;
    color: #6b7280;
}

/* MOBILE */
@media (max-width: 640px) {
    .tp-veh-img-wrap {
        height: 160px;
    }
}

/* ===== ENHANCED VEHICLE CARD – MORE READABLE & EYE CATCHING ===== */

/* VEHICLES SECTION WRAPPER */
.tp-veh-section {
    margin-top: 40px;
}


/* GRID */
.tp-veh-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 22px;
}

/* CARD */
.tp-veh-card {
    border-radius: 22px;
    background:
        radial-gradient(circle at top left, rgba(111, 147, 176, 0.08), transparent 55%),
        #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.55);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.10);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: 0.26s ease;
    position: relative;
}

/* top accent line */
.tp-veh-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    background: linear-gradient(90deg, #6F93B0, #C28E1F);
}

/* hover */
.tp-veh-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
    border-color: #6F93B0;
}

/* IMAGE AREA */
.tp-veh-photo {
    position: relative;
    height: 250px;
    overflow: hidden;
}

.tp-veh-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.tp-veh-photo::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 46px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.28), transparent);
}

/* VEHICLE TYPE BADGE */
.tp-veh-badge {
    position: absolute;
    left: 14px;
    bottom: 12px;
    padding: 4px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #1f2933;
    font-weight: 600;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.25);
}

/* CONTENT */
.tp-veh-content {
    padding: 16px 18px 16px;
}

.tp-veh-name {
    font-size: 15px;
    font-weight: 800;
    color: #111827;
    margin-bottom: 4px;
}

.tp-veh-text {
    font-size: 13px;
    color: #374151;
    margin-bottom: 12px;
}

/* META ROW */
.tp-veh-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-bottom: 14px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #f3f6fb;
    font-size: 11.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #4b5563;
}

.tp-veh-meta span {
    display: inline-flex;
    align-items: center;
}

.tp-veh-meta i {
    margin-right: 4px;
    color: #6F93B0;
    font-size: 13px;
}

/* ACTION BUTTONS */
.tp-veh-actions {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}

.tp-veh-btn {
    flex: 1 1 0;
    text-align: center;
    padding: 9px 14px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    border: 2px solid transparent;
    text-decoration: none;
    cursor: pointer;
    transition: 0.25s ease;
}

/* Primary – Book Now (Gold) */
.tp-veh-btn-primary {
    border-color: #C28E1F;
    color: #8a6214;
    background: #fffaf0;
}

.tp-veh-btn-primary:hover {
    background: #C28E1F;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(194, 142, 31, 0.45);
    transform: translateY(-1px);
}

/* Ghost – View Details (Blue) */
.tp-veh-btn-ghost {
    border-color: #6F93B0;
    color: #44627B;
    background: #ffffff;
}

.tp-veh-btn-ghost:hover {
    background: #6F93B0;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(111, 147, 176, 0.40);
    transform: translateY(-1px);
}

/* HEAD */
.tp-rel-head {
    margin-top: 28px;
}

/* GRID */
.tp-rel-pro-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 26px;
}

/* CARD MAIN */
.tp-rel-pro-item {
    position: relative;
    border-radius: 26px;
    overflow: hidden;
    height: 260px;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.14);
    transform: translateY(0px);
    transition: 0.35s ease;
}

.tp-rel-pro-item:hover {
    transform: translateY(-10px);
    box-shadow: 0 28px 75px rgba(0, 0, 0, 0.25);
}

/* IMAGES */
.tp-rel-pro-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* DARK GLASS OVERLAY */
.tp-rel-pro-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.15));
}

/* TEXT CONTENT */
.tp-rel-pro-info {
    position: absolute;
    bottom: 18px;
    left: 18px;
    right: 18px;
    z-index: 2;
    color: #ffffff;
}

.tp-rel-pro-info h3 {
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 4px;
}

.tp-rel-pro-info p {
    font-size: 12px;
    opacity: 0.88;
    margin-bottom: 10px;
}

/* BADGES */
.tp-rel-badge {
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 10px;
    letter-spacing: .14em;
    background: rgba(255, 255, 255, 0.88);
    color: #000;
    text-transform: uppercase;
    font-weight: 700;
    display: inline-block;
    margin-bottom: 8px;
}

.tp-rel-badge.gold {
    background: #C28E1F;
    color: #fff;
}

.tp-rel-badge.blue {
    background: #6F93B0;
    color: #fff;
}

/* CTA BUTTON */
.tp-rel-pro-btn {
    display: inline-block;
    padding: 6px 14px;
    background: #ffffff;
    color: #1a2c38;
    font-size: 11px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .16em;
    transition: .3s ease;
}

.tp-rel-pro-btn:hover {
    background: linear-gradient(135deg, #6F93B0, #C28E1F);
    color: #fff;
    transform: translateY(-2px);
}

/* SIDEBAR LAYOUT */
.tp-sidebar {
    position: sticky;
    top: 90px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* BASE CARD */
.tp-sidebar-block {
    border-radius: 18px;
    padding: 16px 16px 18px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.10);
}

/* HELP CARD – SOFT THEME BACKGROUND */
/* SHELL */
/* ================= HELP CARD – FINAL THEME DESIGN ================= */

.tp-help-v2 {
    position: relative;
    padding: 18px 18px 20px;
    border-radius: 20px;
    background:
        radial-gradient(circle at top left, rgba(111, 147, 176, 0.12), rgba(194, 142, 31, 0.06)),
        #ffffff;
    border: 1px solid rgba(111, 147, 176, 0.35);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
    margin-top: 25px;
    overflow: hidden;
}

/* remove any old pseudo background styles */
.tp-help-v2::before,
.tp-help-v2::after {
    content: none;
}

/* small ribbon chip on top right */
.tp-help-v2-badge-top {
    position: absolute;
    top: 12px;
    right: 16px;
}

/* we don't have element, so create pill with ::after on card */
.tp-help-v2::after {
    content: "24×7 SUPPORT";
    position: absolute;
    top: 12px;
    right: 16px;
    padding: 3px 11px;
    border-radius: 999px;
    border: 1px solid rgba(111, 147, 176, 0.55);
    background: rgba(111, 147, 176, 0.06);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #1f2933;
}

/* ===== TOP: avatar + titles ===== */
.tp-help-v2-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.tp-help-v2-avatar {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    background: linear-gradient(135deg, #6F93B0, #C28E1F);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.35);
}

.tp-help-v2-avatar i {
    font-size: 20px;
}

.tp-help-v2-kicker {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .20em;
    color: #6b7280;
    margin: 0 0 3px;
}

.tp-help-v2-title {
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
}

/* ===== MAIN TEXT ===== */
.tp-help-v2-text {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.7;
    margin: 6px 0 10px;
}

/* ===== BADGES ===== */
.tp-help-v2-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.tp-help-v2-badges span {
    font-size: 11px;
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(111, 147, 176, 0.06);
    border: 1px solid rgba(111, 147, 176, 0.35);
    color: #111827;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.tp-help-v2-badges i {
    font-size: 13px;
    color: #6F93B0;
}

/* ===== CONTACT ROWS ===== */
.tp-help-v2-row {
    padding: 7px 0;
    border-top: 1px dashed rgba(209, 213, 219, 0.9);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.tp-help-v2-row:first-of-type {
    border-top: none;
}

.tp-help-v2-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.tp-help-v2-label i {
    font-size: 14px;
    color: #6F93B0;
}

.tp-help-v2-value {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    text-align: right;
}

/* ===== CTA BUTTON – BLUE → GOLD ===== */
.tp-help-v2-btn {
    margin-top: 12px;
    width: 100%;
    border-radius: 999px;
    padding: 10px 12px;
    background: linear-gradient(135deg, #6F93B0, #C28E1F);
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .22em;
    text-align: center;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.32);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.tp-help-v2-btn i {
    font-size: 17px;
}

.tp-help-v2-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.44);
    filter: brightness(1.05);
    color: #fff;
}

/* ===== NOTE ===== */
.tp-help-v2-note {
    margin-top: 12px;
    font-size: 11px;
    color: #6b7280;
    line-height: 1.5;
}

/* ===== MOBILE TWEAKS ===== */
@media (max-width: 768px) {
    .tp-help-v2 {
        padding: 16px 14px 18px;
        margin-top: 20px;
    }

    .tp-help-v2-title {
        font-size: 16px;
    }

    .tp-help-v2-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .tp-help-v2-value {
        text-align: left;
        font-size: 14px;
    }
}



/* FAQ BOX */
.tp-faq-card {
    position: relative;
    margin: 40px 0;
    padding: 26px 26px 24px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top left, rgba(111, 147, 176, 0.10), transparent 55%),
        #fffdf8;
    border: 1px solid rgba(111, 147, 176, 0.28);
    box-shadow: 0 22px 50px rgba(15, 23, 42, 0.12);
    overflow: hidden;
}

.tp-faq-box {
    margin-top: 4px;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    overflow: hidden;
}

.tp-sidebar-heading {
    font-size: 20px;
}

.tp-faq-item+.tp-faq-item {
    border-top: 1px solid #e5e7eb;
}

/* FAQ ITEM */
.tp-faq-item+.tp-faq-item {
    border-top: 1px solid #e5e7eb;
}

.tp-faq-q {
    width: 100%;
    border: none;
    background: transparent;
    padding: 14px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 500;
    color: #0f172a;
    cursor: pointer;
    line-height: 1.5;
}

.tp-faq-q span:first-child {
    text-align: left;
}

.tp-faq-symbol {
    font-size: 20px;
    font-weight: 500;
    color: #6F93B0;
}

/* ANSWER TEXT */
.tp-faq-a {
    padding: 0 18px 14px;
    font-size: 14px;
    color: #4b5563;
    line-height: 1.8;
    display: none;
    display: none;
}

/* OPEN STATE */
.tp-faq-item.is-open .tp-faq-q {
    background: linear-gradient(135deg, rgb(0 141 255 / 10%), rgb(233 161 6 / 10%))
}

.tp-faq-item.is-open .tp-faq-a {
    display: block;
}

.tp-faq-item.is-open .tp-faq-symbol {
    color: #C28E1F;
}

@media (hover: hover) {
    .tp-faq-q:hover {
        background: rgba(111, 147, 176, 0.04);
    }
}

/* OUTER WRAP WITH GRADIENT BORDER GLOW */
.tp-offer-visual {
    padding: 0;
    border-radius: 20px;
    border: none;
    padding: 2px;
    /* gradient border thickness */
}

/* INNER CARD – REAL CONTENT */
.tp-offer-visual-inner {
    display: block;
    border-radius: 18px;
    overflow: hidden;
    background: #000;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.60);
    position: relative;
}

/* IMAGE AREA */
.tp-offer-visual-imgwrap {
    position: relative;
    height: 220px;
    overflow: hidden;
    height: 400px;
}

.tp-offer-visual-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.06);
    transition: transform 0.7s ease;
}

/* OVERLAY + LIGHT SWEEP */
.tp-offer-visual-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.85));
}

.tp-offer-visual-imgwrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.35), transparent 60%);
    opacity: 0;
    transform: translateX(-40%);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

/* TOP BAR: TAG + RATING */
.tp-offer-visual-topbar {
    position: absolute;
    left: 14px;
    right: 14px;
    top: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    z-index: 2;
}

.tp-offer-visual-pill {
    padding: 5px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: #111827;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.tp-offer-visual-rating {
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.82);
    color: #fde68a;
    font-size: 11px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.tp-offer-visual-rating i {
    color: #facc15;
    font-size: 12px;
}

.tp-offer-visual-rating span {
    color: #e5e7eb;
    font-size: 10px;
}

/* BOTTOM CONTENT */
.tp-offer-visual-content {
    position: absolute;
    inset: auto 14px 16px 14px;
    color: #ffffff;
    z-index: 2;
}

.tp-offer-visual-title {
    font-size: 15px;
    font-weight: 800;
    margin: 0 0 4px;
}

.tp-offer-visual-meta {
    font-size: 12px;
    opacity: 0.92;
    margin: 0 0 8px;
}

/* PERKS STRIP */
.tp-offer-visual-perks {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.tp-offer-visual-perks span {
    font-size: 11px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.65);
    border: 1px solid rgba(148, 163, 184, 0.6);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tp-offer-visual-perks i {
    font-size: 11px;
    color: #6F93B0;
}

/* BOTTOM: PRICE + CTA */
.tp-offer-visual-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

/* PRICE */
.tp-offer-visual-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px;
}

.tp-offer-visual-from {
    font-size: 11px;
    opacity: 0.9;
}

.tp-offer-visual-amount {
    font-size: 19px;
    font-weight: 900;
    color: #facc15;
}

.tp-offer-visual-note {
    font-size: 11px;
    opacity: 0.9;
}

/* GLASS CTA */
.tp-offer-visual-cta {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .20em;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: #f9fafb;
    font-weight: 700;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(249, 250, 251, 0.7);
}

.tp-offer-cta-arrow {
    display: inline-block;
    transition: transform 0.2s ease;
}

/* HOVER EFFECTS */
.tp-offer-visual-inner:hover .tp-offer-visual-img {
    transform: scale(1.12);
}

.tp-offer-visual-inner:hover .tp-offer-visual-imgwrap::before {
    opacity: 1;
    transform: translateX(0);
}

.tp-offer-visual-inner:hover .tp-offer-visual-cta {
    background: linear-gradient(135deg, #C28E1F, #6F93B0);
    color: #ffffff;
    border-color: transparent;
}

.tp-offer-visual-inner:hover .tp-offer-cta-arrow {
    transform: translateX(3px);
}

/* Category */
.tp-tour-catbox {
    position: relative;
    padding: 18px 18px 20px;
    border-radius: 20px;
    background:
        radial-gradient(circle at top left, rgba(111, 147, 176, 0.12), rgba(194, 142, 31, 0.06)),
        #ffffff;
    border: 1px solid rgba(111, 147, 176, 0.35);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
    margin-top: 25px;
    overflow: hidden;
}

.tp-tour-catbox-head {
    margin-bottom: 10px;
}

.tp-tour-catbox-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: #8a94a6;
    display: block;
    margin-bottom: 2px;
}


.tp-tour-cat-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
}

/* each city block */
.tp-tour-cat-item {
    border-radius: 12px;
    padding: 10px 12px;
    background: radial-gradient(circle at top left, #fff9e9 0, #ffffff 45%, #ffffff 100%);
    border: 1px solid #f0e3c4;
    box-shadow: 0 10px 10px rgba(15, 23, 42, 0.22);
    margin-bottom: 10px;
}

.tp-tour-cat-city {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.tp-tour-cat-chip {
    font-size: 13px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, #E6B650 0%, #C28E1F 100%);
    color: #ffffff;
}

.tp-tour-cat-tag {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #C28E1F;
}

/* links list */
.tp-tour-cat-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tp-tour-cat-list li+li {
    border-top: 1px dashed #f0e0c3;
}

.tp-tour-cat-list a {
    display: block;
    padding: 6px 0 5px;
    font-size: 14px;
    text-decoration: none;
    color: #283549;
    position: relative;
    padding-left: 14px;
    transition: 0.25s ease;
}

.tp-tour-cat-list a::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: #a1771d;
}

.tp-tour-cat-list a:hover {
    color: #a1771d;
    transform: translateX(2px);
}

/* optional: tighten on small screens inside sidebar */
@media (max-width: 768px) {
    .tp-tour-catbox {
        padding: 14px 14px 16px;
    }
}

/* side form */
/* OUTER CARD – same gradient as main form */
.sb-enquiry-box {
    background: linear-gradient(180deg, #6F93B0 0%, #C28E1F 100%);
    border-radius: 22px;
    padding: 18px 18px 20px;
    box-shadow: 0 18px 35px rgba(0, 0, 0, 0.22);
    color: #ffffff;
}

/* HEADER */
.sb-header {
    margin-bottom: 16px;
}

.sb-kicker {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: #f7f2d9;
    display: block;
    margin-bottom: 4px;
}

.sb-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    color: #ffffff;
}

/* LABELS */
.sb-group {
    margin-bottom: 12px;
}

.sb-group label {
    font-size: 13px;
    font-weight: 600;
    color: #fdf9ea;
    display: block;
    margin-bottom: 4px;
}

/* 2-column row */
.sb-row {
    display: flex;
    gap: 10px;
}

/* FIELDS – white pills like screenshot */
.sb-input,
.sb-select,
.sb-textarea {
    width: 100%;
    border-radius: 999px;
    border: none;
    background: #ffffff;
    padding: 0 14px;
    height: 42px;
    font-size: 14px;
    color: #29313b;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    transition: box-shadow .2s ease, transform .15s ease;
}

.sb-textarea {
    height: auto;
    border-radius: 16px;
    padding: 8px 14px;
    resize: none;
}

.sb-input::placeholder,
.sb-textarea::placeholder {
    color: #a4acb7;
}

/* focus state */
.sb-input:focus,
.sb-select:focus,
.sb-textarea:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.7);
    transform: translateY(-1px);
}

/* CAPTCHA ROW – same style as main form */
.sb-captcha-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sb-captcha-input {
    flex: 1;

}

/* code box */
.sb-captcha-code {
    min-width: 70px;
    height: 42px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px dashed #6F93B0;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #29313b;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Courier New", monospace;
}

/* refresh button (blue square) */
.sb-captcha-refresh {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    border: none;
    background: #6F93B0;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
}

.sb-captcha-refresh:hover {
    background: #4f6f8d;
}

/* BUTTON – yellow pill like screenshot */
.sb-btn {
    width: 100%;
    margin-top: 10px;
    border-radius: 999px;
    border: none;
    padding: 12px 16px;
    background: #F8C545;
    /* close to your big form CTA */
    color: #1f242b;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.28);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
    display: block;
    text-align: center;
}

.sb-btn:hover {
    filter: brightness(1.03);
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.35);
    color: #fff;
}

.sb-row .sb-group {
    flex: 1;
}

/* IMAGE SECTION */
.cd-temple-image {
    margin: 24px 0;
}

/* rounded image card */
.cd-temple-image-card {
    position: relative;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.18);
    background: #000;
    /* fallback while image loads */

    /* fixed aspect ratio for desktop (wide) */
    padding-top: 32%;
    /* adjust 28–40% depending on desired height */
}

/* actual image */
.cd-temple-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* crop nicely, always filled */
    display: block;
}

/* MOBILE – make it a bit taller */
@media (max-width: 768px) {
    .cd-temple-image-card {
        border-radius: 22px;
        padding-top: 55%;
        /* taller image on mobile */
    }
}


/* <!-- Taxi feature --> */
/* SHELL */
.tp-taxi-line {
    margin: 20px 0;
    background: #ffffff;
    border-radius: 20px;
    padding: 32px 26px 26px;
    border: 1px solid rgba(111, 147, 176, 0.20);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.05);
}

/* WRAP: LABEL LEFT + ITEMS RIGHT */
.tp-taxi-line-wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: flex-start;
    margin-top: 14px;
    position: relative;
}

/* ITEMS COLUMN */
.tp-taxi-line-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* EACH ROW: ICON + TEXT – NO BOX BACKGROUND */
.tp-taxi-line-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: flex-start;
    position: relative;
    padding-bottom: 10px;
}

/* faint divider line under each row */
.tp-taxi-line-item::after {
    content: "";
    position: absolute;
    left: 24px;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(to right, rgba(148, 163, 184, 0.6), transparent 70%);
    opacity: 0.7;
}

.tp-taxi-line-item:last-child::after {
    opacity: 0.25;
}

/* ICON CIRCLE */
.tp-taxi-line-icon {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: radial-gradient(circle at 30% 30%, #ffffff, #f3f6fb);
    border: 1px solid rgba(148, 163, 184, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6F93B0;
    font-size: 18px;
    position: relative;
}

/* TEXT */
.tp-taxi-line-text h3 {
    font-size: 16px;
    font-weight: 800;
    color: #111827;
    margin: 0 0 3px;
}

.tp-taxi-line-text p {
    font-size: 14px;
    color: #4b5563;
    line-height: 1.7;
    margin: 0;
}

/* HOVER – ONLY ICON + TITLE REACT */
.tp-taxi-line-item:hover .tp-taxi-line-icon {
    border-color: #6F93B0;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.18);
    transform: translateY(-1px);
}

.tp-taxi-line-item:hover .tp-taxi-line-text h3 {
    color: #1f4f77;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .tp-taxi-line-wrap {
        grid-template-columns: 1fr;
        gap: 12px;
    }


    .tp-taxi-line-item::after {
        left: 0;
    }
}

/* <!-- Taxi price --> */

/* --- FARE CARD WRAPPER --- */
.tp-fare-card {
    border-radius: 22px;
    border: 1px solid #e3e8f0;
    background: #ffffff;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    margin-bottom: 24px;
}

/* header bar */
.cd-fare-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 18px 11px;
    background: linear-gradient(135deg, #6F93B0, #C28E1F);
    color: #ffffff;
}

.cd-fare-head-text h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
}

.cd-fare-sub {
    display: block;
    font-size: 12px;
    opacity: 0.9;
}

/* pill on right */
.cd-fare-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.55);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    white-space: nowrap;
}

.cd-fare-pill-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #ffffff;
}

/* --- IMPORTANT PARENT FIX FOR GRID --- */
/* this lets the table wrapper shrink inside tp-main-grid */
.tp-main-grid>div {
    min-width: 0;
}

/* --- SCROLL WRAPPER --- */
.tp-table-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

/* --- TABLE --- */
.tp-fare-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    color: #5b5b5b;
    font-weight: 500;
}

.tp-fare-table thead {
    background: #e8edf2;
}

.tp-fare-table th,
.tp-fare-table td {
    padding: 10px 14px;
    text-align: left;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
    /* keep cells on one line */
}

.tp-fare-table th {
    font-weight: 700;
    color: #374151;
    font-size: 15px;
}

.tp-fare-table tbody tr:nth-child(even) {
    background: #fafafa;
}

.tp-fare-table tbody tr:hover {
    background: #f1f5f9;
}

/* prices */
.tp-fare-price {
    font-weight: 700;
    color: #c28e1f;
}

.tp-fare-price-alt {
    color: #6f93b0;
}

/* footer note */
.tp-fare-note {
    font-size: 11px;
    color: #6b7280;
    padding: 8px 16px 12px;
}

/* --- MOBILE ADJUSTMENTS --- */
@media (max-width: 768px) {

    /* header: text + pill better spacing on mobile */
    .cd-fare-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .cd-fare-head-text h3 {
        font-size: 16px;
    }

    .cd-fare-pill {
        font-size: 10px;
        padding: 4px 12px;
    }

    .cd-fare-pill-dot {
        width: 5px;
        height: 5px;
    }

    /* force table to be wider than screen so it can scroll */
    .tp-fare-table {
        min-width: 520px;
        /* adjust width if needed */
    }
}

/* hotel */
/* OUTER SECTION BACKGROUND */
.tp-section.hv-amenities {
    background: #ffffff;
    border-radius: 20px;
    padding: 32px 26px 26px;
    border: 1px solid rgba(111, 147, 176, 0.20);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.05);
}

/* HEADER ROW */
.hv-amenities-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 20px;
}

.hv-amenities-kicker {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-weight: 600;
    color: #C28E1F;
    margin-bottom: 4px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* small accent line after kicker */
.hv-amenities-kicker::after {
    content: "";
    display: inline-block;
    width: 48px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #C28E1F, #6F93B0);
}

.hv-amenities-title {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    color: #111827;
}

.hv-amenities-note {
    margin: 0;
    font-size: 11px;
    color: #6B7280;
    max-width: 260px;
    line-height: 1.6;
}

/* GRID OF AMENITIES */
.hv-amenities-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 40px;
}

/* SINGLE AMENITY ROW */
.hv-amenity {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: flex-start;
    padding: 10px 0;
}

/* lines only under first 4 items (two rows) */
.hv-amenity:nth-child(-n+4) {
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

/* ICON CIRCLE */
.hv-amenity-icon {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #F3F6FB;
    border: 1px solid rgba(148, 163, 184, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6F93B0;
    font-size: 17px;
}

/* TEXT */
.hv-amenity h3 {
    margin: 0 0 2px;
    font-size: 14px;
    font-weight: 700;
    color: #111827;
}

.hv-amenity p {
    margin: 0;
    font-size: 12px;
    color: #4B5563;
    line-height: 1.7;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .hv-amenities-top {
        flex-direction: column;
    }

    .hv-amenities-note {
        max-width: none;
    }

    .hv-amenities-grid {
        grid-template-columns: 1fr;
        gap: 10px 0;
    }

    /* on mobile, add line under all but last item */
    .hv-amenity {
        border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    }

    .hv-amenity:last-child {
        border-bottom: none;
    }
}

/* hotel room */
/* SECTION SHELL */
.hv-roomdeck {
    background: #ffffff;
    border-radius: 20px;
    padding: 32px 0 26px;
    border: 1px solid rgba(111, 147, 176, 0.20);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.05);
}

/* HEADER */
.hv-roomdeck-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.hv-roomdeck-kicker {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-weight: 600;
    color: #C28E1F;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.hv-roomdeck-kicker::after {
    content: "";
    width: 46px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #C28E1F, #6F93B0);
}


/* ROOM LIST WRAPPER (ONE BIG CARD FEEL) */
.hv-roomdeck-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* SINGLE ROOM CARD */
.hv-roomcard {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) 190px;
    gap: 18px;
    padding: 14px 18px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(111, 147, 176, 0.20);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.04);
    align-items: center;
}

/* IMAGE BLOCK WITH LABEL */
.hv-roomcard-media {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    height: 150px;
}

.hv-roomcard-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hv-roomcard-label {
    position: absolute;
    left: 10px;
    bottom: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.55);
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
}

.hv-roomcard-label-gold {
    background: linear-gradient(135deg, #C28E1F, #FBBF24);
}

/* MIDDLE CONTENT */
.hv-roomcard-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hv-roomcard-meta {
    margin: 0;
    font-size: 12px;
    color: #6B7280;
    font-weight: 600;
}

.hv-roomcard-text {
    margin: 0;
    font-size: 13px;
    color: #4B5563;
    line-height: 1.7;
}

.hv-roomcard-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.hv-roomcard-tags span {
    font-size: 11px;
    padding: 3px 9px;
    border-radius: 999px;
    background: #F3F4F6;
    color: #4B5563;
}

/* STAR RATING INSIDE BODY */
.hv-roomcard-rating {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
    font-size: 11px;
    color: #6B7280;
}

.hv-roomcard-stars {
    display: inline-flex;
    gap: 2px;
}

.hv-roomcard-stars i {
    color: #FBBF24;
    /* golden stars */
    font-size: 12px;
}

.hv-roomcard-score {
    font-weight: 600;
    color: #111827;
}

.hv-roomcard-reviews {
    font-size: 11px;
    color: #6B7280;
}

/* RIGHT SIDE: PRICE & BUTTONS */
.hv-roomcard-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    min-width: 170px;
}

.hv-roomcard-price {
    text-align: right;
}

.hv-roomcard-price .label {
    display: block;
    font-size: 11px;
    color: #6B7280;
}

.hv-roomcard-price .amount {
    display: block;
    font-size: 17px;
    font-weight: 800;
    color: #C28E1F;
}

.hv-roomcard-price .small {
    display: block;
    font-size: 11px;
    color: #6B7280;
}

/* BUTTONS IN THEME */
.hv-roomcard-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
}

.hv-roomcard-btn.primary {
    background: linear-gradient(135deg, #6F93B0, #C28E1F);
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(111, 147, 176, 0.35);
}

.hv-roomcard-btn.ghost {
    background: #ffffff;
    color: #6F93B0;
    border-color: rgba(111, 147, 176, 0.7);
}

/* FOOTNOTE */
.hv-roomdeck-footnote {
    margin: 10px 2px 0;
    font-size: 11px;
    color: #6B7280;
    line-height: 1.6;
}

/* ================== RESPONSIVE ================== */

@media (max-width: 992px) {
    .hv-roomcard {
        grid-template-columns: 200px minmax(0, 1fr);
        grid-template-rows: auto auto;
        grid-template-areas:
            "media body"
            "media side";
    }

    .hv-roomcard-media {
        grid-area: media;
    }

    .hv-roomcard-body {
        grid-area: body;
    }

    .hv-roomcard-side {
        grid-area: side;
        align-items: flex-start;
    }

    .hv-roomcard-price {
        text-align: left;
    }
}

@media (max-width: 640px) {

    .hv-roomdeck-head {
        flex-direction: column;
    }



    /* Full single-column layout on mobile */
    .hv-roomcard {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "media"
            "body"
            "side";
        padding: 14px 14px 20px;
    }

    /* Media occupies full width */
    .hv-roomcard-media {
        height: 200px;
        width: 100%;
        border-radius: 14px;
    }

    .hv-roomcard-side {
        width: 100%;
        align-items: flex-start;
    }

    /* Buttons full width */
    .hv-roomcard-btn {
        width: 100%;
    }

    /* Remove unused side space constraints */
    .hv-roomcard-side,
    .hv-roomcard-body {
        min-width: 0 !important;
    }

    /* Avoid excess right padding */
    .hv-roomcard-body {
        padding-right: 0;
    }

    /* Remove max-width drag from meta content */
    .hv-roomcard-meta,
    .hv-roomcard-text,
    .hv-roomcard-tags {
        width: 100%;
    }

    /* Slightly larger rating on mobile */
    .hv-roomcard-rating {
        font-size: 12px;
    }

    .hv-roomcard-stars i {
        font-size: 13px;
    }
}

/* MOBILE FIX: Remove useless space under price */
@media (max-width: 640px) {

    /* Make card content stack cleanly */
    .hv-roomcard {
        align-items: flex-start !important;
        gap: 10px !important;
    }

    /* Remove bottom space below price block */
    .hv-roomcard-price {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Pull buttons closer */
    .hv-roomcard-side {
        gap: 6px !important;
        margin-top: -6px !important;
    }

    /* Remove extra spacing from body */
    .hv-roomcard-body {
        margin-bottom: 0 !important;
    }
}


/* ========= POPULAR ROUTES SECTION ========= */

.hv-routes {
    border-radius: 26px;
    padding: 26px 18px 30px;
    background:
        radial-gradient(circle at top left, rgba(111, 147, 176, 0.10), transparent 60%),
        radial-gradient(circle at bottom right, rgba(194, 142, 31, 0.12), #f9fafb);
    border: 1px solid rgba(148, 163, 184, 0.50);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
}

.hv-routes-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 18px;
}

.hv-routes-kicker {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-weight: 600;
    color: #C28E1F;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.hv-routes-kicker::before {
    content: "";
    width: 40px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #6F93B0, #C28E1F);
}

.hv-routes-title {
    margin: 2px 0 0;
    font-size: 20px;
    font-weight: 800;
    color: #111827;
}


/* WRAP FOR TAGS */
.hv-routes-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
}

/* SINGLE ROUTE “PILL” */
.hv-route-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    color: #1F2933;
    text-decoration: none;
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(111, 147, 176, 0.4);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    transition: all .18s ease;
}

/* subtle gradient outline */
.hv-route-pill::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, #6F93B0, #C28E1F);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity .18s ease;
}

/* icon */
.hv-route-icon {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #F3F6FB;
    color: #6F93B0;
    font-size: 11px;
}

/* arrow */
.hv-route-arrow {
    font-size: 12px;
    color: #9CA3AF;
}

/* hover / focus */
.hv-route-pill:hover,
.hv-route-pill:focus-visible {
    color: #0F172A;
    box-shadow: 0 8px 20px rgba(111, 147, 176, 0.22);
    transform: translateY(-1px);
}

.hv-route-pill:hover::before,
.hv-route-pill:focus-visible::before {
    opacity: 1;
}

.hv-route-pill:hover .hv-route-arrow {
    color: #C28E1F;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .hv-routes-head {
        flex-direction: column;
        align-items: flex-start;
    }


    .hv-route-pill {
        width: 100%;
        justify-content: space-between;
    }
}

/* pop up form */
/* Backdrop light */
.modal-backdrop.show {
    background-color: rgba(0, 0, 0, 0.35);
}

/* CARD SIZE – wider + not too tall */
.enquiry-dialog {
    max-width: 460px;
    /* 👈 little more width */
    width: 100%;
    margin: 1.5rem auto;
}

@media (max-width: 575px) {
    .enquiry-dialog {
        max-width: 95%;
        margin: 1rem auto;
    }
}

/* MAIN GRADIENT CARD */
.enquiry-modal {
    border-radius: 26px;
    background: linear-gradient(180deg, #6F93B0 0%, #C28E1F 100%);
    border: none;
    color: #fff;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.35);
}

/* CLOSE BUTTON */
.modal-close {
    position: absolute;
    top: 10px;
    right: 14px;
    font-size: 20px;
    width: 28px;
    height: 28px;
    background: #ffffff;
    color: #6F93B0;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    z-index: 10;
    line-height: 22px;
    text-align: center;
}

/* INNER – compact padding */
.enquiry-box {
    padding: 22px 22px 18px;
    font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* TOP KICKER + TITLE */
.enquiry-kicker {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 600;
    opacity: 0.9;
    margin-bottom: 4px;
}

.enquiry-title {
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 14px;
}

/* LABELS + INPUTS – tighter spacing */
.enquiry-form label {
    font-size: 11px;
    font-weight: 600;
    margin: 4px 0 3px;
    color: #ecf4ff;
}

/* BUTTON – same as reference */
.whatsapp-btn {
    background: #F7C52D;
    color: #000;
    font-weight: 700;
    border-radius: 999px;
    width: 100%;
    border: none;
    padding: 11px 0;
    /* 👈 slightly shorter */
    cursor: pointer;
    margin-top: 6px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.whatsapp-btn:hover {
    filter: brightness(0.97);
}

/* keep modal always on top */
.modal {
    z-index: 99999 !important;
}

.modal-backdrop {
    z-index: 99998 !important;
}

.modal-dialog,
.enquiry-modal {
    z-index: 999999 !important;
}

/* Ensure modal shows above everything */
.modal {
    z-index: 99999 !important;
}

.modal-backdrop {
    z-index: 99998 !important;
    background-color: rgba(0, 0, 0, 0.35) !important;
    /* light dim */
}

.modal-dialog {
    z-index: 999999 !important;
}

.enquiry-modal {
    z-index: 999999 !important;
    position: relative;
}


/* car */
.tp-car-features {
    background: #ffffff;
    border-radius: 20px;
    padding: 32px 26px 26px;
    border: 1px solid rgba(111, 147, 176, 0.20);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.05);
}

/* SLIDER WRAPPER */
.car-features-slider {
    overflow: hidden;
    width: 100%;
    margin-top: 25px;
    position: relative;
}

/* TRACK */
.car-features-track {
    display: flex;
    gap: 20px;
    width: max-content;
    animation: slideSquares 20s linear infinite;
}

.car-features-slider:hover .car-features-track {
    animation-play-state: paused;
}

/* AUTO SLIDE ANIMATION */
@keyframes slideSquares {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* SQUARE BOXES */
.square-box {
    width: 160px;
    height: 160px;
    min-width: 160px;
    min-height: 160px;

    background: #ffffff;
    border: 1px solid #e5e5e5;
    padding: 16px;
    border-radius: 14px;
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    transition: 0.3s ease;
}

.square-box:hover {
    background: #6F93B0;
    color: #fff;
    transform: translateY(-5px);
}

/* icons */
.car-feature-icon {
    font-size: 32px;
    margin-bottom: 8px;
    color: #C28E1F;
}

.square-box:hover .car-feature-icon {
    color: #fff;
}

/* text */
.square-box h4 {
    font-size: 15px;
    margin: 4px 0;
    text-align: center;
}

.square-box p {
    font-size: 12px;
    margin: 0;
    opacity: 0.9;
    text-align: center;
}

/* MOBILE */
@media (max-width: 600px) {
    .square-box {
        width: 140px;
        height: 140px;
        min-width: 140px;
    }
}

/* === FIXED COMPACT CAPSULE — NO USELESS SPACE === */

.glow-enquiry {
    position: fixed;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);

    width: 58px;
    min-height: 150px;
    /* Reduced height */
    background: linear-gradient(180deg, #6F93B0 0%, #C28E1F 100%);
    border-radius: 999px;

    padding: 40px 0 30px;
    /* Adjusted for perfect alignment */

    display: flex;
    align-items: center;
    justify-content: center;

    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.26);
    cursor: pointer;
    z-index: 1000;
    overflow: visible;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* HEADSET BADGE – unchanged */
.glow-badge {
    position: absolute;
    top: -22px;
    right: 10px;

    width: 46px;
    height: 46px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.26);

    display: flex;
    align-items: center;
    justify-content: center;

    color: #6F93B0;
    font-size: 18px;
    border: 3px solid #C28E1F;
}

/* === CLEAN VERTICAL TEXT (Aligned Properly) === */
.glow-text {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    line-height: 1.1;
    color: #ffffff;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 13px;
    /* clearer text */
}

.glow-word {
    display: block;
}

/* Top = QUICK, Bottom = ENQUIRY grouped tight */
.glow-word-quick {
    margin-bottom: 6px;
}

.glow-word-enquiry {
    margin-top: 6px;
}

/* Hover effect */
.glow-enquiry:hover {
    transform: translateY(-50%) scale(1.05);
    box-shadow: 0 12px 30px rgba(111, 147, 176, 0.65);
}

/* MOBILE OPTIMIZATION */
@media (max-width: 575px) {
    .glow-enquiry {
        width: 52px;
        min-height: 140px;
        padding: 36px 0 28px;
    }

    .glow-text {
        font-size: 12px;
    }

    .glow-badge {
        width: 40px;
        height: 40px;
        font-size: 15px;
        right: 8px;
    }
}



/* ========== CONTACT PAGE WRAPPER ========== */

.cd-contact-page {
    background: #f5f7fb;
}

/* ====== HERO ====== */

.cd-contact-hero-banner img {
    width: 100%;
    height: 380px;
    /* adjust height */
    object-fit: cover;
    /* crop perfectly */
    display: block;
}



.cd-contact-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top, rgba(255, 255, 255, 0.16), transparent 65%);
    opacity: 0.8;
    pointer-events: none;
}

.cd-contact-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 780px;
    color: #f7f9ff;
}

.cd-contact-kicker {
    display: inline-flex;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(5, 21, 40, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.35);
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.cd-contact-title {
    font-size: 30px;
    line-height: 1.3;
    margin-bottom: 10px;
    font-weight: 700;
}

.cd-contact-sub {
    font-size: 15px;
    line-height: 1.8;
    color: #dbe7fb;
    max-width: 650px;
}

/* Hero inline stats */

.cd-contact-hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 30px;
    margin-top: 18px;
}

.cd-contact-hero-stat {
    min-width: 120px;
}

.cd-contact-hero-number {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: #ffda73;
    text-shadow: 0 4px 14px rgba(194, 142, 31, 0.5);
}

.cd-contact-hero-label {
    display: block;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #e1edff;
    opacity: 0.85;
}

/* ====== MAIN CONTACT BLOCK ====== */

/* ========== CONTACT MAIN WRAPPER ========== */

.cd-contact-main {
    padding: 40px 0 60px;
}

/* GRID LAYOUT: LEFT CARDS + RIGHT FORM */

.cd-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, 1fr);
    gap: 28px;
    align-items: flex-start;
}

/* ========== LEFT COLUMN: CONTACT CARDS ========== */

.cd-contact-left {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

/* CARD WRAPPER */
.cd-contact-card {
    padding: 22px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 18px 45px rgba(15, 32, 55, 0.10);
    display: flex;
    gap: 18px;
    align-items: flex-start;
    transition: 0.3s ease;
    position: relative;
}

/* hover glow */
.cd-contact-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 55px rgba(194, 142, 31, 0.25);
}

/* ICON */
.cd-contact-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #C28E1F, #F5D488);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #102437;
    font-size: 22px;
    flex-shrink: 0;
    box-shadow: 0 8px 18px rgba(194, 142, 31, 0.35);
}

/* TEXT */
.cd-contact-card-body h2 {
    margin: 0 0 6px;
    font-size: 19px;
    font-weight: 700;
    color: #0f2236;
}

.cd-contact-card-body p {
    margin: 0 0 10px;
    font-size: 15px;
    color: #42556a;
    line-height: 1.65;
}

/* PHONE BLOCK */
.cd-contact-phone-block {
    background: rgba(16, 36, 55, 0.06);
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 15px;
    border-left: 3px solid #C28E1F;
    margin-bottom: 10px;
}

.cd-contact-phone-block span {
    color: #4a5b6f;
    margin-right: 4px;
}

.cd-contact-phone-block strong {
    color: #102437;
}

/* EMAIL INFO */
.cd-contact-email {
    padding: 10px 12px;
    background: rgba(194, 142, 31, 0.07);
    border-left: 3px solid #C28E1F;
    border-radius: 10px;
    font-size: 15px;
    color: #0f2236;
    margin-bottom: 8px;
}

.cd-contact-email-note {
    font-size: 13px;
    color: #5a6b7f;
}

/* LOCATION LIST */
.cd-contact-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cd-contact-list li {
    font-size: 14px;
    padding-left: 18px;
    position: relative;
    color: #42556a;
    margin-bottom: 6px;
}

.cd-contact-list li::before {
    content: "✔";
    position: absolute;
    left: 0;
    top: 1px;
    font-size: 12px;
    color: #C28E1F;
}

.cd-contact-small {
    font-size: 13px;
    color: #57697f;
    margin-top: 6px;
}

/* ========== RIGHT COLUMN: FORM ========== */

.cd-contact-form-wrap {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 248, 253, 0.98));
    border-radius: 22px;
    padding: 22px 22px 20px;
    box-shadow: 0 20px 50px rgba(15, 32, 55, 0.16);
    border: 1px solid rgba(111, 147, 176, 0.25);
    position: relative;
    overflow: hidden;
}

/* subtle gold edge */
.cd-contact-form-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(194, 142, 31, 0.38), transparent 60%);
    mix-blend-mode: soft-light;
    opacity: 0.5;
    pointer-events: none;
}

/* HEAD */

.cd-contact-form-head {
    position: relative;
    margin-bottom: 14px;
}

.cd-contact-form-kicker {
    display: inline-flex;
    padding: 3px 11px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
    background: rgba(16, 36, 55, 0.08);
    color: #8a6715;
    margin-bottom: 6px;
}

.cd-contact-form-head h2 {
    margin: 0 0 4px;
    font-size: 19px;
    color: #102437;
    font-weight: 700;
}

.cd-contact-form-head p {
    margin: 0;
    font-size: 13px;
    color: #4a5b6f;
    line-height: 1.7;
}

/* FORM BODY */

.cd-contact-form {
    margin-top: 8px;
}

/* ROWS: first 3 rows 2-column, last 2 rows full-width */
.cd-contact-form .cd-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 10px;
}

/* Dates + Message rows become single-column */
.cd-contact-form .cd-form-row:nth-child(n+4) {
    grid-template-columns: minmax(0, 1fr);
}

/* FIELD */

.cd-form-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cd-form-field label {
    font-size: 13px;
    font-weight: 500;
    color: #314256;
}

/* INPUTS / SELECT / TEXTAREA */

.cd-form-field input,
.cd-form-field select,
.cd-form-field textarea {
    border-radius: 11px;
    border: 1px solid rgba(148, 169, 192, 0.7);
    padding: 8px 10px;
    font-size: 13px;
    font-family: inherit;
    color: #1c3045;
    background: #fcfdff;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, transform 0.1s ease;
}

/* PLACEHOLDERS */

.cd-form-field input::placeholder,
.cd-form-field textarea::placeholder {
    color: #a4b1c1;
}

/* FOCUS */

.cd-form-field input:focus,
.cd-form-field select:focus,
.cd-form-field textarea:focus {
    border-color: #C28E1F;
    box-shadow: 0 0 0 1px rgba(194, 142, 31, 0.35);
    background: #ffffff;
    transform: translateY(-1px);
}

/* TEXTAREA */

.cd-form-field textarea {
    resize: vertical;
    min-height: 90px;
}

/* SELECT ARROW */

.cd-form-field select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #C28E1F 50%),
        linear-gradient(135deg, #C28E1F 50%, transparent 50%);
    background-position: calc(100% - 14px) 55%, calc(100% - 9px) 55%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 28px;
}

/* FOOTER */

.cd-form-foot {
    margin-top: 6px;
}

.cd-contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 22px;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    background: linear-gradient(135deg, #C28E1F, #e3b54b);
    color: #1b1403;
    box-shadow: 0 14px 32px rgba(194, 142, 31, 0.5);
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.cd-contact-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 40px rgba(194, 142, 31, 0.6);
    background: linear-gradient(135deg, #e0af3d, #f2cb63);
}

.cd-form-note {
    margin-top: 6px;
    font-size: 11px;
    color: #6a7a8e;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 992px) {
    .cd-contact-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }

    /* Option: show form first on tablet/mobile */
    .cd-contact-form-wrap {
        order: -1;
    }
}

@media (max-width: 768px) {
    .cd-contact-form-wrap {
        padding: 18px 16px 16px;
        border-radius: 18px;
    }

    .cd-contact-form-head h2 {
        font-size: 17px;
    }

    .cd-contact-form .cd-form-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .cd-contact-card {
        flex-direction: column;
    }

    .cd-contact-form-kicker {
        font-size: 10px;
    }

    .cd-contact-form-head h2 {
        font-size: 16px;
    }
}

/* ========== PRIVACY POLICY PAGE ========== */

/* ===============================
   PRIVACY POLICY HERO STRIP – NEW
   =============================== */

/* soft background behind the hero strip */
.cd-pp-hero {
    background: #f4f6fb;
    padding: 26px 0 26px;
}

/* main card */
.cd-pp-hero-inner {
    /* max-width: 940px; */
    margin: 0 auto;
    background: #ffffff;
    border-radius: 16px;
    padding: 18px 22px 16px;
    border: 1px solid #e1e7f0;
    box-shadow: 0 10px 24px rgba(16, 30, 56, 0.10);
    position: relative;
    overflow: hidden;
}

/* subtle gold accent bar on top edge */
.cd-pp-hero-inner::before {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    top: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #c28e1f, #f2cf73, #c28e1f);
}

/* faint decorative circle on right */
.cd-pp-hero-inner::after {
    content: "";
    position: absolute;
    right: -40px;
    top: -40px;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(194, 142, 31, 0.18), transparent 65%);
    opacity: 0.7;
}

/* kicker chip */
.cd-pp-kicker {
    display: inline-flex;
    padding: 3px 11px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #8a6715;
    background: #fff8e8;
    border: 1px solid rgba(194, 142, 31, 0.55);
    margin-top: 7px;
    /* a bit below the gold bar */
    margin-bottom: 6px;
}

/* main title */
.cd-pp-title {
    margin: 0 0 6px;
    font-size: 24px;
    line-height: 1.35;
    font-weight: 700;
    color: #102437;
}

/* subtitle */
.cd-pp-sub {
    margin: 0 0 10px;
    max-width: 720px;
    font-size: 14px;
    line-height: 1.7;
    color: #4a5b6f;
}


/* ========== Responsive ========== */

@media (max-width: 768px) {
    .cd-pp-hero {
        padding: 20px 0 20px;
    }

    .cd-pp-hero-inner {
        border-radius: 14px;
        padding: 16px 16px 14px;
    }

    .cd-pp-title {
        font-size: 20px;
    }

    .cd-pp-sub {
        font-size: 13px;
    }
}


/* ================================
   MAIN PRIVACY CONTENT AREA
   ================================ */

.cd-pp-main {
    background: #f7f9fc;
    padding: 20px 0 60px;
}

/* two-column layout: TOC + content */
.cd-pp-grid {
    display: grid;
    grid-template-columns: minmax(230px, 0.9fr) minmax(0, 2.1fr);
    gap: 28px;
    align-items: flex-start;
}

/* -------- LEFT: TABLE OF CONTENTS -------- */

.cd-pp-toc-card {
    position: sticky;
    top: 100px;
    background: #ffffff;
    border-radius: 12px;
    padding: 14px 14px 12px;
    border: 1px solid #e3e8f3;
    box-shadow: 0 6px 22px rgba(16, 30, 56, 0.06);
}

.cd-pp-toc-card h2 {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: #163654;
    margin: 0 0 8px;
}

.cd-pp-toc-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cd-pp-toc-card li {
    margin-bottom: 4px;
}

.cd-pp-toc-card a {
    display: block;
    font-size: 13px;
    padding: 4px 8px;
    border-radius: 6px;
    color: #3f5065;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, padding-left 0.18s ease;
}

.cd-pp-toc-card a:hover {
    background: rgba(194, 142, 31, 0.11);
    color: #c28e1f;
    padding-left: 14px;
}

/* -------- RIGHT: POLICY CONTENT -------- */

.cd-pp-content {
    background: #ffffff;
    border-radius: 12px;
    padding: 22px 26px;
    border: 1px solid #e1e7f0;
    box-shadow: 0 6px 26px rgba(16, 30, 56, 0.06);
    font-size: 15px;
    color: #344257;
    line-height: 1.8;
}

/* spacing between sections */
.cd-pp-block+.cd-pp-block {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid #edf0f6;
}

.cd-pp-block h2 {
    font-size: 18px;
    margin: 0 0 8px;
    color: #102437;
    font-weight: 600;
}

.cd-pp-block p {
    margin: 0 0 8px;
}

.cd-pp-block ul {
    margin: 6px 0 10px 20px;
    padding: 0;
}

.cd-pp-block li {
    margin-bottom: 6px;
}

/* contact highlight box at bottom */
.cd-pp-contact-box {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid rgba(194, 142, 31, 0.45);
    background: #fff7e6;
    color: #4a3b17;
}

/* ================================
   RESPONSIVE
   ================================ */

@media (max-width: 992px) {
    .cd-pp-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }

    .cd-pp-toc-card {
        position: static;
    }
}

@media (max-width: 640px) {
    .cd-pp-title {
        font-size: 22px;
    }

    .cd-pp-sub {
        font-size: 13px;
    }

    .cd-pp-content {
        padding: 18px 18px 20px;
    }
}

/* ===============================
   TERMS HERO – MATCH PRIVACY STYLE
   =============================== */

.cd-tc-hero {
    background: #f4f6fb;
    padding: 26px 0 26px;
}

.cd-tc-hero-inner {
    margin: 0 auto;
    background: #ffffff;
    border-radius: 16px;
    padding: 18px 22px 16px;
    border: 1px solid #e1e7f0;
    box-shadow: 0 10px 24px rgba(16, 30, 56, 0.10);
    position: relative;
    overflow: hidden;
}

/* gold line on top */
.cd-tc-hero-inner::before {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    top: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #c28e1f, #f2cf73, #c28e1f);
}

/* light decorative circle */
.cd-tc-hero-inner::after {
    content: "";
    position: absolute;
    right: -40px;
    top: -40px;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(194, 142, 31, 0.18), transparent 65%);
    opacity: 0.7;
}

/* hero text */
.cd-tc-kicker {
    display: inline-flex;
    padding: 3px 11px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #8a6715;
    background: #fff8e8;
    border: 1px solid rgba(194, 142, 31, 0.55);
    margin-top: 7px;
    margin-bottom: 6px;
}

.cd-tc-title {
    margin: 0 0 6px;
    font-size: 24px;
    line-height: 1.35;
    font-weight: 700;
    color: #102437;
}

.cd-tc-sub {
    margin: 0 0 10px;
    max-width: 720px;
    font-size: 14px;
    line-height: 1.7;
    color: #4a5b6f;
}

/* ===============================
   TERMS MAIN LAYOUT
   =============================== */

.cd-tc-main {
    background: #f5f7fb;
    padding: 10px 0 60px;
}

.cd-tc-grid {
    display: grid;
    grid-template-columns: minmax(220px, 0.9fr) minmax(0, 2.1fr);
    gap: 26px;
    align-items: flex-start;
}

/* TOC */
.cd-tc-toc-card {
    position: sticky;
    top: 100px;
    background: #ffffff;
    border-radius: 14px;
    padding: 14px 14px 12px;
    box-shadow: 0 14px 32px rgba(12, 27, 48, 0.12);
    border: 1px solid rgba(207, 216, 232, 0.95);
}

.cd-tc-toc-card h2 {
    font-size: 13px;
    margin: 0 0 8px;
    color: #163654;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.cd-tc-toc-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cd-tc-toc-card li {
    margin-bottom: 4px;
}

.cd-tc-toc-card a {
    display: block;
    font-size: 13px;
    color: #43556e;
    text-decoration: none;
    padding: 4px 8px;
    border-radius: 8px;
    transition: background 0.18s ease, color 0.18s ease, padding-left 0.18s ease;
}

.cd-tc-toc-card a:hover {
    background: rgba(194, 142, 31, 0.09);
    color: #C28E1F;
    padding-left: 12px;
}

/* CONTENT CARD */
.cd-tc-content {
    background: #ffffff;
    border-radius: 16px;
    padding: 20px 22px 22px;
    box-shadow: 0 18px 38px rgba(16, 36, 55, 0.10);
    border: 1px solid rgba(210, 219, 233, 0.95);
    font-size: 14px;
    color: #334155;
    line-height: 1.8;
}

.cd-tc-block+.cd-tc-block {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(228, 233, 242, 0.95);
}

.cd-tc-block h2 {
    font-size: 16px;
    color: #163654;
    margin: 0 0 6px;
    font-weight: 700;
}

.cd-tc-block p {
    margin: 0 0 8px;
}

.cd-tc-block ul {
    margin: 0 0 8px 20px;
    padding: 0;
}

.cd-tc-block li {
    margin-bottom: 5px;
}

/* contact highlight */
.cd-tc-contact-box {
    margin-top: 8px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(194, 142, 31, 0.45);
    background: #fffbf2;
}

/* Responsive */
@media (max-width: 992px) {
    .cd-tc-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }

    .cd-tc-toc-card {
        position: static;
        order: -1;
    }
}

@media (max-width: 768px) {
    .cd-tc-hero-inner {
        margin-top: 0;
        padding: 16px 16px 14px;
    }

    .cd-tc-title {
        font-size: 20px;
    }

    .cd-tc-sub {
        font-size: 13px;
    }

    .cd-tc-content {
        padding: 16px 16px 18px;
    }
}


/* temples */


@media(max-width: 900px) {
    .temple-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width: 600px) {
    .temple-grid {
        grid-template-columns: 1fr;
    }
}

/* Grid Layout */
.temple-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* always 3 columns */
    gap: 26px;
    margin: 40px 0;
}


/* Card Styling */
.temple-card {
    background: #ffffff;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.09);
    transition: all 0.3s ease;
    position: relative;
    border: 1px solid #eef0f4;
}

.temple-card::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 24px;
    background: radial-gradient(circle at top left, rgba(194, 142, 31, 0.32), transparent 55%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.temple-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.16);
    border-color: #C28E1F40;
}

.temple-card:hover::before {
    opacity: 1;
}

/* Image Section */
.temple-img {
    position: relative;
    height: 250px;
    background: linear-gradient(180deg, #f5f7fb, #dde3ee);
}

.temple-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.temple-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.35));
}

/* Content */
.temple-content {
    padding: 22px 24px 24px;
}

.temple-name {
    font-size: 20px;
    color: #143049;
    font-weight: 700;
    margin-bottom: 8px;
}

.temple-desc {
    font-size: 14px;
    color: #616b7a;
    line-height: 1.7;
    margin-bottom: 16px;
    min-height: 60px;
    /* equal look across cards */
}

/* Features Row */
.temple-info {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    font-size: 13px;
    margin-bottom: 18px;
    color: #3a4452;
}

.temple-info div {
    display: flex;
    align-items: center;
    gap: 6px;
}

.temple-info i {
    color: #6F93B0;
    font-size: 14px;
}

/* Button */
.temple-btn {
    display: inline-block;
    width: 100%;
    text-align: center;
    background: linear-gradient(135deg, #6F93B0, #4d6a84);
    color: #fff;
    padding: 11px 0;
    border-radius: 999px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    letter-spacing: 0.3px;
    transition: all 0.25s ease;
}

.temple-btn:hover {
    background: linear-gradient(135deg, #4d6a84, #6F93B0);
    transform: translateY(-1px);
    color: white;
}


/* ================= TEMPLE BIG BOX DESIGN ================= */

.cd-temple-big {
    background: #f4f7fb;
    padding: 40px 0 50px;
}

.cd-temple-big-head {
    text-align: center;
    max-width: 750px;
    margin: 0 auto 25px;
}

.cd-temple-big-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

/* BIG CARD */
.cd-temple-big-card {
    position: relative;
    display: block;
    border-radius: 22px;
    overflow: hidden;
    background: #000;
    height: 400px;
    color: white;
    text-decoration: none;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cd-temple-big-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.55);
    color: #f4d892;
}

/* Image */
.cd-temple-big-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.06);
    transition: transform 0.4s ease;
}

.cd-temple-big-card:hover img {
    transform: scale(1.12);
}

/* Dark Gradient Overlay */
.cd-temple-big-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(5, 15, 30, 0.95) 0%, rgba(5, 15, 30, 0.25) 55%, rgba(5, 15, 30, 0.1));
}

/* Badge */
.cd-temple-big-badge {
    position: absolute;
    z-index: 2;
    left: 18px;
    top: 16px;
    padding: 5px 14px;
    font-size: 12px;
    text-transform: uppercase;
    border-radius: 999px;
    background: rgba(15, 24, 40, 0.85);
    border: 1px solid rgba(240, 205, 120, 0.8);
    color: #f4d892;
}

/* Overlay Content */
.cd-temple-big-overlay {
    position: absolute;
    z-index: 2;
    bottom: 0;
    padding: 18px;
}

.cd-temple-big-overlay h3 {
    margin: 0 0 6px;
    font-size: 20px;
    font-weight: 700;
}

.cd-temple-big-overlay p {
    margin: 0 0 10px;
    font-size: 14px;
    color: #e5e8ef;
}

/* Meta Row */
.cd-temple-big-meta {
    display: flex;
    gap: 15px;
    font-size: 13px;
    margin-bottom: 8px;
    color: #e7edf9;
}

.cd-temple-big-meta i {
    color: #f4d892;
}

/* Footer CTA */
.cd-temple-big-footer {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #f4d892;
    transition: gap 0.2s ease;
}

.cd-temple-big-card:hover .cd-temple-big-footer {
    gap: 12px;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 900px) {
    .cd-temple-big-grid {
        grid-template-columns: 1fr;
    }
}

/* ================= MOBILE RESPONSIVE FIX ================= */

@media (max-width: 768px) {

    .temple-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        margin: 24px 0;
    }

    .temple-card {
        border-radius: 18px;
        transform: none !important;
    }

    .temple-card:hover {
        transform: none;
        box-shadow: 0 12px 26px rgba(0, 0, 0, 0.12);
    }

    /* Image: reduce height */
    .temple-img {
        height: 180px;
    }

    /* Content spacing */
    .temple-content {
        padding: 16px 18px 18px;
    }

    .temple-name {
        font-size: 18px;
        line-height: 1.3;
    }

    /* Remove forced height */
    .temple-desc {
        min-height: auto;
        font-size: 14px;
        margin-bottom: 14px;
    }

    /* Stack info cleanly */
    .temple-info {
        flex-direction: column;
        gap: 8px;
        font-size: 13px;
    }

    .temple-info div {
        gap: 8px;
    }

    /* Button: better tap target */
    .temple-btn {
        padding: 13px 0;
        font-size: 14px;
        border-radius: 14px;
    }
}

/* Small phones */
@media (max-width: 420px) {
    .temple-img {
        height: 160px;
    }

    .temple-content {
        padding: 14px 16px 16px;
    }

    .temple-name {
        font-size: 17px;
    }
}

/* ===== MOBILE: ROW STYLE BUT NEVER CUT TEXT ===== */
@media (max-width: 768px) {

    .temple-info {
        display: flex;
        flex-wrap: wrap;
        /* allow wrap instead of cutting */
        gap: 10px;
        overflow: visible;
        /* no clipping */
        padding-bottom: 0;
    }

    .temple-info div {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 7px 12px;
        border-radius: 999px;
        background: #f5f7fb;
        max-width: 100%;
        /* chip never exceeds card width */
        white-space: normal;
        /* allow text wrap */
        line-height: 1.2;
    }

    /* If any long text occurs, allow breaking instead of overflow */
    .temple-info div {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    /* Icons stay fixed */
    .temple-info i {
        flex: 0 0 auto;
        font-size: 13px;
    }
}

.vbBlog {
    padding: 90px 0;
    background:
        radial-gradient(900px 500px at 10% 10%, rgba(111, 147, 176, .18), transparent 60%),
        radial-gradient(900px 500px at 90% 30%, rgba(111, 147, 176, .10), transparent 60%),
        #f7fafc;
}

.vbWrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.vbHead {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

.vbKicker {
    display: inline-block;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #C28E1F;
    background: rgba(255, 255, 255, .75);
    border: 1px solid rgba(111, 147, 176, .25);
    padding: 8px 12px;
    border-radius: 999px;
    backdrop-filter: blur(10px);
}

.vbTitle {
    font-size: 36px;
    line-height: 1.15;
    margin: 12px 0;
    color: #0f172a;
}

.vbSub {
    max-width: 720px;
    color: #5b6b7e;
    line-height: 1.7;
    margin: 0;
}

.vbAll {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 16px;
    border-radius: 12px;
    border: 1px solid rgba(111, 147, 176, .35);
    background: rgba(255, 255, 255, .75);
    color: #0f172a;
    text-decoration: none;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(2, 6, 23, .06);
    transition: transform .25s ease, box-shadow .25s ease;
}

.vbAll:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(2, 6, 23, .10);
}

.vbLayout {
    display: grid;
    grid-template-columns: 1.35fr .95fr;
    gap: 22px;
    align-items: stretch;
}

/* Featured */
.vbFeatured {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 22px 60px rgba(2, 6, 23, .12);
    border: 1px solid rgba(255, 255, 255, .6);
}

.vbFeatMedia {
    position: relative;
    display: block;
    height: 520px;
    text-decoration: none;
    color: inherit;
}

.vbFeatMedia img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform .7s ease;
}

.vbFeatured:hover .vbFeatMedia img {
    transform: scale(1.08);
}

.vbFeatOverlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(2, 6, 23, .10), rgba(2, 6, 23, .72) 70%),
        radial-gradient(900px 420px at 20% 15%, rgba(111, 147, 176, .40), transparent 55%);
}

.vbFeatTop {
    position: absolute;
    top: 18px;
    left: 18px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    z-index: 2;
}

.vbPill {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    color: #ffffff;
    background: #C28E1F;
    box-shadow: 0 12px 26px rgba(2, 6, 23, .22);
}

.vbPill--ghost {
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .28);
}

.vbFeatText {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 18px 18px 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .20);
    backdrop-filter: blur(12px);
    z-index: 2;
}

.vbFeatText h3 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 26px;
    line-height: 1.2;
    letter-spacing: .2px;
}

.vbFeatText p {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, .84);
    line-height: 1.6;
    max-width: 520px;
}

.vbFeatMeta {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, .85);
    font-size: 13px;
    font-weight: 700;
}

.vbDot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #C28E1F;
    display: inline-block;
}

/* Side stack */
.vbSide {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.vbMini {
    background: rgba(255, 255, 255, .80);
    border: 1px solid rgba(111, 147, 176, .18);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(2, 6, 23, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.vbMini:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 48px rgba(2, 6, 23, .12);
}

.vbMiniLink {
    display: flex;
    gap: 14px;
    padding: 14px;
    text-decoration: none;
    color: inherit;
    align-items: stretch;
}

.vbMiniLeft {
    flex: 1;
    min-width: 0;
}

.vbMiniCat {
    display: inline-block;
    font-size: 12px;
    font-weight: 900;
    color: #6F93B0;
    background: rgba(111, 147, 176, .14);
    border: 1px solid rgba(111, 147, 176, .20);
    padding: 6px 10px;
    border-radius: 999px;
    margin-bottom: 10px;
}

.vbMiniLeft h4 {
    margin: 0 0 10px;
    color: #0f172a;
    font-size: 16px;
    line-height: 1.35;
}

.vbMiniMeta {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #607084;
    font-size: 13px;
    font-weight: 700;
}

.vbMiniThumb {
    width: 108px;
    border-radius: 14px;
    overflow: hidden;
    flex: 0 0 auto;
    border: 1px solid rgba(15, 23, 42, .10);
}

.vbMiniThumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Responsive */
@media (max-width: 1024px) {
    .vbLayout {
        grid-template-columns: 1fr;
    }

    .vbFeatMedia {
        height: 440px;
    }
}

@media (max-width: 640px) {
    .vbHead {
        flex-direction: column;
        align-items: flex-start;
    }

    .vbTitle {
        font-size: 28px;
    }

    .vbFeatMedia {
        height: 380px;
    }

    .vbMiniThumb {
        width: 92px;
    }
}


/* section */
.fdLinks {
    background: #ffffff;
    /* padding:70px 0; */
}

.fdWrap {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 20px;
}

/* head */
.fdHead {
    margin-bottom: 26px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(15, 23, 42, .12);
}

.fdHead h2 {
    margin: 0 0 8px;
    font-size: 30px;
    color: #0f172a;
}

.fdHead p {
    margin: 0;
    color: #4b5563;
    line-height: 1.6;
    max-width: 850px;
}

/* grid */
.fdGrid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 26px;
}

/* column */
.fdCol h3 {
    margin: 0 0 14px;
    font-size: 18px;
    color: #0f172a;
    font-weight: 800;
    padding-top: 12px;
    position: relative;
}

/* gold top line per column */
.fdCol h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 54px;
    height: 3px;
    background: #C28E1F;
    border-radius: 3px;
}

/* item */
.fdItem {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    text-decoration: none;
    color: #111827;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    transition: all .22s ease;
    font-weight: 600;
    line-height: 1.35;
}

.fdItem:last-child {
    border-bottom: none;
}

/* arrow icon */
.fdIc {
    color: #6F93B0;
    font-weight: 900;
    margin-top: 1px;
}

/* hover */
.fdItem:hover {
    color: #6F93B0;
    padding-left: 6px;
}

.fdItem:hover .fdIc {
    color: #C28E1F;
}

/* responsive */
@media (max-width:1200px) {
    .fdGrid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width:820px) {
    .fdGrid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width:520px) {
    .fdGrid {
        grid-template-columns: 1fr;
    }

    .fdItem {
        padding: 12px 0;
    }
}

.floating-call-btn {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(180deg, #6F93B0 0%, #C28E1F 100%);
    color: #ffffff;
    padding: 12px 18px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
    transition: all 0.3s ease;
}

.floating-call-btn i {
    font-size: 18px;
}

.floating-call-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
    color: #ffffff;
}

/* Chat Panel */
.wa-auto-chat {
    position: fixed;
    right: 20px;
    bottom: 90px;
    /* leaves space for mini button */
    width: 320px;
    max-width: calc(100vw - 40px);
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
    z-index: 999999;
    overflow: hidden;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

    /* animation */
    transform: translateY(10px);
    opacity: 0;
    visibility: hidden;
    transition: transform .25s ease, opacity .25s ease, visibility .25s ease;
}

.wa-auto-chat.is-open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

.wa-auto-header {
    background: #25D366;
    color: #ffffff;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.wa-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #ffffff;
    background: #ffffff;
}

.wa-header-text {
    flex: 1;
    line-height: 1.2;
}

.wa-header-text strong {
    font-size: 15px;
    display: block;
}

.wa-header-text span {
    font-size: 12px;
    opacity: .9;
}

.wa-close {
    background: transparent;
    border: 0;
    color: #ffffff;
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
}

.wa-auto-body {
    padding: 14px;
    background: #f6f6f6;
}

.wa-message {
    background: #ffffff;
    padding: 12px 14px;
    border-radius: 14px;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);
    font-size: 14px;
    color: #222;
    margin-bottom: 14px;
    width: fit-content;
    max-width: 92%;
}

.wa-start-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #25D366;
    color: #ffffff;
    text-decoration: none;
    padding: 12px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 14px;
}

.wa-start-btn i {
    font-size: 18px;
}

/* Mini Floating WhatsApp Button */
.wa-mini-btn {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 0;
    background: #25D366;
    color: #ffffff;
    cursor: pointer;
    z-index: 1000000;
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s ease, box-shadow .2s ease;
}

.wa-mini-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
}

.wa-mini-btn i {
    font-size: 22px;
}

/* Mobile sizing */
@media (max-width: 576px) {
    .wa-auto-chat {
        right: 14px;
        left: 14px;
        width: auto;
        max-width: none;
        bottom: 86px;
    }

    .wa-mini-btn {
        right: 14px;
        bottom: 14px;
    }
}

.fleet-readmore-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
}

.fleet-readmore-btn {
    margin-bottom: 12px;
    background: none;
    border: none;
    color: #c28e1f;
    font-size: 20px;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
}

.fleet-readmore-btn:hover {
    text-decoration: underline;
}