/* ===== style.css ===== */
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap");
/* =========================================================
   AUTHENTIC INDIA HOLIDAYS — CLEAN BOOTSTRAP 5.3 STYLESHEET
   Bootstrap loads first. This file is the final design layer.
========================================================= */
:root {
    --navy:#0f1b2d;
    --navy-2:#17283f;
    --coral:#ef4e43;
    --coral-dark:#db3f35;
    --text:#202735;
    --muted:#687384;
    --line:#e5e9ef;
    --soft:#f7f9fc;
    --soft-blue:#f4f8fc;
    --soft-warm:#fff8f4;
    --soft-pink:#fff3f0;
    --white:#fff;
    --teal:#0fa296;
    --purple:#7048ef;
    --gold:#f5b400;
    --shadow:0 12px 30px rgba(15,27,45,.08);
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    font-family:"IBM Plex Sans",sans-serif;
    font-size:15px;
    line-height:1.65;
    color:var(--text);
    background:#fff;
    overflow-x:hidden
}

img {
    max-width:100%;
    display:block
}

a {
    text-decoration:none;
    color:inherit
}

button,input,textarea {
    font:inherit
}

.container-xl {
    max-width:1280px!important;
    padding-left:24px!important;
    padding-right:24px!important
}

/* =========================================================
   TOP BAR + HEADER
========================================================= */
.topbar {
    position:sticky;
    top:0;
    z-index:1100;
    background:#090909;
    color:#fff
}

.topbar-inner {
    min-height:36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}

.topbar a {
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:13px;
    line-height:1.2;
    white-space:nowrap
}

.topbar-icon {
    font-size:12px
}

.site-header {
    position:sticky;
    top:36px;
    z-index:1090;
    background:#fff;
    border-bottom:1px solid #edf0f3
}

.nav-wrap {
    height:72px;
    display:flex;
    align-items:center;
    gap:18px
}

.brand {
    display:flex;
    align-items:center;
    flex:0 0 205px
}

.brand img {
    width:200px;
    max-height:54px;
    object-fit:contain
}

.main-nav {
    display:flex;
    align-items:center;
    gap:4px;
    margin-left:auto
}

.main-nav>a,.main-nav button {
    border:0;
    background:none;
    padding:24px 7px;
    color:var(--navy);
    font-size:14px;
    font-weight:600;
    line-height:1;
    white-space:nowrap;
    cursor:pointer
}

.has-mega,.has-drop {
    position:relative
}

.has-mega>button,.has-drop>button {
    display:flex;
    align-items:center;
    gap:7px
}

.nav-chevron {
    width:7px;
    height:7px;
    border-right:1.6px solid currentColor;
    border-bottom:1.6px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    transition:.2s
}

.mega-menu,.dropdown {
    position:absolute;
    top:calc(100% - 4px);
    background:#fff;
    border:1px solid #e9edf2;
    box-shadow:var(--shadow);
    opacity:0;
    visibility:hidden;
    transition:.2s
}

.mega-menu {
    left:50%;
    transform:translate(-45%,8px);
    width:840px;
    padding:18px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    border-radius:12px
}

.dropdown {
    left:0;
    transform:translateY(8px);
    width:220px;
    padding:10px;
    border-radius:10px
}

.has-mega:hover .mega-menu {
    opacity:1;
    visibility:visible;
    transform:translate(-45%,0)
}

.has-drop:hover .dropdown {
    opacity:1;
    visibility:visible;
    transform:translateY(0)
}

.mega-menu h4 {
    margin:0 0 7px;
    color:var(--coral);
    font-size:13px;
    font-weight:700
}

.mega-menu a,.dropdown a {
    display:block;
    padding:5px 2px;
    color:#566171;
    font-size:13px;
    line-height:1.4
}

.mega-menu a:hover,.dropdown a:hover {
    color:var(--coral)
}

.mega-more {
    display:inline-flex!important;
    align-items:center;
    gap:6px;
    margin-top:6px;
    padding:6px 9px!important;
    border-radius:6px;
    background:#f3f6f9;
    color:#536174!important;
    font-size:11.5px!important;
    font-weight:700
}

.mega-more:hover {
    background:#eaf0f5;
    color:var(--coral)!important
}

.destination-mega-menu .mega-more {
    display:none!important
}

.nav-cta {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--coral);
    color:#fff!important;
    border-radius:25px;
    padding:11px 17px;
    font-size:13px;
    font-weight:700;
    white-space:nowrap
}

.menu-toggle {
    display:none;
    background:#f5f7f9;
    border:0;
    border-radius:9px;
    width:42px;
    height:42px;
    padding:8px
}

.menu-toggle span {
    display:block;
    width:24px;
    height:2px;
    background:var(--navy);
    margin:5px auto;
    transition:.25s
}

.mobile-menu-plan {
    display:none
}

/* =========================================================
   HERO
========================================================= */
.hero {
    position:relative;
    height:520px;
    overflow:hidden
}

.hero-track,.hero-slide {
    height:100%
}

.hero-slide {
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:0;
    visibility:hidden;
    transition:opacity .55s ease
}

.hero-slide.active {
    opacity:1;
    visibility:visible
}

.hero-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(6,15,26,.78),rgba(8,16,24,.32) 57%,rgba(8,16,24,.08))
}

.hero-content {
    position:relative;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    color:#fff;
    max-width:720px
}

.eyebrow {
    display:inline-flex;
    align-items:center;
    padding:5px 10px;
    border-radius:18px;
    background:rgba(239,78,67,.94);
    font-size:12px;
    font-weight:700;
    letter-spacing:.03em
}

.hero h1,.hero h2 {
    max-width:680px;
    margin:14px 0 12px;
    font-size:48px;
    line-height:1.07;
    font-weight:700
}

.hero p {
    max-width:610px;
    margin:0 0 24px;
    font-size:16px;
    line-height:1.65;
    color:rgba(255,255,255,.94)
}

.hero-actions {
    display:flex;
    gap:10px;
    flex-wrap:wrap
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:11px 17px;
    border-radius:24px;
    font-size:13px;
    font-weight:700
}

.btn.primary {
    background:var(--coral);
    color:#fff
}

.btn.light {
    background:#fff;
    color:var(--navy)
}

.btn.dark {
    background:var(--navy);
    color:#fff
}

.hero-arrow {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:50%;
    background:rgba(9,17,28,.38);
    color:#fff;
    display:grid;
    place-items:center;
    cursor:pointer
}

.hero-arrow.prev {
    left:18px
}

.hero-arrow.next {
    right:18px
}

.hero-dots {
    position:absolute;
    left:50%;
    bottom:22px;
    transform:translateX(-50%);
    display:flex;
    gap:6px;
    z-index:6
}

.hero-dots button,.slider-dots button,.experience-dots button {
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:20px;
    background:#d8dee6;
    transition:.2s
}

.hero-dots button.active,.slider-dots button.active,.experience-dots button.active {
    width:24px;
    background:var(--coral)
}

/* =========================================================
   GLOBAL SECTION SYSTEM
========================================================= */
.section {
    padding:60px 0
}

.section-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px
}

.section-head h2,.about h2,.journey h2,.journey-faq-section h2 {
    margin:7px 0 0;
    font-size:32px;
    line-height:1.18;
    font-weight:700;
    letter-spacing:-.45px;
    color:var(--navy)
}

/* Pill label exactly like reference image */
.section .mini-label,.journey .mini-label,.about .mini-label,.journey-faq-section .section-kicker {
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:max-content;
    max-width:100%;
    padding:5px 11px;
    border-radius:20px;
    background:#fff0ed;
    color:var(--coral);
    font-size:11px;
    font-weight:700;
    line-height:1.15;
    letter-spacing:.04em;
    text-transform:uppercase
}

.section .mini-label:before,.journey .mini-label:before,.about .mini-label:before,.journey-faq-section .section-kicker:before {
    content:"";
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:var(--coral)
}

.red-dot {
    color:var(--coral)
}

.pill-link {
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:10px 16px;
    border-radius:22px;
    background:var(--navy);
    color:#fff;
    font-size:12px;
    font-weight:700
}

.pill-link:hover {
    background:var(--coral);
    color:#fff
}

/* =========================================================
   BEST INDIA HOLIDAY EXPERIENCES
   Arrow stays OUTSIDE cards but INSIDE container.
========================================================= */
.slider-experiences {
    background:#fff
}

.experience-slider {
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 34px;
    gap:10px;
    align-items:center;
    width:100%
}

.experience-row {
    grid-column:2;
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 64px)/5);
    gap:16px;
    min-width:0;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none
}

.experience-row::-webkit-scrollbar {
    display:none
}

.experience-card {
    position:relative;
    width:100%;
    height:245px;
    border-radius:13px;
    overflow:hidden;
    color:#fff;
    scroll-snap-align:start;
    box-shadow:0 8px 20px rgba(15,27,45,.08)
}

.experience-card:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(8,15,24,.78),rgba(8,15,24,.04) 66%)
}

.experience-card img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease
}

.experience-card:hover img {
    transform:scale(1.045)
}

.experience-card div {
    position:absolute;
    left:15px;
    right:56px;
    bottom:15px;
    z-index:2
}

.experience-card strong {
    display:block;
    font-size:17px;
    line-height:1.25
}

.experience-card small {
    display:block;
    margin-top:4px;
    font-size:13px;
    opacity:.9
}

.experience-card>span {
    position:absolute;
    right:13px;
    bottom:15px;
    z-index:2;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#fff;
    color:var(--navy);
    display:grid;
    place-items:center;
    font-size:16px
}

.experience-nav,.tour-nav {
    position:static!important;
    width:32px;
    height:32px;
    padding:0;
    border:1px solid #dfe5eb;
    border-radius:50%;
    background:#fff;
    color:var(--navy);
    display:grid;
    place-items:center;
    box-shadow:0 5px 14px rgba(15,27,45,.11);
    cursor:pointer
}

.experience-nav:hover,.tour-nav:hover {
    background:var(--navy);
    color:#fff
}

.experience-nav i,.tour-nav i {
    font-size:9px
}

.exp-prev {
    grid-column:1
}

.exp-next {
    grid-column:3
}

.experience-dots {
    grid-column:1/-1;
    display:flex;
    justify-content:center;
    gap:7px;
    margin-top:17px
}

/* =========================================================
   HOW IT WORKS
========================================================= */
.journey {
    background:var(--soft-pink);
    padding:58px 0
}

.journey-grid {
    display:grid;
    grid-template-columns:1.08fr repeat(3,1fr);
    gap:20px;
    align-items:stretch
}

.journey-title {
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-right:20px
}

.journey-title h2 {
    font-size:31px
}

.journey-card {
    background:#fff;
    border:1.5px solid;
    border-radius:11px;
    padding:21px 19px;
    min-height:210px;
    box-shadow:0 8px 18px rgba(15,27,45,.04)
}

.journey-card-1 {
    border-color:#0da79b
}

.journey-card-2 {
    border-color:#ef4e43
}

.journey-card-3 {
    border-color:#7242ea
}

.journey-card-top {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px
}

.journey-card .step-icon {
    font-size:31px;
    line-height:1
}

.journey-card-1 .step-icon {
    color:#0da79b
}

.journey-card-2 .step-icon {
    color:#df3328
}

.journey-card-3 .step-icon {
    color:#7242ea
}

.step-number {
    font-size:44px;
    line-height:.9;
    font-weight:400;
    -webkit-text-fill-color:#fff;
    -webkit-text-stroke:1.2px currentColor
}

.journey-card-1 .step-number {
    color:#0da79b
}

.journey-card-2 .step-number {
    color:#ef4e43
}

.journey-card-3 .step-number {
    color:#7242ea
}

.journey-card h3 {
    margin:0 0 8px;
    font-size:18px;
    line-height:1.3;
    color:var(--navy)
}

.journey-card p {
    margin:0;
    font-size:14px;
    line-height:1.62;
    color:#596577
}

/* =========================================================
   SHARED TOUR SLIDER STRUCTURE
   Arrows are dedicated columns — content never goes outside.
========================================================= */
.tour-section {
    overflow:hidden
}

.slider-shell {
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 34px;
    gap:10px;
    align-items:center
}

.tour-viewport {
    grid-column:2;
    min-width:0;
    overflow:hidden
}

.tour-track {
    display:flex;
    gap:18px;
    will-change:transform
}

.tour-card {
    flex:0 0 calc((100% - 54px)/4);
    min-width:0;
    background:#fff;
    overflow:hidden
}

.tour-img {
    height:205px;
    overflow:hidden
}

.tour-img img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease
}

.tour-card:hover .tour-img img {
    transform:scale(1.035)
}

.tour-body {
    padding:15px
}

.tour-rating-row {
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:8px
}

.tour-stars {
    display:inline-flex;
    gap:2px;
    color:var(--gold)
}

.tour-stars i {
    font-size:10px
}

.tour-rating-score {
    font-size:12px;
    color:#263246
}

.tour-body h3 {
    margin:0 0 7px;
    font-size:17px;
    line-height:1.35;
    color:var(--navy)
}

.tour-location {
    display:flex;
    align-items:flex-start;
    gap:7px;
    min-height:34px;
    margin-bottom:10px;
    font-size:13px;
    line-height:1.45;
    color:#687384
}

.tour-location i {
    margin-top:3px
}

.price {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    padding-bottom:11px;
    border-bottom:1px solid #e9edf2;
    font-size:12px
}

.price span {
    color:#687384
}

.price strong {
    font-size:16px;
    color:var(--coral)
}

.price del {
    font-size:13px;
    font-weight:600;
    color:#939aa5
}

.meta {
    display:flex;
    align-items:center;
    padding-top:10px;
    font-size:12px;
    color:#606a78
}

.meta span {
    display:flex;
    align-items:center;
    gap:5px
}

.tour-card-actions {
    margin-top:12px
}

.tour-itinerary {
    width:100%;
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:7px;
    font-size:12px;
    font-weight:700
}

.slider-shell>.tour-prev {
    grid-column:1
}

.slider-shell>.tour-next {
    grid-column:3
}

.slider-dots {
    display:flex;
    justify-content:center;
    gap:7px;
    margin-top:17px
}

/* Unique slider 1: Popular — premium white */
.slider-popular {
    background:#fff
}

.slider-popular .tour-track {
    transition:transform .38s cubic-bezier(.22,.61,.36,1)
}

.slider-popular .tour-card {
    border:1px solid #e6ebf0;
    border-radius:14px;
    box-shadow:0 9px 24px rgba(15,27,45,.07)
}

.slider-popular .tour-itinerary {
    background:var(--navy);
    color:#fff;
    border:1px solid var(--navy)
}

/* Unique slider 2: Golden Triangle — light blue / square */
.slider-golden {
    background:var(--soft-blue)
}

.slider-golden .tour-track {
    transition:transform .45s cubic-bezier(.22,.61,.36,1)
}

.slider-golden .tour-card {
    border:1px solid #d7e1ec;
    border-radius:8px;
    box-shadow:none
}

.slider-golden .tour-rating-row {
    padding-bottom:8px;
    border-bottom:1px dashed #d9e2ec
}

.slider-golden .tour-itinerary {
    background:#eef4fa;
    color:var(--navy);
    border:1px solid #cad8e7
}

.slider-golden .tour-nav {
    background:var(--navy);
    color:#fff;
    border-color:var(--navy)
}

.slider-golden .slider-dots button.active {
    background:var(--navy)
}

/* Unique slider 3: Rajasthan — warm / rounded */
.slider-rajasthan {
    background:var(--soft-warm)
}

.slider-rajasthan .tour-track {
    transition:transform .52s cubic-bezier(.22,.61,.36,1)
}

.slider-rajasthan .tour-card {
    border:1px solid #efd9cf;
    border-radius:18px;
    box-shadow:0 8px 22px rgba(123,69,48,.07)
}

.slider-rajasthan .tour-itinerary {
    background:var(--coral);
    color:#fff;
    border:1px solid var(--coral);
    border-radius:20px
}

.slider-rajasthan .tour-nav {
    background:var(--coral);
    color:#fff;
    border-color:var(--coral)
}

/* =========================================================
   TICKER
========================================================= */
.ticker {
    background:var(--coral);
    color:#fff;
    overflow:hidden;
    padding:9px 0
}

.ticker-track {
    display:flex;
    gap:32px;
    white-space:nowrap;
    width:max-content;
    animation:ticker 26s linear infinite;
    font-size:12px;
    font-weight:700
}

@keyframes ticker {
    to {
        transform:translateX(-50%)
    }

}

/* =========================================================
   ABOUT
========================================================= */
.about {
    background:var(--soft)
}

.about .row {
    align-items:center
}

.about-media {
    position:relative;
    min-height:400px;
    display:grid;
    place-items:center
}

.collage {
    max-height:385px;
    object-fit:contain
}

.review-chip {
    position:absolute;
    top:28px;
    right:16px;
    background:#fff;
    border-radius:12px;
    padding:10px 13px;
    box-shadow:var(--shadow);
    display:grid;
    grid-template-columns:auto auto;
    gap:1px 10px
}

.faces {
    grid-row:1/3;
    display:flex;
    align-items:center
}

.faces span {
    width:24px;
    height:24px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#f2c09e;
    border:2px solid #fff;
    margin-left:-6px;
    font-size:9px
}

.review-chip b {
    font-size:12px
}

.review-chip small {
    font-size:10px;
    color:var(--muted)
}

.about p {
    color:var(--muted)
}

.about-features {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    margin:24px 0
}

.about-features>div {
    display:flex;
    gap:11px
}

.dot {
    width:9px;
    height:9px;
    border-radius:50%;
    margin-top:7px;
    flex:none
}

.teal-bg {
    background:var(--teal)
}

.coral-bg {
    background:var(--coral)
}

.about-features h3 {
    margin:0 0 4px;
    font-size:15px
}

.about-features p {
    margin:0;
    font-size:13px
}

.about-actions {
    display:flex;
    gap:12px;
    flex-wrap:wrap
}

.about-secondary {
    background:#fff;
    color:var(--navy);
    border:1px solid #e0e5eb
}

.stats {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:26px
}

.stats div {
    background:#fff;
    border:1px solid #e3e8ed;
    padding:15px;
    text-align:center
}

.stats strong {
    display:block;
    font-size:25px;
    color:var(--navy)
}

.stats span {
    font-size:11px;
    color:var(--muted)
}

/* =========================================================
   DESTINATIONS
========================================================= */
.destinations {
    background:#fff
}

.destination-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px
}

.destination-card {
    position:relative;
    height:215px;
    border-radius:13px;
    overflow:hidden;
    color:#fff
}

.destination-card img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease
}

.destination-card:hover img {
    transform:scale(1.045)
}

.destination-card:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(8,16,25,.83),rgba(8,16,25,.03) 65%)
}

.destination-card div {
    position:absolute;
    left:16px;
    right:48px;
    bottom:14px;
    z-index:2
}

.destination-card h3 {
    margin:0;
    font-size:17px
}

.destination-card p {
    margin:3px 0 0;
    font-size:12px
}

.destination-card>span {
    position:absolute;
    right:13px;
    bottom:13px;
    z-index:2;
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#fff;
    color:var(--navy);
    font-size:11px
}

/* =========================================================
   SERVICES + FAQ
========================================================= */
.journey-faq-section {
    background:var(--soft)
}

.journey-faq-section .section-kicker {
    margin-bottom:9px
}

.journey-service-heading h2 span {
    color:#e43d31
}

.journey-service-list {
    display:grid;
    gap:16px;
    margin-top:28px
}

.journey-service-card {
    display:flex;
    align-items:center;
    gap:16px;
    min-height:112px;
    padding:20px;
    border:1px solid;
    border-radius:11px;
    background:#fff
}

.service-green {
    border-color:#9ab52e;
    background:#fffff9
}

.service-purple {
    border-color:#7656ff;
    background:#fbf9ff
}

.service-cyan {
    border-color:#0d9e9b;
    background:#f7ffff
}

.journey-service-icon {
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    font-size:16px
}

.service-green .journey-service-icon {
    background:#9ab52e
}

.service-purple .journey-service-icon {
    background:#7046ef
}

.service-cyan .journey-service-icon {
    background:#10a09c
}

.journey-service-card h3 {
    margin:0 0 4px;
    font-size:17px
}

.journey-service-card p {
    margin:0;
    font-size:14px;
    color:#5f6a7a
}

.journey-faq-heading {
    margin-bottom:22px
}

.journey-faq-list {
    border-top:1px solid #dce3ea
}

.journey-faq-list details {
    border-bottom:1px solid #dce3ea;
    background:transparent
}

.journey-faq-list summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 8px 18px 16px;
    list-style:none;
    cursor:pointer;
    font-size:16px;
    font-weight:700;
    color:var(--navy)
}

.journey-faq-list summary::-webkit-details-marker {
    display:none
}

.faq-symbol {
    position:relative;
    width:18px;
    height:18px;
    flex:0 0 18px
}

.faq-symbol:before,.faq-symbol:after {
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    background:#4e5968;
    transform:translate(-50%,-50%)
}

.faq-symbol:before {
    width:14px;
    height:2px
}

.faq-symbol:after {
    width:2px;
    height:14px
}

.journey-faq-list details[open] {
    margin:7px 0;
    border:1px solid #f1d9d4;
    border-radius:10px;
    background:#fff
}

.journey-faq-list details[open] summary {
    color:var(--coral)
}

.journey-faq-list details[open] .faq-symbol:after {
    opacity:0
}

.faq-answer {
    padding:0 44px 17px 16px;
    font-size:14px;
    line-height:1.65;
    color:#596577
}

/* =========================================================
   BLOG
========================================================= */
.guides {
    background:#fff
}

.guide-grid {
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:20px
}

.guide-feature,.guide-side article {
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    overflow:hidden
}

.guide-feature img {
    width:100%;
    height:285px;
    object-fit:cover
}

.guide-feature>div {
    padding:17px
}

.guide-feature>div>span,.guide-side article>div>span {
    display:inline-block;
    padding:3px 7px;
    border-radius:4px;
    background:var(--coral);
    color:#fff;
    font-size:10px
}

.guide-feature h3 {
    margin:9px 0 7px;
    font-size:19px
}

.guide-feature p {
    font-size:14px;
    color:var(--muted)
}

.guide-side {
    display:grid;
    gap:16px
}

.guide-side article {
    display:grid;
    grid-template-columns:46% 54%;
    min-height:200px
}

.guide-side img {
    width:100%;
    height:100%;
    object-fit:cover
}

.guide-side article>div {
    padding:15px
}

.guide-side h3 {
    margin:8px 0;
    font-size:16px;
    line-height:1.35
}

.guide-side p {
    font-size:13px;
    color:var(--muted)
}

.guide-meta {
    display:flex;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
    font-size:11px;
    color:#5d6877
}

/* =========================================================
   TESTIMONIALS
========================================================= */
.testimonials {
    background:var(--soft)
}

.testimonial-card {
    height:100%;
    padding:22px;
    border-radius:10px;
    background:#fff;
    box-shadow:0 7px 20px rgba(15,27,45,.05)
}

.stars {
    display:flex;
    gap:3px;
    color:var(--gold)
}

.stars i {
    font-size:12px
}

.testimonial-card h3 {
    font-size:16px;
    line-height:1.4
}

.testimonial-card p {
    font-size:14px;
    color:var(--muted)
}

.person {
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:16px
}

.avatar {
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#f3d2b8;
    font-size:11px;
    font-weight:700
}

.person b,.person small {
    display:block;
    font-size:11px
}

.person small {
    color:var(--muted)
}

/* =========================================================
   FOOTER
========================================================= */
.footer {
    background:var(--navy);
    color:#c8d0dc
}

.footer-top {
    display:grid;
    grid-template-columns:1.25fr 1fr 1fr;
    gap:40px;
    padding:48px 0 30px;
    border-bottom:1px solid rgba(255,255,255,.1)
}

.footer-brand img {
    width:185px;
    background:#fff;
    border-radius:6px
}

.footer p,.footer a,.footer span {
    font-size:13px;
    color:#9aa7b7
}

.footer-top h3,.footer-links h4 {
    font-size:14px;
    color:#fff
}

.footer-top>div:nth-child(2) a,.footer-top>div:nth-child(2) span {
    display:block;
    margin:7px 0
}

.socials {
    display:flex;
    gap:8px
}

.socials a {
    width:27px;
    height:27px;
    border-radius:50%;
    display:grid;
    place-items:center;
    border:1px solid #536071;
    color:#fff
}

.footer-links {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:34px;
    padding:30px 0
}

.footer-links a {
    display:block;
    margin:7px 0
}

.copyright {
    border-top:1px solid rgba(255,255,255,.08);
    padding:17px 0 22px;
    font-size:11px;
    color:#778393
}

/* =========================================================
   TABLET
========================================================= */
@media(max-width:1050px) {
    .container-xl {
        padding-left:18px!important;
        padding-right:18px!important
    }

    .main-nav>a,.main-nav button {
        font-size:13px;
        padding-left:4px;
        padding-right:4px
    }

    .nav-cta {
        display:none
    }

    .section {
        padding:52px 0
    }

    .section-head h2,.about h2,.journey h2,.journey-faq-section h2 {
        font-size:29px
    }

    .experience-row {
        grid-auto-columns:calc((100% - 16px)/2);
        gap:16px
    }

    .tour-card {
        flex-basis:calc((100% - 16px)/2)
    }

    .journey-grid {
        grid-template-columns:1fr 1fr
    }

    .journey-title {
        grid-column:1/-1;
        padding:0 0 5px
    }

    .destination-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}

/* =========================================================
   MOBILE / TABLET NAV
========================================================= */
@media(max-width:820px) {
    .topbar-inner {
        min-height:38px;
        gap:8px
    }

    .topbar a {
        font-size:11px
    }

    .site-header {
        top:38px
    }

    .nav-wrap {
        height:68px
    }

    .brand {
        flex:1 1 auto
    }

    .brand img {
        width:180px
    }

    .menu-toggle {
        display:block;
        margin-left:auto
    }

    .menu-toggle.active span:nth-child(1) {
        transform:translateY(7px) rotate(45deg)
    }

    .menu-toggle.active span:nth-child(2) {
        opacity:0
    }

    .menu-toggle.active span:nth-child(3) {
        transform:translateY(-7px) rotate(-45deg)
    }

    .main-nav {
        position:fixed;
        top:106px;
        left:0;
        right:0;
        display:block;
        width:100%;
        max-height:calc(100vh - 106px);
        padding:8px 14px 16px;
        background:#fff;
        overflow-y:auto;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:.22s;
        box-shadow:0 14px 28px rgba(15,27,45,.14)
    }

    .main-nav.open {
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0)
    }

    .main-nav>a,.main-nav button {
        display:flex;
        width:100%;
        justify-content:space-between;
        align-items:center;
        min-height:42px;
        padding:10px 3px;
        border-bottom:1px solid #edf0f3;
        font-size:14px
    }

    .mega-menu,.dropdown {
        position:static!important;
        width:100%;
        max-width:100%;
        padding:0 0 5px 10px;
        border:0;
        border-radius:0;
        box-shadow:none;
        display:none;
        opacity:1;
        visibility:visible;
        transform:none!important
    }

    .has-mega.open .mega-menu {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:5px 12px
    }

    .has-drop.open .dropdown {
        display:block
    }

    .mobile-menu-plan {
        display:flex!important;
        align-items:center;
        justify-content:center;
        gap:8px;
        margin-top:12px!important;
        border:0!important;
        border-radius:25px;
        background:var(--coral)!important;
        color:#fff!important
    }

    .hero {
        height:475px
    }

    .hero h1,.hero h2 {
        font-size:38px
    }

    .hero-content {
        padding-left:26px;
        padding-right:26px
    }

    .hero-arrow {
        width:36px;
        height:36px
    }

    .hero-arrow.prev {
        left:7px
    }

    .hero-arrow.next {
        right:7px
    }

    .section {
        padding:46px 0
    }

    .section-head {
        margin-bottom:20px
    }

    .experience-slider,.slider-shell {
        grid-template-columns:30px minmax(0,1fr) 30px;
        gap:6px
    }

    .experience-nav,.tour-nav {
        width:30px;
        height:30px
    }

    .experience-row {
        grid-auto-columns:100%;
        gap:12px
    }

    .tour-card {
        flex-basis:100%
    }

    .about-features {
        grid-template-columns:1fr
    }

    .guide-grid {
        grid-template-columns:1fr
    }

    .guide-side article {
        grid-template-columns:42% 58%
    }

    .footer-top {
        grid-template-columns:1fr 1fr
    }

    .footer-brand {
        grid-column:1/-1
    }

    .footer-links {
        grid-template-columns:1fr 1fr
    }

}

/* =========================================================
   PHONE
========================================================= */
@media(max-width:560px) {
    .container-xl {
        padding-left:13px!important;
        padding-right:13px!important
    }

    .topbar a {
        font-size:10px
    }

    .topbar-inner {
        gap:6px
    }

    .brand img {
        width:168px
    }

    .hero {
        height:455px
    }

    .hero h1,.hero h2 {
        font-size:32px
    }

    .hero p {
        font-size:14px
    }

    .hero-content {
        padding-left:24px;
        padding-right:24px
    }

    .section {
        padding:42px 0
    }

    .section-head h2,.about h2,.journey h2,.journey-faq-section h2 {
        font-size:26px
    }

    .section .mini-label,.journey .mini-label,.about .mini-label,.journey-faq-section .section-kicker {
        font-size:10.5px;
        padding:4px 10px
    }

    .experience-slider,.slider-shell {
        grid-template-columns:28px minmax(0,1fr) 28px;
        gap:5px
    }

    .experience-nav,.tour-nav {
        width:28px;
        height:28px
    }

    .experience-card {
        height:218px
    }

    .tour-img {
        height:195px
    }

    .journey-grid {
        grid-template-columns:1fr
    }

    .journey-card {
        min-height:0
    }

    .destination-grid {
        grid-template-columns:1fr;
        gap:13px
    }

    .destination-card {
        height:210px
    }

    .journey-service-card {
        min-height:0;
        padding:17px 15px;
        align-items:flex-start
    }

    .journey-service-icon {
        width:39px;
        height:39px;
        flex-basis:39px
    }

    .journey-faq-list summary {
        font-size:15px;
        padding:16px 5px 16px 10px
    }

    .journey-faq-list details[open] summary {
        padding:16px 12px
    }

    .faq-answer {
        padding:0 36px 16px 12px
    }

    .guide-side article {
        grid-template-columns:1fr
    }

    .guide-side img {
        height:200px
    }

    .footer-top,.footer-links {
        grid-template-columns:1fr
    }

    .footer-brand {
        grid-column:auto
    }

}

/* ==========================================================
   FINAL CLEANUP — SPACING / FAQ / TICKER / SLIDERS / RESPONSIVE
========================================================== */
/* ---------- GLOBAL RHYTHM ---------- */
body {
    font-size:15px!important;
    line-height:1.62!important
}

.section {
    padding:52px 0!important
}

.section-head {
    margin-bottom:20px!important
}

.section-head h2,.about h2,.journey h2,.journey-faq-section h2 {
    font-size:32px!important;
    line-height:1.18!important
}

.section .mini-label,.journey .mini-label,.about .mini-label,.journey-faq-section .section-kicker {
    font-size:11px!important;
    padding:5px 11px!important
}

/* strict white / light / white / light rhythm */
#experiences {
    background:#fff!important
}

#plan {
    background:#f7f9fc!important
}

#popular {
    background:#fff!important
}

#golden {
    background:#f7f9fc!important
}

#rajasthan {
    background:#fff!important
}

#about {
    background:#f7f9fc!important
}

#destinations {
    background:#fff!important
}

#journey-services {
    background:#f7f9fc!important
}

#guides {
    background:#fff!important
}

#reviews {
    background:#f7f9fc!important
}

/* ---------- HERO: smooth and balanced ---------- */
.hero {
    height:500px!important
}

.hero h1,.hero h2 {
    font-size:46px!important;
    line-height:1.08!important
}

.hero p {
    font-size:16px!important
}

.hero-slide {
    transition:opacity .7s ease!important
}

/* ---------- EXPERIENCE SLIDER ---------- */
.experience-slider {
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    gap:10px!important;
    align-items:center!important;
    overflow:visible!important
}

.experience-row {
    grid-auto-columns:calc((100% - 64px)/5)!important;
    gap:16px!important
}

.experience-card {
    height:235px!important
}

.experience-card strong {
    font-size:18px!important
}

.experience-card small {
    font-size:13px!important
}

.experience-card>span {
    width:38px!important;
    height:38px!important
}

.experience-nav {
    width:32px!important;
    height:32px!important
}

/* ---------- TOUR SLIDER COMMON ---------- */
.slider-shell {
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    gap:10px!important;
    align-items:center!important;
    overflow:visible!important
}

.tour-viewport {
    overflow:hidden!important
}

.tour-track {
    gap:16px!important
}

.tour-card {
    flex:0 0 calc((100% - 48px)/4)!important
}

.tour-img {
    height:200px!important
}

.tour-body {
    padding:15px!important
}

.tour-body h3 {
    font-size:18px!important;
    line-height:1.3!important;
    min-height:47px!important;
    margin:0 0 6px!important
}

.tour-location {
    font-size:13px!important;
    line-height:1.35!important;
    min-height:0!important;
    height:auto!important;
    margin:0 0 8px!important;
    white-space:nowrap!important;
    overflow:hidden!important
}

.tour-location span {
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important
}

.tour-rating-row {
    margin-bottom:7px!important
}

.price {
    padding-bottom:8px!important
}

.meta {
    padding-top:8px!important;
    font-size:12px!important
}

.tour-card-actions {
    margin-top:10px!important
}

.tour-itinerary {
    min-height:36px!important;
    font-size:12px!important
}

.tour-nav {
    width:32px!important;
    height:32px!important
}

/* arrows sit outside card content, inside bootstrap container */
.slider-shell>.tour-prev,.experience-slider>.exp-prev {
    justify-self:start!important
}

.slider-shell>.tour-next,.experience-slider>.exp-next {
    justify-self:end!important
}

/* ---------- UNIQUE TOUR DESIGNS ---------- */
.slider-popular .tour-card {
    border:1px solid #e4e9ef!important;
    border-radius:12px!important;
    box-shadow:0 8px 22px rgba(15,27,45,.06)!important
}

.slider-popular .tour-itinerary {
    background:#102039!important;
    color:#fff!important;
    border-radius:7px!important
}

.slider-golden .tour-card {
    border:1px solid #d8e2ec!important;
    border-radius:8px!important;
    box-shadow:none!important
}

.slider-golden .tour-rating-row {
    border-bottom:1px dashed #d8e2ec!important;
    padding-bottom:7px!important
}

.slider-golden .tour-itinerary {
    background:#edf4fa!important;
    color:#102039!important;
    border:1px solid #cad8e7!important;
    border-radius:6px!important
}

.slider-golden .tour-nav {
    background:#102039!important;
    color:#fff!important;
    border-color:#102039!important
}

.slider-rajasthan .tour-card {
    border:1px solid #eedbd2!important;
    border-radius:16px!important;
    box-shadow:0 8px 22px rgba(123,69,48,.06)!important
}

.slider-rajasthan .tour-itinerary {
    background:#ef4e43!important;
    color:#fff!important;
    border-radius:18px!important
}

.slider-rajasthan .tour-nav {
    background:#ef4e43!important;
    color:#fff!important;
    border-color:#ef4e43!important
}

/* ---------- FAQ: one open, cleaner open state ---------- */
.journey-faq-section {
    padding:52px 0!important
}

.journey-service-list {
    margin-top:24px!important;
    gap:14px!important
}

.journey-service-card {
    min-height:102px!important;
    padding:18px!important
}

.journey-faq-heading {
    margin-bottom:18px!important
}

.journey-faq-list details {
    background:transparent!important;
    border-bottom:1px solid #dde4ec!important;
    margin:0!important
}

.journey-faq-list details[open] {
    background:#fff!important;
    border:1px solid #eadfdc!important;
    border-radius:9px!important;
    margin:6px 0!important
}

.journey-faq-list summary {
    font-size:16px!important;
    padding:16px 8px 16px 14px!important
}

.journey-faq-list details[open] summary {
    padding:16px 14px!important
}

.faq-answer {
    font-size:14px!important;
    padding:0 40px 15px 14px!important
}

/* ---------- TICKER: seamless no blank gap ---------- */
.ticker {
    padding:0!important;
    background:#ef4e43!important;
    overflow:hidden!important
}

.ticker-track {
    display:flex!important;
    width:max-content!important;
    gap:0!important;
    animation:tickerFinal 28s linear infinite!important;
    will-change:transform!important
}

.ticker-group {
    display:flex!important;
    align-items:center!important;
    gap:28px!important;
    flex-shrink:0!important;
    padding:10px 28px 10px 0!important
}

.ticker-group span {
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    font-size:12px!important;
    font-weight:700!important;
    color:#fff!important
}

@keyframes tickerFinal {
    from {
        transform:translateX(0)
    }

    to {
        transform:translateX(-50%)
    }

}

/* ---------- TABLET ---------- */
@media(max-width:1050px) {
    .section {
        padding:48px 0!important
    }

    .section-head h2,.about h2,.journey h2,.journey-faq-section h2 {
        font-size:29px!important
    }

    .hero h1,.hero h2 {
        font-size:40px!important
    }

    .experience-row {
        grid-auto-columns:calc((100% - 14px)/2)!important;
        gap:14px!important
    }

    .tour-card {
        flex-basis:calc((100% - 14px)/2)!important
    }

    .tour-body h3 {
        font-size:17px!important;
        min-height:44px!important
    }

}

/* ---------- MOBILE ---------- */
@media(max-width:820px) {
    .section {
        padding:44px 0!important
    }

    .hero {
        height:470px!important
    }

    .hero h1,.hero h2 {
        font-size:36px!important
    }

    .experience-slider,.slider-shell {
        grid-template-columns:30px minmax(0,1fr) 30px!important;
        gap:6px!important
    }

    .experience-row {
        grid-auto-columns:100%!important;
        gap:10px!important
    }

    .tour-card {
        flex-basis:100%!important
    }

    .experience-nav,.tour-nav {
        width:29px!important;
        height:29px!important
    }

    .tour-body h3 {
        font-size:18px!important;
        min-height:0!important
    }

    .tour-location {
        font-size:13px!important
    }

}

/* ---------- PHONE ---------- */
@media(max-width:560px) {
    body {
        font-size:14px!important
    }

    .section {
        padding:40px 0!important
    }

    .section-head {
        margin-bottom:18px!important
    }

    .section-head h2,.about h2,.journey h2,.journey-faq-section h2 {
        font-size:26px!important
    }

    .hero {
        height:450px!important
    }

    .hero h1,.hero h2 {
        font-size:31px!important
    }

    .hero p {
        font-size:14px!important
    }

    .experience-card {
        height:215px!important
    }

    .tour-img {
        height:190px!important
    }

    .tour-body {
        padding:14px!important
    }

    .tour-body h3 {
        font-size:17px!important;
        line-height:1.3!important
    }

    .price strong {
        font-size:15px!important
    }

    .meta {
        font-size:11.5px!important
    }

    .journey-service-card {
        padding:16px 14px!important
    }

    .journey-service-card h3 {
        font-size:16px!important
    }

    .journey-service-card p {
        font-size:13.5px!important
    }

    .journey-faq-list summary {
        font-size:15px!important
    }

    .faq-answer {
        font-size:13.5px!important
    }

    .ticker-group {
        gap:22px!important;
        padding-right:22px!important
    }

    .ticker-group span {
        font-size:11px!important
    }

}

/* ==========================================================
   FINAL WORDPRESS-STYLE POLISH
   Hero + Experiences + Popular + Golden + Rajasthan + Testimonials
   Each slider has its own desktop count and clean side arrows.
========================================================== */
/* ---------- Global typography ---------- */
body {
    font-size:15px!important;
    line-height:1.62!important
}

p,.hero p,.journey-card p,.tour-body p,.about p,.about-features p,.journey-service-card p,.faq-answer,.guide-feature p,.guide-side p,.testimonial-card p,.footer p {
    font-size:15px!important;
    line-height:1.62!important
}

.section {
    padding:50px 0!important
}

.section-head {
    margin-bottom:20px!important
}

.section-head h2,.about h2,.journey h2,.journey-faq-section h2 {
    font-size:33px!important;
    line-height:1.18!important;
    letter-spacing:-.45px!important
}

.tour-body h3 {
    font-size:19px!important;
    line-height:1.3!important;
    font-weight:700!important
}

.experience-card strong {
    font-size:18px!important
}

.journey-card h3,.journey-service-card h3 {
    font-size:18px!important
}

.guide-feature h3 {
    font-size:20px!important
}

.guide-side h3 {
    font-size:17px!important
}

.testimonial-card h3 {
    font-size:17px!important
}

/* ---------- strict light/white alternation ---------- */
#experiences {
    background:#fff!important
}

#plan {
    background:#f7f9fc!important
}

#popular {
    background:#fff!important
}

#golden {
    background:#f6f9fc!important
}

#rajasthan {
    background:#fff!important
}

#about {
    background:#f7f9fc!important
}

#destinations {
    background:#fff!important
}

#journey-services {
    background:#f7f9fc!important
}

#guides {
    background:#fff!important
}

#reviews {
    background:#f7f9fc!important
}

/* ---------- HERO: stable arrows, smooth slide ---------- */
.hero {
    height:500px!important
}

.hero-slide {
    transition:opacity .75s ease!important
}

.hero h1,.hero h2 {
    font-size:47px!important;
    line-height:1.07!important
}

.hero-arrow {
    top:50%!important;
    transform:translateY(-50%)!important;
    width:42px!important;
    height:42px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(255,255,255,.72)!important;
    background:rgba(8,16,26,.36)!important;
    color:#fff!important;
    box-shadow:0 6px 18px rgba(0,0,0,.15)!important
}

.hero-arrow.prev {
    left:18px!important
}

.hero-arrow.next {
    right:18px!important
}

.hero-arrow i {
    font-size:13px!important
}

.hero-arrow:hover {
    background:var(--coral)!important
}

/* ==========================================================
   SHARED SLIDER GEOMETRY
   arrows have their own columns; never overlap image/title
========================================================== */
.experience-slider,.slider-shell,.testimonial-slider {
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr) 36px!important;
    gap:10px!important;
    align-items:center!important;
    width:100%!important;
    overflow:visible!important
}

.experience-row,.tour-viewport,.testimonial-viewport {
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    width:100%!important;
    overflow:hidden!important
}

.exp-prev,.tour-prev,.testimonial-prev {
    grid-column:1!important;
    grid-row:1!important
}

.exp-next,.tour-next,.testimonial-next {
    grid-column:3!important;
    grid-row:1!important
}

.experience-nav,.tour-nav,.testimonial-nav {
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:32px!important;
    height:32px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    justify-self:center!important;
    border:1px solid #dfe5eb!important;
    border-radius:50%!important;
    background:#fff!important;
    color:var(--navy)!important;
    box-shadow:0 5px 14px rgba(15,27,45,.11)!important;
    cursor:pointer!important;
    z-index:4!important
}

.experience-nav i,.tour-nav i,.testimonial-nav i {
    font-size:9px!important
}

.experience-nav:hover,.tour-nav:hover,.testimonial-nav:hover {
    background:var(--navy)!important;
    color:#fff!important
}

/* dots */
.experience-dots,.slider-dots,.testimonial-dots {
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:7px!important;
    margin-top:15px!important
}

.experience-dots,.testimonial-dots {
    grid-column:1/-1!important
}

.experience-dots button,.slider-dots button,.testimonial-dots button {
    width:7px!important;
    height:7px!important;
    padding:0!important;
    border:0!important;
    border-radius:20px!important;
    background:#d9dfe7!important
}

.experience-dots button.active,.slider-dots button.active,.testimonial-dots button.active {
    width:24px!important;
    background:var(--coral)!important
}

/* ---------- Experiences: 5 desktop ---------- */
.experience-row {
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:calc((100% - 64px)/5)!important;
    gap:16px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important
}

.experience-row::-webkit-scrollbar {
    display:none!important
}

.experience-card {
    height:232px!important;
    scroll-snap-align:start!important
}

/* ---------- Tour cards common ---------- */
.tour-track {
    display:flex!important;
    gap:16px!important;
    will-change:transform!important
}

.tour-img {
    height:198px!important
}

.tour-body {
    padding:15px!important
}

.tour-body h3 {
    margin:0 0 6px!important;
    min-height:50px!important
}

.tour-location {
    display:flex!important;
    align-items:flex-start!important;
    gap:7px!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 7px!important;
    font-size:13px!important;
    line-height:1.35!important;
    white-space:nowrap!important;
    overflow:hidden!important
}

.tour-location span {
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important
}

.tour-rating-row {
    margin-bottom:7px!important
}

.price {
    padding-bottom:8px!important
}

.meta {
    padding-top:8px!important;
    font-size:12px!important
}

.tour-card-actions {
    margin-top:9px!important
}

.tour-itinerary {
    min-height:36px!important;
    font-size:12px!important
}

/* Popular: 4 desktop */
.slider-popular .tour-card {
    flex:0 0 calc((100% - 48px)/4)!important
}

.slider-popular .tour-track {
    transition:transform .42s cubic-bezier(.22,.61,.36,1)!important
}

/* Golden: 3 desktop */
.slider-golden .tour-card {
    flex:0 0 calc((100% - 32px)/3)!important
}

.slider-golden .tour-track {
    transition:transform .48s cubic-bezier(.22,.61,.36,1)!important
}

.slider-golden .tour-nav {
    background:var(--navy)!important;
    color:#fff!important;
    border-color:var(--navy)!important
}

/* Rajasthan: 4 desktop */
.slider-rajasthan .tour-card {
    flex:0 0 calc((100% - 48px)/4)!important
}

.slider-rajasthan .tour-track {
    transition:transform .54s cubic-bezier(.22,.61,.36,1)!important
}

.slider-rajasthan .tour-nav {
    background:var(--coral)!important;
    color:#fff!important;
    border-color:var(--coral)!important
}

/* ---------- FAQ: JS controls one open item ---------- */
.journey-faq-list details[open] {
    background:#fff!important
}

.journey-faq-list details:not([open]) .faq-answer {
    display:none!important
}

/* ---------- Ticker: continuous, no empty space ---------- */
.ticker {
    overflow:hidden!important
}

.ticker-track {
    display:flex!important;
    width:max-content!important;
    gap:0!important;
    animation:tickerFinal 28s linear infinite!important
}

.ticker-group {
    display:flex!important;
    align-items:center!important;
    gap:28px!important;
    flex-shrink:0!important;
    padding-right:28px!important
}

@keyframes tickerFinal {
    from {
        transform:translateX(0)
    }

    to {
        transform:translateX(-50%)
    }

}

/* ---------- Testimonials slider: 3 desktop ---------- */
.testimonial-track {
    display:flex!important;
    gap:18px!important;
    transition:transform .46s cubic-bezier(.22,.61,.36,1)!important;
    will-change:transform!important
}

.testimonial-card {
    flex:0 0 calc((100% - 36px)/3)!important;
    min-width:0!important;
    padding:22px!important
}

.testimonial-card p {
    margin-bottom:0!important
}

.testimonial-nav {
    background:#fff!important
}

/* ---------- Tablet ---------- */
@media(max-width:1050px) {
    .section {
        padding:46px 0!important
    }

    .section-head h2,.about h2,.journey h2,.journey-faq-section h2 {
        font-size:30px!important
    }

    .hero h1,.hero h2 {
        font-size:40px!important
    }

    .experience-row {
        grid-auto-columns:calc((100% - 14px)/2)!important;
        gap:14px!important
    }

    .slider-popular .tour-card,.slider-golden .tour-card,.slider-rajasthan .tour-card {
        flex-basis:calc((100% - 14px)/2)!important
    }

    .testimonial-card {
        flex-basis:calc((100% - 16px)/2)!important
    }

    .tour-body h3 {
        min-height:46px!important;
        font-size:18px!important
    }

}

/* ---------- Mobile ---------- */
@media(max-width:820px) {
    .section {
        padding:42px 0!important
    }

    .experience-slider,.slider-shell,.testimonial-slider {
        grid-template-columns:30px minmax(0,1fr) 30px!important;
        gap:6px!important
    }

    .experience-nav,.tour-nav,.testimonial-nav {
        width:29px!important;
        height:29px!important
    }

    .experience-row {
        grid-auto-columns:100%!important;
        gap:10px!important
    }

    .slider-popular .tour-card,.slider-golden .tour-card,.slider-rajasthan .tour-card {
        flex-basis:100%!important
    }

    .testimonial-card {
        flex-basis:100%!important
    }

    .tour-body h3 {
        min-height:0!important;
        font-size:19px!important
    }

}

/* ---------- Phone ---------- */
@media(max-width:560px) {
    body,p,.hero p,.journey-card p,.tour-body p,.about p,.about-features p,.journey-service-card p,.faq-answer,.guide-feature p,.guide-side p,.testimonial-card p,.footer p {
        font-size:15px!important
    }

    .section {
        padding:38px 0!important
    }

    .section-head {
        margin-bottom:17px!important
    }

    .section-head h2,.about h2,.journey h2,.journey-faq-section h2 {
        font-size:27px!important
    }

    .hero {
        height:445px!important
    }

    .hero h1,.hero h2 {
        font-size:31px!important
    }

    .experience-card {
        height:210px!important
    }

    .tour-img {
        height:190px!important
    }

    .tour-body {
        padding:14px!important
    }

    .tour-body h3 {
        font-size:18px!important
    }

    .testimonial-card {
        padding:20px!important
    }

}

/* ==========================================================
   FINAL SLIDER CONTROL LAYOUT
   Only HERO keeps left/right side arrows.
   All other sliders use compact controls BELOW the slider.
========================================================== */
/* Hero is the only slider with side arrows */
.hero-arrow {
    display:grid!important
}

.hero-arrow.prev {
    left:18px!important
}

.hero-arrow.next {
    right:18px!important
}

/* All content sliders become one-column shells */
.experience-slider,.slider-shell,.testimonial-slider {
    display:block!important;
    width:100%!important;
    overflow:hidden!important
}

.experience-row,.tour-viewport,.testimonial-viewport {
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important
}

/* Bottom controls */
.slider-bottom-controls {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    margin-top:16px!important
}

.slider-bottom-controls .experience-dots, .slider-bottom-controls .slider-dots, .slider-bottom-controls .testimonial-dots {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    margin:0!important
}

.slider-bottom-controls .experience-nav, .slider-bottom-controls .tour-nav, .slider-bottom-controls .testimonial-nav {
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #dfe5eb!important;
    border-radius:50%!important;
    background:#fff!important;
    color:var(--navy)!important;
    box-shadow:0 4px 12px rgba(15,27,45,.10)!important
}

.slider-bottom-controls .experience-nav:hover, .slider-bottom-controls .tour-nav:hover, .slider-bottom-controls .testimonial-nav:hover {
    background:var(--navy)!important;
    color:#fff!important
}

/* Keep each slider visually different */
.slider-popular .tour-bottom-controls .tour-nav {
    background:#fff!important;
    color:var(--navy)!important
}

.slider-golden .tour-bottom-controls .tour-nav {
    background:var(--navy)!important;
    color:#fff!important;
    border-color:var(--navy)!important
}

.slider-rajasthan .tour-bottom-controls .tour-nav {
    background:var(--coral)!important;
    color:#fff!important;
    border-color:var(--coral)!important
}

/* Desktop card counts */
.experience-row {
    grid-auto-columns:calc((100% - 64px)/5)!important;
    gap:16px!important
}

.slider-popular .tour-card {
    flex:0 0 calc((100% - 48px)/4)!important
}

.slider-golden .tour-card {
    flex:0 0 calc((100% - 48px)/4)!important
}

.slider-rajasthan .tour-card {
    flex:0 0 calc((100% - 48px)/4)!important
}

.testimonial-card {
    flex:0 0 calc((100% - 36px)/3)!important
}

/* Slightly tighter spacing */
.section {
    padding-top:46px!important;
    padding-bottom:46px!important
}

.section-head {
    margin-bottom:18px!important
}

.tour-card-actions {
    margin-top:8px!important
}

.slider-bottom-controls {
    margin-top:14px!important
}

/* Tablet */
@media(max-width:1050px) {
    .experience-row {
        grid-auto-columns:calc((100% - 14px)/2)!important;
        gap:14px!important
    }

    .slider-popular .tour-card,.slider-golden .tour-card,.slider-rajasthan .tour-card {
        flex-basis:calc((100% - 14px)/2)!important
    }

    .testimonial-card {
        flex-basis:calc((100% - 16px)/2)!important
    }

}

/* Mobile */
@media(max-width:820px) {
    .experience-row {
        grid-auto-columns:100%!important;
        gap:10px!important
    }

    .slider-popular .tour-card,.slider-golden .tour-card,.slider-rajasthan .tour-card {
        flex-basis:100%!important
    }

    .testimonial-card {
        flex-basis:100%!important
    }

    .slider-bottom-controls {
        gap:10px!important;
        margin-top:12px!important
    }

    .slider-bottom-controls .experience-nav, .slider-bottom-controls .tour-nav, .slider-bottom-controls .testimonial-nav {
        width:28px!important;
        height:28px!important
    }

}

/* Phone */
@media(max-width:560px) {
    .section {
        padding-top:38px!important;
        padding-bottom:38px!important
    }

    .slider-bottom-controls {
        margin-top:11px!important
    }

}

/* ==========================================================
   FINAL MOBILE MENU FIX
   Clean right drawer, one-column mega menu, no overflow
========================================================== */
@media(max-width:820px) {
    html,body {
        overflow-x:hidden!important
    }

    body.menu-open {
        overflow:hidden!important
    }

    /* header */
    .site-header {
        z-index:1500!important
    }

    .nav-wrap {
        height:68px!important;
        display:flex!important;
        align-items:center!important;
        gap:10px!important
    }

    .brand {
        flex:1 1 auto!important;
        min-width:0!important
    }

    .brand img {
        width:172px!important;
        max-width:100%!important;
        height:auto!important
    }

    .menu-toggle {
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        flex-direction:column!important;
        flex:0 0 42px!important;
        width:42px!important;
        height:42px!important;
        margin-left:auto!important;
        padding:8px!important;
        border:0!important;
        border-radius:9px!important;
        background:#f5f7f9!important;
        position:relative!important;
        z-index:1510!important
    }

    .menu-toggle span {
        width:23px!important;
        height:2px!important;
        margin:3px 0!important;
        background:var(--navy)!important
    }

    .menu-toggle.active span:nth-child(1) {
        transform:translateY(8px) rotate(45deg)!important
    }

    .menu-toggle.active span:nth-child(2) {
        opacity:0!important
    }

    .menu-toggle.active span:nth-child(3) {
        transform:translateY(-8px) rotate(-45deg)!important
    }

    /* drawer */
    .main-nav {
        position:fixed!important;
        top:106px!important;
        right:0!important;
        left:auto!important;
        bottom:auto!important;
        width:min(92vw,390px)!important;
        height:auto!important;
        max-height:calc(100dvh - 106px)!important;
        margin:0!important;
        padding:8px 16px 18px!important;
        display:block!important;
        background:#fff!important;
        border-left:1px solid #e8edf2!important;
        box-shadow:-14px 18px 34px rgba(15,27,45,.16)!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        overscroll-behavior:contain!important;
        opacity:0!important;
        visibility:hidden!important;
        pointer-events:none!important;
        transform:translateX(100%)!important;
        transition:transform .28s ease,opacity .2s ease,visibility .2s ease!important;
        z-index:1490!important
    }

    .main-nav.open {
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:translateX(0)!important
    }

    /* top-level items */
    .main-nav>a,.main-nav button {
        display:flex!important;
        width:100%!important;
        min-height:44px!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        margin:0!important;
        padding:12px 2px!important;
        border:0!important;
        border-bottom:1px solid #edf0f3!important;
        background:transparent!important;
        color:var(--navy)!important;
        font-size:14px!important;
        font-weight:600!important;
        line-height:1.3!important;
        text-align:left!important
    }

    .main-nav>a:hover,.main-nav button:hover {
        color:var(--coral)!important
    }

    /* chevron */
    .main-nav .nav-chevron {
        width:8px!important;
        height:8px!important;
        flex:0 0 8px!important;
        margin-right:3px!important
    }

    /* mega/dropdown collapsed by default */
    .mega-menu,.dropdown {
        position:static!important;
        inset:auto!important;
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:0!important;
        display:none!important;
        opacity:1!important;
        visibility:visible!important;
        transform:none!important;
        border:0!important;
        border-radius:0!important;
        background:#fff!important;
        box-shadow:none!important;
        overflow:hidden!important
    }

    .has-mega.open .mega-menu,.has-drop.open .dropdown {
        display:block!important
    }

    /* each mega category becomes a clean stacked block */
    .mega-menu>div {
        padding:10px 0 8px 12px!important;
        border-bottom:1px solid #f0f2f5!important
    }

    .mega-menu>div:last-child {
        border-bottom:0!important
    }

    .mega-menu h4 {
        margin:0 0 5px!important;
        font-size:13px!important;
        line-height:1.3!important;
        font-weight:700!important;
        color:var(--coral)!important
    }

    .mega-menu a,.dropdown a {
        display:block!important;
        padding:6px 0!important;
        font-size:13px!important;
        line-height:1.35!important;
        color:#5b6676!important
    }

    .mega-menu a:hover,.dropdown a:hover {
        color:var(--coral)!important
    }

    /* small light View More */
    .mega-more {
        display:inline-flex!important;
        width:auto!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:6px!important;
        margin:6px 0 1px!important;
        padding:6px 9px!important;
        border:1px solid #e8edf2!important;
        border-radius:7px!important;
        background:#f5f7fa!important;
        color:#4d5c6f!important;
        font-size:11.5px!important;
        font-weight:700!important
    }

    .destination-mega-menu .mega-more {
        display:none!important
    }

    /* Tour Themes simple dropdown */
    .dropdown {
        padding:6px 0 6px 12px!important
    }

    .dropdown a {
        border-bottom:1px solid #f2f4f7!important
    }

    .dropdown a:last-child {
        border-bottom:0!important
    }

    /* Plan Your Trip stays inside menu at the bottom */
    .main-nav .mobile-menu-plan {
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:8px!important;
        width:100%!important;
        min-height:46px!important;
        margin:14px 0 0!important;
        padding:12px 16px!important;
        border:0!important;
        border-radius:24px!important;
        background:var(--coral)!important;
        color:#fff!important;
        font-size:14px!important;
        font-weight:700!important;
        box-shadow:0 8px 18px rgba(239,78,67,.18)!important
    }

    .main-nav .mobile-menu-plan i {
        font-size:12px!important
    }

    /* cleaner scrollbar */
    .main-nav {
        scrollbar-width:thin!important;
        scrollbar-color:#9ca3af transparent!important
    }

    .main-nav::-webkit-scrollbar {
        width:5px!important
    }

    .main-nav::-webkit-scrollbar-thumb {
        background:#9ca3af!important;
        border-radius:10px!important
    }

    .main-nav::-webkit-scrollbar-track {
        background:transparent!important
    }

}

@media(max-width:560px) {
    .main-nav {
        top:104px!important;
        width:min(94vw,370px)!important;
        max-height:calc(100dvh - 104px)!important;
        padding:7px 14px 16px!important
    }

    .main-nav>a,.main-nav button {
        min-height:42px!important;
        padding:11px 2px!important;
        font-size:14px!important
    }

    .mega-menu>div {
        padding-left:10px!important
    }

    .mega-menu a,.dropdown a {
        font-size:12.5px!important;
        padding:5px 0!important
    }

    .main-nav .mobile-menu-plan {
        min-height:44px!important;
        font-size:13.5px!important
    }

}

/* ==========================================================
   FINAL SMOOTH UX PATCH
   - No hero arrows
   - Ken Burns hero effect
   - Larger 2-line tour names
   - Smooth FAQ accordion
   - Popular slider image-overlay style
   - Floating WhatsApp / Phone / Back-to-top
========================================================== */
/* GLOBAL TEXT */
body {
    font-size:15px!important;
    line-height:1.62!important
}

p,.hero p,.journey-card p,.about p,.journey-service-card p,.faq-panel-inner,.guide-feature p,.guide-side p,.testimonial-card p {
    font-size:15px!important;
    line-height:1.62!important
}

/* HERO: no arrows, smooth fade + zoom */
.hero-arrow {
    display:none!important
}

.hero-slide {
    opacity:0!important;
    visibility:hidden!important;
    transform:scale(1.075)!important;
    transition:opacity .85s ease,visibility .85s ease,transform 6.4s ease-out!important;
    will-change:opacity,transform!important
}

.hero-slide.active {
    opacity:1!important;
    visibility:visible!important;
    transform:scale(1)!important
}

.hero-overlay {
    background:linear-gradient(90deg,rgba(6,15,26,.76),rgba(8,16,24,.30) 56%,rgba(8,16,24,.08))!important
}

.hero-content {
    animation:heroContentIn .8s ease both
}

@keyframes heroContentIn {
    from {
        opacity:0;
        transform:translateY(14px)
    }

    to {
        opacity:1;
        transform:translateY(0)
    }

}

/* Tour names: larger, always clean two-line allowance */
.tour-body h3,.popular-image-overlay h3 {
    font-size:19px!important;
    line-height:1.28!important;
    font-weight:700!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    min-height:49px!important;
    margin:0 0 7px!important
}

.tour-location {
    height:auto!important;
    min-height:0!important;
    margin-bottom:7px!important
}

.tour-location span {
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important
}

/* Popular slider: one creative image-overlay tour style */
.slider-popular .tour-card {
    position:relative!important
}

.slider-popular .tour-img {
    height:285px!important;
    position:relative!important
}

.slider-popular .tour-img:after {
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(to top,rgba(8,16,25,.90),rgba(8,16,25,.04) 68%)!important
}

.popular-image-overlay {
    position:absolute!important;
    left:15px!important;
    right:15px!important;
    bottom:14px!important;
    z-index:3!important;
    color:#fff!important
}

.popular-image-overlay .tour-rating-row {
    margin-bottom:7px!important
}

.popular-image-overlay .tour-rating-score {
    color:#fff!important
}

.popular-image-overlay h3 {
    color:#fff!important;
    min-height:0!important;
    font-size:19px!important
}

.popular-image-overlay .tour-location {
    color:rgba(255,255,255,.90)!important;
    margin:0!important
}

.popular-image-overlay .tour-location i {
    color:#fff!important
}

.slider-popular .tour-body {
    padding-top:13px!important
}

/* FAQ: smooth accordion */
.journey-faq-list {
    border-top:1px solid #dce3ea!important
}

.faq-item {
    border-bottom:1px solid #dce3ea!important;
    background:transparent!important;
    transition:background .25s ease,border .25s ease,margin .25s ease!important
}

.faq-question {
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    padding:17px 10px 17px 14px!important;
    border:0!important;
    background:transparent!important;
    color:var(--navy)!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:1.4!important;
    text-align:left!important;
    cursor:pointer!important
}

.faq-item.active {
    margin:7px 0!important;
    border:1px solid #eadfdc!important;
    border-radius:10px!important;
    background:#fff!important
}

.faq-item.active .faq-question {
    color:var(--coral)!important;
    padding:17px 14px!important
}

.faq-panel {
    max-height:0;
    overflow:hidden!important;
    opacity:0!important;
    transition:max-height .38s ease,opacity .28s ease!important
}

.faq-panel-inner {
    padding:0 40px 16px 14px!important;
    color:#596577!important
}

.faq-item.active .faq-panel {
    opacity:1!important
}

.faq-symbol {
    position:relative!important;
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important
}

.faq-symbol:before,.faq-symbol:after {
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    background:#4e5968!important;
    transform:translate(-50%,-50%)!important
}

.faq-symbol:before {
    width:14px!important;
    height:2px!important
}

.faq-symbol:after {
    width:2px!important;
    height:14px!important;
    transition:opacity .2s ease!important
}

.faq-item.active .faq-symbol:after {
    opacity:0!important
}

/* Floating quick actions */
.floating-contact-tools {
    position:fixed!important;
    right:18px!important;
    bottom:18px!important;
    z-index:1600!important;
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important
}

.float-action {
    width:44px!important;
    height:44px!important;
    border:0!important;
    border-radius:50%!important;
    display:grid!important;
    place-items:center!important;
    color:#fff!important;
    box-shadow:0 8px 22px rgba(15,27,45,.18)!important;
    cursor:pointer!important;
    transition:.22s ease!important
}

.float-action:hover {
    transform:translateY(-2px) scale(1.04)!important
}

.float-whatsapp {
    background:#25d366!important;
    font-size:22px!important
}

.float-phone {
    background:var(--navy)!important;
    font-size:16px!important
}

.float-top {
    background:var(--coral)!important;
    font-size:15px!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:translateY(10px)!important
}

.float-top.show {
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(0)!important
}

/* Mobile drawer slightly narrower so page edge remains visible */
@media(max-width:820px) {
    .main-nav {
        width:min(88vw,360px)!important
    }

    .tour-body h3,.popular-image-overlay h3 {
        font-size:18px!important;
        min-height:46px!important
    }

    .slider-popular .tour-img {
        height:250px!important
    }

}

@media(max-width:560px) {
    .main-nav {
        width:min(90vw,350px)!important
    }

    body,p,.hero p,.journey-card p,.about p,.journey-service-card p,.faq-panel-inner,.guide-feature p,.guide-side p,.testimonial-card p {
        font-size:15px!important
    }

    .tour-body h3,.popular-image-overlay h3 {
        font-size:18px!important;
        line-height:1.28!important
    }

    .slider-popular .tour-img {
        height:235px!important
    }

    .floating-contact-tools {
        right:12px!important;
        bottom:12px!important;
        gap:8px!important
    }

    .float-action {
        width:41px!important;
        height:41px!important
    }

    .float-whatsapp {
        font-size:20px!important
    }

}

/* ==========================================================
   FAQ SMOOTH OPEN/CLOSE FIX
   JS controls max-height, so max-height must NOT use !important.
========================================================== */
.journey-faq-list .faq-panel {
    max-height:0;
    overflow:hidden!important;
    opacity:0!important;
    transition:max-height .38s ease,opacity .28s ease!important
}

.journey-faq-list .faq-item.active .faq-panel {
    opacity:1!important
}

.journey-faq-list .faq-question {
    cursor:pointer!important
}

/* ==========================================================
   FINAL IMAGE RATIO + FLOATING PHONE + TESTIMONIAL SPACING
   All slider/tour images use an 800x600-style 4:3 ratio.
========================================================== */
/* ---------- TOUR / EXPERIENCE / BLOG IMAGE RATIO ---------- */
/* 800x600 = 4:3. aspect-ratio keeps the same look on every screen. */
.tour-img, .slider-popular .tour-img, .slider-golden .tour-img, .slider-rajasthan .tour-img {
    height:auto!important;
    aspect-ratio:4/3!important;
    overflow:hidden!important;
    background:#eef2f6!important
}

.tour-img img, .slider-popular .tour-img img, .slider-golden .tour-img img, .slider-rajasthan .tour-img img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important
}

/* Best India Holiday Experiences: same 4:3 visual proportion */
.experience-card {
    height:auto!important;
    aspect-ratio:4/3!important;
    min-height:0!important
}

.experience-card img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important
}

/* Destination cards also keep a consistent travel-photo shape */
.destination-card {
    height:auto!important;
    aspect-ratio:4/3!important
}

.destination-card img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important
}

/* Blog imagery stays neat and responsive */
.guide-feature img {
    height:auto!important;
    aspect-ratio:4/3!important;
    object-fit:cover!important
}

.guide-side img {
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important
}

/* ---------- POPULAR IMAGE OVERLAY FIX WITH 4:3 ---------- */
.slider-popular .tour-img {
    aspect-ratio:4/3!important;
    height:auto!important
}

.popular-image-overlay {
    left:14px!important;
    right:14px!important;
    bottom:13px!important
}

/* ---------- FLOATING CONTACT COLORS ---------- */
/* WhatsApp green stays recognizable */
.float-whatsapp {
    background:#25d366!important;
    color:#fff!important
}

/* Phone uses a Jaipur-inspired royal blue instead of black/navy */
.float-phone {
    background:#1f6fd6!important;
    color:#fff!important
}

.float-phone:hover {
    background:#185db7!important
}

/* Back to top stays coral */
.float-top {
    background:var(--coral)!important;
    color:#fff!important
}

/* Keep floating tools above footer and away from edges */
.floating-contact-tools {
    right:18px!important;
    bottom:20px!important
}

/* ---------- TESTIMONIAL STAR / CONTENT SPACING ---------- */
.testimonial-card {
    display:flex!important;
    flex-direction:column!important;
    min-height:250px!important
}

.testimonial-card .stars {
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    margin:0 0 10px!important;
    line-height:1!important
}

.testimonial-card .stars i {
    font-size:14px!important;
    color:#f5b400!important
}

.testimonial-card h3 {
    margin:0 0 9px!important
}

.testimonial-card p {
    margin:0 0 16px!important
}

.testimonial-card .person {
    margin-top:auto!important;
    padding-top:4px!important
}

.testimonial-bottom-controls {
    margin-top:16px!important;
    margin-bottom:2px!important
}

/* ---------- TABLET ---------- */
@media(max-width:1050px) {
    .tour-img, .slider-popular .tour-img, .slider-golden .tour-img, .slider-rajasthan .tour-img, .experience-card, .destination-card {
        aspect-ratio:4/3!important;
        height:auto!important
    }

}

/* ---------- MOBILE ---------- */
@media(max-width:560px) {
    .tour-img, .slider-popular .tour-img, .slider-golden .tour-img, .slider-rajasthan .tour-img, .experience-card, .destination-card {
        aspect-ratio:4/3!important;
        height:auto!important
    }

    .tour-img img, .experience-card img, .destination-card img {
        object-position:center!important
    }

    /* keep one full card cleanly visible */
    .slider-popular .tour-card, .slider-golden .tour-card, .slider-rajasthan .tour-card {
        flex-basis:100%!important
    }

    .floating-contact-tools {
        right:12px!important;
        bottom:14px!important
    }

    .float-action {
        width:42px!important;
        height:42px!important
    }

    .float-phone {
        font-size:15px!important
    }

    .testimonial-card {
        min-height:0!important;
        padding:19px!important
    }

    .testimonial-card .stars {
        margin-bottom:9px!important
    }

    .testimonial-card p {
        margin-bottom:14px!important
    }

}

/* ==========================================================
   FINAL BLOG + MOBILE MENU POLISH
   Fixes blog image proportions on desktop/tablet/mobile and
   simplifies "View More Tours" inside the mobile mega menu.
========================================================== */
/* ---------- BLOG SECTION ---------- */
.guides {
    overflow:hidden!important
}

.guides .section-head {
    margin-bottom:22px!important
}

.guides .section-head h2 {
    font-size:31px!important;
    line-height:1.2!important;
    max-width:760px!important
}

.guides .guide-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    gap:20px!important;
    align-items:stretch!important
}

.guide-feature, .guide-side article {
    min-width:0!important;
    border:1px solid #e2e8ef!important;
    border-radius:11px!important;
    background:#fff!important;
    overflow:hidden!important
}

/* Main blog image: wide editorial crop, no stretching */
.guide-feature img {
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9!important;
    object-fit:cover!important;
    object-position:center!important
}

.guide-feature>div {
    padding:17px 18px!important
}

.guide-feature h3 {
    margin:9px 0 7px!important;
    font-size:19px!important;
    line-height:1.35!important
}

.guide-feature p {
    margin:0 0 14px!important;
    font-size:14px!important;
    line-height:1.62!important
}

/* Side blog cards: controlled horizontal image/content split */
.guide-side {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important
}

.guide-side article {
    display:grid!important;
    grid-template-columns:minmax(0,42%) minmax(0,58%)!important;
    min-height:0!important;
    align-items:stretch!important
}

.guide-side article>img {
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important
}

.guide-side article>div {
    min-width:0!important;
    padding:15px!important;
    display:flex!important;
    flex-direction:column!important
}

.guide-side h3 {
    margin:7px 0!important;
    font-size:16px!important;
    line-height:1.35!important
}

.guide-side p {
    margin:0 0 10px!important;
    font-size:13px!important;
    line-height:1.55!important
}

.guide-meta {
    margin-top:auto!important
}

/* ---------- TABLET BLOG ---------- */
@media(max-width:991.98px) {
    .guides .guide-grid {
        grid-template-columns:1fr!important;
        gap:18px!important
    }

    .guide-feature img {
        aspect-ratio:16/8.6!important
    }

    .guide-side {
        grid-template-columns:1fr 1fr!important;
        gap:16px!important
    }

    .guide-side article {
        grid-template-columns:1fr!important
    }

    .guide-side article>img {
        height:auto!important;
        aspect-ratio:16/9!important;
        object-fit:cover!important
    }

    .guide-side article>div {
        padding:14px!important
    }

    .guides .section-head h2 {
        font-size:29px!important
    }

}

/* ---------- MOBILE BLOG ---------- */
@media(max-width:767.98px) {
    .guides .section-head h2 {
        font-size:27px!important;
        line-height:1.2!important
    }

    .guides .guide-grid {
        gap:15px!important
    }

    .guide-side {
        grid-template-columns:1fr!important;
        gap:14px!important
    }

    .guide-feature img, .guide-side article>img {
        width:100%!important;
        height:auto!important;
        aspect-ratio:16/9!important;
        object-fit:cover!important;
        object-position:center!important
    }

    .guide-feature>div {
        padding:15px!important
    }

    .guide-feature h3 {
        font-size:18px!important
    }

    .guide-feature p {
        font-size:14px!important
    }

    .guide-side h3 {
        font-size:16px!important
    }

    .guide-side p {
        font-size:13.5px!important
    }

}

/* ---------- MOBILE MEGA MENU ---------- */
@media(max-width:820px) {
    /* WordPress-style drawer: almost full width, but still shows page edge */
    .main-nav {
        width:min(92vw,390px)!important;
        padding:8px 15px 16px!important
    }

    /* View More Tours is a simple bold text link, not a bulky grey button */
    .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        gap:5px!important;
        width:auto!important;
        margin:5px 0 1px!important;
        padding:3px 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#e4473d!important;
        font-size:12px!important;
        font-weight:700!important;
        line-height:1.3!important
    }

    .mega-more i {
        font-size:10px!important;
        color:#e4473d!important
    }

    .mega-more:hover {
        background:transparent!important;
        color:#b92f28!important;
        padding-left:0!important
    }

}

/* Small phones: slightly wider drawer, still not awkward full-screen */
@media(max-width:560px) {
    .main-nav {
        width:min(94vw,370px)!important;
        padding-left:13px!important;
        padding-right:13px!important
    }

    .mega-more {
        font-size:11.5px!important
    }

}

/* ==========================================================
   FINAL DESTINATIONS MENU FIX
   Desktop: centered full-width mega panel inside viewport.
   Mobile: full-screen menu; region accordion opens one at a time.
========================================================== */
/* ---------- DESKTOP DESTINATIONS MEGA ---------- */
@media(min-width:821px) {
    .has-mega {
        position:static!important
    }

    .site-header .nav-wrap {
        position:relative!important
    }

    .destination-mega-menu {
        position:absolute!important;
        top:100%!important;
        left:50%!important;
        right:auto!important;
        transform:translate(-50%,8px)!important;
        width:min(1120px,calc(100vw - 40px))!important;
        max-width:1120px!important;
        padding:18px 20px!important;
        display:grid!important;
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:20px!important;
        border:1px solid #e7ecf2!important;
        border-radius:12px!important;
        background:#fff!important;
        box-shadow:0 14px 32px rgba(15,27,45,.12)!important;
        overflow:hidden!important;
        opacity:0!important;
        visibility:hidden!important;
        z-index:1600!important
    }

    .has-mega:hover>.destination-mega-menu {
        opacity:1!important;
        visibility:visible!important;
        transform:translate(-50%,0)!important
    }

    .destination-region {
        min-width:0!important
    }

    .destination-region-toggle {
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        padding:0 0 7px!important;
        border:0!important;
        background:transparent!important;
        color:var(--coral)!important;
        font-size:13px!important;
        font-weight:700!important;
        cursor:default!important
    }

    .destination-region-toggle i {
        display:none!important
    }

    .destination-region-links {
        display:block!important
    }

    .destination-region-links a {
        display:block!important;
        padding:5px 0!important;
        font-size:13px!important;
        line-height:1.35!important;
        color:#5d6878!important;
        white-space:normal!important
    }

    .destination-region-links a:hover {
        color:var(--coral)!important
    }

}

/* ---------- MOBILE FULL SCREEN DRAWER ---------- */
@media(max-width:820px) {
    body.menu-open {
        overflow:hidden!important
    }

    .main-nav {
        position:fixed!important;
        top:106px!important;
        left:0!important;
        right:0!important;
        bottom:0!important;
        width:100vw!important;
        max-width:none!important;
        height:calc(100dvh - 106px)!important;
        max-height:none!important;
        padding:8px 18px 18px!important;
        background:#fff!important;
        border:0!important;
        box-shadow:none!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        transform:translateX(100%)!important;
        z-index:1490!important
    }

    .main-nav.open {
        transform:translateX(0)!important
    }

    .main-nav>a,.main-nav>div>button {
        min-height:44px!important;
        padding:12px 2px!important;
        font-size:14px!important;
        border-bottom:1px solid #edf0f3!important
    }

    .main-nav .mega-menu,.main-nav .dropdown {
        width:100%!important;
        padding:0!important;
        margin:0!important;
        background:#fff!important;
        overflow:visible!important
    }

    /* destination region accordion */
    .destination-mega-menu {
        display:none!important;
        grid-template-columns:1fr!important;
        gap:0!important
    }

    .has-mega.open>.destination-mega-menu {
        display:block!important
    }

    .destination-region {
        border-bottom:1px solid #edf0f3!important;
        padding:0!important
    }

    .destination-region-toggle {
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        min-height:42px!important;
        padding:11px 8px!important;
        border:0!important;
        background:#fff!important;
        color:var(--navy)!important;
        font-size:14px!important;
        font-weight:700!important;
        text-align:left!important
    }

    .destination-region-toggle i {
        font-size:11px!important;
        transition:transform .22s ease!important
    }

    .destination-region.active .destination-region-toggle {
        color:var(--coral)!important
    }

    .destination-region.active .destination-region-toggle i {
        transform:rotate(180deg)!important
    }

    .destination-region-links {
        display:none!important;
        padding:0 8px 10px 18px!important
    }

    .destination-region.active .destination-region-links {
        display:block!important
    }

    .destination-region-links a {
        display:block!important;
        padding:6px 0!important;
        font-size:13px!important;
        line-height:1.35!important;
        color:#5d6878!important
    }

    .destination-region-links a:hover {
        color:var(--coral)!important
    }

    /* keep Plan Your Trip at bottom naturally */
    .main-nav .mobile-menu-plan {
        position:static!important;
        width:100%!important;
        margin:14px 0 0!important
    }

}

@media(max-width:560px) {
    .main-nav {
        top:104px!important;
        height:calc(100dvh - 104px)!important;
        padding:7px 14px 16px!important
    }

}

/* ==========================================================
   FINAL SIMPLE MOBILE MENU + STICKY HEADER
   Tour Packages and Destinations use nested accordions.
========================================================== */
.topbar {
    position:sticky!important;
    top:0!important;
    z-index:1600!important
}

.site-header {
    position:sticky!important;
    top:36px!important;
    z-index:1590!important;
    background:#fff!important
}

/* Desktop mega stays clean */
@media(min-width:821px) {
    .has-mega {
        position:relative!important
    }

    .tour-mega-menu,.destination-mega-menu {
        position:absolute!important;
        top:100%!important;
        left:50%!important;
        transform:translate(-50%,8px)!important;
        width:min(900px,calc(100vw - 40px))!important;
        display:grid!important;
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:18px!important;
        padding:18px!important;
        background:#fff!important;
        border:1px solid #e7ecf2!important;
        border-radius:12px!important;
        box-shadow:0 14px 30px rgba(15,27,45,.12)!important;
        opacity:0!important;
        visibility:hidden!important;
        z-index:1700!important
    }

    .has-mega:hover>.tour-mega-menu,.has-mega:hover>.destination-mega-menu {
        opacity:1!important;
        visibility:visible!important;
        transform:translate(-50%,0)!important
    }

    .mobile-submenu-toggle {
        width:100%!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        padding:0 0 7px!important;
        border:0!important;
        background:transparent!important;
        color:var(--coral)!important;
        font-size:13px!important;
        font-weight:700!important;
        cursor:default!important
    }

    .mobile-submenu-toggle i {
        display:none!important
    }

    .mobile-submenu-links {
        display:block!important
    }

    .mobile-submenu-links a {
        display:block!important;
        padding:5px 0!important;
        font-size:13px!important;
        line-height:1.35!important;
        color:#5d6878!important
    }

}

/* Mobile */
@media(max-width:820px) {
    body.menu-open {
        overflow:hidden!important
    }

    .topbar {
        position:sticky!important;
        top:0!important
    }

    .site-header {
        position:sticky!important;
        top:38px!important
    }

    .main-nav {
        position:fixed!important;
        top:106px!important;
        left:0!important;
        right:0!important;
        bottom:0!important;
        width:100%!important;
        height:calc(100dvh - 106px)!important;
        max-height:none!important;
        padding:8px 15px 16px!important;
        background:#fff!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        box-shadow:none!important;
        border:0!important;
        transform:translateX(100%)!important;
        transition:transform .25s ease!important;
        z-index:1580!important
    }

    .main-nav.open {
        transform:translateX(0)!important
    }

    .main-nav>a,.main-nav>div>button {
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        min-height:44px!important;
        padding:11px 2px!important;
        border:0!important;
        border-bottom:1px solid #edf0f3!important;
        background:#fff!important;
        color:var(--navy)!important;
        font-size:14px!important;
        font-weight:600!important
    }

    .main-nav .mega-menu,.main-nav .dropdown {
        position:static!important;
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:0!important;
        display:none!important;
        opacity:1!important;
        visibility:visible!important;
        transform:none!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        background:#fff!important
    }

    .has-mega.open>.mega-menu,.has-drop.open>.dropdown {
        display:block!important
    }

    /* nested accordion */
    .mobile-accordion-group {
        border-bottom:1px solid #f0f2f5!important
    }

    .mobile-submenu-toggle {
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        min-height:42px!important;
        padding:10px 10px!important;
        border:0!important;
        background:#fff!important;
        color:#263246!important;
        font-size:13.5px!important;
        font-weight:700!important;
        text-align:left!important
    }

    .mobile-submenu-toggle i {
        font-size:10px!important;
        transition:transform .2s ease!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle {
        color:var(--coral)!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle i {
        transform:rotate(180deg)!important
    }

    .mobile-submenu-links {
        display:none!important;
        padding:0 10px 9px 18px!important;
        background:#fff!important
    }

    .mobile-accordion-group.active>.mobile-submenu-links {
        display:block!important
    }

    .mobile-submenu-links a {
        display:block!important;
        padding:6px 0!important;
        font-size:13px!important;
        line-height:1.35!important;
        color:#5d6878!important
    }

    .mobile-submenu-links a:hover {
        color:var(--coral)!important
    }

    /* simple View More link */
    .mobile-submenu-links .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        gap:5px!important;
        margin-top:4px!important;
        padding:4px 0!important;
        border:0!important;
        background:transparent!important;
        color:var(--coral)!important;
        font-size:12px!important;
        font-weight:700!important
    }

    .main-nav .mobile-menu-plan {
        display:flex!important;
        justify-content:center!important;
        width:100%!important;
        margin-top:14px!important;
        padding:12px 16px!important;
        border-radius:24px!important;
        background:var(--coral)!important;
        color:#fff!important
    }

}

@media(max-width:560px) {
    .site-header {
        top:40px!important
    }

    .main-nav {
        top:108px!important;
        height:calc(100dvh - 108px)!important;
        padding:7px 13px 15px!important
    }

}

/* ==========================================================
   VIEW MORE TOURS - FINAL SMALL BUTTON FIX
========================================================== */
@media(max-width:820px) {
    .mobile-submenu-links .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:4px!important;
        width:auto!important;
        min-width:0!important;
        min-height:0!important;
        margin:6px 0 4px 6px!important;
        padding:6px 9px!important;
        background:#f3f6f9!important;
        border:0!important;
        border-radius:6px!important;
        color:#536174!important;
        font-size:11px!important;
        font-weight:700!important;
        line-height:1!important;
        text-decoration:none!important;
        box-shadow:none!important;
        transition:background-color .2s ease,color .2s ease!important
    }

    .mobile-submenu-links .mega-more i {
        display:inline-block!important;
        margin:0 0 0 1px!important;
        font-size:9px!important;
        line-height:1!important;
        color:inherit!important;
        transform:none!important
    }

    .mobile-submenu-links .mega-more:hover, .mobile-submenu-links .mega-more:focus {
        background:#fff0ee!important;
        color:var(--coral)!important
    }

}

/* ==========================================================
   ABSOLUTE FINAL MOBILE MENU FIX
   This block intentionally overrides all earlier mobile-menu CSS.
========================================================== */
@media(max-width:820px) {
    html,body {
        width:100%!important;
        max-width:100%!important;
        overflow-x:hidden!important
    }

    body.menu-open {
        overflow:hidden!important
    }

    /* sticky bars */
    .topbar {
        position:fixed!important;
        top:0!important;
        left:0!important;
        right:0!important;
        z-index:3000!important
    }

    .site-header {
        position:fixed!important;
        top:38px!important;
        left:0!important;
        right:0!important;
        z-index:2990!important;
        background:#fff!important
    }

    body {
        padding-top:106px!important
    }

    /* mobile toggle */
    .menu-toggle {
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        flex-direction:column!important;
        width:42px!important;
        height:42px!important;
        flex:0 0 42px!important;
        margin-left:auto!important;
        padding:8px!important;
        border:0!important;
        border-radius:9px!important;
        background:#f4f6f8!important;
        z-index:3010!important
    }

    .menu-toggle span {
        display:block!important;
        width:23px!important;
        height:2px!important;
        margin:3px 0!important;
        background:#102039!important
    }

    .menu-toggle.active span:nth-child(1) {
        transform:translateY(8px) rotate(45deg)!important
    }

    .menu-toggle.active span:nth-child(2) {
        opacity:0!important
    }

    .menu-toggle.active span:nth-child(3) {
        transform:translateY(-8px) rotate(-45deg)!important
    }

    /* FULL mobile menu */
    .main-nav {
        position:fixed!important;
        top:106px!important;
        left:0!important;
        right:0!important;
        bottom:0!important;
        width:100%!important;
        max-width:none!important;
        height:calc(100dvh - 106px)!important;
        max-height:none!important;
        margin:0!important;
        padding:7px 16px 16px!important;
        display:block!important;
        background:#fff!important;
        border:0!important;
        box-shadow:none!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        opacity:0!important;
        visibility:hidden!important;
        pointer-events:none!important;
        transform:translateX(100%)!important;
        transition:transform .25s ease,opacity .2s ease,visibility .2s ease!important;
        z-index:2980!important
    }

    .main-nav.open {
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:translateX(0)!important
    }

    /* top links */
    .main-nav>a,.main-nav>div>button {
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        min-height:43px!important;
        margin:0!important;
        padding:11px 2px!important;
        border:0!important;
        border-bottom:1px solid #edf0f3!important;
        background:#fff!important;
        color:#102039!important;
        font-size:14px!important;
        font-weight:600!important;
        line-height:1.25!important;
        text-align:left!important
    }

    /* hide submenus until parent is opened */
    .main-nav .mega-menu,.main-nav .dropdown {
        position:static!important;
        inset:auto!important;
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:0!important;
        display:none!important;
        opacity:1!important;
        visibility:visible!important;
        transform:none!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        background:#fff!important
    }

    .main-nav .has-mega.open>.mega-menu, .main-nav .has-drop.open>.dropdown {
        display:block!important
    }

    /* second level */
    .mobile-accordion-group {
        margin:0!important;
        padding:0!important;
        border-bottom:1px solid #f0f2f5!important
    }

    .mobile-submenu-toggle {
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        min-height:40px!important;
        padding:9px 10px!important;
        border:0!important;
        background:#fff!important;
        color:#263246!important;
        font-size:13.5px!important;
        font-weight:700!important;
        line-height:1.25!important;
        text-align:left!important
    }

    .mobile-submenu-toggle i {
        display:block!important;
        font-size:9px!important;
        transition:transform .2s ease!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle {
        color:#ef4e43!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle i {
        transform:rotate(180deg)!important
    }

    .mobile-submenu-links {
        display:none!important;
        padding:0 10px 8px 18px!important;
        background:#fff!important
    }

    .mobile-accordion-group.active>.mobile-submenu-links {
        display:block!important
    }

    .mobile-submenu-links a {
        display:block!important;
        padding:5px 0!important;
        color:#5d6878!important;
        font-size:12.5px!important;
        font-weight:400!important;
        line-height:1.3!important
    }

    /* VERY SMALL View More Tours, NO ARROW */
    .mobile-submenu-links .mega-more {
        display:inline-block!important;
        width:auto!important;
        min-width:0!important;
        min-height:0!important;
        margin:5px 0 3px 2px!important;
        padding:4px 7px!important;
        border:0!important;
        border-radius:5px!important;
        background:#f2f5f8!important;
        color:#566476!important;
        font-size:10px!important;
        font-weight:700!important;
        line-height:1.1!important;
        box-shadow:none!important;
        white-space:nowrap!important
    }

    .mobile-submenu-links .mega-more i {
        display:none!important
    }

    .mobile-submenu-links .mega-more:hover, .mobile-submenu-links .mega-more:focus {
        background:#fff0ed!important;
        color:#ef4e43!important
    }

    /* tour themes */
    .main-nav .dropdown {
        padding:4px 0 5px 12px!important
    }

    .main-nav .dropdown a {
        display:block!important;
        padding:6px 0!important;
        border-bottom:1px solid #f2f4f6!important;
        font-size:12.5px!important
    }

    /* plan trip */
    .main-nav .mobile-menu-plan {
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:7px!important;
        width:100%!important;
        min-height:44px!important;
        margin:12px 0 0!important;
        padding:11px 14px!important;
        border:0!important;
        border-radius:23px!important;
        background:#ef4e43!important;
        color:#fff!important;
        font-size:13.5px!important;
        font-weight:700!important
    }

}

@media(max-width:560px) {
    .topbar {
        height:40px!important
    }

    .site-header {
        top:40px!important
    }

    body {
        padding-top:108px!important
    }

    .main-nav {
        top:108px!important;
        height:calc(100dvh - 108px)!important;
        padding-left:13px!important;
        padding-right:13px!important
    }

}

/* ==========================================================
   FINAL CLASSIC MOBILE MENU
   Single separators, + / − icons, clean active colors,
   plain View More Tours link with small arrow.
========================================================== */
@media(max-width:820px) {
    /* menu spacing + single separator only */
    .main-nav {
        padding:8px 16px 16px!important;
        background:#fff!important
    }

    .main-nav>a, .main-nav>div>button {
        min-height:43px!important;
        padding:11px 2px!important;
        border:0!important;
        border-bottom:1px solid #edf0f3!important;
        background:#fff!important;
        color:#17263b!important;
        font-size:14px!important;
        font-weight:600!important
    }

    /* top level active state */
    .main-nav>.has-mega.open>button, .main-nav>.has-drop.open>button {
        color:#ef4e43!important
    }

    /* remove old chevron drawing */
    .main-nav .nav-chevron {
        position:relative!important;
        width:18px!important;
        height:18px!important;
        flex:0 0 18px!important;
        border:0!important;
        transform:none!important;
        margin:0!important
    }

    .main-nav .nav-chevron:before, .main-nav .nav-chevron:after {
        content:""!important;
        position:absolute!important;
        left:50%!important;
        top:50%!important;
        background:#536174!important;
        transform:translate(-50%,-50%)!important;
        transition:opacity .2s ease,background-color .2s ease!important
    }

    .main-nav .nav-chevron:before {
        width:10px!important;
        height:1.5px!important
    }

    .main-nav .nav-chevron:after {
        width:1.5px!important;
        height:10px!important
    }

    .main-nav>.has-mega.open>button .nav-chevron:after, .main-nav>.has-drop.open>button .nav-chevron:after {
        opacity:0!important
    }

    .main-nav>.has-mega.open>button .nav-chevron:before, .main-nav>.has-drop.open>button .nav-chevron:before {
        background:#ef4e43!important
    }

    /* nested group: no double border */
    .mobile-accordion-group {
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-bottom:1px solid #edf0f3!important
    }

    .mobile-accordion-group:last-child {
        border-bottom:0!important
    }

    .mobile-submenu-toggle {
        position:relative!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        min-height:42px!important;
        padding:10px 9px!important;
        border:0!important;
        background:#fff!important;
        color:#1f2d40!important;
        font-size:13.5px!important;
        font-weight:600!important;
        line-height:1.25!important;
        text-align:left!important
    }

    /* replace nested chevron with + / − */
    .mobile-submenu-toggle i {
        display:none!important
    }

    .mobile-submenu-toggle:before, .mobile-submenu-toggle:after {
        content:""!important;
        position:absolute!important;
        right:9px!important;
        top:50%!important;
        background:#617083!important;
        transform:translateY(-50%)!important;
        transition:opacity .2s ease,background-color .2s ease!important
    }

    .mobile-submenu-toggle:before {
        width:10px!important;
        height:1.5px!important
    }

    .mobile-submenu-toggle:after {
        width:1.5px!important;
        height:10px!important;
        right:13.25px!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle {
        color:#ef4e43!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle:after {
        opacity:0!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle:before {
        background:#ef4e43!important
    }

    /* nested links */
    .mobile-submenu-links {
        display:none!important;
        padding:0 10px 9px 18px!important;
        background:#fff!important
    }

    .mobile-accordion-group.active>.mobile-submenu-links {
        display:block!important
    }

    .mobile-submenu-links a {
        display:block!important;
        padding:5px 0!important;
        color:#607084!important;
        font-size:12.5px!important;
        font-weight:400!important;
        line-height:1.35!important
    }

    .mobile-submenu-links a:hover, .mobile-submenu-links a:focus {
        color:#ef4e43!important
    }

    /* View More Tours: no button background, no bold */
    .mobile-submenu-links .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        gap:4px!important;
        width:auto!important;
        min-width:0!important;
        min-height:0!important;
        margin:5px 0 3px 0!important;
        padding:2px 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#ef4e43!important;
        font-size:11.5px!important;
        font-weight:500!important;
        line-height:1.2!important;
        white-space:nowrap!important
    }

    /* show a tiny arrow after text */
    .mobile-submenu-links .mega-more:after {
        content:"\f061"!important;
        font-family:"Font Awesome 6 Free"!important;
        font-weight:900!important;
        font-size:8px!important;
        line-height:1!important;
        color:currentColor!important
    }

    .mobile-submenu-links .mega-more i {
        display:none!important
    }

    .mobile-submenu-links .mega-more:hover, .mobile-submenu-links .mega-more:focus {
        background:transparent!important;
        color:#c9342b!important
    }

    /* Tour Themes links */
    .main-nav .dropdown {
        padding:4px 0 5px 14px!important
    }

    .main-nav .dropdown a {
        padding:6px 0!important;
        border:0!important;
        border-bottom:1px solid #f2f4f6!important;
        font-size:12.5px!important;
        font-weight:400!important;
        color:#607084!important
    }

    .main-nav .dropdown a:last-child {
        border-bottom:0!important
    }

    /* Plan Your Trip */
    .main-nav .mobile-menu-plan {
        margin-top:12px!important;
        min-height:44px!important;
        border-radius:23px!important;
        font-size:13.5px!important
    }

}

@media(max-width:560px) {
    .main-nav {
        padding-left:13px!important;
        padding-right:13px!important
    }

    .main-nav>a,.main-nav>div>button {
        font-size:13.5px!important
    }

    .mobile-submenu-toggle {
        font-size:13px!important
    }

    .mobile-submenu-links a {
        font-size:12px!important
    }

    .mobile-submenu-links .mega-more {
        font-size:11px!important
    }

}

/* ==========================================================
   FINAL VIEW MORE + MOBILE MENU POLISH
   Remove grey button background, reduce weight/space,
   add small red arrow, keep mobile separators clean.
========================================================== */
/* DESKTOP + TABLET: View More Tours as plain red link */
.mega-more {
    display:inline-flex!important;
    align-items:center!important;
    gap:4px!important;
    width:auto!important;
    min-width:0!important;
    margin:5px 0 1px!important;
    padding:2px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#ef4e43!important;
    font-size:11.5px!important;
    font-weight:500!important;
    line-height:1.2!important;
    text-decoration:none!important
}

.mega-more i {
    display:none!important
}

.mega-more:after {
    content:"\f061"!important;
    font-family:"Font Awesome 6 Free"!important;
    font-weight:900!important;
    font-size:8px!important;
    line-height:1!important;
    color:currentColor!important
}

.mega-more:hover,.mega-more:focus {
    background:transparent!important;
    color:#c9342b!important;
    text-decoration:none!important
}

/* MOBILE menu: compact classic rows */
@media(max-width:820px) {
    .main-nav {
        padding:7px 12px 14px!important
    }

    .main-nav>a,.main-nav>div>button {
        min-height:40px!important;
        padding:9px 2px!important;
        border-bottom:1px solid #e9edf2!important;
        font-size:13.5px!important
    }

    /* active top-level item */
    .main-nav>.has-mega.open>button, .main-nav>.has-drop.open>button {
        color:#ef4e43!important
    }

    /* nested category rows */
    .mobile-accordion-group {
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-bottom:1px solid #e9edf2!important
    }

    .mobile-submenu-toggle {
        min-height:39px!important;
        padding:9px 8px!important;
        font-size:13px!important;
        font-weight:600!important;
        background:#fff!important
    }

    /* soft active row like your example */
    .mobile-accordion-group.active>.mobile-submenu-toggle {
        background:#f3eded!important;
        color:#17263b!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle:before {
        background:#ef4e43!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle:after {
        opacity:0!important
    }

    /* reduce submenu spacing */
    .mobile-submenu-links {
        padding:0 8px 7px 15px!important
    }

    .mobile-submenu-links a {
        padding:4px 0!important;
        font-size:12px!important;
        line-height:1.3!important
    }

    /* View More Tours on mobile */
    .mobile-submenu-links .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        gap:4px!important;
        width:auto!important;
        min-width:0!important;
        margin:4px 0 2px!important;
        padding:2px 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#ef4e43!important;
        font-size:10.5px!important;
        font-weight:500!important;
        line-height:1.2!important;
        white-space:nowrap!important
    }

    .mobile-submenu-links .mega-more:after {
        content:"\f061"!important;
        font-family:"Font Awesome 6 Free"!important;
        font-weight:900!important;
        font-size:7px!important;
        color:currentColor!important
    }

    /* simple Plan Your Trip spacing */
    .main-nav .mobile-menu-plan {
        margin-top:10px!important;
        min-height:42px!important;
        padding:10px 14px!important;
        font-size:13px!important
    }

}

@media(max-width:560px) {
    .main-nav {
        padding-left:10px!important;
        padding-right:10px!important
    }

    .main-nav>a,.main-nav>div>button {
        font-size:13px!important
    }

    .mobile-submenu-toggle {
        font-size:12.5px!important
    }

    .mobile-submenu-links a {
        font-size:11.8px!important
    }

    .mobile-submenu-links .mega-more {
        font-size:10px!important
    }

}

/* ==========================================================
   FINAL MEGA MENU RESET — DESKTOP + TABLET + MOBILE
   Goal: no stacked/double borders, compact spacing, clean 4-column
   desktop mega menu, full-width mobile drawer with nested accordions.
========================================================== */
/* ---------- SHARED ---------- */
.main-nav .mega-menu, .main-nav .dropdown, .main-nav .mega-menu *, .main-nav .dropdown * {
    box-sizing:border-box!important
}

.mega-more {
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    width:auto!important;
    min-width:0!important;
    margin:7px 0 0!important;
    padding:2px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#ef4e43!important;
    font-size:11.5px!important;
    font-weight:500!important;
    line-height:1.2!important;
    text-decoration:none!important
}

.mega-more i {
    display:inline-block!important;
    font-size:8px!important;
    color:currentColor!important
}

.mega-more:hover {
    color:#c9342b!important;
    background:transparent!important
}

/* ==========================================================
   DESKTOP / LARGE TABLET
========================================================== */
@media(min-width:821px) {
    .site-header {
        overflow:visible!important
    }

    .nav-wrap {
        position:relative!important;
        overflow:visible!important
    }

    .main-nav {
        position:static!important;
        overflow:visible!important
    }

    .has-mega {
        position:static!important
    }

    /* one single mega-panel, no internal box borders */
    .tour-mega-menu, .destination-mega-menu {
        position:absolute!important;
        top:100%!important;
        left:50%!important;
        right:auto!important;
        width:min(960px,calc(100vw - 48px))!important;
        max-width:960px!important;
        margin:0!important;
        padding:22px 24px!important;
        display:grid!important;
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:0 30px!important;
        background:#fff!important;
        border:1px solid #e6ebf1!important;
        border-radius:12px!important;
        box-shadow:0 16px 36px rgba(15,27,45,.12)!important;
        opacity:0!important;
        visibility:hidden!important;
        transform:translate(-50%,10px)!important;
        transition:opacity .2s ease,transform .2s ease,visibility .2s ease!important;
        overflow:hidden!important;
        z-index:1800!important
    }

    .has-mega:hover>.tour-mega-menu, .has-mega:hover>.destination-mega-menu {
        opacity:1!important;
        visibility:visible!important;
        transform:translate(-50%,0)!important
    }

    /* remove ALL duplicate divider/border styling from groups */
    .mobile-accordion-group, .destination-region, .tour-region {
        margin:0!important;
        padding:0!important;
        border:0!important;
        background:transparent!important
    }

    .mobile-submenu-toggle, .destination-region-toggle {
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        width:100%!important;
        min-height:0!important;
        margin:0 0 10px!important;
        padding:0!important;
        border:0!important;
        background:transparent!important;
        color:#17263b!important;
        font-size:15px!important;
        font-weight:700!important;
        line-height:1.25!important;
        cursor:default!important
    }

    .mobile-submenu-toggle i, .destination-region-toggle i {
        display:none!important
    }

    .mobile-submenu-links, .destination-region-links {
        display:block!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        background:transparent!important
    }

    .mobile-submenu-links a, .destination-region-links a {
        display:flex!important;
        align-items:center!important;
        gap:6px!important;
        padding:6px 0!important;
        border:0!important;
        background:transparent!important;
        color:#5d6878!important;
        font-size:13px!important;
        font-weight:400!important;
        line-height:1.35!important
    }

    .mobile-submenu-links a:not(.mega-more):before, .destination-region-links a:before {
        content:"\f054"!important;
        font-family:"Font Awesome 6 Free"!important;
        font-weight:900!important;
        font-size:8px!important;
        color:#7b8797!important
    }

    .mobile-submenu-links a:hover, .destination-region-links a:hover {
        color:#ef4e43!important
    }

    /* subtle creative tint, one panel only */
    .tour-mega-menu:after {
        content:""!important;
        position:absolute!important;
        right:-80px!important;
        bottom:-100px!important;
        width:300px!important;
        height:220px!important;
        border-radius:50%!important;
        background:radial-gradient(circle,rgba(92,207,226,.18),rgba(255,255,255,0) 70%)!important;
        pointer-events:none!important
    }

}

/* ==========================================================
   MOBILE / SMALL TABLET
========================================================== */
@media(max-width:820px) {
    html,body {
        width:100%!important;
        max-width:100%!important;
        overflow-x:hidden!important
    }

    body.menu-open {
        overflow:hidden!important
    }

    /* sticky top bars */
    .topbar {
        position:fixed!important;
        top:0!important;
        left:0!important;
        right:0!important;
        z-index:3000!important
    }

    .site-header {
        position:fixed!important;
        top:38px!important;
        left:0!important;
        right:0!important;
        z-index:2990!important;
        background:#fff!important
    }

    body {
        padding-top:106px!important
    }

    /* full mobile menu */
    .main-nav {
        position:fixed!important;
        top:106px!important;
        left:0!important;
        right:0!important;
        bottom:0!important;
        width:100%!important;
        max-width:none!important;
        height:calc(100dvh - 106px)!important;
        max-height:none!important;
        margin:0!important;
        padding:8px 16px 18px!important;
        display:block!important;
        background:#fff!important;
        border:0!important;
        box-shadow:none!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        opacity:0!important;
        visibility:hidden!important;
        pointer-events:none!important;
        transform:translateX(100%)!important;
        transition:transform .26s ease,opacity .18s ease,visibility .18s ease!important;
        z-index:2980!important
    }

    .main-nav.open {
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:translateX(0)!important
    }

    /* top-level rows: ONLY one separator */
    .main-nav>a, .main-nav>div>button {
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        min-height:42px!important;
        margin:0!important;
        padding:10px 2px!important;
        border:0!important;
        border-bottom:1px solid #e9edf2!important;
        background:#fff!important;
        color:#17263b!important;
        font-size:13.5px!important;
        font-weight:600!important;
        line-height:1.25!important;
        text-align:left!important
    }

    .main-nav>.has-mega.open>button, .main-nav>.has-drop.open>button {
        color:#ef4e43!important
    }

    /* top-level + / − */
    .main-nav .nav-chevron {
        position:relative!important;
        display:block!important;
        width:18px!important;
        height:18px!important;
        flex:0 0 18px!important;
        border:0!important;
        transform:none!important;
        margin:0!important
    }

    .main-nav .nav-chevron:before, .main-nav .nav-chevron:after {
        content:""!important;
        position:absolute!important;
        left:50%!important;
        top:50%!important;
        background:#607084!important;
        transform:translate(-50%,-50%)!important
    }

    .main-nav .nav-chevron:before {
        width:10px!important;
        height:1.5px!important
    }

    .main-nav .nav-chevron:after {
        width:1.5px!important;
        height:10px!important
    }

    .main-nav>.has-mega.open>button .nav-chevron:after, .main-nav>.has-drop.open>button .nav-chevron:after {
        opacity:0!important
    }

    .main-nav>.has-mega.open>button .nav-chevron:before, .main-nav>.has-drop.open>button .nav-chevron:before {
        background:#ef4e43!important
    }

    /* hide mega until top category opens */
    .main-nav .mega-menu, .main-nav .dropdown {
        position:static!important;
        inset:auto!important;
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:0!important;
        display:none!important;
        opacity:1!important;
        visibility:visible!important;
        transform:none!important;
        border:0!important;
        border-radius:0!important;
        background:#fff!important;
        box-shadow:none!important;
        overflow:visible!important
    }

    .main-nav .has-mega.open>.mega-menu, .main-nav .has-drop.open>.dropdown {
        display:block!important
    }

    /* second level categories: clean rows, no doubled separators */
    .mobile-accordion-group, .destination-region, .tour-region {
        margin:0!important;
        padding:0!important;
        border:0!important;
        background:#fff!important
    }

    .mobile-submenu-toggle, .destination-region-toggle {
        position:relative!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        min-height:40px!important;
        margin:0!important;
        padding:9px 10px!important;
        border:0!important;
        border-bottom:1px solid #edf0f3!important;
        background:#fff!important;
        color:#1f2d40!important;
        font-size:13px!important;
        font-weight:600!important;
        line-height:1.25!important;
        text-align:left!important
    }

    .mobile-submenu-toggle i, .destination-region-toggle i {
        display:none!important
    }

    /* second-level + / − */
    .mobile-submenu-toggle:before, .mobile-submenu-toggle:after, .destination-region-toggle:before, .destination-region-toggle:after {
        content:""!important;
        position:absolute!important;
        right:10px!important;
        top:50%!important;
        background:#68778a!important;
        transform:translateY(-50%)!important
    }

    .mobile-submenu-toggle:before, .destination-region-toggle:before {
        width:10px!important;
        height:1.5px!important
    }

    .mobile-submenu-toggle:after, .destination-region-toggle:after {
        width:1.5px!important;
        height:10px!important;
        right:14.25px!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle, .destination-region.active>.destination-region-toggle {
        color:#ef4e43!important;
        background:#fff7f5!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle:after, .destination-region.active>.destination-region-toggle:after {
        opacity:0!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle:before, .destination-region.active>.destination-region-toggle:before {
        background:#ef4e43!important
    }

    /* third-level links */
    .mobile-submenu-links, .destination-region-links {
        display:none!important;
        margin:0!important;
        padding:3px 10px 8px 18px!important;
        border:0!important;
        background:#fff!important
    }

    .mobile-accordion-group.active>.mobile-submenu-links, .destination-region.active>.destination-region-links {
        display:block!important
    }

    .mobile-submenu-links a, .destination-region-links a {
        display:block!important;
        padding:5px 0!important;
        border:0!important;
        background:transparent!important;
        color:#607084!important;
        font-size:12px!important;
        font-weight:400!important;
        line-height:1.3!important
    }

    .mobile-submenu-links a:hover, .destination-region-links a:hover {
        color:#ef4e43!important
    }

    /* View More Tours plain red text, no box */
    .mobile-submenu-links .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        gap:4px!important;
        width:auto!important;
        min-width:0!important;
        min-height:0!important;
        margin:4px 0 2px!important;
        padding:2px 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#ef4e43!important;
        font-size:10.5px!important;
        font-weight:500!important;
        line-height:1.2!important
    }

    .mobile-submenu-links .mega-more i {
        display:inline-block!important;
        font-size:7px!important;
        color:currentColor!important
    }

    /* dropdown */
    .main-nav .dropdown {
        padding:4px 0 5px 14px!important
    }

    .main-nav .dropdown a {
        display:block!important;
        padding:6px 0!important;
        border:0!important;
        border-bottom:1px solid #f3f5f7!important;
        font-size:12.5px!important;
        font-weight:400!important;
        color:#607084!important
    }

    .main-nav .dropdown a:last-child {
        border-bottom:0!important
    }

    /* Plan CTA */
    .main-nav .mobile-menu-plan {
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:7px!important;
        width:100%!important;
        min-height:42px!important;
        margin:11px 0 0!important;
        padding:10px 14px!important;
        border:0!important;
        border-radius:23px!important;
        background:#ef4e43!important;
        color:#fff!important;
        font-size:13px!important;
        font-weight:700!important;
        box-shadow:0 7px 18px rgba(239,78,67,.16)!important
    }

}

@media(max-width:560px) {
    .topbar {
        height:40px!important
    }

    .site-header {
        top:40px!important
    }

    body {
        padding-top:108px!important
    }

    .main-nav {
        top:108px!important;
        height:calc(100dvh - 108px)!important;
        padding-left:12px!important;
        padding-right:12px!important
    }

}

/* ==========================================================
   FINAL MENU LINK ARROWS + VIEW MORE FIX
   Normal tour links: arrow sits at TOP/first line.
   View More Tours: coral/red, one arrow only, no background.
========================================================== */
/* normal links inside desktop mega menu */
@media(min-width:821px) {
    .mobile-submenu-links a:not(.mega-more), .destination-region-links a:not(.mega-more) {
        display:flex!important;
        align-items:flex-start!important;
        gap:7px!important;
        position:relative!important;
        padding:6px 0!important;
        border:0!important;
        background:transparent!important;
        color:#5d6878!important;
        font-size:13px!important;
        font-weight:400!important;
        line-height:1.35!important
    }

    .mobile-submenu-links a:not(.mega-more):before, .destination-region-links a:not(.mega-more):before {
        content:"\f054"!important;
        font-family:"Font Awesome 6 Free"!important;
        font-weight:900!important;
        font-size:8px!important;
        line-height:1!important;
        color:#7b8797!important;
        flex:0 0 auto!important;
        margin-top:4px!important
    }

    /* one clean red View More link */
    .mega-more, .mobile-submenu-links .mega-more, .destination-region-links .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        gap:5px!important;
        width:auto!important;
        min-width:0!important;
        margin:7px 0 0!important;
        padding:2px 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#ef4e43!important;
        font-size:11.5px!important;
        font-weight:500!important;
        line-height:1.2!important;
        text-decoration:none!important
    }

    .mega-more:before, .mega-more:after, .mobile-submenu-links .mega-more:before, .mobile-submenu-links .mega-more:after, .destination-region-links .mega-more:before, .destination-region-links .mega-more:after {
        content:none!important;
        display:none!important
    }

    .mega-more i, .mobile-submenu-links .mega-more i, .destination-region-links .mega-more i {
        display:inline-block!important;
        font-size:8px!important;
        line-height:1!important;
        color:currentColor!important;
        margin:0!important
    }

    .mega-more:hover, .mobile-submenu-links .mega-more:hover, .destination-region-links .mega-more:hover {
        color:#d9362d!important;
        background:transparent!important
    }

}

/* mobile/tablet: arrow also stays aligned to first/top line */
@media(max-width:820px) {
    .mobile-submenu-links a:not(.mega-more), .destination-region-links a:not(.mega-more) {
        display:flex!important;
        align-items:flex-start!important;
        gap:6px!important;
        padding:5px 0!important;
        border:0!important;
        background:transparent!important;
        color:#607084!important;
        font-size:12px!important;
        font-weight:400!important;
        line-height:1.3!important
    }

    .mobile-submenu-links a:not(.mega-more):before, .destination-region-links a:not(.mega-more):before {
        content:"\f054"!important;
        font-family:"Font Awesome 6 Free"!important;
        font-weight:900!important;
        font-size:7px!important;
        line-height:1!important;
        color:#7b8797!important;
        flex:0 0 auto!important;
        margin-top:4px!important
    }

    .mobile-submenu-links .mega-more, .destination-region-links .mega-more, .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        gap:4px!important;
        width:auto!important;
        min-width:0!important;
        min-height:0!important;
        margin:5px 0 2px!important;
        padding:2px 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#ef4e43!important;
        font-size:10.5px!important;
        font-weight:500!important;
        line-height:1.2!important
    }

    .mobile-submenu-links .mega-more:before, .mobile-submenu-links .mega-more:after, .destination-region-links .mega-more:before, .destination-region-links .mega-more:after, .mega-more:before, .mega-more:after {
        content:none!important;
        display:none!important
    }

    .mobile-submenu-links .mega-more i, .destination-region-links .mega-more i, .mega-more i {
        display:inline-block!important;
        font-size:7px!important;
        line-height:1!important;
        color:currentColor!important;
        margin:0!important
    }

}

/* ==========================================================
   MOBILE DESTINATIONS BOX STYLE
   Compact cards, no bottom divider, cleaner spacing.
========================================================== */
@media(max-width:820px) {
    /* Destinations section itself */
    .destination-mega-menu {
        padding:8px 0 4px!important;
        background:#fff!important
    }

    /* each region becomes a clean compact box */
    .destination-region {
        margin:0 0 8px!important;
        padding:0!important;
        border:0!important;
        background:transparent!important
    }

    .destination-region:last-child {
        margin-bottom:0!important
    }

    /* region heading box */
    .destination-region-toggle {
        min-height:0!important;
        padding:11px 13px!important;
        border:1px solid #e9edf2!important;
        border-radius:8px!important;
        background:#f8fafc!important;
        color:#223146!important;
        font-size:13px!important;
        font-weight:600!important;
        line-height:1.25!important;
        box-shadow:none!important
    }

    /* plus/minus alignment */
    .destination-region-toggle:before, .destination-region-toggle:after {
        right:13px!important;
        background:#6b7788!important
    }

    .destination-region-toggle:after {
        right:17.25px!important
    }

    /* active state */
    .destination-region.active>.destination-region-toggle {
        background:#fff4f1!important;
        border-color:#ffd8d2!important;
        color:#ef4e43!important
    }

    .destination-region.active>.destination-region-toggle:before {
        background:#ef4e43!important
    }

    /* links inside open box */
    .destination-region-links {
        padding:6px 12px 8px 14px!important;
        margin:0!important;
        border:0!important;
        background:#fff!important
    }

    .destination-region-links a {
        padding:5px 0!important;
        border:0!important;
        font-size:12px!important;
        line-height:1.3!important;
        color:#617084!important
    }

    .destination-region-links a:hover {
        color:#ef4e43!important
    }

    /* remove separators around this destination group */
    .destination-mega-menu .destination-region, .destination-mega-menu .destination-region-toggle, .destination-mega-menu .destination-region-links {
        border-bottom:0!important
    }

}

/* small phone */
@media(max-width:560px) {
    .destination-mega-menu {
        padding-top:6px!important
    }

    .destination-region {
        margin-bottom:7px!important
    }

    .destination-region-toggle {
        padding:10px 12px!important;
        font-size:12.5px!important
    }

    .destination-region-links {
        padding:5px 11px 7px 13px!important
    }

    .destination-region-links a {
        font-size:11.8px!important
    }

}

/* ==========================================================
   FINAL MOBILE TOUR-PACKAGES BOX STYLE
   Same compact card treatment as Destinations.
   Open links stay INSIDE the same box, with very little spacing.
========================================================== */
@media(max-width:820px) {
    /* Tour Packages inner area */
    .tour-mega-menu {
        padding:7px 0 4px!important;
        background:#fff!important
    }

    /* Each tour category is one compact box */
    .tour-mega-menu .tour-region, .tour-mega-menu .mobile-accordion-group {
        margin:0 0 7px!important;
        padding:0!important;
        border:1px solid #e8edf2!important;
        border-radius:8px!important;
        background:#f8fafc!important;
        overflow:hidden!important
    }

    .tour-mega-menu .tour-region:last-child, .tour-mega-menu .mobile-accordion-group:last-child {
        margin-bottom:0!important
    }

    /* Category heading */
    .tour-mega-menu .mobile-submenu-toggle {
        min-height:0!important;
        padding:10px 12px!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        color:#223146!important;
        font-size:12.8px!important;
        font-weight:600!important;
        line-height:1.2!important
    }

    /* + / - */
    .tour-mega-menu .mobile-submenu-toggle:before, .tour-mega-menu .mobile-submenu-toggle:after {
        right:12px!important;
        background:#697789!important
    }

    .tour-mega-menu .mobile-submenu-toggle:after {
        right:16.25px!important
    }

    /* Active/open category stays the SAME box */
    .tour-mega-menu .mobile-accordion-group.active, .tour-mega-menu .tour-region.active {
        background:#fff7f5!important;
        border-color:#ffd7d1!important
    }

    .tour-mega-menu .mobile-accordion-group.active>.mobile-submenu-toggle, .tour-mega-menu .tour-region.active>.mobile-submenu-toggle {
        background:transparent!important;
        color:#ef4e43!important
    }

    .tour-mega-menu .mobile-accordion-group.active>.mobile-submenu-toggle:before, .tour-mega-menu .tour-region.active>.mobile-submenu-toggle:before {
        background:#ef4e43!important
    }

    /* Open links remain visually INSIDE the same card */
    .tour-mega-menu .mobile-submenu-links {
        display:none!important;
        margin:0!important;
        padding:0 12px 8px 12px!important;
        border:0!important;
        background:transparent!important
    }

    .tour-mega-menu .mobile-accordion-group.active>.mobile-submenu-links, .tour-mega-menu .tour-region.active>.mobile-submenu-links {
        display:block!important
    }

    /* Compact tour links */
    .tour-mega-menu .mobile-submenu-links a:not(.mega-more) {
        display:flex!important;
        align-items:flex-start!important;
        gap:5px!important;
        padding:4px 0!important;
        border:0!important;
        background:transparent!important;
        color:#5f6d7e!important;
        font-size:11.6px!important;
        font-weight:400!important;
        line-height:1.28!important
    }

    /* Tiny top-aligned arrow on each tour */
    .tour-mega-menu .mobile-submenu-links a:not(.mega-more):before {
        content:"\f054"!important;
        font-family:"Font Awesome 6 Free"!important;
        font-weight:900!important;
        font-size:6.5px!important;
        line-height:1!important;
        color:#8894a3!important;
        margin-top:4px!important;
        flex:0 0 auto!important
    }

    /* View More Tours remains simple red text */
    .tour-mega-menu .mobile-submenu-links .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        gap:4px!important;
        width:auto!important;
        margin:4px 0 1px!important;
        padding:2px 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#ef4e43!important;
        font-size:10px!important;
        font-weight:500!important;
        line-height:1.15!important
    }

    .tour-mega-menu .mobile-submenu-links .mega-more i {
        display:inline-block!important;
        font-size:6.5px!important;
        color:currentColor!important
    }

    /* Remove old separators inside Tour Packages */
    .tour-mega-menu .tour-region, .tour-mega-menu .mobile-accordion-group, .tour-mega-menu .mobile-submenu-toggle, .tour-mega-menu .mobile-submenu-links {
        border-bottom:0!important
    }

}

/* Small phones */
@media(max-width:560px) {
    .tour-mega-menu {
        padding-top:6px!important
    }

    .tour-mega-menu .tour-region, .tour-mega-menu .mobile-accordion-group {
        margin-bottom:6px!important;
        border-radius:7px!important
    }

    .tour-mega-menu .mobile-submenu-toggle {
        padding:9px 11px!important;
        font-size:12.4px!important
    }

    .tour-mega-menu .mobile-submenu-links {
        padding:0 11px 7px!important
    }

    .tour-mega-menu .mobile-submenu-links a:not(.mega-more) {
        font-size:11.3px!important;
        padding:3.5px 0!important
    }

}

/* ==========================================================
   FINAL EXACT MOBILE TOUR MENU STYLE
   Matches reference:
   - NO outer box/border around opened group
   - Only active heading gets soft pink background
   - Links open directly below on white background
   - No separators inside opened links
   - View More Tours plain coral link with one small arrow
   - Same View More styling on desktop
========================================================== */
/* ---------- DESKTOP VIEW MORE ---------- */
@media(min-width:821px) {
    .mega-more, .mobile-submenu-links .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        gap:5px!important;
        width:auto!important;
        min-width:0!important;
        margin:7px 0 0!important;
        padding:2px 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#ef4e43!important;
        font-size:11.5px!important;
        font-weight:500!important;
        line-height:1.2!important;
        text-decoration:none!important
    }

    .mega-more:before, .mega-more:after, .mobile-submenu-links .mega-more:before, .mobile-submenu-links .mega-more:after {
        content:none!important;
        display:none!important
    }

    .mega-more i, .mobile-submenu-links .mega-more i {
        display:inline-block!important;
        font-size:7.5px!important;
        line-height:1!important;
        color:currentColor!important;
        margin:0!important
    }

    .mega-more:hover, .mobile-submenu-links .mega-more:hover {
        color:#d53a31!important;
        background:transparent!important
    }

}

/* ---------- MOBILE TOUR PACKAGES ---------- */
@media(max-width:820px) {
    /* Remove card/outer-box treatment completely */
    .tour-mega-menu {
        padding:6px 0 2px!important;
        background:#fff!important
    }

    .tour-mega-menu .tour-region, .tour-mega-menu .mobile-accordion-group {
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:#fff!important;
        overflow:visible!important;
        box-shadow:none!important
    }

    /* Category heading row */
    .tour-mega-menu .mobile-submenu-toggle {
        min-height:40px!important;
        margin:0!important;
        padding:10px 12px!important;
        border:0!important;
        border-bottom:1px solid #edf0f3!important;
        border-radius:0!important;
        background:#fff!important;
        color:#1d2a3b!important;
        font-size:13px!important;
        font-weight:600!important;
        line-height:1.25!important
    }

    /* Active heading only gets soft pink background */
    .tour-mega-menu .mobile-accordion-group.active>.mobile-submenu-toggle, .tour-mega-menu .tour-region.active>.mobile-submenu-toggle {
        background:#fff3f1!important;
        color:#1d2a3b!important;
        border-bottom:0!important
    }

    /* + / - */
    .tour-mega-menu .mobile-submenu-toggle:before, .tour-mega-menu .mobile-submenu-toggle:after {
        right:12px!important;
        background:#697789!important
    }

    .tour-mega-menu .mobile-submenu-toggle:after {
        right:16.25px!important
    }

    .tour-mega-menu .mobile-accordion-group.active>.mobile-submenu-toggle:before, .tour-mega-menu .tour-region.active>.mobile-submenu-toggle:before {
        background:#697789!important
    }

    /* Links open directly under the active row */
    .tour-mega-menu .mobile-submenu-links {
        display:none!important;
        margin:0!important;
        padding:6px 12px 8px 15px!important;
        border:0!important;
        background:#fff!important;
        box-shadow:none!important
    }

    .tour-mega-menu .mobile-accordion-group.active>.mobile-submenu-links, .tour-mega-menu .tour-region.active>.mobile-submenu-links {
        display:block!important
    }

    /* Plain tour links, no borders */
    .tour-mega-menu .mobile-submenu-links a:not(.mega-more) {
        display:flex!important;
        align-items:flex-start!important;
        gap:6px!important;
        margin:0!important;
        padding:4px 0!important;
        border:0!important;
        background:transparent!important;
        color:#667487!important;
        font-size:12px!important;
        font-weight:400!important;
        line-height:1.35!important;
        text-decoration:none!important
    }

    /* One tiny top-aligned chevron */
    .tour-mega-menu .mobile-submenu-links a:not(.mega-more):before {
        content:"\f054"!important;
        font-family:"Font Awesome 6 Free"!important;
        font-weight:900!important;
        font-size:6.5px!important;
        line-height:1!important;
        color:#8a95a4!important;
        margin-top:4px!important;
        flex:0 0 auto!important
    }

    /* View More Tours like screenshot */
    .tour-mega-menu .mobile-submenu-links .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        gap:4px!important;
        width:auto!important;
        min-width:0!important;
        min-height:0!important;
        margin:4px 0 1px!important;
        padding:2px 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#ef4e43!important;
        font-size:11px!important;
        font-weight:500!important;
        line-height:1.2!important;
        text-decoration:none!important
    }

    .tour-mega-menu .mobile-submenu-links .mega-more:before, .tour-mega-menu .mobile-submenu-links .mega-more:after {
        content:none!important;
        display:none!important
    }

    .tour-mega-menu .mobile-submenu-links .mega-more i {
        display:inline-block!important;
        font-size:7px!important;
        line-height:1!important;
        color:currentColor!important;
        margin:0!important
    }

    .tour-mega-menu .mobile-submenu-links .mega-more:hover {
        color:#d53a31!important;
        background:transparent!important
    }

}

/* ---------- SMALL PHONE ---------- */
@media(max-width:560px) {
    .tour-mega-menu {
        padding-top:5px!important
    }

    .tour-mega-menu .mobile-submenu-toggle {
        min-height:38px!important;
        padding:9px 11px!important;
        font-size:12.5px!important
    }

    .tour-mega-menu .mobile-submenu-links {
        padding:5px 11px 7px 14px!important
    }

    .tour-mega-menu .mobile-submenu-links a:not(.mega-more) {
        font-size:11.7px!important;
        padding:3.5px 0!important
    }

    .tour-mega-menu .mobile-submenu-links .mega-more {
        font-size:10.5px!important
    }

}

/* ==========================================================
   BLOG / TRAVEL GUIDE SECTION — REFERENCE MATCH
   Large feature card + two side cards, larger typography,
   balanced desktop/tablet/mobile layout.
========================================================== */
#guides, .guides {
    background:#fff!important;
    padding-top:62px!important;
    padding-bottom:62px!important
}

.guides .container-xl {
    max-width:1280px!important
}

.guides .section-head {
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:20px!important;
    margin-bottom:28px!important
}

.guides .mini-label {
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    padding:5px 11px!important;
    border-radius:20px!important;
    background:#fff0ed!important;
    color:#ef4e43!important;
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:.04em!important;
    text-transform:none!important;
    line-height:1.15!important
}

.guides .mini-label:before {
    content:""!important;
    width:7px!important;
    height:7px!important;
    border-radius:50%!important;
    background:#ef4e43!important;
    flex:0 0 7px!important
}

.guides .section-head h2 {
    margin:8px 0 0!important;
    font-size:34px!important;
    line-height:1.16!important;
    font-weight:700!important;
    letter-spacing:-.45px!important;
    color:#0f1b2d!important
}

.guides .section-head .pill-link, .guides .guide-all-link {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:11px 17px!important;
    border-radius:24px!important;
    background:#17283f!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:700!important;
    white-space:nowrap!important;
    box-shadow:none!important
}

.guides .section-head .pill-link:hover, .guides .guide-all-link:hover {
    background:#ef4e43!important;
    color:#fff!important
}

/* Main grid */
.guides .guide-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1.02fr) minmax(0,1fr)!important;
    gap:24px!important;
    align-items:stretch!important
}

/* shared card */
.guide-feature, .guide-side article {
    border:1px solid #dfe5ec!important;
    border-radius:10px!important;
    background:#fff!important;
    overflow:hidden!important;
    box-shadow:none!important
}

/* left feature card */
.guide-feature {
    display:flex!important;
    flex-direction:column!important;
    height:100%!important
}

.guide-feature img {
    display:block!important;
    width:100%!important;
    height:330px!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important
}

.guide-feature>div {
    display:flex!important;
    flex-direction:column!important;
    flex:1!important;
    padding:18px 20px!important
}

.guide-feature>div>span {
    display:inline-flex!important;
    align-self:flex-start!important;
    padding:4px 8px!important;
    border-radius:4px!important;
    background:#ef4e43!important;
    color:#fff!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1.1!important
}

.guide-feature h3 {
    margin:12px 0 8px!important;
    font-size:20px!important;
    line-height:1.32!important;
    font-weight:700!important;
    color:#101a2b!important
}

.guide-feature p {
    margin:0!important;
    font-size:15px!important;
    line-height:1.62!important;
    color:#5f6b7b!important
}

/* right cards */
.guide-side {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important
}

.guide-side article {
    display:grid!important;
    grid-template-columns:48% 52%!important;
    min-height:242px!important
}

.guide-side article>img {
    width:100%!important;
    height:100%!important;
    min-height:242px!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important
}

.guide-side article>div {
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    padding:18px 20px!important
}

.guide-side article>div>span {
    display:inline-flex!important;
    align-self:flex-start!important;
    padding:4px 8px!important;
    border-radius:4px!important;
    background:#ef4e43!important;
    color:#fff!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1.1!important
}

.guide-side h3 {
    margin:11px 0 8px!important;
    font-size:18px!important;
    line-height:1.32!important;
    font-weight:700!important;
    color:#101a2b!important
}

.guide-side p {
    margin:0!important;
    font-size:14.5px!important;
    line-height:1.58!important;
    color:#5f6b7b!important
}

/* meta */
.guide-meta {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    flex-wrap:wrap!important;
    margin-top:auto!important;
    padding-top:18px!important;
    font-size:13px!important;
    line-height:1.25!important;
    color:#263246!important
}

.guide-meta span {
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important
}

.guide-meta i {
    font-size:12px!important;
    color:#263246!important
}

/* tablet */
@media(max-width:991.98px) {
    #guides,.guides {
        padding-top:54px!important;
        padding-bottom:54px!important
    }

    .guides .section-head h2 {
        font-size:30px!important
    }

    .guides .guide-grid {
        grid-template-columns:1fr!important;
        gap:18px!important
    }

    .guide-feature img {
        height:300px!important
    }

    .guide-side {
        grid-template-columns:1fr 1fr!important;
        gap:16px!important
    }

    .guide-side article {
        grid-template-columns:1fr!important;
        min-height:0!important
    }

    .guide-side article>img {
        height:220px!important;
        min-height:0!important;
        aspect-ratio:auto!important
    }

    .guide-side article>div {
        padding:16px!important
    }

    .guide-side h3 {
        font-size:17px!important
    }

}

/* mobile */
@media(max-width:767.98px) {
    #guides,.guides {
        padding-top:46px!important;
        padding-bottom:46px!important
    }

    .guides .section-head {
        align-items:flex-start!important;
        gap:14px!important;
        margin-bottom:20px!important
    }

    .guides .section-head h2 {
        font-size:27px!important;
        line-height:1.18!important
    }

    .guides .section-head .pill-link, .guides .guide-all-link {
        padding:9px 13px!important;
        font-size:11px!important
    }

    .guide-feature img {
        height:230px!important
    }

    .guide-feature>div {
        padding:15px!important
    }

    .guide-feature h3 {
        font-size:18px!important
    }

    .guide-feature p {
        font-size:14px!important
    }

    .guide-side {
        grid-template-columns:1fr!important;
        gap:14px!important
    }

    .guide-side article {
        grid-template-columns:1fr!important
    }

    .guide-side article>img {
        height:210px!important
    }

    .guide-side article>div {
        padding:15px!important
    }

    .guide-side h3 {
        font-size:17px!important
    }

    .guide-side p {
        font-size:14px!important
    }

    .guide-meta {
        font-size:12px!important;
        padding-top:14px!important
    }

}

/* small phone */
@media(max-width:480px) {
    .guides .section-head {
        display:block!important
    }

    .guides .section-head .pill-link, .guides .guide-all-link {
        margin-top:12px!important
    }

    .guide-feature img {
        height:205px!important
    }

    .guide-side article>img {
        height:195px!important
    }

}

/* ==========================================================
   FOOTER FINAL POLISH
   Slightly larger fonts, better logo spacing, cleaner mobile layout.
========================================================== */
.footer {
    background:#0f1b2d!important;
    color:#c8d0dc!important
}

.footer-top {
    display:grid!important;
    grid-template-columns:1.3fr .9fr .9fr!important;
    gap:42px!important;
    padding:52px 0 32px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important
}

.footer-brand {
    min-width:0!important
}

.footer-brand img {
    display:block!important;
    width:190px!important;
    max-width:100%!important;
    height:auto!important;
    margin:0 0 18px!important;
    padding:0!important;
    background:transparent!important;
    border-radius:0!important
}

.footer-brand p {
    margin:0!important;
    max-width:360px!important;
    font-size:14px!important;
    line-height:1.7!important;
    color:#aeb8c5!important
}

.footer-top h3, .footer-links h4 {
    margin:0 0 13px!important;
    font-size:15px!important;
    line-height:1.3!important;
    font-weight:700!important;
    color:#fff!important
}

.footer-top>div:nth-child(2) a, .footer-top>div:nth-child(2) span {
    display:flex!important;
    align-items:flex-start!important;
    gap:7px!important;
    margin:8px 0!important;
    font-size:13.5px!important;
    line-height:1.45!important;
    color:#aeb8c5!important
}

.footer-top a:hover {
    color:#fff!important
}

.socials {
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    margin-top:12px!important
}

.socials a {
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #536071!important;
    border-radius:50%!important;
    color:#fff!important;
    font-size:12px!important;
    transition:.2s ease!important
}

.socials a:hover {
    background:#ef4e43!important;
    border-color:#ef4e43!important;
    transform:translateY(-2px)!important
}

.footer-links {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:34px!important;
    padding:30px 0!important
}

.footer-links a {
    display:block!important;
    margin:7px 0!important;
    font-size:13.5px!important;
    line-height:1.45!important;
    color:#9eabb9!important
}

.footer-links a:hover {
    color:#fff!important;
    padding-left:2px!important
}

.copyright {
    border-top:1px solid rgba(255,255,255,.08)!important;
    padding:18px 0 22px!important;
    font-size:12px!important;
    line-height:1.5!important;
    color:#7f8a98!important
}

/* tablet */
@media(max-width:991.98px) {
    .footer-top {
        grid-template-columns:1fr 1fr!important;
        gap:30px!important;
        padding-top:44px!important
    }

    .footer-brand {
        grid-column:1/-1!important
    }

    .footer-brand img {
        width:180px!important;
        margin-bottom:16px!important
    }

    .footer-brand p {
        max-width:520px!important;
        font-size:13.5px!important
    }

    .footer-links {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:26px 30px!important
    }

}

/* mobile */
@media(max-width:767.98px) {
    .footer-top {
        grid-template-columns:1fr!important;
        gap:24px!important;
        padding:38px 0 24px!important
    }

    .footer-brand {
        grid-column:auto!important
    }

    .footer-brand img {
        width:170px!important;
        margin-bottom:14px!important
    }

    .footer-brand p {
        font-size:13px!important;
        line-height:1.65!important
    }

    .footer-top h3, .footer-links h4 {
        font-size:14px!important;
        margin-bottom:10px!important
    }

    .footer-top>div:nth-child(2) a, .footer-top>div:nth-child(2) span {
        font-size:13px!important;
        margin:7px 0!important
    }

    .footer-links {
        grid-template-columns:1fr 1fr!important;
        gap:22px!important;
        padding:24px 0!important
    }

    .footer-links a {
        font-size:13px!important;
        margin:6px 0!important
    }

    .copyright {
        padding:16px 0 20px!important;
        font-size:11.5px!important
    }

}

/* small mobile */
@media(max-width:480px) {
    .footer-brand img {
        width:160px!important;
        margin-bottom:13px!important
    }

    .footer-links {
        grid-template-columns:1fr!important;
        gap:18px!important
    }

    .socials a {
        width:29px!important;
        height:29px!important
    }

}

/* ==========================================================
   FINAL UNIFIED MOBILE MEGA MENU
   Tour Packages + Destinations use the SAME exact accordion style.
   View More Tours exists ONLY under Tour Packages.
========================================================== */
@media(max-width:820px) {
    /* Both mega menus use identical spacing */
    .tour-mega-menu, .destination-mega-menu {
        padding:6px 0 2px!important;
        margin:0!important;
        background:#fff!important
    }

    /* Every second-level group looks exactly the same */
    .tour-mega-menu .mobile-accordion-group, .destination-mega-menu .mobile-accordion-group {
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:#fff!important;
        overflow:visible!important;
        box-shadow:none!important
    }

    /* Heading row: same in both menus */
    .tour-mega-menu .mobile-submenu-toggle, .destination-mega-menu .mobile-submenu-toggle {
        position:relative!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        min-height:40px!important;
        margin:0!important;
        padding:10px 12px!important;
        border:0!important;
        border-bottom:1px solid #edf0f3!important;
        border-radius:0!important;
        background:#fff!important;
        color:#1d2a3b!important;
        font-size:13px!important;
        font-weight:600!important;
        line-height:1.25!important;
        text-align:left!important
    }

    /* Same plus / minus system */
    .tour-mega-menu .mobile-submenu-toggle i, .destination-mega-menu .mobile-submenu-toggle i {
        display:none!important
    }

    .tour-mega-menu .mobile-submenu-toggle:before, .tour-mega-menu .mobile-submenu-toggle:after, .destination-mega-menu .mobile-submenu-toggle:before, .destination-mega-menu .mobile-submenu-toggle:after {
        content:""!important;
        position:absolute!important;
        top:50%!important;
        background:#697789!important;
        transform:translateY(-50%)!important
    }

    .tour-mega-menu .mobile-submenu-toggle:before, .destination-mega-menu .mobile-submenu-toggle:before {
        right:12px!important;
        width:10px!important;
        height:1.5px!important
    }

    .tour-mega-menu .mobile-submenu-toggle:after, .destination-mega-menu .mobile-submenu-toggle:after {
        right:16.25px!important;
        width:1.5px!important;
        height:10px!important
    }

    /* Active/open heading: same soft coral row */
    .tour-mega-menu .mobile-accordion-group.active>.mobile-submenu-toggle, .destination-mega-menu .mobile-accordion-group.active>.mobile-submenu-toggle {
        background:#fff3f1!important;
        color:#1d2a3b!important;
        border-bottom:0!important
    }

    .tour-mega-menu .mobile-accordion-group.active>.mobile-submenu-toggle:after, .destination-mega-menu .mobile-accordion-group.active>.mobile-submenu-toggle:after {
        opacity:0!important
    }

    /* Open links: identical structure */
    .tour-mega-menu .mobile-submenu-links, .destination-mega-menu .mobile-submenu-links {
        display:none!important;
        margin:0!important;
        padding:6px 12px 8px 15px!important;
        border:0!important;
        background:#fff!important;
        box-shadow:none!important
    }

    .tour-mega-menu .mobile-accordion-group.active>.mobile-submenu-links, .destination-mega-menu .mobile-accordion-group.active>.mobile-submenu-links {
        display:block!important
    }

    /* Normal nested links: same size/spacing/arrow */
    .tour-mega-menu .mobile-submenu-links a:not(.mega-more), .destination-mega-menu .mobile-submenu-links a {
        display:flex!important;
        align-items:flex-start!important;
        gap:6px!important;
        margin:0!important;
        padding:4px 0!important;
        border:0!important;
        background:transparent!important;
        color:#667487!important;
        font-size:12px!important;
        font-weight:400!important;
        line-height:1.35!important;
        text-decoration:none!important
    }

    .tour-mega-menu .mobile-submenu-links a:not(.mega-more):before, .destination-mega-menu .mobile-submenu-links a:before {
        content:"\f054"!important;
        font-family:"Font Awesome 6 Free"!important;
        font-weight:900!important;
        font-size:6.5px!important;
        line-height:1!important;
        color:#8a95a4!important;
        margin-top:4px!important;
        flex:0 0 auto!important
    }

    /* View More Tours ONLY inside Tour Packages */
    .tour-mega-menu .mobile-submenu-links .mega-more {
        display:inline-flex!important;
        align-items:center!important;
        gap:4px!important;
        width:auto!important;
        min-width:0!important;
        min-height:0!important;
        margin:4px 0 1px!important;
        padding:2px 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#ef4e43!important;
        font-size:10.5px!important;
        font-weight:500!important;
        line-height:1.2!important;
        text-decoration:none!important
    }

    .tour-mega-menu .mobile-submenu-links .mega-more:before, .tour-mega-menu .mobile-submenu-links .mega-more:after {
        content:none!important;
        display:none!important
    }

    .tour-mega-menu .mobile-submenu-links .mega-more i {
        display:inline-block!important;
        font-size:7px!important;
        line-height:1!important;
        color:currentColor!important;
        margin:0!important
    }

    /* Destinations must never show View More */
    .destination-mega-menu .mega-more {
        display:none!important
    }

    /* Remove old special box/card styling from Destinations */
    .destination-mega-menu .destination-region, .destination-mega-menu .destination-region-toggle, .destination-mega-menu .destination-region-links {
        border-radius:0!important;
        box-shadow:none!important
    }

}

/* Small phones: both menus remain identical */
@media(max-width:560px) {
    .tour-mega-menu, .destination-mega-menu {
        padding-top:5px!important
    }

    .tour-mega-menu .mobile-submenu-toggle, .destination-mega-menu .mobile-submenu-toggle {
        min-height:38px!important;
        padding:9px 11px!important;
        font-size:12.5px!important
    }

    .tour-mega-menu .mobile-submenu-links, .destination-mega-menu .mobile-submenu-links {
        padding:5px 11px 7px 14px!important
    }

    .tour-mega-menu .mobile-submenu-links a:not(.mega-more), .destination-mega-menu .mobile-submenu-links a {
        font-size:11.7px!important;
        padding:3.5px 0!important
    }

    .tour-mega-menu .mobile-submenu-links .mega-more {
        font-size:10.25px!important
    }

}

/* ==========================================================
   ABOUT US PAGE
========================================================== */
/* reusable inner banner for all inner pages */
.inner-hero {
    position:relative;
    min-height:330px;
    display:flex;
    align-items:center;
    background-image:var(--inner-bg);
    background-size:cover;
    background-position:center;
    overflow:hidden
}

.inner-hero-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(10,20,34,.78),rgba(10,20,34,.40) 58%,rgba(10,20,34,.18))
}

.inner-hero-content {
    position:relative;
    z-index:2;
    color:#fff
}

.inner-hero-label {
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:5px 11px;
    border-radius:20px;
    background:#ef4e43;
    font-size:11px;
    font-weight:700;
    letter-spacing:.03em
}

.inner-hero h1 {
    margin:12px 0 10px;
    font-size:46px;
    line-height:1.08;
    font-weight:700
}

.inner-breadcrumb {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:rgba(255,255,255,.9)
}

.inner-breadcrumb a {
    color:#fff
}

.inner-breadcrumb i {
    font-size:8px
}

/* about details */
.about-page-intro {
    background:#fff
}

.about-page-media {
    position:relative;
    min-height:500px;
    padding:24px 56px 36px 0
}

.about-main-image {
    height:450px;
    border-radius:18px;
    overflow:hidden
}

.about-main-image img, .about-small-image img {
    width:100%;
    height:100%;
    object-fit:cover
}

.about-small-image {
    position:absolute;
    right:0;
    bottom:0;
    width:220px;
    height:180px;
    border:8px solid #fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 12px 28px rgba(15,27,45,.12)
}

.about-experience-badge {
    position:absolute;
    left:24px;
    bottom:8px;
    display:flex;
    align-items:center;
    gap:10px;
    max-width:230px;
    padding:14px 16px;
    border-radius:12px;
    background:#fff;
    box-shadow:0 10px 26px rgba(15,27,45,.12)
}

.about-experience-badge strong {
    font-size:30px;
    line-height:1;
    color:#ef4e43
}

.about-experience-badge span {
    font-size:12px;
    line-height:1.35;
    font-weight:600;
    color:#17263b
}

.about-page-copy h2 {
    margin:8px 0 16px;
    font-size:35px;
    line-height:1.18;
    color:#102039
}

.about-page-copy>p {
    margin:0 0 13px;
    font-size:15px;
    line-height:1.72;
    color:#5f6b7b
}

.about-page-points {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 18px;
    margin:24px 0
}

.about-page-points>div {
    display:flex;
    align-items:flex-start;
    gap:11px
}

.about-page-points i {
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff0ed;
    color:#ef4e43;
    font-size:13px
}

.about-page-points strong, .about-page-points small {
    display:block
}

.about-page-points strong {
    font-size:14px;
    color:#17263b
}

.about-page-points small {
    margin-top:2px;
    font-size:12px;
    line-height:1.45;
    color:#6a7585
}

.about-page-actions {
    display:flex;
    gap:10px;
    flex-wrap:wrap
}

.about-outline {
    background:#fff;
    color:#102039;
    border:1px solid #dfe5eb
}

.about-outline:hover {
    background:#102039;
    color:#fff
}

/* about-page section rhythm */
#how-it-works {
    background:#fff5f3!important
}

#journey-services {
    background:#f7f9fc!important
}

#reviews {
    background:#fff!important
}

@media(max-width:991.98px) {
    .inner-hero {
        min-height:285px
    }

    .inner-hero h1 {
        font-size:40px
    }

    .about-page-media {
        min-height:440px;
        padding-right:45px
    }

    .about-main-image {
        height:390px
    }

    .about-small-image {
        width:190px;
        height:155px
    }

    .about-page-copy h2 {
        font-size:31px
    }

}

@media(max-width:767.98px) {
    .inner-hero {
        min-height:245px
    }

    .inner-hero h1 {
        font-size:34px
    }

    .about-page-media {
        min-height:0;
        padding:0 0 52px
    }

    .about-main-image {
        height:auto;
        aspect-ratio:4/3
    }

    .about-small-image {
        right:8px;
        bottom:0;
        width:145px;
        height:118px;
        border-width:6px
    }

    .about-experience-badge {
        left:12px;
        bottom:4px;
        max-width:205px;
        padding:11px 13px
    }

    .about-experience-badge strong {
        font-size:25px
    }

    .about-page-copy h2 {
        font-size:28px
    }

    .about-page-points {
        grid-template-columns:1fr
    }

}

@media(max-width:480px) {
    .inner-hero {
        min-height:220px
    }

    .inner-hero h1 {
        font-size:30px
    }

    .inner-breadcrumb {
        font-size:12px
    }

    .about-main-image {
        border-radius:14px
    }

    .about-small-image {
        width:125px;
        height:100px
    }

    .about-experience-badge {
        max-width:185px;
        padding:10px 11px
    }

    .about-experience-badge strong {
        font-size:23px
    }

    .about-page-copy h2 {
        font-size:26px
    }

}

/* ==========================================================
   ABOUT INNER HERO — FINAL
   Banner image comes directly from HTML:
   style="background-image:url('../images/hero-2.jpg')!important;"
========================================================== */
.inner-hero {
    position:relative!important;
    min-height:330px!important;
    display:flex!important;
    align-items:center!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    overflow:hidden!important
}

.inner-hero-overlay {
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    background:linear-gradient(90deg,rgba(10,20,34,.74),rgba(10,20,34,.40) 58%,rgba(10,20,34,.18))!important
}

.inner-hero-content {
    position:relative!important;
    z-index:2!important;
    color:#fff!important
}

.about-main-image img, .about-small-image img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important
}

@media(max-width:991.98px) {
    .inner-hero {
        min-height:285px!important
    }

}

@media(max-width:767.98px) {
    .inner-hero {
        min-height:245px!important;
        background-position:center!important
    }

}

@media(max-width:480px) {
    .inner-hero {
        min-height:220px!important
    }

}

/* ==========================================================
   UNIVERSAL FOOTER WIDTH FIX
   Use this same stylesheet on Home, About and all inner pages.
========================================================== */
.footer {
    position:relative!important;
    display:block!important;
    clear:both!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:0!important;
    background:#0f1b2d!important;
    color:#c8d0dc!important;
    overflow:hidden!important
}

/* Bootstrap .container-xl must never make the footer background/content look cut */
.footer>.container-xl {
    width:100%!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:24px!important;
    padding-right:24px!important
}

.footer-top {
    display:grid!important;
    grid-template-columns:1.25fr .9fr .9fr!important;
    gap:40px!important;
    padding-top:48px!important;
    padding-bottom:30px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important
}

.footer-brand img {
    display:block!important;
    width:185px!important;
    height:auto!important;
    max-width:100%!important;
    margin:0 0 18px!important
}

.footer-brand p {
    max-width:370px!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.7!important;
    color:#aeb8c5!important
}

.footer-top h3, .footer-links h4 {
    margin:0 0 12px!important;
    font-size:15px!important;
    line-height:1.3!important;
    font-weight:700!important;
    color:#fff!important
}

.footer-top a, .footer-top span, .footer-links a {
    font-size:13.5px!important;
    line-height:1.5!important
}

.footer-links {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:32px!important;
    padding-top:28px!important;
    padding-bottom:28px!important
}

.footer-links a {
    display:block!important;
    margin:6px 0!important;
    color:#9eabb9!important
}

.footer-links a:hover, .footer-top a:hover {
    color:#fff!important
}

.copyright {
    width:100%!important;
    max-width:1280px!important;
    margin:0 auto!important;
    padding:17px 24px 21px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    font-size:12px!important;
    line-height:1.5!important;
    color:#7f8a98!important
}

/* Tablet */
@media(max-width:991.98px) {
    .footer>.container-xl {
        max-width:none!important;
        padding-left:20px!important;
        padding-right:20px!important
    }

    .footer-top {
        grid-template-columns:1fr 1fr!important;
        gap:28px!important;
        padding-top:42px!important
    }

    .footer-brand {
        grid-column:1/-1!important
    }

    .footer-links {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:24px 28px!important
    }

    .copyright {
        max-width:none!important;
        padding-left:20px!important;
        padding-right:20px!important
    }

}

/* Mobile */
@media(max-width:767.98px) {
    .footer {
        width:100vw!important;
        max-width:100vw!important
    }

    .footer>.container-xl {
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding-left:16px!important;
        padding-right:16px!important
    }

    .footer-top {
        grid-template-columns:1fr!important;
        gap:22px!important;
        padding-top:34px!important;
        padding-bottom:22px!important
    }

    .footer-brand {
        grid-column:auto!important;
        width:100%!important
    }

    .footer-brand img {
        width:165px!important;
        margin-bottom:14px!important
    }

    .footer-brand p {
        max-width:100%!important;
        font-size:13px!important
    }

    .footer-top h3, .footer-links h4 {
        font-size:14px!important
    }

    .footer-top a, .footer-top span, .footer-links a {
        font-size:13px!important
    }

    .footer-links {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:20px!important;
        padding-top:22px!important;
        padding-bottom:22px!important
    }

    .copyright {
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:15px 16px 19px!important;
        font-size:11.5px!important
    }

}

/* Small mobile */
@media(max-width:480px) {
    .footer>.container-xl {
        padding-left:14px!important;
        padding-right:14px!important
    }

    .footer-top {
        gap:20px!important
    }

    .footer-brand img {
        width:155px!important
    }

    .footer-links {
        grid-template-columns:1fr!important;
        gap:17px!important
    }

    .copyright {
        padding-left:14px!important;
        padding-right:14px!important
    }

}

/* ==========================================================
   TESTIMONIAL CARDS — VISIBLE BORDER FINAL
========================================================== */
.testimonials .testimonial-card, .testimonial-slider .testimonial-card {
    background:#fff!important;
    border:1px solid #d7dee8!important;
    border-radius:12px!important;
    padding:24px!important;
    box-shadow:0 6px 22px rgba(15,27,45,.06)!important;
    transition:box-shadow .25s ease,transform .25s ease!important;
    overflow:hidden!important
}

.testimonials .testimonial-card:hover, .testimonial-slider .testimonial-card:hover {
    border:1px solid #d7dee8!important;
    border-color:#d7dee8!important;
    box-shadow:0 10px 28px rgba(15,27,45,.10)!important;
    transform:translateY(-2px)
}

.testimonial-card .stars {
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    color:#ffb000!important;
    margin:0 0 8px!important
}

.testimonial-card .stars i {
    font-size:14px!important;
    color:#ffb000!important
}

.testimonial-card h3 {
    font-size:17px!important;
    font-weight:700!important;
    line-height:1.35!important;
    color:#0f1b2d!important;
    margin:0 0 10px!important
}

.testimonial-card p {
    font-size:15px!important;
    line-height:1.65!important;
    color:#667085!important;
    margin:0 0 18px!important
}

.testimonial-card .person {
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    margin-top:auto!important
}

.testimonial-card .avatar {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    border-radius:50%!important
}

.testimonial-card .person b {
    display:block!important;
    font-size:13px!important;
    line-height:1.3!important;
    color:#0f1b2d!important
}

.testimonial-card .person small {
    display:block!important;
    margin-top:2px!important;
    font-size:12px!important;
    line-height:1.3!important;
    color:#7b8794!important
}

@media(max-width:767.98px) {
    .testimonials .testimonial-card, .testimonial-slider .testimonial-card {
        padding:20px!important;
        border-radius:10px!important
    }

    .testimonial-card h3 {
        font-size:16px!important
    }

    .testimonial-card p {
        font-size:14px!important;
        line-height:1.6!important
    }

}

/* ==========================================================
   TESTIMONIAL BORDER OVERRIDE — FINAL
   Keeps the same light border on normal, hover and first card.
========================================================== */
.testimonials .testimonial-card, .testimonial-slider .testimonial-card, .testimonials .testimonial-card:hover, .testimonial-slider .testimonial-card:hover, .testimonials .testimonial-card:first-child, .testimonial-slider .testimonial-card:first-child, .testimonials .testimonial-card:first-child:hover, .testimonial-slider .testimonial-card:first-child:hover {
    border:1px solid #d7dee8!important;
    border-color:#d7dee8!important;
}

.testimonials .testimonial-card:hover, .testimonial-slider .testimonial-card:hover {
    box-shadow:0 10px 26px rgba(15,27,45,.09)!important;
    transform:translateY(-2px)!important;
}

/* ==========================================================
   ABOUT US PAGE
========================================================== */
/* reusable inner banner for all inner pages */
.inner-hero {
    position:relative;
    min-height:330px;
    display:flex;
    align-items:center;
    background-image:var(--inner-bg);
    background-size:cover;
    background-position:center;
    overflow:hidden
}

.inner-hero-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(10,20,34,.78),rgba(10,20,34,.40) 58%,rgba(10,20,34,.18))
}

.inner-hero-content {
    position:relative;
    z-index:2;
    color:#fff
}

.inner-hero-label {
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:5px 11px;
    border-radius:20px;
    background:#ef4e43;
    font-size:11px;
    font-weight:700;
    letter-spacing:.03em
}

.inner-hero h1 {
    margin:12px 0 10px;
    font-size:46px;
    line-height:1.08;
    font-weight:700
}

.inner-breadcrumb {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:rgba(255,255,255,.9)
}

.inner-breadcrumb a {
    color:#fff
}

.inner-breadcrumb i {
    font-size:8px
}

/* about details */
.about-page-intro {
    background:#fff
}

.about-page-media {
    position:relative;
    min-height:500px;
    padding:24px 56px 36px 0
}

.about-main-image {
    height:450px;
    border-radius:18px;
    overflow:hidden
}

.about-main-image img, .about-small-image img {
    width:100%;
    height:100%;
    object-fit:cover
}

.about-small-image {
    position:absolute;
    right:0;
    bottom:0;
    width:220px;
    height:180px;
    border:8px solid #fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 12px 28px rgba(15,27,45,.12)
}

.about-experience-badge {
    position:absolute;
    left:24px;
    bottom:8px;
    display:flex;
    align-items:center;
    gap:10px;
    max-width:230px;
    padding:14px 16px;
    border-radius:12px;
    background:#fff;
    box-shadow:0 10px 26px rgba(15,27,45,.12)
}

.about-experience-badge strong {
    font-size:30px;
    line-height:1;
    color:#ef4e43
}

.about-experience-badge span {
    font-size:12px;
    line-height:1.35;
    font-weight:600;
    color:#17263b
}

.about-page-copy h2 {
    margin:8px 0 16px;
    font-size:35px;
    line-height:1.18;
    color:#102039
}

.about-page-copy>p {
    margin:0 0 13px;
    font-size:15px;
    line-height:1.72;
    color:#5f6b7b
}

.about-page-points {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 18px;
    margin:24px 0
}

.about-page-points>div {
    display:flex;
    align-items:flex-start;
    gap:11px
}

.about-page-points i {
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff0ed;
    color:#ef4e43;
    font-size:13px
}

.about-page-points strong, .about-page-points small {
    display:block
}

.about-page-points strong {
    font-size:14px;
    color:#17263b
}

.about-page-points small {
    margin-top:2px;
    font-size:12px;
    line-height:1.45;
    color:#6a7585
}

.about-page-actions {
    display:flex;
    gap:10px;
    flex-wrap:wrap
}

.about-outline {
    background:#fff;
    color:#102039;
    border:1px solid #dfe5eb
}

.about-outline:hover {
    background:#102039;
    color:#fff
}

/* about-page section rhythm */
#how-it-works {
    background:#fff5f3!important
}

#journey-services {
    background:#f7f9fc!important
}

#reviews {
    background:#fff!important
}

@media(max-width:991.98px) {
    .inner-hero {
        min-height:285px
    }

    .inner-hero h1 {
        font-size:40px
    }

    .about-page-media {
        min-height:440px;
        padding-right:45px
    }

    .about-main-image {
        height:390px
    }

    .about-small-image {
        width:190px;
        height:155px
    }

    .about-page-copy h2 {
        font-size:31px
    }

}

@media(max-width:767.98px) {
    .inner-hero {
        min-height:245px
    }

    .inner-hero h1 {
        font-size:34px
    }

    .about-page-media {
        min-height:0;
        padding:0 0 52px
    }

    .about-main-image {
        height:auto;
        aspect-ratio:4/3
    }

    .about-small-image {
        right:8px;
        bottom:0;
        width:145px;
        height:118px;
        border-width:6px
    }

    .about-experience-badge {
        left:12px;
        bottom:4px;
        max-width:205px;
        padding:11px 13px
    }

    .about-experience-badge strong {
        font-size:25px
    }

    .about-page-copy h2 {
        font-size:28px
    }

    .about-page-points {
        grid-template-columns:1fr
    }

}

@media(max-width:480px) {
    .inner-hero {
        min-height:220px
    }

    .inner-hero h1 {
        font-size:30px
    }

    .inner-breadcrumb {
        font-size:12px
    }

    .about-main-image {
        border-radius:14px
    }

    .about-small-image {
        width:125px;
        height:100px
    }

    .about-experience-badge {
        max-width:185px;
        padding:10px 11px
    }

    .about-experience-badge strong {
        font-size:23px
    }

    .about-page-copy h2 {
        font-size:26px
    }

}

/* ==========================================================
   ABOUT INNER HERO — FINAL
   Banner image comes directly from HTML:
   style="background-image:url('../images/hero-2.jpg')!important;"
========================================================== */
.inner-hero {
    position:relative!important;
    min-height:330px!important;
    display:flex!important;
    align-items:center!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    overflow:hidden!important
}

.inner-hero-overlay {
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    background:linear-gradient(90deg,rgba(10,20,34,.74),rgba(10,20,34,.40) 58%,rgba(10,20,34,.18))!important
}

.inner-hero-content {
    position:relative!important;
    z-index:2!important;
    color:#fff!important
}

.about-main-image img, .about-small-image img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important
}

@media(max-width:991.98px) {
    .inner-hero {
        min-height:285px!important
    }

}

@media(max-width:767.98px) {
    .inner-hero {
        min-height:245px!important;
        background-position:center!important
    }

}

@media(max-width:480px) {
    .inner-hero {
        min-height:220px!important
    }

}

/* ==========================================================
   INNER PAGE BANNER + DESTINATION PAGINATION ONLY
   Destination cards/grid use the ORIGINAL HOMEPAGE CSS above.
========================================================== */
.inner-hero {
    position:relative;
    min-height:300px;
    display:flex;
    align-items:center;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    overflow:hidden
}

.inner-hero-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(10,20,34,.76),rgba(10,20,34,.38) 58%,rgba(10,20,34,.15))
}

.inner-hero-content {
    position:relative;
    z-index:2;
    color:#fff
}

.inner-hero-label {
    display:inline-flex;
    align-items:center;
    padding:5px 10px;
    border-radius:20px;
    background:var(--coral);
    font-size:11px;
    font-weight:700
}

.inner-hero h1 {
    margin:10px 0 8px;
    font-size:42px;
    line-height:1.1;
    font-weight:700
}

.inner-breadcrumb {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px
}

.inner-breadcrumb a {
    color:#fff
}

.inner-breadcrumb i {
    font-size:8px
}

.destination-pagination {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:28px
}

.destination-pagination a, .destination-pagination span {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:1px solid #dce3eb;
    border-radius:7px;
    background:#fff;
    color:var(--navy);
    font-size:12px;
    font-weight:600
}

.destination-pagination a.active {
    background:var(--coral);
    border-color:var(--coral);
    color:#fff
}

.destination-pagination a:hover:not(.disabled) {
    background:var(--navy);
    border-color:var(--navy);
    color:#fff
}

.destination-pagination span {
    border-color:transparent;
    background:transparent
}

.destination-pagination .disabled {
    opacity:.4;
    pointer-events:none
}

@media(max-width:767px) {
    .inner-hero {
        min-height:230px
    }

    .inner-hero h1 {
        font-size:32px
    }

    .destination-pagination {
        margin-top:22px
    }

    .destination-pagination a,.destination-pagination span {
        width:32px;
        height:32px
    }

}

/* ==========================================================
   TOUR THEMES PAGE — ICON CARD LISTING
   Same site header / banner / footer. No images.
========================================================== */
.tour-themes-page {
    background:#fff!important;
    padding-top:54px!important;
    padding-bottom:60px!important
}

.tour-themes-head {
    max-width:760px!important;
    margin-bottom:26px!important
}

.tour-themes-head h2 {
    margin:8px 0 8px!important;
    font-size:34px!important;
    line-height:1.18!important;
    font-weight:700!important;
    letter-spacing:-.4px!important;
    color:#102039!important
}

.tour-themes-head p {
    margin:0!important;
    font-size:15px!important;
    line-height:1.65!important;
    color:#667487!important
}

.theme-card {
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:245px!important;
    padding:24px!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #dce3eb!important;
    border-radius:12px!important;
    box-shadow:0 5px 18px rgba(15,27,45,.045)!important;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important
}

.theme-card:before {
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:4px!important;
    height:100%!important;
    background:#ef4e43!important;
    opacity:0!important;
    transition:opacity .25s ease!important
}

.theme-card:hover {
    transform:translateY(-4px)!important;
    border-color:#f0c9c3!important;
    box-shadow:0 12px 28px rgba(15,27,45,.085)!important
}

.theme-card:hover:before {
    opacity:1!important
}

.theme-icon {
    width:52px!important;
    height:52px!important;
    display:grid!important;
    place-items:center!important;
    margin-bottom:18px!important;
    border-radius:14px!important;
    background:#fff0ed!important;
    color:#ef4e43!important;
    font-size:21px!important
}

.theme-card:nth-child(3n+2) .theme-icon {
    background:#eef5ff!important;
    color:#2769c9!important
}

.theme-card:nth-child(3n+3) .theme-icon {
    background:#f2edff!important;
    color:#7350d8!important
}

.theme-card h2 {
    margin:0 0 9px!important;
    font-size:20px!important;
    line-height:1.3!important;
    font-weight:700!important;
    color:#102039!important
}

.theme-card p {
    margin:0 0 16px!important;
    font-size:14px!important;
    line-height:1.6!important;
    color:#68768a!important
}

.theme-link {
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    margin-top:auto!important;
    color:#ef4e43!important;
    font-size:12px!important;
    font-weight:600!important;
    text-decoration:none!important
}

.theme-link i {
    font-size:9px!important;
    transition:transform .2s ease!important
}

.theme-link:hover i {
    transform:translateX(3px)!important
}

/* pagination */
.theme-pagination {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    margin-top:30px!important
}

.theme-pagination a, .theme-pagination span {
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #dce3eb!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#425168!important;
    font-size:12px!important;
    font-weight:600!important;
    text-decoration:none!important
}

.theme-pagination a.active {
    background:#ef4e43!important;
    border-color:#ef4e43!important;
    color:#fff!important
}

.theme-pagination a:hover:not(.disabled) {
    background:#102039!important;
    border-color:#102039!important;
    color:#fff!important
}

.theme-pagination span {
    border-color:transparent!important;
    background:transparent!important
}

.theme-pagination .disabled {
    opacity:.4!important;
    pointer-events:none!important
}

@media(min-width:821px) {
    .main-nav .current-menu>button {
        color:#ef4e43!important
    }

}

@media(max-width:991.98px) {
    .tour-themes-page {
        padding-top:46px!important;
        padding-bottom:52px!important
    }

    .tour-themes-head h2 {
        font-size:30px!important
    }

    .theme-card {
        min-height:225px!important;
        padding:21px!important
    }

}

@media(max-width:767.98px) {
    .tour-themes-page {
        padding-top:38px!important;
        padding-bottom:44px!important
    }

    .tour-themes-head {
        margin-bottom:20px!important
    }

    .tour-themes-head h2 {
        font-size:27px!important
    }

    .tour-themes-head p {
        font-size:14px!important
    }

    .theme-card {
        min-height:0!important;
        padding:18px!important;
        border-radius:10px!important
    }

    .theme-icon {
        width:46px!important;
        height:46px!important;
        margin-bottom:14px!important;
        border-radius:12px!important;
        font-size:18px!important
    }

    .theme-card h2 {
        font-size:18px!important
    }

    .theme-card p {
        font-size:13.5px!important;
        margin-bottom:13px!important
    }

    .theme-pagination {
        margin-top:24px!important
    }

    .theme-pagination a,.theme-pagination span {
        width:32px!important;
        height:32px!important;
        font-size:11px!important
    }

}

/* ==========================================================
   TOUR THEMES GRID — 6 CARDS PER ROW DESKTOP
   12 themes = 6 + 6
========================================================== */
.tour-theme-grid {
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:14px!important;
    margin:0!important
}

.tour-theme-grid>[class*="col-"] {
    width:auto!important;
    max-width:none!important;
    padding:0!important
}

.theme-card {
    min-height:230px!important;
    padding:18px!important;
    border-radius:10px!important
}

.theme-icon {
    width:44px!important;
    height:44px!important;
    margin-bottom:14px!important;
    border-radius:11px!important;
    font-size:18px!important
}

.theme-card h2 {
    font-size:16px!important;
    line-height:1.3!important;
    margin-bottom:7px!important
}

.theme-card p {
    font-size:12.5px!important;
    line-height:1.5!important;
    margin-bottom:12px!important
}

.theme-link {
    font-size:11px!important
}

/* Medium desktop / laptop: 4 per row */
@media(max-width:1199.98px) {
    .tour-theme-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:14px!important
    }

}

/* Tablet: 3 per row */
@media(max-width:991.98px) {
    .tour-theme-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))!important
    }

    .theme-card {
        min-height:215px!important;
        padding:17px!important
    }

}

/* Mobile: 2 per row */
@media(max-width:767.98px) {
    .tour-theme-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important
    }

    .theme-card {
        min-height:0!important;
        padding:16px!important
    }

    .theme-card h2 {
        font-size:15px!important
    }

    .theme-card p {
        font-size:12px!important
    }

}

/* Small phone: 1 per row */
@media(max-width:480px) {
    .tour-theme-grid {
        grid-template-columns:1fr!important
    }

    .theme-card {
        padding:17px!important
    }

    .theme-card h2 {
        font-size:17px!important
    }

    .theme-card p {
        font-size:13px!important
    }

}

/* ==========================================================
   TOUR THEMES GRID — 6 CARDS PER ROW DESKTOP
   12 themes = 6 + 6
========================================================== */
.tour-theme-grid {
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:14px!important;
    margin:0!important
}

.tour-theme-grid>[class*="col-"] {
    width:auto!important;
    max-width:none!important;
    padding:0!important
}

.theme-card {
    min-height:230px!important;
    padding:18px!important;
    border-radius:10px!important
}

.theme-icon {
    width:44px!important;
    height:44px!important;
    margin-bottom:14px!important;
    border-radius:11px!important;
    font-size:18px!important
}

.theme-card h2 {
    font-size:16px!important;
    line-height:1.3!important;
    margin-bottom:7px!important
}

.theme-card p {
    font-size:12.5px!important;
    line-height:1.5!important;
    margin-bottom:12px!important
}

.theme-link {
    font-size:11px!important
}

/* Medium desktop / laptop: 4 per row */
@media(max-width:1199.98px) {
    .tour-theme-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:14px!important
    }

}

/* Tablet: 3 per row */
@media(max-width:991.98px) {
    .tour-theme-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))!important
    }

    .theme-card {
        min-height:215px!important;
        padding:17px!important
    }

}

/* Mobile: 2 per row */
@media(max-width:767.98px) {
    .tour-theme-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important
    }

    .theme-card {
        min-height:0!important;
        padding:16px!important
    }

    .theme-card h2 {
        font-size:15px!important
    }

    .theme-card p {
        font-size:12px!important
    }

}

/* Small phone: 1 per row */
@media(max-width:480px) {
    .tour-theme-grid {
        grid-template-columns:1fr!important
    }

    .theme-card {
        padding:17px!important
    }

    .theme-card h2 {
        font-size:17px!important
    }

    .theme-card p {
        font-size:13px!important
    }

}

/* ==========================================================
   CONTACT US PAGE — ADDED TO EXISTING FULL CSS
========================================================== */
.contact-info-section {
    padding:54px 0 26px;
    background:#fff
}

.contact-main-section {
    padding:28px 0 62px;
    background:#f7f9fc
}

.contact-section-head {
    max-width:760px;
    margin:0 auto 28px
}

.contact-section-head h2 {
    margin:8px 0 10px;
    font-size:32px;
    line-height:1.2;
    font-weight:700;
    color:#0d1d33
}

.contact-section-head p {
    margin:0;
    color:#66758a;
    font-size:15px;
    line-height:1.7
}

.contact-info-row>div {
    display:flex
}

.contact-info-card {
    width:100%;
    min-height:148px;
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:23px;
    border:1px solid #dce3eb;
    border-radius:12px;
    background:#fff;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}

.contact-info-card:hover {
    transform:translateY(-3px);
    border-color:#f3c9c5;
    box-shadow:0 10px 26px rgba(13,29,51,.07)
}

.contact-info-icon {
    width:46px;
    height:46px;
    flex:0 0 46px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff0ee;
    color:#ef4e43;
    font-size:17px
}

.contact-info-content span {
    display:block;
    margin:0 0 3px;
    color:#ef4e43;
    font-size:10.5px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.45px
}

.contact-info-content h3 {
    margin:0 0 6px;
    color:#0d1d33;
    font-size:18px;
    line-height:1.3;
    font-weight:700
}

.contact-info-content p {
    margin:0;
    color:#68768a;
    font-size:14px;
    line-height:1.6
}

.contact-info-content a {
    color:#68768a;
    text-decoration:none;
    word-break:break-word
}

.contact-info-content a:hover {
    color:#ef4e43
}

.contact-main-section .row>div {
    display:flex
}

.contact-form-box,.contact-map-box {
    width:100%;
    min-height:560px
}

.contact-form-box {
    padding:32px;
    background:#fff;
    border:1px solid #dfe5ec;
    border-radius:14px;
    box-shadow:0 7px 24px rgba(13,29,51,.04)
}

.contact-form-box h2 {
    margin:8px 0 8px;
    color:#0d1d33;
    font-size:29px;
    line-height:1.2;
    font-weight:700
}

.contact-form-intro {
    margin:0 0 22px;
    color:#68768a;
    font-size:14px;
    line-height:1.65
}

.contact-page-form label {
    display:block;
    margin:0 0 7px;
    color:#0d1d33;
    font-size:13px;
    font-weight:600
}

.contact-page-form label span {
    color:#ef4e43
}

.input-wrap {
    position:relative
}

.input-wrap>i {
    position:absolute;
    left:15px;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    color:#8793a4;
    font-size:14px;
    pointer-events:none
}

.contact-page-form input,.contact-page-form textarea {
    display:block;
    width:100%;
    border:1px solid #dce3eb;
    border-radius:8px;
    background:#fff;
    color:#0d1d33;
    font-family:inherit;
    font-size:14px;
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease
}

.contact-page-form input {
    height:49px;
    padding:0 15px 0 43px
}

.contact-page-form textarea {
    height:140px;
    min-height:140px;
    resize:vertical;
    padding:14px 15px 14px 43px;
    line-height:1.6
}

.textarea-wrap>i {
    top:17px;
    transform:none
}

.contact-page-form input::placeholder,.contact-page-form textarea::placeholder {
    color:#9aa5b4
}

.contact-page-form input:focus,.contact-page-form textarea:focus {
    border-color:#ef4e43;
    box-shadow:0 0 0 3px rgba(239,78,67,.08)
}

.contact-submit-btn {
    min-width:165px;
    height:49px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin-top:2px;
    padding:0 22px;
    border:0;
    border-radius:24px;
    background:#ef4e43;
    color:#fff;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    transition:.22s ease
}

.contact-submit-btn i {
    font-size:11px;
    transition:transform .22s ease
}

.contact-submit-btn:hover {
    background:#0d1d33;
    transform:translateY(-1px)
}

.contact-submit-btn:hover i {
    transform:translateX(3px)
}

.contact-map-box {
    position:relative;
    overflow:hidden;
    border:1px solid #dce3eb;
    border-radius:14px;
    background:#e9edf2;
    box-shadow:0 7px 24px rgba(13,29,51,.04)
}

.contact-map-box iframe {
    display:block;
    width:100%;
    height:100%;
    min-height:560px;
    border:0
}

.map-address-card {
    position:absolute;
    left:20px;
    right:20px;
    bottom:20px;
    display:flex;
    align-items:flex-start;
    gap:12px;
    max-width:430px;
    padding:15px 17px;
    border-radius:10px;
    background:rgba(255,255,255,.96);
    box-shadow:0 10px 28px rgba(13,29,51,.15);
    backdrop-filter:blur(7px)
}

.map-address-icon {
    width:37px;
    height:37px;
    flex:0 0 37px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#ef4e43;
    color:#fff;
    font-size:13px
}

.map-address-card span {
    display:block;
    margin:0 0 2px;
    color:#ef4e43;
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.45px
}

.map-address-card strong {
    display:block;
    margin:0 0 3px;
    color:#0d1d33;
    font-size:14.5px;
    line-height:1.3
}

.map-address-card p {
    margin:0;
    color:#66758a;
    font-size:12px;
    line-height:1.5
}

@media(max-width:991.98px) {
    .contact-info-section {
        padding:46px 0 22px
    }

    .contact-main-section {
        padding:24px 0 50px
    }

    .contact-section-head h2 {
        font-size:29px
    }

    .contact-info-card {
        min-height:138px;
        padding:20px
    }

    .contact-form-box,.contact-map-box {
        min-height:470px
    }

    .contact-map-box iframe {
        min-height:470px
    }

    .contact-form-box {
        padding:27px
    }

    .contact-form-box h2 {
        font-size:27px
    }

}

@media(max-width:767.98px) {
    .contact-info-section {
        padding:38px 0 18px
    }

    .contact-main-section {
        padding:20px 0 42px
    }

    .contact-section-head {
        text-align:left!important;
        margin-bottom:20px
    }

    .contact-section-head h2 {
        font-size:26px
    }

    .contact-section-head p {
        font-size:14px;
        line-height:1.6
    }

    .contact-info-row {
        --bs-gutter-y:10px
    }

    .contact-info-card {
        min-height:0;
        padding:17px;
        gap:13px;
        border-radius:10px
    }

    .contact-info-card:hover {
        transform:none
    }

    .contact-info-icon {
        width:42px;
        height:42px;
        flex-basis:42px;
        font-size:15px
    }

    .contact-info-content h3 {
        font-size:17px;
        margin-bottom:4px
    }

    .contact-info-content p {
        font-size:13px;
        line-height:1.55
    }

    .contact-form-box {
        padding:21px 18px;
        border-radius:11px;
        min-height:0
    }

    .contact-form-box h2 {
        font-size:25px
    }

    .contact-form-intro {
        font-size:13px;
        line-height:1.6;
        margin-bottom:18px
    }

    .contact-page-form input {
        height:47px
    }

    .contact-page-form textarea {
        height:120px;
        min-height:120px
    }

    .contact-submit-btn {
        width:100%;
        height:47px
    }

    .contact-map-box,.contact-map-box iframe {
        min-height:390px
    }

    .contact-map-box {
        border-radius:11px
    }

    .map-address-card {
        left:12px;
        right:12px;
        bottom:12px;
        padding:13px;
        gap:10px
    }

    .map-address-icon {
        width:34px;
        height:34px;
        flex-basis:34px;
        font-size:12px
    }

}

@media(max-width:420px) {
    .contact-section-head h2,.contact-form-box h2 {
        font-size:23px
    }

    .contact-info-card {
        padding:15px
    }

    .contact-form-box {
        padding:19px 15px
    }

    .contact-map-box,.contact-map-box iframe {
        min-height:350px
    }

}

/* ==========================================================
   CONTACT FORM — FINAL FULL WIDTH POLISH
========================================================== */
.contact-main-section {
    background:linear-gradient(180deg,#f7f9fc 0%,#f4f7fb 100%)!important;
    padding-top:30px!important;
    padding-bottom:64px!important
}

.contact-form-box {
    position:relative!important;
    overflow:hidden!important;
    min-height:560px!important;
    padding:34px!important;
    background:linear-gradient(180deg,#ffffff 0%,#fffaf8 100%)!important;
    border:1px solid #e2e7ee!important;
    border-radius:16px!important;
    box-shadow:0 12px 30px rgba(15,27,45,.07)!important
}

.contact-form-box:before {
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    height:4px!important;
    background:linear-gradient(90deg,#ef4e43,#ff8a73)!important
}

.contact-form-box .mini-label {
    margin-bottom:9px!important
}

.contact-form-box h2 {
    font-size:31px!important;
    line-height:1.2!important;
    margin:8px 0 9px!important
}

.contact-form-intro {
    max-width:100%!important;
    margin:0 0 24px!important;
    font-size:14px!important;
    line-height:1.65!important
}

.contact-page-form .row {
    --bs-gutter-x:0!important;
    --bs-gutter-y:14px!important
}

.contact-page-form .col-12 {
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important
}

.contact-page-form .form-group {
    width:100%!important
}

.contact-page-form label {
    margin-bottom:7px!important;
    font-size:13px!important;
    font-weight:600!important;
    color:#17263b!important
}

.input-wrap {
    width:100%!important
}

.contact-page-form input, .contact-page-form textarea {
    width:100%!important;
    max-width:none!important;
    background:#fff!important;
    border:1px solid #d9e1ea!important;
    box-shadow:0 2px 7px rgba(15,27,45,.025)!important
}

.contact-page-form input {
    height:52px!important;
    padding-left:44px!important
}

.contact-page-form textarea {
    height:150px!important;
    min-height:150px!important;
    padding-left:44px!important
}

.contact-page-form input:focus, .contact-page-form textarea:focus {
    background:#fff!important;
    border-color:#ef4e43!important;
    box-shadow:0 0 0 3px rgba(239,78,67,.10)!important
}

.contact-submit-btn {
    width:100%!important;
    height:50px!important;
    margin-top:2px!important;
    border-radius:9px!important;
    background:linear-gradient(90deg,#ef4e43,#f76559)!important;
    box-shadow:0 8px 18px rgba(239,78,67,.18)!important
}

.contact-submit-btn:hover {
    background:#17283f!important;
    box-shadow:0 10px 22px rgba(15,27,45,.18)!important
}

/* map visual balance */
.contact-map-box {
    min-height:560px!important;
    border-radius:16px!important;
    border:1px solid #dce3eb!important;
    box-shadow:0 12px 30px rgba(15,27,45,.07)!important
}

.contact-map-box iframe {
    min-height:560px!important
}

.map-address-card {
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    max-width:none!important;
    border:1px solid #edf0f4!important
}

/* Contact info cards slightly richer */
.contact-info-card {
    background:linear-gradient(180deg,#fff 0%,#fffdfc 100%)!important;
    border-color:#dde4ec!important
}

.contact-info-card:nth-child(1), .contact-info-card:nth-child(2), .contact-info-card:nth-child(3) {
    box-shadow:0 6px 18px rgba(15,27,45,.035)!important
}

@media(max-width:991.98px) {
    .contact-form-box, .contact-map-box, .contact-map-box iframe {
        min-height:0!important
    }

    .contact-map-box iframe {
        min-height:470px!important
    }

    .contact-form-box {
        padding:28px!important
    }

}

@media(max-width:767.98px) {
    .contact-main-section {
        padding-top:22px!important;
        padding-bottom:44px!important
    }

    .contact-form-box {
        padding:22px 18px!important;
        border-radius:12px!important
    }

    .contact-form-box h2 {
        font-size:25px!important
    }

    .contact-page-form input {
        height:49px!important
    }

    .contact-page-form textarea {
        height:125px!important;
        min-height:125px!important
    }

    .contact-submit-btn {
        height:48px!important;
        border-radius:8px!important
    }

    .contact-map-box {
        border-radius:12px!important
    }

    .contact-map-box iframe {
        min-height:390px!important
    }

}

/* ==========================================================
   CONTACT FORM FINAL COMPACT VERSION
   Name + Email + Phone + Subject + Message
   Smaller form and map, balanced desktop/tablet/mobile.
========================================================== */
.contact-main-section {
    padding-top:24px!important;
    padding-bottom:52px!important
}

.contact-main-section .row {
    align-items:stretch!important
}

.contact-form-box, .contact-map-box {
    min-height:0!important;
    height:100%!important
}

.contact-form-box {
    padding:28px!important;
    border-radius:14px!important
}

.contact-form-box h2 {
    font-size:28px!important;
    margin:8px 0 7px!important
}

.contact-form-intro {
    margin:0 0 18px!important;
    font-size:13.5px!important
}

.contact-page-form .row {
    --bs-gutter-x:14px!important;
    --bs-gutter-y:12px!important
}

.contact-page-form label {
    margin-bottom:6px!important;
    font-size:12.5px!important
}

.contact-page-form input {
    height:46px!important;
    padding-left:42px!important
}

.contact-page-form textarea {
    height:108px!important;
    min-height:108px!important;
    padding-left:42px!important
}

.contact-page-form input, .contact-page-form textarea {
    font-size:13.5px!important
}

.input-wrap>i {
    left:14px!important;
    font-size:13px!important
}

.textarea-wrap>i {
    top:15px!important
}

.contact-submit-btn {
    height:46px!important;
    width:auto!important;
    min-width:158px!important;
    padding:0 20px!important;
    border-radius:8px!important;
    font-size:13.5px!important
}

/* smaller balanced map */
.contact-map-box {
    min-height:445px!important;
    border-radius:14px!important
}

.contact-map-box iframe {
    height:100%!important;
    min-height:445px!important
}

.map-address-card {
    left:16px!important;
    right:16px!important;
    bottom:16px!important;
    padding:13px 15px!important
}

.map-address-card strong {
    font-size:14px!important
}

.map-address-card p {
    font-size:11.5px!important
}

/* tablet */
@media(max-width:991.98px) {
    .contact-form-box {
        padding:24px!important
    }

    .contact-form-box h2 {
        font-size:26px!important
    }

    .contact-map-box, .contact-map-box iframe {
        min-height:410px!important
    }

}

/* mobile */
@media(max-width:767.98px) {
    .contact-main-section {
        padding-top:18px!important;
        padding-bottom:40px!important
    }

    .contact-form-box {
        padding:20px 16px!important
    }

    .contact-form-box h2 {
        font-size:24px!important
    }

    .contact-page-form .row {
        --bs-gutter-x:0!important;
        --bs-gutter-y:11px!important
    }

    .contact-page-form input {
        height:46px!important
    }

    .contact-page-form textarea {
        height:105px!important;
        min-height:105px!important
    }

    .contact-submit-btn {
        width:100%!important;
        height:46px!important
    }

    .contact-map-box, .contact-map-box iframe {
        min-height:340px!important
    }

    .map-address-card {
        left:10px!important;
        right:10px!important;
        bottom:10px!important;
        padding:11px!important
    }

}

/* small phone */
@media(max-width:420px) {
    .contact-form-box {
        padding:18px 14px!important
    }

    .contact-form-box h2 {
        font-size:22px!important
    }

    .contact-map-box, .contact-map-box iframe {
        min-height:315px!important
    }

}

/* ==========================================================
   CONTACT FORM — SMALLER + DARKER BORDER FINAL
   Name full width, Email + Phone row, Message compact.
   Map reduced to match form height.
========================================================== */
.contact-main-section {
    padding-top:20px!important;
    padding-bottom:42px!important
}

.contact-form-box {
    min-height:0!important;
    padding:22px!important;
    background:#fff!important;
    border:1.5px solid #c7d0dc!important;
    border-radius:12px!important;
    box-shadow:0 8px 22px rgba(15,27,45,.06)!important
}

.contact-form-box:before {
    height:3px!important
}

.contact-form-box h2 {
    font-size:26px!important;
    margin:7px 0 6px!important
}

.contact-form-intro {
    margin:0 0 15px!important;
    font-size:13px!important;
    line-height:1.55!important
}

.contact-page-form .row {
    --bs-gutter-x:12px!important;
    --bs-gutter-y:9px!important
}

.contact-page-form label {
    margin-bottom:5px!important;
    font-size:12px!important
}

.contact-page-form input, .contact-page-form textarea {
    border:1.5px solid #bcc7d4!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#17263b!important;
    box-shadow:none!important
}

.contact-page-form input {
    height:42px!important;
    padding-left:40px!important;
    font-size:13px!important
}

.contact-page-form textarea {
    height:92px!important;
    min-height:92px!important;
    padding:12px 13px 12px 40px!important;
    font-size:13px!important
}

.input-wrap>i {
    left:13px!important;
    font-size:12px!important;
    color:#768397!important
}

.textarea-wrap>i {
    top:14px!important
}

.contact-page-form input:focus, .contact-page-form textarea:focus {
    border-color:#ef4e43!important;
    box-shadow:0 0 0 2px rgba(239,78,67,.08)!important
}

.contact-submit-btn {
    width:auto!important;
    min-width:145px!important;
    height:42px!important;
    padding:0 18px!important;
    border-radius:7px!important;
    font-size:13px!important;
    box-shadow:none!important
}

/* map reduced to match smaller form */
.contact-map-box {
    min-height:360px!important;
    height:100%!important;
    border:1.5px solid #c7d0dc!important;
    border-radius:12px!important;
    box-shadow:0 8px 22px rgba(15,27,45,.06)!important
}

.contact-map-box iframe {
    height:100%!important;
    min-height:360px!important
}

.map-address-card {
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    padding:11px 12px!important;
    border:1px solid #d8dee6!important
}

.map-address-icon {
    width:32px!important;
    height:32px!important;
    flex-basis:32px!important;
    font-size:11px!important
}

.map-address-card strong {
    font-size:13px!important
}

.map-address-card p {
    font-size:10.8px!important;
    line-height:1.4!important
}

/* tablet */
@media(max-width:991.98px) {
    .contact-form-box {
        padding:20px!important
    }

    .contact-form-box h2 {
        font-size:24px!important
    }

    .contact-map-box, .contact-map-box iframe {
        min-height:340px!important
    }

}

/* mobile */
@media(max-width:767.98px) {
    .contact-main-section {
        padding-top:16px!important;
        padding-bottom:34px!important
    }

    .contact-form-box {
        padding:17px 14px!important;
        border-radius:10px!important
    }

    .contact-form-box h2 {
        font-size:22px!important
    }

    .contact-form-intro {
        font-size:12.5px!important;
        margin-bottom:13px!important
    }

    .contact-page-form .row {
        --bs-gutter-x:0!important;
        --bs-gutter-y:8px!important
    }

    .contact-page-form input {
        height:41px!important
    }

    .contact-page-form textarea {
        height:88px!important;
        min-height:88px!important
    }

    .contact-submit-btn {
        width:100%!important;
        height:41px!important
    }

    .contact-map-box, .contact-map-box iframe {
        min-height:300px!important
    }

    .contact-map-box {
        border-radius:10px!important
    }

}

/* small phone */
@media(max-width:420px) {
    .contact-form-box {
        padding:15px 12px!important
    }

    .contact-form-box h2 {
        font-size:21px!important
    }

    .contact-map-box, .contact-map-box iframe {
        min-height:280px!important
    }

}

/* ==========================================================
   CONTACT PAGE — FINAL NO-JS FORM FIX
   Full visible borders / no clipping / compact form + map
========================================================== */
.contact-main-section {
    padding:22px 0 42px!important
}

.contact-main-section .container-xl {
    overflow:visible!important
}

.contact-main-section .row {
    overflow:visible!important
}

.contact-form-box {
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    padding:22px!important;
    overflow:visible!important;
    background:#fff!important;
    border:1px solid #aab6c5!important;
    border-radius:12px!important;
    box-shadow:0 8px 24px rgba(15,32,57,.07)!important;
    box-sizing:border-box!important
}

.contact-form-box h2 {
    font-size:26px!important;
    line-height:1.2!important;
    margin:6px 0 7px!important
}

.contact-form-intro {
    font-size:13px!important;
    line-height:1.55!important;
    margin:0 0 16px!important
}

.contact-page-form, .contact-page-form * {
    box-sizing:border-box!important
}

.contact-page-form {
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important
}

.contact-page-form .row {
    width:auto!important;
    margin-left:-6px!important;
    margin-right:-6px!important;
    --bs-gutter-x:0!important;
    --bs-gutter-y:0!important
}

.contact-page-form [class*="col-"] {
    min-width:0!important;
    padding-left:6px!important;
    padding-right:6px!important;
    margin-bottom:11px!important
}

.contact-page-form label {
    display:block!important;
    font-size:12px!important;
    line-height:1.3!important;
    font-weight:700!important;
    color:#102039!important;
    margin:0 0 6px!important
}

.contact-page-form label span {
    color:#ef4e43!important
}

.contact-page-form .input-wrap {
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important
}

.contact-page-form input, .contact-page-form textarea {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    background:#fff!important;
    border:1.5px solid #7b899c!important;
    border-radius:8px!important;
    color:#14233a!important;
    outline:0!important;
    box-shadow:none!important;
    -webkit-appearance:none!important;
    appearance:none!important
}

.contact-page-form input {
    height:45px!important;
    padding:0 14px 0 40px!important;
    font-size:13px!important;
    line-height:45px!important
}

.contact-page-form textarea {
    height:96px!important;
    min-height:96px!important;
    padding:13px 14px 12px 40px!important;
    font-size:13px!important;
    line-height:1.5!important;
    resize:vertical!important
}

.contact-page-form input::placeholder, .contact-page-form textarea::placeholder {
    color:#8794a7!important;
    opacity:1!important
}

.contact-page-form input:focus, .contact-page-form textarea:focus {
    border-color:#ef4e43!important;
    box-shadow:0 0 0 3px rgba(239,78,67,.09)!important
}

.contact-page-form .input-wrap>i {
    position:absolute!important;
    left:14px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:2!important;
    font-size:12px!important;
    color:#65758a!important;
    pointer-events:none!important
}

.contact-page-form .textarea-wrap>i {
    top:15px!important;
    transform:none!important
}

.contact-submit-btn {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    height:42px!important;
    min-width:145px!important;
    padding:0 19px!important;
    border:0!important;
    border-radius:8px!important;
    background:#ef4e43!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:700!important;
    box-shadow:none!important
}

.contact-submit-btn:hover {
    background:#d9433a!important
}

/* MAP — compact and visually balanced with form */
.contact-map-box {
    width:100%!important;
    height:100%!important;
    min-height:350px!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #aab6c5!important;
    border-radius:12px!important;
    box-shadow:0 8px 24px rgba(15,32,57,.07)!important
}

.contact-map-box iframe {
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:350px!important;
    border:0!important
}

.map-address-card {
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    padding:11px 12px!important;
    border:1px solid #cbd3dd!important;
    border-radius:9px!important;
    background:#fff!important
}

/* TABLET */
@media(max-width:991.98px) {
    .contact-form-box {
        padding:20px!important
    }

    .contact-map-box,.contact-map-box iframe {
        min-height:330px!important
    }

}

/* MOBILE */
@media(max-width:767.98px) {
    .contact-main-section {
        padding:16px 0 32px!important
    }

    .contact-form-box {
        padding:16px 14px!important;
        border-radius:10px!important
    }

    .contact-form-box h2 {
        font-size:22px!important
    }

    .contact-page-form .row {
        margin-left:0!important;
        margin-right:0!important
    }

    .contact-page-form [class*="col-"] {
        padding-left:0!important;
        padding-right:0!important;
        margin-bottom:10px!important
    }

    .contact-page-form input {
        height:44px!important;
        line-height:44px!important
    }

    .contact-page-form textarea {
        height:92px!important;
        min-height:92px!important
    }

    .contact-submit-btn {
        width:100%!important;
        height:42px!important
    }

    .contact-map-box,.contact-map-box iframe {
        min-height:285px!important
    }

}

/* ==========================================================
   CONTACT PAGE — FINAL NO-JS FORM FIX
   Full visible borders / no clipping / compact form + map
========================================================== */
.contact-main-section {
    padding:22px 0 42px!important
}

.contact-main-section .container-xl {
    overflow:visible!important
}

.contact-main-section .row {
    overflow:visible!important
}

.contact-form-box {
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    padding:22px!important;
    overflow:visible!important;
    background:#fff!important;
    border:1px solid #aab6c5!important;
    border-radius:12px!important;
    box-shadow:0 8px 24px rgba(15,32,57,.07)!important;
    box-sizing:border-box!important
}

.contact-form-box h2 {
    font-size:26px!important;
    line-height:1.2!important;
    margin:6px 0 7px!important
}

.contact-form-intro {
    font-size:13px!important;
    line-height:1.55!important;
    margin:0 0 16px!important
}

.contact-page-form, .contact-page-form * {
    box-sizing:border-box!important
}

.contact-page-form {
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important
}

.contact-page-form .row {
    width:auto!important;
    margin-left:-6px!important;
    margin-right:-6px!important;
    --bs-gutter-x:0!important;
    --bs-gutter-y:0!important
}

.contact-page-form [class*="col-"] {
    min-width:0!important;
    padding-left:6px!important;
    padding-right:6px!important;
    margin-bottom:11px!important
}

.contact-page-form label {
    display:block!important;
    font-size:12px!important;
    line-height:1.3!important;
    font-weight:700!important;
    color:#102039!important;
    margin:0 0 6px!important
}

.contact-page-form label span {
    color:#ef4e43!important
}

.contact-page-form .input-wrap {
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important
}

.contact-page-form input, .contact-page-form textarea {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    background:#fff!important;
    border:1.5px solid #7b899c!important;
    border-radius:8px!important;
    color:#14233a!important;
    outline:0!important;
    box-shadow:none!important;
    -webkit-appearance:none!important;
    appearance:none!important
}

.contact-page-form input {
    height:45px!important;
    padding:0 14px 0 40px!important;
    font-size:13px!important;
    line-height:45px!important
}

.contact-page-form textarea {
    height:96px!important;
    min-height:96px!important;
    padding:13px 14px 12px 40px!important;
    font-size:13px!important;
    line-height:1.5!important;
    resize:vertical!important
}

.contact-page-form input::placeholder, .contact-page-form textarea::placeholder {
    color:#8794a7!important;
    opacity:1!important
}

.contact-page-form input:focus, .contact-page-form textarea:focus {
    border-color:#ef4e43!important;
    box-shadow:0 0 0 3px rgba(239,78,67,.09)!important
}

.contact-page-form .input-wrap>i {
    position:absolute!important;
    left:14px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:2!important;
    font-size:12px!important;
    color:#65758a!important;
    pointer-events:none!important
}

.contact-page-form .textarea-wrap>i {
    top:15px!important;
    transform:none!important
}

.contact-submit-btn {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    height:42px!important;
    min-width:145px!important;
    padding:0 19px!important;
    border:0!important;
    border-radius:8px!important;
    background:#ef4e43!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:700!important;
    box-shadow:none!important
}

.contact-submit-btn:hover {
    background:#d9433a!important
}

/* MAP — compact and visually balanced with form */
.contact-map-box {
    width:100%!important;
    height:100%!important;
    min-height:350px!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #aab6c5!important;
    border-radius:12px!important;
    box-shadow:0 8px 24px rgba(15,32,57,.07)!important
}

.contact-map-box iframe {
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:350px!important;
    border:0!important
}

.map-address-card {
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    padding:11px 12px!important;
    border:1px solid #cbd3dd!important;
    border-radius:9px!important;
    background:#fff!important
}

/* TABLET */
@media(max-width:991.98px) {
    .contact-form-box {
        padding:20px!important
    }

    .contact-map-box,.contact-map-box iframe {
        min-height:330px!important
    }

}

/* MOBILE */
@media(max-width:767.98px) {
    .contact-main-section {
        padding:16px 0 32px!important
    }

    .contact-form-box {
        padding:16px 14px!important;
        border-radius:10px!important
    }

    .contact-form-box h2 {
        font-size:22px!important
    }

    .contact-page-form .row {
        margin-left:0!important;
        margin-right:0!important
    }

    .contact-page-form [class*="col-"] {
        padding-left:0!important;
        padding-right:0!important;
        margin-bottom:10px!important
    }

    .contact-page-form input {
        height:44px!important;
        line-height:44px!important
    }

    .contact-page-form textarea {
        height:92px!important;
        min-height:92px!important
    }

    .contact-submit-btn {
        width:100%!important;
        height:42px!important
    }

    .contact-map-box,.contact-map-box iframe {
        min-height:285px!important
    }

}

/* ==========================================================
   JAIPUR DESTINATION DETAIL PAGE
   Uses existing site header/banner/footer; adds only page-specific CSS.
========================================================== */
.jaipur-intro {
    background:#fff!important;
    padding-top:50px!important;
    padding-bottom:44px!important
}

.jaipur-intro h2 {
    margin:8px 0 14px!important;
    font-size:34px!important;
    line-height:1.2!important;
    font-weight:700!important;
    color:#102039!important
}

.jaipur-intro p {
    margin:0 0 12px!important;
    font-size:15px!important;
    line-height:1.72!important;
    color:#667487!important
}

.jaipur-highlights {
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-top:18px!important
}

.jaipur-highlights span {
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    padding:8px 11px!important;
    border-radius:8px!important;
    background:#f7f9fc!important;
    border:1px solid #e3e8ee!important;
    font-size:12px!important;
    font-weight:600!important;
    color:#2b3a4f!important
}

.jaipur-highlights i {
    color:#ef4e43!important
}

.jaipur-intro-card {
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:1px!important;
    overflow:hidden!important;
    border:1px solid #dce3eb!important;
    border-radius:12px!important;
    background:#dce3eb!important
}

.jaipur-intro-card>div {
    padding:18px!important;
    background:#fff!important
}

.jaipur-intro-card strong, .jaipur-intro-card span {
    display:block!important
}

.jaipur-intro-card strong {
    margin-bottom:5px!important;
    font-size:11px!important;
    text-transform:uppercase!important;
    letter-spacing:.45px!important;
    color:#ef4e43!important
}

.jaipur-intro-card span {
    font-size:13.5px!important;
    line-height:1.45!important;
    color:#536174!important
}

/* listing */
.jaipur-tours-section {
    background:#f7f9fc!important;
    padding-top:48px!important;
    padding-bottom:62px!important
}

.jaipur-tours-head {
    margin-bottom:22px!important
}

.jaipur-tours-head h2 {
    margin:8px 0 8px!important;
    font-size:32px!important;
    line-height:1.2!important;
    font-weight:700!important;
    color:#102039!important
}

.jaipur-tours-head p {
    margin:0!important;
    max-width:730px!important;
    font-size:14.5px!important;
    line-height:1.65!important;
    color:#68768a!important
}

.jaipur-tour-list {
    display:grid!important;
    gap:14px!important
}

.jaipur-tour-card {
    display:grid!important;
    grid-template-columns:250px minmax(0,1fr)!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #dce3eb!important;
    border-radius:12px!important;
    box-shadow:0 4px 15px rgba(15,27,45,.035)!important;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important
}

.jaipur-tour-card:hover {
    transform:translateY(-2px)!important;
    border-color:#efc9c4!important;
    box-shadow:0 9px 24px rgba(15,27,45,.075)!important
}

.jaipur-tour-image {
    position:relative!important;
    min-height:215px!important;
    overflow:hidden!important
}

.jaipur-tour-image img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transition:transform .35s ease!important
}

.jaipur-tour-card:hover .jaipur-tour-image img {
    transform:scale(1.035)!important
}

.jaipur-tour-image span {
    position:absolute!important;
    left:12px!important;
    top:12px!important;
    padding:5px 8px!important;
    border-radius:18px!important;
    background:#ef4e43!important;
    color:#fff!important;
    font-size:9.5px!important;
    font-weight:700!important
}

.jaipur-tour-content {
    display:flex!important;
    flex-direction:column!important;
    padding:18px 20px!important
}

.jaipur-tour-meta {
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    margin-bottom:7px!important;
    font-size:10px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.45px!important;
    color:#8a95a4!important
}

.jaipur-tour-meta span {
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important
}

.jaipur-tour-meta i {
    color:#ef4e43!important
}

.jaipur-tour-content h3 {
    margin:0 0 7px!important;
    font-size:19px!important;
    line-height:1.3!important;
    font-weight:700!important;
    color:#102039!important
}

.jaipur-tour-content p {
    margin:0 0 9px!important;
    font-size:13.5px!important;
    line-height:1.55!important;
    color:#68768a!important
}

.jaipur-tour-location {
    display:flex!important;
    align-items:flex-start!important;
    gap:6px!important;
    margin-bottom:14px!important;
    font-size:12.5px!important;
    font-weight:600!important;
    color:#39485c!important
}

.jaipur-tour-location i {
    margin-top:2px!important;
    font-size:11px!important;
    color:#ef4e43!important
}

.jaipur-tour-bottom {
    display:flex!important;
    align-items:end!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin-top:auto!important;
    padding-top:12px!important;
    border-top:1px solid #edf0f3!important
}

.jaipur-tour-bottom small {
    display:block!important;
    font-size:10px!important;
    color:#8a95a4!important
}

.jaipur-tour-bottom strong {
    display:block!important;
    margin-top:2px!important;
    font-size:17px!important;
    color:#ef4e43!important
}

.jaipur-tour-bottom a {
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    color:#102039!important;
    font-size:11.5px!important;
    font-weight:700!important;
    text-decoration:none!important
}

.jaipur-tour-bottom a i {
    font-size:8px!important
}

.jaipur-tour-bottom a:hover {
    color:#ef4e43!important
}

.jaipur-list-footer {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:15px!important;
    margin-top:18px!important;
    font-size:12px!important;
    color:#758194!important
}

.jaipur-list-footer a {
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    color:#ef4e43!important;
    font-weight:600!important
}

/* sticky planning card */
.jaipur-plan-card {
    position:sticky!important;
    top:118px!important;
    padding:25px!important;
    background:#fff7f3!important;
    border:1px solid #f0d8d0!important;
    border-radius:14px!important;
    box-shadow:0 10px 28px rgba(15,27,45,.06)!important
}

.jaipur-plan-card h2 {
    margin:9px 0 8px!important;
    font-size:27px!important;
    line-height:1.2!important;
    font-weight:700!important;
    color:#102039!important
}

.jaipur-plan-card>p {
    margin:0 0 17px!important;
    font-size:13.5px!important;
    line-height:1.6!important;
    color:#68768a!important
}

.jaipur-plan-form .form-group {
    margin-bottom:11px!important
}

.jaipur-plan-form label {
    display:block!important;
    margin-bottom:5px!important;
    font-size:10.5px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.4px!important;
    color:#39485c!important
}

.jaipur-plan-form input, .jaipur-plan-form textarea {
    width:100%!important;
    border:1px solid #d8c6bd!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#102039!important;
    font-family:inherit!important;
    font-size:13px!important;
    outline:none!important
}

.jaipur-plan-form input {
    height:43px!important;
    padding:0 12px!important
}

.jaipur-plan-form textarea {
    height:105px!important;
    min-height:105px!important;
    padding:11px 12px!important;
    resize:vertical!important
}

.jaipur-plan-form input:focus, .jaipur-plan-form textarea:focus {
    border-color:#ef4e43!important;
    box-shadow:0 0 0 2px rgba(239,78,67,.08)!important
}

.jaipur-plan-form button {
    width:100%!important;
    height:45px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border:0!important;
    border-radius:8px!important;
    background:#ef4e43!important;
    color:#fff!important;
    font-size:12.5px!important;
    font-weight:700!important
}

.jaipur-plan-form button:hover {
    background:#102039!important
}

.jaipur-plan-form>small {
    display:flex!important;
    align-items:flex-start!important;
    gap:6px!important;
    margin-top:9px!important;
    font-size:10px!important;
    line-height:1.45!important;
    color:#8a756c!important
}

/* laptop */
@media(max-width:1199.98px) {
    .jaipur-plan-card {
        position:static!important
    }

}

/* tablet */
@media(max-width:991.98px) {
    .jaipur-intro h2 {
        font-size:30px!important
    }

    .jaipur-tour-card {
        grid-template-columns:220px minmax(0,1fr)!important
    }

    .jaipur-tour-image {
        min-height:205px!important
    }

}

/* mobile */
@media(max-width:767.98px) {
    .jaipur-intro {
        padding-top:38px!important;
        padding-bottom:36px!important
    }

    .jaipur-intro h2 {
        font-size:27px!important
    }

    .jaipur-intro p {
        font-size:14px!important
    }

    .jaipur-intro-card {
        grid-template-columns:1fr 1fr!important
    }

    .jaipur-intro-card>div {
        padding:14px!important
    }

    .jaipur-tours-section {
        padding-top:38px!important;
        padding-bottom:44px!important
    }

    .jaipur-tours-head h2 {
        font-size:27px!important
    }

    .jaipur-tour-card {
        grid-template-columns:1fr!important;
        border-radius:10px!important
    }

    .jaipur-tour-image {
        min-height:0!important;
        aspect-ratio:4/3!important
    }

    .jaipur-tour-content {
        padding:15px!important
    }

    .jaipur-tour-content h3 {
        font-size:18px!important
    }

    .jaipur-tour-content p {
        font-size:13px!important
    }

    .jaipur-list-footer {
        align-items:flex-start!important;
        flex-direction:column!important
    }

    .jaipur-plan-card {
        padding:20px 16px!important;
        border-radius:11px!important
    }

    .jaipur-plan-card h2 {
        font-size:24px!important
    }

}

/* small phone */
@media(max-width:480px) {
    .jaipur-intro-card {
        grid-template-columns:1fr!important
    }

    .jaipur-highlights {
        display:grid!important;
        grid-template-columns:1fr 1fr!important
    }

}

/* ==========================================================
   JAIPUR DETAIL FINAL POLISH
   Sticky enquiry form + visible 5-star / 4.8 review styling.
========================================================== */
/* page-level destination rating */
.jaipur-destination-rating {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin:0 0 10px!important;
    padding:10px 12px!important;
    border:1px solid #e1e7ee!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#667487!important;
    font-size:11.5px!important
}

.jaipur-destination-rating .rating-left {
    display:flex!important;
    align-items:center!important;
    gap:7px!important
}

.rating-stars {
    display:inline-flex!important;
    align-items:center!important;
    gap:2px!important;
    color:#ffb000!important
}

.rating-stars i {
    font-size:11px!important;
    color:#ffb000!important
}

.jaipur-destination-rating strong {
    font-size:13px!important;
    color:#102039!important
}

/* tour card reviews */
.jaipur-tour-rating {
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin:0 0 8px!important;
    min-height:18px!important
}

.jaipur-tour-rating .rating-stars {
    gap:1.5px!important
}

.jaipur-tour-rating .rating-stars i {
    font-size:10.5px!important
}

.jaipur-tour-rating strong {
    font-size:11.5px!important;
    line-height:1!important;
    color:#26364b!important
}

.jaipur-tour-rating small {
    font-size:10.5px!important;
    line-height:1!important;
    color:#8a95a4!important
}

/* sticky form: follows the page up/down on desktop */
@media(min-width:1200px) {
    .jaipur-tours-section .row {
        align-items:flex-start!important
    }

    .jaipur-tours-section .col-xl-4 {
        align-self:stretch!important
    }

    .jaipur-plan-card {
        position:-webkit-sticky!important;
        position:sticky!important;
        top:122px!important;
        z-index:8!important;
        max-height:calc(100vh - 142px)!important;
        overflow:auto!important;
        overscroll-behavior:contain!important
    }

    /* slim scrollbar so sticky form still looks clean */
    .jaipur-plan-card::-webkit-scrollbar {
        width:4px!important
    }

    .jaipur-plan-card::-webkit-scrollbar-thumb {
        background:#d7b8ae!important;
        border-radius:10px!important
    }

}

/* prevent ancestors from breaking sticky */
.jaipur-tours-section, .jaipur-tours-section>.container-xl, .jaipur-tours-section .row, .jaipur-tours-section .col-xl-4 {
    overflow:visible!important
}

/* stronger heading hierarchy inside cards */
.jaipur-tour-content h3 {
    font-size:20px!important;
    line-height:1.28!important
}

/* tablet/mobile rating */
@media(max-width:1199.98px) {
    .jaipur-plan-card {
        position:static!important;
        max-height:none!important;
        overflow:visible!important
    }

}

@media(max-width:767.98px) {
    .jaipur-destination-rating {
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:5px!important;
        font-size:11px!important
    }

    .jaipur-tour-rating {
        margin-bottom:7px!important
    }

    .jaipur-tour-rating .rating-stars i {
        font-size:10px!important
    }

    .jaipur-tour-rating strong {
        font-size:11px!important
    }

    .jaipur-tour-rating small {
        font-size:10px!important
    }

}

/* ==========================================================
   FOOTER FINAL FIX — FULL WIDTH + PROPER SPACING
   Same clean footer spacing for Home / About / Destination pages.
========================================================== */
.footer {
    position:relative!important;
    display:block!important;
    clear:both!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:0!important;
    background:#0f1b2d!important;
    color:#c8d0dc!important;
    overflow:hidden!important
}

.footer>.container-xl {
    width:100%!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:24px!important;
    padding-right:24px!important
}

.footer-top {
    display:grid!important;
    grid-template-columns:1.3fr .9fr .9fr!important;
    gap:42px!important;
    padding-top:48px!important;
    padding-bottom:28px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important
}

.footer-brand {
    min-width:0!important
}

.footer-brand img {
    display:block!important;
    width:185px!important;
    max-width:100%!important;
    height:auto!important;
    margin:0 0 16px!important;
    padding:0!important
}

.footer-brand p {
    max-width:380px!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.7!important;
    color:#aeb8c5!important
}

.footer-top h3, .footer-links h4 {
    margin:0 0 12px!important;
    font-size:15px!important;
    line-height:1.3!important;
    font-weight:700!important;
    color:#fff!important
}

.footer-top>div:nth-child(2) a, .footer-top>div:nth-child(2) span {
    display:flex!important;
    align-items:flex-start!important;
    gap:7px!important;
    margin:7px 0!important;
    font-size:13.5px!important;
    line-height:1.45!important;
    color:#aeb8c5!important
}

.socials {
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin-top:10px!important
}

.socials a {
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #536071!important;
    border-radius:50%!important;
    color:#fff!important;
    font-size:12px!important
}

.footer-links {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:30px!important;
    padding-top:26px!important;
    padding-bottom:24px!important
}

.footer-links a {
    display:block!important;
    margin:6px 0!important;
    font-size:13.5px!important;
    line-height:1.45!important;
    color:#9eabb9!important
}

.footer-links a:hover, .footer-top a:hover {
    color:#fff!important
}

.copyright {
    width:100%!important;
    max-width:1280px!important;
    margin:0 auto!important;
    padding:16px 24px 20px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    font-size:12px!important;
    line-height:1.5!important;
    color:#7f8a98!important
}

/* remove excessive space before footer */
.jaipur-tours-section {
    padding-bottom:48px!important
}

.jaipur-tours-section + .footer, main + .footer {
    margin-top:0!important
}

/* TABLET */
@media(max-width:991.98px) {
    .footer>.container-xl {
        max-width:none!important;
        padding-left:20px!important;
        padding-right:20px!important
    }

    .footer-top {
        grid-template-columns:1fr 1fr!important;
        gap:28px!important;
        padding-top:40px!important;
        padding-bottom:24px!important
    }

    .footer-brand {
        grid-column:1/-1!important
    }

    .footer-brand img {
        width:175px!important;
        margin-bottom:14px!important
    }

    .footer-links {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:22px 28px!important;
        padding-top:24px!important;
        padding-bottom:22px!important
    }

    .copyright {
        max-width:none!important;
        padding-left:20px!important;
        padding-right:20px!important
    }

}

/* MOBILE */
@media(max-width:767.98px) {
    .footer {
        width:100vw!important;
        max-width:100vw!important
    }

    .footer>.container-xl {
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding-left:16px!important;
        padding-right:16px!important
    }

    .footer-top {
        grid-template-columns:1fr!important;
        gap:20px!important;
        padding-top:32px!important;
        padding-bottom:20px!important
    }

    .footer-brand {
        grid-column:auto!important
    }

    .footer-brand img {
        width:160px!important;
        margin-bottom:12px!important
    }

    .footer-brand p {
        max-width:100%!important;
        font-size:13px!important;
        line-height:1.6!important
    }

    .footer-top h3, .footer-links h4 {
        font-size:14px!important;
        margin-bottom:9px!important
    }

    .footer-top>div:nth-child(2) a, .footer-top>div:nth-child(2) span, .footer-links a {
        font-size:13px!important
    }

    .footer-links {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:18px!important;
        padding-top:20px!important;
        padding-bottom:20px!important
    }

    .copyright {
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:14px 16px 18px!important;
        font-size:11.5px!important
    }

    .jaipur-tours-section {
        padding-bottom:36px!important
    }

}

/* SMALL MOBILE */
@media(max-width:480px) {
    .footer>.container-xl {
        padding-left:14px!important;
        padding-right:14px!important
    }

    .footer-top {
        gap:18px!important
    }

    .footer-brand img {
        width:150px!important
    }

    .footer-links {
        grid-template-columns:1fr!important;
        gap:15px!important
    }

    .copyright {
        padding-left:14px!important;
        padding-right:14px!important
    }

}

/* ==========================================================
   JAIPUR DETAIL FINAL POLISH
   Sticky enquiry form + visible 5-star / 4.8 review styling.
========================================================== */
/* page-level destination rating */
.jaipur-destination-rating {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin:0 0 10px!important;
    padding:10px 12px!important;
    border:1px solid #e1e7ee!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#667487!important;
    font-size:11.5px!important
}

.jaipur-destination-rating .rating-left {
    display:flex!important;
    align-items:center!important;
    gap:7px!important
}

.rating-stars {
    display:inline-flex!important;
    align-items:center!important;
    gap:2px!important;
    color:#ffb000!important
}

.rating-stars i {
    font-size:11px!important;
    color:#ffb000!important
}

.jaipur-destination-rating strong {
    font-size:13px!important;
    color:#102039!important
}

/* tour card reviews */
.jaipur-tour-rating {
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin:0 0 8px!important;
    min-height:18px!important
}

.jaipur-tour-rating .rating-stars {
    gap:1.5px!important
}

.jaipur-tour-rating .rating-stars i {
    font-size:10.5px!important
}

.jaipur-tour-rating strong {
    font-size:11.5px!important;
    line-height:1!important;
    color:#26364b!important
}

.jaipur-tour-rating small {
    font-size:10.5px!important;
    line-height:1!important;
    color:#8a95a4!important
}

/* sticky form: follows the page up/down on desktop */
@media(min-width:1200px) {
    .jaipur-tours-section .row {
        align-items:flex-start!important
    }

    .jaipur-tours-section .col-xl-4 {
        align-self:stretch!important
    }

    .jaipur-plan-card {
        position:-webkit-sticky!important;
        position:sticky!important;
        top:122px!important;
        z-index:8!important;
        max-height:calc(100vh - 142px)!important;
        overflow:auto!important;
        overscroll-behavior:contain!important
    }

    /* slim scrollbar so sticky form still looks clean */
    .jaipur-plan-card::-webkit-scrollbar {
        width:4px!important
    }

    .jaipur-plan-card::-webkit-scrollbar-thumb {
        background:#d7b8ae!important;
        border-radius:10px!important
    }

}

/* prevent ancestors from breaking sticky */
.jaipur-tours-section, .jaipur-tours-section>.container-xl, .jaipur-tours-section .row, .jaipur-tours-section .col-xl-4 {
    overflow:visible!important
}

/* stronger heading hierarchy inside cards */
.jaipur-tour-content h3 {
    font-size:20px!important;
    line-height:1.28!important
}

/* tablet/mobile rating */
@media(max-width:1199.98px) {
    .jaipur-plan-card {
        position:static!important;
        max-height:none!important;
        overflow:visible!important
    }

}

@media(max-width:767.98px) {
    .jaipur-destination-rating {
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:5px!important;
        font-size:11px!important
    }

    .jaipur-tour-rating {
        margin-bottom:7px!important
    }

    .jaipur-tour-rating .rating-stars i {
        font-size:10px!important
    }

    .jaipur-tour-rating strong {
        font-size:11px!important
    }

    .jaipur-tour-rating small {
        font-size:10px!important
    }

}

/* ==========================================================
   FOOTER FINAL FIX — FULL WIDTH + PROPER SPACING
   Same clean footer spacing for Home / About / Destination pages.
========================================================== */
.footer {
    position:relative!important;
    display:block!important;
    clear:both!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:0!important;
    background:#0f1b2d!important;
    color:#c8d0dc!important;
    overflow:hidden!important
}

.footer>.container-xl {
    width:100%!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:24px!important;
    padding-right:24px!important
}

.footer-top {
    display:grid!important;
    grid-template-columns:1.3fr .9fr .9fr!important;
    gap:42px!important;
    padding-top:48px!important;
    padding-bottom:28px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important
}

.footer-brand {
    min-width:0!important
}

.footer-brand img {
    display:block!important;
    width:185px!important;
    max-width:100%!important;
    height:auto!important;
    margin:0 0 16px!important;
    padding:0!important
}

.footer-brand p {
    max-width:380px!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.7!important;
    color:#aeb8c5!important
}

.footer-top h3, .footer-links h4 {
    margin:0 0 12px!important;
    font-size:15px!important;
    line-height:1.3!important;
    font-weight:700!important;
    color:#fff!important
}

.footer-top>div:nth-child(2) a, .footer-top>div:nth-child(2) span {
    display:flex!important;
    align-items:flex-start!important;
    gap:7px!important;
    margin:7px 0!important;
    font-size:13.5px!important;
    line-height:1.45!important;
    color:#aeb8c5!important
}

.socials {
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin-top:10px!important
}

.socials a {
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #536071!important;
    border-radius:50%!important;
    color:#fff!important;
    font-size:12px!important
}

.footer-links {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:30px!important;
    padding-top:26px!important;
    padding-bottom:24px!important
}

.footer-links a {
    display:block!important;
    margin:6px 0!important;
    font-size:13.5px!important;
    line-height:1.45!important;
    color:#9eabb9!important
}

.footer-links a:hover, .footer-top a:hover {
    color:#fff!important
}

.copyright {
    width:100%!important;
    max-width:1280px!important;
    margin:0 auto!important;
    padding:16px 24px 20px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    font-size:12px!important;
    line-height:1.5!important;
    color:#7f8a98!important
}

/* remove excessive space before footer */
.jaipur-tours-section {
    padding-bottom:48px!important
}

.jaipur-tours-section + .footer, main + .footer {
    margin-top:0!important
}

/* TABLET */
@media(max-width:991.98px) {
    .footer>.container-xl {
        max-width:none!important;
        padding-left:20px!important;
        padding-right:20px!important
    }

    .footer-top {
        grid-template-columns:1fr 1fr!important;
        gap:28px!important;
        padding-top:40px!important;
        padding-bottom:24px!important
    }

    .footer-brand {
        grid-column:1/-1!important
    }

    .footer-brand img {
        width:175px!important;
        margin-bottom:14px!important
    }

    .footer-links {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:22px 28px!important;
        padding-top:24px!important;
        padding-bottom:22px!important
    }

    .copyright {
        max-width:none!important;
        padding-left:20px!important;
        padding-right:20px!important
    }

}

/* MOBILE */
@media(max-width:767.98px) {
    .footer {
        width:100vw!important;
        max-width:100vw!important
    }

    .footer>.container-xl {
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding-left:16px!important;
        padding-right:16px!important
    }

    .footer-top {
        grid-template-columns:1fr!important;
        gap:20px!important;
        padding-top:32px!important;
        padding-bottom:20px!important
    }

    .footer-brand {
        grid-column:auto!important
    }

    .footer-brand img {
        width:160px!important;
        margin-bottom:12px!important
    }

    .footer-brand p {
        max-width:100%!important;
        font-size:13px!important;
        line-height:1.6!important
    }

    .footer-top h3, .footer-links h4 {
        font-size:14px!important;
        margin-bottom:9px!important
    }

    .footer-top>div:nth-child(2) a, .footer-top>div:nth-child(2) span, .footer-links a {
        font-size:13px!important
    }

    .footer-links {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:18px!important;
        padding-top:20px!important;
        padding-bottom:20px!important
    }

    .copyright {
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:14px 16px 18px!important;
        font-size:11.5px!important
    }

    .jaipur-tours-section {
        padding-bottom:36px!important
    }

}

/* SMALL MOBILE */
@media(max-width:480px) {
    .footer>.container-xl {
        padding-left:14px!important;
        padding-right:14px!important
    }

    .footer-top {
        gap:18px!important
    }

    .footer-brand img {
        width:150px!important
    }

    .footer-links {
        grid-template-columns:1fr!important;
        gap:15px!important
    }

    .copyright {
        padding-left:14px!important;
        padding-right:14px!important
    }

}

/* ==========================================================
   FOOTER FINAL FIX — FULL WIDTH + PROPER SPACING
   Same clean footer spacing for Home / About / Destination pages.
========================================================== */
.footer {
    position:relative!important;
    display:block!important;
    clear:both!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:0!important;
    background:#0f1b2d!important;
    color:#c8d0dc!important;
    overflow:hidden!important
}

.footer>.container-xl {
    width:100%!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:24px!important;
    padding-right:24px!important
}

.footer-top {
    display:grid!important;
    grid-template-columns:1.3fr .9fr .9fr!important;
    gap:42px!important;
    padding-top:48px!important;
    padding-bottom:28px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important
}

.footer-brand {
    min-width:0!important
}

.footer-brand img {
    display:block!important;
    width:185px!important;
    max-width:100%!important;
    height:auto!important;
    margin:0 0 16px!important;
    padding:0!important
}

.footer-brand p {
    max-width:380px!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.7!important;
    color:#aeb8c5!important
}

.footer-top h3, .footer-links h4 {
    margin:0 0 12px!important;
    font-size:15px!important;
    line-height:1.3!important;
    font-weight:700!important;
    color:#fff!important
}

.footer-top>div:nth-child(2) a, .footer-top>div:nth-child(2) span {
    display:flex!important;
    align-items:flex-start!important;
    gap:7px!important;
    margin:7px 0!important;
    font-size:13.5px!important;
    line-height:1.45!important;
    color:#aeb8c5!important
}

.socials {
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin-top:10px!important
}

.socials a {
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #536071!important;
    border-radius:50%!important;
    color:#fff!important;
    font-size:12px!important
}

.footer-links {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:30px!important;
    padding-top:26px!important;
    padding-bottom:24px!important
}

.footer-links a {
    display:block!important;
    margin:6px 0!important;
    font-size:13.5px!important;
    line-height:1.45!important;
    color:#9eabb9!important
}

.footer-links a:hover, .footer-top a:hover {
    color:#fff!important
}

.copyright {
    width:100%!important;
    max-width:1280px!important;
    margin:0 auto!important;
    padding:16px 24px 20px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    font-size:12px!important;
    line-height:1.5!important;
    color:#7f8a98!important
}

/* remove excessive space before footer */
.jaipur-tours-section {
    padding-bottom:48px!important
}

.jaipur-tours-section + .footer, main + .footer {
    margin-top:0!important
}

/* TABLET */
@media(max-width:991.98px) {
    .footer>.container-xl {
        max-width:none!important;
        padding-left:20px!important;
        padding-right:20px!important
    }

    .footer-top {
        grid-template-columns:1fr 1fr!important;
        gap:28px!important;
        padding-top:40px!important;
        padding-bottom:24px!important
    }

    .footer-brand {
        grid-column:1/-1!important
    }

    .footer-brand img {
        width:175px!important;
        margin-bottom:14px!important
    }

    .footer-links {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:22px 28px!important;
        padding-top:24px!important;
        padding-bottom:22px!important
    }

    .copyright {
        max-width:none!important;
        padding-left:20px!important;
        padding-right:20px!important
    }

}

/* MOBILE */
@media(max-width:767.98px) {
    .footer {
        width:100vw!important;
        max-width:100vw!important
    }

    .footer>.container-xl {
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding-left:16px!important;
        padding-right:16px!important
    }

    .footer-top {
        grid-template-columns:1fr!important;
        gap:20px!important;
        padding-top:32px!important;
        padding-bottom:20px!important
    }

    .footer-brand {
        grid-column:auto!important
    }

    .footer-brand img {
        width:160px!important;
        margin-bottom:12px!important
    }

    .footer-brand p {
        max-width:100%!important;
        font-size:13px!important;
        line-height:1.6!important
    }

    .footer-top h3, .footer-links h4 {
        font-size:14px!important;
        margin-bottom:9px!important
    }

    .footer-top>div:nth-child(2) a, .footer-top>div:nth-child(2) span, .footer-links a {
        font-size:13px!important
    }

    .footer-links {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:18px!important;
        padding-top:20px!important;
        padding-bottom:20px!important
    }

    .copyright {
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:14px 16px 18px!important;
        font-size:11.5px!important
    }

    .jaipur-tours-section {
        padding-bottom:36px!important
    }

}

/* SMALL MOBILE */
@media(max-width:480px) {
    .footer>.container-xl {
        padding-left:14px!important;
        padding-right:14px!important
    }

    .footer-top {
        gap:18px!important
    }

    .footer-brand img {
        width:150px!important
    }

    .footer-links {
        grid-template-columns:1fr!important;
        gap:15px!important
    }

    .copyright {
        padding-left:14px!important;
        padding-right:14px!important
    }

}

/* ==========================================================
   FINAL SHARED STABILIZER — ALL PAGES
========================================================== */
html,body {
    max-width:100%;
    overflow-x:hidden
}

img {
    max-width:100%
}

main {
    display:block;
    width:100%
}

.section {
    position:relative
}

.footer {
    clear:both
}

@media(max-width:767.98px) {
    body {
        font-size:14px
    }

    .inner-hero {
        background-position:center!important
    }

}

/* ==========================================================
   TOUR THEME DETAIL PAGE
   Mirrors Destination Detail page layout and behavior.
========================================================== */
.theme-detail-intro {
    background:#fff!important;
    padding-top:50px!important;
    padding-bottom:44px!important
}

.theme-detail-intro h2 {
    margin:8px 0 14px!important;
    font-size:34px!important;
    line-height:1.2!important;
    font-weight:700!important;
    color:#102039!important
}

.theme-detail-intro p {
    margin:0 0 12px!important;
    font-size:15px!important;
    line-height:1.72!important;
    color:#667487!important
}

.theme-detail-highlights {
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-top:18px!important
}

.theme-detail-highlights span {
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    padding:8px 11px!important;
    border-radius:8px!important;
    background:#f7f9fc!important;
    border:1px solid #e3e8ee!important;
    font-size:12px!important;
    font-weight:600!important;
    color:#2b3a4f!important
}

.theme-detail-highlights i {
    color:#ef4e43!important
}

.theme-detail-rating {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin:0 0 10px!important;
    padding:10px 12px!important;
    border:1px solid #e1e7ee!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#667487!important;
    font-size:11.5px!important
}

.theme-detail-rating .rating-left {
    display:flex!important;
    align-items:center!important;
    gap:7px!important
}

.theme-detail-rating strong {
    font-size:13px!important;
    color:#102039!important
}

.theme-detail-info {
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:1px!important;
    overflow:hidden!important;
    border:1px solid #dce3eb!important;
    border-radius:12px!important;
    background:#dce3eb!important
}

.theme-detail-info>div {
    padding:18px!important;
    background:#fff!important
}

.theme-detail-info strong,.theme-detail-info span {
    display:block!important
}

.theme-detail-info strong {
    margin-bottom:5px!important;
    font-size:11px!important;
    text-transform:uppercase!important;
    letter-spacing:.45px!important;
    color:#ef4e43!important
}

.theme-detail-info span {
    font-size:13.5px!important;
    line-height:1.45!important;
    color:#536174!important
}

/* listing */
.theme-detail-tours {
    background:#f7f9fc!important;
    padding-top:48px!important;
    padding-bottom:48px!important
}

.theme-detail-tours-head {
    margin-bottom:22px!important
}

.theme-detail-tours-head h2 {
    margin:8px 0 8px!important;
    font-size:32px!important;
    line-height:1.2!important;
    font-weight:700!important;
    color:#102039!important
}

.theme-detail-tours-head p {
    margin:0!important;
    max-width:730px!important;
    font-size:14.5px!important;
    line-height:1.65!important;
    color:#68768a!important
}

.theme-tour-list {
    display:grid!important;
    gap:14px!important
}

.theme-tour-card {
    display:grid!important;
    grid-template-columns:250px minmax(0,1fr)!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #dce3eb!important;
    border-radius:12px!important;
    box-shadow:0 4px 15px rgba(15,27,45,.035)!important;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important
}

.theme-tour-card:hover {
    transform:translateY(-2px)!important;
    border-color:#efc9c4!important;
    box-shadow:0 9px 24px rgba(15,27,45,.075)!important
}

.theme-tour-image {
    position:relative!important;
    min-height:215px!important;
    overflow:hidden!important
}

.theme-tour-image img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transition:transform .35s ease!important
}

.theme-tour-card:hover .theme-tour-image img {
    transform:scale(1.035)!important
}

.theme-tour-image span {
    position:absolute!important;
    left:12px!important;
    top:12px!important;
    padding:5px 8px!important;
    border-radius:18px!important;
    background:#ef4e43!important;
    color:#fff!important;
    font-size:9.5px!important;
    font-weight:700!important
}

.theme-tour-content {
    display:flex!important;
    flex-direction:column!important;
    padding:18px 20px!important
}

.theme-tour-meta {
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    margin-bottom:7px!important;
    font-size:10px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.45px!important;
    color:#8a95a4!important
}

.theme-tour-meta span {
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important
}

.theme-tour-meta i {
    color:#ef4e43!important
}

.theme-tour-rating {
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin:0 0 8px!important;
    min-height:18px!important
}

.theme-tour-rating .rating-stars {
    display:inline-flex!important;
    gap:1.5px!important
}

.theme-tour-rating .rating-stars i {
    font-size:10.5px!important;
    color:#ffb000!important
}

.theme-tour-rating strong {
    font-size:11.5px!important;
    line-height:1!important;
    color:#26364b!important
}

.theme-tour-rating small {
    font-size:10.5px!important;
    line-height:1!important;
    color:#8a95a4!important
}

.theme-tour-content h3 {
    margin:0 0 7px!important;
    font-size:20px!important;
    line-height:1.28!important;
    font-weight:700!important;
    color:#102039!important
}

.theme-tour-content p {
    margin:0 0 9px!important;
    font-size:13.5px!important;
    line-height:1.55!important;
    color:#68768a!important
}

.theme-tour-location {
    display:flex!important;
    align-items:flex-start!important;
    gap:6px!important;
    margin-bottom:14px!important;
    font-size:12.5px!important;
    font-weight:600!important;
    color:#39485c!important
}

.theme-tour-location i {
    margin-top:2px!important;
    font-size:11px!important;
    color:#ef4e43!important
}

.theme-tour-bottom {
    display:flex!important;
    align-items:end!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin-top:auto!important;
    padding-top:12px!important;
    border-top:1px solid #edf0f3!important
}

.theme-tour-bottom small {
    display:block!important;
    font-size:10px!important;
    color:#8a95a4!important
}

.theme-tour-bottom strong {
    display:block!important;
    margin-top:2px!important;
    font-size:17px!important;
    color:#ef4e43!important
}

.theme-tour-bottom a {
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    color:#102039!important;
    font-size:11.5px!important;
    font-weight:700!important;
    text-decoration:none!important
}

.theme-tour-bottom a i {
    font-size:8px!important
}

.theme-tour-bottom a:hover {
    color:#ef4e43!important
}

.theme-list-footer {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:15px!important;
    margin-top:18px!important;
    font-size:12px!important;
    color:#758194!important
}

.theme-list-footer a {
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    color:#ef4e43!important;
    font-weight:600!important
}

/* sticky form */
.theme-detail-tours, .theme-detail-tours>.container-xl, .theme-detail-tours .row, .theme-detail-tours .col-xl-4 {
    overflow:visible!important
}

@media(min-width:1200px) {
    .theme-detail-tours .row {
        align-items:flex-start!important
    }

    .theme-detail-tours .col-xl-4 {
        align-self:stretch!important
    }

    .theme-plan-card {
        position:-webkit-sticky!important;
        position:sticky!important;
        top:122px!important;
        z-index:8!important;
        max-height:calc(100vh - 142px)!important;
        overflow:auto!important;
        overscroll-behavior:contain!important
    }

    .theme-plan-card::-webkit-scrollbar {
        width:4px!important
    }

    .theme-plan-card::-webkit-scrollbar-thumb {
        background:#d7b8ae!important;
        border-radius:10px!important
    }

}

.theme-plan-card {
    padding:25px!important;
    background:#fff7f3!important;
    border:1px solid #f0d8d0!important;
    border-radius:14px!important;
    box-shadow:0 10px 28px rgba(15,27,45,.06)!important
}

.theme-plan-card h2 {
    margin:9px 0 8px!important;
    font-size:27px!important;
    line-height:1.2!important;
    font-weight:700!important;
    color:#102039!important
}

.theme-plan-card>p {
    margin:0 0 17px!important;
    font-size:13.5px!important;
    line-height:1.6!important;
    color:#68768a!important
}

.theme-plan-form .form-group {
    margin-bottom:11px!important
}

.theme-plan-form label {
    display:block!important;
    margin-bottom:5px!important;
    font-size:10.5px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.4px!important;
    color:#39485c!important
}

.theme-plan-form input,.theme-plan-form textarea {
    width:100%!important;
    border:1px solid #d8c6bd!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#102039!important;
    font-family:inherit!important;
    font-size:13px!important;
    outline:none!important
}

.theme-plan-form input {
    height:43px!important;
    padding:0 12px!important
}

.theme-plan-form textarea {
    height:105px!important;
    min-height:105px!important;
    padding:11px 12px!important;
    resize:vertical!important
}

.theme-plan-form input:focus,.theme-plan-form textarea:focus {
    border-color:#ef4e43!important;
    box-shadow:0 0 0 2px rgba(239,78,67,.08)!important
}

.theme-plan-form button {
    width:100%!important;
    height:45px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border:0!important;
    border-radius:8px!important;
    background:#ef4e43!important;
    color:#fff!important;
    font-size:12.5px!important;
    font-weight:700!important
}

.theme-plan-form button:hover {
    background:#102039!important
}

.theme-plan-form>small {
    display:flex!important;
    align-items:flex-start!important;
    gap:6px!important;
    margin-top:9px!important;
    font-size:10px!important;
    line-height:1.45!important;
    color:#8a756c!important
}

@media(max-width:1199.98px) {
    .theme-plan-card {
        position:static!important;
        max-height:none!important;
        overflow:visible!important
    }

}

@media(max-width:991.98px) {
    .theme-detail-intro h2 {
        font-size:30px!important
    }

    .theme-tour-card {
        grid-template-columns:220px minmax(0,1fr)!important
    }

    .theme-tour-image {
        min-height:205px!important
    }

}

@media(max-width:767.98px) {
    .theme-detail-intro {
        padding-top:38px!important;
        padding-bottom:36px!important
    }

    .theme-detail-intro h2 {
        font-size:27px!important
    }

    .theme-detail-intro p {
        font-size:14px!important
    }

    .theme-detail-info {
        grid-template-columns:1fr 1fr!important
    }

    .theme-detail-info>div {
        padding:14px!important
    }

    .theme-detail-rating {
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:5px!important;
        font-size:11px!important
    }

    .theme-detail-tours {
        padding-top:38px!important;
        padding-bottom:36px!important
    }

    .theme-detail-tours-head h2 {
        font-size:27px!important
    }

    .theme-tour-card {
        grid-template-columns:1fr!important;
        border-radius:10px!important
    }

    .theme-tour-image {
        min-height:0!important;
        aspect-ratio:4/3!important
    }

    .theme-tour-content {
        padding:15px!important
    }

    .theme-tour-content h3 {
        font-size:18px!important
    }

    .theme-tour-content p {
        font-size:13px!important
    }

    .theme-list-footer {
        align-items:flex-start!important;
        flex-direction:column!important
    }

    .theme-plan-card {
        padding:20px 16px!important;
        border-radius:11px!important
    }

    .theme-plan-card h2 {
        font-size:24px!important
    }

}

@media(max-width:480px) {
    .theme-detail-info {
        grid-template-columns:1fr!important
    }

    .theme-detail-highlights {
        display:grid!important;
        grid-template-columns:1fr 1fr!important
    }

}

/* ==========================================================
   TOUR DETAILS PAGE
========================================================== */
.tour-detail-page {
    background:#fff!important;
    padding-top:44px!important;
    padding-bottom:48px!important
}

.tour-detail-page,.tour-detail-page>.container-xl,.tour-detail-page .row,.tour-detail-page .col-xl-4 {
    overflow:visible!important
}

.tour-detail-main {
    display:grid!important;
    gap:22px!important
}

/* gallery */
.tour-gallery-main {
    position:relative!important;
    overflow:hidden!important;
    border-radius:14px!important;
    background:#eef2f6!important;
    aspect-ratio:16/9!important
}

.tour-gallery-slide {
    position:absolute!important;
    inset:0!important;
    opacity:0!important;
    transition:opacity .45s ease!important
}

.tour-gallery-slide.active {
    opacity:1!important
}

.tour-gallery-slide img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important
}

.tour-gallery-arrow {
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:36px!important;
    height:36px!important;
    border:0!important;
    border-radius:50%!important;
    background:rgba(15,27,45,.62)!important;
    color:#fff!important;
    z-index:3!important
}

.tour-gallery-prev {
    left:14px!important
}

.tour-gallery-next {
    right:14px!important
}

.tour-gallery-thumbs {
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:8px!important;
    margin-top:9px!important
}

.tour-gallery-thumbs button {
    height:74px!important;
    padding:0!important;
    border:2px solid transparent!important;
    border-radius:8px!important;
    overflow:hidden!important;
    background:#fff!important
}

.tour-gallery-thumbs button.active {
    border-color:#ef4e43!important
}

.tour-gallery-thumbs img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important
}

/* summary */
.tour-detail-summary {
    padding:24px!important;
    border:1px solid #dce3eb!important;
    border-radius:13px!important;
    background:#fff!important
}

.tour-summary-head {
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:20px!important
}

.tour-summary-head h2 {
    margin:8px 0 7px!important;
    font-size:31px!important;
    line-height:1.2!important;
    color:#102039!important
}

.tour-detail-rating {
    display:flex!important;
    align-items:center!important;
    gap:6px!important
}

.tour-detail-rating .rating-stars i {
    font-size:11px!important;
    color:#ffb000!important
}

.tour-detail-rating strong {
    font-size:12px!important;
    color:#102039!important
}

.tour-detail-rating small {
    font-size:11px!important;
    color:#8793a4!important
}

.tour-price-box {
    text-align:right!important;
    min-width:125px!important;
    padding:12px 14px!important;
    border-radius:10px!important;
    background:#fff5f2!important
}

.tour-price-box small,.tour-price-box span {
    display:block!important;
    font-size:10px!important;
    color:#8a756c!important
}

.tour-price-box strong {
    display:block!important;
    margin:2px 0!important;
    font-size:22px!important;
    color:#ef4e43!important
}

.tour-facts-grid {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:20px!important
}

.tour-facts-grid>div {
    display:flex!important;
    align-items:flex-start!important;
    gap:9px!important;
    padding:12px!important;
    border:1px solid #e4e9ef!important;
    border-radius:9px!important;
    background:#fafbfd!important
}

.tour-facts-grid i {
    margin-top:2px!important;
    color:#ef4e43!important;
    font-size:14px!important
}

.tour-facts-grid small,.tour-facts-grid strong {
    display:block!important
}

.tour-facts-grid small {
    font-size:9.5px!important;
    color:#8a95a4!important;
    text-transform:uppercase!important
}

.tour-facts-grid strong {
    margin-top:2px!important;
    font-size:11.5px!important;
    line-height:1.35!important;
    color:#27364b!important
}

/* content blocks */
.tour-content-block {
    padding:24px!important;
    border:1px solid #e1e6ed!important;
    border-radius:13px!important;
    background:#fff!important
}

.tour-content-block h2 {
    margin:8px 0 12px!important;
    font-size:27px!important;
    line-height:1.22!important;
    color:#102039!important
}

.tour-content-block>p {
    font-size:14.5px!important;
    line-height:1.72!important;
    color:#667487!important;
    margin:0 0 10px!important
}

.tour-highlights-grid {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important
}

.tour-highlights-grid>div {
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    padding:12px!important;
    background:#f8fafc!important;
    border-radius:8px!important;
    font-size:12.5px!important;
    color:#37465b!important
}

.tour-highlights-grid i {
    color:#ef4e43!important
}

/* itinerary */
.tour-itinerary-list {
    display:grid!important;
    gap:8px!important
}

.tour-itinerary-item {
    border:1px solid #e1e6ed!important;
    border-radius:10px!important;
    background:#fff!important;
    overflow:hidden!important
}

.tour-itinerary-toggle {
    width:100%!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 22px!important;
    align-items:center!important;
    gap:11px!important;
    padding:12px 14px!important;
    border:0!important;
    background:#fff!important;
    text-align:left!important
}

.tour-itinerary-item.active .tour-itinerary-toggle {
    background:#fff5f2!important
}

.day-icon {
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    background:#f2f5f8!important;
    color:#ef4e43!important
}

.day-copy small,.day-copy strong {
    display:block!important
}

.day-copy small {
    font-size:9px!important;
    color:#ef4e43!important;
    text-transform:uppercase!important;
    font-weight:700!important
}

.day-copy strong {
    font-size:13.5px!important;
    color:#17263b!important
}

.day-plus {
    position:relative!important;
    width:18px!important;
    height:18px!important
}

.day-plus:before,.day-plus:after {
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    background:#667487!important;
    transform:translate(-50%,-50%)!important
}

.day-plus:before {
    width:10px!important;
    height:1.5px!important
}

.day-plus:after {
    width:1.5px!important;
    height:10px!important
}

.tour-itinerary-item.active .day-plus:after {
    opacity:0!important
}

.tour-itinerary-panel {
    max-height:0;
    overflow:hidden!important;
    transition:max-height .35s ease!important
}

.tour-itinerary-panel-inner {
    padding:0 14px 14px 67px!important
}

.tour-itinerary-panel p {
    margin:0!important;
    font-size:13px!important;
    line-height:1.6!important;
    color:#667487!important
}

/* include exclude */
.tour-list-card {
    height:100%!important;
    padding:20px!important;
    border:1px solid #dfe5ec!important;
    border-radius:11px!important;
    background:#fff!important
}

.tour-list-card h3 {
    margin:7px 0 12px!important;
    font-size:20px!important;
    color:#102039!important
}

.tour-list-card ul {
    list-style:none!important;
    padding:0!important;
    margin:0!important;
    display:grid!important;
    gap:8px!important
}

.tour-list-card li {
    display:flex!important;
    align-items:flex-start!important;
    gap:8px!important;
    font-size:12.5px!important;
    line-height:1.45!important;
    color:#59687b!important
}

.included-card li i {
    color:#26a269!important
}

.excluded-card li i {
    color:#ef4e43!important
}

/* FAQ */
.tour-faq-list {
    display:grid!important;
    gap:8px!important
}

.tour-faq-item {
    border:1px solid #e1e6ed!important;
    border-radius:9px!important;
    overflow:hidden!important
}

.tour-faq-item button {
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:13px 14px!important;
    border:0!important;
    background:#fff!important;
    text-align:left!important;
    font-size:13px!important;
    font-weight:600!important;
    color:#17263b!important
}

.tour-faq-item.active button {
    background:#fff5f2!important;
    color:#ef4e43!important
}

.faq-plus {
    position:relative!important;
    width:18px!important;
    height:18px!important
}

.faq-plus:before,.faq-plus:after {
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    background:#667487!important;
    transform:translate(-50%,-50%)!important
}

.faq-plus:before {
    width:10px!important;
    height:1.5px!important
}

.faq-plus:after {
    width:1.5px!important;
    height:10px!important
}

.tour-faq-item.active .faq-plus:after {
    opacity:0!important
}

.tour-faq-panel {
    max-height:0;
    overflow:hidden!important;
    transition:max-height .35s ease!important
}

.tour-faq-panel>div {
    padding:0 14px 14px!important;
    font-size:12.8px!important;
    line-height:1.6!important;
    color:#667487!important
}

/* sticky form */
.tour-detail-plan-card {
    padding:25px!important;
    background:#fff7f3!important;
    border:1px solid #f0d8d0!important;
    border-radius:14px!important;
    box-shadow:0 10px 28px rgba(15,27,45,.06)!important
}

@media(min-width:1200px) {
    .tour-detail-plan-card {
        position:sticky!important;
        top:122px!important;
        z-index:8!important;
        max-height:calc(100vh - 142px)!important;
        overflow:auto!important
    }

    .tour-detail-plan-card::-webkit-scrollbar {
        width:4px!important
    }

    .tour-detail-plan-card::-webkit-scrollbar-thumb {
        background:#d7b8ae!important;
        border-radius:10px!important
    }

}

.tour-detail-plan-card h2 {
    margin:9px 0 8px!important;
    font-size:27px!important;
    line-height:1.2!important;
    color:#102039!important
}

.tour-detail-plan-card>p {
    font-size:13.5px!important;
    line-height:1.6!important;
    color:#68768a!important
}

.tour-detail-plan-form .form-group {
    margin-bottom:11px!important
}

.tour-detail-plan-form label {
    display:block!important;
    margin-bottom:5px!important;
    font-size:10.5px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.4px!important;
    color:#39485c!important
}

.tour-detail-plan-form input,.tour-detail-plan-form textarea {
    width:100%!important;
    border:1px solid #d8c6bd!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#102039!important;
    font-size:13px!important;
    outline:none!important
}

.tour-detail-plan-form input {
    height:43px!important;
    padding:0 12px!important
}

.tour-detail-plan-form textarea {
    height:105px!important;
    min-height:105px!important;
    padding:11px 12px!important;
    resize:vertical!important
}

.tour-detail-plan-form input:focus,.tour-detail-plan-form textarea:focus {
    border-color:#ef4e43!important;
    box-shadow:0 0 0 2px rgba(239,78,67,.08)!important
}

.tour-detail-plan-form button {
    width:100%!important;
    height:45px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border:0!important;
    border-radius:8px!important;
    background:#ef4e43!important;
    color:#fff!important;
    font-size:12.5px!important;
    font-weight:700!important
}

.tour-detail-plan-form button:hover {
    background:#102039!important
}

.tour-detail-plan-form>small {
    display:flex!important;
    gap:6px!important;
    margin-top:9px!important;
    font-size:10px!important;
    line-height:1.45!important;
    color:#8a756c!important
}

.tour-help-box {
    display:grid!important;
    gap:7px!important;
    margin-top:15px!important;
    padding-top:14px!important;
    border-top:1px solid #edd6ce!important
}

.tour-help-box>span {
    font-size:10px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    color:#8a756c!important
}

.tour-help-box a {
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    font-size:12px!important;
    font-weight:600!important;
    color:#36465b!important
}

/* related slider */
.related-tours-section {
    background:#f7f9fc!important;
    padding-top:48px!important;
    padding-bottom:56px!important
}

.related-tour-viewport {
    overflow:hidden!important
}

.related-tour-track {
    display:flex!important;
    gap:16px!important;
    transition:transform .45s cubic-bezier(.22,.61,.36,1)!important
}

.related-tour-card {
    flex:0 0 calc((100% - 48px)/4)!important;
    overflow:hidden!important;
    border:1px solid #dce3eb!important;
    border-radius:11px!important;
    background:#fff!important
}

.related-tour-card>img {
    width:100%!important;
    aspect-ratio:4/3!important;
    object-fit:cover!important
}

.related-tour-card>div {
    padding:14px!important
}

.related-tour-card .rating-stars i {
    font-size:9px!important;
    color:#ffb000!important
}

.related-tour-card h3 {
    margin:7px 0 6px!important;
    font-size:16px!important;
    line-height:1.3!important;
    color:#102039!important
}

.related-tour-card p {
    margin:0 0 10px!important;
    font-size:11.5px!important;
    color:#667487!important
}

.related-tour-card a {
    font-size:11px!important;
    font-weight:600!important;
    color:#ef4e43!important
}

.related-tour-controls {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    margin-top:15px!important
}

.related-tour-controls button {
    width:30px!important;
    height:30px!important;
    border:1px solid #dce3eb!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#102039!important
}

.related-dots {
    display:flex!important;
    gap:6px!important
}

.related-dots button {
    width:7px!important;
    height:7px!important;
    border:0!important;
    border-radius:20px!important;
    background:#d8dee6!important
}

.related-dots button.active {
    width:22px!important;
    background:#ef4e43!important
}

@media(max-width:1050px) {
    .tour-facts-grid {
        grid-template-columns:repeat(2,1fr)!important
    }

    .related-tour-card {
        flex-basis:calc((100% - 16px)/2)!important
    }

}

@media(max-width:767.98px) {
    .tour-detail-page {
        padding-top:34px!important;
        padding-bottom:38px!important
    }

    .tour-summary-head {
        flex-direction:column!important
    }

    .tour-price-box {
        text-align:left!important
    }

    .tour-facts-grid {
        grid-template-columns:1fr 1fr!important
    }

    .tour-content-block,.tour-detail-summary {
        padding:18px!important
    }

    .tour-content-block h2,.tour-summary-head h2 {
        font-size:24px!important
    }

    .tour-highlights-grid {
        grid-template-columns:1fr!important
    }

    .tour-itinerary-panel-inner {
        padding-left:14px!important
    }

    .tour-detail-plan-card {
        position:static!important;
        max-height:none!important;
        overflow:visible!important;
        padding:20px 16px!important
    }

    .related-tour-card {
        flex-basis:100%!important
    }

    .related-tours-section {
        padding-top:38px!important;
        padding-bottom:44px!important
    }

}

@media(max-width:480px) {
    .tour-facts-grid {
        grid-template-columns:1fr!important
    }

    .tour-gallery-thumbs button {
        height:58px!important
    }

}

/* ==========================================================
   TOUR DETAIL PAGE — FINAL CLEAN / DARK TEXT / 15PX SYSTEM
========================================================== */
.tour-detail-page, .tour-detail-page p, .tour-detail-page li, .tour-detail-page input, .tour-detail-page textarea, .tour-detail-page button {
    font-size:15px!important
}

.tour-detail-page {
    color:#111827!important
}

.tour-detail-page h1, .tour-detail-page h2, .tour-detail-page h3, .tour-detail-page h4, .tour-detail-page strong {
    color:#0b1424!important
}

.tour-detail-page p, .tour-detail-page li, .tour-detail-page span {
    color:#374151!important
}

/* main left column rhythm */
.tour-detail-main {
    gap:18px!important
}

/* summary */
.tour-detail-summary {
    padding:22px!important;
    border:1px solid #d7dee8!important;
    border-radius:12px!important;
    box-shadow:none!important
}

.tour-summary-head h2 {
    font-size:30px!important;
    line-height:1.2!important
}

.tour-price-box {
    background:#fff4f1!important;
    border:1px solid #ffd8d1!important;
    padding:11px 13px!important
}

.tour-price-box strong {
    color:#ef4e43!important
}

/* top details as clean text fields, no icons */
.tour-facts-grid {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:17px!important
}

.tour-facts-grid>div {
    display:block!important;
    padding:12px 13px!important;
    border:1px solid #dde4ec!important;
    border-radius:8px!important;
    background:#fafbfd!important
}

.tour-facts-grid small {
    display:block!important;
    margin-bottom:3px!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.4px!important;
    color:#7b8797!important
}

.tour-facts-grid strong {
    display:block!important;
    font-size:13px!important;
    line-height:1.35!important;
    font-weight:700!important
}

/* separate destinations section: 5-7 destinations clearly visible */
.tour-destination-strip {
    padding:20px 22px!important;
    border:1px solid #d7dee8!important;
    border-radius:12px!important;
    background:#fff!important
}

.tour-destination-heading {
    display:flex!important;
    align-items:end!important;
    justify-content:space-between!important;
    gap:15px!important;
    margin-bottom:13px!important
}

.tour-destination-heading h3 {
    margin:0!important;
    font-size:20px!important;
    line-height:1.25!important;
    font-weight:700!important
}

.tour-destination-list {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important
}

.tour-destination-list span {
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    padding:10px 11px!important;
    border:1px solid #e1e7ee!important;
    border-radius:8px!important;
    background:#f8fafc!important;
    font-size:13px!important;
    font-weight:600!important;
    color:#26364a!important
}

.tour-destination-list b {
    display:grid!important;
    place-items:center!important;
    width:24px!important;
    height:24px!important;
    border-radius:50%!important;
    background:#fff0ed!important;
    font-size:9px!important;
    color:#ef4e43!important
}

/* content blocks */
.tour-content-block {
    padding:22px!important;
    border:1px solid #d7dee8!important;
    border-radius:12px!important
}

.tour-content-block h2 {
    font-size:26px!important;
    line-height:1.25!important;
    margin:8px 0 11px!important
}

.tour-content-block>p {
    font-size:15px!important;
    line-height:1.7!important;
    color:#374151!important
}

/* highlights: text-only, cleaner */
.tour-highlights-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important
}

.tour-highlights-grid>div {
    padding:11px 12px!important;
    border:1px solid #e1e7ee!important;
    border-radius:8px!important;
    background:#f8fafc!important;
    font-size:14px!important;
    line-height:1.4!important;
    font-weight:600!important;
    color:#26364a!important
}

/* itinerary without icons */
.tour-itinerary-toggle {
    grid-template-columns:minmax(0,1fr) 22px!important;
    gap:10px!important;
    padding:12px 14px!important
}

.day-copy small {
    font-size:10px!important;
    font-weight:700!important;
    color:#ef4e43!important
}

.day-copy strong {
    font-size:15px!important;
    line-height:1.35!important
}

.tour-itinerary-panel-inner {
    padding:0 14px 14px!important
}

.tour-itinerary-panel p {
    font-size:15px!important;
    line-height:1.65!important;
    color:#374151!important
}

/* included / excluded: icons stay only here */
.tour-list-card {
    padding:20px!important;
    border-color:#d7dee8!important
}

.tour-list-card h3 {
    font-size:19px!important
}

.tour-list-card li {
    font-size:14px!important;
    line-height:1.5!important
}

/* FAQ */
.tour-faq-item button {
    font-size:14px!important;
    line-height:1.4!important
}

.tour-faq-panel>div {
    font-size:14px!important;
    line-height:1.6!important;
    color:#374151!important
}

/* ==========================================================
   STICKY FORM — TRUE STICKY DESKTOP
========================================================== */
.tour-detail-page, .tour-detail-page>.container-xl, .tour-detail-page>.container-xl>.row, .tour-detail-sidebar-col {
    overflow:visible!important
}

.tour-detail-sidebar-col {
    position:relative!important;
    align-self:stretch!important
}

@media(min-width:1200px) {
    .tour-detail-plan-card {
        position:-webkit-sticky!important;
        position:sticky!important;
        top:116px!important;
        z-index:20!important;
        max-height:calc(100vh - 132px)!important;
        overflow:auto!important;
        overscroll-behavior:contain!important
    }

}

.tour-detail-plan-card {
    background:#fff8f5!important;
    border:1px solid #e8cfc8!important;
    box-shadow:0 8px 24px rgba(15,27,45,.06)!important
}

.tour-detail-plan-card h2 {
    font-size:25px!important
}

.tour-detail-plan-card>p {
    font-size:14px!important;
    line-height:1.6!important
}

.tour-detail-plan-form label {
    font-size:10px!important
}

.tour-detail-plan-form input, .tour-detail-plan-form textarea {
    font-size:13px!important;
    border-color:#cdbdb7!important
}

.tour-help-box a {
    font-size:12px!important
}

/* related tours: no icons / no rating clutter */
.related-tour-card h3 {
    font-size:16px!important
}

.related-tour-card p {
    font-size:12px!important
}

.related-tour-card a {
    font-size:11px!important
}

/* tablet */
@media(max-width:1050px) {
    .tour-facts-grid {
        grid-template-columns:repeat(2,1fr)!important
    }

    .tour-destination-list {
        grid-template-columns:repeat(2,1fr)!important
    }

}

/* mobile */
@media(max-width:767.98px) {
    .tour-detail-page, .tour-detail-page p, .tour-detail-page li {
        font-size:15px!important
    }

    .tour-summary-head h2 {
        font-size:25px!important
    }

    .tour-facts-grid {
        grid-template-columns:1fr 1fr!important
    }

    .tour-destination-heading {
        display:block!important;
        margin-bottom:11px!important
    }

    .tour-destination-heading h3 {
        margin-top:7px!important;
        font-size:18px!important
    }

    .tour-destination-list {
        grid-template-columns:1fr 1fr!important
    }

    .tour-content-block h2 {
        font-size:23px!important
    }

    .tour-highlights-grid {
        grid-template-columns:1fr!important
    }

    .tour-detail-plan-card {
        position:static!important;
        max-height:none!important;
        overflow:visible!important
    }

}

/* very small */
@media(max-width:480px) {
    .tour-facts-grid {
        grid-template-columns:1fr!important
    }

    .tour-destination-list {
        grid-template-columns:1fr!important
    }

}

/* ==========================================================
   TOUR DETAILS PAGE — FINAL FIX
   6 icon facts in one row, clean destinations, working sticky,
   working itinerary/FAQ, compact spacing, 15px body copy.
========================================================== */
.tour-detail-page {
    padding-top:38px!important;
    padding-bottom:44px!important;
    font-size:15px!important;
    color:#111827!important;
    overflow:visible!important;
}

.tour-detail-page>.container-xl, .tour-detail-page>.container-xl>.row, .tour-detail-page .tour-detail-sidebar-col {
    overflow:visible!important;
    transform:none!important;
    filter:none!important;
    perspective:none!important;
    contain:none!important;
}

.tour-detail-page>.container-xl>.row {
    align-items:flex-start!important;
}

.tour-detail-main {
    gap:16px!important;
}

.tour-detail-page p, .tour-detail-page li {
    font-size:15px!important;
    color:#374151!important;
}

.tour-detail-page h2, .tour-detail-page h3, .tour-detail-page strong {
    color:#0b1424!important;
}

/* ---------- SUMMARY ---------- */
.tour-detail-summary {
    padding:20px!important;
    border:1px solid #d7dee8!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:none!important;
}

.tour-summary-head {
    gap:16px!important;
}

.tour-summary-head h2 {
    margin:8px 0 7px!important;
    font-size:30px!important;
    line-height:1.2!important;
    font-weight:700!important;
}

.tour-price-box {
    min-width:125px!important;
    padding:11px 13px!important;
    border:1px solid #ffd6cf!important;
    border-radius:10px!important;
    background:#fff4f1!important;
}

.tour-price-box strong {
    color:#ef4e43!important;
}

/* ---------- 6 FACT BOXES: ONE ROW DESKTOP ---------- */
.tour-facts-grid {
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:16px!important;
}

.tour-facts-grid>div {
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    padding:10px 9px!important;
    border:1px solid #d7dee8!important;
    border-radius:8px!important;
    background:#f9fbfd!important;
}

.tour-facts-grid>div>i {
    flex:0 0 28px!important;
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:8px!important;
    background:#fff0ed!important;
    color:#ef4e43!important;
    font-size:12px!important;
}

.tour-facts-grid>div>span {
    min-width:0!important;
}

.tour-facts-grid small {
    display:block!important;
    margin-bottom:2px!important;
    font-size:8.5px!important;
    line-height:1.1!important;
    font-weight:700!important;
    letter-spacing:.3px!important;
    text-transform:uppercase!important;
    color:#7b8797!important;
}

.tour-facts-grid strong {
    display:block!important;
    font-size:10.8px!important;
    line-height:1.25!important;
    font-weight:700!important;
    color:#0b1424!important;
}

/* ---------- DESTINATIONS: SEPARATE CLEAN ROW ---------- */
.tour-destination-strip {
    padding:18px 20px!important;
    border:1px solid #d7dee8!important;
    border-radius:11px!important;
    background:#fff!important;
}

.tour-destination-heading {
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin-bottom:12px!important;
}

.tour-destination-heading h3 {
    margin:0!important;
    font-size:19px!important;
    line-height:1.25!important;
    font-weight:700!important;
}

.tour-destination-list {
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:8px!important;
}

.tour-destination-list span {
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
    padding:9px 10px!important;
    border:1px solid #dfe5ec!important;
    border-radius:8px!important;
    background:#f8fafc!important;
}

.tour-destination-list b {
    flex:0 0 23px!important;
    width:23px!important;
    height:23px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    background:#fff0ed!important;
    color:#ef4e43!important;
    font-size:8.5px!important;
}

.tour-destination-list em {
    font-style:normal!important;
    font-size:11.5px!important;
    line-height:1.2!important;
    font-weight:600!important;
    color:#26364a!important;
    white-space:normal!important;
}

/* ---------- CONTENT BLOCKS ---------- */
.tour-content-block {
    padding:20px!important;
    border:1px solid #d7dee8!important;
    border-radius:12px!important;
    background:#fff!important;
}

.tour-content-block h2 {
    margin:8px 0 11px!important;
    font-size:25px!important;
    line-height:1.25!important;
}

.tour-content-block>p {
    margin:0 0 9px!important;
    font-size:15px!important;
    line-height:1.68!important;
}

/* Highlights text-only */
.tour-highlights-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
}

.tour-highlights-grid>div {
    padding:10px 12px!important;
    border:1px solid #e1e7ee!important;
    border-radius:8px!important;
    background:#f8fafc!important;
    font-size:14px!important;
    line-height:1.4!important;
    font-weight:600!important;
    color:#26364a!important;
}

/* ---------- ITINERARY: ICON + ONE-LINE BOX + SMOOTH ACCORDION ---------- */
.tour-itinerary-list {
    gap:8px!important;
}

.tour-itinerary-item {
    border:1px solid #dce3eb!important;
    border-radius:9px!important;
    background:#fff!important;
    overflow:hidden!important;
}

.tour-itinerary-toggle {
    width:100%!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 20px!important;
    align-items:center!important;
    gap:10px!important;
    padding:10px 12px!important;
    border:0!important;
    background:#fff!important;
    text-align:left!important;
}

.tour-itinerary-item.active .tour-itinerary-toggle {
    background:#fff5f2!important;
}

.day-icon {
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:8px!important;
    background:#fff0ed!important;
    color:#ef4e43!important;
    font-size:12px!important;
}

.day-copy small {
    display:block!important;
    margin-bottom:1px!important;
    font-size:9px!important;
    line-height:1.1!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    color:#ef4e43!important;
}

.day-copy strong {
    display:block!important;
    font-size:14px!important;
    line-height:1.3!important;
    font-weight:700!important;
}

.day-plus {
    position:relative!important;
    width:18px!important;
    height:18px!important;
}

.day-plus:before,.day-plus:after {
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    background:#667487!important;
    transform:translate(-50%,-50%)!important;
}

.day-plus:before {
    width:10px!important;
    height:1.5px!important;
}

.day-plus:after {
    width:1.5px!important;
    height:10px!important;
}

.tour-itinerary-item.active .day-plus:after {
    opacity:0!important;
}

.tour-itinerary-panel {
    max-height:0;
    overflow:hidden!important;
    transition:max-height .35s ease!important;
}

.tour-itinerary-panel-inner {
    padding:0 12px 12px 60px!important;
}

.tour-itinerary-panel p {
    margin:0!important;
    font-size:14px!important;
    line-height:1.6!important;
    color:#374151!important;
}

/* ---------- INCLUDED / EXCLUDED: ICONS STAY ---------- */
.tour-list-card {
    padding:18px!important;
    border:1px solid #d7dee8!important;
    border-radius:10px!important;
}

.tour-list-card h3 {
    font-size:19px!important;
}

.tour-list-card li {
    font-size:14px!important;
    line-height:1.45!important;
}

/* ---------- FAQ: COMPACT + SMOOTH ---------- */
.tour-faq-list {
    gap:8px!important;
}

.tour-faq-item {
    border:1px solid #dce3eb!important;
    border-radius:9px!important;
    overflow:hidden!important;
    background:#fff!important;
}

.tour-faq-item>button {
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:11px 13px!important;
    border:0!important;
    background:#fff!important;
    text-align:left!important;
    font-size:14px!important;
    line-height:1.35!important;
    font-weight:700!important;
    color:#111827!important;
}

.tour-faq-item.active>button {
    background:#fff5f2!important;
    color:#ef4e43!important;
}

.faq-plus {
    position:relative!important;
    flex:0 0 18px!important;
    width:18px!important;
    height:18px!important;
}

.faq-plus:before,.faq-plus:after {
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    background:#667487!important;
    transform:translate(-50%,-50%)!important;
}

.faq-plus:before {
    width:10px!important;
    height:1.5px!important;
}

.faq-plus:after {
    width:1.5px!important;
    height:10px!important;
}

.tour-faq-item.active .faq-plus:after {
    opacity:0!important;
}

.tour-faq-panel {
    max-height:0;
    overflow:hidden!important;
    transition:max-height .35s ease!important;
}

.tour-faq-panel>div {
    padding:0 13px 12px!important;
    font-size:14px!important;
    line-height:1.6!important;
    color:#374151!important;
}

/* ---------- TRUE STICKY FORM ---------- */
.tour-detail-sidebar-col {
    position:relative!important;
    display:block!important;
    align-self:stretch!important;
    overflow:visible!important;
}

.tour-detail-plan-card {
    padding:23px!important;
    background:#fff7f3!important;
    border:1px solid #efcec6!important;
    border-radius:13px!important;
    box-shadow:0 8px 24px rgba(15,27,45,.06)!important;
}

@media(min-width:1200px) {
    .tour-detail-plan-card {
        position:-webkit-sticky!important;
        position:sticky!important;
        top:105px!important;
        z-index:30!important;
        max-height:calc(100vh - 120px)!important;
        overflow:auto!important;
        overscroll-behavior:contain!important;
    }

    .tour-detail-plan-card::-webkit-scrollbar {
        width:4px!important;
    }

    .tour-detail-plan-card::-webkit-scrollbar-thumb {
        background:#d7b8ae!important;
        border-radius:10px!important;
    }

}

.tour-detail-plan-card h2 {
    font-size:25px!important;
    line-height:1.2!important;
}

.tour-detail-plan-card>p {
    font-size:14px!important;
    line-height:1.55!important;
}

.tour-detail-plan-form label {
    font-size:10px!important;
}

.tour-detail-plan-form input, .tour-detail-plan-form textarea {
    font-size:13px!important;
    border-color:#cdbdb7!important;
}

/* ---------- BREAKPOINTS ---------- */
@media(max-width:1199.98px) {
    .tour-facts-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }

    .tour-destination-list {
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }

    .tour-detail-plan-card {
        position:static!important;
        max-height:none!important;
        overflow:visible!important;
    }

}

@media(max-width:767.98px) {
    .tour-detail-page {
        padding-top:30px!important;
        padding-bottom:36px!important;
    }

    .tour-summary-head {
        flex-direction:column!important;
    }

    .tour-summary-head h2 {
        font-size:25px!important;
    }

    .tour-facts-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .tour-destination-heading {
        display:block!important;
    }

    .tour-destination-heading h3 {
        margin-top:6px!important;
        font-size:18px!important;
    }

    .tour-destination-list {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .tour-content-block {
        padding:17px!important;
    }

    .tour-content-block h2 {
        font-size:22px!important;
    }

    .tour-highlights-grid {
        grid-template-columns:1fr!important;
    }

    .tour-itinerary-panel-inner {
        padding-left:12px!important;
    }

}

@media(max-width:480px) {
    .tour-facts-grid {
        grid-template-columns:1fr!important;
    }

    .tour-destination-list {
        grid-template-columns:1fr!important;
    }

}

/* ===== CRITICAL FINAL FIX: accordion + sticky ===== */
.tour-itinerary-panel,.tour-faq-panel {
    max-height:0;
    overflow:hidden!important;
    transition:max-height .35s ease!important;
}

.tour-itinerary-item.active .tour-itinerary-panel, .tour-faq-item.active .tour-faq-panel {
    visibility:visible!important;
}

.tour-detail-page,.tour-detail-page>.container-xl,.tour-detail-page>.container-xl>.row, .tour-detail-sidebar-col {
    overflow:visible!important;
    transform:none!important;
    contain:none!important;
}

@media(min-width:1200px) {
    .tour-detail-sidebar-col {
        align-self:stretch!important;
        position:relative!important;
    }

    .tour-detail-plan-card {
        position:sticky!important;
        top:105px!important;
        z-index:20!important;
    }

}

/* ===== FINAL 2026 RESPONSIVE STABILITY LAYER ===== */
html {
    scroll-behavior:smooth
}

body {
    overflow-x:hidden
}

.hero,.tour-viewport,.h-scroll,.testimonial-viewport {
    overflow:hidden!important
}

.hero {
    position:relative!important;
    isolation:isolate
}

.hero-track {
    position:relative!important;
    width:100%!important;
    height:100%!important
}

.hero-slide {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .65s ease,visibility .65s ease!important;
    background-position:center!important;
    background-size:cover!important
}

.hero-slide.active {
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    z-index:2!important
}

.hero-content {
    position:relative!important;
    z-index:3!important
}

.hero-dots {
    position:absolute!important;
    left:50%!important;
    bottom:18px!important;
    z-index:8!important;
    display:flex!important;
    gap:7px!important;
    transform:translateX(-50%)!important
}

.hero-dots button {
    width:8px!important;
    height:8px!important;
    padding:0!important;
    border:0!important;
    border-radius:99px!important;
    background:rgba(255,255,255,.55)!important
}

.hero-dots button.active {
    width:25px!important;
    background:#fff!important
}

.hero-arrow {
    position:absolute!important;
    top:50%!important;
    z-index:8!important;
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(255,255,255,.5)!important;
    border-radius:50%!important;
    background:rgba(16,32,57,.48)!important;
    color:#fff!important;
    transform:translateY(-50%)!important
}

.hero-arrow.prev {
    left:18px!important
}

.hero-arrow.next {
    right:18px!important
}

.hero-arrow:hover {
    background:#ef4e43!important
}

.tour-track,.experience-row,.testimonial-track,.related-tour-track {
    backface-visibility:hidden;
    transform:translate3d(0,0,0);
    will-change:transform;
    touch-action:pan-y!important;
    transition:transform .45s cubic-bezier(.22,.61,.36,1)!important
}

.slider-bottom-controls {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    margin-top:16px!important
}

.slider-bottom-controls .experience-dots,.slider-bottom-controls .slider-dots,.slider-bottom-controls .testimonial-dots {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-width:58px!important
}

.experience-dots button,.slider-dots button,.testimonial-dots button {
    width:7px!important;
    height:7px!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:#c7ced7!important
}

.experience-dots button.active,.slider-dots button.active,.testimonial-dots button.active {
    width:20px!important;
    border-radius:20px!important;
    background:#ef4e43!important
}

.slider-bottom-controls button:disabled {
    opacity:.38!important;
    cursor:default!important
}

.tour-card,.experience-card,.testimonial-card,.related-tour-card {
    min-width:0!important
}

.field-error {
    border-color:#d92d20!important;
    box-shadow:0 0 0 3px rgba(217,45,32,.08)!important
}

.float-top {
    opacity:0;
    pointer-events:none;
    transform:translateY(8px);
    transition:opacity .2s ease,transform .2s ease
}

.float-top.is-visible {
    opacity:1;
    pointer-events:auto;
    transform:none
}

.package-plan-card,.jaipur-plan-card,.theme-plan-card,.tour-detail-plan-card {
    box-sizing:border-box!important;
    background:#fff8f5!important;
    border:1px solid #eedbd4!important;
    border-radius:14px!important;
    box-shadow:0 12px 34px rgba(16,32,57,.07)!important
}

.package-plan-card {
    padding:24px!important
}

.package-plan-card h2 {
    margin:8px 0!important;
    font-size:27px!important;
    line-height:1.2!important;
    color:#102039!important
}

.package-plan-card>p {
    margin:0 0 16px!important;
    font-size:13.5px!important;
    line-height:1.6!important;
    color:#68768a!important
}

.package-plan-form .form-group {
    margin-bottom:11px!important
}

.package-plan-form label {
    display:block!important;
    margin-bottom:5px!important;
    font-size:10.5px!important;
    font-weight:700!important;
    letter-spacing:.4px!important;
    text-transform:uppercase!important;
    color:#39485c!important
}

.package-plan-form input,.package-plan-form textarea {
    width:100%!important;
    border:1px solid #d8c6bd!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#102039!important;
    font:inherit!important;
    font-size:13px!important;
    outline:none!important
}

.package-plan-form input {
    height:43px!important;
    padding:0 12px!important
}

.package-plan-form textarea {
    height:105px!important;
    min-height:105px!important;
    padding:11px 12px!important;
    resize:vertical!important
}

.package-plan-form input:focus,.package-plan-form textarea:focus {
    border-color:#ef4e43!important;
    box-shadow:0 0 0 2px rgba(239,78,67,.08)!important
}

.package-plan-form button {
    width:100%!important;
    min-height:45px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border:0!important;
    border-radius:8px!important;
    background:#ef4e43!important;
    color:#fff!important;
    font-size:12.5px!important;
    font-weight:700!important
}

.package-plan-form button:hover {
    background:#102039!important
}

@media(min-width:1200px) {
    .shared-sticky-column,.tour-detail-sidebar-col {
        align-self:stretch!important
    }

    .shared-sticky-card,.package-plan-card,.jaipur-plan-card,.theme-plan-card,.tour-detail-plan-card {
        position:-webkit-sticky!important;
        position:sticky!important;
        top:105px!important;
        z-index:20!important;
        max-height:calc(100vh - 125px)!important;
        overflow:auto!important;
        overscroll-behavior:contain!important;
        scrollbar-width:thin!important
    }

    .package-plan-card::-webkit-scrollbar,.jaipur-plan-card::-webkit-scrollbar,.theme-plan-card::-webkit-scrollbar,.tour-detail-plan-card::-webkit-scrollbar {
        width:4px
    }

    .package-plan-card::-webkit-scrollbar-thumb,.jaipur-plan-card::-webkit-scrollbar-thumb,.theme-plan-card::-webkit-scrollbar-thumb,.tour-detail-plan-card::-webkit-scrollbar-thumb {
        background:#d7b8ae;
        border-radius:10px
    }

}

@media(max-width:1199.98px) {
    .shared-sticky-card,.package-plan-card,.jaipur-plan-card,.theme-plan-card,.tour-detail-plan-card {
        position:static!important;
        top:auto!important;
        max-height:none!important;
        overflow:visible!important
    }

}

@media(max-width:991.98px) {
    body.menu-open {
        overflow:hidden!important
    }

    .hero {
        height:470px!important
    }

    .hero-content {
        padding-left:56px!important;
        padding-right:56px!important
    }

    .hero-arrow {
        width:34px!important;
        height:34px!important
    }

    .hero-arrow.prev {
        left:12px!important
    }

    .hero-arrow.next {
        right:12px!important
    }

}

@media(max-width:767.98px) {
    .hero {
        height:440px!important;
        min-height:440px!important
    }

    .hero-content {
        padding:70px 22px 50px!important;
        display:flex!important;
        flex-direction:column!important;
        justify-content:center!important;
        align-items:flex-start!important;
        height:100%!important
    }

    .hero h1,.hero h2 {
        font-size:30px!important;
        line-height:1.12!important;
        margin-bottom:12px!important
    }

    .hero p {
        font-size:14px!important;
        line-height:1.6!important;
        max-width:95%!important
    }

    .hero-actions {
        display:flex!important;
        flex-wrap:wrap!important;
        gap:9px!important
    }

    .hero-actions .btn {
        min-height:42px!important;
        padding:10px 14px!important;
        font-size:12.5px!important
    }

    .hero-arrow {
        display:none!important
    }

    .hero-dots {
        bottom:13px!important
    }

    .section {
        padding-top:46px!important;
        padding-bottom:46px!important
    }

    .section-head {
        margin-bottom:22px!important
    }

    .section-head h2 {
        font-size:27px!important;
        line-height:1.2!important
    }

    .experience-row,.tour-track,.testimonial-track,.related-tour-track {
        gap:12px!important
    }

    .experience-card,.slider-popular .tour-card,.slider-golden .tour-card,.slider-rajasthan .tour-card,.testimonial-card,.related-tour-card {
        flex:0 0 100%!important
    }

    .slider-bottom-controls {
        margin-top:12px!important;
        gap:9px!important
    }

    .slider-bottom-controls .experience-nav,.slider-bottom-controls .tour-nav,.slider-bottom-controls .testimonial-nav {
        width:31px!important;
        height:31px!important;
        position:static!important;
        transform:none!important
    }

    .destination-grid {
        grid-template-columns:1fr 1fr!important;
        gap:10px!important
    }

    .floating-contact-tools {
        right:10px!important;
        bottom:10px!important;
        gap:7px!important
    }

    .float-action {
        width:40px!important;
        height:40px!important
    }

    .package-plan-card,.jaipur-plan-card,.theme-plan-card,.tour-detail-plan-card {
        padding:18px 15px!important;
        border-radius:11px!important
    }

    .package-plan-card h2,.jaipur-plan-card h2,.theme-plan-card h2,.tour-detail-plan-card h2 {
        font-size:23px!important
    }

    .package-plan-form .row,.jaipur-plan-form .row,.theme-plan-form .row,.tour-detail-plan-form .row {
        --bs-gutter-x:8px!important
    }

    .package-plan-form input,.jaipur-plan-form input,.theme-plan-form input,.tour-detail-plan-form input {
        height:44px!important
    }

    .package-plan-form textarea,.jaipur-plan-form textarea,.theme-plan-form textarea,.tour-detail-plan-form textarea {
        min-height:95px!important;
        height:95px!important
    }

    .contact-page-form input {
        height:46px!important
    }

    .contact-page-form textarea {
        min-height:110px!important;
        height:110px!important
    }

}

@media(max-width:480px) {
    .hero {
        height:425px!important;
        min-height:425px!important
    }

    .hero h1,.hero h2 {
        font-size:27px!important
    }

    .hero-content {
        padding-left:18px!important;
        padding-right:18px!important
    }

    .destination-grid {
        grid-template-columns:1fr!important
    }

    .package-plan-form .col-6,.jaipur-plan-form .col-6,.theme-plan-form .col-6,.tour-detail-plan-form .col-6 {
        width:100%!important
    }

}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto!important
    }

    .hero-slide,.tour-track,.experience-row,.testimonial-track,.related-tour-track,.float-top {
        transition:none!important
    }

    .ticker-track {
        animation:none!important
    }

}

/* ===== FINAL REQUESTED FIXES: 2026-08-17 ===== */
/* Home About: keep collage + review badge together on every breakpoint */
#about .row {
    overflow:visible!important
}

#about .col-12.col-lg-5 {
    position:relative!important;
    min-width:0!important
}

#about .collage {
    display:block!important;
    width:100%!important;
    max-width:419px!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    margin:0 auto!important
}

#about .review-chip {
    top:18px!important;
    right:12px!important;
    z-index:4!important;
    max-width:150px!important
}

#about .col-12.col-lg-7 {
    min-width:0!important
}

#about .about-features>div {
    min-width:0!important
}

#about .stats {
    min-width:0!important
}

/* Home sliders: JS owns horizontal movement; parent owns clipping */
.h-scroll,.tour-viewport,.testimonial-viewport,.related-tour-viewport {
    overflow:hidden!important;
    touch-action:pan-y!important
}

.experience-row {
    overflow:visible!important;
    scroll-snap-type:none!important;
    scroll-behavior:auto!important
}

.tour-track,.experience-row,.testimonial-track,.related-tour-track {
    max-width:none!important
}

/* Inner enquiry cards: follow page scroll on desktop; contact page intentionally excluded */
.destination-detail-page .row,.theme-detail-page .row,.tour-detail-page .row,.package-page .row, .destination-detail-page .container-xl,.theme-detail-page .container-xl,.tour-detail-page .container-xl,.package-page .container-xl {
    overflow:visible!important
}

.jaipur-plan-card,.theme-plan-card,.tour-detail-plan-card,.package-plan-card {
    transform:none!important;
    contain:none!important
}

@media(min-width:992px) {
    .jaipur-plan-card,.theme-plan-card,.tour-detail-plan-card,.package-plan-card {
        position:-webkit-sticky!important;
        position:sticky!important;
        top:104px!important;
        z-index:25!important;
        max-height:calc(100vh - 120px)!important;
        overflow:auto!important;
        overscroll-behavior:contain!important;
    }

    .jaipur-plan-card::-webkit-scrollbar,.theme-plan-card::-webkit-scrollbar,.tour-detail-plan-card::-webkit-scrollbar,.package-plan-card::-webkit-scrollbar {
        width:4px!important
    }

    .jaipur-plan-card::-webkit-scrollbar-thumb,.theme-plan-card::-webkit-scrollbar-thumb,.tour-detail-plan-card::-webkit-scrollbar-thumb,.package-plan-card::-webkit-scrollbar-thumb {
        background:#d7b8ae!important;
        border-radius:10px!important
    }

}

/* Mobile is first priority: one clean card, reliable swipe, no clipped content */
@media(max-width:767.98px) {
    html,body {
        width:100%!important;
        max-width:100%!important;
        overflow-x:hidden!important
    }

    .container,.container-fluid,.container-xl {
        max-width:100%!important
    }

    #about .row {
        gap:20px!important
    }

    #about .col-12.col-lg-5 {
        padding-left:18px!important;
        padding-right:18px!important
    }

    #about .collage {
        max-width:330px!important;
        margin:0 auto!important
    }

    #about .review-chip {
        top:10px!important;
        right:20px!important;
        padding:8px 10px!important;
        border-radius:9px!important
    }

    #about .about-features {
        grid-template-columns:1fr!important;
        gap:13px!important;
        margin:18px 0!important
    }

    #about .about-actions {
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:9px!important
    }

    #about .about-actions .btn {
        width:100%!important;
        justify-content:center!important
    }

    #about .stats {
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:7px!important
    }

    #about .stats>div {
        min-width:0!important;
        padding:10px 5px!important;
        text-align:center!important
    }

    #about .stats strong {
        font-size:18px!important
    }

    #about .stats span {
        font-size:9.5px!important;
        line-height:1.25!important
    }

    .experience-slider,.slider-shell,.testimonial-slider {
        display:block!important;
        width:100%!important;
        min-width:0!important
    }

    .h-scroll,.tour-viewport,.testimonial-viewport,.related-tour-viewport {
        width:100%!important;
        min-width:0!important;
        overflow:hidden!important
    }

    .experience-row {
        display:grid!important;
        grid-auto-flow:column!important;
        grid-auto-columns:100%!important;
        width:100%!important;
        gap:12px!important
    }

    .tour-track,.testimonial-track,.related-tour-track {
        display:flex!important;
        width:100%!important;
        gap:12px!important
    }

    .slider-popular .tour-card,.slider-golden .tour-card,.slider-rajasthan .tour-card,.testimonial-card,.related-tour-card {
        flex:0 0 100%!important;
        width:100%!important;
        max-width:100%!important
    }

    .experience-card {
        width:100%!important;
        max-width:100%!important
    }

    .slider-bottom-controls {
        display:flex!important
    }

    .jaipur-plan-card,.theme-plan-card,.tour-detail-plan-card,.package-plan-card {
        position:static!important;
        top:auto!important;
        max-height:none!important;
        overflow:visible!important;
        width:100%!important;
        margin-top:18px!important
    }

}

@media(max-width:420px) {
    #about .collage {
        max-width:285px!important
    }

    #about .review-chip {
        right:12px!important;
        top:7px!important;
        transform:scale(.92);
        transform-origin:top right
    }

    #about .stats {
        grid-template-columns:1fr!important
    }

}

/* ===== TOUR PACKAGES PAGE COMPLETE STYLING FIX: 2026-08-17 ===== */
.package-page .inner-hero {
    min-height:330px!important;
    display:flex!important;
    align-items:center!important;
    background-size:cover!important;
    background-position:center!important;
    position:relative!important;
    overflow:hidden!important
}

.package-page .inner-hero-overlay {
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(90deg,rgba(11,28,49,.76),rgba(11,28,49,.34))!important
}

.package-page .inner-hero-content {
    position:relative!important;
    z-index:2!important;
    color:#fff!important;
    padding-top:48px!important;
    padding-bottom:48px!important
}

.package-page .inner-hero-label {
    display:inline-block!important;
    margin-bottom:9px!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:1.2px!important;
    text-transform:uppercase!important;
    color:#fff!important
}

.package-page .inner-hero h1 {
    margin:0 0 14px!important;
    max-width:720px!important;
    font-size:48px!important;
    line-height:1.08!important;
    font-weight:700!important;
    color:#fff!important
}

.package-page .inner-breadcrumb {
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:9px!important;
    font-size:13px!important;
    color:rgba(255,255,255,.9)!important
}

.package-page .inner-breadcrumb a {
    color:#fff!important;
    text-decoration:none!important
}

.package-page .inner-breadcrumb i {
    font-size:8px!important
}

.tour-package-intro {
    background:#fff!important;
    text-align:center!important
}

.tour-package-intro .container-xl {
    max-width:960px!important
}

.tour-package-intro .mini-label,.tour-packages-head .mini-label,.package-plan-card .mini-label {
    display:inline-block!important;
    margin-bottom:9px!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:1.15px!important;
    text-transform:uppercase!important;
    color:#ef4e43!important
}

.tour-package-intro h2,.tour-packages-head h2 {
    margin:0!important;
    color:#102039!important;
    font-size:36px!important;
    line-height:1.18!important;
    font-weight:700!important
}

.tour-package-intro p {
    max-width:820px!important;
    margin:14px auto 0!important;
    font-size:15px!important;
    line-height:1.75!important;
    color:#68768a!important
}

.tour-package-chips {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:9px!important;
    margin-top:22px!important
}

.tour-package-chips span {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:36px!important;
    padding:7px 14px!important;
    border:1px solid #e9dfda!important;
    border-radius:999px!important;
    background:#fff8f5!important;
    color:#39485c!important;
    font-size:12.5px!important;
    font-weight:600!important
}

.tour-packages-listing {
    background:#f8f9fb!important;
    padding-top:62px!important;
    padding-bottom:70px!important
}

.tour-packages-head {
    margin-bottom:26px!important
}

.tour-packages-head h2 {
    font-size:32px!important
}

.tour-packages-head p {
    max-width:760px!important;
    margin:10px 0 0!important;
    font-size:14.5px!important;
    line-height:1.7!important;
    color:#68768a!important
}

.package-list-grid {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important
}

.package-list-card {
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    height:100%!important;
    overflow:hidden!important;
    border:1px solid #e4e8ee!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(15,32,57,.055)!important;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important
}

.package-list-card:hover {
    transform:translateY(-4px)!important;
    border-color:#efd2ca!important;
    box-shadow:0 15px 32px rgba(15,32,57,.09)!important
}

.package-list-image {
    position:relative!important;
    overflow:hidden!important;
    aspect-ratio:16/10!important;
    background:#e9edf2!important
}

.package-list-image img {
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transition:transform .4s ease!important
}

.package-list-card:hover .package-list-image img {
    transform:scale(1.035)!important
}

.package-list-image>span {
    position:absolute!important;
    left:13px!important;
    top:13px!important;
    z-index:2!important;
    display:inline-flex!important;
    align-items:center!important;
    min-height:28px!important;
    padding:5px 10px!important;
    border-radius:999px!important;
    background:rgba(16,32,57,.9)!important;
    color:#fff!important;
    font-size:10.5px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.3px!important
}

.package-list-content {
    display:flex!important;
    flex:1!important;
    flex-direction:column!important;
    padding:18px!important;
    min-width:0!important
}

.package-list-meta {
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    margin-bottom:9px!important
}

.package-list-meta span {
    display:inline-flex!important;
    align-items:center!important;
    min-height:25px!important;
    padding:4px 8px!important;
    border-radius:5px!important;
    background:#f1f4f7!important;
    color:#506074!important;
    font-size:10.5px!important;
    line-height:1!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.35px!important
}

.package-list-rating {
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    margin-bottom:8px!important;
    color:#102039!important;
    font-size:12px!important
}

.package-list-rating .rating-stars {
    display:inline-flex!important;
    gap:2px!important;
    color:#f5ad2f!important;
    font-size:10px!important
}

.package-list-rating strong {
    font-size:11.5px!important
}

.package-list-content h3 {
    margin:0!important;
    font-size:20px!important;
    line-height:1.32!important;
    font-weight:700!important;
    color:#102039!important
}

.package-list-content>p {
    margin:9px 0 12px!important;
    font-size:13px!important;
    line-height:1.62!important;
    color:#6b7789!important
}

.package-list-route {
    display:flex!important;
    align-items:flex-start!important;
    gap:8px!important;
    margin-top:auto!important;
    padding:10px 0 13px!important;
    border-top:1px solid #edf0f3!important;
    color:#48576a!important;
    font-size:12px!important;
    line-height:1.45!important
}

.package-list-route i {
    flex:0 0 auto!important;
    margin-top:2px!important;
    color:#ef4e43!important;
    font-size:12px!important
}

.package-list-bottom {
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding-top:12px!important;
    border-top:1px solid #edf0f3!important
}

.package-list-bottom>div {
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important
}

.package-list-bottom small {
    margin-bottom:2px!important;
    font-size:9.5px!important;
    font-weight:700!important;
    letter-spacing:.4px!important;
    text-transform:uppercase!important;
    color:#8893a3!important
}

.package-list-bottom strong {
    font-size:18px!important;
    line-height:1.15!important;
    color:#102039!important
}

.package-list-bottom>a {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-height:37px!important;
    padding:8px 11px!important;
    border-radius:7px!important;
    background:#ef4e43!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:11.5px!important;
    font-weight:700!important;
    white-space:nowrap!important;
    transition:background .2s ease!important
}

.package-list-bottom>a:hover {
    background:#102039!important
}

.package-list-footer {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:15px!important;
    margin-top:25px!important;
    padding-top:18px!important;
    border-top:1px solid #dfe4ea!important;
    font-size:12.5px!important;
    color:#748094!important
}

.package-list-footer a {
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    color:#ef4e43!important;
    text-decoration:none!important;
    font-weight:700!important
}

.package-page .shared-sticky-column {
    min-width:0!important
}

.package-page .package-plan-card {
    width:100%!important;
    margin:0!important
}

.package-page .sidebar-extra-wrap {
    display:grid!important;
    gap:13px!important;
    margin-top:18px!important;
    padding-top:16px!important;
    border-top:1px solid #eadad3!important
}

.package-page .sidebar-extra-label {
    display:block!important;
    margin-bottom:9px!important;
    font-size:10px!important;
    font-weight:800!important;
    letter-spacing:.7px!important;
    text-transform:uppercase!important;
    color:#102039!important
}

.package-page .sidebar-assurance ul {
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    gap:8px!important
}

.package-page .sidebar-assurance li {
    display:flex!important;
    align-items:flex-start!important;
    gap:8px!important;
    font-size:12.5px!important;
    line-height:1.45!important;
    color:#536174!important
}

.package-page .sidebar-assurance li i {
    margin-top:2px!important;
    color:#ef4e43!important
}

.package-page .sidebar-contact-box {
    display:grid!important;
    gap:8px!important
}

.package-page .sidebar-contact-box a {
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    min-height:40px!important;
    padding:8px 10px!important;
    border:1px solid #e5d4cd!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#26374d!important;
    text-decoration:none!important;
    font-size:12px!important;
    font-weight:650!important
}

.package-page .sidebar-contact-box a i {
    width:18px!important;
    text-align:center!important;
    color:#ef4e43!important
}

@media(max-width:1199.98px) {
    .package-list-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }

    .package-page .shared-sticky-column {
        margin-top:8px!important
    }

    .package-page .package-plan-card {
        max-width:760px!important;
        margin:0 auto!important
    }

}

@media(max-width:767.98px) {
    .package-page .inner-hero {
        min-height:250px!important
    }

    .package-page .inner-hero-content {
        padding-top:34px!important;
        padding-bottom:34px!important
    }

    .package-page .inner-hero h1 {
        font-size:32px!important;
        line-height:1.12!important;
        margin-bottom:11px!important
    }

    .package-page .inner-hero-label {
        font-size:10px!important
    }

    .tour-package-intro {
        text-align:left!important
    }

    .tour-package-intro h2,.tour-packages-head h2 {
        font-size:27px!important
    }

    .tour-package-intro p,.tour-packages-head p {
        font-size:14px!important;
        line-height:1.65!important
    }

    .tour-package-chips {
        justify-content:flex-start!important;
        gap:7px!important;
        margin-top:17px!important
    }

    .tour-package-chips span {
        min-height:32px!important;
        padding:6px 10px!important;
        font-size:11px!important
    }

    .tour-packages-listing {
        padding-top:45px!important;
        padding-bottom:50px!important
    }

    .package-list-grid {
        grid-template-columns:1fr!important;
        gap:15px!important
    }

    .package-list-card {
        border-radius:11px!important
    }

    .package-list-image {
        aspect-ratio:16/9!important
    }

    .package-list-content {
        padding:15px!important
    }

    .package-list-content h3 {
        font-size:18px!important
    }

    .package-list-content>p {
        font-size:12.5px!important;
        margin-top:7px!important
    }

    .package-list-bottom {
        align-items:center!important
    }

    .package-list-bottom strong {
        font-size:17px!important
    }

    .package-list-bottom>a {
        min-height:36px!important;
        padding:7px 10px!important;
        font-size:11px!important
    }

    .package-list-footer {
        align-items:flex-start!important;
        flex-direction:column!important;
        margin-top:18px!important
    }

    .package-page .shared-sticky-column {
        margin-top:0!important
    }

    .package-page .package-plan-card {
        margin-top:4px!important;
        max-width:none!important
    }

}

@media(max-width:420px) {
    .package-page .inner-hero h1 {
        font-size:29px!important
    }

    .package-list-bottom {
        align-items:flex-start!important;
        flex-direction:column!important
    }

    .package-list-bottom>a {
        width:100%!important
    }

}

/* === FINAL MOBILE MENU + SINGLE JOURNEY RAIL FIX === */
@media (max-width:991.98px) {
    body.menu-open {
        overflow:hidden!important
    }

    .menu-toggle {
        display:flex!important;
        flex-direction:column!important;
        justify-content:center!important;
        align-items:center!important;
        width:44px!important;
        height:44px!important;
        padding:0!important;
        border:0!important;
        background:transparent!important;
        position:relative!important;
        z-index:2202!important
    }

    .menu-toggle span {
        display:block!important;
        width:24px!important;
        height:2px!important;
        background:#102039!important;
        margin:3px 0!important;
        transition:transform .22s ease,opacity .22s ease!important
    }

    .menu-toggle.active span:nth-child(1) {
        transform:translateY(8px) rotate(45deg)!important
    }

    .menu-toggle.active span:nth-child(2) {
        opacity:0!important
    }

    .menu-toggle.active span:nth-child(3) {
        transform:translateY(-8px) rotate(-45deg)!important
    }

    .main-nav {
        display:block!important;
        position:fixed!important;
        top:108px!important;
        left:0!important;
        right:auto!important;
        width:min(90vw,380px)!important;
        height:calc(100dvh - 108px)!important;
        max-height:none!important;
        padding:12px 15px 24px!important;
        background:#fff!important;
        overflow-y:auto!important;
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:translateX(-105%)!important;
        transition:transform .25s ease!important;
        box-shadow:16px 0 36px rgba(15,27,45,.18)!important;
        z-index:2200!important
    }

    .main-nav.open,.main-nav.active {
        transform:translateX(0)!important
    }

    .main-nav>a,.main-nav>div>button {
        display:flex!important;
        width:100%!important;
        align-items:center!important;
        justify-content:space-between!important;
        min-height:48px!important;
        padding:12px 4px!important;
        margin:0!important;
        border:0!important;
        border-bottom:1px solid #edf0f3!important;
        background:#fff!important;
        color:#102039!important;
        font-size:14px!important;
        font-weight:700!important;
        text-align:left!important
    }

    .main-nav .mega-menu,.main-nav .dropdown {
        position:static!important;
        display:none!important;
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        padding:5px 0 7px 10px!important;
        margin:0!important;
        box-shadow:none!important;
        border:0!important;
        background:#fafbfc!important;
        opacity:1!important;
        visibility:visible!important;
        transform:none!important
    }

    .main-nav>.has-mega.open>.mega-menu,.main-nav>.has-drop.open>.dropdown {
        display:block!important
    }

    .mobile-submenu-toggle {
        display:flex!important;
        width:100%!important;
        align-items:center!important;
        justify-content:space-between!important;
        padding:11px 8px!important;
        border:0!important;
        border-bottom:1px solid #edf0f3!important;
        background:transparent!important;
        color:#25364d!important;
        font-size:13.5px!important;
        font-weight:700!important
    }

    .mobile-submenu-toggle i {
        display:block!important;
        transition:transform .2s ease!important
    }

    .mobile-accordion-group.active>.mobile-submenu-toggle i {
        transform:rotate(180deg)!important
    }

    .mobile-submenu-links {
        display:none!important;
        padding:3px 0 7px 8px!important
    }

    .mobile-accordion-group.active>.mobile-submenu-links {
        display:block!important
    }

    .mobile-submenu-links a,.main-nav .dropdown a {
        display:block!important;
        padding:10px 9px!important;
        border-bottom:1px solid #eef1f4!important;
        color:#4a596b!important;
        font-size:13px!important;
        text-decoration:none!important
    }

    .main-nav .mobile-menu-plan {
        display:flex!important;
        margin-top:14px!important;
        padding:12px 14px!important;
        border-radius:8px!important;
        background:#ef4e43!important;
        color:#fff!important;
        justify-content:center!important;
        gap:8px!important
    }

}

/* one reusable right rail on every inner page except Contact */
.global-plan-rail {
    box-sizing:border-box;
    background:#f7f8fa;
    border-left:1px solid #e2e6eb
}

.global-plan-card {
    background:#fff
}

.global-plan-card h2 {
    margin:8px 0 7px;
    color:#102039;
    font-size:23px;
    line-height:1.2;
    font-weight:700
}

.global-plan-card>p {
    margin:0 0 14px;
    color:#667085;
    font-size:13.5px;
    line-height:1.55
}

.global-plan-form .form-group {
    margin-bottom:10px
}

.global-plan-form label {
    display:block;
    margin-bottom:4px;
    color:#27364a;
    font-size:11.5px;
    font-weight:700
}

.global-plan-form input,.global-plan-form textarea {
    width:100%;
    border:1px solid #d9dee5;
    border-radius:7px;
    background:#fff;
    color:#1d2939;
    font:inherit;
    font-size:13px;
    outline:none;
    transition:.2s
}

.global-plan-form input {
    height:42px;
    padding:0 11px
}

.global-plan-form textarea {
    min-height:78px;
    padding:10px 11px;
    resize:vertical
}

.global-plan-form input:focus,.global-plan-form textarea:focus {
    border-color:#ef4e43;
    box-shadow:0 0 0 3px rgba(239,78,67,.08)
}

.global-form-row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px
}

.global-plan-form button {
    display:flex;
    width:100%;
    height:44px;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:0;
    border-radius:7px;
    background:#ef4e43;
    color:#fff;
    font-size:13.5px;
    font-weight:700;
    cursor:pointer
}

.global-plan-form small {
    display:block;
    margin-top:8px;
    color:#7a8492;
    font-size:10.5px;
    line-height:1.45
}

.global-plan-form small i {
    margin-right:4px
}

.global-rail-destinations {
    margin-top:17px;
    padding-top:15px;
    border-top:1px solid #e8ebef
}

.global-rail-destinations .rail-title {
    display:block;
    margin-bottom:7px;
    color:#102039;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em
}

.global-rail-destinations>a {
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 0;
    border-bottom:1px solid #edf0f3;
    color:#25364d;
    text-decoration:none
}

.global-rail-destinations>a>i {
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff1ef;
    color:#ef4e43;
    font-size:11px;
    flex:0 0 26px
}

.global-rail-destinations a span {
    display:flex;
    flex-direction:column;
    line-height:1.15
}

.global-rail-destinations a b {
    font-size:12.5px
}

.global-rail-destinations a small {
    margin-top:3px;
    color:#8791a0;
    font-size:10.5px
}

.global-rail-destinations .rail-all {
    justify-content:center;
    margin-top:7px;
    padding:10px;
    border:0;
    border-radius:6px;
    background:#f7f8fa;
    color:#ef4e43;
    font-size:11.5px;
    font-weight:800
}

.global-rail-destinations .rail-all i {
    width:auto;
    height:auto;
    background:transparent;
    color:inherit
}

@media (min-width:1200px) {
    body.has-plan-rail {
        --plan-rail-width:340px
    }

    body.has-plan-rail main,body.has-plan-rail>.footer,body.has-plan-rail>.floating-contact-tools {
        margin-right:var(--plan-rail-width)!important
    }

    .global-plan-rail {
        position:fixed;
        z-index:1200;
        right:0;
        top:108px;
        width:var(--plan-rail-width);
        height:calc(100vh - 108px);
        overflow-y:auto;
        padding:15px
    }

    .global-plan-card {
        padding:18px;
        border:1px solid #e3e7ec;
        border-radius:10px;
        box-shadow:0 8px 28px rgba(15,27,45,.07)
    }

    body.has-plan-rail .container-xl {
        max-width:1140px
    }

}

@media (max-width:1199.98px) {
    .global-plan-rail {
        position:relative;
        width:100%;
        padding:28px 15px;
        background:#f6f7f9;
        border-left:0;
        border-top:1px solid #e3e7ec
    }

    .global-plan-card {
        max-width:720px;
        margin:0 auto;
        padding:20px;
        border:1px solid #e3e7ec;
        border-radius:10px
    }

}

@media (max-width:575.98px) {
    .global-plan-rail {
        padding:22px 12px
    }

    .global-plan-card {
        padding:16px
    }

    .global-form-row {
        grid-template-columns:1fr 1fr;
        gap:8px
    }

    .global-plan-card h2 {
        font-size:21px
    }

}

/* listing pagination: packages/themes/destinations */
.package-pagination,.theme-pagination,.destination-pagination {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    clear:both!important;
    margin:30px 0 4px!important;
    padding:0!important
}

.package-pagination a,.package-pagination span,.theme-pagination a,.theme-pagination span,.destination-pagination a,.destination-pagination span {
    display:inline-flex!important;
    min-width:38px!important;
    height:38px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 11px!important;
    border:1px solid #dfe4ea!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#25364d!important;
    font-size:13px!important;
    font-weight:700!important;
    text-decoration:none!important
}

.package-pagination .active,.theme-pagination .active,.destination-pagination .active {
    border-color:#ef4e43!important;
    background:#ef4e43!important;
    color:#fff!important
}

@media(max-width:575.98px) {
    .package-pagination,.theme-pagination,.destination-pagination {
        gap:5px!important;
        margin-top:22px!important
    }

    .package-pagination a,.package-pagination span,.theme-pagination a,.theme-pagination span,.destination-pagination a,.destination-pagination span {
        min-width:34px!important;
        height:34px!important;
        padding:0 9px!important;
        font-size:12px!important
    }

}

/* ===== FINAL RIGHT-SIDE JOURNEY RAIL: OUTSIDE CONTENT CONTAINER ===== */
@media (min-width:1200px) {
    body.has-plan-rail {
        --journey-rail-space:360px;
        overflow-x:hidden!important
    }

    body.has-plan-rail main {
        width:calc(100% - var(--journey-rail-space))!important;
        margin:0 var(--journey-rail-space) 0 0!important;
        max-width:none!important
    }

    body.has-plan-rail main>.container-xl,   body.has-plan-rail main .container-xl {
        width:100%!important;
        max-width:1180px!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding-left:24px!important;
        padding-right:24px!important
    }

    body.has-plan-rail>.footer {
        margin-right:var(--journey-rail-space)!important;
        width:calc(100% - var(--journey-rail-space))!important
    }

    body.has-plan-rail>.floating-contact-tools {
        right:calc(var(--journey-rail-space) + 16px)!important
    }

    .global-plan-rail {
        position:fixed!important;
        z-index:1100!important;
        top:104px!important;
        right:14px!important;
        bottom:14px!important;
        width:326px!important;
        height:auto!important;
        max-height:none!important;
        margin:0!important;
        padding:0!important;
        background:transparent!important;
        border:0!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        overscroll-behavior:contain!important;
        scrollbar-width:thin!important
    }

    .global-plan-card {
        width:100%!important;
        margin:0!important;
        padding:18px!important;
        background:#fff!important;
        border:1px solid #e1e6ec!important;
        border-radius:12px!important;
        box-shadow:0 12px 34px rgba(15,27,45,.11)!important
    }

    .global-plan-rail::-webkit-scrollbar {
        width:4px!important
    }

    .global-plan-rail::-webkit-scrollbar-thumb {
        background:#c7ced8!important;
        border-radius:20px!important
    }

    .global-plan-card .global-rail-destinations {
        margin-top:16px!important;
        padding-top:14px!important
    }

}

@media (min-width:1200px) and (max-width:1399.98px) {
    body.has-plan-rail {
        --journey-rail-space:332px
    }

    .global-plan-rail {
        right:10px!important;
        width:302px!important
    }

    body.has-plan-rail main>.container-xl,body.has-plan-rail main .container-xl {
        padding-left:18px!important;
        padding-right:18px!important
    }

}

@media (max-width:1199.98px) {
    body.has-plan-rail main,body.has-plan-rail>.footer {
        width:100%!important;
        margin-right:0!important
    }

    body.has-plan-rail>.floating-contact-tools {
        right:10px!important
    }

    .global-plan-rail {
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        height:auto!important;
        max-height:none!important;
        margin:0!important;
        padding:28px 15px!important;
        background:#f6f7f9!important;
        border:0!important;
        border-top:1px solid #e3e7ec!important;
        overflow:visible!important
    }

    .global-plan-card {
        max-width:760px!important;
        margin:0 auto!important;
        padding:20px!important
    }

}

@media (max-width:575.98px) {
    .global-plan-rail {
        padding:18px 10px!important
    }

    .global-plan-card {
        padding:15px!important;
        border-radius:10px!important
    }

    .global-form-row {
        grid-template-columns:1fr!important
    }

}

/* ===== TOUR PACKAGE + JAIPUR 4-COLUMN RESTORE ===== */
@media (min-width:1200px) {
    body.has-plan-rail .tour-packages-listing .container-xl,   body.has-plan-rail .jaipur-tours-section .container-xl {
        max-width:1280px!important;
    }

}

.tour-packages-listing .row,.jaipur-tours-section .row {
    align-items:flex-start!important;
}

.tour-packages-listing .package-list-grid {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:16px!important;
}

.tour-packages-listing .package-list-card {
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    height:100%!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #e2e6eb!important;
    border-radius:12px!important;
    box-shadow:0 6px 18px rgba(15,27,45,.05)!important;
    transition:transform .2s ease,box-shadow .2s ease!important;
}

.tour-packages-listing .package-list-card:hover {
    transform:translateY(-3px)!important;
    box-shadow:0 12px 28px rgba(15,27,45,.10)!important;
}

.tour-packages-listing .package-list-image {
    position:relative!important;
    width:100%!important;
    aspect-ratio:4/3!important;
    min-height:0!important;
    overflow:hidden!important;
}

.tour-packages-listing .package-list-image img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
}

.tour-packages-listing .package-list-image>span {
    position:absolute!important;
    left:10px!important;
    top:10px!important;
    padding:5px 8px!important;
    border-radius:20px!important;
    background:#ef4e43!important;
    color:#fff!important;
    font-size:9.5px!important;
    font-weight:700!important;
}

.tour-packages-listing .package-list-content {
    display:flex!important;
    flex:1!important;
    flex-direction:column!important;
    padding:14px!important;
}

.tour-packages-listing .package-list-meta {
    display:flex!important;
    justify-content:space-between!important;
    gap:8px!important;
    margin-bottom:6px!important;
    color:#7a8696!important;
    font-size:9.5px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.35px!important;
}

.tour-packages-listing .package-list-rating {
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin-bottom:6px!important;
    font-size:10px!important;
}

.tour-packages-listing .package-list-rating .rating-stars {
    display:flex!important;
    gap:1px!important;
    color:#f5a623!important;
    font-size:9px!important;
}

.tour-packages-listing .package-list-rating strong {
    font-size:10.5px!important;
    color:#39485c!important;
}

.tour-packages-listing .package-list-content h3 {
    margin:0 0 6px!important;
    font-size:16px!important;
    line-height:1.3!important;
    color:#102039!important;
}

.tour-packages-listing .package-list-content p {
    margin:0 0 8px!important;
    font-size:12px!important;
    line-height:1.5!important;
    color:#68768a!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
}

.tour-packages-listing .package-list-route {
    display:flex!important;
    align-items:flex-start!important;
    gap:6px!important;
    margin:0 0 11px!important;
    color:#46556a!important;
    font-size:11px!important;
    line-height:1.4!important;
}

.tour-packages-listing .package-list-route i {
    margin-top:2px!important;
    color:#ef4e43!important;
    font-size:10px!important;
}

.tour-packages-listing .package-list-bottom {
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:8px!important;
    margin-top:auto!important;
    padding-top:10px!important;
    border-top:1px solid #edf0f3!important;
}

.tour-packages-listing .package-list-bottom small {
    display:block!important;
    color:#8a95a4!important;
    font-size:9px!important;
}

.tour-packages-listing .package-list-bottom strong {
    display:block!important;
    margin-top:1px!important;
    color:#ef4e43!important;
    font-size:14px!important;
}

.tour-packages-listing .package-list-bottom a {
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    color:#102039!important;
    font-size:10.5px!important;
    font-weight:800!important;
    text-decoration:none!important;
}

.package-list-card.is-page-hidden {
    display:none!important;
}

.package-list-footer {
    margin-top:18px!important;
}

/* Jaipur tour cards: same compact visual language, 8 visible in 4 columns */
.jaipur-tour-list {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:16px!important;
}

.jaipur-tour-card {
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    height:100%!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #e2e6eb!important;
    border-radius:12px!important;
    box-shadow:0 6px 18px rgba(15,27,45,.05)!important;
}

.jaipur-tour-image {
    position:relative!important;
    min-height:0!important;
    aspect-ratio:4/3!important;
    overflow:hidden!important;
}

.jaipur-tour-image img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}

.jaipur-tour-content {
    display:flex!important;
    flex:1!important;
    flex-direction:column!important;
    padding:14px!important;
}

.jaipur-tour-content h3 {
    font-size:16px!important;
    line-height:1.3!important;
    margin-bottom:6px!important;
}

.jaipur-tour-content p {
    font-size:12px!important;
    line-height:1.5!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
}

.jaipur-tour-meta {
    font-size:9.5px!important;
    gap:8px!important;
}

.jaipur-tour-location {
    font-size:11px!important;
    margin-bottom:11px!important;
}

.jaipur-tour-bottom {
    margin-top:auto!important;
}

.jaipur-tour-card:nth-child(n+9) {
    display:none!important;
}

@media (max-width:1199.98px) {
    .tour-packages-listing .package-list-grid,.jaipur-tour-list {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

}

@media (max-width:767.98px) {
    .tour-packages-listing .package-list-grid,.jaipur-tour-list {
        grid-template-columns:1fr!important;
        gap:12px!important;
    }

    .tour-packages-listing .package-list-image,.jaipur-tour-image {
        aspect-ratio:16/10!important;
    }

    .tour-packages-listing .package-list-content,.jaipur-tour-content {
        padding:13px!important;
    }

    .tour-packages-listing .package-list-content h3,.jaipur-tour-content h3 {
        font-size:17px!important;
    }

}

/* ===== REFERENCE LISTING LAYOUT — SCREENSHOT MATCH ===== */
/* Inner listing pages: wide left content + single sticky journey card on the right */
@media (min-width:1200px) {
    body.has-plan-rail {
        --journey-rail-space:390px!important;
        background:#f7f9fc!important
    }

    body.has-plan-rail main {
        width:calc(100% - var(--journey-rail-space))!important;
        margin-right:var(--journey-rail-space)!important;
        background:#f7f9fc!important
    }

    body.has-plan-rail main .container-xl {
        max-width:1120px!important;
        padding-left:36px!important;
        padding-right:24px!important
    }

    .global-plan-rail {
        top:108px!important;
        right:24px!important;
        bottom:22px!important;
        width:342px!important;
        overflow-y:auto!important
    }

    .global-plan-card {
        padding:24px!important;
        border:1px solid #f0d5ca!important;
        border-radius:15px!important;
        background:#fff8f4!important;
        box-shadow:none!important
    }

    .global-plan-card h2 {
        font-size:27px!important;
        line-height:1.15!important;
        margin:10px 0 8px!important;
        color:#0e2645!important
    }

    .global-plan-card>p {
        font-size:13px!important;
        line-height:1.55!important;
        color:#6f7d90!important;
        margin-bottom:17px!important
    }

    .global-plan-card .form-group {
        margin-bottom:12px!important
    }

    .global-plan-card label {
        font-size:10px!important;
        font-weight:800!important;
        text-transform:uppercase!important;
        color:#17324f!important;
        margin-bottom:5px!important
    }

    .global-plan-card input,.global-plan-card textarea {
        width:100%!important;
        border:1px solid #dcc8bd!important;
        border-radius:7px!important;
        background:#fff!important;
        padding:11px 12px!important;
        font-size:12px!important;
        min-height:42px!important;
        box-shadow:none!important
    }

    .global-plan-card textarea {
        min-height:96px!important;
        resize:vertical!important
    }

    .global-plan-card button[type=submit] {
        min-height:45px!important;
        border:0!important;
        border-radius:7px!important;
        background:#f34f45!important;
        color:#fff!important;
        font-size:12px!important;
        font-weight:800!important;
        width:100%!important
    }

    .global-plan-card .global-rail-destinations {
        margin-top:18px!important
    }

}

/* Tour packages: one horizontal card per row, like the supplied Jaipur reference */
.tour-packages-listing {
    background:#f7f9fc!important;
    padding-top:18px!important
}

.tour-packages-listing .row {
    display:block!important;
    margin:0!important
}

.tour-packages-listing .col-12,.tour-packages-listing .col-xl-8 {
    width:100%!important;
    max-width:none!important;
    padding:0!important
}

.tour-packages-listing .package-list-grid {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important
}

.tour-packages-listing .package-list-card {
    display:grid!important;
    grid-template-columns:31% 1fr!important;
    min-height:205px!important;
    height:auto!important;
    overflow:hidden!important;
    border:1px solid #dbe3ec!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(19,42,72,.035)!important;
    transform:none!important
}

.tour-packages-listing .package-list-card:hover {
    transform:none!important;
    box-shadow:0 7px 20px rgba(19,42,72,.07)!important
}

.tour-packages-listing .package-list-image {
    height:100%!important;
    min-height:205px!important;
    aspect-ratio:auto!important;
    border-radius:11px 0 0 11px!important
}

.tour-packages-listing .package-list-image img {
    height:100%!important;
    min-height:205px!important;
    object-fit:cover!important
}

.tour-packages-listing .package-list-image>span {
    left:12px!important;
    top:12px!important;
    font-size:9px!important;
    padding:5px 8px!important
}

.tour-packages-listing .package-list-content {
    padding:18px 20px!important;
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important
}

.tour-packages-listing .package-list-meta {
    justify-content:flex-start!important;
    gap:18px!important;
    margin-bottom:7px!important;
    font-size:9.5px!important
}

.tour-packages-listing .package-list-rating {
    margin-bottom:7px!important;
    font-size:11px!important
}

.tour-packages-listing .package-list-content h3 {
    font-size:19px!important;
    line-height:1.25!important;
    margin:0 0 7px!important;
    color:#10284a!important
}

.tour-packages-listing .package-list-content p {
    font-size:12px!important;
    line-height:1.55!important;
    margin:0 0 8px!important;
    -webkit-line-clamp:2!important
}

.tour-packages-listing .package-list-route {
    font-size:11px!important;
    margin-bottom:10px!important
}

.tour-packages-listing .package-list-bottom {
    padding-top:11px!important;
    margin-top:auto!important
}

.tour-packages-listing .package-list-bottom strong {
    font-size:16px!important
}

.tour-packages-listing .package-list-bottom a {
    font-size:10.5px!important
}

.tour-packages-listing .package-list-footer {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    flex-wrap:wrap!important;
    margin-top:22px!important
}

.tour-packages-listing .package-list-footer .package-pagination {
    margin:0!important
}

/* Theme listing uses the same single-row rhythm */
.tour-themes-page {
    background:#f7f9fc!important
}

.tour-themes-page .tour-theme-grid {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin:18px 0 0!important
}

.tour-themes-page .tour-theme-grid>[class*=col-] {
    width:100%!important;
    max-width:none!important;
    padding:0!important
}

.tour-themes-page .theme-card {
    display:grid!important;
    grid-template-columns:112px 1fr!important;
    align-items:center!important;
    min-height:145px!important;
    padding:18px!important;
    border:1px solid #dbe3ec!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(19,42,72,.035)!important
}

.tour-themes-page .theme-card .theme-icon {
    grid-row:1/5!important;
    width:84px!important;
    height:84px!important;
    margin:0 22px 0 3px!important;
    border-radius:12px!important;
    background:#fff2ee!important;
    color:#f34f45!important;
    font-size:30px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important
}

.tour-themes-page .theme-card h3 {
    font-size:19px!important;
    line-height:1.25!important;
    margin:0 0 6px!important;
    color:#10284a!important
}

.tour-themes-page .theme-card p {
    font-size:12px!important;
    line-height:1.55!important;
    margin:0 0 10px!important;
    color:#6e7d90!important
}

.tour-themes-page .theme-link {
    font-size:11px!important;
    font-weight:800!important;
    color:#10284a!important
}

.tour-themes-page .theme-card.is-page-hidden {
    display:none!important
}

/* Destination listing also follows the supplied horizontal reference */
body.has-plan-rail .destinations {
    background:#f7f9fc!important
}

body.has-plan-rail .destinations .destination-grid {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-top:18px!important
}

body.has-plan-rail .destinations .destination-card {
    display:grid!important;
    grid-template-columns:210px 1fr 36px!important;
    align-items:center!important;
    min-height:138px!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #dbe3ec!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(19,42,72,.035)!important
}

body.has-plan-rail .destinations .destination-card>img {
    width:210px!important;
    height:138px!important;
    object-fit:cover!important;
    border-radius:11px 0 0 11px!important
}

body.has-plan-rail .destinations .destination-card>div {
    padding:18px 20px!important
}

body.has-plan-rail .destinations .destination-card h3 {
    font-size:19px!important;
    line-height:1.25!important;
    margin:0 0 6px!important;
    color:#10284a!important
}

body.has-plan-rail .destinations .destination-card p {
    font-size:12px!important;
    line-height:1.55!important;
    margin:0!important;
    color:#6e7d90!important
}

body.has-plan-rail .destinations .destination-card>span {
    margin-right:18px!important;
    color:#f34f45!important
}

body.has-plan-rail .destinations .destination-card.is-page-hidden {
    display:none!important
}

/* Unified pagination underneath all three listing types */
.package-pagination,.theme-pagination,.destination-pagination {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    margin:26px 0 6px!important
}

.package-pagination a,.package-pagination span,.theme-pagination a,.theme-pagination span,.destination-pagination a,.destination-pagination span {
    min-width:38px!important;
    height:38px!important;
    border:1px solid #d9e1ea!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#17324f!important;
    font-size:12px!important;
    font-weight:800!important
}

.package-pagination .active,.theme-pagination .active,.destination-pagination .active {
    background:#f34f45!important;
    border-color:#f34f45!important;
    color:#fff!important
}

@media(max-width:1199.98px) {
    body.has-plan-rail main {
        width:100%!important;
        margin-right:0!important
    }

    .tour-packages-listing .package-list-card {
        grid-template-columns:260px 1fr!important
    }

    .global-plan-rail {
        position:relative!important;
        width:100%!important;
        padding:26px 15px!important
    }

    .global-plan-card {
        max-width:760px!important;
        margin:auto!important
    }

}

@media(max-width:767.98px) {
    .tour-packages-listing .package-list-card {
        grid-template-columns:1fr!important;
        min-height:0!important
    }

    .tour-packages-listing .package-list-image {
        height:220px!important;
        min-height:220px!important;
        border-radius:11px 11px 0 0!important
    }

    .tour-packages-listing .package-list-image img {
        min-height:220px!important
    }

    .tour-packages-listing .package-list-content {
        padding:15px!important
    }

    .tour-packages-listing .package-list-content h3 {
        font-size:18px!important
    }

    .tour-themes-page .theme-card {
        grid-template-columns:70px 1fr!important;
        padding:14px!important;
        min-height:126px!important
    }

    .tour-themes-page .theme-card .theme-icon {
        width:56px!important;
        height:56px!important;
        margin-right:14px!important;
        font-size:23px!important
    }

    body.has-plan-rail .destinations .destination-card {
        grid-template-columns:116px 1fr 28px!important;
        min-height:112px!important
    }

    body.has-plan-rail .destinations .destination-card>img {
        width:116px!important;
        height:112px!important
    }

    body.has-plan-rail .destinations .destination-card>div {
        padding:12px!important
    }

    body.has-plan-rail .destinations .destination-card h3 {
        font-size:16px!important
    }

    body.has-plan-rail .destinations .destination-card p {
        font-size:11px!important
    }

    body.has-plan-rail .destinations .destination-card>span {
        margin-right:10px!important
    }

}

@media(max-width:480px) {
    body.has-plan-rail .destinations .destination-card {
        grid-template-columns:96px 1fr 24px!important
    }

    body.has-plan-rail .destinations .destination-card>img {
        width:96px!important;
        height:108px!important
    }

    .tour-themes-page .theme-card {
        grid-template-columns:58px 1fr!important
    }

    .tour-themes-page .theme-card .theme-icon {
        width:48px!important;
        height:48px!important;
        margin-right:10px!important;
        font-size:20px!important
    }

}

.tour-themes-page .tour-theme-grid>.is-page-hidden {
    display:none!important
}

@media(max-width:575.98px) {
    .global-plan-card {
        padding:16px!important;
        border-radius:12px!important
    }

    .global-plan-card h2 {
        font-size:23px!important
    }

    .tour-packages-listing .package-list-footer {
        align-items:flex-start!important;
        flex-direction:column!important
    }

    .tour-packages-listing .package-list-footer>a {
        font-size:11px!important
    }

}

/* ===== FINAL INNER PAGES: BOOTSTRAP 8/4 CONTENT + FORM ===== */
body.has-plan-rail main {
    width:100%!important;
    margin-right:0!important
}

body.has-plan-rail {
    background:#fff!important
}

.global-plan-rail {
    display:none!important
}

@media(min-width:992px) {
    .tour-packages-listing .row,   .jaipur-tours-section .row,   .theme-tours-section .row,   .tour-detail-page .row,   .tour-themes-page>.container-xl>.row,   .destinations-page-layout>.container-xl>.row {
        display:flex!important;
        flex-wrap:wrap!important;
        margin-left:calc(-.5 * var(--bs-gutter-x))!important;
        margin-right:calc(-.5 * var(--bs-gutter-x))!important
    }

    .tour-packages-listing .col-lg-8,   .jaipur-tours-section .col-lg-8,   .theme-tours-section .col-lg-8,   .tour-detail-page .col-lg-8,   .tour-themes-page .col-lg-8,   .destinations-page-layout .col-lg-8 {
        flex:0 0 auto!important;
        width:66.66666667%!important;
        max-width:66.66666667%!important;
        padding-left:calc(var(--bs-gutter-x)*.5)!important;
        padding-right:calc(var(--bs-gutter-x)*.5)!important
    }

    .tour-packages-listing .col-lg-4,   .jaipur-tours-section .col-lg-4,   .theme-tours-section .col-lg-4,   .tour-detail-page .col-lg-4,   .tour-themes-page .col-lg-4,   .destinations-page-layout .col-lg-4 {
        flex:0 0 auto!important;
        width:33.33333333%!important;
        max-width:33.33333333%!important;
        padding-left:calc(var(--bs-gutter-x)*.5)!important;
        padding-right:calc(var(--bs-gutter-x)*.5)!important
    }

    .shared-sticky-column,.tour-detail-sidebar-col {
        align-self:stretch!important;
        overflow:visible!important;
        position:relative!important
    }

    .shared-sticky-card,.package-plan-card,.jaipur-plan-card,.theme-plan-card,.tour-detail-plan-card {
        position:-webkit-sticky!important;
        position:sticky!important;
        top:108px!important;
        z-index:20!important;
        max-height:calc(100vh - 128px)!important;
        overflow:auto!important;
        scrollbar-width:thin!important
    }

}

/* Do not let old listing rules flatten the Bootstrap row */
.tour-packages-listing .row {
    display:flex!important
}

.tour-packages-listing .col-12 {
    padding-left:calc(var(--bs-gutter-x)*.5)!important;
    padding-right:calc(var(--bs-gutter-x)*.5)!important
}

/* Listing cards inside the 8-column content */
.tour-packages-listing .package-list-grid {
    grid-template-columns:1fr!important
}

.tour-themes-page .tour-theme-grid {
    grid-template-columns:1fr!important
}

.destinations-page-layout .destination-grid {
    grid-template-columns:1fr!important
}

.destinations-page-layout .destination-card {
    display:grid!important;
    grid-template-columns:190px 1fr 34px!important;
    align-items:center!important;
    min-height:132px!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #dbe3ec!important;
    border-radius:12px!important;
    background:#fff!important
}

.destinations-page-layout .destination-card>img {
    width:190px!important;
    height:132px!important;
    object-fit:cover!important;
    border-radius:11px 0 0 11px!important
}

.destinations-page-layout .destination-card>div {
    padding:16px 18px!important
}

.destinations-page-layout .destination-card>span {
    margin-right:14px!important
}

@media(max-width:991.98px) {
    .tour-packages-listing .row,.jaipur-tours-section .row,.theme-tours-section .row,.tour-detail-page .row,.tour-themes-page>.container-xl>.row,.destinations-page-layout>.container-xl>.row {
        display:flex!important
    }

    .shared-sticky-card,.package-plan-card,.jaipur-plan-card,.theme-plan-card,.tour-detail-plan-card {
        position:static!important;
        top:auto!important;
        max-height:none!important;
        overflow:visible!important;
        margin-top:8px!important
    }

}

@media(max-width:767.98px) {
    .destinations-page-layout .destination-card {
        grid-template-columns:110px 1fr 26px!important;
        min-height:108px!important
    }

    .destinations-page-layout .destination-card>img {
        width:110px!important;
        height:108px!important
    }

    .destinations-page-layout .destination-card>div {
        padding:11px!important
    }

}

/* =========================================================
   AUTHENTIC INDIA HOLIDAYS — FINAL PROFESSIONAL POLISH
   One shared responsive design layer for all HTML pages.
   Bootstrap handles the core grid; these rules handle design.
   ========================================================= */

/* =========================================================
   01. DESIGN TOKENS + GLOBAL RHYTHM
   ========================================================= */
:root{
    --aih-dark:#202a38;
    --aih-dark-2:#0f1b2d;
    --aih-text:#586577;
    --aih-muted:#7a8696;
    --aih-red:#ef4e43;
    --aih-red-soft:#fff1ed;
    --aih-line:#e1e7ed;
    --aih-light:#f7f9fc;
    --aih-light-2:#f1f5f9;
    --aih-white:#fff;
    --aih-radius:12px;
}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{margin:0;background:#fff;color:var(--aih-text);font-size:15px;line-height:1.62}
main{width:100%;min-height:0;margin:0;padding:0}
img{display:block;max-width:100%;height:auto}
.section{padding-top:52px;padding-bottom:52px}

/* =========================================================
   02. HEADER / FOOTER / INNER BANNER — SAME ON EVERY PAGE
   ========================================================= */
.inner-hero{margin:0!important}
.inner-hero + .section,
.inner-hero + .tour-packages-listing,
.inner-hero + .tour-detail-page,
.inner-hero + .theme-detail-tours,
.inner-hero + .jaipur-tours-section,
.inner-hero + .tour-themes-page,
.inner-hero + .destinations{
    margin-top:0!important;
    padding-top:42px!important;
}
.inner-hero h1,.inner-hero h2,.inner-hero h3,
.inner-hero .inner-hero-label,.inner-hero .inner-breadcrumb,
.inner-hero .inner-breadcrumb a,.inner-hero .inner-breadcrumb span,.inner-hero .inner-breadcrumb i{
    color:#fff!important;
}
.footer{margin-top:0!important}

/* =========================================================
   03. HOME BACKGROUND ALTERNATION
   White / light / soft-red keeps the page varied.
   ========================================================= */
#experiences{background:#fff!important}
#plan{background:var(--aih-red-soft)!important}
#popular{background:var(--aih-light)!important}
#golden{background:#fff!important}
#home-themes{background:var(--aih-red-soft)!important}
#rajasthan{background:#fff!important}
#reviews{background:var(--aih-light)!important}

/* =========================================================
   04. HOME TOUR THEMES SLIDER
   6 cards total.
   Wide desktop 5 / desktop 4 / tablet 2 / phone 1.
   ========================================================= */
#home-themes{padding-top:42px!important;padding-bottom:34px!important}
#home-themes .home-theme-head{margin-bottom:18px!important}
#home-themes .home-theme-head h2{
    margin:5px 0 4px!important;font-size:28px!important;line-height:1.2!important;color:var(--aih-dark)!important
}
#home-themes .home-theme-head p{margin:0!important;max-width:680px;font-size:14px;color:var(--aih-text)}
#home-themes .home-theme-viewport{overflow:hidden!important}
#home-themes .home-theme-track{
    display:flex!important;gap:14px!important;transition:transform .35s ease!important;will-change:transform
}
#home-themes .home-theme-track>.theme-card{
    flex:0 0 calc((100% - 56px)/5)!important;
    min-width:0!important;min-height:190px!important;padding:17px!important;
    border:1px solid #f0d5ce!important;border-radius:11px!important;background:#fff!important;
    box-shadow:0 5px 15px rgba(15,27,45,.04)!important
}
#home-themes .theme-icon{
    width:39px!important;height:39px!important;display:grid!important;place-items:center!important;
    margin:0 0 11px!important;border-radius:9px!important;background:var(--aih-red)!important;color:#fff!important;
    font-size:15px!important
}
#home-themes .theme-card h3{margin:0 0 6px!important;font-size:15px!important;color:var(--aih-dark)!important}
#home-themes .theme-card p{margin:0 0 10px!important;font-size:12px!important;line-height:1.5!important}
#home-themes .theme-link{margin-top:auto!important;font-size:11px!important;font-weight:700!important;color:var(--aih-red)!important}
#home-themes .slider-bottom-controls{margin-top:14px!important}
#home-themes .home-theme-dots button{
    width:7px!important;height:7px!important;border:0!important;border-radius:50%!important;background:#d5a39a!important
}
#home-themes .home-theme-dots button.active{width:20px!important;border-radius:8px!important;background:var(--aih-red)!important}

/* =========================================================
   05. TESTIMONIAL SLIDER — 6 TOTAL / COMPACT MULTI-CARD
   ========================================================= */
#reviews{padding-top:44px!important;padding-bottom:44px!important}
.testimonial-viewport{overflow:hidden!important}
.testimonial-track{display:flex!important;gap:16px!important;transition:transform .35s ease!important}
.testimonial-card{
    flex:0 0 calc((100% - 32px)/3)!important;min-width:0!important;
    padding:20px!important;border:1px solid var(--aih-line)!important;border-radius:12px!important;background:#fff!important
}
.testimonial-card h3{font-size:17px!important;line-height:1.35!important}
.testimonial-card p{font-size:13px!important;line-height:1.6!important}

/* =========================================================
   06. TOUR THEMES LISTING — 4 + 4 + 4
   ========================================================= */
.tour-themes-page .tour-theme-grid{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;margin:0!important
}
.tour-themes-page .tour-theme-grid>[class*="col-"]{width:auto!important;max-width:none!important;flex:none!important;padding:0!important}
.tour-themes-page .theme-card{
    height:100%!important;min-height:195px!important;padding:18px!important;
    border:1px solid var(--aih-line)!important;border-radius:var(--aih-radius)!important;background:#fff!important
}
.tour-themes-page .theme-icon{
    width:40px!important;height:40px!important;display:grid!important;place-items:center!important;
    margin-bottom:12px!important;border-radius:9px!important;background:var(--aih-red)!important;color:#fff!important
}
.tour-themes-page .theme-card h2,.tour-themes-page .theme-card h3{font-size:16px!important;margin:0 0 6px!important}
.tour-themes-page .theme-card p{font-size:13px!important;line-height:1.5!important}

/* =========================================================
   07. DESTINATIONS — BOOTSTRAP CONTAINER + FULL MOBILE WIDTH
   ========================================================= */
.destinations-page-layout,.destinations-page-layout>.container-xl,
.destinations-page-layout .row,.destinations-page-layout .destination-grid{
    width:100%!important;max-width:100%!important;min-width:0!important
}
.destinations-page-layout .destination-grid{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important
}
.destinations-page-layout .destination-card{width:100%!important;min-width:0!important}
#destinations .destination-card h3,#destinations .destination-card h3 a{color:#fff!important}
#destinations .destination-card p{color:rgba(255,255,255,.92)!important}

/* =========================================================
   08. SHARED PACKAGE / THEME DETAIL / DESTINATION DETAIL
   Same package card CSS; only page content changes.
   ========================================================= */
.tour-packages-listing>.container-xl>.row,
.theme-detail-tours>.container-xl>.row,
.jaipur-tours-section>.container-xl>.row{align-items:flex-start!important}
.package-list-grid{display:grid!important;gap:14px!important}
.package-list-card{
    overflow:hidden!important;border:1px solid var(--aih-line)!important;border-radius:12px!important;background:#fff!important
}
.package-list-image img{width:100%!important;height:100%!important;object-fit:cover!important}
.package-list-content h3,.package-list-content h3 a{color:var(--aih-dark)!important}
.package-list-content p{color:var(--aih-text)!important}

/* =========================================================
   09. FORM + SIDEBAR SUPPORT
   Form stays in its Bootstrap column; support card fills space.
   ========================================================= */
.shared-sticky-column,.tour-detail-sidebar-col{position:relative!important;overflow:visible!important}
.journey-plan-card{max-height:none!important;overflow:visible!important}
.sidebar-assurance{
    margin-top:16px;padding:20px;border:1px solid var(--aih-line);border-radius:12px;background:#fff
}
.sidebar-assurance h3{margin:8px 0 12px;font-size:18px;line-height:1.35;color:var(--aih-dark)}
.sidebar-assurance ul{list-style:none;margin:0 0 14px;padding:0}
.sidebar-assurance li{display:flex;gap:9px;margin:9px 0;font-size:13px;color:var(--aih-text)}
.sidebar-assurance li i{margin-top:4px;color:var(--aih-red)}
.sidebar-assurance>a{font-size:12px;font-weight:700;color:var(--aih-red)}

/* =========================================================
   10. TOUR DETAILS — COMPLETE GALLERY + CONTENT
   Desktop XL = 8/4; below 1200px stacks to prevent overlap.
   ========================================================= */
.tour-detail-page>.container-xl>.row{align-items:flex-start!important}
.tour-detail-main{min-width:0!important}
.tour-gallery-main{
    position:relative!important;width:100%!important;height:430px!important;overflow:hidden!important;
    border-radius:14px!important;background:#eef2f6!important
}
.tour-gallery-slide{position:absolute!important;inset:0!important;opacity:0!important;visibility:hidden!important;transition:opacity .25s ease!important}
.tour-gallery-slide.active{opacity:1!important;visibility:visible!important}
.tour-gallery-slide img{width:100%!important;height:100%!important;object-fit:cover!important}
.tour-gallery-thumbs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:9px!important;margin-top:9px!important}
.tour-gallery-thumbs button{height:82px!important;padding:0!important;overflow:hidden!important;border:2px solid transparent!important;border-radius:9px!important}
.tour-gallery-thumbs button.active{border-color:var(--aih-red)!important}
.tour-gallery-thumbs img{width:100%!important;height:100%!important;object-fit:cover!important}
.tour-detail-plan-card{position:sticky!important;top:126px!important;max-height:none!important;overflow:visible!important}

/* =========================================================
   11. RELATED TOURS — REAL SLIDER
   ========================================================= */
.related-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:14px}
.related-heading h2{margin-bottom:0!important}
.related-controls{display:flex;gap:7px}
.related-controls button{
    width:35px;height:35px;border:1px solid var(--aih-line);border-radius:50%;background:#fff;color:var(--aih-dark)
}
.related-tour-viewport{overflow:hidden}
.related-tour-track{display:flex;gap:12px;transition:transform .35s ease;will-change:transform}
.related-tour-card{
    flex:0 0 calc((100% - 24px)/3);min-width:0;overflow:hidden;
    border:1px solid var(--aih-line);border-radius:11px;background:#fff
}
.related-tour-card img{width:100%;height:135px;object-fit:cover}
.related-tour-card div{padding:12px}
.related-tour-card span{font-size:10px;color:var(--aih-muted);text-transform:uppercase;font-weight:700}
.related-tour-card h3{margin:5px 0 9px;font-size:15px;line-height:1.35;color:var(--aih-dark)}
.related-tour-card a{font-size:11px;color:var(--aih-red);font-weight:700}
.related-dots{display:flex;justify-content:center;gap:5px;margin-top:13px}
.related-dots button{width:7px;height:7px;border:0;border-radius:50%;background:#ccd4dd;padding:0}
.related-dots button.active{width:19px;border-radius:8px;background:var(--aih-red)}

/* =========================================================
   12. BLOG LISTING + PAGINATION
   ========================================================= */
.blog-page-section{background:var(--aih-light)!important}
.blog-list-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
.blog-list-card{
    overflow:hidden;border:1px solid var(--aih-line);border-radius:12px;background:#fff;
    box-shadow:0 7px 20px rgba(15,27,45,.05)
}
.blog-list-card img{width:100%;height:210px;object-fit:cover}
.blog-list-card>div{padding:18px}
.blog-tag{display:inline-flex;padding:4px 8px;border-radius:15px;background:var(--aih-red-soft);color:var(--aih-red);font-size:10px;font-weight:700;text-transform:uppercase}
.blog-list-card h3{margin:9px 0 8px;font-size:18px;line-height:1.35;color:var(--aih-dark)}
.blog-list-card p{margin:0 0 13px;font-size:13px;line-height:1.6}
.blog-list-card a{font-size:12px;font-weight:700;color:var(--aih-red)}
.blog-pagination{display:flex;justify-content:center;gap:7px;margin-top:28px}
.blog-pagination button{
    min-width:38px;height:38px;padding:0 11px;border:1px solid var(--aih-line);border-radius:7px;background:#fff;color:var(--aih-dark)
}
.blog-pagination button.active{background:var(--aih-red);border-color:var(--aih-red);color:#fff}

/* =========================================================
   13. BLOG DETAILS — CREATIVE BUT CONSISTENT
   ========================================================= */
.blog-detail-section{background:#fff!important}
.blog-article{
    padding:24px;border:1px solid var(--aih-line);border-radius:14px;background:#fff;
    box-shadow:0 8px 24px rgba(15,27,45,.04)
}
.blog-article>h2{margin:9px 0 8px;font-size:31px;line-height:1.22;color:var(--aih-dark)}
.blog-article h3{margin:26px 0 8px;font-size:21px;color:var(--aih-dark);scroll-margin-top:130px}
.blog-article p{font-size:15px;line-height:1.75}
.blog-feature-image{width:100%;height:390px;object-fit:cover;border-radius:12px;margin:15px 0 20px}
.blog-inline-image{width:100%;height:290px;object-fit:cover;border-radius:11px;margin:20px 0}
.blog-toc{
    display:grid;gap:7px;margin:0 0 22px;padding:17px;border:1px solid #f1d7d0;border-radius:10px;background:var(--aih-red-soft)
}
.blog-toc a{font-size:13px;color:var(--aih-dark);font-weight:600}
.blog-sidebar{display:grid;gap:16px}
.blog-side-box{padding:20px;border:1px solid var(--aih-line);border-radius:12px;background:#fff}

/* =========================================================
   14. TABLET / MOBILE MENU — CLICK ONLY
   Prevent 800/900/922px desktop-hover conflicts.
   ========================================================= */
@media(max-width:991.98px){
    .main-nav{
        position:fixed!important;left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;
        margin:0!important;border-left:0!important;overflow-x:hidden!important;overflow-y:auto!important
    }
    .main-nav>.has-mega,.main-nav>.has-drop{
        position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important
    }
    .main-nav>.has-mega:hover>.mega-menu,.main-nav>.has-drop:hover>.dropdown,
    .main-nav>.has-mega:not(.open)>.mega-menu,.main-nav>.has-drop:not(.open)>.dropdown{
        display:none!important;height:0!important;min-height:0!important;max-height:0!important;
        margin:0!important;padding:0!important;opacity:0!important;visibility:hidden!important;overflow:hidden!important;
        pointer-events:none!important;transform:none!important
    }
    .main-nav>.has-mega.open>.mega-menu,.main-nav>.has-drop.open>.dropdown{
        display:block!important;position:static!important;inset:auto!important;width:100%!important;max-width:100%!important;
        min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;
        padding:8px 0 10px!important;opacity:1!important;visibility:visible!important;overflow:visible!important;
        pointer-events:auto!important;transform:none!important;border:0!important;box-shadow:none!important;background:#fff!important
    }
    .main-nav .tour-mega-menu,.main-nav .destination-mega-menu{
        width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:1fr!important;column-count:1!important
    }
    .main-nav .mobile-accordion-group{
        float:none!important;flex:0 0 100%!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 8px!important
    }
    .main-nav .mobile-accordion-group:not(.active)>.mobile-submenu-links,
    .main-nav .mobile-accordion-group:hover:not(.active)>.mobile-submenu-links{display:none!important}
    .main-nav .mobile-accordion-group.active>.mobile-submenu-links{
        display:block!important;position:static!important;width:100%!important;max-width:100%!important
    }

    .inner-hero + .section,
    .inner-hero + .tour-packages-listing,
    .inner-hero + .tour-detail-page,
    .inner-hero + .theme-detail-tours,
    .inner-hero + .jaipur-tours-section,
    .inner-hero + .tour-themes-page,
    .inner-hero + .destinations{padding-top:32px!important}

    #home-themes .home-theme-track>.theme-card{flex-basis:calc((100% - 14px)/2)!important}
    .testimonial-card{flex-basis:calc((100% - 16px)/2)!important}
    .tour-themes-page .tour-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .destinations-page-layout .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .blog-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .related-tour-card{flex-basis:calc((100% - 12px)/2)!important}
}

/* =========================================================
   15. STANDARD DESKTOP (992–1399)
   Home theme slider shows 4.
   ========================================================= */
@media(min-width:992px) and (max-width:1399.98px){
    #home-themes .home-theme-track>.theme-card{flex-basis:calc((100% - 42px)/4)!important}
}

/* =========================================================
   16. TOUR DETAILS STACK UNTIL XL
   This is what prevents the form covering the gallery.
   ========================================================= */
@media(max-width:1199.98px){
    .tour-detail-plan-card{position:static!important;top:auto!important;margin-top:0!important}
}

/* =========================================================
   17. MOBILE
   ========================================================= */
@media(max-width:767.98px){
    .section{padding-top:40px;padding-bottom:40px}
    .inner-hero + .section,
    .inner-hero + .tour-packages-listing,
    .inner-hero + .tour-detail-page,
    .inner-hero + .theme-detail-tours,
    .inner-hero + .jaipur-tours-section,
    .inner-hero + .tour-themes-page,
    .inner-hero + .destinations{padding-top:28px!important}

    #home-themes{padding-top:36px!important;padding-bottom:30px!important}
    #home-themes .home-theme-track>.theme-card{flex-basis:100%!important}
    .testimonial-card{flex-basis:100%!important}
    .tour-themes-page .tour-theme-grid,.destinations-page-layout .destination-grid,.blog-list-grid{grid-template-columns:1fr!important}
    .tour-gallery-main{height:275px!important}
    .related-tour-card{flex-basis:100%!important}
    .blog-feature-image{height:250px}
    .blog-inline-image{height:220px}
    .blog-article{padding:17px}
    .blog-article>h2{font-size:27px}
}

/* =========================================================
   18. DESKTOP HOVER ONLY
   ========================================================= */
@media(min-width:992px){
    .main-nav>.has-mega:hover>.mega-menu,.main-nav>.has-drop:hover>.dropdown{
        opacity:1!important;visibility:visible!important;pointer-events:auto!important
    }
}


.custom-logo { width:230px; height:54px; }