/* css/style.css */
/* ===== CSS Variables ===== */
:root {
    --primary: #1a472a;
    --primary-dark: #0d2818;
    --secondary: #e67e22;
    --accent: #27ae60;
    --white: #ffffff;
    --light: #f8f9fa;
    --gray: #6c757d;
    --dark: #212529;
    --whatsapp: #25D366;
    --upi: #5f259f;
    --shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.15);
    --radius: 12px;
    --transition: all 0.3s ease;
}

/* ===== Reset & Base ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: var(--dark);
    background: var(--white);
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== Buttons ===== */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: var(--transition);
    border: none;
    text-align: center;
    justify-content: center;
}

.btn-primary {
    background: var(--secondary);
    color: var(--white);
}

.btn-primary:hover {
    background: #d35400;
    transform: translateY(-2px);
}

.btn-secondary {
    background: var(--white);
    color: var(--primary);
    border: 2px solid var(--white);
}

.btn-secondary:hover {
    background: transparent;
    color: var(--white);
}

.btn-instagram {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    color: white;
    border: none;
}

.btn-instagram:hover {
    background: linear-gradient(45deg, #e6683c, #dc2743, #cc2366, #bc1888, #f09433);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(225, 48, 108, 0.4);
}

.btn-small {
    padding: 8px 20px;
    font-size: 0.9rem;
}

.btn-full {
    width: 100%;
}

.btn-whatsapp {
    background: var(--whatsapp);
    color: var(--white);
}

.btn-whatsapp:hover {
    background: #128C7E;
}

.btn-upi {
    background: var(--upi);
    color: var(--white);
}

.btn-upi:hover {
    background: #4a1d7a;
}

.btn-razorpay {
    background: #2b83ea;
    color: var(--white);
}

.btn-razorpay:hover {
    background: #1a6bc9;
}

.btn-nav {
    background: var(--secondary);
    color: var(--white);
    padding: 10px 24px;
    border-radius: 50px;
}

/* ===== Navigation ===== */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: var(--white);
    box-shadow: var(--shadow);
    z-index: 1000;
    padding: 15px 0;
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--primary);
}

.logo-icon {
    font-size: 1.8rem;
}

.logo-img {
    width: 45px;
    height: 45px;
    border-radius: 0;
    object-fit: contain;
    /* Account for the supplied mark's transparent margins. */
    transform: scale(1.28);
}

.nav-menu {
    display: flex;
    align-items: center;
    gap: 35px;
}

.nav-menu a {
    color: var(--dark);
    font-weight: 500;
    transition: var(--transition);
}

.nav-menu a:hover,
.nav-menu a.active {
    color: var(--primary);
}

.nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
}

.hamburger {
    display: block;
    width: 25px;
    height: 3px;
    background: var(--dark);
    position: relative;
    transition: var(--transition);
}

.hamburger::before,
.hamburger::after {
    content: '';
    position: absolute;
    width: 25px;
    height: 3px;
    background: var(--dark);
    transition: var(--transition);
}

.hamburger::before {
    top: -8px;
}

.hamburger::after {
    top: 8px;
}

/* ===== Hero Section ===== */
.hero {
    min-height: 72vh;
    min-block-size: 560px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    background-image: none;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-top: 80px;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.4), rgba(0,0,0,0.6));
}

.hero-content {
    position: relative;
    z-index: 1;
    color: var(--white);
    padding: 20px;
}

.hero h1 {
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: 15px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.hero-tagline {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.hero-desc {
    font-size: 1.2rem;
    opacity: 0.9;
    margin-bottom: 30px;
}

.hero-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ===== Stats Section ===== */
.stats {
    background: var(--primary);
    padding: 40px 0;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    text-align: center;
}

.stat-item {
    color: var(--white);
}

.stat-number {
    display: block;
    font-size: 2.5rem;
    font-weight: 800;
}

.stat-label {
    font-size: 1rem;
    opacity: 0.9;
}

/* ===== Section Styles ===== */
.section-title {
    font-size: 2.2rem;
    color: var(--primary);
    text-align: center;
    margin-bottom: 10px;
}

.section-subtitle {
    text-align: center;
    color: var(--gray);
    margin-bottom: 40px;
    font-size: 1.1rem;
}

/* ===== Upcoming Batches ===== */
.upcoming-batches {
    padding: 80px 0;
    background: linear-gradient(180deg, #f5f8f4 0%, #ffffff 100%);
}

.section-kicker {
    margin-bottom: 8px;
    color: var(--secondary);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-align: center;
    text-transform: uppercase;
}

.upcoming-batches-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.batch-card {
    overflow: hidden;
    background: var(--white);
    border: 1px solid rgba(26, 71, 42, 0.12);
    border-radius: 18px;
    box-shadow: var(--shadow);
}

.batch-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 92px;
    padding: 20px 22px;
    color: var(--white);
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
}

.batch-card-header > i {
    color: #f5b041;
    font-size: 1.35rem;
}

.batch-date,
.batch-weekday {
    display: block;
}

.batch-date {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
}

.batch-weekday {
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.batch-trip-list {
    padding: 0 22px;
}

.batch-trip-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 84px;
    padding: 16px 0;
    border-bottom: 1px solid #edf0ec;
}

.batch-trip-row:last-child {
    border-bottom: 0;
}

.batch-trip-copy {
    min-width: 0;
}

.batch-trip-title {
    display: block;
    color: var(--dark);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    transition: color 0.2s ease;
}

.batch-trip-title:hover,
.batch-trip-title:focus-visible {
    color: var(--secondary);
}

.batch-trip-status {
    display: inline-flex;
    margin-top: 7px;
    padding: 3px 9px;
    color: #176b42;
    background: #dff4e9;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
}

.batch-trip-price {
    flex-shrink: 0;
    color: var(--primary);
    font-size: 0.95rem;
    font-weight: 800;
}

.upcoming-batches-action {
    margin-top: 36px;
}

.upcoming-empty {
    grid-column: 1 / -1;
    max-width: 620px;
    margin: 0 auto;
    padding: 38px;
    text-align: center;
    background: var(--white);
    border: 1px solid rgba(26, 71, 42, 0.12);
    border-radius: 18px;
    box-shadow: var(--shadow);
}

.upcoming-empty > i {
    margin-bottom: 14px;
    color: var(--secondary);
    font-size: 2rem;
}

.upcoming-empty h3 {
    margin-bottom: 8px;
    color: var(--primary);
}

.upcoming-empty p {
    margin-bottom: 22px;
    color: var(--gray);
}

/* ===== Trips Section ===== */
.trips-section {
    padding: 80px 0;
}

.trips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

.trip-card {
    background: var(--white);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.trip-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-lg);
}

.trip-image {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.trip-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.trip-card:hover .trip-image img {
    transform: scale(1.1);
}

/* Inactive Trip Styles - Grey out trips with isActive: false */
.trip-card.trip-inactive {
    opacity: 0.6;
    filter: grayscale(50%);
}

.trip-card.trip-inactive:hover {
    transform: none;
    box-shadow: var(--shadow);
}

.trip-card.trip-inactive:hover .trip-image img {
    transform: none;
}

.trip-inactive-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.8);
    color: var(--white);
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    z-index: 10;
    white-space: nowrap;
}

/* Inactive Trip Detail Page Styles */
.trip-inactive-page .trip-detail-section {
    position: relative;
}

.trip-inactive-page .trip-detail-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.3);
    pointer-events: none;
    z-index: 1;
}

.trip-inactive-page .trip-sidebar {
    position: relative;
    z-index: 2;
}

.inactive-trip-banner {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: white;
    padding: 15px 25px;
    text-align: center;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 20px;
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.inactive-trip-banner i {
    font-size: 1.2rem;
}

.booking-disabled {
    opacity: 0.7;
    filter: grayscale(30%);
}

.booking-disabled select:disabled {
    background: #e5e7eb;
    cursor: not-allowed;
}

.btn-disabled {
    background: #9ca3af !important;
    cursor: not-allowed !important;
    pointer-events: none;
}

.btn-disabled:hover {
    background: #9ca3af !important;
    transform: none !important;
}

.trip-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background: var(--secondary);
    color: var(--white);
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
}

.trip-content {
    padding: 20px;
}

.trip-content h3 {
    font-size: 1.2rem;
    margin-bottom: 8px;
    color: var(--dark);
}

.trip-location {
    color: var(--gray);
    font-size: 0.9rem;
    margin-bottom: 12px;
}

.trip-location i {
    color: var(--secondary);
    margin-right: 5px;
}

.trip-meta {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
    font-size: 0.9rem;
    color: var(--gray);
}

.trip-meta i {
    margin-right: 5px;
    color: var(--primary);
}

.trip-dates {
    min-height: 72px;
    margin-bottom: 16px;
}

.trip-dates-label {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    color: var(--gray);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.trip-dates-label i {
    color: var(--primary);
}

.trip-date-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.trip-date-tag,
.trip-date-more {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.1;
}

.trip-date-tag {
    color: var(--primary-dark);
    background: #f6fbf7;
    border: 1px dashed rgba(26, 71, 42, 0.48);
}

.trip-date-more {
    color: #8a4a0b;
    background: #fff1df;
}

.trip-dates-empty {
    display: flex;
    align-items: center;
}

.trip-dates-empty .trip-dates-label {
    margin-bottom: 0;
    color: #7a6347;
}

.trip-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 15px;
    border-top: 1px solid #eee;
}

.trip-price {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--primary);
}

.center-btn {
    text-align: center;
}

/* ===== Why Us Section ===== */
.why-us {
    padding: 80px 0;
    background: var(--light);
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.feature-card {
    background: var(--white);
    padding: 40px 30px;
    border-radius: var(--radius);
    text-align: center;
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.feature-card:hover {
    transform: translateY(-5px);
}

.feature-icon {
    font-size: 3rem;
    margin-bottom: 20px;
}

.feature-card h3 {
    font-size: 1.3rem;
    margin-bottom: 15px;
    color: var(--primary);
}

.feature-card p {
    color: var(--gray);
}

/* ===== Testimonials ===== */
.testimonials {
    padding: 80px 0;
    background: var(--light);
}

.testimonials .section-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.rating-badge {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    color: #000;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 1rem;
    font-weight: 600;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.testimonial-card {
    background: var(--white);
    padding: 25px;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border-left: 4px solid var(--secondary);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}

.testimonial-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.reviewer-photo {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--secondary);
}

.reviewer-info {
    display: flex;
    flex-direction: column;
}

.reviewer-name {
    font-weight: 600;
    color: var(--dark);
    font-size: 0.95rem;
}

.review-date {
    font-size: 0.8rem;
    color: var(--gray);
}

.testimonial-stars {
    margin-bottom: 12px;
    font-size: 0.9rem;
}

.testimonial-card p {
    font-style: italic;
    margin-bottom: 0;
    color: var(--dark);
    line-height: 1.6;
    font-size: 0.95rem;
}

.reviews-cta {
    text-align: center;
    margin-top: 40px;
}

.btn-outline {
    display: inline-block;
    padding: 12px 30px;
    border: 2px solid var(--primary);
    color: var(--primary);
    border-radius: var(--radius);
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-outline:hover {
    background: var(--primary);
    color: var(--white);
}

/* ===== CTA Section ===== */
.cta-section {
    padding: 80px 0;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    text-align: center;
    color: var(--white);
}

.cta-section h2 {
    font-size: 2.5rem;
    margin-bottom: 15px;
}

.cta-section p {
    font-size: 1.2rem;
    margin-bottom: 30px;
    opacity: 0.9;
}

.cta-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ===== Footer ===== */
.footer {
    background: var(--dark);
    color: var(--white);
    padding: 60px 0 20px;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-bottom: 40px;
}

.footer-col h4 {
    font-size: 1.2rem;
    margin-bottom: 20px;
    color: var(--secondary);
}

.footer-col p {
    color: #aaa;
    margin-bottom: 10px;
}

.footer-col ul li {
    margin-bottom: 10px;
}

.footer-col ul a {
    color: #aaa;
    transition: var(--transition);
}

.footer-col ul a:hover {
    color: var(--secondary);
}

.social-links {
    display: flex;
    gap: 15px;
}

.social-links a {
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    transition: var(--transition);
}

.social-links a:hover {
    background: var(--secondary);
}

.upi-id-display {
    background: var(--primary);
    padding: 10px 15px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 1rem;
    margin-bottom: 15px;
    display: inline-block;
}

.footer-bottom {
    text-align: center;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.1);
    color: #aaa;
}

/* ===== WhatsApp Float ===== */
.whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background: var(--whatsapp);
    color: var(--white);
    width: auto;
    padding: 15px 25px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    box-shadow: var(--shadow-lg);
    z-index: 999;
    transition: var(--transition);
}

.whatsapp-float:hover {
    transform: scale(1.05);
    background: #128C7E;
}

.whatsapp-float i {
    font-size: 1.5rem;
}

/* ===== Page Header ===== */
.page-header {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    padding: 120px 0 60px;
    text-align: center;
    color: var(--white);
}

.page-header h1 {
    font-size: 2.5rem;
    margin-bottom: 10px;
}

.page-header p {
    font-size: 1.1rem;
    opacity: 0.9;
}

/* ===== Filter Section ===== */
.filter-section {
    padding: 30px 0;
    background: var(--light);
}

.filter-buttons {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.filter-btn {
    padding: 10px 25px;
    border: 2px solid var(--primary);
    background: transparent;
    color: var(--primary);
    border-radius: 50px;
    cursor: pointer;
    transition: var(--transition);
    font-weight: 500;
}

.filter-btn:hover,
.filter-btn.active {
    background: var(--primary);
    color: var(--white);
}

/* ===== Trip Detail Page ===== */
.trip-hero {
    min-height: 60vh;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 100px 20px 60px;
}

.trip-hero-content {
    position: relative;
    z-index: 1;
    color: var(--white);
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.trip-badge-large {
    display: inline-block;
    background: var(--secondary);
    padding: 8px 20px;
    border-radius: 20px;
    font-weight: 600;
    margin-bottom: 15px;
}

.trip-hero h1 {
    font-size: 3rem;
    margin-bottom: 10px;
}

.trip-hero-location {
    font-size: 1.2rem;
    margin-bottom: 20px;
    opacity: 0.9;
}

.trip-hero-price {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.price-label {
    font-size: 0.9rem;
    opacity: 0.8;
}

.price-amount {
    font-size: 2.5rem;
    font-weight: 700;
}

.price-person {
    font-size: 1rem;
    opacity: 0.8;
}

/* Trip Details Layout */
.trip-details {
    padding: 60px 0;
}

.trip-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 40px;
}

.overview-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 40px;
}

.overview-card {
    background: var(--light);
    padding: 20px;
    border-radius: var(--radius);
    text-align: center;
}

.overview-card i {
    font-size: 1.8rem;
    color: var(--primary);
    margin-bottom: 10px;
    display: block;
}

.overview-card .label {
    display: block;
    font-size: 0.85rem;
    color: var(--gray);
    margin-bottom: 5px;
}

.overview-card .value {
    font-weight: 700;
    color: var(--dark);
}

.content-section {
    margin-bottom: 40px;
}

.content-section h2 {
    font-size: 1.5rem;
    color: var(--primary);
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--light);
}

.content-section p {
    margin-bottom: 15px;
    color: var(--gray);
}

.highlights-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.highlights-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.highlights-list i {
    color: var(--accent);
}

/* Accordion */
.itinerary-accordion {
    border: 1px solid #eee;
    border-radius: var(--radius);
    overflow: hidden;
}

.accordion-item {
    border-bottom: 1px solid #eee;
}

.accordion-item:last-child {
    border-bottom: none;
}

.accordion-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    cursor: pointer;
    transition: var(--transition);
}

.accordion-header:hover {
    background: var(--light);
}

.day-badge {
    background: var(--primary);
    color: var(--white);
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
}

.accordion-header h3 {
    flex: 1;
    font-size: 1.1rem;
}

.accordion-header i {
    transition: var(--transition);
}

.accordion-item.active .accordion-header i {
    transform: rotate(180deg);
}

.accordion-content {
    display: none;
    padding: 0 20px 20px 20px;
}

.accordion-item.active .accordion-content {
    display: block;
}

.accordion-content ul {
    padding-left: 50px;
}

.accordion-content li {
    margin-bottom: 10px;
    color: var(--gray);
}

/* Includes/Excludes */
.includes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.includes-box,
.excludes-box {
    background: var(--light);
    padding: 25px;
    border-radius: var(--radius);
}

.includes-box h3 {
    color: var(--accent);
    margin-bottom: 15px;
}

.excludes-box h3 {
    color: #e74c3c;
    margin-bottom: 15px;
}

.includes-box li,
.excludes-box li {
    margin-bottom: 10px;
    padding-left: 25px;
    position: relative;
}

.includes-box li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--accent);
    font-weight: bold;
}

.excludes-box li::before {
    content: '✗';
    position: absolute;
    left: 0;
    color: #e74c3c;
    font-weight: bold;
}

/* Things to Carry */
.carry-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.carry-item {
    background: var(--light);
    padding: 15px;
    border-radius: 8px;
    text-align: center;
    font-size: 0.9rem;
}

.carry-item i {
    display: block;
    font-size: 1.5rem;
    color: var(--primary);
    margin-bottom: 8px;
}

/* Booking Sidebar */
.booking-card {
    background: var(--white);
    border-radius: var(--radius);
    padding: 30px;
    box-shadow: var(--shadow-lg);
    position: sticky;
    top: 100px;
    margin-bottom: 20px;
}

.booking-card h3 {
    font-size: 1.3rem;
    margin-bottom: 20px;
}

.price-display {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
}

.original-price {
    text-decoration: line-through;
    color: var(--gray);
}

.current-price {
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary);
}

.discount {
    background: #27ae60;
    color: var(--white);
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 0.8rem;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
}

.form-group select,
.form-group input,
.form-group textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 1rem;
    transition: var(--transition);
}

.form-group select:focus,
.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--primary);
}

.total-price {
    display: flex;
    justify-content: space-between;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 20px;
    padding: 15px;
    background: var(--light);
    border-radius: 8px;
}

.quick-contact {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #eee;
    text-align: center;
}

.quick-contact p {
    margin-bottom: 10px;
    color: var(--gray);
}

/* UPI Card */
.upi-card {
    background: linear-gradient(135deg, #5f259f 0%, #3a1a5c 100%);
    color: var(--white);
    padding: 25px;
    border-radius: var(--radius);
    text-align: center;
}

.upi-card h4 {
    margin-bottom: 15px;
}

.upi-card .upi-id {
    background: rgba(255,255,255,0.2);
    padding: 10px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 1.1rem;
    margin-bottom: 15px;
}

.upi-card .btn {
    margin-top: 10px;
}

/* ===== Checkout Page ===== */
.checkout-header {
    padding-bottom: 40px;
}

.checkout-section {
    padding: 40px 0 80px;
    background: var(--light);
}

.checkout-layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 30px;
}

.checkout-card {
    background: var(--white);
    border-radius: var(--radius);
    padding: 30px;
    margin-bottom: 20px;
    box-shadow: var(--shadow);
}

.checkout-card h2 {
    font-size: 1.3rem;
    margin-bottom: 25px;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

/* Payment Options */
.payment-option {
    padding: 25px;
    border: 1px solid #eee;
    border-radius: var(--radius);
    margin-bottom: 20px;
}

.payment-option.primary-payment {
    border: 2px solid var(--upi);
    background: linear-gradient(to bottom, #f9f5ff, var(--white));
}

.payment-option h3 {
    font-size: 1.1rem;
    margin-bottom: 15px;
}

.payment-desc {
    color: var(--gray);
    margin-bottom: 15px;
}

.upi-payment-box {
    text-align: center;
}

.upi-id-large {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background: var(--light);
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.upi-id-large .label {
    color: var(--gray);
}

.upi-id-large .upi-value {
    font-size: 1.3rem;
    font-weight: 700;
    font-family: monospace;
    color: var(--upi);
}

.copy-btn {
    background: var(--primary);
    color: var(--white);
    border: none;
    padding: 8px 15px;
    border-radius: 5px;
    cursor: pointer;
    transition: var(--transition);
}

.copy-btn:hover {
    background: var(--primary-dark);
}

.upi-buttons {
    margin-bottom: 20px;
}

.upi-apps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--gray);
    font-size: 0.9rem;
    margin-bottom: 20px;
}

.upi-instructions {
    background: #fff8e1;
    padding: 20px;
    border-radius: 8px;
    text-align: left;
}

.upi-instructions p {
    margin-bottom: 10px;
}

.upi-instructions ol {
    padding-left: 20px;
    margin-bottom: 15px;
}

.upi-instructions li {
    margin-bottom: 5px;
    color: var(--gray);
}

.powered-by {
    text-align: center;
    font-size: 0.85rem;
    color: var(--gray);
    margin-top: 10px;
}

/* Summary Sidebar */
.summary-card {
    background: var(--white);
    border-radius: var(--radius);
    padding: 25px;
    box-shadow: var(--shadow);
    margin-bottom: 20px;
}

.summary-card h3 {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.summary-trip {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.summary-img {
    width: 80px;
    height: 60px;
    border-radius: 8px;
    object-fit: cover;
}

.summary-trip-info h4 {
    font-size: 1rem;
    margin-bottom: 5px;
}

.summary-trip-info p {
    font-size: 0.85rem;
    color: var(--gray);
}

.summary-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    font-size: 0.95rem;
}

.summary-row.discount {
    color: var(--accent);
}

.summary-total {
    display: flex;
    justify-content: space-between;
    font-size: 1.2rem;
    font-weight: 700;
    padding-top: 15px;
    border-top: 2px solid var(--primary);
    margin-top: 15px;
}

.summary-note {
    display: flex;
    gap: 10px;
    background: #fff8e1;
    padding: 15px;
    border-radius: 8px;
    margin-top: 20px;
    font-size: 0.9rem;
}

.summary-note i {
    color: var(--secondary);
}

.support-card {
    background: var(--primary);
    color: var(--white);
    padding: 25px;
    border-radius: var(--radius);
    text-align: center;
}

.support-card h4 {
    margin-bottom: 5px;
}

.support-card p {
    opacity: 0.9;
    margin-bottom: 15px;
}

.call-text {
    margin-top: 15px;
    font-size: 0.9rem;
}

/* Copy UPI Button */
.copy-upi {
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.3);
    color: var(--white);
}

.copy-upi:hover {
    background: rgba(255,255,255,0.3);
}

/* ===== Form Validation & Payment Lock States ===== */
.details-required {
    border: 3px solid #e74c3c !important;
    box-shadow: 0 0 20px rgba(231, 76, 60, 0.3) !important;
    animation: pulse-red 2s infinite;
}

.details-required h2 {
    color: #e74c3c !important;
}

.details-required h2::after {
    content: ' (Required)';
    font-size: 0.7em;
    color: #e74c3c;
    font-weight: normal;
}

@keyframes pulse-red {
    0%, 100% { box-shadow: 0 0 20px rgba(231, 76, 60, 0.3); }
    50% { box-shadow: 0 0 30px rgba(231, 76, 60, 0.5); }
}

.details-completed {
    border: 3px solid #27ae60 !important;
    box-shadow: 0 0 15px rgba(39, 174, 96, 0.2) !important;
}

.details-completed h2 {
    color: #27ae60 !important;
}

.details-completed h2::after {
    content: ' ✓';
    color: #27ae60;
}

.payment-section-locked {
    opacity: 0.5;
    pointer-events: none;
    position: relative;
    filter: grayscale(50%);
}

.payment-section-locked::before {
    content: '🔒 Fill your details above to unlock payment';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.85);
    color: white;
    padding: 15px 25px;
    border-radius: 8px;
    font-weight: 600;
    z-index: 10;
    text-align: center;
    white-space: nowrap;
}

.payment-section-unlocked {
    opacity: 1;
    pointer-events: auto;
    filter: none;
    transition: all 0.3s ease;
}

.support-locked {
    opacity: 0.5;
    pointer-events: none;
}

.input-error {
    border-color: #e74c3c !important;
    background: #fdf2f2 !important;
}

.form-error {
    color: #e74c3c;
    font-size: 0.85rem;
    margin-top: 5px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.form-error i {
    font-size: 0.8rem;
}

/* ===== Submit Details Button & Success Message ===== */
#submitDetailsBtn {
    margin-top: 20px;
    padding: 15px 30px;
    font-size: 1.1rem;
}

#submitDetailsBtn:disabled {
    background: #95a5a6;
    cursor: not-allowed;
}

.submit-note {
    text-align: center;
    color: var(--gray);
    font-size: 0.85rem;
    margin-top: 10px;
}

.submit-note i {
    color: #27ae60;
}

.submit-success {
    text-align: center;
    padding: 30px;
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    border-radius: var(--radius);
    margin-top: 20px;
}

.submit-success i {
    font-size: 3rem;
    color: #27ae60;
    margin-bottom: 15px;
}

.submit-success h3 {
    color: #155724;
    margin-bottom: 10px;
}

.submit-success p {
    color: #155724;
}

/* Payment Revealed Animation */
.payment-revealed {
    animation: slideIn 0.5s ease-out;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* css/responsive.css */
/* ===== Responsive Styles ===== */

/* Large Desktop - 6 column testimonials */
@media (min-width: 1200px) {
    .testimonials-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Tablet */
@media (max-width: 1024px) {
    .trip-layout {
        grid-template-columns: 1fr;
    }
    
    .trip-sidebar {
        position: static;
    }
    
    .booking-card {
        position: static;
    }
    
    .checkout-layout {
        grid-template-columns: 1fr;
    }
    
    .features-grid,
    .testimonials-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .overview-cards {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .carry-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .upcoming-batches-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile Landscape */
@media (max-width: 768px) {
    .nav-toggle {
        display: block;
    }
    
    .nav-menu {
        position: fixed;
        top: 70px;
        left: 0;
        right: 0;
        background: var(--white);
        flex-direction: column;
        padding: 30px;
        gap: 20px;
        box-shadow: var(--shadow-lg);
        transform: translateY(-150%);
        opacity: 0;
        transition: var(--transition);
    }
    
    .nav-menu.active {
        transform: translateY(0);
        opacity: 1;
    }
    
    .hero h1 {
        font-size: 2.2rem;
    }
    
    .hero-tagline {
        font-size: 1.2rem;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    .features-grid,
    .testimonials-grid {
        grid-template-columns: 1fr;
    }
    
    .section-title {
        font-size: 1.8rem;
    }

    .upcoming-batches {
        padding: 60px 0;
    }

    .upcoming-batches-grid {
        grid-template-columns: 1fr;
    }

    .batch-card-header {
        min-height: 82px;
    }
    
    .trip-hero h1 {
        font-size: 2rem;
    }
    
    .price-amount {
        font-size: 2rem;
    }
    
    .highlights-list {
        grid-template-columns: 1fr;
    }
    
    .includes-grid {
        grid-template-columns: 1fr;
    }
    
    .carry-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
    
    .upi-id-large {
        flex-direction: column;
        gap: 10px;
    }
    
    .whatsapp-float span {
        display: none;
    }
    
    .whatsapp-float {
        width: 60px;
        height: 60px;
        padding: 0;
        justify-content: center;
        border-radius: 50%;
    }
}

/* Mobile Portrait */
@media (max-width: 480px) {
    .container {
        padding: 0 15px;
    }
    
    .hero {
        min-height: 90vh;
    }
    
    .hero h1 {
        font-size: 1.8rem;
    }
    
    .hero-desc {
        font-size: 1rem;
    }
    
    .hero-buttons {
        flex-direction: column;
    }
    
    .btn {
        width: 100%;
    }
    
    .stats-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .stat-number {
        font-size: 1.6rem;
    }
    
    .trips-grid {
        grid-template-columns: 1fr;
    }

    .batch-card-header,
    .batch-trip-list {
        padding-left: 18px;
        padding-right: 18px;
    }

    .batch-trip-row {
        align-items: flex-start;
    }

    .upcoming-empty {
        padding: 30px 20px;
    }

    .trip-date-tag,
    .trip-date-more {
        min-height: 30px;
    }
    
    .overview-cards {
        grid-template-columns: 1fr 1fr;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .social-links {
        justify-content: center;
    }
    
    .filter-buttons {
        overflow-x: auto;
        justify-content: flex-start;
        padding-bottom: 10px;
    }
    
    .filter-btn {
        white-space: nowrap;
        flex-shrink: 0;
    }
    
    .page-header h1 {
        font-size: 1.8rem;
    }
    
    .cta-section h2 {
        font-size: 1.8rem;
    }
    
    .checkout-card {
        padding: 20px;
    }
    
    .booking-card {
        padding: 20px;
    }
    
    .summary-trip {
        flex-direction: column;
        text-align: center;
    }
    
    .summary-img {
        width: 100%;
        height: 120px;
    }
}

/* Navigation Active State Toggle */
.nav-toggle.active .hamburger {
    background: transparent;
}

.nav-toggle.active .hamburger::before {
    transform: rotate(45deg);
    top: 0;
}

.nav-toggle.active .hamburger::after {
    transform: rotate(-45deg);
    top: 0;
}

/* Print Styles */
@media print {
    .navbar,
    .whatsapp-float,
    .booking-card,
    .footer {
        display: none;
    }
    
    .trip-hero {
        min-height: auto;
        padding: 20px;
    }
    
    .trip-layout {
        grid-template-columns: 1fr;
    }
}

/* ===== Mobile Floating Book Now Button ===== */
/* Hidden on desktop; shown only on mobile/tablet via JS .visible class */
.mobile-book-float {
    display: none;
}

@media (max-width: 1024px) {
    .mobile-book-float {
        display: block;
        position: fixed;
        bottom: 90px; /* sits above the WhatsApp float button */
        left: 20px;
        z-index: 998;
        opacity: 0;
        transform: translateY(16px);
        pointer-events: none;
        transition: opacity 0.3s ease, transform 0.3s ease;
    }

    .mobile-book-float.visible {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .mobile-book-float a {
        display: flex;
        align-items: center;
        gap: 6px;
        background: var(--secondary, #e67e22);
        color: #fff;
        padding: 12px 20px;
        border-radius: 50px;
        font-weight: 700;
        font-size: 0.95rem;
        box-shadow: 0 4px 16px rgba(230, 126, 34, 0.5);
        text-decoration: none;
        white-space: nowrap;
    }

    .mobile-book-float a:hover,
    .mobile-book-float a:active {
        background: #d35400;
    }
}

/* css/footer-settings.css */
/* Footer-only rules: checkout payment controls are intentionally out of scope. */
.footer .footer-grid { grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 32px; }
.footer .footer-col[hidden], .footer .social-links[hidden] { display: none; }
.footer .footer-col, .footer .footer-bottom { min-width: 0; overflow-wrap: anywhere; }
.footer [data-footer-brand] > p { white-space: pre-line; }
.footer [data-footer-contact] a { color: inherit; }
.footer [data-footer-contact] a:hover { color: var(--secondary); }
.footer a:focus-visible, .footer button:focus-visible { outline: 3px solid var(--secondary); outline-offset: 3px; }
@media (max-width: 480px) { .footer .footer-grid { grid-template-columns: minmax(0, 1fr); } }

/* css/homepage-settings.css */
/* Added detail fields are opt-in; default card layout stays unchanged. */
.batch-trip-copy { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.batch-trip-detail { display: block; color: var(--gray); font-size: 0.8rem; margin-top: 4px; }
.batch-trip-thumbnail { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.hero-content { max-width: 100%; overflow-wrap: anywhere; }
.upcoming-batches[hidden] { display: none; }
/* Progressive enhancement: without JS the original review grid remains usable. */
.stats[hidden], .why-us[hidden], .testimonials[hidden], .cta-section[hidden], .review-slider-controls[hidden], .review-slider-button[hidden] { display: none; }
.stats-grid, .features-grid { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
.stats-grid { grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); }
.testimonials-grid.reviews-slider { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 12px 4px 20px; scrollbar-width: thin; scrollbar-color: var(--primary) transparent; }
.reviews-slider .testimonial-card { flex: 0 0 calc((100% - 40px) / 3); min-width: 0; scroll-snap-align: start; display: flex; flex-direction: column; overflow-wrap: anywhere; }
.reviews-slider .testimonial-card:hover { transform: none; }
.reviews-slider .testimonial-card p { white-space: pre-line; }
.review-google-link { margin-top: auto; padding-top: 16px; font-weight: 600; color: var(--primary); }
.reviewer-avatar { position: relative; width: 48px; height: 48px; flex-shrink: 0; border-radius: 50%; background: #eaf2ed; color: #194d32; display: grid; place-items: center; font-weight: 700; overflow: hidden; }
.reviewer-avatar .reviewer-photo { position: absolute; inset: 0; width: 100%; height: 100%; }
.review-slider-controls { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 16px 0; flex-wrap: wrap; }
.review-slider-button { border: 1px solid var(--primary); border-radius: 999px; min-width: 44px; min-height: 44px; padding: 8px 16px; background: white; color: var(--primary); cursor: pointer; font: inherit; }
.review-slider-button:hover { background: #edf5ef; }
.review-slider-button:focus-visible, .reviews-slider:focus-visible, .review-google-link:focus-visible { outline: 3px solid #f18b20; outline-offset: 3px; }
.review-slider-status { font-size: .85rem; color: #56645d; }
.reviews-empty { padding: 20px; text-align: center; width: 100%; }
@media (max-width: 900px) { .reviews-slider .testimonial-card { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 600px) { .reviews-slider .testimonial-card { flex-basis: 92%; } }
@media (prefers-reduced-motion: reduce) { .reviews-slider { scroll-behavior: auto; } }

/* css/homepage-info.css */
/* Scoped to the two editable homepage sections; no booking or review overrides. */
.homepage-info-section { padding: clamp(48px, 6vw, 80px) 0; }
.how-it-works { background: #f2f7f3; }
.why-choose-us { background: #fff; }
.homepage-info-header { text-align: center; max-width: 760px; margin: 0 auto 36px; }
.homepage-info-section .section-title { font-size: clamp(1.75rem, 3vw, 2.2rem); overflow-wrap: anywhere; }
.homepage-info-section .section-eyebrow { display: inline-block; padding: 5px 12px; margin-bottom: 12px; border-radius: 999px; background: #e3eee5; color: #194d32; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; overflow-wrap: anywhere; }
.why-choose-us .section-eyebrow { background: #fff0df; color: #8c4209; }
.homepage-info-section .section-eyebrow:empty, .homepage-info-section .section-subtitle:empty { display: none; }
.homepage-info-section .section-subtitle { margin-bottom: 0; }
.homepage-info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 0; margin: 0; list-style: none; }
.homepage-info-card { --card-accent: #17643b; --card-tint: #f1f8f3; position: relative; min-width: 0; padding: 30px 24px; border: 1px solid var(--card-accent); border-radius: 20px; background: var(--card-tint); overflow-wrap: anywhere; }
.homepage-info-card.accent-blue { --card-accent: #245bb5; --card-tint: #f2f6ff; }
.homepage-info-card.accent-orange { --card-accent: #a6500d; --card-tint: #fff7ee; }
.how-it-works .homepage-info-card { text-align: center; }
.homepage-info-icon { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; margin-bottom: 16px; padding: 8px; border-radius: 50%; background: #fff; color: var(--card-accent); font-size: 1.6rem; line-height: 1; }
.homepage-step-number { position: absolute; right: 16px; top: 16px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--card-accent); color: #fff; font-size: .8rem; font-weight: 700; }
.homepage-info-value { display: block; color: var(--primary); font-size: clamp(1.6rem, 2.5vw, 2rem); font-weight: 800; line-height: 1.2; margin-bottom: 8px; }
.homepage-info-card h3 { font-size: 1.15rem; color: var(--primary); margin: 0 0 12px; }
.homepage-info-card p { color: #526058; margin: 0; white-space: pre-line; }
@media (max-width: 900px) { .homepage-info-grid { gap: 16px; } .homepage-info-card { padding: 24px 18px; } }
@media (max-width: 650px) { .homepage-info-grid { grid-template-columns: minmax(0, 1fr); } .homepage-info-header { margin-bottom: 24px; } }

/* css/trip-discovery.css */
/* Shared, lightweight trip discovery. Existing brand and booking styles stay intact. */
.discovery-controls[hidden], .hero-trust[hidden], .homepage-discovery-panel[hidden] { display: none; }
.homepage-discovery-panel { margin: 26px 0 22px; }
.homepage-discovery-panel summary { cursor: pointer; padding: 12px 16px; min-height: 44px; border: 1px solid #cbd9cf; border-radius: 10px; color: var(--primary); background: white; font-size: .9rem; font-weight: 600; }
.homepage-discovery-panel summary:focus-visible { outline: 3px solid var(--secondary); outline-offset: 3px; }
.homepage-discovery-panel .discovery-controls { margin: 10px 0 0; }
@media (min-width: 601px) { .homepage-discovery-panel summary { display: none; } }
.discovery-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 14px; padding: 22px; margin: 26px 0 22px; border: 1px solid #dce7df; border-radius: 16px; background: #fff; box-shadow: 0 6px 24px #163d2710; text-align: left; }
.discovery-field { display: flex; flex: 1 1 190px; min-width: 0; flex-direction: column; gap: 7px; color: var(--primary-dark); font-size: .85rem; font-weight: 600; }
.discovery-field input, .discovery-field select { width: 100%; min-width: 0; min-height: 46px; border: 1px solid #cbd9cf; border-radius: 8px; background: white; color: #22352a; padding: 10px 12px; font: inherit; font-weight: 400; }
.discovery-reset { min-height: 44px; border: 1px solid var(--primary); border-radius: 8px; padding: 10px 15px; color: var(--primary); background: white; cursor: pointer; font: inherit; font-size: .88rem; }
.discovery-reset:hover { background: #edf5ef; }
.discovery-field input:focus-visible, .discovery-field select:focus-visible, .discovery-reset:focus-visible, .coming-soon-toggle input:focus-visible, .hero-social:focus-visible { outline: 3px solid var(--secondary); outline-offset: 3px; }
.catalogue-status { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; margin: 0 0 24px; color: #56645d; font-size: .9rem; }
.coming-soon-toggle { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.coming-soon-toggle input { accent-color: var(--primary); width: 18px; height: 18px; }
.discovery-empty { grid-column: 1 / -1; padding: 36px 20px; text-align: center; border: 1px dashed #cbd9cf; border-radius: 14px; }
.discovery-empty h2 { font-size: 1.3rem; color: var(--primary); margin-bottom: 8px; }
.discovery-empty p { color: #56645d; margin-bottom: 16px; }
.discovery-card { display: flex; flex-direction: column; }
.discovery-card .trip-image { flex-shrink: 0; background: #edf3ee; }
.discovery-card .trip-content { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.discovery-card .trip-content h3 { overflow-wrap: anywhere; line-height: 1.4; }
.discovery-card .trip-meta { flex-wrap: wrap; gap: 6px 16px; }
.trip-card-summary { color: #536258; font-size: .9rem; line-height: 1.5; margin: 0 0 12px; overflow-wrap: anywhere; }
.trip-departure-city { color: #385141; font-size: .82rem; margin: 0 0 12px; overflow-wrap: anywhere; }
.discovery-card .trip-dates { margin-top: auto; }
.discovery-card .trip-footer { align-items: center; flex-wrap: wrap; gap: 12px; }
.discovery-card .trip-footer .btn { min-height: 44px; padding: 11px 13px; font-size: .8rem; }
.trip-price-unit { display: block; font-size: .75rem; font-weight: 400; color: #65716a; }
.discovery-card.trip-inactive { opacity: .78; }
.filter-section .filter-buttons { margin-top: 18px; }
.filter-btn { min-height: 44px; }
.filter-context { color: #56645d; font-size: .85rem; text-align: center; margin: 0 0 12px; }
.filter-section + .trips-section { padding-top: 32px; }
.hero-trust { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; padding: 15px 20px; background: #f4f8f4; color: var(--primary); text-align: center; font-size: .9rem; }
.hero-trust a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.hero-trust-rating { font-weight: 700; }
.hero-social { color: white; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px; font-size: .88rem; text-decoration: underline; text-underline-offset: 4px; }
.hero-buttons .hero-social { flex-basis: 100%; }
.hero-buttons .btn { min-height: 46px; }
.hero { min-height: 530px; min-block-size: 530px; background-attachment: scroll; }
.upcoming-batches { scroll-margin-top: 100px; }
.batch-trip-price small { display: block; font-size: .65rem; font-weight: 400; }
.discovery-result-summary { color: #56645d; font-size: .85rem; text-align: center; margin-bottom: 20px; }
.nav-toggle { min-width: 44px; min-height: 44px; }
@media (max-width: 768px) {
    .hero { min-height: 500px; min-block-size: 500px; padding-top: 100px; padding-bottom: 30px; }
    .hero-content { padding: 24px 20px; }
    .hero h1 { font-size: clamp(1.8rem, 6vw, 2.3rem); }
    .hero-desc { margin-bottom: 22px; }
    .discovery-controls { padding: 18px; gap: 12px; }
    .hero-trust { gap: 5px 10px; font-size: .82rem; padding: 12px 18px; }
}
@media (max-width: 480px) {
    .hero { min-height: 500px; min-block-size: 500px; }
    .hero-buttons { display: grid; grid-template-columns: 1fr; gap: 10px; max-width: 330px; margin: auto; }
    .hero-buttons .hero-social { min-height: 36px; padding: 6px; }
    .hero-tagline { font-size: 1.05rem; }
    .hero-desc { font-size: .95rem; }
    .discovery-field { flex-basis: 100%; }
    .discovery-reset { width: 100%; }
    #homepage-discovery-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 15px; gap: 12px; }
    #homepage-discovery-controls[hidden] { display: none; }
    #homepage-discovery-controls .discovery-search, #homepage-discovery-controls .discovery-reset { grid-column: 1 / -1; }
    #homepage-discovery-controls .discovery-field { font-size: .78rem; }
    #homepage-discovery-controls .discovery-reset { min-height: 36px; padding: 6px 12px; }
    .discovery-card .trip-footer .btn { width: auto; }
    .upcoming-batches { padding-top: 42px; }
}
@media (prefers-reduced-motion: reduce) { .discovery-card, .discovery-card .trip-image img { transition: none; } }

/* Keep catalogue options below the search row, rather than in a narrow side column. */
#trip-discovery-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
#trip-discovery-controls[hidden] { display: none; }
#trip-discovery-controls .catalogue-search-actions { display: flex; align-items: center; gap: 8px; }
#trip-discovery-controls.catalogue-controls-only .catalogue-search-actions { grid-column: 1 / -1; }
#trip-discovery-controls .catalogue-filter-toggle, #trip-discovery-controls .discovery-reset { min-height: 48px; padding: 10px 16px; width: auto; white-space: nowrap; }
#trip-discovery-controls .catalogue-filter-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #cbd9cf; border-radius: 8px; background: #fff; color: #17442d; font: inherit; font-size: .88rem; cursor: pointer; }
#trip-discovery-controls .catalogue-filter-toggle.has-filters { background: #e4f1e9; border-color: #17442d; }
#trip-discovery-controls .catalogue-filter-toggle:focus-visible { outline: 3px solid var(--secondary); outline-offset: 3px; }
#trip-discovery-controls .discovery-reset:disabled { opacity: .5; cursor: default; background: #fff; }
#trip-discovery-controls .catalogue-filter-panel { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 14px; border-top: 1px solid #dce7df; }
#trip-discovery-controls .catalogue-filter-panel[hidden] { display: none; }
#trip-discovery-controls .catalogue-filter-panel .discovery-field { margin: 0; }
@media (max-width: 767px) {
    #trip-discovery-controls { grid-template-columns: minmax(0, 1fr); }
    #trip-discovery-controls .catalogue-search-actions { width: 100%; }
    #trip-discovery-controls .catalogue-search-actions > button { flex: 1; }
    #trip-discovery-controls .catalogue-filter-panel { grid-template-columns: minmax(0, 1fr); }
}

/* Multiple experience labels and an independently managed Bestseller badge. */
.discovery-card .trip-image{position:relative}
.discovery-card .trip-card-types{position:absolute;top:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;gap:6px}
.discovery-card .trip-card-types .trip-badge{position:static;padding:6px 12px}
.discovery-card.trip-inactive .trip-card-types{right:112px}
.discovery-card .trip-bestseller-badge{position:absolute;bottom:12px;left:12px;padding:6px 12px;border-radius:20px;background:#fff0ba;color:#713f12;font-weight:700;font-size:.8rem}

/* css/site-polish.css */
/* Calm brand surfaces; colour communicates actions and status. */
:root { --secondary:#B8540B; --accent:#17643B; --brand-surface:#EDF5EF; --info:#245BB5; --warning:#A6500D; --danger:#B42318; }
.hero { position:relative; isolation:isolate; overflow:hidden; min-height:0; aspect-ratio:16/7; max-height:640px; }
.hero-photo-layer { position:absolute; inset:0; z-index:-2; background-size:cover; transition:opacity 1.5s ease; }
.hero::before { z-index:-1; }
.hero-content { position:relative; z-index:1; }
.trip-card .trip-image { aspect-ratio:16/9; height:auto; }
.trip-image img { display:block; height:100%; width:100%; object-fit:cover; }
picture { display:contents; }
.glance-grid,.how-it-works,.why-choose-us,.upcoming-batches { background:var(--brand-surface); }
.content-section,.testimonial-card,.review-card,.booking-card { background:#fff; }
.trip-badge { background:var(--brand-surface); color:var(--primary); border:1px solid currentColor; }
.btn-primary { background:var(--primary); color:#fff; }
.btn-secondary { background:var(--secondary); color:#fff; }
input,select,textarea { font-size:1rem; }
button,.btn,summary { min-height:44px; }
.nav-backdrop { display:none; position:fixed; inset:0; background:rgba(15,23,19,.48); border:0; z-index:999; }
body.nav-open { overflow:hidden; }
.gallery-counter { position:absolute; right:12px; bottom:12px; background:rgba(0,0,0,.75); color:white; border:1px solid rgba(255,255,255,.5); border-radius:24px; padding:8px 14px; font-size:14px; cursor:pointer; z-index:2; }
.gallery-main:focus-visible { outline:3px solid var(--info); outline-offset:3px; }
.mobile-book-float .mobile-whatsapp { display:none; }
.gallery-main { touch-action:pan-y; }
@media(max-width:767px) {
 .container { padding-inline:16px; }
 .hero { aspect-ratio:4/5; max-height:560px; min-height:440px; }
 .hero h1 { font-size:clamp(2rem,8vw,2.6rem); line-height:1.13; }
 .hero-desc { font-size:1rem; max-width:32ch; margin-inline:auto; }
 .hero .hero-buttons { gap:10px; }
 .hero-tagline { font-size:14px; }
 .nav-open .nav-backdrop { display:block; }
 .nav-menu { z-index:1001; max-height:calc(100dvh - 80px); overflow-y:auto; }
 .nav-toggle { z-index:1002; min-height:48px; min-width:48px; }
 .nav-menu a { min-height:48px; display:flex; align-items:center; font-size:16px; }
 .gallery-wrapper { display:block; height:auto; }
 .gallery-main { height:auto; aspect-ratio:4/3; }
 .gallery-side { display:none; }
 .gallery-main img { height:100%; }
 .trek-glance { padding:20px 0; }
 .glance-grid { gap:12px; padding:12px; border-radius:12px; }
 .glance-item h4,.glance-item p,.trip-meta,.trip-date-tag { font-size:14px; }
 .content-section { margin-bottom:16px; padding:18px; }
 .content-section h2,.trip-section summary { font-size:20px; }
 .carry-grid,.guidelines-grid { grid-template-columns:1fr; gap:12px; }
 .trip-main { min-width:0; }
 #pickupTable,#pickupTable tbody { display:block; width:100%; }
 #pickupTable thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 #pickupTable tr { display:grid; grid-template-columns:1fr 1fr; padding:12px; border:1px solid #dce5df; border-radius:12px; margin-bottom:12px; background:white; }
 #pickupTable td { padding:6px; border:0; min-width:0; overflow-wrap:anywhere; font-size:14px; }
 #pickupTable td::before { content:attr(data-label); display:block; color:#59645e; font-size:14px; }
 #pickupTable .map-link { display:flex; align-items:center; min-height:44px; color:var(--info); }
 .mobile-book-float { opacity:1; transform:none; pointer-events:auto; position:fixed; display:flex; inset:auto 0 0; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:white; box-shadow:0 -4px 20px rgba(0,0,0,.12); z-index:900; border-radius:0; gap:8px; }
 .mobile-book-float>a:first-child { flex:1; display:flex; flex-direction:row; justify-content:space-between; gap:10px; background:var(--primary); color:white; border-radius:12px; padding:10px 14px; min-height:48px; font-size:14px; }
 .mobile-book-float .mobile-whatsapp { display:flex; width:48px; min-width:48px; min-height:48px; align-items:center; justify-content:center; border:1px solid #17643B; border-radius:12px; color:#17643B; background:#fff; }
 body:has(#mobileBookBtn) { padding-bottom:calc(85px + env(safe-area-inset-bottom)); }
 body:has(#mobileBookBtn) .whatsapp-float { display:none; }
 #floatPrice { font-size:14px; font-weight:700; }
 .float-cta { font-size:14px; }
 .mobile-section summary { font-size:20px; font-weight:700; cursor:pointer; }
 .discovery-field span,.discovery-field label,.trip-card-summary { font-size:14px; }
 .trip-detail-heading .trip-summary-facts { gap:8px; font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { transition-duration:0s!important; animation-duration:0s!important; }
}
@media print {
 .hero-photo-layer,.mobile-book-float,.nav-backdrop,.gallery-counter { display:none!important; }
 body { padding-bottom:0; }
}

.mobile-book-date { display:block; font-size:12px; font-weight:400; max-width:160px; }

/* css/customer-experience.css */
/* Customer journey: warm surfaces, compact information and consistent actions. */
:root{--page-cream:#fff8ee;--peach:#fff0e4;--sky:#edf6fb;--secondary:#c65317}
[hidden]{display:none!important}
body{background:var(--page-cream)}
.hero{background-attachment:scroll;max-height:none;min-block-size:0;text-align:left;background-color:#174b32}
.hero-content{width:min(1200px,100%);margin:auto;padding:64px 32px}
.hero h1{max-width:20ch;font-size:clamp(36px,4vw,58px);line-height:1.12}
.hero-desc{max-width:48ch}.hero-buttons{justify-content:flex-start}
.hero .hero-trust{display:flex;flex-wrap:wrap;gap:10px;background:transparent;color:white;justify-content:flex-start;margin-bottom:24px;padding:0;font-size:14px}
.hero-trust a{color:inherit}.hero .hero-buttons .hero-social{display:none}
.hero-search{display:flex;max-width:650px;min-height:54px;background:white;border-radius:28px;margin:24px 0 18px;overflow:hidden;color:#174b32}
.hero-search input{flex:1;min-width:0;border:0;padding:14px 22px;font-size:16px;background:transparent;color:#174b32}
.hero-search button{width:56px;min-height:48px;border:0;background:white;color:#174b32;font-size:18px;cursor:pointer}
.hero-search-results{position:relative;max-width:650px;background:white;color:#174b32;border-radius:16px;box-shadow:0 12px 30px #0002;padding:10px;margin-bottom:16px}
.hero-search-results>a{display:block;padding:12px;color:#174b32}.hero-search-result{display:flex!important;gap:12px;align-items:center}.hero-search-result img{width:56px;height:48px;object-fit:cover;border-radius:8px}.hero-search-result strong,.hero-search-result small{display:block}.hero-search-result small{margin-top:4px;color:#526257}
.upcoming-batches{background:var(--peach);padding:44px 0}.testimonials-section,.reviews-section{background:var(--sky)}
.batch-trip-thumbnail{width:64px;height:48px;object-fit:cover;border-radius:8px}.batch-trip-row{padding:14px}.batch-card{box-shadow:0 4px 16px #174b320b}
.catalogue-filters{grid-column:auto;align-self:start}.catalogue-filters summary{cursor:pointer;padding:14px 18px;border:1px solid #c7d5cc;border-radius:12px;color:#174b32;min-height:48px}.catalogue-filters[open]{padding:12px;background:#fff}.catalogue-filters .discovery-field{margin-top:12px}
.discovery-controls{grid-template-columns:minmax(0,1fr) auto;align-items:start}.filter-section{padding:22px 0}.page-header{padding-block:36px}.filter-context{margin-top:16px}
.trip-essentials{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.trip-essentials span{font-size:14px;background:#edf5ef;color:#174b32;padding:7px 10px;border-radius:20px}
.gallery-main{aspect-ratio:4/3;height:auto}.gallery-wrapper{height:auto}.gallery-side{align-self:stretch}
.packing-item,.carry-item{display:flex;align-items:center;gap:12px;padding:12px;text-align:left}
.packing-item i,.carry-item i{font-size:20px;margin:0}.packing-grid,.carry-grid{gap:8px}
.checkout-header{padding-block:28px}.checkout-header h1{font-size:32px}.checkout-card,.summary-card{border:1px solid #e5e7e0;box-shadow:0 4px 20px #174b3209;border-radius:18px}.checkout-sidebar{position:sticky;top:92px;align-self:start}.summary-card>h3{padding:16px;margin:-24px -24px 16px;background:var(--peach);border-radius:18px 18px 0 0;color:#174b32}.summary-trip img{width:88px;height:66px;object-fit:cover;border-radius:10px}.summary-total{font-size:22px;color:#174b32}.summary-note{background:var(--page-cream)}.change-booking{display:inline-block;margin:10px 0;color:#174b32;text-decoration:underline}
.summary-card .support-card{background:transparent;color:#174b32;box-shadow:none;padding:18px 0 0;margin:18px 0 0;border-radius:0;border-top:1px solid #dce5df}.summary-card .support-card p{color:#526257;font-size:14px}.summary-card .support-card h4{color:#174b32}.request-status{padding:10px 12px;background:var(--sky);border-radius:10px;color:#174b32;font-size:14px}.optional-fields{padding:12px 0}.optional-fields summary,#couponEntry summary{cursor:pointer;min-height:48px;display:flex;align-items:center;color:#174b32;font-weight:600}.optional-fields[open] .form-group{margin-block:16px}.coupon-controls{display:flex;gap:8px}.coupon-controls input{min-width:0;flex:1;padding:12px;border:1px solid #aebfb3;border-radius:8px;font-size:16px}.coupon-controls button,#removeCoupon{padding:12px;border:1px solid #174b32;border-radius:8px;background:#edf5ef;color:#174b32;cursor:pointer}#couponFeedback{font-size:14px;margin-block:10px}
.request-dialog{width:min(92vw,480px);border:0;border-radius:20px;padding:28px;box-shadow:0 20px 60px #0004;color:#174b32}.request-dialog::backdrop{background:#0008}.request-dialog .btn,.request-dialog button{display:block;width:100%;margin-top:14px;min-height:48px}.request-dialog button{border:1px solid #174b32;border-radius:24px;background:white;color:#174b32}.payment-reminder{background:#fff0e4;padding:14px;border-radius:12px}.primary-payment>.upi-payment-box>.upi-buttons,.primary-payment .upi-id-large .copy-btn{display:none}.upi-buttons{display:flex;gap:10px;flex-wrap:wrap}#bookingIssue{padding:12px;background:#fff0e4;color:#922d14;border-radius:10px}
.booking-dialog{border:0;border-radius:20px;padding:20px;width:min(94vw,440px);max-height:90dvh;overflow:auto}.booking-dialog::backdrop{background:#0007}.booking-dialog #bookingCard{margin:0;box-shadow:none}.booking-dialog-close{display:block;margin-left:auto;min-width:48px;min-height:48px;background:white;border:0;font-size:24px}
@media(max-width:767px){
 .navbar,.nav-container{height:72px;min-height:72px}.nav-container{padding:0 16px}.logo-img{width:38px;height:38px}.logo-text{font-size:16px;line-height:1.15;max-width:180px}.nav-menu{top:72px!important;max-height:calc(100dvh - 72px);padding:10px 16px}.nav-menu a{min-height:48px;padding:12px}.nav-toggle{min-width:48px;min-height:48px}.nav-backdrop{top:72px}.nav-open .logo-text{visibility:visible}
 .hero{aspect-ratio:auto;min-height:0;min-block-size:0;max-height:none;padding-top:72px}.hero-content{padding:32px 16px}.hero h1{font-size:32px;max-width:20ch}.hero-tagline{font-size:14px}.hero-desc{font-size:16px;margin-bottom:16px;line-height:1.5}.hero .hero-trust{font-size:12px;gap:6px;margin-bottom:16px}.hero-search{margin:20px 0 14px;min-height:50px}.hero-buttons{gap:8px}.hero-buttons>.btn-secondary{display:none}.hero-buttons .btn{min-height:48px;padding:12px 20px;font-size:15px;width:auto}.hero-search-results{max-height:340px;overflow:auto}
 .page-header{padding:100px 16px 24px;min-height:0}.page-header h1{font-size:26px}.page-header p{font-size:15px;margin-top:8px}.filter-section{padding:16px 0}.filter-context{font-size:13px;margin:12px 0 8px}.filter-buttons{gap:6px;justify-content:flex-start}.filter-btn{padding:8px 12px;min-height:44px;font-size:13px}.trips-section{padding-top:16px}.discovery-controls{padding:12px;gap:10px}.discovery-field>span{font-size:13px}.discovery-field input,.discovery-field select{min-height:48px;font-size:16px}.catalogue-filters summary{padding:12px}.catalogue-filters[open]{grid-column:1/-1}
 .container{padding-inline:16px}.section-title,.upcoming-batches h2{font-size:25px}.upcoming-batches{padding:30px 0}.section-subtitle{font-size:16px;margin-bottom:20px}.trip-content{padding:16px}.trip-content h3{font-size:19px}.trip-card .trip-image{aspect-ratio:16/9}.trip-card-summary{font-size:15px}.trip-meta,.trip-location{font-size:14px}.trip-footer .btn{min-height:48px}
 .trip-hero{padding-top:88px}.trip-title{font-size:26px}.trip-essentials{margin:12px 0}.trip-essentials span{font-size:13px}.content-section,.mobile-section{padding:16px;margin-bottom:12px}.content-section h2{font-size:20px}.content-section summary{min-height:48px}.packing-grid,.carry-grid{grid-template-columns:1fr!important}.carry-item,.packing-item{min-height:48px}
 .mobile-book-float{min-height:72px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}.mobile-book-float>a{min-height:48px}.mobile-book-float .float-price{font-size:15px}.mobile-book-date{font-size:12px}.booking-card{scroll-margin-top:88px}
 .checkout-layout{display:flex;flex-direction:column;gap:16px}.checkout-sidebar{order:-1;width:100%;position:static}.checkout-main{width:100%}.checkout-section{padding:20px 0}.checkout-card,.summary-card{padding:18px}.summary-card>h3{margin:-18px -18px 16px;padding:16px;font-size:20px}.summary-trip h4{font-size:16px}.summary-details{padding-block:12px}.summary-row{padding:6px 0;font-size:14px}.summary-total{font-size:21px}.checkout-header h1{font-size:26px}.checkout-header{padding-top:96px}.form-group{margin-bottom:18px}.form-group input,.form-group textarea{font-size:16px;min-height:50px;padding:12px}.checkout-card h2{font-size:22px}.form-row{gap:0}.support-card .btn{min-height:48px}.btn{min-height:48px}.summary-img{flex-shrink:0}.upi-value{overflow-wrap:anywhere}.upi-buttons .btn{flex:1;min-width:140px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:0.01ms!important}}

.booking-dialog,.request-dialog{position:fixed;inset:0;margin:auto}.booking-dialog #bookingCard{padding:0;border:0}.booking-dialog .booking-dialog-close{margin-bottom:8px}
@media(max-width:767px){.summary-trip{display:flex!important;flex-direction:row!important;text-align:left!important;gap:12px;align-items:center}.summary-trip-info{min-width:0}.summary-trip-info h4{margin:0;font-size:16px}.summary-trip img{width:80px;height:60px;flex-shrink:0}.trip-hero-gallery h1{font-size:26px}.checkout-header{padding-bottom:20px}.checkout-header p{font-size:14px}}

.price-breakdown{margin-block:8px}.price-breakdown summary{cursor:pointer;padding:10px 0;min-height:48px;font-size:14px;color:#174b32}#offerUpdate{background:#fff0e4;color:#922d14;padding:12px;border-radius:8px}

@media(max-width:767px){.checkout-page .whatsapp-float{display:none!important}}

/* Customer scan order and compact secondary guidance. WhatsApp position is unchanged. */
.hero-content{padding-bottom:80px}.hero-help{font-size:14px;color:white;text-decoration:underline;align-self:center}.hero-buttons{margin-bottom:32px}
.trip-image{aspect-ratio:16/9;overflow:hidden}.trip-image img{width:100%;height:100%;object-fit:cover}.trip-content h3{text-transform:none;line-height:1.3;min-height:2.6em}.trip-content{padding:20px}.trip-footer{gap:12px}
.faq-row{border-bottom:1px solid #dde6df;padding:0;background:white}.faq-row summary{cursor:pointer;min-height:48px;padding:14px 8px;line-height:1.4;font-weight:600}.faq-row p{padding:0 8px 16px;line-height:1.6}.guideline-card{padding:16px}.cancellation-brief{display:flex;flex-wrap:wrap;gap:8px 16px;background:#fff0e4;padding:16px;border-radius:12px;margin-block:16px}.cancellation-brief strong{width:100%}.cancellation-brief span{font-size:14px}
@media(max-width:767px){.hero-content{padding-bottom:48px}.hero-buttons{margin-bottom:24px}.glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.glance-item{padding:14px 10px;min-height:100px}.glance-item i{font-size:22px}.glance-label{font-size:12px}.glance-value{font-size:15px}.guidelines-grid{grid-template-columns:1fr!important}.cancellation-brief{display:grid;gap:6px}.trip-content{padding:16px}.hero-help{display:block;padding:8px 0}}

.trip-content h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

/* css/design-refresh.css */
/* 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}

/* css/brand-colors.css */
/* Shared palette. Loaded last so every page uses the same action and status colors. */
:root {
  --brand-forest: #173F35;
  --brand-teal: #087F73;
  --brand-teal-hover: #06695F;
  --brand-ivory: #FFF9F2;
  --brand-sage: #E8F3EC;
  --brand-orange: #B54716;
  --brand-gold: #F4C95D;
  --brand-text: #26352F;
  --brand-muted: #54645D;
  --brand-border: #DCE6DF;
  --brand-whatsapp: #166534;
  --brand-pending-bg: #FFF1D6;
  --brand-pending-text: #754700;
  --brand-error-bg: #FDEBE9;
  --brand-error-text: #9D241B;
  --primary: var(--brand-forest);
  --primary-dark: #12362D;
  --secondary: var(--brand-orange);
  --accent: var(--brand-teal);
  --whatsapp: var(--brand-whatsapp);
  --upi: var(--brand-teal);
  --page-cream: var(--brand-ivory);
  --brand-surface: var(--brand-sage);
  --text-dark: var(--brand-text);
  --text-light: var(--brand-muted);
}
body { background: var(--brand-ivory); color: var(--brand-text); }
h1,h2,h3,h4,.section-title { color: var(--brand-forest); }
.hero h1,.page-header h1,.page-header h2,.cta-section h2 { color: #fff; }
.page-header,.stats,.cta-section,.footer { background: var(--brand-forest); }
.footer,.footer h4,.footer a,.footer p,.footer-bottom { color: #fff; }
.footer a:hover { color: var(--brand-gold); }
.trips-section,.how-it-works,.testimonials { background: #fff; }
.upcoming-batches,.why-choose-us { background: var(--brand-ivory); }
.filter-section,.discovery-controls,.summary-card>h3,.checkout-page .summary-card>h3 { background: var(--brand-sage); }
.trip-card,.checkout-card,.summary-card { border-color: var(--brand-border); background: #fff; }

/* Primary actions have one treatment; contact actions have a separate, readable green. */
.btn-primary,.trip-footer .btn,.mobile-book-float>a:first-child,
.cta-section .btn-primary,#submitDetailsBtn {
  background: var(--brand-teal); color: #fff; border-color: var(--brand-teal);
}
.btn-primary:hover,.trip-footer .btn:hover,.mobile-book-float>a:first-child:hover,
.cta-section .btn-primary:hover,#submitDetailsBtn:hover {
  background: var(--brand-teal-hover); color: #fff; border-color: var(--brand-teal-hover);
}
.btn-outline { background: transparent; color: var(--brand-teal); border-color: var(--brand-teal); }
.cta-section .btn-primary { border-color: #fff; }
.btn-secondary { background: #fff; color: var(--brand-teal); border: 1px solid var(--brand-teal); }
.btn-secondary:hover { background: var(--brand-sage); color: var(--brand-forest); }
.btn-whatsapp,.btn[href*="wa.me/"],.nav-menu .btn-nav[href*="wa.me/"],.whatsapp-float,
#bookingCard .booking-secondary-actions .btn[href*="wa.me/"] {
  background: var(--brand-whatsapp); color: #fff; border-color: var(--brand-whatsapp);
}
.btn-whatsapp:hover,.btn[href*="wa.me/"]:hover,.nav-menu .btn-nav[href*="wa.me/"]:hover,.whatsapp-float:hover,
#bookingCard .booking-secondary-actions .btn[href*="wa.me/"]:hover {
  background: #12532B; color: #fff; border-color: #12532B;
}
.btn-nav:focus-visible,.btn:focus-visible,button:focus-visible,a:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline: 3px solid var(--brand-orange); outline-offset: 3px;
  box-shadow: 0 0 0 2px #fff;
}
.filter-btn.active,.filter-btn:hover,.tour-refined .trip-section-links a[aria-current] {
  background: var(--brand-teal); color: #fff; border-color: var(--brand-teal);
}
.filter-btn,.catalogue-filter-toggle { color: var(--brand-forest); border-color: #7C9187; }
.form-group input,.form-group select,.form-group textarea,.discovery-field input,
.discovery-field select,#transactionReference { border-color: #7C9187; }
.trip-footer .trip-price,.summary-total,.checkout-page .summary-total,.payment-type-amount {
  color: var(--brand-forest);
}
.checkout-page .summary-total,.payment-amount-summary,.checkout-page .payment-upi-value {
  background: var(--brand-sage); border-color: #BDDAC9;
}
#upcoming-batches-grid>.departure-bar { background: #FFF0E5; border-color: #EDCBB5; }
.departure-date { background: var(--brand-orange); color: #fff; }
.departure-arrow,.section-eyebrow { color: var(--brand-orange); }
#featured-trips-grid .trip-next-departure { color: var(--brand-muted); }
#featured-trips-grid .trip-next-departure time { color: var(--brand-forest); }
.stats .stat-number { color: var(--brand-gold); }

/* Labels remain visible: color supplements, rather than replaces, their meaning. */
.discovery-card .trip-card-types .trip-badge[data-experience="trek"] { background: #E8F3EC; color: #1B5537; border-color: #BDDAC9; }
.discovery-card .trip-card-types .trip-badge[data-experience="beach"] { background: #EAF3FC; color: #1D5278; border-color: #BED8ED; }
.discovery-card .trip-card-types .trip-badge[data-experience="heritage"] { background: #FFF1D6; color: #7A4B0A; border-color: #E8D09D; }
.discovery-card .trip-card-types .trip-badge[data-experience="adventure"] { background: #FFF0E5; color: #9A3F15; border-color: #EDCBB5; }
.discovery-card .trip-card-types .trip-badge[data-experience="getaway"] { background: #E5F4F2; color: #165E56; border-color: #B5DCD5; }
.discovery-card .trip-card-types .trip-badge[data-experience="other"] { background: #F0F2EF; color: #46544B; border-color: #CFD8D1; }
.discovery-card .trip-bestseller-badge { background: var(--brand-gold); color: #533707; }
.trip-inactive-badge { background: #EEF0ED; color: #46544B; }
.testimonial-stars,.review-stars { color: #8A5700; }

/* Submission and waiting are not payment verification. */
.request-status,.payment-reminder,.submit-success,
.payment-checklist li[data-state="current"] {
  background: var(--brand-pending-bg); color: var(--brand-pending-text);
}
.submit-success h3,.submit-success p,.submit-success>i { color: var(--brand-pending-text); }
.payment-checklist li[data-state="current"]::before { background: var(--brand-pending-text); color: #fff; }
.payment-checklist li[data-state="complete"]::before { background: #E4EBE6; color: #46544B; }
#offerUpdate { background: var(--brand-pending-bg); color: var(--brand-pending-text); }
#bookingIssue { background: var(--brand-error-bg); color: var(--brand-error-text); }

.form-group input::placeholder,.form-group textarea::placeholder,.discovery-field input::placeholder { color: #627268; opacity: 1; }
/* Older UPI cards used inline-priority purple declarations. Keep them on the shared palette. */
.upi-card { background: var(--brand-sage)!important; color: var(--brand-text)!important; border-color: var(--brand-border); }
.upi-card h4 { color: var(--brand-forest)!important; }
.upi-card p,.upi-card .upi-id { color: var(--brand-text)!important; }
.upi-card .copy-upi,.upi-card .btn-upi { background: var(--brand-teal)!important; color: #fff!important; border-color: var(--brand-teal)!important; }

/* Keep banner text below the fixed navigation at every viewport size. */
.page-header { padding-top: 111px; padding-bottom: 32px; }
.booking-package-link,.booking-pickup-link { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width:767px) {
  .page-header { padding: 96px 16px 24px; }
}

.trip-footer > div:not([hidden]) { display:flex; align-items:baseline; flex-wrap:wrap; column-gap:6px; row-gap:2px; }
.trip-original-price { color:var(--brand-muted); font-size:.95rem; text-decoration:line-through; }

/* Audience tags describe the trip; use a quiet, readable surface. */
.suitable-tag {
  background: var(--brand-sage);
  color: var(--brand-forest);
  border: 1px solid #C8DED0;
  border-radius: 12px;
  padding: 12px 16px;
  line-height: 1.5;
  box-shadow: none;
}
.suitable-tag i { color: var(--brand-forest); }

.booking-journey { margin:0 0 20px; padding:16px; border:1px solid var(--brand-border); border-radius:14px; background:white; color:var(--brand-forest); }
.booking-journey ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:12px; }
.booking-journey li { display:flex; align-items:center; gap:8px; color:var(--brand-muted); font-size:14px; }
.booking-journey li>span { display:grid; place-items:center; flex-shrink:0; width:28px; height:28px; border:1px solid var(--brand-border); border-radius:50%; }
.booking-journey li[data-state="current"] { color:var(--brand-forest); }
.booking-journey li[data-state="current"]>span { color:white; background:var(--brand-teal); border-color:var(--brand-teal); }
.booking-journey p { margin:12px 0 0; font-size:14px; line-height:1.5; }
.payment-trip-context { padding:12px; border:1px solid var(--brand-border); background:var(--brand-sage); border-radius:10px; line-height:1.6; color:var(--brand-forest); overflow-wrap:anywhere; }
.form-error { color:var(--brand-error-text); font-size:14px; margin-top:6px; line-height:1.4; }
.form-group [aria-invalid="true"] { border-color:var(--brand-error-text); }
@media(max-width:767px) {
 .booking-journey { padding:12px; margin-bottom:16px; }
 .booking-journey ol { gap:8px; }
 .booking-journey li { align-items:flex-start; flex-direction:column; gap:6px; font-size:12px; line-height:1.4; }
 .booking-journey li>span { width:24px; height:24px; }
}

/* css/site-motion.css */
/* Short feedback without delaying navigation or form submission. */
.trip-card,.btn,button,.mobile-book-float>a{transition:background-color 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 180ms ease}
.trip-card:active{background-color:#eaf3ee}
.btn:active,button:active,.mobile-book-float>a:active{filter:brightness(.94)}
.btn:focus-visible,button:focus-visible,.trip-card a:focus-visible{outline:3px solid #087f73;outline-offset:3px}
.gallery-counter{min-height:44px}
.tour-refined .trip-section-links a::after{content:'';position:absolute;height:2px;bottom:4px;left:14px;right:14px;background:currentColor;border-radius:2px;transform:scaleX(0);transition:transform 180ms ease}
.tour-refined .trip-section-links a[aria-current]::after{transform:scaleX(1)}
[aria-busy=true]{cursor:progress}
@media(hover:hover) and (pointer:fine){
 .trip-card:hover{transform:translateY(-3px)}
 .btn:not(:disabled):hover{transform:translateY(-2px)}
}
@media(max-width:767px){
 body:has(#mobileBookBtn){padding-bottom:max(var(--booking-clearance,84px),var(--tour-book-space,84px))}
 html{scroll-padding-bottom:var(--booking-clearance,84px)}
 .gallery-counter{right:10px;bottom:10px;background:rgba(0,0,0,.8)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .trip-card:hover,.btn:hover,.tour-refined .btn:hover,.gallery-main:hover img{transform:none!important}
}
@media print{body:has(#mobileBookBtn){padding-bottom:0}}

/* css/trip-presentation.css */
.departure-bar[data-batch-color="forest"]{--batch-bg:#eff7f2;--batch-border:#8caf9b;--batch-accent:#174b32;}
.departure-bar[data-batch-color="teal"]{--batch-bg:#edf8f7;--batch-border:#86bcb3;--batch-accent:#08685f;}
.departure-bar[data-batch-color="blue"]{--batch-bg:#eff5fc;--batch-border:#91b0d7;--batch-accent:#245993;}
.departure-bar[data-batch-color="violet"]{--batch-bg:#f5f0fb;--batch-border:#b9a0d8;--batch-accent:#64418c;}
.departure-bar[data-batch-color="amber"]{--batch-bg:#fff7e8;--batch-border:#d6b36a;--batch-accent:#805000;}
.departure-bar[data-batch-color="rose"]{--batch-bg:#fdf0f2;--batch-border:#d7a0ac;--batch-accent:#963e56;}
#upcoming-batches-grid>.departure-bar[data-batch-color]{background:var(--batch-bg);border-color:var(--batch-border);color:#173f35}
.departure-bar[data-batch-color] .departure-date{background:var(--batch-accent);color:#fff}
.departure-bar[data-batch-color] .departure-arrow{color:#fff;background:var(--batch-accent);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}
.departure-bar[data-batch-color]:focus-visible{outline:3px solid var(--batch-accent);outline-offset:3px}

/* css/homepage-layout.css */
/* Homepage rhythm: size the banner to its content, not the viewport. */
.homepage .hero {
  min-height: 0;
  min-block-size: 0;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  padding: 80px 0 0;
}
.homepage .hero-content { padding: 40px 32px; }
.homepage .hero .hero-trust { margin-bottom: 14px; }
.homepage .hero h1 { margin-bottom: 12px; }
.homepage .hero-tagline { margin-bottom: 8px; }
.homepage .hero-desc { margin-bottom: 16px; }
.homepage .hero-search { margin: 18px 0 14px; }
.homepage .hero-buttons { display: flex; max-width: none; margin: 0; align-items: center; }
.homepage .hero-help { display: inline-flex; align-items: center; min-height: 44px; }
.homepage .upcoming-batches { padding-block: 28px 24px; }
.homepage .upcoming-batches .section-title { margin-bottom: 8px; }
.homepage .upcoming-batches .section-subtitle { margin-bottom: 18px; }
.homepage .stats { padding-block: 20px; }
.homepage .stat-number { font-size: 32px; line-height: 1.2; margin-bottom: 4px; }
.homepage .stat-label { font-size: 14px; line-height: 1.4; }
.homepage .trips-section { padding-block: 32px; }
.homepage .trips-section .section-title { margin-bottom: 8px; }
.homepage .trips-section .section-subtitle { margin-bottom: 20px; }
@media (max-width: 767px) {
  .homepage .hero { padding-top: 64px; }
  .homepage .hero-content { padding: 20px 18px; }
  .homepage .hero .hero-trust { margin-bottom: 10px; }
  .homepage .hero h1 { margin-bottom: 10px; }
  .homepage .hero-tagline { margin: 0; }
  .homepage .hero-search { margin: 14px 0 10px; }
  .homepage .hero-buttons { flex-direction: row; flex-wrap: wrap; gap: 8px 14px; }
  .homepage .hero-buttons .btn { min-height: 48px; }
  .homepage .hero-help { display: inline-flex; align-items: center; min-height: 44px; padding: 0; }
  .homepage .upcoming-batches { padding-block: 20px 16px; }
  .homepage .upcoming-batches .section-subtitle { margin-bottom: 12px; }
  .homepage .upcoming-batches-action { margin-top: 8px; }
  .homepage .stats { padding-block: 14px; }
  .homepage .stats-grid { gap: 10px 12px; }
  .homepage .stat-number { font-size: 24px; margin-bottom: 2px; }
  .homepage .stat-label { font-size: 13px; }
  .homepage .trips-section { padding-block: 20px 24px; }
  .homepage .trips-section .section-subtitle { margin-bottom: 14px; }
}

@media (min-width: 768px) and (max-width: 1000px) {
  .homepage .hero-content { padding: 28px 24px; }
  .homepage .hero h1 { max-width: none; font-size: 36px; }
  .homepage .hero-tagline { font-size: 20px; line-height: 1.4; }
  .homepage .hero-desc { font-size: 16px; line-height: 1.5; margin-bottom: 12px; }
  .homepage .hero-search { margin: 14px 0 10px; }
}

/* css/trip-gallery-slideshow.css */
.gallery-playback{position:absolute;bottom:12px;left:12px;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:44px;min-height:44px;min-width:44px;box-sizing:border-box;padding:10px 13px;border:1px solid #ffffff66;border-radius:12px;background:#102f28c7;backdrop-filter:blur(8px);color:#fff;font-family:inherit;font-size:13px;font-weight:500;line-height:1;box-shadow:0 2px 8px #0002;cursor:pointer}.gallery-playback:hover{background:#102f28eb}.gallery-playback[hidden]{display:none}.gallery-playback:focus-visible{outline:3px solid white;outline-offset:3px}.gallery-playback-icon{display:inline-flex;align-items:center;justify-content:center;gap:3px;width:12px;height:14px}.gallery-playback-icon:before,.gallery-playback-icon:after{content:'';display:block;width:3px;height:12px;border-radius:1px;background:currentColor}.gallery-playback[data-paused=true] .gallery-playback-icon:before{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor;border-radius:0;background:none}.gallery-playback[data-paused=true] .gallery-playback-icon:after{display:none}@media(max-width:767px){.gallery-playback{left:8px;bottom:8px}.gallery-counter{right:8px;bottom:8px}}@media(prefers-reduced-motion:reduce){.gallery-playback{backdrop-filter:none}}
.rail-playback{width:auto;min-width:92px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:inherit;font-size:13px;font-weight:500;line-height:1;padding:10px 12px;border-radius:12px}.rail-playback[hidden]{display:none}.rail-playback[data-paused=true] .gallery-playback-icon:before{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor;border-radius:0;background:none}.rail-playback[data-paused=true] .gallery-playback-icon:after{display:none}

.rail-controls[hidden]{display:none}

/* Compact photo control on phones; preserve the full 44px touch target. */
@media (max-width: 767px) {
  .gallery-playback {
    width: 44px;
    height: 44px;
    padding: 0;
    gap: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
    isolation: isolate;
  }
  .gallery-playback::before {
    content: '';
    position: absolute;
    inset: 4px;
    z-index: -1;
    border: 1px solid #ffffff66;
    border-radius: 50%;
    background: #102f28c7;
    box-shadow: 0 2px 8px #0002;
  }
  .gallery-playback:hover {
    background: transparent;
  }
  .gallery-playback:hover::before,
  .gallery-playback:active::before {
    background: #102f28eb;
  }
  .gallery-playback-label {
    display: none;
  }
}
