/* Shared visual language and manually browsable homepage trips. */
:root{--primary:#173F35;--primary-dark:#173F35;--secondary:#C45116;--accent:#087F73;--page-cream:#FFF9F2;--brand-surface:#F0F7F5;--peach:#FFF9F2;--sky:#F0F7F5;--text-dark:#26352F;--text-light:#54645D}
body{background:#FFF9F2;color:#26352F}.section-title,h1,h2,h3,h4{color:#173F35}.hero h1{color:white}
.upcoming-batches,.why-choose-us{background:#FFF9F2}.trips-section,.how-it-works,.testimonials{background:white}.stats{background:#173F35}
.btn-primary,.trip-footer .btn,.mobile-book-float>a:first-child{background:#087F73;color:white;border:1px solid #087F73}.btn-primary:hover,.trip-footer .btn:hover{background:#06695F;color:white}.btn-secondary{background:#C45116;color:white}.btn-outline{color:#087F73;border-color:#087F73}
.trip-card{border:1px solid #DEE8E2;border-radius:18px;box-shadow:0 4px 16px #173f3508;overflow:hidden}.trip-card:hover{transform:none;box-shadow:0 8px 24px #173f3512}.trip-badge,.trip-date-tag{background:#EAF6F3;color:#173F35}.trip-date-tag{border:1px solid #CBE2DC}.trip-content h3{font-size:20px}.trip-card .trip-image{aspect-ratio:16/9;height:auto}.trip-content .trip-dates{margin:0 0 12px}.trip-card-summary{display:none}.trip-meta{margin-bottom:12px}.trip-footer{margin-top:auto;display:flex;flex-direction:column;align-items:stretch!important}.trip-footer .btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px!important;font-size:16px!important;border-radius:10px}.trip-footer .trip-price{color:#173F35}.trip-price-unit{display:inline;margin-left:6px;font-size:14px}.trip-departure-city{font-size:14px}
.trip-rail{display:grid!important;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);grid-template-columns:none!important;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:4px 2px 16px;align-items:stretch;scrollbar-width:thin}.trip-rail>.trip-card{scroll-snap-align:start;min-width:0}.trip-rail>.upcoming-empty,.trip-rail>.trips-empty{grid-column:1/-1}.rail-controls{display:flex;justify-content:center;gap:12px;margin:12px 0}.rail-arrow{width:48px;height:48px;border-radius:50%;border:1px solid #087F73;background:white;color:#087F73;font-size:22px;cursor:pointer}.rail-arrow:disabled{opacity:.35;cursor:default}.rail-arrow:focus-visible,.trip-rail:focus-visible,.btn:focus-visible{outline:3px solid #C45116;outline-offset:3px}
.policy-card,.guideline-card,.summary-card,.checkout-card{background:white}.guideline-card i{color:#C45116;background:none}.glance-grid{background:transparent}.summary-card>h3,.cancellation-brief{background:#F0F7F5}.section-eyebrow{color:#C45116}
@media(max-width:1000px) and (min-width:768px){.trip-rail{grid-auto-columns:calc((100% - 20px)/2)}}
@media(max-width:767px){
 .navbar,.nav-container{height:64px;min-height:64px}.logo-img{width:38px;height:38px}.logo-text{font-size:16px;max-width:190px}.nav-menu{top:64px!important;max-height:calc(100dvh - 64px)}.nav-backdrop{top:64px}
 .hero{padding-top:64px;padding-bottom:0;min-height:0;max-height:none;aspect-ratio:auto}.hero-content{padding:26px 18px 32px}.hero h1{font-size:32px;line-height:1.15}.hero .hero-trust{font-size:13px;margin-bottom:14px}.hero-desc{margin-inline:0}.hero-search{min-height:48px;margin:18px 0 14px}.hero-buttons{margin-bottom:12px;max-width:none;justify-content:flex-start}.hero-help{padding:6px 0}.container{padding-inline:18px}
 .trip-rail{grid-auto-columns:88%;gap:16px}.trip-content{padding:16px}.trip-content h3{font-size:19px}.trip-meta{display:flex;flex-wrap:wrap;font-size:14px}.trip-footer .btn{min-height:48px}.section-subtitle{margin-bottom:20px}.upcoming-batches{padding:28px 0}.page-header{padding-top:88px}.trip-hero{padding-top:80px}
}
@media(prefers-reduced-motion:reduce){.trip-rail{scroll-behavior:auto}}

@media(max-width:767px){.container{width:100%}.trip-rail{grid-auto-columns:85vw}.trip-dates{min-height:0!important;padding:0!important}.trip-date-label{margin-bottom:6px}.trip-date-tags{margin-bottom:0}.discovery-result-summary{margin-bottom:12px}}

@media(max-width:767px){.trip-rail{grid-auto-columns:88%}}

/* Compact departures, destination discovery and mobile information. */
#upcoming-batches-grid>.departure-bar{scroll-snap-align:start;min-width:0;display:grid;grid-template-columns:86px minmax(0,1fr) 20px;gap:12px;align-items:center;padding:14px;background:#F4F0FF;border:1px solid #DDD2F5;border-radius:12px;color:#292536;text-decoration:none;min-height:96px;box-sizing:border-box}
.departure-date{background:#6941C6;color:white;border-radius:8px;padding:10px 6px;text-align:center;font-weight:700;font-size:14px;line-height:1.4}.departure-name{font-weight:600;font-size:16px;line-height:1.4;overflow-wrap:anywhere}.departure-arrow{color:#6941C6;font-size:22px}#upcoming-batches-grid>.departure-bar:hover{background:#EAE1FF}#upcoming-batches-grid>.departure-bar:focus-visible{outline:3px solid #6941C6;outline-offset:2px}#upcoming-batches-grid+.rail-controls .rail-arrow{border-color:#6941C6;color:#6941C6}
#featured-trips-grid .trip-content{padding:14px 16px}#featured-trips-grid h3{margin-bottom:10px}#featured-trips-grid .trip-meta{margin:0 0 12px}#featured-trips-grid .trip-footer{padding-top:12px;flex-direction:row;align-items:center!important;gap:10px}#featured-trips-grid .trip-footer>.btn{width:auto;flex:1;max-width:150px;min-height:44px!important;font-size:14px!important;padding:10px 12px}#featured-trips-grid .trip-price-unit{display:block;margin:2px 0 0;font-size:12px}#featured-trips-grid .trip-price{font-size:21px}
.cta-section h2{color:#FFFFFF}.cta-section p{color:#F8F5FF}.cta-section .btn-primary{background:#FFFFFF;color:#173F35;border-color:white}.cta-section .btn-primary:hover{background:#EAF6F3;color:#173F35}
.upi-card{background:#F4F0FF!important;border:1px solid #DDD2F5;color:#292536!important}.upi-card h4{color:#6941C6!important}.upi-card p,.upi-card .upi-id{color:#292536!important}.upi-card .copy-upi,.upi-card .btn-upi{background:#6941C6!important;color:white!important;border-color:#6941C6!important}
.homepage-info-header{margin-bottom:24px}.benefit-dots{display:none}.testimonials>.container>.section-title{margin-bottom:20px}
@media(max-width:767px){
 .homepage-info-section,.trips-section,.testimonials,.cta-section,.upcoming-batches{padding-block:28px}.homepage-info-header{margin-bottom:18px}.section-title{margin-bottom:10px}.section-subtitle{margin-bottom:18px}.section-eyebrow{margin-bottom:8px}.center-btn{margin-top:16px}.rail-controls{margin:6px 0;gap:8px}.rail-arrow{height:44px;width:44px}.trip-rail{padding-bottom:8px}.discovery-result-summary{margin-bottom:12px}
 #upcoming-batches-grid>.departure-bar{padding:12px;grid-template-columns:80px minmax(0,1fr) 18px;gap:10px;min-height:88px}.departure-name{font-size:16px}.departure-date{font-size:13px}
 #featured-trips-grid .trip-footer{flex-direction:column;align-items:stretch!important;padding-top:10px}#featured-trips-grid .trip-footer>.btn{max-width:none;width:100%;font-size:16px!important;min-height:44px!important}#featured-trips-grid .trip-price-unit{display:inline;margin-left:4px}#featured-trips-grid .trip-content{padding:12px 14px}#featured-trips-grid .trip-content h3{font-size:18px}#featured-trips-grid .trip-meta{margin-bottom:8px}
 .how-it-works .homepage-info-grid{display:grid;grid-template-columns:1fr;gap:12px;position:relative}.how-it-works .homepage-info-grid:before{content:'';position:absolute;left:36px;top:35px;bottom:35px;width:2px;background:#CFDDD5}.how-it-works .homepage-info-card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-content:center;text-align:left;padding:16px 14px;z-index:1;border-radius:14px}.how-it-works .homepage-info-icon{grid-column:1;grid-row:1 / 3;min-width:44px;min-height:44px;width:44px;height:44px;padding:4px;margin:0;align-self:center;box-sizing:border-box;font-size:24px}.how-it-works h3{grid-column:2;margin:0 0 6px;font-size:18px}.how-it-works .homepage-info-card p{grid-column:2;font-size:16px;line-height:1.5}.how-it-works .homepage-step-number{left:44px;top:12px;right:auto;width:20px;height:20px;font-size:11px}
 .why-choose-us .homepage-info-grid{display:grid;grid-auto-flow:column;grid-auto-columns:88%;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:2px 2px 8px;scrollbar-width:thin}.why-choose-us .homepage-info-card{scroll-snap-align:start;padding:18px 16px;border-radius:14px}.why-choose-us .homepage-info-icon{margin-bottom:10px;min-height:40px;min-width:40px;font-size:22px}.why-choose-us .homepage-info-value{font-size:24px;margin-bottom:6px}.why-choose-us h3{margin-bottom:8px}.why-choose-us .homepage-info-card p{font-size:16px;line-height:1.5}.benefit-dots{display:flex;justify-content:center;gap:0;margin-top:4px}.benefit-dot{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent}.benefit-dot:before{content:'';height:7px;width:7px;border-radius:50%;background:#A6B7AE}.benefit-dot[aria-pressed=true]:before{background:#087F73;width:20px;border-radius:6px}.benefit-dot:focus-visible{outline:2px solid #087F73;outline-offset:-4px}
 .cta-section h2{font-size:24px;margin-bottom:10px}.cta-section p{margin-bottom:16px}.homepage-info-section .section-title{font-size:25px}
}

@media(max-width:767px){.stats{padding:24px 0}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 12px}.stat-number{font-size:28px}.stat-label{font-size:14px}.upcoming-batches-action{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.upcoming-batches-action .btn{width:auto!important;flex:1;padding:10px 8px;font-size:14px;min-height:44px;margin:0}.upcoming-batches-action .btn-outline{border-radius:12px}.upi-card{padding:18px}}

#featured-trips-grid .trip-next-departure{font-size:14px;line-height:1.5;color:#4C3B71;margin:0 0 8px}#featured-trips-grid .trip-next-departure time{font-weight:600;color:#6941C6}

/* Compact mobile discovery and booking, with warm departure accents. */
#upcoming-batches-grid>.departure-bar{background:#FFF0E5;border-color:#EDCBB5;color:#26352F;min-height:80px;padding:12px}
.departure-date{background:#A94315;padding:8px 6px;line-height:1.3}
.departure-arrow{color:#A94315}
#upcoming-batches-grid>.departure-bar:hover{background:#FFE3CF}
#upcoming-batches-grid>.departure-bar:focus-visible{outline-color:#A94315}
.upcoming-batches-action .rail-arrow{border-color:#A94315;color:#A94315}
.upcoming-batches-action{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px}
.upcoming-batches-action .rail-controls{margin:0;gap:8px;flex-shrink:0}
.upcoming-batches-action .btn{margin:0}
.upcoming-batches-action .rail-controls[hidden]{display:none}
#bookingCard .booking-price-unit{font-size:14px;color:#54645D}
#bookingCard .booking-package-link{color:#087F73;text-decoration:underline}
@media(max-width:767px){
 .hero-content{padding:24px 18px}.hero h1{font-size:30px;line-height:1.15;margin-bottom:12px}
 .hero .hero-trust{font-size:13px;margin-bottom:12px;gap:6px;flex-wrap:wrap}
 .hero-tagline{font-size:16px;line-height:1.45;margin:0;max-width:none}
 .hero-desc{display:none}
 .hero-search{min-height:48px;margin:16px 0 12px}
 .hero-search input{min-height:48px;font-size:16px;padding-block:10px}
 .hero-buttons{margin-bottom:8px;gap:8px}
 .hero-buttons .btn{min-height:48px;padding:10px 20px;font-size:16px}
 .hero-help{padding:4px 0;font-size:14px;line-height:1.5}
 .upcoming-batches{padding-block:24px 20px}
 .upcoming-batches .section-title{margin:0 0 8px;font-size:26px;line-height:1.25}
 .upcoming-batches .section-subtitle{margin:0 0 16px;font-size:16px;line-height:1.4}
 #upcoming-batches-grid{padding-top:0;padding-bottom:4px;align-items:start}
 #upcoming-batches-grid>.departure-bar{min-height:76px;grid-template-columns:72px minmax(0,1fr) 18px;gap:10px;padding:12px}
 .departure-name{font-size:16px;line-height:1.3}
 .departure-date{font-size:13px}
 .upcoming-batches-action{flex-wrap:nowrap;justify-content:space-between;gap:12px;margin-top:12px}
 .upcoming-batches-action .btn{flex:0 1 auto;min-height:44px;padding:10px 14px;font-size:14px;border-radius:10px}
 .stats{padding:20px 0}
 .stats-grid{gap:16px 12px}
 .stat-number{font-size:28px;line-height:1.2;margin-bottom:4px}
 .stat-label{font-size:14px;line-height:1.4}
 .trips-section{padding-top:24px}
 .trips-section .section-title{margin-bottom:8px}
 .trips-section .section-subtitle{margin-bottom:16px}
 .booking-dialog{padding:20px;width:min(calc(100vw - 24px),440px);max-height:calc(100dvh - 32px);box-sizing:border-box}
 .booking-dialog .booking-dialog-close{position:absolute;top:8px;right:8px;min-width:44px;min-height:44px;margin:0;z-index:1;border-radius:50%}
 .booking-dialog #bookingCard{position:static;padding:0;margin:0}
 #bookingCard h3{font-size:20px;line-height:1.3;margin-bottom:8px;padding-right:32px}
 #bookingCard .price-display{margin-bottom:6px;gap:6px;flex-wrap:wrap}
 #bookingCard .current-price{font-size:26px;line-height:1.2}
 #bookingCard .booking-price-note{margin:0 0 12px;font-size:14px;line-height:1.4}
 #bookingCard .booking-package-link{display:inline-flex;align-items:center;min-height:44px}
 #bookingCard .booking-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px}
 #bookingCard .form-group{margin:0;min-width:0}
 #bookingCard .form-group label{font-size:14px;margin-bottom:6px}
 #bookingCard select{min-height:48px;padding:10px 8px;font-size:16px}
 #bookingCard .total-price{grid-column:1/-1;background:transparent;border-radius:0;border-top:1px solid #DEE8E2;padding:12px 0 0;margin:0;font-size:18px}
 #bookingCard #bookNowBtn{grid-column:1/-1;min-height:48px;padding:10px 12px;font-size:16px;border-radius:10px;display:flex;align-items:center;justify-content:center}
 #bookingCard .booking-secondary-actions{display:grid;grid-template-columns:1.15fr 1fr;gap:8px;margin-top:12px}
 #bookingCard .trip-brochure-actions,#bookingCard .quick-contact{padding:0;margin:0;border:0;min-width:0}
 #bookingCard .booking-secondary-actions .btn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 8px;margin:0;background:white;color:#087F73;border:1px solid #087F73;border-radius:8px;font-size:14px;line-height:1.3}
}
@media(max-width:359px){#bookingCard .booking-form{grid-template-columns:1fr}}


/* Dark page banners need their own heading contrast. */
.page-header h1,.page-header h2{color:#fff}
.custom-trip-section .guideline-card p{white-space:pre-line;overflow-wrap:anywhere}.custom-trip-section summary{overflow-wrap:anywhere}
.homepage-info-card.accent-orange{background:#fff3e9;border-color:#efd8c5}.homepage-info-card.accent-blue{background:#eff6fb;border-color:#cfdfeb}.homepage-info-card.accent-green{background:#eef8f1;border-color:#cce5d5}
.homepage-info-card.accent-orange .homepage-info-icon{background:#ffe5d1;color:#934114}.homepage-info-card.accent-blue .homepage-info-icon{background:#dcecf8;color:#24546d}.homepage-info-card.accent-green .homepage-info-icon{background:#d9efdf;color:#24563c}
.trip-date-tag{background:#e9f5f0}.trip-badge{background:#fff0df;color:#854216;border-color:#edcfac}.discovery-controls{background:#f0f7f5;border-color:#d2e6dc}.trip-footer .trip-price{color:#9b451a}
.content-section[open]>summary{color:#145c4a}.glance-item:nth-child(3n+1){background:#eef8f2}.glance-item:nth-child(3n+2){background:#fff3e8}.glance-item:nth-child(3n){background:#eff6fb}.guideline-card{border:1px solid #dae8df}.custom-trip-section .guideline-card:nth-child(odd){background:#f1f8f4}.faq-row[open]{background:#f0f7f5;border-radius:10px}.testimonial-card,.review-card{border:1px solid #dce8e1}.testimonial-stars,.review-stars{color:#a85a0b}.stats .stat-number{color:#ffe1ac}
