/* Luxury brand theme (preview): loaded after site-polish.css. */
:root {
  --lx-night: #111316;
  --lx-pine: #1b1e22;
  --lx-tint: #f3f4f5;
  --lx-white: #ffffff;
  --lx-accent: #2f5d8a;
  --lx-cta: #16181b;
  --lx-cta-hover: #2f5d8a;
  --lx-soft-blue: #b4c7d9;
  --lx-r: 8px;
  --lx-text: #16181b;
  --lx-muted: #5c636a;
  --lx-line: #dfe2e5;
  --lx-display: "DM Sans", system-ui, sans-serif;
  --lx-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-serif: var(--lx-display);
  --font-sans: var(--lx-sans);
  --background: var(--lx-white);
  --polish-ink: var(--lx-text);
  --polish-muted: var(--lx-muted);
  --polish-accent: var(--lx-accent);
}
body { background: var(--lx-white) !important; color: var(--lx-text); font-family: var(--lx-sans) !important; font-size: 1.06rem; }
body p, body li, body a, body span, body button, body input, body select, body textarea, body label, body small, body strong { font-family: var(--lx-sans) !important; }
body h1, body h2, body h3, body h4, body h1 a, body h2 a, body h3 a, .ft-name { font-family: var(--lx-display) !important; font-weight: 700 !important; letter-spacing: -0.01em; color: inherit; }
i.fa-solid, i.fa-regular { font-family: "Font Awesome 6 Free" !important; }
i.fa-brands { font-family: "Font Awesome 6 Brands" !important; }
main p { color: var(--lx-muted); }
main section h2, section h2 { font-size: clamp(2rem, 1.6rem + 1.6vw, 3rem) !important; line-height: 1.12 !important; font-weight: 700 !important; }

/* Transparent header over the opening image, solid once scrolled */
header, header nav { transition: background 0.3s ease, border-color 0.3s ease; }
header nav { background: var(--lx-white) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: 0 1px 0 var(--lx-line) !important; border: 0 !important; }
body.lx-top header nav { background: transparent !important; box-shadow: none !important; }
body.lx-top header nav::before { content: ""; position: absolute; inset: 0 0 -40px; background: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent); pointer-events: none; z-index: -1; }
body.lx-top header .brand img { filter: brightness(0) invert(1); }
header .link, header nav ul li > a, .brand-name, .brand-center-title { color: var(--lx-text) !important; }
body.lx-top header .link, body.lx-top header nav ul li > a, body.lx-top .brand-name, body.lx-top .brand-center-title, body.lx-top #nav-icon { color: #fff !important; }
header nav ul:not(.nav-dropdown *) > li > a.link { font-size: 0.98rem !important; font-weight: 600 !important; }
.brand-name, .brand-center-title { font-family: var(--lx-display) !important; font-size: 1.3rem !important; font-weight: 700 !important; }
header .link:hover { color: var(--lx-accent) !important; }
body.lx-top header .link:hover { color: var(--lx-soft-blue) !important; }
#nav-icon { color: var(--lx-text) !important; }
.nav-dropdown { background: var(--lx-white) !important; border-radius: var(--lx-r) !important; border: 0 !important; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16) !important; }
body header .nav-dropdown a, body header .nav-dropdown strong, body.lx-top header .nav-dropdown a, body.lx-top header .nav-dropdown strong { color: var(--lx-text) !important; text-transform: none; }
.nav-dropdown p { color: var(--lx-muted) !important; }
.nav-drop-icon { background: var(--lx-tint) !important; color: var(--lx-accent) !important; border-radius: var(--lx-r) !important; }
.nav-drop-item { border-radius: 0 !important; }
.nav-drop-item[style] { background: transparent !important; }
.nav-drop-footer { background: var(--lx-tint) !important; color: var(--lx-text) !important; border-radius: 0 !important; }
.nav-drop-footer * { color: var(--lx-text) !important; }
.sidebar { background: var(--lx-white) !important; border-radius: 0 !important; }
body #sidebar a.link, body.lx-top header #sidebar a.link { color: var(--lx-text) !important; text-transform: none; }
#sidebar .sidebar-label { color: var(--lx-accent) !important; }
#sidebar li { border-color: var(--lx-line) !important; }
#sidebar .sidebar-action-btn { border-radius: var(--lx-r) !important; }

/* Buttons */
.lx-btn, .lead-form button[type="submit"], .hero-quick a, .sticky-widget-btn, .dest-btn-whatsapp, .dest-btn-call, .primary-btn, .ghost-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem;
  min-height: 48px; padding: 0.7rem 1.6rem;
  border-radius: 6px !important; box-shadow: none !important; background-image: none !important;
  font-size: 1rem !important; font-weight: 600 !important; text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.lx-btn-solid, .lead-form button[type="submit"], .hero-quick .hero-quick-book, .sticky-widget-btn.btn-whatsapp, .dest-btn-whatsapp, .primary-btn { background: var(--lx-cta) !important; border: 1px solid var(--lx-cta) !important; color: #fff !important; }
.lx-btn-solid:hover, .hero-quick .hero-quick-book:hover, .lead-form button[type="submit"]:hover { background: var(--lx-cta-hover) !important; border-color: var(--lx-cta-hover) !important; }
.lx-btn-line, .hero-quick .hero-quick-wa { background: rgba(255, 255, 255, 0.08) !important; border: 1px solid rgba(255, 255, 255, 0.75) !important; color: #fff !important; }
.lx-btn-line:hover { background: #fff !important; color: var(--lx-text) !important; }
.sticky-widget-btn.btn-call, .ghost-btn, .dest-btn-call { background: transparent !important; border: 1px solid var(--lx-text) !important; color: var(--lx-text) !important; }

/* Opening */
.lx-hero { position: relative; display: flex; align-items: flex-end; min-height: 100vh; min-height: 100svh; margin: 0; overflow: hidden; background: var(--lx-night); color: #fff; }
.lx-hero-copy { position: relative; z-index: 2; padding-top: 7rem; padding-bottom: clamp(3rem, 8vh, 5.5rem); }
.lx-hero-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }


/* Sections */
.lx-section { padding: var(--lx-space) 0; }
.lx-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0.75rem 2rem; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.lx-head h2 { margin: 0; max-width: 18ch; }
.lx-head p { margin: 0.7rem 0 0; max-width: 42ch; }
.lx-more { color: var(--lx-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }

/* Image tiles */
.lx-tile { position: relative; display: block; overflow: hidden; border-radius: var(--lx-r); background: var(--lx-night); color: #fff !important; text-decoration: none; }
.lx-tile img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1); }
.lx-tile:hover img { transform: scale(1.05); }
.lx-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(8, 10, 12, 0.82) 100%); }
.lx-tile-text { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: clamp(1rem, 2vw, 1.6rem); }
.lx-tile-text b { display: block; color: #fff; font-family: var(--lx-display) !important; font-size: clamp(1.35rem, 1.15rem + 0.8vw, 1.9rem); font-weight: 700; line-height: 1.15; }
.lx-tile-text small { display: block; margin-top: 0.25rem; color: #fff; font-size: 0.98rem; }
.lx-regions { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.75rem; list-style: none; margin: 0; padding: 0; }
.lx-regions .lx-tile { aspect-ratio: 3 / 3.9; }
.lx-tile-solid { background: var(--lx-accent); }
.lx-tile-solid::after { display: none; }
.lx-styles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem 1.25rem; list-style: none; margin: 0; padding: 0; }
.lx-styles .lx-tile { overflow: visible; background: transparent; color: var(--lx-text) !important; }
.lx-styles .lx-tile::after { display: none; }
.lx-styles .lx-tile img { aspect-ratio: 4 / 3; height: auto !important; border-radius: var(--lx-r); }
.lx-styles .lx-tile:hover img { transform: none; opacity: 0.92; }
.lx-styles .lx-tile-text { position: static; padding: 0.8rem 0 0; }
.lx-styles .lx-tile-text b { color: var(--lx-text); font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.55rem); }
.lx-styles .lx-tile-text small { color: var(--lx-muted); }
.lx-styles .lx-tile:hover b { color: var(--lx-accent); }

/* Journeys */
.lx-journeys { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.75rem, 3vw, 2.75rem) 1.25rem; list-style: none; margin: 0; padding: 0; }
.lx-journey { display: block; color: inherit !important; text-decoration: none; }
.lx-journey figure { margin: 0 0 0.8rem; overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--lx-r); background: var(--lx-tint); }
.lx-journey img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1); }
.lx-journey:hover img { transform: scale(1.04); }
.lx-journey small { display: block; margin-bottom: 0.2rem; color: var(--lx-muted); font-size: 0.95rem; font-weight: 600; }
.lx-journey h3 { margin: 0 0 0.3rem; font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.55rem) !important; font-weight: 700 !important; line-height: 1.2 !important; color: var(--lx-text) !important; }
.lx-journey span { color: var(--lx-muted); font-size: 1rem; }
/* Package cards show they open: an arrow on the photo and a "View trip" link by the price */
.lx-journey figure { position: relative; }
.lx-journey figure::after { content: "\f061"; position: absolute; right: 0.75rem; bottom: 0.75rem; display: flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem; background: var(--lx-white); border-radius: 50%; box-shadow: 0 4px 14px rgba(14, 16, 19, 0.22); color: var(--lx-text); font-family: "Font Awesome 6 Free"; font-size: 1rem; font-weight: 900; transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease; }
.lx-journey:hover figure::after, .lx-journey:focus-visible figure::after { background: var(--lx-text); color: #fff; transform: translateX(3px); }
.lx-journey > span { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.2rem 0.75rem; }
.lx-journey > span::after { content: "View trip \2192"; color: var(--lx-accent); font-size: 1rem; font-weight: 700; white-space: nowrap; }
.lx-journey:hover > span::after { text-decoration: underline; text-underline-offset: 3px; }
.lx-journey:hover h3 { color: var(--lx-accent) !important; }
.lx-journey:focus-visible { outline: 2px solid var(--lx-accent); outline-offset: 4px; border-radius: var(--lx-r); }
@media (prefers-reduced-motion: reduce) { .lx-journey figure::after { transition: none; } }

/* Existing sections in the new language */
.popular-destinations { background: var(--lx-tint) !important; padding: var(--lx-space) 0 !important; }
.dest-card { border-radius: var(--lx-r) !important; box-shadow: none !important; }
.dest-info h3 { font-size: 1.45rem !important; font-weight: 700 !important; color: #fff !important; }
.dest-info p { color: rgba(255, 255, 255, 0.85) !important; }
.dest-badge, [class*="dest-card-badge"], .dest-slide-dots { display: none !important; }
.dest-nav-btn, .dest-header-wrap button, .ts-arrow, #activities button { border-radius: 6px !important; box-shadow: none !important; background: var(--lx-white) !important; border: 1px solid var(--lx-line) !important; color: var(--lx-text) !important; }
#activities { background: var(--lx-tint) !important; padding: var(--lx-space) 0 !important; }
#gallery-strip { background: var(--lx-white) !important; padding: var(--lx-space) 0 !important; }
.activities-track > *, .activities-track img, .gallery-rail img, .gallery-rail > * { border-radius: var(--lx-r) !important; box-shadow: none !important; }
#testimonials { background: var(--lx-pine) !important; color: #fff; padding: var(--lx-space) 0 !important; }
#testimonials h2 { color: #fff !important; }
.testimonial-card { background: rgba(255, 255, 255, 0.06) !important; border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; padding: 1.5rem !important; }
.testimonial-card, .testimonial-card * { color: rgba(255, 255, 255, 0.88) !important; }
.testimonial-card p { font-family: var(--lx-sans) !important; font-size: 1.08rem !important; font-style: normal !important; line-height: 1.55 !important; }
.testimonial-avatar { display: none !important; }
.testimonial-stars i { color: var(--lx-soft-blue) !important; }
.testimonials-review-btn { min-height: 44px; border-color: rgba(255, 255, 255, 0.5) !important; color: #fff !important; }
.testimonials-review-btn * { color: #fff !important; }
#testimonials .ts-arrow { background: transparent !important; color: #fff !important; border-color: rgba(255, 255, 255, 0.3) !important; }
.why-us-seo-section { background: var(--lx-tint) !important; padding: var(--lx-space) 0 !important; }
.why-us-card { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; }
.why-us-card:hover { transform: none !important; }
.why-us-card h3 { font-size: 1.3rem !important; font-weight: 700 !important; line-height: 1.25 !important; }
.why-us-icon { background: transparent !important; color: var(--lx-accent) !important; padding: 0 !important; }
.site-faq-section { background: var(--lx-white) !important; }
.site-faq-icon { display: none !important; }
.site-faq-title { font-size: clamp(2rem, 1.6rem + 1.6vw, 3rem) !important; font-weight: 700 !important; }
.site-faq-item { border-color: var(--lx-line) !important; }
.site-faq-question-text { font-family: var(--lx-sans) !important; font-size: 1.12rem !important; font-weight: 600 !important; color: var(--lx-text) !important; }
.trip-banner-card { background: var(--lx-white) !important; background-image: none !important; border: 1px solid var(--lx-line) !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.trip-banner-card h2 { color: var(--lx-text) !important; }
.trip-banner-card p { color: var(--lx-muted) !important; }
.trip-banner-card a { border-radius: 6px !important; box-shadow: none !important; }
.lead-form-section { background: var(--lx-tint) !important; }
.lead-form-shell { background: var(--lx-white) !important; border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.lead-form input, .lead-form textarea, .lead-form select { border: 1px solid #c4c8cc !important; border-radius: 6px !important; background: var(--lx-white) !important; box-shadow: none !important; }
.lead-form label > span { font-size: 0.95rem !important; font-weight: 600 !important; }

/* Package page */
.hero-thumb-btn { border-radius: 6px !important; border: 1px solid rgba(255, 255, 255, 0.45) !important; box-shadow: none !important; }
.hero-thumb-btn.is-active { border-color: #fff !important; }
.hero-thumb-btn img { border-radius: 5px !important; }
.pkg-jump { background: var(--lx-white) !important; border: 0 !important; border-bottom: 1px solid var(--lx-line) !important; }
.pkg-jump a { color: var(--lx-text) !important; font-size: 1rem !important; font-weight: 600 !important; }
.pkg-jump a:hover { background: transparent !important; color: var(--lx-accent) !important; }
.package-section, .package-section.alt { background: transparent !important; padding: var(--lx-space) 0 !important; }
.section-shell { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.flowchart-card:hover { transform: none !important; box-shadow: none !important; }
.flowchart-step::before, .flowchart-step::after, .flowchart-line::after { display: none !important; }
.flowchart-title { font-family: var(--lx-display) !important; font-size: clamp(1.25rem, 1.15rem + 0.5vw, 1.55rem) !important; font-weight: 700 !important; color: var(--lx-text) !important; }
.flowchart-day-badge { background: transparent !important; border: 0 !important; padding: 0 !important; color: var(--lx-accent) !important; font-size: 0.98rem !important; font-weight: 700 !important; }
.flowchart-tag-stay { background: transparent !important; border: 0 !important; padding: 0 !important; color: var(--lx-muted) !important; font-size: 0.95rem !important; }
.flowchart-tag-stay i { color: var(--lx-accent) !important; }
.flow-pill { background: transparent !important; border: 0 !important; padding: 0 1rem 0 0 !important; color: var(--lx-muted) !important; box-shadow: none !important; font-size: 0.96rem !important; }
.flow-pill i { color: var(--lx-accent) !important; }
.meta-card, .brochure-panel { background: var(--lx-tint) !important; border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.meta-card .label { color: var(--lx-muted) !important; font-size: 0.92rem !important; }
.meta-card strong { font-family: var(--lx-display) !important; font-size: 1.25rem !important; font-weight: 700 !important; }
.brochure-panel h3 { font-size: 1.4rem !important; font-weight: 700 !important; border-color: var(--lx-line) !important; }
.detail-list li::before { background: var(--lx-accent) !important; box-shadow: none !important; }
.dest-custom-banner { background: var(--lx-tint) !important; background-image: none !important; border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.dest-custom-banner h3 { color: var(--lx-text) !important; font-size: 1.7rem !important; font-weight: 700 !important; }
.dest-custom-banner p { color: var(--lx-muted) !important; }
.dest-btn-whatsapp, .dest-btn-whatsapp * { color: #fff !important; }
.dest-btn-call, .dest-btn-call * { color: var(--lx-text) !important; }
.gallery-rail-card { border-radius: var(--lx-r) !important; box-shadow: none !important; }
.related-packages a { font-family: var(--lx-display) !important; font-size: 1.15rem; font-weight: 700; }
.related-packages img { border-radius: var(--lx-r) !important; }
.sticky-booking-widget { background: var(--lx-white) !important; border: 1px solid var(--lx-line) !important; border-radius: var(--lx-r) !important; box-shadow: 0 10px 28px rgba(14, 16, 19, 0.1) !important; }
.sticky-widget-badge { background: transparent !important; border: 0 !important; padding: 0 !important; color: var(--lx-accent) !important; font-size: 0.9rem !important; font-weight: 600 !important; }
.sticky-widget-curr-price { font-family: var(--lx-display) !important; font-weight: 700 !important; color: var(--lx-text) !important; }
.sticky-widget-total { color: var(--lx-muted) !important; }
.sticky-widget-btn, .sticky-widget-btn * { font-size: 0.98rem !important; }
.sticky-widget-btn.btn-whatsapp, .sticky-widget-btn.btn-whatsapp * { color: #fff !important; }
.sticky-widget-btn.btn-call, .sticky-widget-btn.btn-call * { color: var(--lx-text) !important; }
.sticky-widget-features .check-icon { color: var(--lx-accent) !important; fill: var(--lx-accent) !important; }


/* Floating helpers */
.whatsapp-tooltip { display: none !important; }
.back-to-top-btn { border-radius: 6px !important; box-shadow: none !important; background: var(--lx-white) !important; border: 1px solid var(--lx-line) !important; color: var(--lx-text) !important; }
@media (max-width: 860px) {
  .lx-regions { grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
  .lx-styles { grid-template-columns: repeat(2, 1fr); gap: 1.25rem 0.6rem; }
  .lx-journeys { display: flex; gap: 0.85rem; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: -16px; padding-inline: 16px; scrollbar-width: none; }
  .lx-journeys::-webkit-scrollbar { display: none; }
  .lx-journeys > li { flex: 0 0 calc(100% - 56px); scroll-snap-align: start; scroll-margin-left: 16px; }
  .lx-hero-actions .lx-btn { flex: 1 1 0; padding-inline: 0.75rem; white-space: nowrap; }
}
@media (max-width: 767px) {
  .brand-center-title { font-size: 1.12rem !important; }
  .lx-tile-text small { font-size: 0.9rem; }
  .testimonial-card p { font-size: 1.04rem !important; }
}

/* Opening refinements */
header { background: transparent !important; box-shadow: none !important; }
body.lx-top header, body.lx-top header nav { background: transparent !important; background-image: none !important; }
header nav::after { display: none !important; }
main { padding-top: var(--header-h, 72px) !important; margin-top: 0 !important; }
main:has(> .lx-hero) { padding-top: 0 !important; }
body { padding-top: 0 !important; }
body .lx-hero { margin-top: 0 !important; }
.lx-head h2 { max-width: 20ch; }
@media (max-width: 860px) {
  body.has-phone-bar .lx-hero { min-height: calc(100svh - 46px); }
}

/* Hero videos behind the headline */
body .lx-hero .lx-slider { position: absolute !important; inset: 0; z-index: 0; width: 100%; height: 100% !important; min-height: 0 !important; margin: 0; border-radius: 0; background: var(--lx-night); }
.lx-slider .hero-slide-img, .lx-slider .hero-slide-video { width: 100% !important; height: 100% !important; object-fit: cover; filter: none; }

/* Headings on light sections stay dark */
.why-us-seo-section h2, .site-faq-title, #faqs h2 { color: var(--lx-text) !important; }
.why-us-seo-section p, .site-faq-section p { color: var(--lx-muted) !important; }
.package-section h2, .section-heading h2 { color: var(--lx-text) !important; }

/* Square corners everywhere in image rows */
#activities [class*="card"], #activities [class*="slide"], #activities img, #activities a { border-radius: var(--lx-r) !important; box-shadow: none !important; }
.activities-slider-wrap::before, .activities-slider-wrap::after { display: none !important; }
#gallery-strip h2 { margin-bottom: 2rem !important; }
#testimonials .ts-dots { background: transparent !important; }
#testimonials .ts-dot { background: rgba(255, 255, 255, 0.28) !important; }
#testimonials .ts-dot.active { background: var(--lx-soft-blue) !important; }
.testimonial-author h4 { margin: 0 0 0.1rem !important; font-family: var(--lx-sans) !important; font-size: 1.02rem !important; font-weight: 700 !important; line-height: 1.25 !important; color: #fff !important; }
.testimonial-card .testimonial-author p { margin: 0 !important; font-size: 0.92rem !important; line-height: 1.35 !important; color: rgba(255, 255, 255, 0.7) !important; }
.testimonials-slider-wrap { margin-top: 1.5rem; }
body .lx-hero .lx-hero-copy { padding-bottom: clamp(2.25rem, 7vh, 4.5rem) !important; }

/* Plan-your-trip card, in the light scheme */
.trip-banner-card::before, .trip-banner-card::after, .trip-banner-glow, .trip-banner-card [class*="glow"], .trip-banner-card [class*="blob"] { display: none !important; }
.trip-banner-card h2.trip-banner-title { color: var(--lx-text) !important; background: none !important; -webkit-text-fill-color: var(--lx-text) !important; }
.trip-banner-card .trip-banner-btn { background: var(--lx-cta) !important; background-image: none !important; border: 1px solid var(--lx-cta) !important; border-radius: 6px !important; box-shadow: none !important; color: #fff !important; font-weight: 600 !important; }
.trip-banner-card .trip-banner-btn:hover { background: var(--lx-cta-hover) !important; transform: none !important; }
.trip-banner-card .trip-banner-wa-btn { background: transparent !important; border: 1px solid var(--lx-text) !important; border-radius: 6px !important; box-shadow: none !important; color: var(--lx-text) !important; font-weight: 600 !important; }
.trip-banner-card .trip-banner-trust i { color: var(--lx-muted) !important; }

/* One heading colour throughout */
main section h2, .why-us-card h3 { color: var(--lx-text) !important; }
#browse { padding-top: var(--lx-space) !important; }
.lx-styles .lx-tile img { border-radius: var(--lx-r) !important; }
.lx-styles .lx-tile .lx-tile-text { display: block; padding: 0.85rem 0 0 !important; }
.why-us-icon { justify-content: flex-start !important; width: auto !important; margin: 0 0 0.6rem !important; }
#testimonials .ts-dots { margin: 1.5rem 0 0 !important; }
header .brand img { filter: brightness(0); }
body.lx-top header .brand img { filter: brightness(0) invert(1); }

/* One keyword per hero slide, fading with its clip */
.lx-slider .hero-slide::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(8, 10, 12, 0.35) 0%, rgba(8, 10, 12, 0) 30%, rgba(8, 10, 12, 0) 52%, rgba(8, 10, 12, 0.72) 100%); pointer-events: none; }
.lx-keyword-wrap { position: absolute; left: 0; right: 0; bottom: calc(clamp(2.25rem, 7vh, 4.5rem) + 48px + 1.1rem); z-index: 2; margin-inline: auto; }
.lx-keyword { display: block; color: #fff; font-family: var(--lx-display) !important; font-size: clamp(1.9rem, 1.4rem + 2vw, 3rem); font-weight: 700; line-height: 1.1; text-shadow: 0 2px 22px rgba(0, 0, 0, 0.45); }
.hero-slide .lx-keyword { opacity: 0; transition: opacity 0.12s ease-out; }
.hero-slide.active .lx-keyword { opacity: 1; animation: lx-keyword-in 0.7s ease-out 0.35s both; }
@keyframes lx-keyword-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .hero-slide.active .lx-keyword { animation: none; } .hero-slide .lx-keyword { transition: none; } }
.lx-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

/* Package page opening: title and price beside a sharp photo */
.package-hero { margin: 0 !important; padding: clamp(1.75rem, 4vw, 3.5rem) 0 !important; background: var(--lx-white) !important; }
.package-hero-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) !important; align-items: center !important; gap: clamp(1.5rem, 4vw, 3.5rem) !important; }
body .package-hero h1 { margin: 0 0 0.8rem !important; color: var(--lx-text) !important; font-size: clamp(2.2rem, 1.6rem + 2.2vw, 3.6rem) !important; font-weight: 700 !important; line-height: 1.1 !important; }
.package-lead { margin: 0 0 1.25rem !important; color: var(--lx-muted) !important; font-size: clamp(1.08rem, 1rem + 0.3vw, 1.25rem) !important; max-width: 46ch; }
.hero-quick-price { display: block; width: 100%; margin-bottom: 0.2rem; color: var(--lx-text) !important; font-family: var(--lx-display) !important; font-size: 1.6rem !important; font-weight: 700 !important; }
.hero-quick-price small { color: var(--lx-muted) !important; }
.hero-quick .hero-quick-wa { background: transparent !important; border: 1px solid var(--lx-text) !important; color: var(--lx-text) !important; }
.hero-quick .hero-quick-wa * { color: var(--lx-text) !important; }
.hero-showcase-container, .hero-main-stage { border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; overflow: hidden; }
#hero-main-img { display: block; width: 100% !important; object-fit: cover; aspect-ratio: 4 / 3; height: auto !important; border-radius: var(--lx-r); }
.hero-main-stage::after { display: none !important; }
.hero-thumb-bar { background: transparent !important; backdrop-filter: none !important; }
.hero-thumb-caption { color: var(--lx-text) !important; }
@media (max-width: 860px) {
  .package-hero { padding: 1rem 0 1.5rem !important; }
  .package-hero-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .package-hero-grid .hero-visual { order: -1; }
}

/* Older page colours mapped onto the theme */
:root {
  --brand-ink: var(--lx-text); --brand-teal: var(--lx-accent); --brand-coral: var(--lx-accent); --accent-amber: var(--lx-accent); --accent-gold: var(--lx-accent); --waves-color: var(--lx-accent);
  --brand-accent: var(--lx-accent); --brand-muted: var(--lx-muted); --brand-gold: var(--lx-accent); --primary-color: var(--lx-accent); --gold: var(--lx-accent); --jt-teal: var(--lx-accent);
  --muted: var(--lx-muted); --bg: var(--lx-white); --radius: var(--lx-r);
  --milestone-gold: var(--lx-accent);
}
#theme-toggle, .theme-toggle-btn { display: none !important; }
.hero-thumb-caption { display: none !important; }
.dest-breadcrumbs .current, .breadcrumb .current { color: var(--lx-muted) !important; }
.dest-breadcrumbs a, .dest-breadcrumbs i, .breadcrumb a { color: var(--lx-text) !important; }
.lead-form label span span, .lead-form label small { color: var(--lx-muted) !important; }
.sticky-widget-toggle, .sticky-widget-orig-price { color: var(--lx-muted) !important; }

/* Package cards */
.pkg-card { border: 1px solid var(--lx-line) !important; border-radius: var(--lx-r) !important; box-shadow: none !important; background: var(--lx-white) !important; }
.pkg-card:hover { transform: none !important; box-shadow: 0 10px 26px rgba(14, 16, 19, 0.08) !important; }
.pkg-card .pkg-badge { background: var(--lx-white) !important; background-image: none !important; color: var(--lx-text) !important; border: 0 !important; border-radius: 4px !important; box-shadow: none !important; font-size: 0.8rem !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
.pkg-card .pkg-tag { background: var(--lx-tint) !important; border: 0 !important; border-radius: 4px !important; color: var(--lx-muted) !important; font-size: 0.84rem !important; font-weight: 400 !important; }
.pkg-card .pkg-book-btn { background: var(--lx-cta) !important; background-image: none !important; border: 0 !important; border-radius: 6px !important; box-shadow: none !important; color: #fff !important; font-size: 0.95rem !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
.pkg-card .pkg-book-btn:hover { background: var(--lx-cta-hover) !important; }
.pkg-price-label, .pkg-price-amount small, .pkg-footer small, .pkg-meta, .pkg-location, .pkg-desc { color: var(--lx-muted) !important; }
.pkg-price-amount { color: var(--lx-text) !important; font-family: var(--lx-sans) !important; font-weight: 700 !important; }
.filter-pill { background: var(--lx-white) !important; background-image: none !important; border: 1px solid var(--lx-line) !important; border-radius: 6px !important; box-shadow: none !important; color: var(--lx-text) !important; font-weight: 600 !important; }
.filter-pill.active { background: var(--lx-text) !important; border-color: var(--lx-text) !important; color: #fff !important; }

/* Light page banners */
.packages-hero, .gallery-hero, .policy-hero { background: var(--lx-tint) !important; background-image: none !important; color: var(--lx-text) !important; box-shadow: none !important; }
.packages-hero::before, .packages-hero::after, .gallery-hero::before, .gallery-hero::after, .policy-hero::before, .policy-hero::after { display: none !important; }
.packages-hero h1, .gallery-hero h1, .policy-hero h1 { color: var(--lx-text) !important; }
.packages-hero p, .packages-hero a, .packages-hero span, .packages-hero i, .gallery-hero p, .policy-hero p { color: var(--lx-muted) !important; }
.gold-bar { display: none !important; }
.policy-body { color: var(--lx-text); }
.policy-body .section-header { padding: 0 !important; background: transparent !important; border-radius: 0 !important; color: var(--lx-text) !important; font-family: var(--lx-display) !important; font-size: 1.4rem !important; font-weight: 700 !important; }
.policy-body .section-header i { color: var(--lx-accent) !important; }
.policy-body a { color: var(--lx-accent) !important; }
.highlight-box, .contact-card { background: var(--lx-tint) !important; border: 0 !important; border-radius: var(--lx-r) !important; color: var(--lx-text) !important; }
.highlight-box *, .contact-card * { color: inherit; }

/* Gallery */
.gallery-item, .gallery-media-wrap { border-radius: var(--lx-r) !important; box-shadow: none !important; }
.gallery-item { border: 0 !important; }
.gallery-badge { background: var(--lx-white) !important; backdrop-filter: none !important; border: 0 !important; border-radius: 4px !important; color: var(--lx-text) !important; font-weight: 600 !important; }
.gallery-badge i { color: var(--lx-accent) !important; }

/* About */
.about-eyebrow { padding: 0 !important; background: transparent !important; border: 0 !important; backdrop-filter: none !important; color: #fff !important; font-size: 1rem !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
.about-eyebrow i { color: #fff !important; }
.about-stats-grid { border: 1px solid var(--lx-line) !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.stat-num { color: var(--lx-text) !important; font-family: var(--lx-display) !important; }
.stat-num i { color: var(--lx-soft-blue) !important; }
.stat-label { color: var(--lx-muted) !important; font-size: 0.95rem !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; }
.story-card { background: var(--lx-tint) !important; background-image: none !important; border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.story-card::before, .story-card::after { display: none !important; }
.story-quote { color: var(--lx-text) !important; font-style: normal !important; }
.story-author, .story-author * { color: var(--lx-muted) !important; }
.pillar-card, .group-pillar-card { background: var(--lx-white) !important; background-image: none !important; border: 1px solid var(--lx-line) !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.pillar-card:hover, .group-pillar-card:hover { transform: none !important; box-shadow: none !important; }
.pillar-icon, .pillar-icon-box, .women-owned-icon, .ty-step-icon, .ty-icon-wrapper { background: var(--lx-tint) !important; background-image: none !important; border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; color: var(--lx-accent) !important; }
.pillar-icon i, .pillar-icon-box i, .women-owned-icon i, .ty-step-icon i, .ty-icon-wrapper i { color: var(--lx-accent) !important; }
.matrix-section { background: var(--lx-tint) !important; border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.diff-table th { background: transparent !important; background-image: none !important; border-bottom: 2px solid var(--lx-text) !important; color: var(--lx-text) !important; font-size: 1rem !important; letter-spacing: 0 !important; text-transform: none !important; }
.diff-table .highlight-th { color: var(--lx-accent) !important; border-bottom-color: var(--lx-accent) !important; }
.diff-table .jiya-col, .diff-table .jiya-col * { background: transparent !important; color: var(--lx-text) !important; font-weight: 600; }
.promise-cta-card, .ty-actions-card { background: var(--lx-tint) !important; background-image: none !important; border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; color: var(--lx-text) !important; }
.promise-cta-card::before, .promise-cta-card::after, .ty-actions-card::before, .ty-actions-card::after { display: none !important; }
.promise-cta-card h2, .ty-actions-card h2 { color: var(--lx-text) !important; }
.promise-cta-card p, .ty-actions-card p { color: var(--lx-muted) !important; }
a.promise-cta-btn, .ty-btn-group a, .ty-btn-group button { border-radius: 6px !important; box-shadow: none !important; background-image: none !important; font-weight: 600 !important; transform: none !important; }
a.promise-cta-btn.wa-cta, a.ty-btn-wa { background: var(--lx-cta) !important; border: 1px solid var(--lx-cta) !important; color: #fff !important; }
a.promise-cta-btn.wa-cta *, a.ty-btn-wa * { color: #fff !important; }
a.promise-cta-btn.phone-cta, a.ty-btn-call, a.ty-btn-packages { background: transparent !important; border: 1px solid var(--lx-text) !important; color: var(--lx-text) !important; }
a.promise-cta-btn.phone-cta *, a.ty-btn-call *, a.ty-btn-packages * { color: var(--lx-text) !important; }

/* Contact */
.contact-form-shell { background: var(--lx-white) !important; background-image: none !important; border: 0 !important; border-radius: var(--lx-r) !important; backdrop-filter: none !important; box-shadow: 0 18px 44px rgba(14, 16, 19, 0.18) !important; }
.contact-highlight-card { background: rgba(14, 16, 19, 0.55) !important; border: 0 !important; border-radius: var(--lx-r) !important; backdrop-filter: none !important; }
.contact-highlight-card .label { color: #fff !important; }
.contact-info-card { border: 1px solid var(--lx-line) !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.contact-info-card i { color: var(--lx-accent) !important; }
.contact-info-card [class*="icon"] { background: var(--lx-tint) !important; background-image: none !important; border-radius: var(--lx-r) !important; }
.contact-form-shell input, .contact-form-shell select, .contact-form-shell textarea { background: var(--lx-white) !important; border: 1px solid #c4c8cc !important; border-radius: 6px !important; box-shadow: none !important; }
.contact-form-shell label { letter-spacing: 0 !important; text-transform: none !important; }

/* Mega group */
.mega-editorial-header h1 { color: var(--lx-text) !important; }
.btn-mega-primary { background: var(--lx-cta) !important; background-image: none !important; border: 1px solid var(--lx-cta) !important; border-radius: 6px !important; box-shadow: none !important; color: #fff !important; transform: none !important; }
.btn-mega-primary * { color: #fff !important; }
.btn-mega-secondary { background: transparent !important; border: 1px solid var(--lx-text) !important; border-radius: 6px !important; box-shadow: none !important; color: var(--lx-text) !important; transform: none !important; }
.group-stats-card { border: 1px solid var(--lx-line) !important; border-radius: var(--lx-r) !important; box-shadow: none !important; background: var(--lx-white) !important; }
.strip-number { color: var(--lx-text) !important; }
.strip-label { color: var(--lx-text) !important; font-size: 0.95rem !important; letter-spacing: 0 !important; text-transform: none !important; }
.strip-subtext { color: var(--lx-muted) !important; }
.strip-icon { background: var(--lx-tint) !important; background-image: none !important; color: var(--lx-accent) !important; }
.strip-icon i { color: var(--lx-accent) !important; }
.women-owned-banner { background: var(--lx-tint) !important; background-image: none !important; border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.video-spotlight-box { background: var(--lx-tint) !important; background-image: none !important; border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.video-spotlight-box::before, .video-spotlight-box::after { display: none !important; }
.video-narrative h2 { color: var(--lx-text) !important; }
.video-narrative p, .video-narrative span { color: var(--lx-muted) !important; }
.video-narrative i { color: var(--lx-accent) !important; }
.video-player-container { border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.featured-pillar { background: var(--lx-white) !important; background-image: none !important; }
.pillar-badge-top { display: none !important; }
.pillar-checklist i { color: var(--lx-accent) !important; }
.blueprint-card { border: 1px solid var(--lx-line) !important; border-radius: var(--lx-r) !important; box-shadow: none !important; background: var(--lx-white) !important; }
.blueprint-step { color: var(--lx-accent) !important; }
.quote-builder-section { background: var(--lx-tint) !important; background-image: none !important; border: 0 !important; border-radius: var(--lx-r) !important; box-shadow: none !important; color: var(--lx-text) !important; }
.quote-builder-section::before, .quote-builder-section::after { display: none !important; }
.quote-builder-section h2, .quote-builder-section label, .quote-trust-strip, .quote-trust-strip * { color: var(--lx-text) !important; }
.quote-builder-section p { color: var(--lx-muted) !important; }
.quote-builder-section input, .quote-builder-section select, .quote-builder-section textarea { background: var(--lx-white) !important; border: 1px solid #c4c8cc !important; border-radius: 6px !important; box-shadow: none !important; color: var(--lx-text) !important; }
.quote-builder-section .quote-submit-btn { background: var(--lx-cta) !important; background-image: none !important; border: 0 !important; border-radius: 6px !important; box-shadow: none !important; color: #fff !important; }
.quote-builder-section .quote-submit-btn * { color: #fff !important; }

/* Thank-you */
.thank-you-main { background: var(--lx-white) !important; background-image: none !important; }
.ty-hero-card, .ty-details-card, .ty-step-card { background: var(--lx-white) !important; background-image: none !important; border: 1px solid var(--lx-line) !important; border-radius: var(--lx-r) !important; box-shadow: none !important; }
.ty-hero-card::before, .ty-hero-card::after { display: none !important; }
.ty-title, .ty-title * { color: var(--lx-text) !important; background: none !important; -webkit-text-fill-color: var(--lx-text) !important; font-family: var(--lx-display) !important; }
.ty-step-num { color: var(--lx-line) !important; }
.ty-detail-box { background: var(--lx-tint) !important; border: 0 !important; border-radius: 6px !important; }
.ty-detail-label { letter-spacing: 0 !important; text-transform: none !important; }
.ty-detail-label i, .ty-card-header i, .ty-trust-item i { color: var(--lx-accent) !important; }
.ty-status-badge { background: var(--lx-tint) !important; border: 0 !important; color: var(--lx-text) !important; letter-spacing: 0 !important; text-transform: none !important; }
.ty-email-notification-pill { background: var(--lx-tint) !important; border: 0 !important; border-radius: 6px !important; }
.ty-email-notification-pill *, .ty-email-notification-pill strong { color: var(--lx-text) !important; }
.ty-trust-row { background: transparent !important; background-image: none !important; border: 0 !important; box-shadow: none !important; }

/* Destination directory: the detail blocks stay empty here */
.dest-overview-text:empty, .dest-highlights-grid:empty, .dest-section-header:has(+ .dest-overview-text:empty), .dest-section-header:has(+ .dest-highlights-grid:empty) { display: none !important; }

/* Small page details */
.ty-home-link, .ty-home-link * { color: var(--lx-text) !important; }
.thank-you-container { padding-top: clamp(1.25rem, 3vw, 2.5rem) !important; }
.gallery-caption .tag, .dest-dir-overlay span, .dest-dir-overlay small { color: #fff !important; }
.dest-dir-card, [class*="dest-dir-card"] { border-radius: var(--lx-r) !important; box-shadow: none !important; }
main a[class*="read-more"], main button[class*="read-more"], .site-faq-section a:not([class]) { color: var(--lx-accent) !important; }
.trip-modal-overlay button[type="submit"], .trip-modal-overlay .trip-submit { background: var(--lx-cta) !important; background-image: none !important; border-radius: 6px !important; box-shadow: none !important; color: #fff !important; }
.quote-builder-section div, .quote-builder-section span, .quote-builder-section strong { color: var(--lx-text) !important; }
.quote-builder-section a:not(.quote-submit-btn) { color: var(--lx-accent) !important; }
.quick-quote-label { color: var(--lx-accent) !important; }
.meta-card .label { letter-spacing: 0 !important; text-transform: none !important; }
.trip-modal-overlay h2, .trip-modal-overlay h3 { color: var(--lx-text) !important; }
.trip-modal-overlay label i, .trip-modal-overlay .fa-lock { color: var(--lx-accent) !important; }
.trip-modal-overlay input, .trip-modal-overlay select, .trip-modal-overlay textarea { background: var(--lx-white) !important; border-color: #c4c8cc !important; border-radius: 6px !important; box-shadow: none !important; }
main > .container:first-child { padding-top: 1rem; }

/* Neutral palette: white, ash, gray and black, with a little blue */
.lx-hero .lx-btn-solid { background: #fff !important; border-color: #fff !important; color: var(--lx-text) !important; }
.lx-hero .lx-btn-solid:hover { background: var(--lx-tint) !important; border-color: var(--lx-tint) !important; }
.pkg-stars, .pkg-stars *, .pkg-card [class*="star"], .pkg-card .fa-star { color: var(--lx-text) !important; }
.accept-box { background: var(--lx-tint) !important; border-color: var(--lx-line) !important; color: var(--lx-text) !important; }
.ty-status-dot { background: var(--lx-accent) !important; }
a.ty-nav-wa { border-color: var(--lx-line) !important; }
.ty-detail-value, .ty-detail-value * { color: var(--lx-text) !important; }
.hero-slide-video { background: var(--lx-night) !important; }
.dest-dir-overlay * { color: #fff !important; }
.quote-builder-section a:not(.quote-submit-btn) i { color: inherit !important; }
.mega-editorial-header a, .blueprint-card a, .pillars-section a { color: var(--lx-accent); }
main a:not([class]):has(> i.fa-brands) { color: var(--lx-accent); }

/* Itinerary: route summary, day jumps and a day-by-day timeline */
.itin-tools { margin: 0 0 1.25rem; padding: 1.1rem 1.25rem; background: var(--lx-tint); border-radius: var(--lx-r); }
.itin-route { display: flex; flex-wrap: wrap; gap: 0.4rem 0; list-style: none; margin: 0 0 1rem; padding: 0; color: var(--lx-muted); font-size: 1rem; }
.itin-route li { display: flex; align-items: baseline; gap: 0.35rem; }
.itin-route li:not(:last-child)::after { content: "\2192"; margin: 0 0.65rem; color: var(--lx-accent); }
.itin-route b { color: var(--lx-text); font-weight: 700; }
.itin-actions { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.6rem; }
.itin-date { display: flex; flex-direction: column; gap: 0.2rem; margin-right: auto; }
.itin-date span { color: var(--lx-muted); font-size: 0.9rem; font-weight: 600; }
.itin-date input { min-height: 42px; padding: 0 0.7rem; background: var(--lx-white); border: 1px solid #c4c8cc; border-radius: 6px; color: var(--lx-text); font-size: 1rem; }
.itin-btn { display: inline-flex; align-items: center; gap: 0.45rem; min-height: 42px; padding: 0 1rem; background: var(--lx-white); border: 1px solid var(--lx-text); border-radius: 6px; color: var(--lx-text); cursor: pointer; font-size: 0.98rem; font-weight: 600; transition: background 0.2s ease, color 0.2s ease; }
.itin-btn:hover { background: var(--lx-text); color: #fff; }
.itin-btn i { color: inherit !important; }
.itin-days { position: sticky; top: 72px; z-index: 21; margin: 0 0 1.5rem; background: var(--lx-white); box-shadow: 0 0 0 100vmax var(--lx-white), 0 1px 0 100vmax var(--lx-line); clip-path: inset(0 -100vmax -1px); }
.itin-days ul { display: flex; gap: 0.25rem; list-style: none; margin: 0; padding: 0.4rem 0; overflow-x: auto; scrollbar-width: none; }
.itin-days ul::-webkit-scrollbar { display: none; }
.itin-days a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 0.85rem; border-radius: 6px; color: var(--lx-muted); font-size: 0.98rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.itin-days a:hover { color: var(--lx-accent); }
.itin-days a[aria-current] { background: var(--lx-text); color: #fff; }
.itinerary-flowchart { margin: 0; padding: 0; }
.itinerary-flowchart .flowchart-step { display: grid !important; grid-template-columns: 40px minmax(0, 1fr); gap: 1.1rem; align-items: stretch !important; margin: 0 !important; padding: 0 !important; scroll-margin-top: 16px; }
.flowchart-track { display: flex !important; flex-direction: column; align-items: center; justify-content: flex-start !important; align-self: stretch !important; position: static !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
.flowchart-node { display: flex !important; align-items: center; justify-content: center; flex: 0 0 auto !important; width: 40px !important; min-width: 0 !important; height: 40px !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; position: static !important; background: var(--lx-text) !important; background-image: none !important; border: 0 !important; border-radius: 50% !important; box-shadow: none !important; color: #fff !important; font-size: 0.95rem !important; font-weight: 700 !important; }
.flowchart-line::before, .flowchart-track::before, .flowchart-track::after { display: none !important; }
.flowchart-line { display: block !important; flex: 1 1 auto !important; height: auto !important; position: static !important; width: 2px !important; min-height: 24px; margin: 0 !important; background: var(--lx-line) !important; background-image: none !important; }
.flowchart-step:last-child .flowchart-line { display: none !important; }
.flowchart-step .flowchart-card { display: grid !important; grid-template-columns: minmax(0, 1fr) 240px; grid-auto-rows: min-content; column-gap: 1.75rem; align-content: start; margin: 0 !important; padding: 0.35rem 0 2.5rem !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; }
.flowchart-step .flowchart-card:not(:has(.flowchart-photo)) { grid-template-columns: minmax(0, 1fr); }
.flowchart-card > * { grid-column: 1; min-width: 0; }
.flowchart-card-header { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.25rem 1rem; margin: 0 0 0.4rem !important; }
.flowchart-day-badge { display: inline-flex !important; align-items: baseline; gap: 0.5rem; }
.flowchart-day-badge i { display: none !important; }
.itin-day-date { color: var(--lx-text); font-weight: 600; }
.itin-day-date:empty { display: none; }
.flowchart-step .flowchart-title { margin: 0 0 0.5rem !important; }
.flowchart-desc { margin: 0 0 0.75rem !important; color: var(--lx-muted) !important; font-size: 1.04rem !important; line-height: 1.6 !important; }
.flowchart-highlights { display: flex !important; flex-wrap: wrap; gap: 0.35rem 1rem; margin: 0 0 0.6rem !important; }
.flowchart-photo { grid-column: 2; grid-row: 1 / span 6; position: relative; align-self: start; margin: 0; overflow: hidden; border-radius: var(--lx-r); background: var(--lx-tint); }
.flowchart-photo img { display: block; width: 100%; height: 168px; object-fit: cover; }
.flowchart-photo figcaption { position: absolute; left: 0.5rem; bottom: 0.5rem; padding: 0.1rem 0.5rem; background: var(--lx-white); border-radius: 4px; color: var(--lx-text); font-size: 0.82rem; font-weight: 600; }
.itin-change { display: inline-flex; align-items: center; gap: 0.4rem; justify-self: start; color: var(--lx-accent); font-size: 0.95rem; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.itin-change i { color: inherit !important; }
@media (max-width: 767px) {
  .itin-tools { padding: 1rem; }
  .itin-actions { align-items: stretch; }
  .itin-date { flex: 1 1 100%; margin: 0; }
  .itin-date input { width: 100%; }
  .itin-btn { flex: 1 1 0; justify-content: center; }
  .itin-days { top: 56px; transition: top 0.25s ease; }
  body:has(header.header-hidden) .itin-days { top: 0; }
  .itinerary-flowchart .flowchart-step { grid-template-columns: 30px minmax(0, 1fr); gap: 0.7rem; scroll-margin-top: 16px; }
  .flowchart-node { width: 30px !important; height: 30px !important; font-size: 0.82rem !important; }
  .flowchart-step .flowchart-card, .flowchart-step .flowchart-card:not(:has(.flowchart-photo)) { grid-template-columns: minmax(0, 1fr); padding-bottom: 2rem !important; }
  .flowchart-card-header, .flowchart-title { order: 0; }
  .flowchart-photo { order: 1; grid-column: 1; grid-row: auto; margin: 0.25rem 0 0.75rem; }
  .flowchart-desc { order: 2; }
  .flowchart-highlights { order: 3; }
  .itin-change { order: 4; }
  .flowchart-photo img { height: 150px; }
}
@media print {
  header, footer, #sidebar, .pkg-jump, .itin-days, .itin-actions, .itin-change, .flowchart-photo, .hero-visual, .hero-quick, .sticky-booking-widget, .phone-bar, .whatsapp-floating-wrap, .floating-whatsapp, #itinerary .section-heading p, .back-to-top-btn, .lead-form-section, .site-faq-section, .dest-custom-banner, .gallery-rail, .related-packages, #jiya-trip-modal, #gallery, section:has(.gallery-rail), .breadcrumb, .dest-breadcrumbs { display: none !important; }
  main { padding: 0 !important; }
  main::after { content: "Jiya Travels, Lal Chowk, Srinagar  |  +91 70062 26176  |  msjiyatravels@gmail.com"; display: block; margin-top: 1rem; padding-top: 0.6rem; border-top: 1px solid #999; font-size: 0.85rem; }
  .package-hero { padding: 0 !important; }
  .package-hero-grid { display: block !important; }
  .package-section { padding: 0.75rem 0 !important; }
  .fade-in, .fade-in * { opacity: 1 !important; transform: none !important; }
  .flowchart-step, .meta-card, .brochure-panel { break-inside: avoid; }
  .flowchart-step .flowchart-card { grid-template-columns: minmax(0, 1fr) !important; padding-bottom: 1rem !important; }
  .flowchart-node { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* Remaining slate tones moved onto the palette */
header .link i { color: inherit !important; }
.site-faq-read-more-btn { color: var(--lx-accent) !important; }
.lead-form-intro, .lead-form-shell > p, .pillars-header p, .dest-section-header p, .story-copy p, .pillar-card p, .matrix-sub, .diff-table td, .mega-intro-lead, .women-owned-text p, .group-pillar-card p, .pillar-checklist li, .blueprint-card p, .dest-overview-text, .dest-hl-info p, .sticky-widget-unit { color: var(--lx-muted) !important; }
.diff-table .jiya-col, .diff-table td:first-child { color: var(--lx-text) !important; }
.lead-form label > span, .pkg-body h3, .dest-hl-info h3, .dest-stat-value, .quote-pill, .gallery-rail-arrow i { color: var(--lx-text) !important; }
.pkg-location i, .dest-hl-icon-wrap i { color: var(--lx-accent) !important; }
.dest-hl-icon-wrap { background: var(--lx-tint) !important; background-image: none !important; }
.gallery-rail-card, .dest-stat-card, .dest-overview-text, .dest-highlight-card, .faq-item { border-color: var(--lx-line) !important; }
.dest-stat-card, .dest-overview-text, .dest-highlight-card { border-radius: var(--lx-r) !important; box-shadow: none !important; }
.faq-chevron { background: var(--lx-tint) !important; }
.faq-chevron i { color: var(--lx-text) !important; }
.hero-showcase-container, .hero-thumb-btn, .gallery-rail-card, .gallery-item, .activity-card-inner, a.dest-card { background-color: var(--lx-tint) !important; }
.important-note { background: var(--lx-tint) !important; border-left-color: var(--lx-accent) !important; color: var(--lx-text) !important; }
.important-note * { color: inherit !important; }
.policy-body > div[style*="background"] { background: var(--lx-tint) !important; }
.whatsapp-float i { color: #fff !important; }

/* Shorter openings */
body .lx-hero { min-height: clamp(460px, 74vh, 680px); min-height: clamp(460px, 74svh, 680px); }
.about-hero { min-height: 0 !important; height: auto !important; padding-block: clamp(3rem, 6vw, 4.5rem) clamp(4.5rem, 8vw, 6rem) !important; }
#hero-main-img { aspect-ratio: 16 / 10; max-height: 420px; }
.contact-form-shell textarea { min-height: 84px !important; height: 84px; }
.contact-form-shell input, .contact-form-shell select { min-height: 44px !important; }
.contact-form-shell { padding-block: 1.5rem !important; }
.contact-form-shell h2 { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.2rem) !important; }
@media (max-width: 860px) {
  body.has-phone-bar .lx-hero, body .lx-hero { min-height: 66svh; }
  #hero-main-img { aspect-ratio: 16 / 9; }
}

/* Package filters: one labelled row per choice */
/* All Tour Packages: photo header and trip finder */
.pk-hero { position: relative; overflow: hidden; padding: 0.9rem 0 3.6rem; background: #2b3540; color: #fff; }
.pk-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.pk-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 16, 22, 0.74), rgba(10, 16, 22, 0.42) 65%, rgba(10, 16, 22, 0.22)), linear-gradient(0deg, rgba(10, 16, 22, 0.3), rgba(10, 16, 22, 0) 45%); }
.pk-hero-inner { position: relative; z-index: 1; display: grid; gap: 0.9rem; }
.pk-crumbs { color: #fff; font-size: 0.95rem; }
.pk-crumbs a { color: #fff; }
.pk-crumbs span { color: #fff; font-weight: 600; }
.pk-hero-row > div { flex: 1 1 auto; min-width: 0; }
.pk-hero-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 0.75rem 2rem; }
.pk-hero h1 { margin: 0 0 0.25rem; color: #fff !important; font-size: clamp(2.1rem, 1.5rem + 2.1vw, 3.1rem) !important; line-height: 1.06; }
.pk-hero p { margin: 0; color: #fff; font-size: 1.1rem; }
.pk-own { display: inline-flex; flex: none; align-items: center; gap: 0.5rem; min-height: 46px; padding: 0 1.1rem; background: #fff; border-radius: 6px; color: var(--lx-text); font-weight: 700; text-decoration: none; white-space: nowrap; }
.pk-own:hover { background: var(--lx-tint); color: var(--lx-text); }
.packages-page #packages, main section.pk-hub.dest-packages-section { margin-top: 0 !important; padding-top: 0 !important; }
main:has(> .pk-hero) > .container, main:has(> .pk-hero) #destination-view { margin-top: 0 !important; padding-top: 0 !important; }
.pk-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pk-hero .pk-hero-fact { margin-top: 0.3rem; font-size: 1rem; font-weight: 700; }
.pk-route { display: flex; flex-wrap: wrap; gap: 0.35rem 0; list-style: none; margin: 0.15rem 0 0; padding: 0; }
.pk-route li { display: flex; flex: 1 1 auto; align-items: center; gap: 0.45rem; color: var(--lx-text); font-family: var(--lx-display); font-size: clamp(1.02rem, 0.95rem + 0.4vw, 1.25rem); font-weight: 700; white-space: nowrap; }
.pk-route li::before { content: ""; flex: none; width: 0.7rem; height: 0.7rem; box-sizing: border-box; background: var(--lx-white); border: 2px solid var(--lx-accent); border-radius: 50%; }
.pk-route li:first-child::before, .pk-route li:last-child::before { background: var(--lx-accent); }
.pk-route li:not(:last-child)::after { content: ""; flex: 1 1 1rem; min-width: 0.9rem; margin: 0 0.55rem 0 0.1rem; border-top: 2px dashed #b9c0c7; }
.pk-route li:last-child { flex: 0 0 auto; }
.pk-seg.pk-seg-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pk-lower.pk-lower-one { grid-template-columns: minmax(0, 30rem) minmax(0, 1fr); }
main .pk-lower-one p.pk-result { justify-content: flex-end; }
.pk-finder { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin: -2.6rem 0 1.5rem; padding: 1rem 1.25rem 1.05rem; scroll-margin-top: calc(var(--header-h, 72px) + 0.75rem); background: var(--lx-white); border-radius: 12px; box-shadow: 0 14px 40px rgba(14, 16, 19, 0.13); }
.pk-label { display: block; margin-bottom: 0.45rem; color: var(--lx-text); font-size: 0.98rem; font-weight: 700; }
.pk-styles { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 0.5rem; }
.pk-style { display: flex; flex-direction: column; min-width: 0; padding: 0; overflow: hidden; background: var(--lx-white); border: 1px solid var(--lx-line); border-radius: 8px; color: var(--lx-text); cursor: pointer; font: inherit; text-align: left; transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.pk-style img { display: block; flex: none; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.pk-style span { display: block; flex: 1; padding: 0.35rem 0.5rem 0.4rem; font-size: 0.92rem; font-weight: 600; line-height: 1.2; }
.pk-style small { color: var(--lx-muted); font-size: 0.82rem; font-weight: 400; white-space: nowrap; }
.pk-style:hover { border-color: var(--lx-text); }
.pk-style[aria-pressed="true"] { border-color: var(--lx-text); box-shadow: inset 0 0 0 2px var(--lx-text); }
.pk-style[aria-pressed="true"] span { background: var(--lx-text); color: #fff; }
.pk-style[aria-pressed="true"] small { color: #d6d9dc; }
.pk-style-all b { display: flex; flex: none; align-items: center; justify-content: center; aspect-ratio: 16 / 10; background: var(--lx-tint); font-family: var(--lx-display); font-size: clamp(1.5rem, 1.1rem + 0.8vw, 2rem); line-height: 1; }
.pk-style.is-empty { opacity: 0.45; }
.pk-lower { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 0.75rem 1.5rem; align-items: end; }
.pk-seg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.2rem; padding: 0.2rem; background: var(--lx-tint); border-radius: 8px; }
.pk-seg button { width: 100%; min-width: 0; min-height: 42px; margin: 0; padding: 0 0.2rem; background: transparent; border: 0; border-radius: 6px; color: var(--lx-text); cursor: pointer; font: inherit; font-size: 0.98rem; font-weight: 600; white-space: nowrap; transition: background 0.15s ease; }
.pk-seg button:hover { background: var(--lx-white); }
.pk-seg button[aria-pressed="true"] { background: var(--lx-text); color: #fff; }
.pk-seg button.is-empty:not([aria-pressed="true"]) { color: #a3a8ae; }
.pk-style:focus-visible, .pk-seg button:focus-visible, .pk-clear:focus-visible { outline: 2px solid var(--lx-accent); outline-offset: 2px; }
main p.pk-result { display: flex; align-items: center; gap: 0.7rem; min-height: 46px; margin: 0; color: var(--lx-text); white-space: nowrap; }
.pk-result b { font-family: var(--lx-display); font-size: 1.3rem; font-weight: 700; }
.pk-clear { padding: 0.3rem 0; background: none; border: 0; color: var(--lx-accent); cursor: pointer; font: inherit; font-weight: 600; text-decoration: underline; }
.pk-bar { position: fixed; z-index: 40; inset: var(--header-h, 72px) 0 auto; background: var(--lx-white); border-top: 1px solid var(--lx-line); border-bottom: 1px solid var(--lx-line); box-shadow: 0 6px 16px rgba(14, 16, 19, 0.08); }
.pk-bar[hidden] { display: none; }
.pk-bar .container { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; min-height: 46px; }
.pk-bar p { min-width: 0; margin: 0; overflow: hidden; color: var(--lx-text); font-size: 0.98rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.pk-bar button { flex: none; min-height: 34px; padding: 0 0.8rem; background: var(--lx-text); border: 0; border-radius: 6px; color: #fff; cursor: pointer; font: inherit; font-size: 0.93rem; font-weight: 600; }
@media (max-width: 1100px) {
  .pk-styles { display: flex; gap: 0.5rem; margin-right: calc(-1.25rem); padding-right: 1.25rem; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
  .pk-styles::-webkit-scrollbar { display: none; }
  .pk-style { flex: 0 0 6.1rem; scroll-snap-align: start; }
  .pk-lower { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  main p.pk-result { grid-column: 1 / -1; justify-content: space-between; min-height: 28px; }
  .pk-lower.pk-lower-one { grid-template-columns: minmax(0, 1fr); }
  main .pk-lower-one p.pk-result { justify-content: space-between; }
}
@media (max-width: 767px) {
  .pk-hero { padding: 0.7rem 0 3rem; }
  .pk-hero-inner { gap: 0.6rem; }
  .pk-hero p:not(.pk-hero-fact) { display: none; }
  .pk-hero .pk-hero-fact { font-size: 0.95rem; }
  .pk-route { gap: 0.3rem 0; }
  .pk-route li:not(:last-child)::after { flex: 0 0 0.9rem; margin: 0 0.3rem 0 0; }
  .pk-route li { flex: 0 0 auto; font-size: 1rem; }
  .pk-own { display: none; }
  .pk-finder { gap: 0.75rem; margin-top: -2.1rem; padding: 0.85rem 0.85rem 0.8rem; }
  .pk-styles { margin-right: -0.85rem; padding-right: 0.85rem; }
  .pk-lower { grid-template-columns: minmax(0, 1fr); gap: 0.65rem; }
  .pk-label { margin-bottom: 0.3rem; font-size: 0.95rem; }
  .pk-seg button { min-height: 40px; font-size: 0.95rem; }
  main p.pk-result { justify-content: space-between; min-height: 28px; }
}
@media (prefers-reduced-motion: reduce) { .pk-style, .pk-seg button { transition: none; } }

/* Family tours: calm layout, one question, less on each card */
.fam-hero { position: relative; overflow: hidden; background: var(--lx-tint); }
.fam-hero img { position: absolute; top: 0; right: 0; width: 50%; height: 100%; object-fit: cover; object-position: center 60%; }
.fam-hero-text { display: flex; flex-direction: column; justify-content: center; min-height: clamp(14.5rem, 11rem + 8vw, 19rem); padding-block: 1rem; box-sizing: border-box; }
.fam-hero-text > * { max-width: min(36rem, 44vw); }
.fam-hero .pk-crumbs, .fam-hero .pk-crumbs a, .fam-hero .pk-crumbs span { color: var(--lx-muted); }
.fam-hero h1 { margin: 0.6rem 0 0.4rem; color: var(--lx-text) !important; font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem) !important; line-height: 1.06; }
main .fam-hero p { max-width: 38ch; margin: 0; font-size: 1.12rem; line-height: 1.45; text-wrap: balance; }
.pk-finder.fam-finder { margin: 1.25rem 0 1.5rem; padding: 0; background: transparent; border-radius: 0; box-shadow: none; }
.pk-lower.fam-lower { grid-template-columns: minmax(0, 28rem) minmax(0, 1fr); }
main .fam-lower p.pk-result { justify-content: flex-end; }
.fam-page .pkg-card .pkg-tags, .fam-page .pkg-card .pkg-stars { display: none !important; }
.fam-page .pkg-card .pkg-desc { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.fam-help { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin: 1.75rem 0 0; padding: 1.25rem 1.5rem; background: var(--lx-tint); border-radius: 12px; }
main .fam-help h2 { margin: 0 0 0.15rem; font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.7rem) !important; }
main .fam-help p { margin: 0; }
.fam-help-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.fam-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 46px; padding: 0 1.1rem; background: var(--lx-white); border: 1px solid var(--lx-text); border-radius: 6px; color: var(--lx-text); font-weight: 700; text-decoration: none; }
.fam-btn:hover { background: var(--lx-tint); color: var(--lx-text); }
.fam-btn-solid { background: var(--lx-cta); color: #fff; }
.fam-btn-solid:hover { background: var(--lx-cta-hover); border-color: var(--lx-cta-hover); color: #fff; }
.fam-btn-solid i { color: #fff !important; }
.fam-why, .fam-places { margin-top: clamp(2.5rem, 5vw, 4rem); }
main .fam-why h2, main .fam-places h2 { margin: 0 0 1.1rem; font-size: clamp(1.7rem, 1.4rem + 1.2vw, 2.4rem) !important; }
main .fam-why-lead { max-width: 62ch; margin: 0 0 1.1rem; font-size: 1.08rem; }
.fam-why ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; list-style: none; margin: 0; padding: 1.1rem 0 0; border-top: 1px solid var(--lx-line); }
.fam-why li b, .fam-places li b { display: block; color: var(--lx-text); font-size: 1.1rem; font-weight: 700; line-height: 1.3; }
.fam-why li span, .fam-places li span { display: block; margin-top: 0.2rem; color: var(--lx-muted); line-height: 1.45; }
.fam-places ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; list-style: none; margin: 0; padding: 0; }
.fam-places a { display: block; color: inherit; text-decoration: none; }
.fam-places img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; margin-bottom: 0.6rem; object-fit: cover; border-radius: 8px; }
.fam-places a:hover b { color: var(--lx-accent); }
.fam-page .lead-form-section { margin-top: clamp(2.5rem, 5vw, 4rem); }
.fam-more { display: block; min-height: 46px; margin: 1rem auto 0; padding: 0 1.2rem; background: var(--lx-white); border: 1px solid var(--lx-text); border-radius: 6px; color: var(--lx-text); cursor: pointer; font: inherit; font-weight: 700; }
.fam-more:hover { background: var(--lx-tint); }
.site-faq-item[hidden] { display: none !important; }
@media (max-width: 1100px) {
  .fam-why ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fam-places ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .pk-lower.fam-lower { grid-template-columns: minmax(0, 1fr); }
  main .fam-finder p.pk-result { position: absolute; top: -0.25rem; right: 0; min-height: 0; margin: 0; }
  .fam-finder .pk-result b { font-size: 1.05rem; }
}
@media (max-width: 767px) {
  .fam-hero img { position: static; display: block; width: 100%; height: 10.5rem; object-position: center 58%; }
  .fam-hero { display: flex; flex-direction: column-reverse; }
  .fam-hero-text { min-height: 0; padding-block: 0.7rem 0.9rem; }
  .fam-hero-text > * { max-width: none; }
  .fam-hero h1 { margin: 0.3rem 0 0; }
  main .fam-hero p { display: none; }
  .pk-lower.fam-lower { grid-template-columns: minmax(0, 1fr); }
  .pk-finder.fam-finder { margin: 1rem 0 1.1rem; }
  .fam-help { padding: 1rem; }
  .fam-help-actions, .fam-btn { width: 100%; }
  .fam-places ul { gap: 1rem 0.75rem; }
  .fam-why ul { gap: 1rem 0.75rem; }
}

/* Hub facts read as text, not buttons */
.dest-stats-grid:not(#dest-stats-grid) { gap: 0.25rem 1.25rem !important; }
.dest-stats-grid:not(#dest-stats-grid) .dest-stat-card { min-height: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; }
.dest-stats-grid:not(#dest-stats-grid) .dest-stat-icon { display: none !important; }
.dest-stats-grid:not(#dest-stats-grid) .dest-stat-value { color: var(--lx-text) !important; font-family: var(--lx-sans) !important; font-size: 1rem !important; font-weight: 600 !important; }

/* Destination pages */
.dest-hero-bg { border-radius: var(--lx-r) !important; box-shadow: none !important; }
.dest-hero-region-badge { padding: 0 !important; background: transparent !important; border: 0 !important; color: var(--lx-muted) !important; font-size: 0.95rem !important; letter-spacing: 0 !important; text-transform: none !important; backdrop-filter: none !important; }
.dest-hero-region-badge * { color: inherit !important; }
.dest-hero-tagline { color: var(--lx-muted) !important; }
.dest-stat-icon { background: var(--lx-tint) !important; background-image: none !important; border-radius: var(--lx-r) !important; color: var(--lx-accent) !important; box-shadow: none !important; }
.dest-stat-icon i { color: var(--lx-accent) !important; }
.dest-stat-label { color: var(--lx-muted) !important; font-size: 0.9rem !important; letter-spacing: 0 !important; text-transform: none !important; }
.featured-pkg-card { background: var(--lx-white) !important; border: 1px solid var(--lx-line) !important; border-radius: var(--lx-r) !important; box-shadow: none !important; transform: none !important; }
.featured-pkg-card:hover { box-shadow: 0 10px 26px rgba(14, 16, 19, 0.08) !important; }
.featured-pkg-badge { background: var(--lx-white) !important; background-image: none !important; border: 0 !important; border-radius: 4px !important; box-shadow: none !important; color: var(--lx-text) !important; font-size: 0.8rem !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
.featured-pkg-badge * { color: inherit !important; }
.featured-pkg-cobrand { display: none !important; }
.featured-pkg-duration { background: var(--lx-tint) !important; border: 0 !important; border-radius: 4px !important; color: var(--lx-text) !important; }
.featured-pkg-title { color: var(--lx-text) !important; }
.featured-pkg-route { color: var(--lx-muted) !important; }
.inc-item, .inc-item * { color: var(--lx-muted) !important; }
.inc-item i { color: var(--lx-accent) !important; }
.featured-pkg-pricing { display: block !important; }
.pricing-badge { display: block !important; margin: 0 0 0.15rem !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; color: var(--lx-muted) !important; font-size: 0.85rem !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; }
.pricing-amount, .pricing-amount * { color: var(--lx-text) !important; font-family: var(--lx-sans) !important; }
.pricing-amount .unit { color: var(--lx-muted) !important; }
.btn-pkg-explore { background: transparent !important; background-image: none !important; border: 1px solid var(--lx-text) !important; border-radius: 6px !important; box-shadow: none !important; color: var(--lx-text) !important; transform: none !important; }
.btn-pkg-book { background: var(--lx-cta) !important; background-image: none !important; border: 1px solid var(--lx-cta) !important; border-radius: 6px !important; box-shadow: none !important; color: #fff !important; transform: none !important; }
.btn-pkg-book * { color: #fff !important; }

.lead-form-shell p.lead-form-intro { color: var(--lx-muted) !important; }
body .lead-form label > span { color: var(--lx-text) !important; }

/* Package photo fills its frame, with thumbnails on the image */
.hero-showcase-container, .hero-main-stage { position: relative !important; height: auto !important; min-height: 0 !important; max-height: none !important; aspect-ratio: auto !important; background: transparent !important; }
.hero-thumb-bar { position: absolute !important; left: 0.75rem !important; right: auto !important; bottom: 0.75rem !important; width: auto !important; margin: 0 !important; padding: 0 !important; z-index: 3; }
.featured-pkg-img-wrap { background-color: var(--lx-tint) !important; }

/* Footer: light ash, under a Himalayan ridge line */
.ft { position: relative; margin: 0 !important; padding: 0 0 1.25rem !important; overflow: visible !important; background: #e9ebee !important; background-image: none !important; border: 0 !important; box-shadow: none !important; color: var(--lx-text); font-size: 1rem; }
.ft::before { content: ""; position: absolute; top: -40px; left: 0; right: 0; height: 41px; opacity: 1; background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 60%22 preserveAspectRatio=%22none%22%3E%3Cpath fill=%22%23e9ebee%22 opacity=%22.55%22 d=%22M0 60V30l120-14 90 18 130-26 100 24 120-18 110 22 130-30 110 26 120-16 110 20 130-24 70 12v26z%22/%3E%3Cpath fill=%22%23e9ebee%22 d=%22M0 60V44l90-14 60 10 90-26 70 20 70-10 90 20 90-16 80 10 90-30 80 24 70-10 90 20 90-16 70 10 90-24 80 22 70-8 70 14v20z%22/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat !important; pointer-events: none; }
.ft a { color: inherit; text-decoration: none; transition: color 0.2s ease; }
.ft a:hover { color: var(--lx-accent); }
.ft-main { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 0.8fr)) minmax(0, 1.2fr); gap: 2rem; padding: 2rem 0 2.25rem; }
.ft-lockup { display: inline-flex; align-items: center; gap: 0.7rem; margin-bottom: 0.6rem; }
.ft-logo { width: 50px !important; height: 50px !important; flex: none; object-fit: contain; filter: brightness(0); }
.ft-name { color: var(--lx-text); font-family: var(--lx-display) !important; font-size: 1.4rem; font-weight: 700; line-height: 1.2; }
.ft-tagline { max-width: 30ch; margin: 0; color: #4f565c !important; line-height: 1.45 !important; }
.ft-social { display: flex; gap: 0.5rem; margin-top: 0.9rem; }
.ft-social a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; background: var(--lx-white); border-radius: 6px; color: var(--lx-text); }
.ft-title { margin: 0 0 0.6rem; color: var(--lx-text) !important; font-size: 1rem; font-weight: 700; line-height: 1.3 !important; }
.ft-list { display: grid; gap: 0.45rem; list-style: none; margin: 0; padding: 0; }
.ft-list li { color: #4f565c; line-height: 1.35 !important; }
.ft-profiles { padding: 1.25rem 0; border-top: 1px solid #d3d7db; }
.footer-profiles-list { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.5rem; list-style: none; margin: 0; padding: 0; }
.footer-profiles-list li { line-height: 1.2 !important; }
.footer-profiles-list a { display: flex; align-items: center; gap: 0.5rem; min-height: 48px; padding: 0 0.7rem; background: var(--lx-white); border-radius: 8px; color: var(--lx-text); font-size: 0.92rem; font-weight: 600; white-space: nowrap; transition: box-shadow 0.2s ease; }
.ft .footer-profiles-list a:hover { box-shadow: 0 4px 14px rgba(14, 16, 19, 0.1); color: var(--lx-text); }
.footer-profiles-list img, .footer-profiles-list i { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 26px !important; height: 26px !important; object-fit: contain; font-size: 20px; }
.ft-g { flex: none; padding: 2px; }
.footer-profiles-list img { border-radius: 4px; }
.footer-profiles-list .fa-location-dot { color: #f97316 !important; }
.ft-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.4rem 1.5rem; padding-top: 1rem; border-top: 1px solid #d3d7db; }
.ft-bottom p { margin: 0; color: #4f565c !important; font-size: 0.92rem !important; line-height: 1.4 !important; }
.ft-legal { display: flex; gap: 1.1rem; }
.ft-legal a { color: #4f565c; font-size: 0.92rem; }
@media (max-width: 1100px) {
  .footer-profiles-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  .ft-main { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 1.25rem; padding-top: 1.5rem; }
  .ft-about, .ft-contact { grid-column: 1 / -1; }
  .ft-tagline { max-width: none; }
}
@media (max-width: 767px) {
  .ft::before { top: -24px; height: 25px; }
  .ft-about { position: relative; }
  .ft-social { position: absolute; top: 6px; right: 0; margin: 0; }
  .ft-main { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 1.25rem 0 1.5rem; }
  .ft-main nav[aria-label="Company"] { grid-column: 1 / -1; }
  .ft-main nav[aria-label="Company"] .ft-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.25rem; }
  .footer-profiles-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-profiles-list li:first-child { grid-column: 1 / -1; }
  .footer-profiles-list a { min-height: 44px; font-size: 0.9rem; }
  .has-sticky-widget .ft { padding-bottom: 76px !important; }
}

/* Layout system: one spacing value, one left edge, no half-empty rows */
:root { --lx-space: clamp(2.25rem, 4vw, 3.5rem); --polish-section: var(--lx-space); --lx-edge: calc((100vw - min(95vw, var(--container, 1440px))) / 2 + 20px); --lx-side: 300px; }
.package-section, .package-section.alt, .lead-form-section, .site-faq-section { padding-block: var(--lx-space) !important; }
.package-section + .package-section, #destinations + #packages { padding-top: 0 !important; }
.package-hero { padding-block: clamp(1.25rem, 2.5vw, 2.25rem) !important; }
.section-heading, .section-heading.text-center, .pillars-header, .matrix-section > :first-child { text-align: left !important; }
.section-heading p, .pillars-header p { margin-left: 0 !important; margin-right: 0 !important; }
#gallery-strip h2 { text-align: left; }
#gallery-strip .container > div:last-child, #gallery-strip [class*="action"], #gallery-strip .text-center { text-align: left !important; justify-content: flex-start !important; }
.packages-hero, .gallery-hero, .policy-hero { text-align: left !important; }
.packages-hero .breadcrumb, .gallery-hero .dest-breadcrumbs { justify-content: flex-start !important; }
.site-faq-container { width: 100% !important; max-width: min(95vw, var(--container, 1440px)) !important; margin-inline: auto !important; padding-inline: 20px !important; box-sizing: border-box; }
.site-faq-header { text-align: left !important; }
.why-us-grid { width: 100% !important; max-width: none !important; }
.why-us-seo-section .container, .why-us-seo-section .section-heading { max-width: min(95vw, var(--container, 1440px)) !important; }

/* Short forms sit in two columns on wider screens */
@media (min-width: 768px) {
  .lead-form { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem 1.25rem !important; }
  .lead-form > * { min-width: 0; margin: 0 !important; }
  .lead-form > label:has(textarea), .lead-form > button, .lead-form > .lead-form-confirmation, .lead-form > p, .lead-form > div:not(:has(input, select)) { grid-column: 1 / -1; }
  .lead-form > input[type="hidden"] { display: none; }
}

/* Package pages: content and booking card share one grid */
@media (min-width: 1024px) {
  .sticky-booking-widget { right: var(--lx-edge) !important; width: var(--lx-side) !important; }
  body.has-sticky-widget .package-section .section-shell, body.has-sticky-widget .related-packages .container, body.has-sticky-widget .site-faq-container, body.has-sticky-widget .lead-form-section .lead-form-shell {
    width: calc(100vw - 2 * var(--lx-edge) - var(--lx-side) - 2.5rem) !important;
    max-width: none !important;
    margin-left: var(--lx-edge) !important;
    margin-right: 0 !important;
    padding-inline: 0 !important;
    box-sizing: border-box;
  }
  body.has-sticky-widget .lead-form-section .lead-form-shell { padding-inline: clamp(1.5rem, 3vw, 2.5rem) !important; }
  body.has-sticky-widget.sticky-widget-minimized .package-section .section-shell, body.has-sticky-widget.sticky-widget-minimized .related-packages .container, body.has-sticky-widget.sticky-widget-minimized .site-faq-container, body.has-sticky-widget.sticky-widget-minimized .lead-form-section .lead-form-shell { width: calc(100vw - 2 * var(--lx-edge)) !important; }

  /* Rows always end full: leftovers widen to fill the row */
  .pkg-grid:not(:has(.hidden)), .dest-packages-grid { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
  .pkg-grid:not(:has(.hidden)) > *, .dest-packages-grid > * { grid-column: span 2; }
  .pkg-grid:not(:has(.hidden)):has(> :last-child:nth-child(3n + 2)) > :nth-last-child(-n + 2), .dest-packages-grid:has(> :last-child:nth-child(3n + 2)) > :nth-last-child(-n + 2) { grid-column: span 3; }
  .pkg-grid:not(:has(.hidden)):has(> :last-child:nth-child(3n + 1)) > :nth-last-child(-n + 4), .dest-packages-grid:has(> :last-child:nth-child(3n + 1)) > :nth-last-child(-n + 4) { grid-column: span 3; }
  .dest-packages-grid:has(> :first-child:last-child) > * { grid-column: 1 / -1; }
  .dest-dir-grid, .gallery-page .gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .gallery-page .gallery-grid:not(:has(.gallery-item[style*="none"])):has(> :last-child:nth-child(4n + 3)) > :last-child { grid-column: span 2; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .pkg-grid:not(:has(.hidden)) > :last-child:nth-child(odd), .dest-packages-grid > :last-child:nth-child(odd), .gallery-page .gallery-grid:not(:has(.gallery-item[style*="none"])) > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .ty-steps-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* Nothing smaller than this anywhere */
.pkg-price-label, .pkg-footer small, .pkg-footer span, .pkg-price-amount small, .pkg-badge, .pkg-location, .gallery-badge, .gallery-caption .tag, .gallery-rail-tag, .strip-subtext, .featured-pkg-duration, .featured-pkg-badge, .featured-pkg-route, .pricing-amount .unit, .btn-pkg-book, .btn-pkg-explore, .flowchart-photo figcaption, .pkg-stars, .pkg-stars span, .gallery-caption p, .story-author, .quote-pill, .quick-quote-label, .ty-detail-label, .ty-time-stamp, .blueprint-step, .trip-banner-trust { font-size: max(13px, 0.85rem) !important; }
/* Same left edge on every page */
.pillars-header, .quote-builder-header { max-width: none !important; }
.pillars-header { margin: 0 0 1.5rem !important; }
.matrix-sub { text-align: left !important; }
.about-body, .about-stats-wrap, .about-hero-content { width: 100% !important; max-width: min(95vw, var(--container, 1440px)) !important; margin-inline: auto !important; padding-inline: 20px !important; box-sizing: border-box; }
.about-hero-content { text-align: left !important; }
.about-eyebrow { justify-content: flex-start; }
.about-hero-lead { margin-inline: 0 !important; }
.about-body > * { max-width: none !important; }
.dest-section-header, #directory-view .dest-section-header { text-align: left !important; }
.dest-section-header p { margin-inline: 0 !important; }
.policy-hero { padding-inline: max(20px, calc((100vw - 840px) / 2)) !important; }
.policy-body { box-sizing: border-box; }
@media (min-width: 1024px) {
  body.has-sticky-widget .package-section .section-shell, body.has-sticky-widget .related-packages .container, body.has-sticky-widget .site-faq-container, body.has-sticky-widget .lead-form-section .lead-form-shell { transition: none !important; }
  .brochure-panel:nth-child(3) .detail-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Comfortable tap targets on phones */
@media (max-width: 767px) {
  .itin-change, .lx-more, .ty-home-link, .quote-pill { display: inline-flex; align-items: center; min-height: 40px; }
  .ft-list { gap: 0; }
  .ft-list a, .ft-legal a { display: inline-flex; align-items: center; min-height: 34px; }
  .pkg-heart { width: 38px !important; height: 38px !important; }
  .activities-dots, [class*="activities-dot"] { display: none !important; }
}

/* Panels and page sections follow the same rhythm */
.pillars-section, .matrix-section, .promise-cta-card, .gallery-section, .blueprint-section, .quote-builder-section, .video-spotlight-section, .about-story-grid, .group-stats-strip, .women-owned-banner { margin-block: 0 var(--lx-space) !important; }
.gallery-section, .blueprint-section, .pillars-section, .video-spotlight-section { padding-block: 0 !important; }
.blueprint-section { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.blueprint-section > *, .about-body { padding-inline: 0 !important; }
.about-body { padding-top: var(--lx-space) !important; padding-bottom: 0 !important; }
.about-body { padding-inline: 20px !important; }
.about-stats-wrap { margin-bottom: 0 !important; }
#directory-view { padding-bottom: 0 !important; }
.dest-narrative-section, .dest-packages-section { margin-top: var(--lx-space) !important; }
.pkg-card .pkg-badge, #directory-grid span, .about-body span:not(.stat-num) { font-size: max(0.84rem, 13.5px) !important; }
.flowchart-node { font-size: 13px !important; }
@media (max-width: 767px) {
  .about-body { padding-inline: 16px !important; }
  .breadcrumb a, .dest-breadcrumbs a { display: inline-flex; align-items: center; min-height: 36px; }
  .diff-table, .diff-table tbody, .diff-table tr, .diff-table td { display: block; width: 100%; min-width: 0; box-sizing: border-box; }
  .diff-table thead { display: none; }
  .diff-table tr { padding: 0.8rem 0; border-bottom: 1px solid var(--lx-line); }
  .diff-table tr:last-child { border-bottom: 0; }
  .diff-table td { padding: 0.1rem 0 !important; border: 0 !important; }
  .diff-table td.feature-title { margin-bottom: 0.25rem; font-weight: 700; }
  .diff-table td.jiya-col::before { content: "Jiya Travels: "; color: var(--lx-accent); font-weight: 700; }
  .diff-table td:last-child::before { content: "Online portals: "; font-weight: 600; }
}
.blueprint-section { padding: 0 !important; max-width: none !important; width: 100% !important; }
.blueprint-section .pillars-header { padding: 0 !important; }
.dest-highlights-grid { margin-bottom: var(--lx-space) !important; }
@media (max-width: 767px) {
  .about-hero-content, .about-stats-wrap { padding-inline: 16px !important; }
  .women-owned-banner { flex-direction: column; align-items: flex-start !important; text-align: left !important; }
  .women-owned-text, .women-owned-text * { text-align: left !important; }
  .women-owned-icon { margin-inline: 0 !important; }
}
.ty-detail-box span, .contact-form-shell label span { font-size: max(0.84rem, 13.5px) !important; }
@media (max-width: 767px) {
  .site-faq-container, .why-us-seo-section .container, .why-us-seo-section .section-heading, .about-body, .about-hero-content, .about-stats-wrap { max-width: 100% !important; padding-inline: 16px !important; }
  .why-us-seo-section .section-heading { padding-inline: 0 !important; }
  .about-body > *, .why-us-grid { margin-inline: 0 !important; padding-inline: 0 !important; }
  .matrix-section, .promise-cta-card { padding-inline: 16px !important; }
}

/* Transport-only enquiry: an enclosed trip builder with a live ticket */
.lx-cab { background: var(--lx-tint) !important; }
.lx-cab-card { display: grid; grid-template-columns: 32% minmax(0, 1fr); grid-template-rows: auto 1fr; grid-template-areas: "intro build" "ticket build"; overflow: hidden; background: linear-gradient(90deg, var(--lx-accent) 32%, var(--lx-white) 32%); border-radius: 12px; box-shadow: 0 14px 40px rgba(14, 16, 19, 0.08); }
.lx-cab-intro { grid-area: intro; padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.25rem, 2.5vw, 2.25rem) 1rem; }
main section .lx-cab-intro h2 { margin: 0 0 0.6rem; color: #fff !important; font-size: clamp(1.9rem, 1.5rem + 1.3vw, 2.6rem) !important; }
.lx-cab-intro p { margin: 0; color: rgba(255, 255, 255, 0.88) !important; font-size: 1.05rem; line-height: 1.5 !important; }
.lx-cab-builder { grid-area: build; display: grid; align-content: start; gap: 1.35rem; padding: clamp(1.5rem, 3vw, 2.25rem); }
.lx-cab-builder fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.lx-cab-builder legend, .lx-cab-label { display: block; margin: 0 0 0.55rem; padding: 0; color: var(--lx-text); font-size: 1rem; font-weight: 700; }
.lx-places { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.6rem; }
.lx-place { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 0; overflow: hidden; background: var(--lx-white); border: 1px solid var(--lx-line); border-radius: 8px; color: var(--lx-text); cursor: pointer; font-size: 0.92rem; font-weight: 600; transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.lx-place img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; }
.lx-place span { display: block; padding: 0.4rem 0.25rem; line-height: 1.2; text-align: center; overflow-wrap: anywhere; }
.lx-place:hover { border-color: var(--lx-text); }
.lx-place[aria-pressed="true"] { border-color: var(--lx-text); box-shadow: inset 0 0 0 1px var(--lx-text); }
.lx-place[aria-pressed="true"]::after { content: "\2713"; position: absolute; top: 6px; right: 6px; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; background: var(--lx-text); border-radius: 50%; color: #fff; font-size: 0.85rem; font-weight: 700; }
.lx-place-other { border-style: dashed; border-color: #aab0b6; background: var(--lx-tint); }
.lx-place-other i { display: flex; flex: 1; align-items: center; justify-content: center; min-height: 3.2rem; color: var(--lx-accent); font-size: 1.25rem; }
.lx-cab-other { display: block; width: 100%; min-height: 46px; margin-top: 0.6rem; padding: 0 0.85rem; background: var(--lx-white); border: 1px solid #c4c8cc; border-radius: 6px; box-sizing: border-box; color: var(--lx-text); font-size: 1rem; }
.lx-cab-other[hidden], .lx-cab-error[hidden] { display: none; }
.lx-cab-error { margin: 0.5rem 0 0; color: var(--lx-accent) !important; font-size: 0.95rem; font-weight: 700; }
.lx-vehs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; }
.lx-veh { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 0.65rem; align-items: center; min-width: 0; padding: 0.65rem 0.75rem; background: var(--lx-white); border: 1px solid var(--lx-line); border-radius: 8px; color: var(--lx-text); cursor: pointer; text-align: left; transition: border-color 0.15s ease; }
.lx-veh i { grid-row: 1 / span 2; color: var(--lx-accent); font-size: 1.25rem; }
.lx-veh b { font-size: 0.98rem; font-weight: 700; line-height: 1.2; }
.lx-veh small { color: var(--lx-muted); font-size: 0.86rem; line-height: 1.25; }
.lx-veh:hover { border-color: var(--lx-text); }
.lx-veh[aria-pressed="true"] { background: var(--lx-text); border-color: var(--lx-text); color: #fff; }
.lx-veh[aria-pressed="true"] i, .lx-veh[aria-pressed="true"] small { color: #fff; }
.lx-cab-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr); gap: 0.9rem; align-items: start; }
.lx-cab-field { display: block; min-width: 0; }
.lx-seg { display: grid; grid-template-columns: 1fr 1fr; min-height: 46px; padding: 3px; background: var(--lx-tint); border-radius: 8px; }
.lx-seg button { padding: 0 0.3rem; background: transparent; border: 0; border-radius: 6px; color: var(--lx-muted); cursor: pointer; font-size: 0.94rem; font-weight: 600; white-space: nowrap; }
.lx-seg button[aria-pressed="true"] { background: var(--lx-text); color: #fff; }
.lx-step { display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; align-items: center; min-height: 46px; border: 1px solid #c4c8cc; border-radius: 8px; overflow: hidden; }
.lx-step button { height: 100%; min-height: 44px; background: var(--lx-white); border: 0; color: var(--lx-text); cursor: pointer; font-size: 1.25rem; font-weight: 600; }
.lx-step button:hover:not(:disabled) { background: var(--lx-tint); }
.lx-step button:disabled { color: #b4b9be; cursor: default; }
.lx-step output { color: var(--lx-text); font-size: 1.05rem; font-weight: 700; text-align: center; }
.lx-cab-date input { width: 100%; min-height: 46px; padding: 0 0.6rem; background: var(--lx-white); border: 1px solid #c4c8cc; border-radius: 8px; box-sizing: border-box; color: var(--lx-text); font-size: 0.96rem; }
.lx-ticket { grid-area: ticket; align-self: end; margin: 0 clamp(1.25rem, 2.5vw, 2.25rem) clamp(1.25rem, 2.5vw, 2.25rem); padding-top: 1.1rem; border-top: 1px dashed rgba(255, 255, 255, 0.45); color: #fff; }
.lx-ticket-title { margin: 0 0 0.6rem; color: #fff !important; font-size: 1rem; font-weight: 700; }
.lx-ticket dl { margin: 0 0 1rem; }
.lx-ticket dl > div { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 0.5rem; padding: 0.22rem 0; }
.lx-ticket dt { color: rgba(255, 255, 255, 0.72); font-size: 0.94rem; font-weight: 400; }
.lx-ticket dd { margin: 0; color: #fff; font-size: 0.97rem; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.lx-ticket-send { display: flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; min-height: 50px; background: #fff; border: 0; border-radius: 6px; color: var(--lx-text); cursor: pointer; font-size: 1.02rem; font-weight: 700; transition: background 0.2s ease; }
.lx-ticket-send:hover { background: var(--lx-tint); }
.lx-cab-card button:focus-visible, .lx-cab-card input:focus-visible { outline: 2px solid var(--lx-accent); outline-offset: 2px; }
.lx-ticket-send:focus-visible { outline-color: #fff !important; }
@media (max-width: 1100px) {
  .lx-vehs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lx-cab-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .lx-cab-card { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-template-areas: "intro" "build" "ticket"; background: var(--lx-white); }
  .lx-cab-intro { padding-bottom: 1.25rem; background: var(--lx-accent); }
  .lx-ticket { margin: 0; padding: 1.25rem; background: var(--lx-accent); border-top: 0; }
}
@media (max-width: 767px) {
  .lx-cab .container { padding-inline: 16px; }
  .lx-cab-builder { padding: 1.25rem 1rem; }
  .lx-places { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lx-cab-intro { padding: 1.25rem 1rem; }
  .lx-ticket { padding: 1.25rem 1rem; }
  .lx-cab-ac, .lx-cab-date { grid-column: 1 / -1; }
}

/* 138-guest section: the number carries the photo */
.lx-138-head { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 1rem clamp(2rem, 5vw, 4.5rem); align-items: end; margin-bottom: clamp(1.25rem, 2.5vw, 2rem); }
main section .lx-138 h2, main section#group-milestone-showcase h2 { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0 clamp(0.75rem, 1.6vw, 1.5rem); margin: 0; font-size: clamp(1.7rem, 1.2rem + 1.9vw, 3rem) !important; line-height: 1.1 !important; }
.lx-138-num { display: inline-block; color: var(--lx-text); font-family: var(--lx-display) !important; font-size: clamp(7rem, 4rem + 13vw, 19rem); font-weight: 900; font-variant-numeric: lining-nums tabular-nums; letter-spacing: -0.04em; line-height: 0.82; padding-bottom: 0.04em; background: linear-gradient(rgba(22, 24, 27, 0.22), rgba(22, 24, 27, 0.22)), url("../images/group-138/group-panorama-mountains.webp") 42% 65% / auto 330% no-repeat; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.lx-138-words { flex: 1 1 260px; max-width: 8.5em; padding-bottom: 0.3em; font-family: var(--lx-display) !important; font-weight: 700; }
.lx-138-side p { margin: 0 0 0.75rem; font-size: 1.08rem; }
.lx-138-route { display: flex; flex-wrap: wrap; gap: 0.25rem 0; list-style: none; margin: 0 0 1.1rem; padding: 0; color: var(--lx-text); font-weight: 700; }
.lx-138-route li:not(:last-child)::after { content: "\2192"; margin: 0 0.6rem; color: var(--lx-accent); font-weight: 400; }
.lx-138-reel { display: grid; grid-template-columns: minmax(0, 2.45fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.lx-138-reel figure { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: var(--lx-r); background: var(--lx-tint); }
.lx-138-video { grid-row: 1 / span 2; aspect-ratio: 16 / 9; }
.lx-138-reel figure:not(.lx-138-video) img { position: absolute; inset: 0; }
.lx-138-reel video, .lx-138-reel img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; }
.lx-138-reel figcaption { position: absolute; left: 0.6rem; bottom: 0.6rem; padding: 0.15rem 0.55rem; background: var(--lx-white); border-radius: 4px; color: var(--lx-text); font-size: max(0.84rem, 13.5px); font-weight: 600; }
#milestone-toggle { position: absolute; right: 0.75rem; bottom: 0.75rem; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: rgba(255, 255, 255, 0.92); border: 0; border-radius: 50%; color: var(--lx-text); cursor: pointer; }
#milestone-toggle[hidden] { display: none; }
#milestone-toggle i { color: inherit; }
@media (max-width: 860px) {
  .lx-138-head { grid-template-columns: minmax(0, 1fr); }
  .lx-138-num { font-size: clamp(8rem, 54vw, 17rem); }
  .lx-138-words { flex-basis: 100%; max-width: none; padding-top: 0.5rem; padding-bottom: 0; }
  .lx-138-reel { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
  .lx-138-video { grid-column: 1 / -1; grid-row: auto; }
  .lx-138-reel figure:not(.lx-138-video) { aspect-ratio: 4 / 3; }
  .lx-138-side .lx-btn { width: 100%; box-sizing: border-box; }
}
@media print { .lx-138-num { -webkit-text-fill-color: currentColor; background: none; } }

/* Place pages, guides and service pages */
.lx-page-hero { padding-block: clamp(1.25rem, 2.5vw, 2.25rem); }
.lx-page-hero-plain { background: var(--lx-tint); }
.lx-page-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.lx-crumbs { margin-bottom: 0.75rem; color: var(--lx-muted); font-size: 0.95rem; }
.lx-crumbs a { color: var(--lx-text); text-decoration: none; }
.lx-crumbs a:hover { color: var(--lx-accent); }
main .lx-page-hero h1 { margin: 0 0 0.7rem; color: var(--lx-text); font-size: clamp(2.2rem, 1.6rem + 2.2vw, 3.6rem) !important; line-height: 1.1 !important; }
.lx-page-lead { max-width: 52ch; margin: 0 0 1.25rem; color: var(--lx-muted); font-size: clamp(1.08rem, 1rem + 0.3vw, 1.25rem); line-height: 1.5 !important; }
.lx-byline { margin: 0; color: var(--lx-muted); font-size: 0.95rem; }
.lx-page-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.lx-btn-outline { background: transparent !important; border: 1px solid var(--lx-text) !important; color: var(--lx-text) !important; }
.lx-page-img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--lx-r); }
.lx-section-tight { padding-block: clamp(1.75rem, 3vw, 2.5rem) !important; }
.lx-section-tint { background: var(--lx-tint); }
.lx-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem 1.5rem; margin: 0 0 1.5rem; padding: 1rem 1.25rem; background: var(--lx-tint); border-radius: var(--lx-r); }
.lx-facts dt { color: var(--lx-muted); font-size: 0.92rem; }
.lx-facts dd { margin: 0.1rem 0 0; color: var(--lx-text); font-weight: 600; line-height: 1.35; }
.lx-article { max-width: 820px; }
.lx-article.container { width: 100%; max-width: min(95vw, var(--container, 1440px)); margin-inline: auto; }
.lx-article > p, .lx-article > ul, .lx-article-note, .lx-article .lx-qa, .lx-article .lx-table, .lx-article > h2, .lx-article > h3 { max-width: 820px; }
.lx-article h2 { margin: 2rem 0 0.75rem; }
.lx-article > h2:first-child { margin-top: 0; }
.lx-article h3 { margin: 1.25rem 0 0.35rem; font-size: 1.25rem !important; }
.lx-article p, .lx-article li { font-size: 1.06rem; line-height: 1.6 !important; }
.lx-article a, .lx-article-note a { color: var(--lx-accent); text-decoration: underline; text-underline-offset: 3px; }
.lx-article-note { margin: 1rem 0 0; color: var(--lx-muted); }
.lx-todo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem 2rem; list-style: none; margin: 1rem 0 0; padding: 0; }
.lx-todo h3 { margin: 0 0 0.25rem; font-size: 1.2rem !important; line-height: 1.25 !important; }
.lx-todo p { margin: 0; line-height: 1.5 !important; }
.lx-journeys-fit { grid-template-columns: repeat(auto-fit, minmax(240px, 360px)); }
.lx-qa { padding: 0.9rem 0; border-bottom: 1px solid var(--lx-line); }
.lx-qa summary { color: var(--lx-text); cursor: pointer; font-size: 1.08rem; font-weight: 600; }
.lx-qa p { margin: 0.5rem 0 0; }
.lx-near-title { margin-top: 2rem !important; }
.lx-near { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }
.lx-near a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 0.9rem; border: 1px solid var(--lx-line); border-radius: 6px; color: var(--lx-text); font-weight: 600; text-decoration: none; }
.lx-near a:hover { border-color: var(--lx-text); }
.lx-places-grid .lx-tile { aspect-ratio: 3 / 3.4; }
.lx-table { margin: 1rem 0; overflow-x: auto; }
.lx-table table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.lx-table th, .lx-table td { padding: 0.65rem 0.75rem; border-bottom: 1px solid var(--lx-line); color: var(--lx-text); text-align: left; vertical-align: top; }
.lx-table thead th { border-bottom: 2px solid var(--lx-text); }
.lx-table td:nth-child(2) { white-space: nowrap; }
.lx-list { margin: 0.5rem 0 0; padding-left: 1.1rem; }
.lx-list li { margin-bottom: 0.4rem; }
.lx-article-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1.5rem; max-width: 820px; margin-top: 2rem; padding: 1.25rem; background: var(--lx-tint); border-radius: var(--lx-r); }
.lx-article-cta p { margin: 0; font-weight: 600; }
.lx-routes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; list-style: none; margin: 1rem 0 0; padding: 0; }
.lx-routes li { display: flex; flex-direction: column; gap: 0.2rem; padding: 0.9rem 1rem; border: 1px solid var(--lx-line); border-radius: var(--lx-r); }
.lx-routes span { color: var(--lx-muted); font-size: 0.95rem; }
.lx-cab-more { display: inline-block; margin-top: 0.6rem; color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1023px) {
  .lx-todo, .lx-routes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lx-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .lx-page-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .lx-page-hero-grid > img { order: -1; }
  .lx-todo, .lx-routes { grid-template-columns: minmax(0, 1fr); }
  .lx-page-actions .lx-btn { flex: 1 1 0; padding-inline: 0.5rem; white-space: nowrap; }
  .lx-article-cta .lx-btn { width: 100%; box-sizing: border-box; }
}
.lx-article p { margin: 0 0 0.75rem; }
.lx-section-tint h2, .lx-section-tight > .container > h2 { margin-bottom: 1.25rem; }
@media (max-width: 767px) { .lx-article.container { max-width: 100%; } }
#browse .lx-head { align-items: flex-end; }

/* Homepage: invitation to the itinerary builder */
.lx-build-card { padding: 1.35rem; background: var(--lx-white); border-radius: 12px; box-shadow: 0 18px 44px rgba(14, 16, 19, 0.18); }
.lx-build-ask > span { display: block; margin-bottom: 0.55rem; color: var(--lx-text); font-weight: 700; }
.lx-build-days { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.25rem; padding: 0.25rem; background: var(--lx-tint); border-radius: var(--lx-r); }
.lx-build-days button { min-height: 44px; padding: 0 0.25rem; background: transparent; border: 0; border-radius: 6px; color: var(--lx-text); cursor: pointer; font: inherit; font-weight: 600; transition: background 0.15s ease, color 0.15s ease; }
.lx-build-days button[aria-pressed="true"] { background: var(--lx-cta); color: #fff; }
.lx-build-days button:focus-visible { outline: 2px solid var(--lx-accent); outline-offset: 2px; }
.lx-build-route { list-style: none; margin: 1.1rem 0 1.15rem; padding: 0; }
.lx-build-route li { position: relative; display: grid; grid-template-columns: 3.3rem minmax(0, 1fr); column-gap: 0.25rem; padding: 0 0 0.8rem 1.55rem; }
.lx-build-route li:last-child { padding-bottom: 0; }
.lx-build-route li::before { content: ""; position: absolute; z-index: 1; top: 0.38rem; left: 0; width: 0.75rem; height: 0.75rem; box-sizing: border-box; background: var(--lx-white); border: 2px solid var(--lx-accent); border-radius: 50%; }
.lx-build-route li:first-child::before, .lx-build-route li:last-child::before { background: var(--lx-accent); }
.lx-build-route li:not(:last-child)::after { content: ""; position: absolute; top: 1.13rem; bottom: -0.38rem; left: 0.325rem; border-left: 2px dashed #b9c0c7; }
.lx-build-route span { grid-row: span 2; padding-top: 0.08rem; color: var(--lx-muted); font-size: 0.92rem; font-weight: 600; }
.lx-build-route b { color: var(--lx-text); font-size: 1.05rem; line-height: 1.3; }
.lx-build-route small { color: var(--lx-muted); font-size: 0.92rem; line-height: 1.3; }
.lx-build-route.is-new li { animation: lx-route-in 0.3s ease both; animation-delay: calc(var(--i) * 45ms); }
@keyframes lx-route-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.lx-build-card .lx-btn { display: flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; box-sizing: border-box; }
.lx-build-note { margin: 0.7rem 0 0; color: var(--lx-muted); font-size: 0.92rem; line-height: 1.4; text-align: center; text-wrap: balance; }
@media (max-width: 860px) {
  .lx-build-card { padding: 1.15rem; }
}
@media (prefers-reduced-motion: reduce) { .lx-build-route.is-new li { animation: none; } .lx-build-days button { transition: none; } }

/* Site menu: same on every page */
.jt-nav { display: flex !important; align-items: center; gap: 1rem; }
.jt-links { display: flex; align-items: center; gap: 0.15rem; margin-left: 0.75rem; }
.jt-item { position: relative; }
.jt-top { display: inline-flex; align-items: center; gap: 0.35rem; min-height: 44px; padding: 0 0.7rem; background: none; border: 0; border-radius: 6px; color: var(--lx-text); cursor: pointer; font: inherit; font-size: 0.98rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.jt-top i { font-size: 0.68rem; transition: transform 0.15s ease; }
.jt-top:hover, .jt-item:hover > .jt-top, .jt-item.is-open > .jt-top { background: var(--lx-tint); color: var(--lx-text); }
.jt-top[aria-current="page"] { color: var(--lx-accent); }
.jt-item:hover > .jt-top i, .jt-item.is-open > .jt-top i { transform: rotate(180deg); }
.jt-panel { position: absolute; z-index: 5; top: 100%; left: 0; display: grid; gap: 1.5rem; padding: 1.1rem 1.25rem 1.2rem; visibility: hidden; opacity: 0; background: var(--lx-white); border-radius: 12px; box-shadow: 0 18px 44px rgba(14, 16, 19, 0.18); transform: translateY(4px); transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s; }
.jt-item::after { content: ""; position: absolute; inset: 100% 0 auto; height: 10px; }
.jt-item:hover > .jt-panel, .jt-item.is-open > .jt-panel, .jt-item:focus-within > .jt-panel { visibility: visible; opacity: 1; transform: translateY(0); }
.jt-item.is-closed > .jt-panel { visibility: hidden; opacity: 0; }
.jt-panel-packages { grid-template-columns: 10rem 16rem 13rem; width: max-content; }
.jt-panel-places { grid-template-columns: 19rem 12rem; width: max-content; }
.jt-col { display: flex; flex-direction: column; align-items: flex-start; }
.jt-col-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; column-gap: 0.75rem; }
.jt-col-two .jt-head { grid-column: 1 / -1; }
header p.jt-head, .jt-drawer p.jt-head { margin: 0 0 0.3rem; color: var(--lx-muted) !important; font-size: 0.86rem; font-weight: 600; }
header p.jt-head.jt-head-next { margin-top: 0.8rem; }
.jt-panel .jt-col a { display: block; padding: 0.3rem 0; color: var(--lx-text); font-size: 1rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.jt-panel .jt-col a:hover { color: var(--lx-accent); }
.jt-panel .jt-col a.jt-all, .jt-all { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: 0.6rem; color: var(--lx-accent); font-weight: 700; text-decoration: none; }
.jt-all i { font-size: 0.8rem; }
.jt-feature { display: block; color: inherit; text-decoration: none; }
.jt-feature img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; margin-bottom: 0.5rem; object-fit: cover; border-radius: 8px; }
.jt-feature b { display: block; color: var(--lx-text); font-size: 1.02rem; font-weight: 700; }
.jt-feature span { display: block; margin-top: 0.1rem; color: var(--lx-muted); font-size: 0.92rem; line-height: 1.35; }
.jt-feature:hover b { color: var(--lx-accent); }
.jt-actions { display: flex; flex: none; align-items: center; gap: 0.6rem; margin-left: auto; }
.jt-team { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 40px; padding: 0 0.4rem; color: var(--lx-muted); font-size: 0.93rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.jt-team i { font-size: 0.78rem; }
.jt-team:hover { color: var(--lx-text); }
.jt-wa { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; min-height: 40px; padding: 0 0.9rem; background: var(--lx-cta); border-radius: 6px; color: #fff; font-size: 0.95rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.jt-wa:hover { background: var(--lx-cta-hover); color: #fff; }
.jt-wa i { color: #fff !important; }
.jt-burger { display: none; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 0; background: none; border: 0; cursor: pointer; }
.jt-burger span { display: block; width: 22px; height: 2px; background: var(--lx-text); border-radius: 2px; transition: transform 0.15s ease, opacity 0.15s ease; }
.jt-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.jt-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.jt-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.jt-top:focus-visible, .jt-burger:focus-visible, .jt-panel a:focus-visible, .jt-team:focus-visible, .jt-wa:focus-visible, .jt-drawer a:focus-visible, .jt-drawer summary:focus-visible { outline: 2px solid var(--lx-accent); outline-offset: 2px; }
body.lx-top .jt-top, body.lx-top .jt-item > .jt-top { color: #fff; }
body.lx-top .jt-top:hover, body.lx-top .jt-item:hover > .jt-top, body.lx-top .jt-item.is-open > .jt-top { background: rgba(255, 255, 255, 0.16); color: #fff; }
body.lx-top header .jt-team { color: #fff; }
body.lx-top .jt-actions .jt-wa { background: #fff; color: var(--lx-text); }
body.lx-top .jt-actions .jt-wa i { color: var(--lx-text) !important; }
body.lx-top .jt-burger span { background: #fff; }
.jt-drawer { position: fixed; z-index: 1190; inset: var(--header-h, 72px) 0 0; display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; background: var(--lx-white); }
.jt-drawer[hidden] { display: none; }
.jt-drawer-list { flex: 1 0 auto; padding: 0.25rem 16px 1rem; }
.jt-drawer details, .jt-row { border-bottom: 1px solid var(--lx-line); }
.jt-drawer summary, .jt-row { display: flex; align-items: center; justify-content: space-between; min-height: 54px; color: var(--lx-text); cursor: pointer; font-family: var(--lx-display) !important; font-size: 1.3rem; font-weight: 700; list-style: none; text-decoration: none; }
.jt-drawer summary::-webkit-details-marker { display: none; }
.jt-drawer summary::after { content: ""; width: 9px; height: 9px; margin-right: 4px; border-right: 2px solid var(--lx-text); border-bottom: 2px solid var(--lx-text); transform: rotate(45deg); transition: transform 0.15s ease; }
.jt-drawer details[open] summary::after { transform: rotate(-135deg); }
.jt-sub { padding: 0 0 1rem; }
.jt-sub .jt-head { margin-top: 0.5rem; }
.jt-sub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 0.75rem; }
.jt-sub-grid a { display: flex; align-items: center; min-height: 44px; color: var(--lx-text); font-size: 1.02rem; font-weight: 600; text-decoration: none; }
.jt-drawer-foot { position: sticky; bottom: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; padding: 0.75rem 16px calc(0.75rem + env(safe-area-inset-bottom)); background: var(--lx-white); border-top: 1px solid var(--lx-line); }
.jt-drawer-foot .jt-wa, .jt-call { min-height: 46px; }
.jt-call { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; border: 1px solid var(--lx-text); border-radius: 6px; color: var(--lx-text); font-size: 0.95rem; font-weight: 700; text-decoration: none; }
.jt-drawer-foot .jt-team { grid-column: 1 / -1; justify-content: center; }
body.jt-menu-open { overflow: hidden; }
@media (max-width: 1240px) {
  .jt-links, .jt-actions > .jt-team, .jt-actions > .jt-wa { display: none; }
  .jt-burger { display: flex; }
}
@media (min-width: 1241px) { .jt-drawer { display: none !important; } }
/* desktop: logo and buttons take equal sides so the links sit in the true middle */
@media (min-width: 1241px) {
  .jt-nav > .brand { flex: 1 1 0; min-width: max-content; }
  .jt-links { flex: none; margin-left: 0; }
  .jt-actions { flex: 1 1 0; justify-content: flex-end; min-width: max-content; margin-left: 0; }
}
@media (max-width: 1240px) and (min-width: 768px) { .jt-drawer-list, .jt-drawer-foot { padding-inline: 2.5rem; } }
@media (prefers-reduced-motion: reduce) { .jt-panel, .jt-top i, .jt-burger span { transition: none; } }
@media print { .jt-drawer { display: none !important; } }

/* Accessibility and usability pass (ui-ux-pro-max review) */
/* 1. Every control shows where keyboard focus is */
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--lx-accent) !important; outline-offset: 2px !important; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--lx-accent) !important; outline-offset: 1px !important; border-color: var(--lx-accent) !important; }
/* 2. Skip straight to the page content */
.jt-skip { position: absolute; z-index: 2000; top: -200px; left: 12px; padding: 0.7rem 1rem; background: var(--lx-cta); border-radius: 6px; color: #fff !important; font-weight: 700; text-decoration: none; }
.jt-skip:focus, .jt-skip:focus-visible { top: 8px; outline: 2px solid #fff !important; outline-offset: 2px !important; }
main:focus { outline: none; }
/* 3. Nothing smaller than about 13px */
.gallery-rail-tag, .pkg-stars span, .quick-quote-label, .quote-pill, .gallery-badge, .gallery-caption .tag, .strip-subtext, .ty-detail-label { font-size: max(13px, 0.8rem) !important; }
.pkg-price-label, .sticky-widget-total, .sticky-widget-unit, .pkg-price-amount small { font-size: 0.85rem !important; }
.site-faq-footer-text, .gallery-caption p { font-size: 0.95rem !important; }
@media (max-width: 767px) {
  .site-faq-answer p, .lead-form-intro, .section-heading p, .flowchart-desc, .meta-card p, .pkg-desc, .dest-custom-content p, .dest-hl-info p, .lx-qa p, .lx-article p, .lx-article-note, .policy-body p, .pillars-header p, .tp-hint, .lx-cab-intro p, .lx-page-lead, .pk-hero-fact, .lx-ticket-title, .lx-article-note, .pkg-price-amount.pkg-price-request, main .container > p:not([class]) { font-size: 16px !important; }
}
/* 4. Comfortable tap targets: 24px everywhere, 44px on phones */
.activities-dot { position: relative; }
.activities-dot::before { content: ""; position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; transform: translate(-50%, -50%); }
.sticky-widget-toggle { min-width: 44px !important; min-height: 44px !important; }
.lx-crumbs a, .pk-crumbs a, .dest-breadcrumbs a, .breadcrumb a { display: inline-flex; align-items: center; min-height: 28px; }
.ty-home-link, a.lx-cab-more, a.lx-more { display: inline-flex !important; align-items: center; min-height: 44px; }
.ft-list a, .ft-contact a, .ft-legal a { display: inline-flex !important; align-items: center; min-height: 24px; }
@media (max-width: 767px) {
  header .brand > a, a.brand-center-title { display: inline-flex !important; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }
  .lx-crumbs a, .pk-crumbs a, .dest-breadcrumbs a, .breadcrumb a { min-height: 36px; }
  .ft-social a { width: 44px !important; height: 44px !important; }
  .ft-list a, .ft-contact a, .ft-legal a { min-height: 44px; }
  .site-faq-read-more-btn, .quote-pill, .filter-pill, .itin-change { min-height: 44px !important; }
  .hero-thumb-btn, .pkg-heart, .ts-arrow { width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; }
  .itin-date input, .itin-btn, .pkg-book-btn, .pk-seg button, .lx-seg button, .ty-home-link { min-height: 44px !important; }
  .lx-step button { min-width: 44px !important; }
  .sticky-widget-btn.btn-call { min-width: 44px !important; }
  .lx-qa summary { display: flex; align-items: center; min-height: 44px; }
}
/* 6. Labels on the blue cab summary meet 4.5:1 */
.lx-ticket dt, .lx-cab-ticket dt { color: rgba(255, 255, 255, 0.86) !important; }
/* 7. Headings that changed level keep their look */
.testimonial-author .ts-name { display: block; margin: 0 0 0.1rem; font-family: var(--lx-sans) !important; font-size: 1.02rem !important; font-weight: 700 !important; line-height: 1.25 !important; color: #fff !important; }
.blueprint-card h3 { margin: 0 0 0.6rem !important; font-size: 1.15rem !important; color: var(--milestone-navy, #16181b); }
.dark-theme .blueprint-card h3 { color: #f8fafc; }
.gallery-caption h3 { margin: 0 0 0.25rem; color: #fff; }
/* 8. Fixed header and phone bar never cover the field being typed in */
html { scroll-padding-bottom: 24px; }
@media (max-width: 767px) { html { scroll-padding-bottom: 96px; } }

/* Home: room between Best-Seller Packages and Build Your Own */
/* Home: 138 guests reads top to bottom, with the button last */
.lx-138-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); grid-template-areas: "reel ." "reel kicker" "reel title" "reel side" "reel ."; grid-template-rows: 1fr auto auto auto 1fr; gap: 0 clamp(2rem, 4vw, 3.5rem); align-items: start; }
.lx-138-grid > .lx-138-reel { grid-area: reel; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; }
.lx-138-grid .lx-138-video { grid-column: 1 / -1; grid-row: auto; }
.lx-138-grid .lx-138-reel figure:not(.lx-138-video) { aspect-ratio: 16 / 11; }
main p.lx-138-kicker { grid-area: kicker; margin: 0 0 0.25rem; color: var(--lx-accent); font-size: 1rem; font-weight: 700; }
main section .lx-138 h2.lx-138-title, main section#group-milestone-showcase h2.lx-138-title { grid-area: title; display: block; margin: 0 0 1rem; }
.lx-138-title .lx-138-num { display: block; font-size: clamp(6.5rem, 2rem + 9vw, 12rem); }
.lx-138-title .lx-138-words { display: block; max-width: 11em; padding: 0.35rem 0 0; }
.lx-138-grid > .lx-138-side { grid-area: side; padding-top: 1.1rem; border-top: 1px solid var(--lx-line); }
@media (max-width: 860px) {
  .lx-138-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "kicker" "title" "reel" "side"; grid-template-rows: none; }
  .lx-138-title .lx-138-num { font-size: clamp(7rem, 46vw, 12rem); }
  .lx-138-grid > .lx-138-side { margin-top: 1.25rem; border-top: 0; padding-top: 0; }
}
/* Home: why book with a local team */
.lx-why { background: var(--lx-tint) !important; }
.lx-why-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
main section.lx-why h2 { margin: 0 0 0.75rem; }
main .lx-why-intro > p { margin: 0 0 1.5rem; max-width: 30ch; font-size: 1.12rem; line-height: 1.5; }
.lx-why-office { padding: 1.1rem 1.2rem 1.2rem; background: var(--lx-white); border-radius: 12px; }
main p.lx-why-office-label { margin: 0; color: var(--lx-muted); font-size: 0.9rem; font-weight: 600; }
main p.lx-why-office-place { margin: 0.15rem 0 0.9rem; color: var(--lx-text); font-family: var(--lx-display); font-size: 1.25rem; font-weight: 700; }
.lx-why-office-place i { margin-right: 0.3rem; color: var(--lx-accent) !important; font-size: 1rem; }
.lx-why-office-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
.lx-why-office-actions .lx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; min-height: 46px; box-sizing: border-box; }
.lx-why-call { background: var(--lx-white) !important; border: 1px solid var(--lx-text) !important; color: var(--lx-text) !important; }
.lx-why-call i { color: var(--lx-text) !important; }
.lx-why-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 3vw, 2.5rem); list-style: none; margin: 0; padding: 0; counter-reset: none; }
.lx-why-list li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.9rem; padding: 1.25rem 0; border-top: 1px solid #d3d7dc; }
.lx-why-n { color: var(--lx-accent); font-family: var(--lx-display); font-size: 1.6rem; font-weight: 700; line-height: 1.05; font-variant-numeric: lining-nums; }
main .lx-why-list h3 { margin: 0 0 0.35rem; color: var(--lx-text) !important; font-size: 1.25rem !important; line-height: 1.25 !important; }
main .lx-why-list p { margin: 0; font-size: 1rem; line-height: 1.55; }
@media (max-width: 860px) {
  .lx-why-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "lead" "list" "office"; gap: 0; }
  .lx-why-intro { display: contents; }
  main section.lx-why .lx-why-intro > h2 { grid-area: head; }
  main .lx-why-intro > p { grid-area: lead; max-width: none; margin: 0 0 0.75rem; }
  .lx-why-list { grid-area: list; grid-template-columns: minmax(0, 1fr); }
  .lx-why-office { grid-area: office; margin-top: 0.75rem; }
  .lx-why-list li { padding: 1.1rem 0; }
  main .lx-why-list p { font-size: 16px; }
}

/* Cab card: no summary panel; one quote button; places slide sideways on phones */
.lx-cab-card { grid-template-rows: auto !important; grid-template-areas: "intro build" !important; }
.lx-cab-submit { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; justify-self: start; min-width: 15rem; min-height: 50px; padding: 0 1.5rem; background: var(--lx-cta); border: 0; border-radius: 6px; color: #fff; cursor: pointer; font: inherit; font-size: 1.05rem; font-weight: 700; }
.lx-cab-submit:hover { background: var(--lx-cta-hover); }
.lx-cab-submit i { color: #fff !important; font-size: 1.2rem; }
@media (max-width: 860px) {
  .lx-cab-card { grid-template-areas: "intro" "build" !important; }
}
@media (max-width: 767px) {
  .lx-cab-submit { width: 100%; min-width: 0; }
  .lx-places { display: flex !important; gap: 0.6rem; margin-inline: -1rem; padding: 0 1rem 0.25rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-inline: 1rem; scrollbar-width: none; }
  .lx-places::-webkit-scrollbar { display: none; }
  .lx-place { flex: 0 0 6.6rem; scroll-snap-align: start; }
  .lx-vehs { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0.4rem; }
  .lx-veh { grid-template-columns: minmax(0, 1fr); justify-items: center; row-gap: 0.15rem; min-height: 44px; padding: 0.55rem 0.25rem; text-align: center; }
  .lx-veh i { grid-row: auto; margin-bottom: 0.1rem; font-size: 1.15rem; }
  .lx-veh b { font-size: 0.9rem; }
  .lx-veh small { font-size: 0.78rem; line-height: 1.2; }
}

/* Home: 138 guests opens with the group photo; moments sit in a strip below */
.lx-138 { padding-top: 0 !important; }
.lx-138-banner { position: relative; display: flex; align-items: flex-end; min-height: clamp(22rem, 14rem + 22vw, 34rem); padding-bottom: clamp(4.5rem, 7vw, 6.5rem); overflow: hidden; background: #2b3540; }
.lx-138-banner > img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center 42%; }
.lx-138-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10, 14, 18, 0.78), rgba(10, 14, 18, 0.25) 55%, rgba(10, 14, 18, 0.1)); }
.lx-138-banner-text { position: relative; z-index: 1; }
main .lx-138-banner p.lx-138-kicker { margin: 0 0 0.35rem; color: #fff; font-size: 1.05rem; font-weight: 700; }
main section .lx-138 h2.lx-138-title, main section#group-milestone-showcase h2.lx-138-title { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0 clamp(0.75rem, 2vw, 1.5rem); margin: 0; color: #fff !important; }
.lx-138-banner .lx-138-num { display: inline-block; background: none !important; color: #fff; -webkit-text-fill-color: #fff; font-size: clamp(6rem, 2rem + 11vw, 12.5rem); line-height: 0.82; text-shadow: 0 6px 30px rgba(0, 0, 0, 0.35); }
.lx-138-banner .lx-138-words { display: block; max-width: 9em; padding: 0 0 0.25em; color: #fff; font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.8rem); line-height: 1.08; }
.lx-138-strip { position: relative; z-index: 2; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 0.6rem; margin-top: clamp(-3.5rem, -5vw, -2.5rem); }
.lx-138-strip figure { position: relative; height: clamp(11rem, 6rem + 9vw, 15rem); margin: 0; overflow: hidden; border: 3px solid var(--lx-white); border-radius: 10px; background: var(--lx-tint); box-shadow: 0 10px 28px rgba(14, 16, 19, 0.16); }
.lx-138-strip figure.lx-138-video { grid-row: auto; grid-column: auto; aspect-ratio: auto; }
.lx-138-strip img, .lx-138-strip video { display: block; width: 100% !important; height: 100% !important; object-fit: cover; }
.lx-138-strip figcaption { position: absolute; left: 0.5rem; bottom: 0.5rem; padding: 0.15rem 0.5rem; background: var(--lx-white); border-radius: 4px; color: var(--lx-text); font-size: 0.85rem; font-weight: 700; }
.lx-138-strip #milestone-toggle { position: absolute; right: 0.5rem; bottom: 0.5rem; width: 44px; height: 44px; }
.lx-138-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: clamp(1.25rem, 2.5vw, 2rem); }
main .lx-138-foot p { margin: 0 0 0.35rem; font-size: 1.08rem; }
.lx-138-foot .lx-138-route { margin: 0; }
@media (max-width: 767px) {
  .lx-138-banner { min-height: 21rem; padding-bottom: 4rem; }
  .lx-138-banner > img { object-position: center 38%; }
  .lx-138-banner .lx-138-num { font-size: 7.5rem; }
  .lx-138-strip { display: flex; gap: 0.6rem; margin-inline: -16px; padding: 0 16px 0.25rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-inline: 16px; scrollbar-width: none; }
  .lx-138-strip::-webkit-scrollbar { display: none; }
  .lx-138-strip figure { flex: 0 0 72%; height: 12.5rem; scroll-snap-align: start; }
  .lx-138-strip figure.lx-138-video { flex-basis: 86%; }
  .lx-138-foot { display: grid; gap: 1rem; }
  .lx-138-foot .lx-btn { width: 100%; box-sizing: border-box; }
}
/* Home: Build Your Own, a route map beside the sample-route card */
.lx-build { background: var(--lx-white); }
.lx-build-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 27rem); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.25rem, 3.5vw, 3rem); background: var(--lx-tint); border-radius: 16px; }
main section.lx-build h2 { margin: 0 0 0.5rem; }
main .lx-build-copy > p { max-width: 36ch; margin: 0 0 1.25rem; font-size: 1.12rem; line-height: 1.5; }
.lx-build-map { margin: 0; }
.lx-map { display: block; width: 100%; height: auto; overflow: visible; }
.lx-map-ridge { fill: none; stroke: #d4d8dd; stroke-width: 1.5; }
.lx-map-river { fill: none; stroke: #b4c7d9; stroke-width: 3; stroke-linecap: round; }
.lx-map-lake { fill: #b4c7d9; }
.lx-map-line { fill: none; stroke: var(--lx-accent); stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1200; stroke-dashoffset: 0; }
.lx-map-line.is-drawing { animation: lx-map-draw 0.9s ease-out both; }
@keyframes lx-map-draw { from { stroke-dashoffset: 1200; } to { stroke-dashoffset: 0; } }
.lx-map-pin circle { fill: var(--lx-white); stroke: #9aa2aa; stroke-width: 2.5; transition: fill 0.2s ease, stroke 0.2s ease; }
.lx-map-pin text { fill: #6b7279; font-family: var(--lx-sans); font-size: 15px; font-weight: 600; paint-order: stroke; stroke: var(--lx-tint); stroke-width: 4px; stroke-linejoin: round; }
.lx-map-pin.is-on circle { fill: var(--lx-accent); stroke: var(--lx-white); stroke-width: 3; }
.lx-map-pin.is-on text { fill: var(--lx-text); font-weight: 700; }
.lx-map-pin[data-place="Srinagar"].is-on circle { r: 9; }
.lx-build-map figcaption { margin-top: 0.6rem; color: var(--lx-muted); font-size: 0.95rem; }
@media (max-width: 860px) {
  .lx-build-panel { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .lx-build .container { padding-inline: 16px; }
  .lx-build-panel { gap: 1.1rem; padding: 1.25rem 1rem 1rem; border-radius: 14px; }
  main .lx-build-copy > p { margin-bottom: 0.75rem; font-size: 1rem; }
  .lx-map-pin text { font-size: 23px; stroke-width: 5px; }
  .lx-map-pin circle { r: 9; }
  .lx-map-pin[data-place="Srinagar"].is-on circle { r: 11; }
  .lx-map-line { stroke-width: 4.5; }
}
@media (prefers-reduced-motion: reduce) { .lx-map-line.is-drawing { animation: none; } .lx-map-pin circle { transition: none; } }

/* Cab card: how it works in the blue panel, a reassurance line by the button */
.lx-cab-intro { display: flex; flex-direction: column; }
.lx-cab-steps { list-style: none; counter-reset: cab; display: grid; gap: 1.1rem; margin: 2rem 0 0; padding: 1.5rem 0 0; border-top: 1px solid rgba(255, 255, 255, 0.28); }
.lx-cab-steps li { counter-increment: cab; display: grid; grid-template-columns: 2rem minmax(0, 1fr); column-gap: 0.75rem; color: #fff; }
.lx-cab-steps li::before { content: counter(cab); grid-row: span 2; display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; background: #fff; border-radius: 50%; color: var(--lx-accent); font-weight: 700; }
.lx-cab-steps b { color: #fff; font-size: 1.05rem; line-height: 1.3; }
.lx-cab-steps span { color: rgba(255, 255, 255, 0.86); font-size: 0.95rem; line-height: 1.4; }
main .lx-cab-intro p.lx-cab-call { margin-top: auto; padding-top: 1.75rem; color: rgba(255, 255, 255, 0.86) !important; font-size: 0.98rem; }
.lx-cab-call a { color: #fff; font-weight: 700; }
.lx-cab-label small { color: var(--lx-muted); font-size: 0.85rem; font-weight: 400; }
.lx-cab-send { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; }
main .lx-cab-send p { margin: 0; color: var(--lx-muted); font-size: 0.95rem; }
@media (max-width: 860px) {
  .lx-cab-steps, main .lx-cab-intro p.lx-cab-call { display: none; }
}
@media (max-width: 767px) {
  .lx-cab-send { display: grid; gap: 0.5rem; }
  main .lx-cab-send p { text-align: center; text-wrap: balance; }
}

/* Home: activities sell the trips that include them */
.lx-acts { background: var(--lx-tint) !important; }
main p.lx-acts-lead { max-width: none; margin: 0.4rem 0 0; font-size: 1.08rem; text-wrap: balance; }
.lx-acts-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; list-style: none; margin: 0; padding: 0; }
.lx-act { display: flex; flex-direction: column; height: 100%; padding-bottom: 1rem; overflow: hidden; background: var(--lx-white); border-radius: 12px; color: inherit; text-decoration: none; box-shadow: 0 1px 0 rgba(14, 16, 19, 0.04); transition: box-shadow 0.2s ease, transform 0.2s ease; }
.lx-act:hover { box-shadow: 0 14px 30px rgba(14, 16, 19, 0.12); transform: translateY(-2px); }
.lx-act figure { position: relative; margin: 0 0 0.85rem; overflow: hidden; aspect-ratio: 4 / 3; background: var(--lx-line); }
#activities .lx-act img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; transition: transform 0.6s ease; }
.lx-act:hover img { transform: scale(1.04); }
.lx-act-place { position: absolute; top: 0.6rem; left: 0.6rem; display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.2rem 0.55rem; background: var(--lx-white); border-radius: 999px; color: var(--lx-text); font-size: 0.85rem; font-weight: 700; }
.lx-act-place i { color: var(--lx-accent) !important; font-size: 0.75rem; }
main section .lx-act h3 { margin: 0 1rem 0.3rem; color: var(--lx-text) !important; font-size: 1.3rem !important; line-height: 1.2 !important; }
main .lx-act p { flex: 1; margin: 0 1rem 0.8rem; font-size: 0.98rem; line-height: 1.45; }
.lx-act-trip { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; margin: 0 1rem; color: var(--lx-accent); font-size: 0.95rem; font-weight: 700; }
.lx-act-trip i { font-size: 0.8rem; color: var(--lx-accent) !important; transition: transform 0.2s ease; }
.lx-act:hover .lx-act-trip { text-decoration: underline; text-underline-offset: 3px; }
.lx-act:hover .lx-act-trip i { transform: translateX(3px); }
.lx-act:focus-visible { outline: 2px solid var(--lx-accent); outline-offset: 3px; }
.lx-acts-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: clamp(1.5rem, 3vw, 2.25rem); padding: 1.1rem 1.3rem; background: var(--lx-white); border-radius: 12px; }
main .lx-acts-cta p { margin: 0; color: var(--lx-muted); font-size: 1.02rem; }
.lx-acts-cta p b { color: var(--lx-text); }
.lx-acts-cta-btns { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.lx-acts-cta-btns .lx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; min-height: 46px; box-sizing: border-box; }
.lx-acts-wa { background: var(--lx-white) !important; border: 1px solid var(--lx-text) !important; color: var(--lx-text) !important; }
.lx-acts-wa i { color: var(--lx-text) !important; }
@media (max-width: 1100px) {
  .lx-acts-row { display: flex; gap: 0.85rem; margin-inline: calc(-1 * var(--lx-side, 24px)); padding: 0 var(--lx-side, 24px) 0.4rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; }
  .lx-acts-row::-webkit-scrollbar { display: none; }
  .lx-acts-row > li { flex: 0 0 15.5rem; scroll-snap-align: start; }
}
@media (max-width: 767px) {
  .lx-acts-row { margin-inline: -16px; padding-inline: 16px; scroll-padding-inline: 16px; }
  .lx-acts-row > li { flex-basis: 72%; }
  .lx-acts-cta { display: grid; padding: 1rem; }
  .lx-acts-cta-btns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .lx-act, .lx-act img, .lx-act-trip i { transition: none; } }

.lx-acts-filter { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0 0 1.1rem; }
.lx-acts-filter button { display: inline-flex; align-items: center; gap: 0.35rem; min-height: 44px; padding: 0 1rem; background: var(--lx-white); border: 1px solid var(--lx-line); border-radius: 999px; color: var(--lx-text); cursor: pointer; font: inherit; font-weight: 600; }
.lx-acts-filter button small { color: var(--lx-muted); font-size: 0.85rem; font-weight: 400; }
.lx-acts-filter button[aria-pressed="true"] { background: var(--lx-text); border-color: var(--lx-text); color: #fff; }
.lx-acts-filter button[aria-pressed="true"] small { color: #d6d9dc; }
.lx-acts-row > li[hidden] { display: none; }
@media (max-width: 1100px) { .lx-act figure { aspect-ratio: 4 / 5; } }
@media (max-width: 767px) {
  .lx-acts-filter { flex-wrap: nowrap; margin-inline: -16px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
  .lx-acts-filter::-webkit-scrollbar { display: none; }
  .lx-acts-filter button { flex: none; }
}
#activities .lx-acts-filter button { border-radius: 999px !important; box-shadow: none !important; }
#activities .lx-acts-filter button[aria-pressed="true"] { background: var(--lx-text) !important; border-color: var(--lx-text) !important; color: #fff !important; }

/* Home: moments with our guests, a photo mosaic with the proof in the middle */
#gallery-strip.lx-guests { background: var(--lx-white) !important; }
#gallery-strip .lx-head p.lx-guests-lead { margin: 0.4rem 0 0 !important; padding: 0 !important; max-width: 46ch; text-align: left !important; font-size: 1.08rem; }
.lx-g-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 12vw, 205px); grid-auto-flow: dense; gap: 0.6rem; list-style: none; margin: 0; padding: 0; }
.lx-g-grid > li { min-width: 0; }
.lx-g-grid .lx-g-big { grid-column: span 2; grid-row: span 2; }
.lx-g-grid .lx-g-tall { grid-row: span 2; }
.lx-g-grid figure { position: relative; height: 100%; margin: 0; overflow: hidden; border-radius: 10px; background: var(--lx-tint); }
#gallery-strip .lx-g-grid img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.lx-g-grid figcaption { position: absolute; left: 0.5rem; bottom: 0.5rem; max-width: calc(100% - 1rem); padding: 0.2rem 0.55rem; background: rgba(255, 255, 255, 0.94); border-radius: 6px; color: var(--lx-text); font-size: 0.85rem; font-weight: 700; line-height: 1.3; }
.lx-g-stats { display: flex; flex-direction: column; justify-content: center; padding: 1rem 1.1rem; background: var(--lx-accent); border-radius: 10px; color: #fff; }
main .lx-g-stats p { margin: 0; color: rgba(255, 255, 255, 0.9) !important; font-size: 0.95rem; line-height: 1.35; }
main .lx-g-stats p.lx-g-score { display: flex; align-items: baseline; gap: 0.25rem; color: #fff !important; }
.lx-g-score b { font-family: var(--lx-display); font-size: clamp(2.2rem, 1.6rem + 1.4vw, 3rem); line-height: 1; }
.lx-g-score span { color: #ffd166; font-size: 1.5rem; }
main .lx-g-stats p.lx-g-guests { margin-top: 0.7rem; padding-top: 0.7rem; border-top: 1px solid rgba(255, 255, 255, 0.3); }
.lx-g-guests b { color: #fff; font-size: 1.15rem; }
.lx-guests-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: clamp(1.25rem, 2.5vw, 1.75rem); }
.lx-guests-actions .lx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 48px; box-sizing: border-box; }
.lx-guests-g { background: var(--lx-white) !important; border: 1px solid var(--lx-text) !important; color: var(--lx-text) !important; }
.lx-guests-g i { color: var(--lx-text) !important; }
@media (max-width: 1100px) {
  .lx-g-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: clamp(140px, 22vw, 200px); }
}
@media (max-width: 767px) {
  .lx-g-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; gap: 0.5rem; }
  .lx-g-grid .lx-g-mhide { display: none; }
  .lx-g-grid .lx-g-big { grid-row: span 2; }
  .lx-g-grid figcaption { font-size: 0.8rem; }
  .lx-guests-actions { display: grid; }
  .lx-g-grid .lx-g-stats { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 0.9rem; row-gap: 0.2rem; padding: 0.8rem 1rem; }
  main .lx-g-stats p.lx-g-guests { flex-basis: 100%; margin-top: 0.4rem; padding-top: 0.5rem; }
}
/* Motion: tiles fade up in turn, every photo drifts slowly, and swapped photos crossfade */
.lx-g-grid.js-anim > li { opacity: 0; transform: translateY(18px); transition: opacity 0.6s ease, transform 0.6s ease; transition-delay: calc(var(--i, 0) * 70ms); }
.lx-g-grid.js-anim.is-in > li { opacity: 1; transform: none; }
@keyframes lxGuestDrift { from { transform: scale(1.03) translate(0, 0); } to { transform: scale(1.13) translate(-2%, -1.5%); } }
#gallery-strip .lx-g-grid.js-anim img { animation: lxGuestDrift 16s ease-in-out infinite alternate; }
#gallery-strip .lx-g-grid.js-anim li:nth-child(2n) img { animation-duration: 19s; animation-direction: alternate-reverse; }
#gallery-strip .lx-g-grid.js-anim li:nth-child(3n) img { animation-duration: 23s; }
#gallery-strip .lx-g-grid img.lx-g-next { position: absolute; inset: 0; opacity: 0; transition: opacity 0.9s ease; }
#gallery-strip .lx-g-grid img.lx-g-next.is-on { opacity: 1; }
.lx-g-grid figcaption { z-index: 1; transition: opacity 0.3s ease; }
.lx-g-grid figure.is-swap figcaption { opacity: 0; }

/* Home: a short lead form, three fields and one button */
:is(#plan-trip, .lx-quick-sec).lx-quick { background: var(--lx-tint) !important; }
:is(#plan-trip, .lx-quick-sec).lx-quick > .container { width: 100% !important; max-width: min(95vw, var(--container, 1440px)) !important; padding-inline: 20px !important; box-sizing: border-box; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-shell { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 2fr); gap: clamp(1.25rem, 3vw, 2.5rem); align-items: center; max-width: none !important; margin: 0 !important; padding: clamp(1.5rem, 3.5vw, 2.5rem) !important; background: var(--lx-white) !important; border: 1px solid var(--lx-line, #e3e5e8) !important; border-radius: 14px !important; box-shadow: none !important; text-align: left !important; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-head h2 { margin: 0; font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem); line-height: 1.15; text-align: left; }
main :is(#plan-trip, .lx-quick-sec) .lx-quick-head p { margin: 0.5rem 0 0; font-size: 1.05rem; text-align: left; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 0.75rem; align-items: end; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-form label { display: grid; gap: 0.35rem; margin: 0 !important; color: var(--lx-text) !important; font-size: 0.92rem; font-weight: 700; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-form small { color: var(--lx-muted, #5b616b); font-size: 0.85rem; font-weight: 400; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-form input { width: 100%; min-height: 50px; box-sizing: border-box; margin: 0 !important; padding: 0.7rem 0.9rem !important; background: var(--lx-white) !important; border: 1px solid #c9cdd2 !important; border-radius: 8px !important; color: var(--lx-text) !important; font: inherit; font-size: 16px !important; font-weight: 400; box-shadow: none !important; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-form input:focus { outline: 2px solid var(--lx-accent) !important; outline-offset: 1px; border-color: var(--lx-accent) !important; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-form button { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; width: auto !important; min-height: 50px; margin: 0 !important; padding: 0 1.4rem !important; white-space: nowrap; cursor: pointer; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-form > button { grid-column: auto !important; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-form button:disabled { opacity: 0.7; cursor: wait; }
main :is(#plan-trip, .lx-quick-sec) p.lx-quick-note { grid-column: 2; display: flex; align-items: center; gap: 0.45rem; margin: -1.6rem 0 0 !important; color: var(--lx-muted, #5b616b) !important; font-size: 0.88rem; }
@media (max-width: 1100px) {
  :is(#plan-trip, .lx-quick-sec) .lx-quick-shell { grid-template-columns: 1fr; }
  main :is(#plan-trip, .lx-quick-sec) p.lx-quick-note { grid-column: 1; margin-top: -0.25rem !important; }
  :is(#plan-trip, .lx-quick-sec) .lx-quick-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  :is(#plan-trip, .lx-quick-sec) .lx-quick-form > button { grid-column: 1 / -1 !important; width: 100% !important; }
}
@media (max-width: 767px) {
  :is(#plan-trip, .lx-quick-sec).lx-quick > .container { max-width: 100% !important; padding-inline: 16px !important; }
  :is(#plan-trip, .lx-quick-sec) .lx-quick-shell { padding: 1.4rem 1.1rem !important; gap: 1.1rem; }
  :is(#plan-trip, .lx-quick-sec) .lx-quick-form { grid-template-columns: 1fr; }
  :is(#plan-trip, .lx-quick-sec) .lx-quick-form > button { grid-column: 1 / -1 !important; }
  :is(#plan-trip, .lx-quick-sec) .lx-quick-form button { width: 100% !important; }
}
/* spare guest photos only ever appear by rotating into a tile */
.lx-g-grid .lx-g-spare { display: none !important; }

/* Local SEO copy: homepage intro line and contact links */
.site-faq-footer-text a { color: var(--lx-text) !important; font-weight: 600; text-decoration: underline; text-decoration-color: var(--lx-accent); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.site-faq-footer-text a:hover { color: var(--lx-accent) !important; }
.contact-hero .contact-lead a.contact-lead-tel { color: inherit !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.contact-info-card h3 a { color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.contact-info-card h3 a:hover { color: var(--lx-accent); }
.contact-info-card p a { color: var(--lx-accent); font-weight: 700; white-space: nowrap; }
#faqs .site-faq-answer a { color: var(--lx-accent); font-weight: 700; }
.story-copy p a { color: var(--lx-accent); font-weight: 700; }

/* Registration and GST numbers */
.ft-bottom .ft-reg { margin-left: 0.6rem; padding-left: 0.6rem; border-left: 1px solid #c3c8cd; white-space: nowrap; }
@media (max-width: 767px) { .ft-bottom .ft-reg { display: block; margin: 0.2rem 0 0; padding: 0; border: 0; white-space: normal; } }
.contact-info-card p.contact-reg { margin-top: 0.6rem; padding-top: 0.6rem; border-top: 1px solid var(--lx-line, #e3e5e8); color: var(--lx-muted, #5b616b); font-size: 0.9rem; }

/* Srinagar packages and Kashmir itinerary pages */
.lx-sp-jump { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.75rem 0 1.5rem; }
.lx-sp-jump ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.lx-sp-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; background: var(--lx-white); border: 1px solid var(--lx-line, #d5d8dc); border-radius: 999px; color: var(--lx-text) !important; font-weight: 600; text-decoration: none !important; }
.lx-sp-jump a:hover { border-color: var(--lx-text); }
.lx-sp-group { padding-top: clamp(1.25rem, 3vw, 2rem); scroll-margin-top: 90px; }
.lx-sp-group + .lx-sp-group { margin-top: clamp(1rem, 2.5vw, 1.75rem); border-top: 1px solid var(--lx-line, #d5d8dc); }
.lx-sp-group h3 { margin: 0 0 0.3rem; font-size: clamp(1.3rem, 1.1rem + 0.7vw, 1.7rem) !important; }
main .lx-sp-group > p { margin: 0 0 1rem; max-width: 60ch; color: var(--lx-muted) !important; }
.lx-article h2[id] { scroll-margin-top: 90px; }
main p.lx-it-route { margin: 0 0 0.6rem; padding: 0.75rem 1rem; background: var(--lx-tint); border-radius: 8px; }
.lx-it-days { margin: 0 0 0.75rem; padding: 0; list-style: none; counter-reset: none; }
.lx-it-days li { position: relative; margin: 0; padding: 0.55rem 0 0.55rem 1.25rem; border-left: 2px solid var(--lx-accent); }
.lx-it-days li::before { content: ""; position: absolute; left: -6px; top: 1rem; width: 10px; height: 10px; background: var(--lx-white); border: 2px solid var(--lx-accent); border-radius: 50%; }
.lx-it-days li b { color: var(--lx-text); }
main p.lx-it-links { margin: 0 0 0.5rem; font-weight: 600; }
.lx-table-stack tbody th { white-space: nowrap; }
@media (max-width: 640px) {
  .lx-table-stack table, .lx-table-stack tbody, .lx-table-stack tr, .lx-table-stack th, .lx-table-stack td { display: block; width: auto; }
  .lx-table-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .lx-table-stack tr { margin: 0 0 0.6rem; padding: 0.75rem 0.9rem; background: var(--lx-tint); border-radius: 8px; }
  .lx-table-stack th, .lx-table-stack td, .lx-table-stack td:nth-child(n) { padding: 0.1rem 0 !important; border: 0 !important; white-space: normal; }
  .lx-table-stack tbody th { font-size: 1.05rem; }
  .lx-table-stack td::before { content: attr(data-label) ": "; color: var(--lx-muted); font-weight: 600; }
}
/* Homepage about note under the FAQ: fills the row like the FAQ list, with a readable line length */
.site-faq-footer.lx-about-note { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(0, 3.2fr); gap: 0.5rem clamp(1.5rem, 4vw, 3.5rem); align-items: start; margin-top: clamp(2rem, 4vw, 3rem); padding: clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.25rem, 3vw, 2rem); background: var(--lx-tint); border-radius: 12px; }
.lx-about-note .lx-about-title { margin: 0 !important; font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem) !important; line-height: 1.2 !important; color: var(--lx-text) !important; }
.lx-about-note .site-faq-footer-text { max-width: none; margin: 0 !important; color: #3f454c !important; font-size: clamp(1rem, 0.92rem + 0.25vw, 1.1rem) !important; line-height: 1.65 !important; }
@media (max-width: 767px) { .site-faq-footer.lx-about-note { grid-template-columns: 1fr; } }
.dest-overview-text.dest-choose { max-width: 820px; }
.dest-choose p { margin: 0 0 0.85rem; line-height: 1.65; }
.dest-choose a { color: var(--lx-text); font-weight: 600; text-decoration: underline; text-decoration-color: var(--lx-accent); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.dest-choose a:hover { color: var(--lx-accent); }

/* Consistency pass: breadcrumbs, gallery header, small labels, link colours */
.lx-crumbs-top { margin: 1rem 0 0; }
main .gallery-hero .container > h1 { text-align: left !important; }
main .gallery-hero .container > p { margin: 0.4rem 0 0 !important; padding: 0 !important; max-width: 60ch; text-align: left !important; }
.pkg-location, .pkg-price-label, .pkg-tag, .gallery-rail-tag, .gallery-rail figcaption, .lx-crumbs, .pk-crumbs, .dest-breadcrumbs, .pkg-card small, .pk-hero small { font-size: max(13px, 0.85rem) !important; }
.brand a, a.dest-card, .ft-lockup { color: inherit; }
main small, main figcaption, main label, .pkg-tag, .lx-act-place, .quote-pill, .quick-quote-label, .contact-info-card p.label, .contact-form-note, .gallery-badge, .filter-pill, .strip-subtext, main .tag, .blueprint-step, .ty-detail-label, .ty-time-stamp, .pk-hub .pk-opt span, .pk-hero-fact, .tp-hint small { font-size: max(13px, 1em * 0.85) !important; }
body .pkg-card .pkg-tags .pkg-tag, body .pkg-card .pkg-stars span, body .contact-highlight-card p.label, body .pillar-checklist li, body .mega-tags .tag, body main span.tag { font-size: 13px !important; }
body .quote-trust-strip span, body .ty-status-badge span { font-size: 13px !important; }

/* Homepage package shelves: one row per kind of trip, scrolling sideways */
.lx-shelf-section + .lx-shelf-section { padding-top: 0 !important; }
.lx-shelf-tools { display: flex; align-items: center; gap: 0.5rem; }
.lx-shelf-tools .lx-more { margin-right: 0.5rem; }
.lx-shelf-arrow { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; background: var(--lx-white); border: 1px solid var(--lx-line, #d5d8dc); border-radius: 6px; color: var(--lx-text); cursor: pointer; }
.lx-shelf-arrow:hover:not(:disabled) { border-color: var(--lx-text); }
.lx-shelf-arrow:disabled { opacity: 0.35; cursor: default; }
.lx-journeys.lx-shelf { display: flex !important; gap: 1.25rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 2px; }
.lx-shelf::-webkit-scrollbar { display: none; }
.lx-journeys.lx-shelf > li { flex: 0 0 calc((100% - 2.5rem) / 3.25); min-width: 0; scroll-snap-align: start; }
@media (max-width: 1100px) { .lx-journeys.lx-shelf > li { flex-basis: calc((100% - 1.25rem) / 2.25); } }
@media (max-width: 767px) {
  .lx-journeys.lx-shelf { gap: 0.85rem; }
  .lx-journeys.lx-shelf > li { flex-basis: calc(100% - 56px); }
  .lx-shelf-arrow { display: none; }
  .lx-shelf-tools .lx-more { margin-right: 0; }
}
@media (prefers-reduced-motion: reduce) { .lx-journeys.lx-shelf { scroll-behavior: auto; } }

/* Long-form guides: quick answer, contents list and spacing */
.lx-answer { margin: 1rem 0 1.5rem; padding: 1rem 1.15rem; background: var(--lx-tint); border-left: 3px solid var(--lx-accent); border-radius: 0 8px 8px 0; }
.lx-answer p { margin: 0 !important; font-size: 1.06rem; line-height: 1.6 !important; }
.lx-toc { margin: 0 0 1.75rem; padding: 1rem 1.15rem; border: 1px solid var(--lx-line, #d5d8dc); border-radius: 8px; }
main p.lx-toc-title { margin: 0 0 0.5rem !important; color: var(--lx-text) !important; font-weight: 700; }
.lx-toc ol { columns: 2 260px; column-gap: 2rem; margin: 0; padding-left: 1.2rem; }
.lx-toc li { margin: 0 0 0.35rem; break-inside: avoid; }
.lx-toc a { color: var(--lx-text) !important; text-decoration: underline; text-decoration-color: var(--lx-accent); text-underline-offset: 3px; }
.lx-guide-block .lx-article, .lx-section-tight .lx-article { max-width: 860px; }
.lx-article h2[id], .lx-guide-block h2[id] { scroll-margin-top: calc(var(--header-h, 72px) + 16px); }
.lx-article ol.lx-list { padding-left: 1.3rem; }

/* Hub hero: package count and the date prices were last checked */
.pk-hero .pk-updated { margin-top: 0.5rem; font-size: 0.875rem; color: rgba(255, 255, 255, 0.82); }

/* =====================================================================
   Design system: one grid, one spacing scale, one type scale.
   Everything below wins over older one-off sizes so every page shares
   the same left edge, the same gaps and the same few text sizes.
   ===================================================================== */
:root {
  --gut: 16px;             /* side padding: every page starts text here */
  --sec: 48px;             /* space between sections */
  --wrap: 1280px;          /* widest content */
  --grid: 16px;            /* gap between cards */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px;
  --t-xs: 13px;            /* tags, captions, crumbs, small meta */
  --t-sm: 15px;            /* card text, buttons */
  --t-md: 16px;            /* body */
  --t-lg: 20px;            /* card and sub titles */
  --t-xl: 28px;            /* article headings */
  --t-2xl: clamp(28px, 1.15rem + 1.9vw, 44px); /* section titles */
  --r: 8px;                /* cards, photos, panels */
  --pill: 999px;           /* buttons, chips */
}
@media (min-width: 768px) { :root { --gut: 32px; --sec: 64px; --grid: 24px; } }

body { font-size: var(--t-md) !important; }

/* One container, one left edge */
.container, .site-faq-container {
  box-sizing: border-box; width: 100% !important;
  max-width: calc(var(--wrap) + 2 * var(--gut)) !important;
  margin-inline: auto !important; padding-inline: var(--gut) !important;
}
.container .container, .container .site-faq-container { max-width: none !important; padding-inline: 0 !important; }
.lx-section, .lx-shelf-section, .package-section, .related-packages, .site-faq-section, .popular-destinations, .lead-form-section, #testimonials { padding-inline: 0 !important; }

/* Section rhythm: the same gap everywhere; two plain white sections in a row share one gap */
.lx-section, .package-section, .related-packages, .site-faq-section, .popular-destinations, .lead-form-section, #testimonials {
  padding-block: var(--sec) !important; margin-block: 0 !important;
}
.lx-section:not(.lx-tinted):not(.lx-section-tint) + .lx-section:not(.lx-tinted):not(.lx-section-tint):not(.lx-138):not(.lx-cab):not(.lx-guide-block) { padding-top: 0 !important; }
.lx-hero + .lx-section, .lx-page-hero + .lx-section { padding-top: var(--sec) !important; }
.lx-138 { padding-block: 0 !important; }

/* Headings */
main h2, .site-faq-title, .lx-head h2 {
  font-size: var(--t-2xl) !important; line-height: 1.12 !important; letter-spacing: -0.01em;
  margin: 0 0 var(--s3) !important;
}
.lx-article h2, .lx-guide-block h2, .package-section .lx-article h2 { font-size: var(--t-xl) !important; margin: var(--s7) 0 var(--s4) !important; }
.lx-article > h2:first-child, .lx-article > .lx-toc + h2 { margin-top: 0 !important; }
main h3 { font-size: var(--t-lg) !important; line-height: 1.25 !important; }
.lx-article h3 { margin: var(--s6) 0 var(--s3) !important; }
.lx-head { margin-bottom: var(--s5) !important; align-items: flex-end; }
.lx-head p, .lx-acts-lead, .section-subtitle, .lx-sub { margin: 0 !important; font-size: var(--t-md) !important; color: var(--lx-muted) !important; }

/* Body text and small text */
main p, main li, main td, main th, main summary, main dd, main dt { font-size: var(--t-md); }
.lx-article p, .lx-article li, .lx-answer p, .lx-qa p, .lx-list li, .flowchart-desc, .detail-list li { font-size: var(--t-md) !important; line-height: 1.6 !important; }
.lx-qa summary, .site-faq-question-text { font-size: 17px !important; }
.pkg-desc, .lx-act p, .dest-info p, .lx-journey span, .lx-act-trip, .testimonial-text, .site-faq-answer p, .flow-pill, .pk-opt, .lx-place span, .lx-veh b { font-size: var(--t-sm) !important; }
.pkg-tag, .pkg-badge, .pkg-location, .pkg-price-label, .pkg-price-amount small, .lx-journey small, .lx-tile-text small,
figcaption, .lx-crumbs, .lx-crumbs a, .pk-crumbs, .pk-crumbs a, .lx-act-place, .gallery-rail-tag, .lx-byline, .pkg-stars span, .lx-veh small, .tp-field span { font-size: var(--t-xs) !important; }
.pkg-price-amount { font-size: 17px !important; }
.lx-tile-text b, .dest-info h3, .flowchart-title, .lx-journey h3, .lx-act h3, .pkg-body h3, h3.gallery-rail-title { font-size: var(--t-lg) !important; }

/* Two corner styles: 8px for cards, photos and panels; round for buttons and chips */
.lx-tile, .lx-tile img, .dest-card, .lx-journey figure, .lx-act figure, .pkg-card, .pkg-img, .lx-build-panel, .lx-build-card,
.lx-cab-card, .site-faq-footer, .pk-finder, .fam-help, .tp-card, .lead-form-shell, .gallery-rail-viewport, .lx-g-grid figure, .lx-g-stats,
.lx-138-video, .flowchart-card, .flowchart-photo, .related-packages li, .lx-table, .lx-toc, .lx-answer, .lx-qa, .testimonial-card, .site-faq-item,
.fam-places li a, .fam-places img, .gallery-grid figure, .gallery-grid img, .pillars-grid > *, .about-stats-grid > * { border-radius: var(--r) !important; }
.pkg-tag, .pkg-badge, .flow-pill, .flowchart-tag-stay, .lx-act-place, .gallery-rail-tag, .about-eyebrow, .pk-seg, .pk-seg .pk-opt, .lx-seg, .lx-seg button,
.lx-acts-filter button, .gallery-filters button, .lx-build-days, .lx-build-days button { border-radius: var(--pill) !important; }

/* One button: 48px tall, fully rounded */
.lx-btn, .lead-form button[type="submit"], .hero-quick a, .sticky-widget-btn, .dest-btn-whatsapp, .dest-btn-call, .primary-btn, .ghost-btn,
.pkg-book-btn, .fam-btn, .pk-own, .lx-cab-submit, .promise-cta-btn, .tp-submit, .itin-btn, .lx-more {
  min-height: 48px !important; padding: 0 22px !important; border-radius: var(--pill) !important;
  display: inline-flex !important; align-items: center; justify-content: center; gap: var(--s2) !important;
  font-size: var(--t-sm) !important; font-weight: 600 !important; line-height: 1.2 !important; white-space: nowrap;
}
.pkg-book-btn { min-height: 44px !important; padding: 0 18px !important; }
.lx-more { min-height: 44px !important; padding: 0 18px !important; border: 1px solid var(--lx-line) !important; color: var(--lx-text) !important; text-decoration: none !important; }
.lx-more:hover { border-color: var(--lx-text) !important; }
.lx-btn-ghost { background: transparent !important; border: 1px solid var(--lx-text) !important; color: var(--lx-text) !important; }
.lx-btn-ghost:hover { background: var(--lx-text) !important; color: #fff !important; }
.lx-btn-light { background: #fff !important; border: 1px solid #fff !important; color: var(--lx-text) !important; }
.lx-btn-light:hover { background: transparent !important; color: #fff !important; }
/* Round icon buttons */
.lx-shelf-arrow, .dest-nav-btn, .gallery-rail-arrow { width: 44px !important; height: 44px !important; min-height: 44px !important; padding: 0 !important; border-radius: 50% !important; }

/* Card grids: one gap */
.lx-regions, .lx-styles, .destinations-grid, .lx-journeys, .pkg-grid, .dest-highlights-grid, .gallery-grid, .pillars-grid, .about-stats-grid,
.lx-todo, .gallery-rail-group, .fam-places ul, .related-packages ul, .brochure-columns { gap: var(--grid) !important; }
.lx-styles { row-gap: var(--s6) !important; }
.lx-journeys.lx-shelf, .lx-acts-row.lx-shelf { gap: var(--grid) !important; }
.lx-places, .lx-vehs, .lx-routes, .gallery-filters, .itin-actions, .lx-g-grid, .lx-cab-row, .hero-quick { gap: var(--s2) !important; }

/* Panels sit on the page grid: no extra inner side padding pushing text inwards */
.lx-build-panel { padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.lead-form-shell { padding-inline: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }

/* Homepage: the cab band */
.lx-band-row { display: flex; align-items: center; justify-content: space-between; gap: var(--s5); }
.lx-band-row h2 { margin-bottom: var(--s2) !important; }
.lx-band-row p { margin: 0; max-width: 60ch; color: var(--lx-muted); }
.lx-band-actions { display: flex; flex-wrap: wrap; gap: var(--s3); flex: none; }
@media (max-width: 767px) { .lx-band-row { flex-direction: column; align-items: stretch; } .lx-band-actions .lx-btn { flex: 1 1 100%; } }

/* Homepage: the 138 guests photo band */
.lx-138-banner-text .lx-btn { margin-top: var(--s5); }

/* Homepage: things to do as a scrolling row, same card size as the package rows */
.lx-acts-row.lx-shelf { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 0 0 2px !important; margin: 0 !important; list-style: none; }
.lx-acts-row.lx-shelf::-webkit-scrollbar { display: none; }
.lx-acts-row.lx-shelf > li { flex: 0 0 calc((100% - 2 * var(--grid)) / 3.25); min-width: 0; scroll-snap-align: start; display: block !important; }
@media (max-width: 1100px) { .lx-acts-row.lx-shelf > li { flex-basis: calc((100% - var(--grid)) / 2.25); } }
@media (max-width: 767px) { .lx-acts-row.lx-shelf > li { flex-basis: calc(100% - 56px); } }
.lx-acts-row.lx-shelf .lx-act figure { aspect-ratio: 4 / 3; overflow: hidden; margin: 0 0 var(--s3) !important; }
.lx-acts-row.lx-shelf .lx-act figure img { width: 100%; height: 100%; object-fit: cover; }
.lx-acts-row.lx-shelf .lx-act h3 { margin: 0 0 var(--s1) !important; }
.lx-acts-row.lx-shelf .lx-act p { margin: 0 0 var(--s2) !important; }

/* Card text spacing: title, one line, price */
.lx-journey small { display: block; margin: var(--s3) 0 var(--s1) !important; }
.lx-journey h3 { margin: 0 0 var(--s1) !important; }

/* Design system, second pass: older rules that still used their own numbers */
:root { --lx-space: var(--sec); --polish-section: var(--sec); }
:root main h2, :root main section h2, :root .site-faq-title, :is(#plan-trip, .lx-quick-sec) .lx-quick-head h2, #testimonials h2 {
  font-size: var(--t-2xl) !important; line-height: 1.12 !important; letter-spacing: -0.01em;
}
:root main .lx-article h2, :root main .lx-guide-block h2 { font-size: var(--t-xl) !important; }
:root main .fam-help h2, :root main .contact-form-shell h2 { font-size: var(--t-xl) !important; }
:root main section .lx-138 h2, :root main section#group-milestone-showcase h2 { font-size: var(--t-2xl) !important; }
:is(#plan-trip, .lx-quick-sec).lx-quick > .container { max-width: calc(var(--wrap) + 2 * var(--gut)) !important; padding-inline: var(--gut) !important; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-shell { padding: 0 !important; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-form input { min-height: 48px; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-form button { min-height: 48px !important; border-radius: var(--pill) !important; }
/* Homepage colour bands alternate: white groups, then one grey or dark band */
#activities.lx-acts { background: var(--lx-white) !important; }
#gallery-strip.lx-guests { background: var(--lx-tint) !important; }
:is(#plan-trip, .lx-quick-sec) .lx-quick-shell { background: none !important; border: 0 !important; box-shadow: none !important; }
.lx-acts-row.lx-shelf .lx-act-trip { padding: 0 !important; }

/* Design system, third pass: package pages, page titles, long reading */
/* Package pages line their content up beside the booking card using --lx-edge: make it the same edge as every container */
:root { --lx-edge: calc(max(0px, (100vw - var(--wrap) - 2 * var(--gut)) / 2) + var(--gut)); }
@media (min-width: 1024px) {
  body.has-sticky-widget .lead-form-section .lead-form-shell { padding-inline: 0 !important; }
}
/* One page-title size on every page type */
:root .lx-hero h1, :root body .package-hero h1, :root .pk-hero h1, :root .fam-hero h1, :root main .lx-page-hero h1, :root .about-hero h1, :root .contact-hero h1, :root .gallery-hero h1, :root .policy-hero h1 {
  font-size: clamp(32px, 1.4rem + 2.2vw, 52px) !important; line-height: 1.08 !important; letter-spacing: -0.015em;
}
/* Long articles start on the page edge; lines stay a comfortable reading length */
.container.lx-article > *:not(.lx-table):not(.lx-journeys):not(.lx-toc):not(.lx-shelf) { max-width: 760px; }
.container.lx-article > .lx-table, .container.lx-article > .lx-toc { max-width: 960px; }
/* Package pages: the lead form uses the edge margin, so its container adds no padding */
@media (min-width: 1024px) {
  body.has-sticky-widget .lead-form-section > .container { max-width: none !important; padding-inline: 0 !important; }
}
/* A tinted band after a white section keeps its own top space */
.lx-section + .lx-section.lx-section-tint, .lx-section.lx-section-tint + .lx-section, .lx-section + .lx-section.lx-tinted { padding-top: var(--sec) !important; }
/* About, gallery, privacy and terms: same edge as every other page */
.about-hero, .gallery-hero { padding-inline: 0 !important; }
.about-hero-content, .about-body, .about-stats-wrap > * {
  box-sizing: border-box; width: 100% !important; max-width: calc(var(--wrap) + 2 * var(--gut)) !important;
  margin-inline: auto !important; padding-inline: var(--gut) !important;
}
.policy-hero, .policy-body { padding-inline: var(--lx-edge) !important; }
.policy-hero > *, .policy-body > * { max-width: 760px; margin-left: 0 !important; margin-right: auto !important; }
.policy-body { max-width: none !important; margin: 0 !important; padding-block: var(--sec) !important; }
/* Page heroes and plain page sections: the same vertical space on every page type */
:root { --hero-pad: 24px; }
@media (min-width: 768px) { :root { --hero-pad: 40px; } }
.lx-page-hero, body .package-hero, .about-hero, .gallery-hero, .policy-hero, .contact-hero { padding-block: var(--hero-pad) !important; }
.gallery-page, .contact-details, .about-body { padding-block: var(--sec) !important; }

/* Phones: the reviews header reads left like every other section; the 138 band text gets room at the top */
#testimonials .testimonials-header { text-align: left !important; justify-content: space-between !important; align-items: flex-end; }
@media (max-width: 767px) {
  #testimonials .testimonials-header { flex-direction: column; align-items: flex-start !important; gap: var(--s3); }
  #testimonials .testimonials-header h2 { text-align: left !important; }
  .lx-138-banner { padding-top: var(--sec) !important; padding-bottom: var(--sec) !important; }
}

/* =====================================================================
   Kaarkash layout pass: full-width pages, photos edge to edge with no
   gaps, square corners, 3:4 photos, light card strips, compact rows.
   ===================================================================== */
:root { --gut: 20px; --sec: 32px; --grid: 0px; --r: 0px; --lx-r: 0px; --wrap: 100000px; --card-bg: #f9f9f9;
        --t-2xl: clamp(22px, 0.95rem + 0.9vw, 30px); }
@media (min-width: 768px) { :root { --gut: 20px; --sec: 40px; --grid: 0px; } }

/* Long text keeps a readable line length even though pages are full width */
.lx-head p, .lx-band-row p, .lx-page-hero p, .section-subtitle, .lead-form-intro, .lx-quick-head p, .fam-hero p, .pk-hero p { max-width: 68ch; }

/* Row header: one compact line; "View all" is an underlined text link; arrows are plain icons */
.lx-head { display: flex !important; align-items: center !important; justify-content: space-between; gap: var(--s4); margin-bottom: 20px !important; }
.lx-head h2 { margin: 0 !important; }
.lx-head p { margin-top: 6px !important; }
.lx-more { min-height: 0 !important; padding: 0 0 4px !important; border: 0 !important; border-bottom: 1px solid currentColor !important; border-radius: 0 !important; background: none !important; font-size: 14px !important; font-weight: 500 !important; }
.lx-shelf-tools { gap: 12px !important; }
.lx-shelf-arrow, .dest-nav-btn { width: 28px !important; height: 28px !important; min-height: 28px !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; color: var(--lx-text) !important; }
.lx-shelf-arrow:disabled, .dest-nav-btn:disabled { opacity: 0.3; }

/* Photo rows and grids run edge to edge with no gaps */
.lx-regions, .lx-styles, .lx-journeys, .lx-acts-row, .destinations-grid, .pkg-grid, .fam-places ul, .related-packages ul, .gallery-grid, .lx-g-grid, .lx-places-grid {
  margin-inline: calc(-1 * var(--gut)) !important; gap: 0 !important; row-gap: 0 !important; padding-inline: 0 !important;
}
.destinations-grid { padding-block: 0 !important; }

/* Square corners on every photo and card */
.lx-tile, .lx-tile img, .lx-styles .lx-tile img, .dest-card, .dest-card img, .lx-journey, .lx-journey figure, .lx-journey img, .lx-act, .lx-act figure, .lx-act img,
.pkg-card, .pkg-img, .pkg-img img, .lx-g-grid figure, .lx-g-grid img, .lx-g-stats, .fam-places li a, .fam-places img, .related-packages li, .related-packages img,
.gallery-grid figure, .gallery-grid img, .flowchart-photo, .flowchart-photo img, .lx-page-img, .gallery-rail-viewport, .hero-visual img { border-radius: 0 !important; }

/* Package rows (homepage shelves, things to do): 4.25 cards across on desktop, 2.1 on phones, 3:4 photos, light text strip */
.lx-journeys.lx-shelf > li, .lx-acts-row.lx-shelf > li { flex: 0 0 calc(100% / 4.25) !important; }
@media (max-width: 1100px) { .lx-journeys.lx-shelf > li, .lx-acts-row.lx-shelf > li { flex-basis: calc(100% / 3.25) !important; } }
@media (max-width: 767px) { .lx-journeys.lx-shelf > li, .lx-acts-row.lx-shelf > li { flex-basis: calc(100% / 2.1) !important; } }
.lx-journey, .lx-act { display: flex !important; flex-direction: column; height: 100%; background: var(--card-bg) !important; padding: 0 0 12px !important; }
.lx-journey figure, .lx-act figure, .lx-acts-row.lx-shelf .lx-act figure { aspect-ratio: 3 / 4 !important; margin: 0 0 10px !important; overflow: hidden; }
.lx-journey figure img, .lx-act figure img { width: 100% !important; height: 100% !important; object-fit: cover; }
.lx-journey small, .lx-journey h3, .lx-journey > span, .lx-act h3, .lx-act p, .lx-act-trip { padding-inline: 10px !important; }
.lx-journey small { margin: 0 0 4px !important; }
.lx-journey h3, .lx-act h3, .pkg-body h3, .lx-styles .lx-tile-text b {
  font-family: var(--lx-sans) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.35 !important; letter-spacing: 0 !important;
}
.lx-journey > span { margin-top: auto; padding-top: 6px; font-size: 15px !important; font-weight: 600; color: var(--lx-text); }
@media (max-width: 767px) { .lx-journey h3, .lx-act h3 { font-size: 14px !important; } .lx-journey > span, .lx-act p { font-size: 13px !important; } }

/* Region tiles: 4 across on desktop, 2 x 2 on phones, 3:4 */
.lx-regions { grid-template-columns: repeat(4, 1fr) !important; }
.lx-regions .lx-tile { aspect-ratio: 3 / 4 !important; }
@media (max-width: 767px) { .lx-regions { grid-template-columns: repeat(2, 1fr) !important; } }

/* Travel-style tiles: one row of 6 on desktop, 3 on tablets, 2 on phones; photo then a light strip with the name and price */
.lx-styles { grid-template-columns: repeat(6, 1fr) !important; }
@media (max-width: 1100px) { .lx-styles { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 767px) { .lx-styles { grid-template-columns: repeat(2, 1fr) !important; } }
.lx-styles .lx-tile { background: var(--card-bg) !important; height: 100%; }
.lx-styles .lx-tile img { aspect-ratio: 3 / 4 !important; }
.lx-styles .lx-tile .lx-tile-text { padding: 10px 10px 12px !important; }
.lx-styles .lx-tile-text small { display: block; margin-top: 2px; }

/* Popular destinations: same card width as the package rows */
.destinations-grid > .dest-card { flex: 0 0 calc(100% / 4.25) !important; max-width: none !important; min-width: 0 !important; aspect-ratio: 3 / 4; height: auto !important; margin: 0 !important; }
@media (max-width: 1100px) { .destinations-grid > .dest-card { flex-basis: calc(100% / 3.25) !important; } }
@media (max-width: 767px) { .destinations-grid > .dest-card { flex-basis: calc(100% / 2.1) !important; } }

/* Package cards on listing pages: no borders, touching, light strip */
.pkg-card { border: 0 !important; background: var(--card-bg) !important; }
.pkg-grid { border-top: 0; }
.pkg-body { padding: 12px 12px 14px !important; }

/* Guest photos mosaic: no gaps */
.lx-g-grid { gap: 0 !important; }

/* Section rhythm: compact, like the reference */
.lx-section, .package-section, .related-packages, .site-faq-section, .popular-destinations, .lead-form-section, #testimonials { padding-block: var(--sec) !important; }

.lx-head h2, main h2 { max-width: none !important; }

/* A little space between photos: 4px on phones, 6px on larger screens */
:root { --pgap: 4px; }
@media (min-width: 768px) { :root { --pgap: 6px; } }
.lx-regions, .lx-styles, .lx-journeys, .lx-acts-row, .destinations-grid, .pkg-grid, .fam-places ul, .related-packages ul, .gallery-grid, .lx-g-grid, .lx-places-grid {
  gap: var(--pgap) !important; row-gap: var(--pgap) !important;
}
.lx-journeys.lx-shelf > li, .lx-acts-row.lx-shelf > li, .destinations-grid > .dest-card { flex-basis: calc((100% - 4 * var(--pgap)) / 4.25) !important; }
@media (max-width: 1100px) { .lx-journeys.lx-shelf > li, .lx-acts-row.lx-shelf > li, .destinations-grid > .dest-card { flex-basis: calc((100% - 3 * var(--pgap)) / 3.25) !important; } }
@media (max-width: 767px) { .lx-journeys.lx-shelf > li, .lx-acts-row.lx-shelf > li, .destinations-grid > .dest-card { flex-basis: calc((100% - 2 * var(--pgap)) / 2.1) !important; } }

/* Trip-kind filter tiles on listing pages: square photo tiles, not chips */
.pk-styles .pk-opt { border-radius: 0 !important; }
.pk-styles .pk-opt img { border-radius: 0 !important; }
/* Rows that use two classes need the photo gap stated with matching weight */
.lx-journeys.lx-shelf, .lx-acts-row.lx-shelf, .lx-journeys.lx-journeys-fit, .lx-regions.lx-places-grid, .lx-g-grid.js-anim { gap: var(--pgap) !important; row-gap: var(--pgap) !important; }
.gallery-rail-group { gap: var(--pgap) !important; }

/* Reviews: card on the shared left edge, arrows below as circles, equal-width buttons on phones */
#testimonials .testimonials-slider-wrap { display: flex !important; flex-wrap: wrap; gap: var(--s3, 12px); }
#testimonials .testimonials-slider-viewport { order: -1; flex: 0 0 100% !important; width: 100%; }
#testimonials .ts-arrow { width: 44px !important; height: 44px !important; min-width: 44px !important; border-radius: 50% !important; margin: 0 !important; }
@media (max-width: 767px) {
  .lx-guests-actions { display: grid !important; grid-template-columns: 1fr; }
  .lx-guests-actions .lx-btn, #testimonials .testimonials-review-btn { width: 100% !important; max-width: none !important; justify-content: center !important; }
  #testimonials .testimonials-header { align-items: stretch !important; }
}

/* Places on this day: small photo cards inside each itinerary day; compact, scrolls sideways on phones */
.day-places { margin: var(--s3, 12px) 0 0; }
.day-places-h { margin: 0 0 6px !important; font-size: var(--t-xs, 13px) !important; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--lx-muted, #5b6470); }
.day-places ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--pgap, 6px); }
.day-places li { background: var(--card-bg, #f9f9f9); display: flex; flex-direction: column; min-width: 0; }
.day-places img { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; display: block; }
.day-places b { display: block; padding: 6px 8px 0; font-size: 14px; line-height: 1.25; }
.day-places span { display: block; padding: 2px 8px 8px; font-size: 13px; line-height: 1.35; color: var(--lx-muted, #5b6470); }
@media (max-width: 767px) {
  .day-places ul { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .day-places ul::-webkit-scrollbar { display: none; }
  .day-places li { flex: 0 0 62%; scroll-snap-align: start; }
}
.tp-day-places { grid-column: 1 / -1; margin: 2px 0 0 !important; font-size: 13px !important; color: var(--lx-muted, #5b6470); }
.tp-day-places:empty { display: none; }
.tpd-places { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.tpd-places img { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; display: block; }
.tpd-places b { display: block; font-size: 13px; margin-top: 4px; }
.tpd-places span { display: block; font-size: 12px; line-height: 1.3; color: #555; }
@media print { .tpd-places { grid-template-columns: repeat(4, 1fr); } .tpd-places li { break-inside: avoid; } }
.flowchart-step .day-places { grid-column: 1; }
@media (max-width: 767px) { .flowchart-step .day-places { order: 5; } }

/* Homepage payment banner: light blue band, dark text */
.lx-paybar-in { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 28px; align-items: center; padding: 26px 28px; background: #eaf1f8; border-left: 4px solid #2f5d8a; color: #111; text-decoration: none !important; }
.lx-paybar-eyebrow { margin: 0 0 6px !important; font-size: var(--t-xs, 13px) !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #2f5d8a !important; }
:root main .lx-paybar h2 { color: #111 !important; margin: 0 0 8px !important; }
.lx-paybar-text > p:not(.lx-paybar-eyebrow) { margin: 0 !important; color: #3d4450 !important; max-width: 60ch; }
.lx-paybar-methods { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0 !important; padding: 0 !important; list-style: none !important; }
.lx-paybar-methods li { background: #fff; border: 1px solid #c9d6e3; padding: 5px 10px; font-size: 13px; font-weight: 600; color: #1d2026; }
.lx-paybar-btn { white-space: nowrap; }
.lx-paybar-in:hover .lx-paybar-btn { background: #2f5d8a !important; border-color: #2f5d8a !important; }
@media (max-width: 767px) { .lx-paybar-in { grid-template-columns: 1fr; padding: 20px 18px; } .lx-paybar-btn { width: 100%; } }

/* Package chooser cards (hub pages, homepage) */
.pk2-hub-h { margin: 0 0 6px !important; }
.pk2-hub-lead { margin: 0 0 18px !important; color: #3d4450; max-width: 70ch; }
.pk2-row-h { display: flex; align-items: baseline; gap: 10px; margin: 18px 0 10px !important; font-size: 18px !important; }
.pk2-row-h span { font-size: 14px; font-weight: 400; color: #5b6470; }
.pk2-cards { list-style: none; margin: 0 0 8px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--pgap, 6px); }
.pk2-card { display: flex; flex-direction: column; height: 100%; background: var(--card-bg, #f9f9f9); color: #111 !important; text-decoration: none !important; }
.pk2-card figure { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.pk2-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.pk2-card:hover img { transform: scale(1.03); }
.pk2-card small { display: block; padding: 10px 12px 0; font-size: 12.5px; font-weight: 700; letter-spacing: .03em; color: #2f5d8a; }
.pk2-card h3 { margin: 2px 12px 2px !important; font-size: 18px !important; }
.pk2-card p { margin: 0 12px 8px !important; font-size: 14px; color: #5b6470; }
.pk2-card-price { margin: auto 12px 0; font-size: 15px; }
.pk2-card-price b { font-size: 19px; }
.pk2-card-basis { display: block; margin: 2px 12px 12px; font-size: 12px; color: #5b6470; }
.pk2-card-city { background: #eaf1f8; border-left: 4px solid #2f5d8a; justify-content: center; }
.pk2-card-city > div { padding: 18px 16px; }
.pk2-card-city small { padding: 0; }
.pk2-card-city h3, .pk2-card-city p { margin-left: 0 !important; margin-right: 0 !important; }
.pk2-card-go { font-weight: 700; color: #2f5d8a; }
@media (max-width: 860px) { .pk2-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .pk2-cards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--gut, 20px)) !important; padding-inline: var(--gut, 20px) !important; }
  .pk2-cards > li { flex: 0 0 78%; scroll-snap-align: start; }
}
.lx-journey-city { background: #eaf1f8 !important; border-left: 4px solid #2f5d8a; height: 100%; display: flex !important; align-items: center; }
.lx-city-in { padding: 20px 16px; }
.lx-city-in small { display: block; color: #2f5d8a; font-weight: 700; font-size: 12.5px; }
.lx-city-in h3 { margin: 6px 0 10px !important; }
.lx-city-in span { font-weight: 700; color: #2f5d8a; }
.pk-hub .pk2-hub-h { margin-top: var(--sec, 32px) !important; }
.pk2-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pk2-citybar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 20px; margin: 10px 0 8px; padding: 16px 18px; background: #eaf1f8; border-left: 4px solid #2f5d8a; color: #111 !important; text-decoration: none !important; font-size: 15px; }

/* Homepage Best Sellers: title + trip length, route, inclusions and a price panel
   (layout idea from big travel sites, kept in the site's own fonts, colours and square corners). */
.lx-bs-shelf .lx-bs .lx-bs-top { display: flex; align-items: flex-start; gap: 10px; margin: 2px 0 3px; padding: 0 10px; }
.lx-bs-shelf .lx-bs .lx-bs-top h3 { flex: 1; min-width: 0; margin: 0 !important; padding: 0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 16px !important; font-weight: 700 !important; }
.lx-bs-shelf .lx-bs-dur { flex: none; padding: 1px 7px; border: 1px solid #2f5d8a; color: #2f5d8a; font-size: 13px; font-weight: 700; line-height: 1.45; }
.lx-bs-shelf .lx-bs-route { margin: 0 0 7px; padding: 0 10px; color: var(--lx-muted); font-size: 13.5px; line-height: 1.5; }
.lx-bs-shelf .lx-bs-route em { font-style: normal; }
.lx-bs-shelf .lx-bs-route em + em::before { content: "\2022"; margin: 0 6px; color: var(--lx-text); }
.lx-bs-shelf .lx-inc { display: flex; flex-wrap: wrap; gap: 3px 12px; list-style: none; margin: 0 0 10px; padding: 0 10px; }
.lx-bs-shelf .lx-inc li { display: inline-flex; align-items: center; gap: 5px; color: var(--lx-text); font-size: 13px; line-height: 1.3; white-space: nowrap; }
.lx-bs-shelf .lx-inc i { color: #2f5d8a; font-size: 11px; }
.lx-bs-shelf .lx-bs-price { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: auto 10px 0; padding: 10px 12px; background: #fff; border: 1px solid var(--lx-line); }
.lx-bs-shelf .lx-bs-note { max-width: 9.5rem; color: var(--lx-muted); font-size: 12.5px; font-style: normal; line-height: 1.3; }
.lx-bs-shelf .lx-bs-amt { text-align: right; }
.lx-bs-shelf .lx-bs-amt strong { display: block; color: var(--lx-text); font-size: 20px; font-weight: 700; line-height: 1.15; white-space: nowrap; }
.lx-bs-shelf .lx-bs-amt strong.is-ask { font-size: 16px; }
.lx-bs-shelf .lx-bs-amt strong em { margin-left: 2px; color: var(--lx-muted); font-size: 13px; font-style: normal; font-weight: 400; }
.lx-bs-shelf .lx-bs-sub { display: block; color: var(--lx-muted); font-size: 12px; font-style: normal; }
.lx-bs-shelf .lx-bs:hover .lx-bs-price { border-color: #2f5d8a; }
@media (max-width: 767px) {
  .lx-bs-shelf .lx-bs .lx-bs-top { flex-direction: column; gap: 4px; }
  .lx-bs-shelf .lx-bs .lx-bs-top h3 { white-space: normal; font-size: 14px !important; }
  .lx-bs-shelf .lx-bs-dur { font-size: 11.5px; padding: 0 5px; }
  .lx-bs-shelf .lx-bs-route { font-size: 12px; }
  .lx-bs-shelf .lx-bs-route em + em::before { margin: 0 4px; }
  .lx-bs-shelf .lx-inc { gap: 2px 9px; }
  .lx-bs-shelf .lx-inc li { font-size: 12px; gap: 4px; }
  .lx-bs-shelf .lx-inc i { font-size: 10px; }
  .lx-bs-shelf .lx-bs-note { display: none; }
  .lx-bs-shelf .lx-bs-price { padding: 8px 10px; justify-content: flex-start; }
  .lx-bs-shelf .lx-bs-amt { text-align: left; }
  .lx-bs-shelf .lx-bs-amt strong { font-size: 17px; }
  .lx-bs-shelf .lx-bs-amt strong.is-ask { font-size: 14px; }
}

/* Best Sellers: photo and text framed as one card (white box, thin border, soft shadow). */
.lx-bs-shelf .lx-journeys.lx-shelf { padding-block: 4px 14px; }
.lx-bs-shelf .lx-bs { background: #fff !important; border: 1px solid var(--lx-line); box-shadow: 0 2px 10px rgba(14, 16, 19, 0.06); padding: 0 0 12px !important; transition: box-shadow 0.2s ease, border-color 0.2s ease; }
.lx-bs-shelf .lx-bs:hover { border-color: #c9d3de; box-shadow: 0 6px 22px rgba(14, 16, 19, 0.12); }
.lx-bs-shelf .lx-bs figure { margin: 0 0 12px !important; }
.lx-bs-shelf .lx-bs .lx-bs-top { padding: 0 12px; }
.lx-bs-shelf .lx-bs-route { padding: 0 12px; margin-bottom: 10px; }
.lx-bs-shelf .lx-bs .lx-inc { margin: 0 12px 12px; padding: 10px 0 0; border-top: 1px solid var(--lx-line); }
.lx-bs-shelf .lx-bs-price { margin: auto 12px 0; background: var(--lx-tint, #f3f4f5); border-color: transparent; }
.lx-bs-shelf .lx-bs:hover .lx-bs-price { border-color: transparent; }
@media (max-width: 767px) {
  .lx-bs-shelf .lx-bs .lx-bs-top, .lx-bs-shelf .lx-bs-route { padding: 0 10px; }
  .lx-bs-shelf .lx-bs .lx-inc { margin: 0 10px 10px; padding-top: 8px; }
  .lx-bs-shelf .lx-bs-price { margin: auto 10px 0; }
}

/* Best Sellers: inclusions as a labelled panel with » markers. */
.lx-bs-shelf .lx-bs-inc { margin: 0 12px 12px; padding: 10px 12px; background: var(--lx-tint, #f3f4f5); }
.lx-bs-shelf .lx-bs-inc b { display: block; margin-bottom: 5px; color: var(--lx-muted); font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.lx-bs-shelf .lx-bs-inc ul { display: grid; gap: 3px; list-style: none; margin: 0; padding: 0; }
.lx-bs-shelf .lx-bs-inc li { position: relative; padding-left: 16px; color: var(--lx-text); font-size: 13.5px; line-height: 1.35; }
.lx-bs-shelf .lx-bs-inc li::before { content: "\00BB"; position: absolute; left: 0; top: -1px; color: #2f5d8a; font-weight: 700; }
.lx-bs-shelf .lx-bs-price { background: #fff; border: 1px solid var(--lx-line); }
.lx-bs-shelf .lx-bs:hover .lx-bs-price { border-color: var(--lx-line); }
@media (max-width: 767px) {
  .lx-bs-shelf .lx-bs-inc { margin: 0 10px 10px; padding: 8px 9px; }
  .lx-bs-shelf .lx-bs-inc b { font-size: 10px; }
  .lx-bs-shelf .lx-bs-inc li { padding-left: 12px; font-size: 12px; }
}
/* Best Sellers: landscape photos (4:3) so the section has a conventional height. */
.lx-bs-shelf .lx-bs figure { aspect-ratio: 4 / 3 !important; }
@media (max-width: 767px) {
  .lx-bs-shelf .lx-journeys.lx-shelf > li { flex-basis: 78% !important; }
  .lx-bs-shelf .lx-bs figure::after { width: 2.1rem; height: 2.1rem; font-size: 0.85rem; right: 0.6rem; bottom: 0.6rem; }
}
@media (max-width: 767px) {
  .lx-bs-shelf .lx-bs .lx-bs-top { flex-direction: row; align-items: flex-start; }
  .lx-bs-shelf .lx-bs .lx-bs-top h3 { font-size: 15px !important; }
}
/* Best Sellers price box: light grey panel with border, note on the left, big price on the right (phone too). */
.lx-bs-shelf .lx-bs-price, .lx-bs-shelf .lx-bs:hover .lx-bs-price { gap: 12px; padding: 12px 14px; background: #f6f7f8; border: 1px solid #d5dae0; }
.lx-bs-shelf .lx-bs-note { display: block !important; max-width: 10rem; color: var(--lx-text); font-size: 13.5px; line-height: 1.35; }
.lx-bs-shelf .lx-bs-amt { text-align: right !important; }
.lx-bs-shelf .lx-bs-amt strong { font-size: 22px; letter-spacing: -0.01em; }
.lx-bs-shelf .lx-bs-amt strong em { font-size: 13.5px; margin-left: 3px; }
.lx-bs-shelf .lx-bs-amt strong.is-ask { font-size: 17px; }
.lx-bs-shelf .lx-bs-sub { margin-top: 2px; font-size: 12.5px; }
@media (max-width: 767px) {
  .lx-bs-shelf .lx-bs-price { justify-content: space-between !important; padding: 10px 12px; }
  .lx-bs-shelf .lx-bs-note { max-width: 8.5rem; font-size: 12.5px; }
  .lx-bs-shelf .lx-bs-amt strong { font-size: 19px; }
  .lx-bs-shelf .lx-bs-amt strong.is-ask { font-size: 15px; }
}
.lx-bs-shelf .lx-bs-note b { display: inline; margin: 0; color: var(--lx-text); font-size: inherit; font-weight: 700; letter-spacing: 0; text-transform: none; }

/* Best Sellers v2: clearer order — name, where you go, what's included, price, booking offer. */
.lx-bs-shelf .lx-bs-route { margin-bottom: 12px; }
.lx-bs-shelf .lx-bs-inc { margin: 0 12px 14px; padding: 0; background: none; }
.lx-bs-shelf .lx-bs-inc li:first-child { padding-left: 18px; font-weight: 600; }
.lx-bs-shelf .lx-bs-inc li:first-child::before { content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 11px; top: 2px; left: 1px; }
.lx-bs-shelf .lx-bs-price, .lx-bs-shelf .lx-bs:hover .lx-bs-price { align-items: flex-end; margin: auto 12px 0; padding: 12px 14px; background: #f6f7f8; border: 1px solid #d5dae0; border-bottom: 0; }
.lx-bs-shelf .lx-bs-amt { text-align: left !important; }
.lx-bs-shelf .lx-bs-amt .lx-bs-sub { margin: 0 0 2px; font-size: 12.5px; }
.lx-bs-shelf .lx-bs-amt strong { font-size: 22px; }
.lx-bs-shelf .lx-bs-amt strong.is-ask { font-size: 18px; }
.lx-bs-shelf .lx-bs-go { display: inline-flex; align-items: center; gap: 6px; color: #2f5d8a; font-size: 14px; font-weight: 700; white-space: nowrap; }
.lx-bs-shelf .lx-bs-go i { font-size: 12px; transition: transform 0.2s ease; }
.lx-bs-shelf .lx-bs:hover .lx-bs-go i { transform: translateX(3px); }
.lx-bs-shelf .lx-bs-book { display: flex; align-items: center; gap: 7px; margin: 0 12px; padding: 8px 14px; background: #eef4fa; border: 1px solid #d5dae0; border-top: 1px dashed #c3d0dd; color: #2f5d8a; font-size: 13px; line-height: 1.3; }
.lx-bs-shelf .lx-bs-book b { color: #1f4468; font-weight: 700; }
.lx-bs-shelf .lx-bs-book i { font-size: 12px; }
.lx-bs-shelf .lx-bs { transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.lx-bs-shelf .lx-bs:hover { transform: translateY(-3px); }
.lx-bs-shelf .lx-bs figure::after { width: 2.3rem; height: 2.3rem; font-size: 0.9rem; }
@media (max-width: 767px) {
  .lx-bs-shelf .lx-bs-inc { margin: 0 10px 12px; }
  .lx-bs-shelf .lx-bs-price, .lx-bs-shelf .lx-bs-book { margin-inline: 10px; }
  .lx-bs-shelf .lx-bs-price { padding: 10px 12px; }
  .lx-bs-shelf .lx-bs-amt strong { font-size: 19px; }
  .lx-bs-shelf .lx-bs-book { padding: 7px 12px; font-size: 12.5px; }
  .lx-bs-shelf .lx-bs:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) { .lx-bs-shelf .lx-bs, .lx-bs-shelf .lx-bs-go i { transition: none; } .lx-bs-shelf .lx-bs:hover { transform: none; } }
.lx-bs-shelf .lx-bs-book { display: block; }
.lx-bs-shelf .lx-bs-book i { margin-right: 7px; }

/* "Where would you like to go?": place name with a location pin and a larger line under it, on a deeper fade. */
#destinations .lx-tile::after { background: linear-gradient(180deg, transparent 50%, rgba(8, 10, 12, 0.35) 68%, rgba(8, 10, 12, 0.85) 100%); }
#destinations .lx-tile-text { padding: 0 18px 20px; }
#destinations .lx-tile-text b { display: flex; align-items: center; gap: 9px; font-size: 28px !important; line-height: 1.1; }
#destinations .lx-tile-text b i { font-size: 0.72em; }
#destinations .lx-tile-text small { margin-top: 6px; font-size: 18px !important; font-weight: 400; line-height: 1.3; opacity: 0.95; }
#destinations .lx-tile-solid .lx-tile-text b { display: block; }
@media (max-width: 767px) {
  #destinations .lx-tile-text { padding: 0 12px 14px; }
  #destinations .lx-tile-text b { gap: 6px; font-size: 21px !important; }
  #destinations .lx-tile-text small { margin-top: 4px; font-size: 14.5px !important; }
}

/* "From your city" card in a framed shelf: same frame as the package cards. */
.lx-bs-shelf .lx-journey-city { border: 1px solid var(--lx-line); border-left: 4px solid #2f5d8a; box-shadow: 0 2px 10px rgba(14, 16, 19, 0.06); }

/* Popular Destinations: place name with a location pin, like the region tiles. */
#popular-destinations .dest-info h3 { display: flex; align-items: center; gap: 8px; font-size: 24px !important; line-height: 1.15; }
#popular-destinations .dest-info h3 i { font-size: 0.72em; }
#popular-destinations .dest-info p { margin-top: 4px; font-size: 16px !important; font-weight: 400; color: #fff !important; opacity: 0.95; }
@media (max-width: 767px) {
  #popular-destinations .dest-info h3 { gap: 6px; font-size: 19px !important; }
  #popular-destinations .dest-info p { font-size: 14px !important; }
}

/* Package cards: whole card opens the trip (stretched link); call, WhatsApp and callback buttons sit above it. */
.lx-bs-shelf .lx-bs { position: relative; }
.lx-bs-shelf .lx-bs-link { position: absolute; inset: 0; z-index: 1; }
.lx-bs-shelf .lx-bs-link:focus-visible { outline: 2px solid #2f5d8a; outline-offset: 2px; }
.lx-bs-shelf .lx-bs-act { position: relative; z-index: 2; display: flex; gap: 8px; margin: 10px 12px 0; }
.lx-bs-shelf .lx-bs-ic { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; border: 1px solid #111; background: #fff; color: #111 !important; font-size: 17px; text-decoration: none; transition: background 0.15s ease, color 0.15s ease; }
.lx-bs-shelf .lx-bs-ic:hover { background: #111; color: #fff !important; }
.lx-bs-shelf .lx-bs-ic.is-wa { border-color: #1f9d55; color: #1f9d55 !important; font-size: 21px; }
.lx-bs-shelf .lx-bs-ic.is-wa:hover { background: #1f9d55; color: #fff !important; }
.lx-bs-shelf .lx-bs-cb { flex: 1; min-height: 44px; padding: 0 14px; border: 0; background: #111; color: #fff; font: 600 15px/1 var(--lx-sans, "DM Sans", sans-serif); cursor: pointer; transition: background 0.15s ease; }
.lx-bs-shelf .lx-bs-cb:hover { background: #2f5d8a; }
.lx-bs-shelf .lx-bs-cb:focus-visible, .lx-bs-shelf .lx-bs-ic:focus-visible { outline: 2px solid #2f5d8a; outline-offset: 2px; }
@media (max-width: 767px) {
  .lx-bs-shelf .lx-bs-act { margin: 10px 10px 0; gap: 6px; }
  .lx-bs-shelf .lx-bs-cb { font-size: 14px; }
}

/* Lead popup in the site theme: square corners, black and blue. */
.trip-modal-dialog, .trip-modal-close, .trip-modal-wa-btn, .trip-confirm-wa-btn, .trip-confirm-close-btn, .trip-modal-submit-btn, .trip-input-shell, .trip-input-shell input, .trip-input-shell select { border-radius: 0 !important; }
.trip-modal-submit-btn { background: #111 !important; }
.trip-modal-submit-btn:hover { background: #2f5d8a !important; }
.trip-modal-overlay.is-callback .trip-modal-badge { display: none !important; }

/* "Where would you like to go?": three places only (All Packages moved to a "View all" link). */
#destinations .lx-regions { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
#destinations .lx-regions .lx-tile { aspect-ratio: 4 / 4.4; }
@media (max-width: 767px) {
  #destinations .lx-regions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #destinations .lx-regions > li:first-child { grid-column: 1 / -1; }
  #destinations .lx-regions > li:first-child .lx-tile { aspect-ratio: 16 / 10; }
  #destinations .lx-regions .lx-tile { aspect-ratio: 3 / 3.6; }
}
#destinations .lx-regions .lx-tile { aspect-ratio: 4 / 4.4 !important; }
@media (max-width: 767px) {
  #destinations .lx-regions .lx-tile { aspect-ratio: 3 / 3.6 !important; }
  #destinations .lx-regions > li:first-child .lx-tile { aspect-ratio: 16 / 10 !important; }
}
#destinations .lx-head { flex-wrap: nowrap; gap: 12px; }
#destinations .lx-head h2 { max-width: none; }
#destinations .lx-head .lx-shelf-tools { flex: none; }
/* Package cards on every homepage shelf: slight rounded corners (owner asked). */
.lx-bs-shelf .lx-journey.lx-bs { border-radius: 6px !important; overflow: hidden; }
.lx-bs-shelf .lx-bs figure, .lx-bs-shelf .lx-bs figure img { border-radius: 0 !important; }
.lx-bs-shelf .lx-bs-link { border-radius: 6px; }
.lx-bs-shelf .lx-bs-price { border-radius: 4px 4px 0 0 !important; }
.lx-bs-shelf .lx-bs-book { border-radius: 0 0 4px 4px !important; }
.lx-bs-shelf .lx-bs-ic, .lx-bs-shelf .lx-bs-cb { border-radius: 4px !important; }
.lx-bs-shelf .lx-bs-dur { border-radius: 3px; }
.lx-bs-shelf .lx-journey-city { border-radius: 6px !important; }

/* Homepage: the same slight rounded corners on every section's boxes (hero stays edge to edge). */
body.home .lx-tile, body.home .dest-card, body.home .lx-paybar-in, body.home .lx-build-map, body.home .lx-build-panel, body.home .lx-cab-card,
body.home .lx-act, body.home #gallery-strip figure, body.home .lx-g-stats,
body.home .testimonial-card, body.home .site-faq-list, body.home .lx-about-note, body.home .lx-quick-shell { border-radius: 6px !important; overflow: hidden; }
body.home .lx-tile img, body.home .dest-card img, body.home .dest-card video, body.home .lx-act figure, body.home .lx-act img,
body.home #gallery-strip img, body.home .lx-138-banner img { border-radius: 0 !important; }
body.home .lx-place, body.home .lx-veh, body.home .lx-quick-form input, body.home .lx-quick-form button { border-radius: 4px !important; }
body.home #activities .lx-act, body.home #transport .lx-cab-card { border-radius: 6px !important; overflow: hidden; }
body.home .lx-cab-steps { border-radius: 0 !important; }

/* Booking strip keeps its size; a small blue "Book now" button sits on its right, above the card link. */
.lx-bs-shelf .lx-bs-book { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; }
.lx-bs-shelf .lx-bs-book .lx-bs-book-t { color: inherit !important; font-size: inherit !important; }
.lx-bs-shelf .lx-bs-bk { position: relative; z-index: 2; flex: none; padding: 5px 12px; border: 0; border-radius: 4px; background: #2f5d8a; color: #fff !important; font: 700 13px/1.2 var(--lx-sans, "DM Sans", sans-serif); text-decoration: none; cursor: pointer; transition: background 0.15s ease; }
.lx-bs-shelf .lx-bs-bk:hover { background: #1f4468; }
.lx-bs-shelf .lx-bs-bk:focus-visible { outline: 2px solid #111; outline-offset: 2px; }
@media (max-width: 767px) { .lx-bs-shelf .lx-bs-bk { padding: 5px 10px; font-size: 12.5px; } }
.lx-bs-shelf .lx-bs-book .lx-bs-book-t { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.lx-bs-shelf .lx-bs-book .lx-bs-book-t { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.3; font-size: 13px; }
/* Header is white now: the hero starts below it (not hidden under it), no dark band at the top,
   and a slightly stronger fade at the bottom so the place name and buttons stay readable on busy photos. */
body .lx-hero { margin-top: var(--header-h, 72px) !important; }
@media (max-width: 767px) { body .lx-hero { margin-top: 56px !important; } }
.lx-slider .hero-slide::after { background: linear-gradient(180deg, rgba(8, 10, 12, 0) 0%, rgba(8, 10, 12, 0) 45%, rgba(8, 10, 12, 0.5) 72%, rgba(8, 10, 12, 0.8) 100%) !important; }
.lx-keyword { text-shadow: 0 2px 14px rgba(0, 0, 0, 0.6); }
/* Hero as an inset rounded card (like the trip-page title banner), and the destination tiles on the same edges,
   so the top of the page reads as one set of cards instead of a dark band against white. */
body .lx-hero { margin: calc(var(--header-h, 72px) + 16px) 20px 0 !important; border-radius: 8px; min-height: clamp(420px, 66vh, 620px); min-height: clamp(420px, 66svh, 620px); }
body .lx-hero .lx-slider, body .lx-hero .hero-slide, body .lx-hero img, body .lx-hero video { border-radius: 8px; }
#destinations .lx-regions { margin-inline: 0 !important; }
@media (max-width: 767px) {
  body .lx-hero { margin: calc(56px + 12px) 16px 0 !important; min-height: 60svh; }
}
/* ===== One page gutter on the homepage: 16px phones, 20px desktop =====
   Scrolling rows still swipe edge to edge, but their first card starts on the gutter line. */
body.home { --hgut: 20px; }
@media (max-width: 767px) { body.home { --hgut: 16px; } }
body.home .lx-journeys.lx-shelf, body.home #popular-destinations .destinations-grid, body.home #gallery-strip .lx-g-grid {
  margin-inline: calc(-1 * var(--hgut)) !important; padding-inline: var(--hgut) !important; scroll-padding-inline: var(--hgut) !important; box-sizing: content-box;
}
@media (min-width: 768px) {
  body.home .lx-journeys.lx-shelf, body.home #popular-destinations .destinations-grid, body.home #gallery-strip .lx-g-grid { box-sizing: border-box; width: calc(100% + 2 * var(--hgut)) !important; }
}
body.home #group-milestone-showcase .lx-138-banner { margin-inline: var(--hgut) !important; border-radius: 6px !important; overflow: hidden; }
body.home #faqs .site-faq-container, body.home :is(#plan-trip, .lx-quick-sec) > .container { padding-inline: var(--hgut) !important; }
/* Half the page margin (owner): 8px phones, 10px desktop, everywhere on the homepage. */
body.home { --hgut: 10px; }
@media (max-width: 767px) { body.home { --hgut: 8px; } }
body.home main .container, body.home main .section-shell { padding-inline: var(--hgut) !important; }
body.home .lx-hero { margin-left: var(--hgut) !important; margin-right: var(--hgut) !important; }
/* Page side margin = the gap between cards (owner): 4px phones, 6px desktop. */
body.home { --hgut: var(--pgap, 6px); }
@media (max-width: 767px) { body.home { --hgut: var(--pgap, 4px); } }
/* Scrolling rows stay inside the page margin on both sides (owner: right edge must match too). */
body.home .lx-journeys.lx-shelf, body.home #popular-destinations .destinations-grid, body.home #gallery-strip .lx-g-grid, body.home #activities .lx-acts-row {
  margin-inline: 0 !important; padding-inline: 0 !important; scroll-padding-inline: 0 !important; width: 100% !important; box-sizing: border-box !important;
}
/* Desktop: shelves with 4 or fewer cards fill the row, so they end on the right margin too. */
@media (min-width: 1024px) {
}
@media (min-width: 1024px) { body.home section:is(:has(.lx-journeys.lx-shelf > li:nth-child(1):last-child), :has(.lx-journeys.lx-shelf > li:nth-child(2):last-child), :has(.lx-journeys.lx-shelf > li:nth-child(3):last-child), :has(.lx-journeys.lx-shelf > li:nth-child(4):last-child)) .lx-shelf-arrow { display: none !important; } }
/* FAQ list and free-plan form: white cards like the package cards, so their text sits inside the same padding (owner). */
body.home .site-faq-list, body.home :is(#plan-trip, .lx-quick-sec) .lx-quick-shell { background: #fff !important; border: 1px solid var(--lx-line, #e1e4e8) !important; border-radius: 6px !important; padding: 4px 11px !important; box-shadow: 0 2px 10px rgba(14, 16, 19, .05); }
body.home :is(#plan-trip, .lx-quick-sec) .lx-quick-shell { padding: 16px 11px !important; }
body.home .site-faq-list .site-faq-item:last-child { border-bottom: 0 !important; }
@media (min-width: 768px) { body.home .site-faq-list { padding: 4px 18px !important; } body.home :is(#plan-trip, .lx-quick-sec) .lx-quick-shell { padding: 22px 18px !important; } }

/* Menu: Packages in two tidy columns + the Build your own card; About dropdown. */
.jt-panel-packages { grid-template-columns: 9.5rem 10.5rem 13rem !important; }
.jt-panel-packages .jt-col, .jt-panel-about .jt-col { display: flex; flex-direction: column; }
.jt-panel-about { width: max-content; min-width: 11rem; grid-template-columns: 1fr; }

/* Menu panels: equal text columns, same heading style, no pictures (owner). */
.jt-panel.jt-panel-cols { display: grid !important; grid-auto-flow: column; grid-auto-columns: 11rem; grid-template-columns: none !important; gap: 0 1.75rem !important; width: max-content; }
.jt-panel-cols .jt-col { display: flex; flex-direction: column; }
.jt-panel-cols .jt-col .jt-all { margin-top: 0.6rem; }
.jt-panel-places.jt-panel-cols { right: auto; }
/* Places panel (4 columns): centred under the menu bar so it never runs off the screen. */
@media (min-width: 1024px) {
  .jt-links { position: relative; }
  .jt-item:has(> #jt-places) { position: static; }
  .jt-panel.jt-panel-places { left: 50% !important; right: auto !important; translate: -50% 0; grid-auto-columns: 10rem !important; gap: 0 1.5rem !important; }
}

/* "All packages" / "All places" as a footer row across the menu panel. */
.jt-panel-cols .jt-foot { grid-column: 1 / -1; grid-row: 2; margin-top: 0.9rem; padding-top: 0.8rem; border-top: 1px solid var(--lx-line, #e1e4e8); }
.jt-panel-cols .jt-foot .jt-all { margin: 0 !important; }
.jt-panel.jt-panel-cols { grid-auto-flow: column; grid-template-rows: auto auto; }
.jt-panel.jt-panel-cols { grid-auto-flow: row !important; grid-template-rows: none !important; grid-template-columns: repeat(3, 11rem) !important; }
.jt-panel.jt-panel-places.jt-panel-cols { grid-template-columns: repeat(3, 10rem) !important; }
.jt-panel-cols .jt-foot { grid-row: auto; }

/* Type system (owner, Nov 2026): one geometric sans, DM Sans, with a clear weight ladder.
   Section headings extra-bold and tight; titles, buttons, labels bold; body regular. */
h1, h2, .lx-head h2, .section-heading, .site-faq-title, .lx-keyword { font-weight: 800 !important; letter-spacing: -0.02em !important; line-height: 1.15 !important; }
h3, h4, .ft-title, .lx-bs-sub, .lx-tile-text b, b, strong, dt { font-weight: 700 !important; letter-spacing: -0.01em; }
button, .lx-btn, .jt-top, .jt-head, .lx-more, .lx-bs-go, .lx-bs-amt, .lx-bs-cb, [data-book] { font-weight: 700 !important; }
.lx-bs-amt { font-weight: 800 !important; letter-spacing: -0.02em; }
/* Hero: title and buttons sit well inside the rounded photo, not on its edge. */
body.home .lx-hero .lx-keyword-wrap, body.home .lx-hero .lx-hero-copy { padding-inline: var(--tp) !important; }
/* Photo tiles: text sits further inside the photo, like the hero. */
body.home .lx-tile-text { padding: 0 clamp(18px, 2vw, 28px) clamp(18px, 2vw, 28px) !important; }
/* Homepage spacing system (one scale, 4px base).
   Between sections: 56px desktop / 40px phone (was 40-120px, mixed).
   Heading to its content: 20px / 16px (was 8-20px).
   Boxed panels (pay band, plan form, reviews): 28px / 20px inside (was 18-28px, mixed). */
body.home main > section:not(.lx-hero) { padding-top: 28px !important; padding-bottom: 28px !important; }
body.home main .lx-head { margin-bottom: 20px !important; }
body.home .lx-paybar-in, body.home .lx-quick-shell, body.home .testimonial-card { padding: 28px !important; }
@media (max-width: 767px) {
  body.home main > section:not(.lx-hero) { padding-top: 20px !important; padding-bottom: 20px !important; }
  body.home main .lx-head { margin-bottom: 16px !important; }
  body.home .lx-paybar-in, body.home .lx-quick-shell, body.home .testimonial-card { padding: 20px !important; }
}
/* Same rhythm for sections that carry their own #id spacing rules. */
html body.home main > section#destinations:not(.lx-hero), html body.home main > section#browse:not(.lx-hero), html body.home main > section#pay-online:not(.lx-hero), html body.home main > section#shelf-honeymoon:not(.lx-hero), html body.home main > section#shelf-family:not(.lx-hero), html body.home main > section#shelf-group:not(.lx-hero), html body.home main > section#shelf-friends:not(.lx-hero), html body.home main > section#shelf-offbeat:not(.lx-hero), html body.home main > section#popular-destinations:not(.lx-hero), html body.home main > section#build-your-trip:not(.lx-hero), html body.home main > section#transport:not(.lx-hero), html body.home main > section#group-milestone-showcase:not(.lx-hero), html body.home main > section#activities:not(.lx-hero), html body.home main > section#gallery-strip:not(.lx-hero), html body.home main > section#testimonials:not(.lx-hero), html body.home main > section#faqs:not(.lx-hero), html body.home main > section:is(#plan-trip, .lx-quick-sec):not(.lx-hero) { padding-top: 28px !important; padding-bottom: 28px !important; }
body.home main > .lx-hero { margin-bottom: 28px !important; }
@media (max-width: 767px) {
  html body.home main > section#destinations:not(.lx-hero), html body.home main > section#browse:not(.lx-hero), html body.home main > section#pay-online:not(.lx-hero), html body.home main > section#shelf-honeymoon:not(.lx-hero), html body.home main > section#shelf-family:not(.lx-hero), html body.home main > section#shelf-group:not(.lx-hero), html body.home main > section#shelf-friends:not(.lx-hero), html body.home main > section#shelf-offbeat:not(.lx-hero), html body.home main > section#popular-destinations:not(.lx-hero), html body.home main > section#build-your-trip:not(.lx-hero), html body.home main > section#transport:not(.lx-hero), html body.home main > section#group-milestone-showcase:not(.lx-hero), html body.home main > section#activities:not(.lx-hero), html body.home main > section#gallery-strip:not(.lx-hero), html body.home main > section#testimonials:not(.lx-hero), html body.home main > section#faqs:not(.lx-hero), html body.home main > section:is(#plan-trip, .lx-quick-sec):not(.lx-hero) { padding-top: 20px !important; padding-bottom: 20px !important; }
  body.home main > .lx-hero { margin-bottom: 20px !important; }
}
/* Site-wide spacing system (same scale as the homepage):
   56px between sections on desktop, 40px on phones; 28px / 20px from a page's hero to its content.
   Not on the pk7 trip pages (own layout) or team login. :not(#_) lifts specificity over #id rules. */
html body:not(:has(.pk7)):not(.home) main > :is(section.lx-section, section.package-section, section.lead-form-section, section.related-packages, section.contact-details, section.gallery-page, div.policy-body, div.pay-wrap, div.about-body):not(#_) {
  padding-top: 28px !important; padding-bottom: 28px !important; margin-top: 0 !important; margin-bottom: 0 !important;
}
html body:not(:has(.pk7)):not(.home) main > :is(.lx-page-hero, .package-hero, .policy-hero, .fam-hero, .pk-hero, .contact-hero, .gallery-hero, .about-stats-wrap):not(#_) { margin-bottom: 0 !important; }
html body:not(:has(.pk7)):not(.home) main > :is(.fam-hero, .pk-hero) + .container:not(#_) { padding-top: 28px !important; margin-top: 0 !important; }
@media (max-width: 767px) {
  html body:not(:has(.pk7)):not(.home) main > :is(section.lx-section, section.package-section, section.lead-form-section, section.related-packages, section.contact-details, section.gallery-page, div.policy-body, div.pay-wrap, div.about-body):not(#_) { padding-top: 20px !important; padding-bottom: 20px !important; }
  html body:not(:has(.pk7)):not(.home) main > :is(.fam-hero, .pk-hero) + .container:not(#_) { padding-top: 20px !important; }
}
/* The section padding is the gap: the first heading/block inside a section adds no extra top margin. */
html body:not(:has(.pk7)) main > :is(section.lx-section, section.package-section, section.lead-form-section, section.related-packages, section.contact-details, section.gallery-page, div.policy-body, div.pay-wrap, div.about-body) > :first-child:not(#_),
html body:not(:has(.pk7)) main > :is(section.lx-section, section.package-section, section.lead-form-section, section.related-packages, section.contact-details, section.gallery-page, div.policy-body, div.pay-wrap, div.about-body) > .container > :first-child:not(#_),
html body:not(:has(.pk7)) main > :is(section.lx-section, section.package-section, section.lead-form-section, section.related-packages, section.contact-details, section.gallery-page, div.policy-body, div.pay-wrap, div.about-body) > .container > :first-child > :first-child:not(#_) { margin-top: 0 !important; }
html body:not(:has(.pk7)) main > :is(section.lx-section, section.package-section, section.lead-form-section, section.related-packages, section.contact-details, section.gallery-page, div.policy-body, div.pay-wrap, div.about-body) > .section-shell:not(#_), html body:not(:has(.pk7)) main > :is(section.lx-section, section.package-section, section.lead-form-section, section.related-packages, section.contact-details, section.gallery-page, div.policy-body, div.pay-wrap, div.about-body) > .container.section-shell:not(#_) { padding-top: 0 !important; }
/* Heroes without a background band: their bottom padding was adding to the section gap. */
html body:not(:has(.pk7)) main > .lx-page-hero:not(.lx-page-hero-plain):not(#_) { padding-bottom: 0 !important; }
html body:not(:has(.pk7)) main > .package-hero:not(#_) { padding-bottom: 28px !important; }
@media (max-width: 767px) { html body:not(:has(.pk7)) main > .package-hero:not(#_) { padding-bottom: 20px !important; } }
/* Card-based pages use the homepage edge: cards sit var(--pgap) from the screen (4px phone / 6px desktop).
   Their text is already inside cards, so it keeps its own inset. Reading pages keep the wider text edge. */
html body .pk7:not(#_) { padding-left: var(--pgap, 6px) !important; padding-right: var(--pgap, 6px) !important; }
html body:has(.pk7) .d3-bar:not(#_) { left: var(--pgap, 4px) !important; right: var(--pgap, 4px) !important; }

/* ONE TEXT EDGE, site-wide (owner, Nov 2026).
   --tp = text inset inside a box (40px desktop / 16px phone); --tx = text edge from the screen = gutter + --tp.
   Photos and cards sit on the slim gutter; every heading, paragraph, form, FAQ, header logo and footer
   starts its text on --tx, the same line as the hero text. */
body { --tp: 16px; --tx: calc(var(--pgap, 4px) + 16px); }
@media (min-width: 1024px) { body { --tp: 40px; --tx: calc(var(--pgap, 6px) + 40px); } }

/* Header and footer */
@media (min-width: 1024px) {
  html body header nav:not(#_) { padding-left: 0 !important; padding-right: 0 !important; }
  html body header nav > .container:not(#_) { padding-left: var(--tx) !important; padding-right: var(--tx) !important; max-width: none !important; }
}
html body .site-footer .container:not(#_) { padding-left: var(--tx) !important; padding-right: var(--tx) !important; max-width: none !important; }

/* Homepage: boxes on the gutter, their text on the edge */
html body.home main .lx-head:not(#_), html body.home main .testimonials-header:not(#_) { padding-left: var(--tp) !important; padding-right: var(--tp) !important; }
html body.home .lx-paybar-in:not(#_), html body.home .lx-quick-shell:not(#_) { padding-left: var(--tp) !important; padding-right: var(--tp) !important; }
html body.home .lx-138-banner-text:not(#_) { padding-left: var(--tp) !important; padding-right: var(--tp) !important; }

/* Every other page: content containers put text on the edge */
html body:not(.home) main .container:not(.container .container):not(#_),
html body:not(.home) main :is(.policy-hero, .policy-body, .pay-wrap):not(#_) { padding-left: var(--tx) !important; padding-right: var(--tx) !important; max-width: none !important; }
html body:has(.pk7) main .pk7 .container:not(#_):not(#__):not(.x):not(.y) { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
/* One text edge: remaining blocks */
html body.home .lx-paybar-in:not(#_) { padding-left: calc(var(--tp) - 4px) !important; }
html body.home .lx-quick-shell:not(#_) { padding-left: calc(var(--tp) - 1px) !important; padding-right: calc(var(--tp) - 1px) !important; }
html body.home .lx-cab-intro:not(#_), html body.home .dest-header-wrap:not(#_), html body.home .lx-build-copy:not(#_) { padding-left: var(--tp) !important; }
html body:not(.home) main .container:not(.container .container):not(#_), html body:not(.home) .site-faq-container:not(#_), html body:not(.home) main .lead-form-shell:not(#_) { margin-left: 0 !important; margin-right: 0 !important; }
html body main details.lx-qa:not(#_), html body main details.lx-qa > summary:not(#_) { padding-left: 0 !important; }
html body .about-hero-content:not(#_), html body main .about-body:not(#_) { padding-left: var(--tx) !important; padding-right: var(--tx) !important; }
/* FAQ everywhere: the box sits on the gutter like a card; heading and questions on the text edge. */
html body .site-faq-section .site-faq-container:not(#_) { padding-left: var(--pgap, 6px) !important; padding-right: var(--pgap, 6px) !important; }
html body .site-faq-section .site-faq-header:not(#_) { padding-left: var(--tp) !important; padding-right: var(--tp) !important; }
html body .site-faq-section .site-faq-list:not(#_) { padding-left: calc(var(--tp) - 5px) !important; padding-right: calc(var(--tp) - 5px) !important; }
@media (max-width: 1023px) { html body .site-faq-section .site-faq-list:not(#_) { padding-left: calc(var(--tp) - 1px) !important; padding-right: calc(var(--tp) - 1px) !important; } }
/* DESIGN SYSTEM: one shape and one type scale on every page (owner, Nov 2026). */
/* Shapes: every card/box and every button/chip has a 6px corner. */
html body :is(.lx-journey, .lx-bs, .dest-card, .pkg-card, .pk2-card, .testimonial-card, .site-faq-list, .lx-quick-shell, .lead-form-shell, .lx-paybar-in,
  .lx-cab-card, .lx-build-card, .lx-toc, .pk-finder, .about-stats-grid, .pillar-card, .contact-form-shell, .contact-info-card, .dest-highlight-card,
  .dest-overview-text, .gallery-rail-card, .sticky-booking-widget, .accept-box, .important-note, .brochure-panel, .meta-card, .itin-tools,
  .pk7-hero, .pk7-nav, .itin-days, .flowchart-card, .pk7-info section, .d3-perks, .pk7-side, .promise-cta-card, .lx-138-banner):not(#_):not(#__) { border-radius: 6px !important; }
html body :is(.lx-btn, .pk-opt, .d3-opt, .d3-chip, .d3-hotel, .d3-m, .lx-place, .lx-veh, .lx-seg button, .itin-btn, .lx-cab-submit, .primary-btn, .pkg-book-btn,
  .fam-btn, .fam-more, .dest-btn-call, .dest-btn-whatsapp, .promise-cta-btn, .ghost-btn, .sticky-widget-btn, .pk7-bar-book, .pk7-bar-cb, .pk7-bar-ic,
  .lx-bs-cb, .lx-bs-bk, .lx-bs-ic, .lead-form button[type="submit"], .contact-form-shell button[type="submit"]):not(#_):not(#__) { border-radius: 6px !important; }
html body :is(.d3-seg, .d3-durs, .lx-seg):not(#_):not(#__) { border-radius: 6px !important; }

/* Type scale */
html body main h1:not(.lx-visually-hidden):not(#_) { font-size: clamp(30px, 1.25rem + 2.4vw, 52px) !important; font-weight: 800 !important; letter-spacing: -0.02em !important; line-height: 1.1 !important; }
html body main h2:not(#_) { font-size: 28px !important; font-weight: 800 !important; letter-spacing: -0.02em !important; line-height: 1.15 !important; }
@media (max-width: 767px) { html body main h2:not(#_) { font-size: 24px !important; } }
/* headings that live inside a card */
html body main :is(.pk7-info section > h2, .d3-perks h3, .site-faq-footer h2, .contact-form-shell h2, .promise-cta-card h2, .brochure-panel h3, .dest-info h3,
  .dest-custom-content h3, .lx-act h3, .lx-article li h3, .pillar-card h3, .contact-info-card h3, .dest-hl-info h3, .fam-why h3, .flowchart-card h3, figcaption h3, .lx-article h3):not(#_):not(#__) {
  font-size: 20px !important; font-weight: 700 !important; letter-spacing: -0.01em !important; line-height: 1.25 !important; }
/* package card titles */
html body main :is(.lx-bs-top h3, .pkg-body h3, .lx-journey h3, .pk2-card h3, .lx-city-in h3, .pk2-chooser h3, .pk-hub h3):not(#_):not(#__) { font-size: 16px !important; font-weight: 700 !important; letter-spacing: -0.005em !important; }
/* Design system: stragglers (headings outside <main>, one-off pages) */
html body h2:not(footer h2):not(.lx-visually-hidden):not(#_):not(#__):not(.x) { font-size: 28px !important; font-weight: 800 !important; letter-spacing: -0.02em !important; }
@media (max-width: 767px) { html body h2:not(footer h2):not(.lx-visually-hidden):not(#_):not(#__):not(.x) { font-size: 24px !important; } }
html body :is(.pk7-info section > h2, .site-faq-footer h2, .contact-form-shell h2, .promise-cta-card h2):not(#_):not(#__):not(#___) { font-size: 20px !important; font-weight: 700 !important; letter-spacing: -0.01em !important; }
html body :is(.lx-todo li h3, .blueprint-card h3):not(#_):not(#__) { font-size: 20px !important; font-weight: 700 !important; }
html body :is(.quote-pill, .filter-pill, .pay-btn, .pay-form, .group-stats-card, .group-pillar-card, .blueprint-card, .faq-item):not(#_):not(#__) { border-radius: 6px !important; }
html body :is(.d3-bar.pk7-bar, .pk7 li[class], .pk7 .day-places li, .site-faq-read-more-btn, .tp-card, .tp-submit, .quote-trust-strip):not(#_):not(#__) { border-radius: 6px !important; }
/* Photos and grey panels follow the same 6px corner */
html body :is(.lx-page-hero img, .fam-hero img, .pk-hero img, .hero-main-stage, .hero-main-stage img, .flowchart-photo, .flowchart-photo img, .gallery-item,
  .gallery-media-wrap, .lx-tile, .dest-custom-banner, .fam-help, .lx-answer, .lx-article-cta, .lx-facts, .matrix-section, .story-card,
  main li > a > img, main .lead-form-section:not(.fade-in)):not(#_):not(#__) { border-radius: 6px !important; }
html body :is(.lx-journey, .pk2-card, .lx-tile, .gallery-item, .flowchart-photo, .hero-main-stage):not(#_):not(#__) { overflow: hidden; }
html body :is(.hero-quick-book, .hero-quick-wa, .hero-quick a, .lx-hero-actions a):not(#_):not(#__) { border-radius: 6px !important; }
html body :is(.lx-build-days, .lx-build-days button, .pk2-citybar):not(#_):not(#__) { border-radius: 6px !important; }
/* Homepage (owner): hero starts right under the header; photo sections have square corners. */
html body.home main > .lx-hero:not(#_):not(#__) { margin-top: 72px !important; }
@media (max-width: 767px) { html body.home main > .lx-hero:not(#_):not(#__) { margin-top: 56px !important; } }
html body.home :is(.lx-hero, .lx-hero .hero-slider, .lx-hero .hero-slide, .lx-hero img, .lx-hero video,
  #destinations .lx-tile, #destinations .lx-tile img, #destinations .lx-tile::after,
  #popular-destinations .dest-card, #popular-destinations .dest-card *, 
  #activities .lx-act, #activities .lx-act figure, #activities .lx-act img,
  #gallery-strip li, #gallery-strip figure, #gallery-strip img, #gallery-strip .lx-g-grid > *,
  #pay-online .lx-paybar-in):not(#_):not(#__):not(#___) { border-radius: 0 !important; }
/* Homepage (owner): rounded corners only in the package rows (Best Sellers, Honeymoon, Family, Group, Friends, Offbeat).
   Every other section is square; truly round bits (avatars, dots, arrows, place pills) stay round. */
html body.home main > section:not(#browse):not([id^="shelf-"]):not(#_):not(#__):not(#___),
html body.home main > section:not(#browse):not([id^="shelf-"]) *:not(.lx-act-place):not(.ts-arrow):not(.testimonial-avatar):not(.testimonial-avatar *):not(.ts-dot):not(.lx-cab-other):not(#_):not(#__):not(#___) { border-radius: 0 !important; }
/* ===== COLOUR + IMAGE HOVER v1 (owner: "website is not colorful"; ideas from gtholidays.in) =====
   A warm second colour, Kashmir saffron, beside the blue. Tinted section bands. Smooth zoom-in photo hovers. */
:root { --saffron: #E8A317; --saffron-deep: #B9790A; --saffron-ink: #2A1A00; --tint-blue: #EEF4FA; --tint-cream: #FFF7E8; }

/* 1. Section headings get a short saffron accent bar */
html body :is(.lx-head h2, .section-heading h2, .site-faq-header h2, .testimonials-header h2, .lx-quick-head h2):not(#_)::after {
  content: ""; display: block; width: 44px; height: 4px; margin-top: 10px; background: var(--saffron); border-radius: 2px;
}
html body.home #testimonials .testimonials-header h2::after, html body.home #pay-online h2::after { display: none; }

/* 2. Homepage section bands: alternate pale blue / warm cream (white stays between) */
html body.home main > :is(#browse, #shelf-group, #transport, :is(#plan-trip, .lx-quick-sec)):not(#_):not(#__) { background: var(--tint-blue) !important; }
html body.home main > :is(#shelf-honeymoon, #shelf-friends, #popular-destinations, #gallery-strip):not(#_):not(#__) { background: var(--tint-cream) !important; }

/* 3. Saffron details */
html body .lx-bs-shelf .lx-bs-dur:not(#_) { background: var(--saffron) !important; border-color: var(--saffron) !important; color: var(--saffron-ink) !important; }
html body .lx-bs-inc li:first-child::before:not(#_), html body .lx-bs-inc li:first-child i:not(#_) { color: var(--saffron-deep) !important; }
html body .lx-bs-inc li:first-child:not(#_) { --pin: var(--saffron-deep); }
html body.home #destinations .lx-tile-text b i:not(#_), html body .dest-card .fa-location-dot:not(#_) { color: #FFC23D !important; }
html body .dest-card-badge:not(#_):not(#__) { background: var(--saffron) !important; color: var(--saffron-ink) !important; border-color: transparent !important; font-weight: 700; }
html body .lx-bs-price .lx-bs-amt:not(#_) { color: #2f5d8a !important; }

/* 4. Photo hovers: smooth zoom inside the frame on every photo card */
html body :is(.lx-journey figure, .dest-card, .lx-act figure, .lx-act, .lx-g-grid li, .pk2-card figure, .pkg-card .pkg-img, .lx-tile, .lx-place, .day-places li):not(#_) { overflow: hidden; }
html body :is(.lx-journey figure img, .dest-card img, .lx-act img, .lx-g-grid img, .pk2-card img, .pkg-card img, .lx-tile img):not(#_) {
  transition: transform .7s cubic-bezier(.2, .7, .2, 1), filter .7s ease !important;
}
@media (hover: hover) {
  html body :is(.lx-journey, .dest-card, .lx-act, .lx-g-grid li, .pk2-card, .pkg-card, .lx-tile):hover :is(img):not(#_) { transform: scale(1.08) !important; filter: saturate(1.12) brightness(1.03); }
  /* destination tiles: a blue-to-saffron colour wash rises on hover */
  html body :is(.lx-tile, .dest-card):not(#_)::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0; transition: opacity .5s ease;
    background: linear-gradient(200deg, rgba(232, 163, 23, .0) 35%, rgba(232, 163, 23, .28) 70%, rgba(47, 93, 138, .45) 100%); }
  html body :is(.lx-tile, .dest-card):hover:not(#_)::before { opacity: 1; }
}
html body :is(.lx-tile, .dest-card) .lx-tile-text:not(#_), html body .dest-card :is(.dest-card-info, .dest-card-content, figcaption):not(#_) { z-index: 2; }
@media (prefers-reduced-motion: reduce) { html body :is(.lx-journey figure img, .dest-card img, .lx-act img, .lx-g-grid img, .pk2-card img, .pkg-card img, .lx-tile img):not(#_) { transition: none !important; } }
/* ===== Desktop content width cap (owner: try a centred column like big travel sites) =====
   Content (cards and boxes) sits in a 1320px column centred on wide screens; the cover photo
   and section background colours stay full width. Phones and tablets are unchanged. */
@media (min-width: 1024px) {
  body { --colw: 1320px; }
  html body :is(main .container, .site-faq-section .site-faq-container, .lead-form-section .container, .site-footer .container, header nav > .container):not(.container .container):not(#_):not(#__):not(#___) {
    max-width: calc(var(--colw) + 2 * var(--tx)) !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box;
  }
  html body.home main .container:not(.container .container):not(#_):not(#__):not(#___) { max-width: calc(var(--colw) + 2 * var(--hgut, 6px)) !important; }
  html body.home .site-faq-section .site-faq-container:not(#_):not(#__):not(#___) { max-width: calc(var(--colw) + 2 * var(--pgap, 6px)) !important; }
  html body .pk7:not(#_):not(#__):not(#___) { max-width: calc(var(--colw) + 2 * var(--pgap, 6px)) !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
  html body main :is(.policy-hero, .policy-body, .pay-wrap, .about-body):not(#_):not(#__):not(#___) { padding-left: max(var(--tx), calc((100% - var(--colw)) / 2)) !important; padding-right: max(var(--tx), calc((100% - var(--colw)) / 2)) !important; }
  html body .about-hero-content:not(#_):not(#__):not(#___) { padding-left: max(var(--tx), calc((100% - var(--colw)) / 2)) !important; padding-right: max(var(--tx), calc((100% - var(--colw)) / 2)) !important; }
}
@media (min-width: 1024px) {
  html body:has(.pk7):not(#_) { background: #f3f4f5; }
  html body:has(.pk7) main:not(#_) { background: #f3f4f5; }
  html body.home #group-milestone-showcase .lx-138-banner:not(#_):not(#__):not(#___) { max-width: var(--colw); margin-left: auto !important; margin-right: auto !important; }
}
/* ===== Photo enhancement (owner): one gentle, consistent grade =====
   Landscapes: +12% saturation, +5% contrast. Guest/people photos: a light touch so skin stays natural. */
html body :is(.lx-hero .hero-slide-img, #destinations .lx-tile img, .dest-card img, .lx-act img, .lx-tile img, .lx-page-hero img, .fam-hero img, .pk-hero img,
  .hero-main-stage img, .flowchart-photo img, .day-places img, .pk2-card img, .pkg-card img, .lx-journey figure img, .lx-place img, .gallery-rail-card img, .dest-highlight-card img):not(#_) {
  filter: saturate(1.12) contrast(1.05);
}
html body :is(.lx-g-grid img, .testimonial-card img, .testimonial-avatar img, .lx-138-banner img, .jt-help img, .story-card img, .about-hero img):not(#_):not(#__) {
  filter: saturate(1.04) contrast(1.02);
}
@media (hover: hover) {
  html body :is(.lx-journey, .dest-card, .lx-act, .pk2-card, .pkg-card, .lx-tile):hover img:not(#_):not(#__) { filter: saturate(1.2) contrast(1.06) brightness(1.03) !important; }
  html body .lx-g-grid li:hover img:not(#_):not(#__) { filter: saturate(1.08) contrast(1.03) brightness(1.02) !important; }
}
/* ===== Homepage: "Travel Kashmir with the people who call it home" (local, women-led hosts) ===== */
html body.home main > #local-hosts:not(#_):not(#__) { background: var(--tint-cream, #FFF7E8) !important; padding-top: 48px !important; padding-bottom: 40px !important; }
.lx-hosts-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: center; padding: 0 var(--tp); }
.lx-hosts-eyebrow { margin: 0 0 12px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--saffron-deep, #B9790A); }
html body.home #local-hosts h2:not(#_):not(#__):not(.x) { font-size: clamp(28px, 1.4rem + 1.3vw, 40px) !important; line-height: 1.12 !important; margin: 0 0 16px !important; max-width: 18ch; }
html body.home #local-hosts h2:not(#_)::after { content: ""; display: block; width: 44px; height: 4px; margin-top: 14px; background: var(--saffron, #E8A317); border-radius: 2px; }
.lx-hosts-lead { margin: 0 0 24px; font-size: 18px; line-height: 1.65; color: #3d4450; max-width: 58ch; }
.lx-hosts-points { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px 28px; }
.lx-hosts-points li { display: flex; gap: 14px; align-items: flex-start; }
.lx-hosts-ic { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50% !important; background: #fff; color: #2f5d8a; font-size: 18px; box-shadow: 0 0 0 1px rgba(232, 163, 23, .35); }
.lx-hosts-points b { display: block; margin-bottom: 4px; font-size: 16px; color: #111; }
.lx-hosts-points span { display: block; font-size: 15px; line-height: 1.55; color: #4f565c; }
.lx-hosts-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.lx-hosts-wa { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #1f7a4a !important; text-decoration: underline; text-underline-offset: 4px; }
.lx-hosts-wa i { font-size: 20px; }
.lx-hosts-media { position: relative; margin: 0; }
.lx-hosts-media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(1.06) contrast(1.03); }
.lx-hosts-media figcaption { margin-top: 10px; font-size: 13px; color: #5c636a; }
.lx-hosts-quote { position: absolute; left: -28px; bottom: 44px; max-width: 300px; margin: 0; padding: 18px 20px 16px; background: #fff; border-left: 4px solid var(--saffron, #E8A317); box-shadow: 0 14px 30px -14px rgba(8, 10, 12, .35); }
.lx-hosts-quote p { margin: 0 0 8px; font-size: 18px; font-weight: 700; line-height: 1.35; color: #111; }
.lx-hosts-quote cite { font-style: normal; font-size: 13px; color: #5c636a; }
.lx-hosts-stats { list-style: none; margin: 36px var(--tp) 0; padding: 22px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; border-top: 1px solid rgba(185, 121, 10, .25); }
.lx-hosts-stats b { display: block; font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: #2f5d8a; }
.lx-hosts-stats span { font-size: 14px; color: #4f565c; }
html body.home #local-hosts .lx-hosts-media :is(img, figure) { border-radius: 0 !important; }
@media (max-width: 1023px) {
  .lx-hosts-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .lx-hosts-quote { left: 12px; bottom: 40px; max-width: 260px; }
}
@media (max-width: 767px) {
  html body.home main > #local-hosts:not(#_):not(#__) { padding-top: 32px !important; padding-bottom: 28px !important; }
  .lx-hosts-lead { font-size: 16px; }
  .lx-hosts-points { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .lx-hosts-ic { width: 38px; height: 38px; font-size: 16px; }
  .lx-hosts-quote { position: static; max-width: none; margin-top: 12px; box-shadow: none; }
  .lx-hosts-quote p { font-size: 16px; }
  .lx-hosts-stats { grid-template-columns: 1fr 1fr; gap: 16px 12px; }
  .lx-hosts-stats b { font-size: 21px; }
  .lx-hosts-stats li:last-child b { font-size: 17px; }
}
/* hosts section v2: text only (no photos, no icons) */
.lx-hosts-grid { align-items: start; }
.lx-hosts-points { list-style: none; margin: 0; padding: 0; display: block; counter-reset: hp; }
.lx-hosts-points li { display: block; padding: 20px 0 20px 0; border-top: 1px solid rgba(185, 121, 10, .28); }
.lx-hosts-points li:first-child { border-top: 0; padding-top: 4px; }
.lx-hosts-points b { font-size: 19px; margin-bottom: 6px; }
.lx-hosts-points span { font-size: 16px; }
.lx-hosts-quote { position: static; max-width: none; margin: 0 0 28px; padding: 4px 0 4px 18px; background: none; box-shadow: none; border-left: 4px solid var(--saffron, #E8A317); }
.lx-hosts-quote p { font-size: 22px; line-height: 1.3; letter-spacing: -.01em; }
.lx-hosts-wa { color: #1f7a4a !important; }
@media (max-width: 767px) {
  .lx-hosts-points b { font-size: 17px; }
  .lx-hosts-points span { font-size: 15px; }
  .lx-hosts-quote p { font-size: 19px; }
  .lx-hosts-points li { padding: 16px 0; }
}
/* hosts section v3: a short, warm note */
html body.home main > #local-hosts:not(#_):not(#__) { padding-top: 64px !important; padding-bottom: 64px !important; }
.lx-hosts-note { max-width: 760px; margin: 0 auto; padding: 0 var(--tp); text-align: center; }
.lx-hosts-note .lx-hosts-eyebrow { margin-bottom: 16px; }
html body.home #local-hosts .lx-hosts-note h2:not(#_):not(#__):not(.x) { max-width: none; margin: 0 auto 18px !important; font-size: clamp(28px, 1.2rem + 1.8vw, 44px) !important; line-height: 1.15 !important; }
html body.home #local-hosts .lx-hosts-note h2:not(#_)::after { margin: 18px auto 0; }
.lx-hosts-note .lx-hosts-lead { margin: 0 auto 18px; font-size: 19px; line-height: 1.7; }
.lx-hosts-sign { margin: 0; font-size: 15px; font-weight: 700; color: var(--saffron-deep, #B9790A); }
.lx-hosts-sign::before { content: "\2014\00a0"; }
@media (max-width: 767px) {
  html body.home main > #local-hosts:not(#_):not(#__) { padding-top: 40px !important; padding-bottom: 40px !important; }
  .lx-hosts-note .lx-hosts-lead { font-size: 17px; }
}
/* hosts note: left aligned on the text edge (owner) */
.lx-hosts-note { max-width: none; margin: 0; text-align: left; }
html body.home #local-hosts .lx-hosts-note h2:not(#_):not(#__):not(.x) { margin: 0 0 18px !important; }
html body.home #local-hosts .lx-hosts-note h2:not(#_)::after { margin: 18px 0 0; }
.lx-hosts-note .lx-hosts-lead { margin: 0; max-width: 62ch; }
/* Contact row (owner): Book now is the only solid button; call / WhatsApp / Request callback are calm outlined options. */
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):not(#_):not(#__):not(#___) { background: #fff !important; color: #2f5d8a !important; border: 1.5px solid #2f5d8a !important; box-shadow: none !important; }
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):hover:not(#_):not(#__):not(#___) { background: #eef4fa !important; color: #24496d !important; border-color: #24496d !important; }
html body :is(.lx-bs-ic, .pk7-bar-ic, .bw-ic):not(.is-wa):not(#_):not(#__):not(#___) { color: #2f5d8a !important; border-color: #2f5d8a !important; }
html body :is(.lx-bs-ic, .pk7-bar-ic, .bw-ic):not(.is-wa):hover:not(#_):not(#__):not(#___) { background: #eef4fa !important; }
/* Request callback: soft saffron fill (owner: outline-only felt colourless). */
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):not(#_):not(#__):not(#___):not(.x) { background: #FCE7B8 !important; color: #5A3A00 !important; border: 1.5px solid #E8A317 !important; }
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):hover:not(#_):not(#__):not(#___):not(.x) { background: #E8A317 !important; color: #2A1A00 !important; border-color: #E8A317 !important; }
/* Request callback: deep navy (owner choice). */
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):not(#_):not(#__):not(#___):not(.x):not(.y) { background: #1F3D5C !important; color: #fff !important; border: 1.5px solid #1F3D5C !important; }
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):hover:not(#_):not(#__):not(#___):not(.x):not(.y) { background: #16304a !important; color: #fff !important; border-color: #16304a !important; }
/* Request callback: lighter solid blue, softer than Book now (owner choice). */
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):not(#_):not(#__):not(#___):not(.x):not(.y):not(.z) { background: #3E6E9E !important; color: #fff !important; border: 1.5px solid #3E6E9E !important; }
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):hover:not(#_):not(#__):not(#___):not(.x):not(.y):not(.z) { background: #355f8a !important; border-color: #355f8a !important; }
/* Request callback: soft blue gradient (owner idea). */
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):not(#_):not(#__):not(#___):not(.x):not(.y):not(.z):not(.w) { background: linear-gradient(135deg, #3E6E9E 0%, #5B8FC4 100%) !important; border: 0 !important; color: #fff !important; text-shadow: 0 1px 1px rgba(0, 0, 0, .15); }
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):hover:not(#_):not(#__):not(#___):not(.x):not(.y):not(.z):not(.w) { background: linear-gradient(135deg, #355f8a 0%, #4C80B6 100%) !important; }
/* Request callback: "chinar" gradient, the rust-to-amber of Kashmir's autumn chinar leaves (owner: other than blue). */
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):not(#_):not(#__):not(#___):not(.x):not(.y):not(.z):not(.w):not(.v) { background: linear-gradient(135deg, #A63D24 0%, #D2691E 100%) !important; border: 0 !important; color: #fff !important; text-shadow: 0 1px 1px rgba(0, 0, 0, .18); }
html body :is(.lx-bs-cb, .pk7-bar-cb, .bw-cbk):hover:not(#_):not(#__):not(#___):not(.x):not(.y):not(.z):not(.w):not(.v) { background: linear-gradient(135deg, #8F321D 0%, #BD5B16 100%) !important; }
/* Package cards: only the places line remains under Inclusions; price box follows it directly. */
html body .lx-bs-inc ul:not(#_) { min-height: calc(2 * 1.45em + 2px); align-content: start; }
html body .lx-bs-price:not(#_):not(#__) { margin-top: 0 !important; }
html body .lx-bs-inc:not(#_) { margin-bottom: 10px !important; }
/* Package cards: places line + 3 points unique to that trip */
html body .lx-bs-inc ul:not(#_):not(#__) { min-height: calc(5 * 1.45em + 10px); }
/* Header: slides away on scroll down, back on scroll up. Sticky bars follow it. */
html body header:not(#_) { transition: transform .32s cubic-bezier(.2, .7, .2, 1); will-change: transform; }
html body header.header-hidden:not(#_) { transform: translateY(-100%); opacity: 1; }
html body:has(header.header-hidden) :is(.itin-days, .pkg-jump, .pk7 .pk7-nav, .pk7-tabs):not(#_) { top: 0 !important; transition: top .32s cubic-bezier(.2, .7, .2, 1); }
html body:has(header.header-hidden) .pk7-side:not(#_) { top: 16px !important; }
html body :is(.itin-days, .pkg-jump, .pk7 .pk7-nav, .pk7-tabs, .pk7-side):not(#_) { transition: top .32s cubic-bezier(.2, .7, .2, 1); }

/* Phone package cards: shorter photo and no spare blank line under the points (same content). */
@media (max-width: 767px) {
  html body .lx-bs-shelf .lx-journey figure:not(#_) { aspect-ratio: 16 / 10 !important; height: auto !important; }
  html body .lx-bs-inc ul:not(#_):not(#__):not(.x) { min-height: calc(4 * 1.35em + 8px); }
  html body .lx-bs-inc:not(#_):not(#__) { margin-bottom: 8px !important; }
}
/* Package card price box: "Starts from" sits on the price line (one line instead of two). */
html body .lx-bs-shelf .lx-bs-price:not(#_):not(#__) { padding-top: 10px !important; padding-bottom: 10px !important; align-items: center !important; }
html body .lx-bs-shelf .lx-bs-amt:not(#_) { display: flex !important; align-items: baseline; flex-wrap: wrap; gap: 0 6px; }
html body .lx-bs-shelf .lx-bs-amt .lx-bs-sub:not(#_) { display: inline !important; margin: 0 !important; font-size: 12.5px !important; }
html body .lx-bs-shelf .lx-bs-amt strong:not(#_) { display: inline !important; }
/* "View trip" in the price box duplicated the card link and the photo arrow; hiding it keeps the price on one line. */
html body .lx-bs-shelf .lx-bs-price .lx-bs-go:not(#_) { display: none !important; }
html body .lx-bs-shelf .lx-bs-amt:not(#_):not(#__) { flex-wrap: nowrap; white-space: nowrap; }
/* Callback form: "Your choices" box */
html body .trip-modal textarea.field-choices:not(#_), html body textarea.field-choices:not(#_) { width: 100%; min-height: 56px; resize: vertical; font: 500 14px/1.45 "DM Sans", system-ui, sans-serif; color: #16181b; background: #f6f9fc; }
/* Callback form on trip pages: heading and intro line up with the left-aligned form. */
html body:not(.home) main .lead-form-shell :is(h2, h2 + p, .lead-form-intro):not(#_):not(#__) { text-align: left !important; margin-left: 0 !important; }
/* Package card names can be long and descriptive: allow two lines instead of cutting them off. */
html body .lx-bs-shelf .lx-bs-top h3:not(#_):not(#__) { white-space: normal !important; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-overflow: clip; line-height: 1.25 !important; min-height: 2.5em; }
html body .lx-bs-shelf .lx-bs-top:not(#_) { align-items: flex-start !important; }

/* Listing pages use the homepage package card (2026-11-12): same card, homepage column widths. */
html body .lx-bs-shelf:is(.pkg-grid, .lx-card-grid):not(#_):not(#__) { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; align-items: stretch; }
html body .lx-bs-shelf:is(.pkg-grid, .lx-card-grid) > *:not(#_):not(#__) { grid-column: auto !important; min-width: 0; }
html body .lx-bs-shelf:is(.pkg-grid, .lx-card-grid) > .pkg-lx.hidden:not(#_):not(#__) { display: none !important; }
@media (max-width: 1199px) { html body .lx-bs-shelf:is(.pkg-grid, .lx-card-grid):not(#_):not(#__) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 899px) { html body .lx-bs-shelf:is(.pkg-grid, .lx-card-grid):not(#_):not(#__) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; } }
@media (max-width: 599px) { html body .lx-bs-shelf:is(.pkg-grid, .lx-card-grid):not(#_):not(#__) { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; padding-inline: 16px !important; } }

html body .pk2-chooser .lx-card-grid:not(#_) { margin-bottom: 28px; }
@media (min-width: 900px) { html body .lx-bs-shelf.lx-card-grid:not(#_):not(#__):not(.x) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }

/* Package cards: price, token and buttons sit at the bottom of every card, so rows line up
   even when a title, route or place list wraps to two lines (owner, 2026-11-12). */
html body .lx-bs .lx-bs-price:not(#_):not(#__):not(#___) { margin-top: auto !important; }
html body .lx-bs .lx-bs-inc:not(#_):not(#__):not(#___) { margin-bottom: 14px !important; }

/* All listing pages use the clean split hero (owner, 2026-11-12): the trip finder no longer overlaps it. */
html body main:has(> .fam-hero) .pk-finder:not(.fam-finder):not(#_):not(#__) { margin-top: 0 !important; }
html body main > .fam-hero + section:not(#_):not(#__):not(#___) { padding-top: 28px !important; margin-top: 0 !important; }
@media (max-width: 760px) { html body main > .fam-hero + section:not(#_):not(#__):not(#___) { padding-top: 20px !important; } }
@media (min-width: 600px) { html body .lx-bs-shelf:is(.pkg-grid, .lx-card-grid):not(#_):not(#__):not(#___) { margin-inline: 0 !important; padding-inline: 0 !important; } }

/* "Get a Free Trip Plan" on every page looks exactly like the homepage one (owner, 2026-11-12). */
html body section.lx-quick-sec:not(#_):not(#__) { background: #EEF4FA !important; padding: 28px 0 !important; }
html body .lx-quick-sec .lx-quick-shell:not(#_):not(#__) { background: #fff !important; border: 1px solid #dfe2e5 !important; border-radius: 0 !important; padding: 22px 39px !important; box-shadow: none !important; }
@media (max-width: 760px) {
  html body .lx-quick-sec .lx-quick-shell:not(#_):not(#__) { padding: 16px 15px !important; }
  html body section.lx-quick-sec > .container:not(#_):not(#__):not(#___) { padding-inline: 4px !important; margin-inline: 0 !important; }
}
html body .lx-quick-sec .lx-quick-form :is(input, button):not(#_):not(#__) { border-radius: 0 !important; }

/* Automatic popup = the "Get a Free Trip Plan" bar + optional email (owner, 2026-11-12). Desktop only. */
html body dialog.jp-pop:not(#_) { position: fixed; inset: 0; width: min(1080px, 94vw); max-width: none; max-height: 92vh; margin: auto !important; padding: 0; border: 0; background: transparent; overflow: visible; }
.jp-pop::backdrop { background: rgba(14, 16, 19, 0.5); }
.jp-pop[open] { animation: jp-in 0.22s ease-out; }
@keyframes jp-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .jp-pop[open] { animation: none; } }
html body .jp-pop section.jp-pop-sec:not(#_):not(#__):not(#___) { margin: 0 !important; padding: 0 !important; background: transparent !important; }
html body .jp-pop .jp-pop-sec > .container:not(#_):not(#__):not(#___) { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
html body .jp-pop .lx-quick-shell:not(#_):not(#__):not(#___) { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr); padding: 34px 44px !important; box-shadow: 0 24px 70px rgba(14, 16, 19, 0.3) !important; }
html body .jp-pop .lx-quick-form:not(#_):not(#__):not(#___) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px 16px; }
html body .jp-pop .lx-quick-form > button:not(#_):not(#__):not(#___) { grid-column: 1 / -1 !important; width: 100% !important; }
html body .jp-pop p.lx-quick-note:not(#_):not(#__):not(#___) { grid-column: 2; margin: -6px 0 0 !important; }
.jp-pop-x { position: absolute; top: 8px; right: 8px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; background: #fff; border: 1px solid #dfe2e5; color: #16181b; cursor: pointer; font-size: 18px; }
.jp-pop-x:hover { background: #eef4fa; }
@media (max-width: 1100px) {
  html body .jp-pop .lx-quick-shell:not(#_):not(#__):not(#___) { grid-template-columns: 1fr; }
  html body .jp-pop p.lx-quick-note:not(#_):not(#__):not(#___) { grid-column: 1; margin: 0 !important; }
}
html body:has(dialog.jp-pop[open]) .jt-help:not(#_) { display: none !important; }
html body .jp-pop .lx-quick-form .jp-phone:not(#_):not(#__):not(#___) { grid-column: 1 / -1; }

/* Trip page buttons (Share plan, Save as PDF): one light, on-theme hover everywhere.
   Two older rules mixed a black background with blue text on hover (owner, 2026-11-12). */
html body .itin-btn:not(#_):not(#__) { background: #fff !important; color: var(--lx-text) !important; }
html body .itin-btn:hover:not(#_):not(#__), html body .itin-btn:focus-visible:not(#_):not(#__) { background: #eef4fa !important; border-color: #2f5d8a !important; color: #2f5d8a !important; }
html body .itin-btn .fa-whatsapp:not(#_):not(#__) { color: #1f9d55 !important; }
html body .itin-btn:disabled:not(#_):not(#__) { opacity: 0.7; cursor: progress; }
