/*
Theme Name: Local Taxi
Theme URI: https://localtaxi.in
Author: Local Taxi
Author URI: https://localtaxi.in
Description: A taxi discovery and booking marketplace theme for Indian cities. Find local taxi partners, compare vehicles, explore routes, and contact drivers directly.
Version: 2.4.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: localtaxi
Tags: taxi, travel, booking, marketplace, responsive
*/

/* ============================================
   DESIGN SYSTEM — CSS Custom Properties
   ============================================ */

:root {
  /* Brand Colors — Sunset Blaze (HSL) */
  --lt-primary-h: 14;
  --lt-primary-s: 100%;
  --lt-primary-l: 60%;
  --lt-primary: hsl(var(--lt-primary-h), var(--lt-primary-s), var(--lt-primary-l));   /* #ff6b35 */
  --lt-primary-dark: hsl(14, 85%, 48%);
  --lt-primary-light: hsl(14, 100%, 95%);

  --lt-secondary-h: 248;
  --lt-secondary-s: 74%;
  --lt-secondary-l: 22%;
  --lt-secondary: hsl(var(--lt-secondary-h), var(--lt-secondary-s), var(--lt-secondary-l));
  --lt-secondary-light: hsl(248, 74%, 95%);

  /* Sunset Blaze accent stops */
  --lt-accent-orange: hsl(14, 100%, 60%);   /* #ff6b35 */
  --lt-accent-amber:  hsl(31, 94%, 54%);    /* #f7931e */
  --lt-accent-magenta:hsl(329, 79%, 58%);   /* #e84393 */
  --lt-accent-violet: hsl(248, 74%, 63%);   /* #6c5ce7 */
  --lt-gradient-sunset: linear-gradient(135deg, var(--lt-accent-orange) 0%, var(--lt-accent-amber) 30%, var(--lt-accent-magenta) 70%, var(--lt-accent-violet) 100%);
  --lt-gradient-warm:   linear-gradient(90deg, var(--lt-accent-orange), var(--lt-accent-magenta));

  --lt-accent: hsl(160, 60%, 40%);
  --lt-accent-light: hsl(160, 60%, 92%);

  /* Neutrals */
  --lt-bg: hsl(30, 20%, 98%);
  --lt-bg-alt: hsl(30, 15%, 95%);
  --lt-surface: hsl(0, 0%, 100%);
  --lt-bg-card: hsl(0, 0%, 100%);
  --lt-text: hsl(248, 30%, 12%);
  --lt-text-primary: hsl(248, 30%, 12%);
  --lt-text-secondary: hsl(248, 15%, 40%);
  --lt-text-muted: hsl(248, 10%, 55%);
  --lt-border: hsl(248, 15%, 88%);
  --lt-border-light: hsl(248, 15%, 93%);

  /* Functional */
  --lt-success: hsl(145, 65%, 40%);
  --lt-warning: hsl(40, 90%, 50%);
  --lt-error: hsl(0, 70%, 55%);
  --lt-info: hsl(210, 70%, 50%);

  /* Shadows */
  --lt-shadow-sm: 0 1px 3px hsl(248, 25%, 15%, 0.06);
  --lt-shadow-md: 0 6px 18px hsl(248, 25%, 15%, 0.09);
  --lt-shadow-lg: 0 14px 40px hsl(248, 25%, 15%, 0.14);
  --lt-shadow-xl: 0 24px 60px hsl(248, 25%, 15%, 0.18);
  --lt-shadow-glow: 0 8px 28px hsl(14, 100%, 60%, 0.28);

  /* Typography */
  --lt-font-display: 'Sora', system-ui, -apple-system, Segoe UI, sans-serif;
  --lt-font-body: 'Manrope', system-ui, -apple-system, Segoe UI, sans-serif;
  --lt-font-mono: 'JetBrains Mono', monospace;

  /* Spacing */
  --lt-space-xs: 0.25rem;
  --lt-space-sm: 0.5rem;
  --lt-space-md: 1rem;
  --lt-space-lg: 1.5rem;
  --lt-space-xl: 2rem;
  --lt-space-2xl: 3rem;
  --lt-space-3xl: 4rem;
  --lt-space-4xl: 6rem;

  /* Border Radius */
  --lt-radius-sm: 6px;
  --lt-radius-md: 10px;
  --lt-radius-lg: 16px;
  --lt-radius-xl: 24px;
  --lt-radius-full: 9999px;

  /* Transitions */
  --lt-transition: 0.2s ease;
  --lt-transition-slow: 0.4s ease;

  /* Container */
  --lt-container: 1280px;
  --lt-container-narrow: 900px;
}

/* Dark Mode */
[data-theme="dark"] {
  --lt-bg: hsl(220, 25%, 8%);
  --lt-bg-alt: hsl(220, 25%, 12%);
  --lt-surface: hsl(220, 25%, 14%);
  --lt-bg-card: hsl(220, 25%, 16%);
  --lt-text: hsl(220, 15%, 92%);
  --lt-text-primary: hsl(220, 15%, 92%);
  --lt-text-secondary: hsl(220, 10%, 65%);
  --lt-text-muted: hsl(220, 8%, 48%);
  --lt-border: hsl(220, 15%, 22%);
  --lt-border-light: hsl(220, 15%, 18%);
  --lt-shadow-sm: 0 1px 3px hsl(0, 0%, 0%, 0.2);
  --lt-shadow-md: 0 4px 12px hsl(0, 0%, 0%, 0.3);
  --lt-shadow-lg: 0 8px 30px hsl(0, 0%, 0%, 0.4);
  --lt-shadow-xl: 0 16px 50px hsl(0, 0%, 0%, 0.5);
}

/* ============================================
   RESET & BASE
   ============================================ */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--lt-font-body);
  color: var(--lt-text);
  background-color: var(--lt-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

a {
  color: var(--lt-primary);
  text-decoration: none;
  transition: color var(--lt-transition);
}

a:hover {
  color: var(--lt-primary-dark);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--lt-font-display);
  font-weight: 700;
  line-height: 1.2;
  color: var(--lt-text);
}

h1 { font-size: clamp(2rem, 5vw, 3.25rem); }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.25rem); }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.5rem); }
h4 { font-size: 1.125rem; }

p { margin-bottom: var(--lt-space-md); }

ul, ol { list-style: none; }

/* ============================================
   LAYOUT
   ============================================ */

.lt-container {
  width: 100%;
  max-width: var(--lt-container);
  margin: 0 auto;
  padding: 0 var(--lt-space-lg);
}

.lt-container--narrow {
  max-width: var(--lt-container-narrow);
}

.lt-section {
  padding: var(--lt-space-4xl) 0;
}

.lt-section__header {
  text-align: center;
  margin-bottom: var(--lt-space-3xl);
}

.lt-section__title {
  margin-bottom: var(--lt-space-sm);
}

.lt-section__subtitle {
  color: var(--lt-text-secondary);
  font-size: 1.1rem;
  max-width: 600px;
  margin: 0 auto;
}

.lt-grid {
  display: grid;
  gap: var(--lt-space-lg);
}

.lt-grid--2 { grid-template-columns: repeat(2, 1fr); }
.lt-grid--3 { grid-template-columns: repeat(3, 1fr); }
.lt-grid--4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
  .lt-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .lt-grid--3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .lt-grid--4,
  .lt-grid--3,
  .lt-grid--2 { grid-template-columns: 1fr; }
}

/* ============================================
   HEADER
   ============================================ */

.lt-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--lt-surface);
  border-bottom: 1px solid var(--lt-border-light);
  box-shadow: var(--lt-shadow-sm);
  transition: box-shadow var(--lt-transition);
}

.lt-header.scrolled {
  box-shadow: var(--lt-shadow-md);
}

.lt-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
}

.lt-logo {
  display: flex;
  align-items: center;
  gap: var(--lt-space-sm);
  font-family: var(--lt-font-display);
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--lt-text);
}

.lt-logo__icon {
  width: 36px;
  height: 36px;
  background: var(--lt-primary);
  border-radius: var(--lt-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(0, 0%, 100%);
  font-size: 1.1rem;
}

.lt-logo span {
  color: var(--lt-primary);
}

/* ============================
   Mega Menu (Desktop)
   ============================ */
.lt-megamenu {
  flex: 1;
  display: flex;
  justify-content: center;
}
.lt-megamenu__list {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.lt-megamenu__item {
  position: relative;
}
.lt-megamenu__top {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 10px 14px;
  color: var(--lt-text-secondary);
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: var(--lt-radius-sm);
  transition: all var(--lt-transition);
  white-space: nowrap;
}
.lt-megamenu__top:hover,
.lt-megamenu__top.active,
.lt-megamenu__item:hover .lt-megamenu__top,
.lt-megamenu__item:focus-within .lt-megamenu__top {
  color: var(--lt-primary);
  background: var(--lt-primary-light);
}
.lt-megamenu__top--cta {
  background: var(--lt-primary);
  color: hsl(0, 0%, 100%);
  box-shadow: var(--lt-shadow-sm);
}
.lt-megamenu__top--cta:hover,
.lt-megamenu__top--cta.active {
  background: var(--lt-primary-dark, var(--lt-primary));
  color: hsl(0, 0%, 100%);
}
.lt-megamenu__top svg {
  transition: transform var(--lt-transition);
}
.lt-megamenu__item:hover .lt-megamenu__top svg,
.lt-megamenu__item:focus-within .lt-megamenu__top svg {
  transform: rotate(180deg);
}

.lt-megamenu__panel {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 540px;
  max-width: 90vw;
  background: var(--lt-surface);
  border: 1px solid var(--lt-border-light);
  border-radius: var(--lt-radius-lg);
  box-shadow: var(--lt-shadow-lg, 0 20px 40px -12px hsla(0,0%,0%,0.18));
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  z-index: 1001;
}
.lt-megamenu__item:hover .lt-megamenu__panel,
.lt-megamenu__item:focus-within .lt-megamenu__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.lt-megamenu__panel-inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 18px;
}
.lt-megamenu__col-title {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--lt-text-muted);
  margin: 0 0 8px;
  font-weight: 700;
}
.lt-megamenu__col-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.lt-megamenu__col-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  color: var(--lt-text);
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: var(--lt-radius-sm);
  transition: background var(--lt-transition), color var(--lt-transition);
}
.lt-megamenu__col-link:hover {
  background: var(--lt-primary-light);
  color: var(--lt-primary);
}
.lt-megamenu__col-icon {
  font-size: 1.1rem;
  width: 22px;
  text-align: center;
}

.lt-header__actions {
  display: flex;
  align-items: center;
  gap: var(--lt-space-sm);
}

/* Mobile Menu Toggle */
.lt-menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--lt-text);
  border-radius: var(--lt-radius-sm);
}
.lt-menu-toggle:hover { background: var(--lt-primary-light); color: var(--lt-primary); }
.lt-menu-toggle svg { width: 24px; height: 24px; }

/* ============================
   Mobile Drawer
   ============================ */
.lt-mobile-drawer {
  position: fixed;
  inset: 0;
  z-index: 1100;
  visibility: hidden;
  pointer-events: none;
}
.lt-mobile-drawer.open {
  visibility: visible;
  pointer-events: auto;
}
.lt-mobile-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: hsla(0,0%,0%,0.45);
  opacity: 0;
  transition: opacity 0.25s ease;
}
.lt-mobile-drawer.open .lt-mobile-drawer__backdrop { opacity: 1; }
.lt-mobile-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(86vw, 360px);
  background: var(--lt-surface);
  box-shadow: -10px 0 30px hsla(0,0%,0%,0.15);
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.4,0,0.2,1);
  display: flex;
  flex-direction: column;
}
.lt-mobile-drawer.open .lt-mobile-drawer__panel { transform: translateX(0); }
.lt-mobile-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--lt-border-light);
}
.lt-mobile-drawer__title {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--lt-text);
}
.lt-mobile-drawer__close {
  background: none;
  border: none;
  padding: 6px;
  color: var(--lt-text);
  cursor: pointer;
  border-radius: var(--lt-radius-sm);
}
.lt-mobile-drawer__close:hover { background: var(--lt-primary-light); color: var(--lt-primary); }
.lt-mobile-drawer__nav {
  flex: 1;
  overflow-y: auto;
  padding: 8px 12px 24px;
}
.lt-mobile-drawer__link {
  display: block;
  padding: 14px 12px;
  font-weight: 600;
  color: var(--lt-text);
  border-radius: var(--lt-radius-sm);
  font-size: 1rem;
}
.lt-mobile-drawer__link:hover,
.lt-mobile-drawer__link.active { background: var(--lt-primary-light); color: var(--lt-primary); }
.lt-mobile-drawer__link--cta,
.lt-mobile-drawer__link--cta.active {
  background: var(--lt-primary);
  color: hsl(0, 0%, 100%);
  text-align: center;
  margin: 8px 0;
}
.lt-mobile-drawer__group { border-bottom: 1px solid var(--lt-border-light); }
.lt-mobile-drawer__group[open] { background: var(--lt-bg-alt, transparent); }
.lt-mobile-drawer__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 12px;
  font-weight: 600;
  font-size: 1rem;
  color: var(--lt-text);
  cursor: pointer;
  list-style: none;
}
.lt-mobile-drawer__summary::-webkit-details-marker { display: none; }
.lt-mobile-drawer__summary svg { transition: transform 0.2s; }
.lt-mobile-drawer__group[open] .lt-mobile-drawer__summary svg { transform: rotate(180deg); }
.lt-mobile-drawer__sub { padding: 4px 8px 12px; }
.lt-mobile-drawer__col { padding: 6px 4px; }
.lt-mobile-drawer__col-title {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--lt-text-muted);
  margin: 4px 8px 4px;
  font-weight: 700;
}
.lt-mobile-drawer__sublink {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  font-size: 0.92rem;
  color: var(--lt-text-secondary);
  border-radius: var(--lt-radius-sm);
}
.lt-mobile-drawer__sublink:hover { background: var(--lt-primary-light); color: var(--lt-primary); }

/* ============================
   Responsive Breakpoints
   ============================ */
@media (max-width: 1024px) {
  .lt-megamenu { display: none; }
  .lt-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
}
@media (max-width: 480px) {
  .lt-header__inner { height: 60px; }
  .lt-logo { font-size: 1.1rem; gap: 6px; }
  .lt-logo__icon { width: 30px; height: 30px; font-size: 0.95rem; }
  .lt-header__actions { gap: 2px; }
  .lt-theme-toggle, .lt-menu-toggle { padding: 6px; }
}
@media (max-width: 360px) {
  .lt-logo { font-size: 1rem; }
  .lt-logo__icon { width: 26px; height: 26px; }
}

/* Prevent any horizontal scroll across the site */
html, body { overflow-x: hidden; max-width: 100%; }
img, video, iframe { max-width: 100%; height: auto; }

/* ============================================
   BUTTONS
   ============================================ */

.lt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--lt-space-sm);
  padding: 0.7rem 1.5rem;
  font-family: var(--lt-font-body);
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: var(--lt-radius-md);
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--lt-transition);
  text-decoration: none;
  white-space: nowrap;
}

.lt-btn--primary {
  background: var(--lt-primary);
  color: hsl(0, 0%, 100%);
}

.lt-btn--primary:hover {
  background: var(--lt-primary-dark);
  color: hsl(0, 0%, 100%);
  transform: translateY(-1px);
  box-shadow: var(--lt-shadow-md);
}

.lt-btn--secondary {
  background: var(--lt-secondary);
  color: hsl(0, 0%, 100%);
}

.lt-btn--secondary:hover {
  background: hsl(220, 65%, 28%);
  color: hsl(0, 0%, 100%);
}

.lt-btn--outline {
  background: transparent;
  border-color: var(--lt-border);
  color: var(--lt-text);
}

.lt-btn--outline:hover {
  border-color: var(--lt-primary);
  color: var(--lt-primary);
}

.lt-btn--whatsapp {
  background: hsl(142, 70%, 40%);
  color: hsl(0, 0%, 100%);
}

.lt-btn--whatsapp:hover {
  background: hsl(142, 70%, 34%);
  color: hsl(0, 0%, 100%);
}

.lt-btn--call {
  background: var(--lt-info);
  color: hsl(0, 0%, 100%);
}

.lt-btn--call:hover {
  background: hsl(210, 70%, 42%);
  color: hsl(0, 0%, 100%);
}

.lt-btn--sm {
  padding: 0.45rem 1rem;
  font-size: 0.85rem;
}

.lt-btn--lg {
  padding: 0.9rem 2rem;
  font-size: 1.05rem;
}

.lt-btn--icon {
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: var(--lt-radius-full);
}

/* ============================================
   HERO SECTION
   ============================================ */

.lt-hero {
  position: relative;
  padding: var(--lt-space-4xl) 0;
  background: linear-gradient(135deg, var(--lt-secondary) 0%, hsl(220, 50%, 30%) 100%);
  color: hsl(0, 0%, 100%);
  overflow: hidden;
  min-height: 520px;
  display: flex;
  align-items: center;
}

.lt-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="30" r="1" fill="rgba(255,255,255,0.05)"/><circle cx="70" cy="60" r="1.5" fill="rgba(255,255,255,0.04)"/><circle cx="50" cy="10" r="0.8" fill="rgba(255,255,255,0.06)"/></svg>');
  background-size: 100px 100px;
}

.lt-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.lt-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--lt-space-xs);
  background: hsl(0, 0%, 100%, 0.15);
  backdrop-filter: blur(10px);
  padding: 0.4rem 1rem;
  border-radius: var(--lt-radius-full);
  font-size: 0.85rem;
  font-weight: 500;
  margin-bottom: var(--lt-space-lg);
  color: hsl(0, 0%, 100%);
}

.lt-hero__title {
  font-size: clamp(2.2rem, 6vw, 3.5rem);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: var(--lt-space-lg);
  color: hsl(0, 0%, 100%);
}

.lt-hero__title em {
  font-style: normal;
  color: var(--lt-primary);
}

.lt-hero__subtitle {
  font-size: 1.15rem;
  opacity: 0.85;
  margin-bottom: var(--lt-space-2xl);
  line-height: 1.6;
}

/* ============================================
   SEARCH BOX
   ============================================ */

.lt-search-box {
  background: var(--lt-surface);
  border-radius: var(--lt-radius-lg);
  padding: var(--lt-space-lg);
  box-shadow: var(--lt-shadow-xl);
  max-width: 900px;
  margin: 0 auto;
}

.lt-search-box__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr) auto;
  gap: var(--lt-space-md);
  align-items: end;
}

@media (max-width: 768px) {
  .lt-search-box__grid {
    grid-template-columns: 1fr;
  }
}

.lt-search-box__field label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--lt-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--lt-space-xs);
}

.lt-search-box__field select,
.lt-search-box__field input {
  width: 100%;
  padding: 0.7rem 1rem;
  border: 2px solid var(--lt-border);
  border-radius: var(--lt-radius-md);
  font-family: var(--lt-font-body);
  font-size: 0.95rem;
  color: var(--lt-text);
  background: var(--lt-bg);
  transition: border-color var(--lt-transition);
  appearance: none;
}

.lt-search-box__field select:focus,
.lt-search-box__field input:focus {
  outline: none;
  border-color: var(--lt-primary);
}

/* ============================================
   CARDS
   ============================================ */

.lt-card {
  background: var(--lt-surface);
  border: 1px solid var(--lt-border-light);
  border-radius: var(--lt-radius-lg);
  overflow: hidden;
  transition: all var(--lt-transition);
}

.lt-card:hover {
  box-shadow: var(--lt-shadow-lg);
  transform: translateY(-4px);
}

.lt-card__image {
  position: relative;
  height: 200px;
  background: var(--lt-bg-alt);
  overflow: hidden;
}

.lt-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lt-card__badge {
  position: absolute;
  top: var(--lt-space-md);
  left: var(--lt-space-md);
  background: var(--lt-primary);
  color: hsl(0, 0%, 100%);
  padding: 0.25rem 0.75rem;
  border-radius: var(--lt-radius-full);
  font-size: 0.8rem;
  font-weight: 600;
}

.lt-card__body {
  padding: var(--lt-space-lg);
}

.lt-card__title {
  font-size: 1.1rem;
  margin-bottom: var(--lt-space-sm);
}

.lt-card__title a {
  color: var(--lt-text);
}

.lt-card__title a:hover {
  color: var(--lt-primary);
}

.lt-card__meta {
  display: flex;
  align-items: center;
  gap: var(--lt-space-md);
  color: var(--lt-text-secondary);
  font-size: 0.9rem;
  margin-bottom: var(--lt-space-md);
}

.lt-card__meta-item {
  display: flex;
  align-items: center;
  gap: var(--lt-space-xs);
}

.lt-card__price {
  font-family: var(--lt-font-display);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--lt-primary);
}

.lt-card__actions {
  display: flex;
  gap: var(--lt-space-sm);
  margin-top: var(--lt-space-md);
  padding-top: var(--lt-space-md);
  border-top: 1px solid var(--lt-border-light);
}

/* Clickable Card */
a.lt-card--clickable,
div.lt-card--clickable {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

a.lt-card--clickable:hover,
div.lt-card--clickable:hover {
  box-shadow: var(--lt-shadow-lg);
  transform: translateY(-4px);
  border-color: var(--lt-primary);
}

a.lt-card--clickable .lt-card__title,
div.lt-card--clickable .lt-card__title {
  color: var(--lt-text);
  transition: color var(--lt-transition);
}

a.lt-card--clickable:hover .lt-card__title,
div.lt-card--clickable:hover .lt-card__title {
  color: var(--lt-primary);
}

/* ============================================
   VENDOR CARD
   ============================================ */

.lt-vendor-card__header {
  display: flex;
  align-items: center;
  gap: var(--lt-space-md);
  margin-bottom: var(--lt-space-md);
}

.lt-vendor-card__avatar {
  width: 56px;
  height: 56px;
  border-radius: var(--lt-radius-full);
  background: var(--lt-primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--lt-primary);
  flex-shrink: 0;
}

.lt-vendor-card__verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8rem;
  color: var(--lt-accent);
  font-weight: 600;
}

/* ============================================
   ROUTE CARD
   ============================================ */

.lt-route-card__path {
  display: flex;
  align-items: center;
  gap: var(--lt-space-sm);
  margin-bottom: var(--lt-space-md);
  flex-wrap: wrap;
}

.lt-route-card__point {
  font-weight: 600;
  color: var(--lt-text);
  word-break: break-word;
}

.lt-route-card__arrow {
  color: var(--lt-primary);
  font-size: 1.2rem;
}

.lt-route-card__stats {
  display: flex;
  gap: var(--lt-space-lg);
  flex-wrap: wrap;
}

.lt-route-card__stat {
  text-align: center;
  min-width: 0;
}

.lt-route-card__stat-value {
  font-weight: 700;
  font-family: var(--lt-font-display);
  color: var(--lt-text);
  word-break: break-word;
}

.lt-route-card__stat-label {
  font-size: 0.8rem;
  color: var(--lt-text-muted);
}

/* ============================================
   VEHICLE CATEGORIES
   ============================================ */

.lt-vehicle-cat {
  text-align: center;
  padding: var(--lt-space-xl);
  background: var(--lt-surface);
  border: 1px solid var(--lt-border-light);
  border-radius: var(--lt-radius-lg);
  transition: all var(--lt-transition);
  cursor: pointer;
}

.lt-vehicle-cat:hover {
  border-color: var(--lt-primary);
  box-shadow: var(--lt-shadow-md);
}

.lt-vehicle-cat__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto var(--lt-space-md);
  background: var(--lt-primary-light);
  border-radius: var(--lt-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
}

.lt-vehicle-cat__name {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: var(--lt-space-xs);
}

.lt-vehicle-cat__desc {
  font-size: 0.85rem;
  color: var(--lt-text-muted);
}

/* ============================================
   STARS / RATINGS
   ============================================ */

.lt-stars {
  display: flex;
  align-items: center;
  gap: 2px;
}

.lt-stars__star {
  color: var(--lt-warning);
  font-size: 1rem;
}

.lt-stars__star--empty {
  color: var(--lt-border);
}

.lt-stars__count {
  margin-left: var(--lt-space-sm);
  font-size: 0.85rem;
  color: var(--lt-text-muted);
}

/* ============================================
   REVIEW CARD
   ============================================ */

.lt-review {
  background: var(--lt-surface);
  border: 1px solid var(--lt-border-light);
  border-radius: var(--lt-radius-lg);
  padding: var(--lt-space-xl);
}

.lt-review__header {
  display: flex;
  align-items: center;
  gap: var(--lt-space-md);
  margin-bottom: var(--lt-space-md);
}

.lt-review__avatar {
  width: 48px;
  height: 48px;
  border-radius: var(--lt-radius-full);
  background: var(--lt-secondary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--lt-secondary);
}

.lt-review__name {
  font-weight: 600;
}

.lt-review__date {
  font-size: 0.85rem;
  color: var(--lt-text-muted);
}

.lt-review__text {
  color: var(--lt-text-secondary);
  font-size: 0.95rem;
  line-height: 1.7;
}

/* ============================================
   COMPARISON TABLE
   ============================================ */

.lt-compare-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--lt-surface);
  border-radius: var(--lt-radius-lg);
  overflow: hidden;
  box-shadow: var(--lt-shadow-sm);
}

.lt-compare-table th,
.lt-compare-table td {
  padding: var(--lt-space-md) var(--lt-space-lg);
  text-align: left;
  border-bottom: 1px solid var(--lt-border-light);
}

.lt-compare-table th {
  background: var(--lt-bg-alt);
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--lt-text-secondary);
}

.lt-compare-table td {
  font-size: 0.95rem;
}

.lt-compare-table tr:last-child td {
  border-bottom: none;
}

/* ============================================
   SINGLE POST LAYOUTS
   ============================================ */

.lt-single-hero {
  background: linear-gradient(135deg, var(--lt-secondary) 0%, hsl(220, 50%, 30%) 100%);
  color: hsl(0, 0%, 100%);
  padding: var(--lt-space-3xl) 0;
}

.lt-archive-hero__title { color: hsl(0, 0%, 100%); }
.lt-archive-hero__subtitle {
  color: hsl(0, 0%, 100%, 0.9);
  font-size: 1.05rem;
  margin-top: var(--lt-space-md);
  max-width: 780px;
}


.lt-single-hero__breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--lt-space-sm);
  font-size: 0.9rem;
  opacity: 0.7;
  margin-bottom: var(--lt-space-lg);
}

.lt-single-hero__breadcrumb a {
  color: hsl(0, 0%, 100%);
}

/* Override breadcrumb color when inside light archive header */
.lt-archive-header .lt-single-hero__breadcrumb {
  opacity: 1;
}

.lt-archive-header .lt-single-hero__breadcrumb a {
  color: var(--lt-text-muted);
}

.lt-archive-header .lt-single-hero__breadcrumb a:hover {
  color: var(--lt-primary);
}

.lt-archive-header .lt-single-hero__breadcrumb span {
  color: var(--lt-text-primary);
}

.lt-single-content {
  padding: var(--lt-space-3xl) 0;
}

.lt-single-content__grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--lt-space-2xl);
}

@media (max-width: 1024px) {
  .lt-single-content__grid {
    grid-template-columns: 1fr;
  }
  .lt-single-sidebar {
    position: static;
  }
}

.lt-single-sidebar {
  position: sticky;
  top: 90px;
  align-self: start;
}

.lt-sidebar-widget {
  background: var(--lt-surface);
  border: 1px solid var(--lt-border-light);
  border-radius: var(--lt-radius-lg);
  padding: var(--lt-space-xl);
  margin-bottom: var(--lt-space-lg);
}

.lt-sidebar-widget__title {
  font-size: 1rem;
  margin-bottom: var(--lt-space-md);
  padding-bottom: var(--lt-space-md);
  border-bottom: 1px solid var(--lt-border-light);
}

/* ============================================
   FORMS
   ============================================ */

.lt-form__group {
  margin-bottom: var(--lt-space-lg);
}

.lt-form__label {
  display: block;
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: var(--lt-space-xs);
  color: var(--lt-text);
}

.lt-form__input,
.lt-form__textarea,
.lt-form__select {
  width: 100%;
  padding: 0.7rem 1rem;
  border: 2px solid var(--lt-border);
  border-radius: var(--lt-radius-md);
  font-family: var(--lt-font-body);
  font-size: 0.95rem;
  color: var(--lt-text);
  background: var(--lt-surface);
  transition: border-color var(--lt-transition);
}

.lt-form__input:focus,
.lt-form__textarea:focus,
.lt-form__select:focus {
  outline: none;
  border-color: var(--lt-primary);
}

.lt-form__textarea {
  min-height: 120px;
  resize: vertical;
}

.lt-booking-form--wizard {
  position: relative;
}
.lt-booking-form--wizard .lt-booking-wizard__step {
  display: none;
  margin: 0;
  padding: clamp(20px, 5vw, 34px);
  min-height: 280px;
  border: 1px solid var(--lt-border-light);
  border-radius: var(--lt-radius-lg);
  background: var(--lt-surface);
  box-shadow: var(--lt-shadow-md);
}
.lt-booking-form--wizard .lt-booking-wizard__step.is-active {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--lt-space-md);
}
.lt-booking-form--wizard .lt-form__label {
  font-family: var(--lt-font-display);
  font-size: clamp(1.35rem, 4vw, 2rem);
  line-height: 1.2;
  margin-bottom: var(--lt-space-xs);
}
.lt-booking-form--wizard .lt-form__input,
.lt-booking-form--wizard .lt-form__textarea,
.lt-booking-form--wizard .lt-form__select {
  font-size: 1.05rem;
  padding: 1rem 1.1rem;
}
.lt-booking-wizard__progress {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--lt-border-light);
  margin-bottom: var(--lt-space-sm);
}
.lt-booking-wizard__progress span {
  display: block;
  height: 100%;
  background: var(--lt-primary);
  transition: width 0.25s ease;
}
.lt-booking-wizard__count {
  color: var(--lt-text-muted);
  font-size: 0.85rem;
  margin: 0 0 var(--lt-space-md);
}
.lt-booking-wizard__next {
  align-self: flex-start;
}

/* ============================================
   FOOTER
   ============================================ */

.lt-footer {
  background: var(--lt-secondary);
  color: hsl(220, 15%, 80%);
  padding: var(--lt-space-4xl) 0 var(--lt-space-xl);
}

.lt-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--lt-space-2xl);
  margin-bottom: var(--lt-space-3xl);
}

@media (max-width: 768px) {
  .lt-footer__grid {
    grid-template-columns: 1fr;
  }
}

.lt-footer__brand {
  max-width: 300px;
}

.lt-footer__brand .lt-logo {
  margin-bottom: var(--lt-space-md);
  color: hsl(0, 0%, 100%);
}

.lt-footer__desc {
  font-size: 0.9rem;
  line-height: 1.7;
  opacity: 0.7;
}

.lt-footer__heading {
  color: hsl(0, 0%, 100%);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: var(--lt-space-lg);
}

.lt-footer__list li {
  margin-bottom: var(--lt-space-sm);
}

.lt-footer__list a {
  color: hsl(220, 15%, 70%);
  font-size: 0.9rem;
  transition: color var(--lt-transition);
}

.lt-footer__list a:hover {
  color: var(--lt-primary);
}

.lt-footer__bottom {
  border-top: 1px solid hsl(220, 30%, 25%);
  padding-top: var(--lt-space-xl);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--lt-space-md);
  font-size: 0.85rem;
  opacity: 0.6;
}

/* ============================================
   THEME TOGGLE
   ============================================ */

.lt-theme-toggle {
  background: none;
  border: 2px solid var(--lt-border);
  border-radius: var(--lt-radius-full);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--lt-text);
  transition: all var(--lt-transition);
}

.lt-theme-toggle:hover {
  border-color: var(--lt-primary);
  color: var(--lt-primary);
}

/* ============================================
   BADGE / TAG
   ============================================ */

.lt-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0.25rem 0.65rem;
  background: var(--lt-bg-alt);
  color: var(--lt-text-secondary);
  border-radius: var(--lt-radius-full);
  font-size: 0.8rem;
  font-weight: 500;
}

.lt-tag--link {
  transition: background 0.15s ease, color 0.15s ease;
}
.lt-tag--link:hover {
  background: var(--lt-primary-light, var(--lt-bg-alt));
  color: var(--lt-primary);
}

.lt-tag--primary {
  background: var(--lt-primary-light);
  color: var(--lt-primary-dark);
}

.lt-tag--success {
  background: var(--lt-accent-light);
  color: var(--lt-accent);
}

/* ============================================
   PAGINATION
   ============================================ */

.lt-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--lt-space-sm);
  margin-top: var(--lt-space-3xl);
}

.lt-pagination a,
.lt-pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--lt-radius-md);
  font-weight: 600;
  font-size: 0.9rem;
  transition: all var(--lt-transition);
}

.lt-pagination a {
  color: var(--lt-text-secondary);
  border: 1px solid var(--lt-border);
}

.lt-pagination a:hover {
  border-color: var(--lt-primary);
  color: var(--lt-primary);
}

.lt-pagination .current {
  background: var(--lt-primary);
  color: hsl(0, 0%, 100%);
  border: 1px solid var(--lt-primary);
}

/* ============================================
   ARCHIVE HEADER
   ============================================ */

.lt-archive-header {
  background: var(--lt-bg-alt);
  padding: var(--lt-space-3xl) 0;
  border-bottom: 1px solid var(--lt-border-light);
}

/* ============================================
   SEARCH RESULTS
   ============================================ */

.lt-search-results__item {
  background: var(--lt-surface);
  border: 1px solid var(--lt-border-light);
  border-radius: var(--lt-radius-lg);
  padding: var(--lt-space-xl);
  margin-bottom: var(--lt-space-lg);
  transition: box-shadow var(--lt-transition);
}

.lt-search-results__item:hover {
  box-shadow: var(--lt-shadow-md);
}

/* ============================================
   404 PAGE
   ============================================ */

.lt-404 {
  text-align: center;
  padding: var(--lt-space-4xl) 0;
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lt-404__code {
  font-family: var(--lt-font-display);
  font-size: clamp(6rem, 15vw, 12rem);
  font-weight: 800;
  color: var(--lt-primary);
  opacity: 0.2;
  line-height: 1;
}

/* ============================================
   ANIMATIONS
   ============================================ */

@keyframes lt-fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.lt-animate-in {
  animation: lt-fadeInUp 0.5s ease forwards;
}

/* ============================================
   STRUCTURED DATA / MISC
   ============================================ */

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
}

.lt-skip-link:focus,
.screen-reader-text:focus {
  clip: auto !important;
  position: fixed !important;
  top: 12px;
  left: 12px;
  width: auto;
  height: auto;
  padding: 10px 16px;
  background: hsl(var(--lt-primary-h), var(--lt-primary-s), var(--lt-primary-l));
  color: #fff;
  font-weight: 600;
  border-radius: 8px;
  z-index: 99999;
  box-shadow: 0 6px 24px rgba(0,0,0,.2);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ============================================
   RESPONSIVE BREAKPOINTS FINE-TUNING
   ============================================ */

@media (max-width: 480px) {
  .lt-hero__title {
    font-size: 1.8rem;
  }
  .lt-hero {
    min-height: 400px;
    padding: var(--lt-space-2xl) 0;
  }
  .lt-section {
    padding: var(--lt-space-2xl) 0;
  }
  .lt-single-hero h1 {
    font-size: 1.4rem;
    word-break: break-word;
  }
  .lt-card__body {
    padding: var(--lt-space-md);
  }
  .lt-card__actions {
    flex-wrap: wrap;
  }
  .lt-card__actions .lt-btn {
    width: 100%;
    text-align: center;
  }
  .lt-route-card__stats {
    gap: var(--lt-space-md);
  }
  .lt-sidebar-widget {
    padding: var(--lt-space-md);
  }
}

@media (min-width: 1440px) {
  .lt-container {
    max-width: 1380px;
  }
}

/* ============================================
   FAQ — SIMPLE Q&A
   ============================================ */

.lt-faq {
  margin-bottom: var(--lt-space-lg);
  padding-bottom: var(--lt-space-lg);
  border-bottom: 1px solid var(--lt-border-light);
}

.lt-faq:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.lt-faq__question-text {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--lt-text-primary);
  margin: 0 0 var(--lt-space-sm) 0;
  display: flex;
  align-items: baseline;
  gap: var(--lt-space-sm);
}

.lt-faq__question-text::before {
  content: 'Q.';
  color: var(--lt-primary);
  font-weight: 700;
  flex-shrink: 0;
}

.lt-faq__answer-text {
  color: var(--lt-text-secondary);
  line-height: 1.7;
  font-size: 0.95rem;
  margin: 0;
  padding-left: calc(1.2em + var(--lt-space-sm));
}

/* Admin FAQ repeater styles */
.lt-faq-admin-row {
  background: #f9f9f9;
  border: 1px solid #ddd;
  padding: 12px;
  margin-bottom: 10px;
  border-radius: 4px;
}

.lt-faq-admin-row textarea {
  width: 100%;
  margin-top: 4px;
}

.lt-faq-admin-row .button-link-delete {
  color: #b32d2e;
  cursor: pointer;
  float: right;
}

/* Hover card style */
.lt-card--hover {
  text-decoration: none;
  color: inherit;
  display: block;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lt-card--hover:hover {
  transform: translateY(-4px);
  box-shadow: var(--lt-shadow-lg, 0 10px 30px rgba(0,0,0,0.12));
}

/* Pagination */
.lt-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 var(--lt-space-sm);
  margin: 0 var(--lt-space-xs);
  border-radius: var(--lt-radius-md);
  background: var(--lt-bg-card);
  border: 1px solid var(--lt-border);
  color: var(--lt-text-primary);
  text-decoration: none;
  font-weight: 500;
  transition: all 0.2s ease;
}

.lt-pagination .page-numbers.current,
.lt-pagination .page-numbers:hover {
  background: var(--lt-primary);
  color: hsl(0, 0%, 100%);
  border-color: var(--lt-primary);
}

/* ============================================
   BREADCRUMB NAVIGATION
   ============================================ */

.lt-breadcrumb {
  margin-bottom: var(--lt-space-lg);
}

.lt-breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.85rem;
}

.lt-breadcrumb__item a {
  color: hsl(0, 0%, 100%, 0.7);
  text-decoration: none;
  transition: color 0.2s ease;
}

.lt-breadcrumb__item a:hover {
  color: hsl(0, 0%, 100%);
  text-decoration: underline;
}

.lt-breadcrumb__current {
  color: hsl(0, 0%, 100%, 0.9);
  font-weight: 500;
}

.lt-breadcrumb__sep {
  color: hsl(0, 0%, 100%, 0.4);
  margin: 0 var(--lt-space-xs);
  font-size: 0.9rem;
  list-style: none;
}

/* Breadcrumb on light backgrounds (archive pages) */
.lt-archive-header .lt-breadcrumb__item a {
  color: var(--lt-text-muted);
}

.lt-archive-header .lt-breadcrumb__item a:hover {
  color: var(--lt-primary);
}

.lt-archive-header .lt-breadcrumb__current {
  color: var(--lt-text-primary);
}

.lt-archive-header .lt-breadcrumb__sep {
  color: var(--lt-text-muted);
}

.lt-breadcrumb-check {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  margin: calc(-1 * var(--lt-space-sm)) 0 var(--lt-space-md);
  padding: 6px 10px;
  border-radius: var(--lt-radius-sm);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.3;
}
.lt-breadcrumb-check--pass {
  color: var(--lt-success);
  background: var(--lt-success-light, var(--lt-primary-light));
}
.lt-breadcrumb-check--fail {
  color: var(--lt-error);
  background: var(--lt-error-light, var(--lt-primary-light));
}


/* ============================================
   COOKIE CONSENT BANNER
   ============================================ */

.lt-cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: var(--lt-secondary);
  color: hsl(0, 0%, 100%);
  padding: var(--lt-space-md) var(--lt-space-lg);
  box-shadow: 0 -4px 20px hsla(0, 0%, 0%, 0.2);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.lt-cookie-banner--dismissed {
  transform: translateY(110%);
  opacity: 0;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .lt-cookie-banner { transition: none; }
}


.lt-cookie-banner__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--lt-space-lg);
  flex-wrap: wrap;
}

.lt-cookie-banner__inner p {
  margin: 0;
  font-size: 0.9rem;
  flex: 1;
  min-width: 250px;
}

.lt-cookie-banner__inner a,
.lt-cookie-banner a {
  color: var(--lt-primary, #2563eb);
  text-decoration: underline;
  font-weight: 600;
}

.lt-cookie-banner__inner a:hover,
.lt-cookie-banner a:hover {
  color: var(--lt-primary-dark, #1d4ed8);
}

.lt-cookie-banner__actions {
  display: flex;
  gap: var(--lt-space-sm);
  flex-shrink: 0;
}

.lt-cookie-banner .lt-btn--outline {
  border-color: var(--lt-border, #cbd5e1);
  color: var(--lt-text, #0f172a);
  background: transparent;
}

.lt-cookie-banner .lt-btn--outline:hover {
  background: var(--lt-surface-alt, #f1f5f9);
  color: var(--lt-text, #0f172a);
}

@media (max-width: 600px) {
  .lt-cookie-banner__inner {
    flex-direction: column;
    text-align: center;
  }
  .lt-cookie-banner__actions {
    justify-content: center;
  }
  .lt-cookie-banner {
    bottom: 64px; /* Above mobile bottom nav */
  }
}

/* ============================================
   MOBILE STICKY BOTTOM NAV
   ============================================ */

.lt-mobile-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  background: var(--lt-surface);
  border-top: 1px solid var(--lt-border-light);
  box-shadow: 0 -2px 12px hsla(0, 0%, 0%, 0.08);
}

@media (max-width: 768px) {
  .lt-mobile-bottom-nav {
    display: block;
  }
  body {
    padding-bottom: 64px;
  }
  .lt-footer {
    padding-bottom: var(--lt-space-xl);
  }
}

.lt-mobile-bottom-nav__inner {
  display: flex;
  align-items: stretch;
  justify-content: space-around;
  height: 60px;
  max-width: 600px;
  margin: 0 auto;
}

.lt-mobile-bottom-nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  gap: 2px;
  text-decoration: none;
  color: var(--lt-text-muted);
  font-size: 0.65rem;
  font-weight: 500;
  position: relative;
  transition: color 0.2s ease;
  padding: 4px 0;
  min-width: 0;
}

.lt-mobile-bottom-nav__item:hover,
.lt-mobile-bottom-nav__item--active {
  color: var(--lt-primary);
}

.lt-mobile-bottom-nav__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}

.lt-mobile-bottom-nav__icon svg {
  width: 20px;
  height: 20px;
}

.lt-mobile-bottom-nav__label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 56px;
  text-align: center;
}

.lt-mobile-bottom-nav__indicator {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 3px;
  background: var(--lt-primary);
  border-radius: 0 0 3px 3px;
}

.lt-mobile-bottom-nav__item--call {
  color: var(--lt-info);
}

.lt-mobile-bottom-nav__item--whatsapp {
  color: hsl(142, 70%, 40%);
}

/* ============================================
   BOOK NOW STICKY TOP BAR (CPT pages)
   ============================================ */

.lt-book-now-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--lt-primary-light);
  padding: var(--lt-space-sm) var(--lt-space-md);
  border-radius: var(--lt-radius-md);
  margin-top: var(--lt-space-md);
  gap: var(--lt-space-md);
}

.lt-book-now-bar__text {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--lt-text);
}

.lt-book-now-bar .lt-btn {
  flex-shrink: 0;
}

/* ============================================
   COMPARE PANEL (right side)
   ============================================ */

#lt-compare-panel {
  font-family: var(--lt-font-body);
}

.lt-compare-table {
  width: 100%;
  border-collapse: collapse;
}

.lt-compare-table th,
.lt-compare-table td {
  padding: 10px 14px;
  border: 1px solid var(--lt-border);
  text-align: left;
  font-size: 0.9rem;
}

.lt-compare-table thead th {
  background: var(--lt-primary-light);
  font-weight: 600;
}

.lt-compare-table tbody tr:nth-child(even) {
  background: var(--lt-bg-alt);
}

#lt-compare-modal > div {
  animation: ltFadeIn 0.3s ease;
}

@keyframes ltFadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

/* ============================================
   LOCAL GUIDE OPINION + WEATHER WIDGET
   ============================================ */

.lt-guide-weather-bar {
  background: var(--lt-surface);
  border: 1px solid var(--lt-border-light);
  border-radius: var(--lt-radius-lg);
  padding: var(--lt-space-lg);
  margin: 0 auto;
  max-width: var(--lt-container);
  display: flex;
  gap: var(--lt-space-xl);
  align-items: flex-start;
  flex-wrap: wrap;
  box-shadow: var(--lt-shadow-sm);
  position: relative;
  z-index: 10;
  margin-top: calc(-1 * var(--lt-space-xl));
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - var(--lt-space-lg) * 2);
}

.lt-guide-opinion {
  display: flex;
  gap: var(--lt-space-md);
  align-items: flex-start;
  flex: 1;
  min-width: 250px;
}

.lt-guide-opinion__icon {
  font-size: 1.5rem;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: var(--lt-primary-light);
  border-radius: var(--lt-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
}

.lt-guide-opinion__label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--lt-primary);
  display: block;
  margin-bottom: 2px;
}

.lt-guide-opinion__text {
  font-size: 0.9rem;
  color: var(--lt-text-secondary);
  line-height: 1.5;
  margin: 0;
}

/* What's New Widget */
.lt-whatsnew-widget {
  flex-shrink: 0;
  min-width: 200px;
}

.lt-whatsnew-widget__inner {
  display: flex;
  flex-direction: column;
  gap: var(--lt-space-sm);
  padding: var(--lt-space-sm) var(--lt-space-md);
  background: var(--lt-bg-alt);
  border-radius: var(--lt-radius-md);
  border: 1px solid var(--lt-border-light);
}

.lt-whatsnew-widget__label {
  font-family: var(--lt-font-display);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--lt-text);
}

@media (max-width: 768px) {
  .lt-guide-weather-bar {
    flex-direction: column;
    margin-top: calc(-1 * var(--lt-space-md));
  }
}

/* ============================================
   BACK TO TOP
   ============================================ */

.lt-back-to-top {
  position: fixed;
  bottom: 80px;
  right: 20px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--lt-primary);
  color: hsl(0, 0%, 100%);
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 999;
  box-shadow: 0 4px 12px hsla(0, 0%, 0%, 0.2);
}

.lt-back-to-top--visible {
  opacity: 1;
  visibility: visible;
}

.lt-back-to-top:hover {
  background: var(--lt-primary-dark);
  transform: translateY(-2px);
}

/* ============================================
   MARQUEE NOTIFICATION BANNER
   ============================================ */

.lt-marquee {
  background: linear-gradient(90deg, var(--lt-secondary, hsl(220,50%,20%)) 0%, hsl(220, 50%, 30%) 100%);
  color: hsl(0,0%,100%);
  overflow: hidden;
  white-space: nowrap;
  padding: 8px 0;
  font-size: 0.9rem;
  font-weight: 600;
  position: relative;
}

.lt-marquee__inner {
  display: inline-block;
  animation: lt-marquee-scroll 20s linear infinite;
  padding-left: 100%;
}

@keyframes lt-marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-66.66%); }
}

.lt-marquee:hover .lt-marquee__inner {
  animation-play-state: paused;
}

/* Info Table for single pages */
.lt-info-table {
  width: 100%;
  border-collapse: collapse;
}
.lt-info-table th,
.lt-info-table td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--lt-border-light, hsl(0,0%,90%));
  text-align: left;
  font-size: 0.95rem;
}
.lt-info-table th {
  color: var(--lt-text-secondary, hsl(0,0%,40%));
  font-weight: 600;
  width: 35%;
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
  .lt-header,
  .lt-footer,
  .lt-cookie-banner,
  .lt-mobile-nav,
  .lt-back-to-top,
  .lt-book-now-bar,
  .lt-sidebar-widget,
  .lt-single-sidebar,
  .lt-share,
  .lt-btn--whatsapp,
  .lt-btn--call,
  #lt-booking-form,
  form {
    display: none !important;
  }

  body {
    font-size: 12pt;
    color: hsl(0, 0%, 0%);
    background: hsl(0, 0%, 100%);
  }

  .lt-container {
    max-width: 100%;
    padding: 0;
  }

  .lt-single-hero {
    background: hsl(0, 0%, 95%) !important;
    color: hsl(0, 0%, 0%) !important;
    padding: 20px !important;
  }

  .lt-single-hero h1 {
    color: hsl(0, 0%, 0%) !important;
  }

  .lt-single-content__grid {
    display: block;
  }

  .lt-card {
    box-shadow: none;
    border: 1px solid hsl(0, 0%, 85%);
    break-inside: avoid;
  }

  a {
    color: hsl(0, 0%, 0%);
    text-decoration: underline;
  }

  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: hsl(0, 0%, 40%);
  }
}

/* ============================================
   IMAGE GALLERY
   ============================================ */

.lt-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: var(--lt-space-sm);
}

.lt-gallery__item img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: var(--lt-radius);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lt-gallery__item:hover img {
  transform: scale(1.03);
  box-shadow: 0 4px 16px hsla(0, 0%, 0%, 0.15);
}

/* ============================================
   LIGHTBOX
   ============================================ */

.lt-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: hsla(0, 0%, 0%, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--lt-space-md);
}

.lt-lightbox__content {
  max-width: 90vw;
  max-height: 85vh;
  text-align: center;
}

.lt-lightbox__content img {
  max-width: 90vw;
  max-height: 80vh;
  object-fit: contain;
  border-radius: var(--lt-radius);
}

.lt-lightbox__counter {
  color: hsl(0, 0%, 100%);
  font-size: 0.9rem;
  margin-top: var(--lt-space-sm);
}

.lt-lightbox__close,
.lt-lightbox__prev,
.lt-lightbox__next {
  background: hsla(0, 0%, 100%, 0.15);
  border: none;
  color: hsl(0, 0%, 100%);
  font-size: 1.5rem;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.2s;
  flex-shrink: 0;
}

.lt-lightbox__close {
  position: absolute;
  top: var(--lt-space-md);
  right: var(--lt-space-md);
}

.lt-lightbox__close:hover,
.lt-lightbox__prev:hover,
.lt-lightbox__next:hover {
  background: hsla(0, 0%, 100%, 0.3);
}

/* ============================================
   SKELETON LOADER
   ============================================ */

.lt-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--lt-space-lg);
}

.lt-skeleton-card {
  background: var(--lt-surface);
  border-radius: var(--lt-radius-lg);
  overflow: hidden;
  box-shadow: var(--lt-shadow-sm);
}

.lt-skeleton {
  background: linear-gradient(90deg, hsl(220, 15%, 93%) 25%, hsl(220, 15%, 88%) 50%, hsl(220, 15%, 93%) 75%);
  background-size: 200% 100%;
  animation: lt-shimmer 1.5s infinite;
  border-radius: 4px;
}

.lt-skeleton--image {
  height: 160px;
  border-radius: 0;
}

.lt-skeleton-card__body {
  padding: var(--lt-space-md);
  display: flex;
  flex-direction: column;
  gap: var(--lt-space-sm);
}

.lt-skeleton--title {
  height: 20px;
  width: 70%;
}

.lt-skeleton--text {
  height: 14px;
  width: 90%;
}

.lt-skeleton--short {
  width: 50%;
}

.lt-skeleton--btn {
  height: 36px;
  width: 120px;
  border-radius: var(--lt-radius);
  margin-top: var(--lt-space-xs);
}

@keyframes lt-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* ============================================
   LAZY LOAD IMAGE FADE-IN
   ============================================ */

.lt-card__image img[loading="lazy"],
img.lt-lazy {
  opacity: 0;
  transition: opacity 0.4s ease;
}

.lt-card__image img.lt-loaded,
img.lt-lazy.lt-loaded {
  opacity: 1;
}

/* Breadcrumb inline icons */
.lt-breadcrumb__item a, .lt-breadcrumb__current { display:inline-flex; align-items:center; gap:.35rem; }
.lt-breadcrumb__icon { display:inline-flex; align-items:center; font-size:.95em; line-height:1; }

/* Admin breadcrumb validation badge */
.lt-breadcrumb-check { display:inline-block; margin-top:.5rem; padding:.35rem .65rem; border-radius:6px; font-size:.78rem; font-weight:600; }
.lt-breadcrumb-check--pass { background:hsl(142 70% 95%); color:hsl(142 70% 28%); border:1px solid hsl(142 60% 80%); }
.lt-breadcrumb-check--fail { background:hsl(0 80% 96%); color:hsl(0 70% 38%); border:1px solid hsl(0 70% 80%); }

/* Mobile bottom nav: highlight Book Now CTA */
.lt-mobile-bottom-nav__item--cta { color:hsl(var(--lt-primary)) !important; font-weight:700; }
.lt-mobile-bottom-nav__item--cta .lt-mobile-bottom-nav__icon { background:hsl(var(--lt-primary) / .12); border-radius:10px; padding:4px; }

/* ---------- SPA-like cross-document View Transitions (Chrome/Edge 126+) ---------- */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: lt-fade-out .18s ease both; }
::view-transition-new(root) { animation: lt-fade-in .26s ease both; }
@keyframes lt-fade-out { to { opacity: 0; transform: translateY(-4px); } }
@keyframes lt-fade-in  { from { opacity: 0; transform: translateY(6px); } }

/* Top progress bar shown during navigation (works everywhere) */
#lt-nav-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0;
  background: linear-gradient(90deg, hsl(var(--lt-primary)), hsl(var(--lt-primary) / .6));
  z-index: 99999; transition: width .25s ease, opacity .25s ease;
  box-shadow: 0 0 8px hsl(var(--lt-primary) / .6); opacity: 0; pointer-events: none;
}
#lt-nav-progress.lt-nav-progress--active { opacity: 1; }

/* Subtle fade on body during navigation as a fallback when View Transitions unsupported */
body.lt-nav-leaving { opacity: .6; transition: opacity .18s ease; }

/* ============================================================
   DISCOVERY / INSTANT SEARCH OVERLAY (v1.5.0)
   ============================================================ */
html.lt-disc-open { overflow: hidden; }
#lt-discovery-overlay { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: flex-start; justify-content: center; padding: 6vh 1rem 1rem; }
#lt-discovery-overlay[hidden] { display: none; }
.lt-disc-backdrop { position: absolute; inset: 0; background: rgba(10,12,20,.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); animation: ltDiscFade .18s ease; }
.lt-disc-modal { position: relative; width: 100%; max-width: 720px; max-height: 80vh; background: var(--lt-surface,#fff); color: var(--lt-text,#111); border-radius: 16px; box-shadow: 0 30px 80px -10px rgba(0,0,0,.35); display: flex; flex-direction: column; overflow: hidden; animation: ltDiscPop .22s cubic-bezier(.2,.8,.2,1); }
@keyframes ltDiscFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ltDiscPop  { from { opacity: 0; transform: translateY(-8px) scale(.98); } to { opacity: 1; transform: none; } }
.lt-disc-search { display: flex; align-items: center; gap: .6rem; padding: 1rem 1.1rem; border-bottom: 1px solid rgba(0,0,0,.08); }
.lt-disc-search svg { color: #777; flex: 0 0 auto; }
.lt-disc-search input { flex: 1; font-size: 1.05rem; border: 0; outline: 0; background: transparent; padding: .3rem 0; color: inherit; }
.lt-disc-esc { font-size: .7rem; border: 1px solid rgba(0,0,0,.15); padding: .15rem .4rem; border-radius: 4px; color: #666; }
.lt-disc-panel { overflow-y: auto; padding: .6rem 0 .25rem; min-height: 120px; }
.lt-disc-section { padding: .5rem 1.1rem .25rem; }
.lt-disc-section h4 { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: #777; margin: .25rem 0 .5rem; font-weight: 700; }
.lt-disc-chips { display: flex; flex-wrap: wrap; gap: .4rem; padding-bottom: .35rem; }
.lt-disc-chip { background: rgba(0,0,0,.05); border: 0; border-radius: 999px; padding: .35rem .75rem; font-size: .85rem; cursor: pointer; transition: background .15s; }
.lt-disc-chip:hover { background: rgba(0,0,0,.1); }
.lt-disc-list { list-style: none; margin: 0; padding: 0; }
.lt-disc-item { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .65rem .9rem; border-radius: 10px; text-decoration: none; color: inherit; transition: background .12s; }
.lt-disc-item:hover, .lt-disc-item.is-active { background: rgba(247,166,33,.12); outline: none; }
.lt-disc-item-title { font-weight: 600; }
.lt-disc-item-type { font-size: .72rem; color: #888; text-transform: uppercase; letter-spacing: .05em; }
.lt-disc-empty { text-align: center; padding: 2rem 1rem; color: #666; }
.lt-disc-empty-sub { font-size: .85rem; color: #999; }
.lt-disc-seeall { display: block; text-align: center; padding: .65rem .9rem; font-weight: 600; color: var(--lt-primary,#f7a621); text-decoration: none; border-top: 1px dashed rgba(0,0,0,.1); }
.lt-disc-footer { display: flex; gap: 1rem; justify-content: center; padding: .55rem; font-size: .72rem; color: #888; border-top: 1px solid rgba(0,0,0,.06); background: rgba(0,0,0,.02); }
.lt-disc-footer kbd { background: #fff; border: 1px solid rgba(0,0,0,.15); border-radius: 4px; padding: 0 .35rem; font-size: .7rem; margin: 0 .15rem; }

/* Faceted result grid (page-level) */
.lt-disc-result-group { margin: 1.25rem 0 2rem; }
.lt-disc-result-group h3 { font-size: 1.15rem; margin-bottom: .65rem; }
.lt-disc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.lt-disc-card { display: flex; flex-direction: column; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 14px -8px rgba(0,0,0,.15); text-decoration: none; color: inherit; transition: transform .18s, box-shadow .18s; }
.lt-disc-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px -10px rgba(0,0,0,.25); }
.lt-disc-card-img { height: 140px; background: #eee center/cover no-repeat; }
.lt-disc-card-body { padding: .75rem .85rem .9rem; display: flex; flex-direction: column; gap: .35rem; }
.lt-disc-card-body h4 { font-size: 1rem; margin: 0; }
.lt-disc-card-body p { font-size: .82rem; color: #666; margin: 0; }
.lt-disc-card-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .25rem; font-size: .78rem; color: #555; align-items: center; }
.lt-disc-badge { background: rgba(34,197,94,.12); color: #15803d; padding: .1rem .45rem; border-radius: 999px; font-size: .7rem; font-weight: 600; }
.lt-disc-badge--gold { background: rgba(247,166,33,.15); color: #b45309; }

@media (max-width: 600px) {
	#lt-discovery-overlay { padding: 0; }
	.lt-disc-modal { max-height: 100vh; height: 100vh; border-radius: 0; }
	.lt-disc-footer { display: none; }
}
@media (prefers-color-scheme: dark) {
	.lt-disc-modal { background: #15161b; color: #f0f0f0; }
	.lt-disc-chip { background: rgba(255,255,255,.08); }
	.lt-disc-chip:hover { background: rgba(255,255,255,.14); }
	.lt-disc-card { background: #1c1d22; }
	.lt-disc-card-body p { color: #aaa; }
}

/* ============================================================
   VENDOR INTELLIGENCE — BADGES, CARDS, FACETS (v1.6.0)
   ============================================================ */
.lt-vendor-badges { display: flex; flex-wrap: wrap; gap: .35rem; margin: .35rem 0; }
.lt-badge { display: inline-block; font-size: .7rem; font-weight: 600; padding: .15rem .55rem; border-radius: 999px; line-height: 1.5; }
.lt-badge--success { background: rgba(34,197,94,.14); color: #15803d; }
.lt-badge--gold    { background: rgba(247,166,33,.18); color: #b45309; }
.lt-badge--info    { background: rgba(59,130,246,.14); color: #1d4ed8; }
.lt-badge--neutral { background: rgba(0,0,0,.06); color: #444; }

.lt-vendor-card { display: flex; flex-direction: column; background: #fff; border-radius: 14px; overflow: hidden;
	box-shadow: 0 4px 14px -8px rgba(0,0,0,.15); text-decoration: none; color: inherit;
	transition: transform .18s, box-shadow .18s; }
.lt-vendor-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px -10px rgba(0,0,0,.25); }
.lt-vendor-card-img { height: 150px; background: #eee center/cover no-repeat; }
.lt-vendor-card-body { padding: .85rem .95rem 1rem; display: flex; flex-direction: column; gap: .35rem; }
.lt-vendor-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .5rem; }
.lt-vendor-card-head h3 { font-size: 1.02rem; margin: 0; line-height: 1.3; }
.lt-vendor-rating { font-size: .85rem; color: #b45309; white-space: nowrap; }
.lt-vendor-excerpt { font-size: .82rem; color: #555; margin: .25rem 0 0; }
.lt-vendor-card-foot { display: flex; justify-content: space-between; align-items: center; margin-top: .55rem;
	padding-top: .55rem; border-top: 1px dashed rgba(0,0,0,.08); font-size: .85rem; }
.lt-vendor-price { font-weight: 700; color: #111; }
.lt-vendor-cta { color: var(--lt-primary,#f7a621); font-weight: 600; }

.lt-vendor-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.lt-vendor-list[aria-busy="true"] { opacity: .55; pointer-events: none; }

[data-lt-vendor-form] { display: flex; flex-wrap: wrap; gap: .55rem; padding: .75rem; background: rgba(0,0,0,.03);
	border-radius: 12px; margin-bottom: 1rem; align-items: center; }
[data-lt-vendor-form] select, [data-lt-vendor-form] input { padding: .45rem .65rem; border: 1px solid rgba(0,0,0,.12);
	border-radius: 8px; font-size: .88rem; background: #fff; }
[data-lt-vendor-form] label { font-size: .78rem; color: #666; display: flex; align-items: center; gap: .35rem; }

.lt-empty { text-align: center; padding: 1.5rem; color: #777; }

@media (prefers-color-scheme: dark) {
	.lt-vendor-card { background: #1c1d22; }
	.lt-vendor-excerpt { color: #aaa; }
	.lt-vendor-price { color: #f5f5f5; }
	[data-lt-vendor-form] { background: rgba(255,255,255,.04); }
	[data-lt-vendor-form] select, [data-lt-vendor-form] input { background: #1c1d22; color: #f0f0f0; border-color: rgba(255,255,255,.12); }
}

/* ============ Vendor Portal (v1.8.0) ============ */
.lt-vendor-shell { display:grid; grid-template-columns: minmax(240px,260px) minmax(0,1fr); gap:24px; max-width:1280px; width:100%; margin:24px auto; padding:0 20px; overflow:visible; }
.lt-vendor-shell--auth { display:block; max-width:440px; }
.lt-vendor-sidebar { background:#ffffff; border:1px solid #eceef2; border-radius:16px; padding:14px 12px; position:sticky; top:72px; align-self:start; max-height:calc(100vh - 96px); overflow-y:auto; -webkit-overflow-scrolling:touch; box-shadow:0 1px 2px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.04); display:flex; flex-direction:column; }
.lt-vendor-brand { padding:6px 8px 14px; border-bottom:1px solid #eceef2; margin-bottom:10px; min-width:0; overflow:hidden; }
.lt-vendor-brand strong,.lt-vendor-brand small { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lt-vendor-brand strong { font-size:14px; letter-spacing:-.01em; color:#0b1220; }
.lt-vendor-brand small { color:#5b6473; font-size:12px; margin-top:2px; }
.lt-vendor-partner-type { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#8a93a3; padding:6px 10px 8px; }
.lt-vendor-sidebar nav { display:flex; flex-direction:column; gap:1px; }
.lt-vendor-sidebar nav a { display:flex; align-items:center; min-height:40px; padding:9px 12px; border-radius:8px; text-decoration:none; color:#1f2937; font-size:13.5px; font-weight:500; line-height:1.3; white-space:normal; overflow-wrap:anywhere; transition:background .12s, color .12s; position:relative; }
.lt-vendor-sidebar nav a:hover { background:#f1f5f9; color:#0b1220; }
.lt-vendor-sidebar nav a[aria-current="page"] { background:hsl(217 91% 58% / .10); color:hsl(217 91% 38%); font-weight:600; }
.lt-vendor-sidebar nav a[aria-current="page"]::before { content:""; position:absolute; left:0; top:8px; bottom:8px; width:3px; border-radius:0 3px 3px 0; background:hsl(217 91% 58%); }
.lt-vendor-sidebar nav a.lt-vendor-subnav { color:#5b6473; font-weight:500; position:relative; }
.lt-vendor-sidebar nav a.lt-vendor-subnav::after { content:""; position:absolute; left:18px; top:0; bottom:0; width:1px; background:#eceef2; }
.lt-vendor-logout { margin-top:auto; padding-top:10px; border-top:1px solid #eceef2; color:#b91c1c !important; font-weight:600; }
.lt-vendor-logout:hover { background:#fee2e2 !important; color:#7f1d1d !important; }
.lt-vendor-mobile-bar { display:none; align-items:center; justify-content:space-between; gap:12px; background:#ffffff; border:1px solid #eceef2; border-radius:14px; padding:12px 14px; box-shadow:0 1px 2px rgba(15,23,42,.04); margin-bottom:12px; grid-column:1/-1; }
.lt-vendor-mobile-bar strong { flex:1 1 auto; min-width:0; font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lt-vendor-menu-toggle { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; background:hsl(217 91% 58%); color:#fff; border:0; border-radius:10px; padding:9px 14px; min-height:40px; max-width:44vw; font-weight:600; line-height:1; cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,.18); }
.lt-vendor-menu-toggle span[aria-hidden="true"] { width:16px; height:12px; border-top:2px solid currentColor; border-bottom:2px solid currentColor; position:relative; flex:0 0 16px; transition:transform .2s; }
.lt-vendor-menu-toggle span[aria-hidden="true"]::after { content:""; position:absolute; left:0; right:0; top:50%; border-top:2px solid currentColor; transform:translateY(-50%); }
#lt-vendor-app { background:#ffffff; border-radius:16px; padding:24px; min-height:60vh; box-shadow:0 1px 2px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.04); border:1px solid #eceef2; min-width:0; max-width:100%; overflow-x:hidden; }

#lt-vendor-app h1 { font-size:clamp(20px, 4vw, 28px); margin:0 0 12px; }
.lt-vendor-card { background:#fff; padding:32px; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,.08); margin-top:48px; }
.lt-vendor-card label { display:block; margin:12px 0; }
.lt-vendor-card input { width:100%; padding:10px; border:1px solid #ddd; border-radius:8px; }
.lt-error { background:#fdecea; color:#a00; padding:10px 12px; border-radius:8px; }
.lt-empty { background:#f7f8fa; color:#666; padding:18px; border-radius:10px; text-align:center; }
.lt-stat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; margin:16px 0; }
.lt-stat { background:#f7f8fa; border-radius:10px; padding:14px; min-width:0; }
.lt-stat span { font-size:12px; color:#666; }
.lt-stat strong { display:block; font-size:clamp(18px, 4vw, 22px); margin-top:4px; word-break:break-word; }
.lt-stat-warn { background:#fff7e6; } .lt-stat-high { background:#ffecec; }
.lt-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:12px; }
.lt-table { width:100%; border-collapse:collapse; min-width:640px; }
.lt-table th, .lt-table td { padding:10px; border-bottom:1px solid #eee; text-align:left; vertical-align:top; }
.lt-pill { padding:2px 8px; border-radius:999px; font-size:11px; background:#eef; white-space:nowrap; }
.lt-pill-pending,.lt-pill-vendor_assigned { background:#fff3cd; }
.lt-pill-confirmed,.lt-pill-driver_assigned,.lt-pill-enroute { background:#d1ecf1; }
.lt-pill-completed { background:#d4edda; }
.lt-pill-cancelled,.lt-pill-expired { background:#f8d7da; }
.lt-pill-warn { background:#fef3c7; color:#92400e; }
.lt-pill-ok { background:#d4edda; color:#155724; }
.lt-pill-err { background:#f8d7da; color:#7f1d1d; }
.lt-actions { display:flex; gap:6px; flex-wrap:wrap; }
.lt-vehicle-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.lt-vehicle-card { background:#f7f8fa; padding:14px; border-radius:10px; min-width:0; }
.lt-vehicle-card img { width:100%; height:120px; object-fit:cover; border-radius:8px; }
.lt-vehicle-add { display:flex; align-items:center; justify-content:center; }
.lt-form .lt-field { display:block; margin:10px 0; }
.lt-form .lt-field > span { display:block; font-size:13px; margin-bottom:4px; color:#444; }
.lt-form input, .lt-form select, .lt-form textarea { width:100%; padding:10px; border:1px solid #ddd; border-radius:8px; font-size:15px; box-sizing:border-box; }
.lt-flash { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); background:#222; color:#fff; padding:10px 18px; border-radius:999px; z-index:9999; }
.lt-sparkline { display:flex; gap:2px; align-items:flex-end; list-style:none; padding:0; height:120px; overflow-x:auto; }
.lt-sparkline li span { display:block; width:8px; background:hsl(var(--primary,217 91% 60%)); border-radius:2px; }
.lt-notif { display:block; padding:12px; margin:6px 0; border-radius:8px; text-decoration:none; color:inherit; background:#f7f8fa; }
.lt-notif-warning { background:#fff7e6; } .lt-notif-high { background:#ffecec; }

/* Mobile sidebar layout now lives in partner-dashboard.css as an off-canvas drawer. */
@media (max-width: 960px) {
  html, body { overflow-x:hidden; -webkit-overflow-scrolling:touch; }
  .lt-vendor-shell { display:flex; flex-direction:column; gap:12px; width:100%; max-width:100%; margin:0 auto; padding:64px 12px 96px; overflow:visible; }
  #lt-vendor-app { padding:16px; overflow:visible; border-radius:14px; }
  .lt-actions .button { flex:1 1 auto; min-width:80px; text-align:center; }
}
@media (max-width: 480px) {
  #lt-vendor-app { padding:14px; border-radius:12px; }
  .lt-stat-grid { grid-template-columns: 1fr; gap:8px; }
  .lt-stat { padding:12px; }
  .lt-vehicle-grid { grid-template-columns: 1fr; }
  .lt-table-wrap { max-width:100%; padding-bottom:8px; overflow-x:auto; }
}

/* ============================================
   v1.13.0 — Vendor Dashboard: bookings cards + leads marketplace
   ============================================ */
.lt-empty { padding: 28px 18px; text-align: center; color: #555; background: #f7f8fa; border-radius: 12px; }
.lt-muted { color: #666; font-size: 13px; }
.lt-count { display: inline-block; margin-left: 6px; padding: 2px 10px; background: hsl(var(--primary,217 91% 60%)); color: #fff; font-size: 12px; border-radius: 999px; vertical-align: middle; }

/* Bookings: responsive card layout (replaces squished table on mobile) */
.lt-booking-list { display: grid; gap: 12px; margin-top: 14px; }
.lt-booking-card { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 12px; padding: 14px 16px; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.lt-booking-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.lt-booking-head strong { margin-right: 8px; font-size: 14px; }
.lt-booking-head time { font-size: 12px; color: #666; }
.lt-booking-body { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin-bottom: 12px; }
.lt-booking-body > div { min-width: 0; }
.lt-booking-body span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #888; margin-bottom: 2px; }
.lt-booking-body strong { display: block; font-size: 14px; word-break: break-word; }
.lt-booking-body small { color: #666; font-size: 12px; }
.lt-booking-card .lt-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.lt-booking-card .lt-actions .button { flex: 1 1 calc(50% - 6px); min-width: 0; padding: 8px 10px; font-size: 13px; text-align: center; border-radius: 8px; }

@media (max-width: 520px) {
  .lt-booking-body { grid-template-columns: 1fr; gap: 8px; }
}

/* Leads marketplace */
.lt-lead-deck { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; margin-top: 16px; }
.lt-lead-card { background: linear-gradient(180deg, #fff, #f9fafc); border: 1px solid rgba(0,0,0,.08); border-radius: 16px; padding: 18px; box-shadow: 0 4px 14px -8px rgba(0,0,0,.15); display: flex; flex-direction: column; gap: 12px; transition: transform .2s, box-shadow .2s; }
.lt-lead-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px -10px rgba(0,0,0,.2); }
.lt-lead-top { display: flex; align-items: center; justify-content: space-between; font-size: 11px; }
.lt-lead-age { color: #888; }
.lt-lead-card h3 { margin: 0; font-size: 18px; }
.lt-lead-meta { margin: 0; display: grid; gap: 8px; }
.lt-lead-meta > div { display: grid; grid-template-columns: 70px 1fr; gap: 8px; font-size: 13px; }
.lt-lead-meta dt { color: #888; font-weight: 500; margin: 0; }
.lt-lead-meta dd { margin: 0; font-weight: 600; color: #222; word-break: break-word; }
.lt-lead-actions { display: flex; gap: 8px; margin-top: auto; }
.lt-lead-actions .button { flex: 1 1 0; padding: 10px 12px; font-size: 14px; border-radius: 10px; font-weight: 600; }
.lt-btn-reject { background: #fff !important; color: #c00 !important; border: 1px solid #f0c0c0 !important; }
.lt-btn-accept { background: hsl(var(--primary,217 91% 60%)) !important; color: #fff !important; }

.lt-lead-full { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 14px; padding: 18px; margin: 12px 0; box-shadow: 0 2px 6px rgba(0,0,0,.04); }
.lt-lead-full header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; flex-wrap: wrap; gap: 8px; }
.lt-lead-full header h3 { margin: 0; font-size: 18px; }
.lt-lead-full .lt-lead-meta > div { grid-template-columns: 90px 1fr; }
.lt-lead-full .lt-lead-msg { grid-template-columns: 1fr !important; }
.lt-lead-full .lt-lead-actions { margin-top: 14px; }

/* ===== Vendor dashboard: convert modal + tables (v1.14) ===== */
.lt-modal-overlay{position:fixed;inset:0;background:#ffffff;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.lt-modal{background:#fff;color:#0f172a;border:1px solid #e5e7eb;border-radius:12px;max-width:480px;width:100%;padding:24px;box-shadow:0 18px 48px -24px rgba(15,23,42,.35);max-height:90vh;overflow-y:auto}
.lt-modal h2{margin:0 0 6px;font-size:20px}
.lt-modal .lt-muted{font-size:13px;margin-bottom:16px}
.lt-modal .lt-field{display:grid;gap:6px;margin-bottom:14px}
.lt-modal .lt-field span{font-size:13px;font-weight:600;color:#374151}
.lt-modal input,.lt-modal textarea{padding:9px 11px;border:1px solid #d4d4d8;border-radius:7px;font-size:14px;width:100%;box-sizing:border-box}
.lt-modal .lt-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.lt-table{width:100%;border-collapse:collapse;margin-top:14px;font-size:14px}
.lt-table th,.lt-table td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left}
.lt-table th{background:#f9fafb;font-weight:600}
.lt-booking-card .lt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.lt-booking-card .lt-actions .button{font-size:13px;padding:6px 12px}
@media (max-width:640px){
    .lt-table{font-size:12px}
    .lt-table th,.lt-table td{padding:7px 6px}
    .lt-booking-card .lt-actions .button{flex:1 1 calc(50% - 4px);text-align:center}
}

/* Vendor banner + KYC grid (v1.16.0) */
.lt-vendor-banner{padding:12px 16px;border-radius:8px;margin:0 0 16px;font-size:14px;line-height:1.5}
.lt-vendor-banner-danger{background:#fde8e8;color:#9b1c1c;border:1px solid #f8b4b4}
.lt-vendor-banner-warn{background:#fffaeb;color:#92400e;border:1px solid #fde68a}
.lt-vendor-banner-info{background:#eff6ff;color:#1e3a8a;border:1px solid #bfdbfe}
.lt-vendor-banner a{color:inherit;text-decoration:underline;font-weight:600}
.lt-kyc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:12px}
.lt-kyc-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px}
.lt-kyc-card h3{margin:0 0 8px;font-size:15px}
.lt-kyc-card .button-small{margin-top:6px}
.lt-driver-form{margin-top:16px;padding:16px;background:#fafafa;border:1px solid #e5e7eb;border-radius:10px}
@media (max-width:480px){.lt-kyc-grid{grid-template-columns:1fr}}

/* =====================================================
   Vendor dashboard — base button + form styling (v1.17.0)
   Frontend doesn't load wp-admin styles, so .button/.button-primary
   need explicit definitions. Scoped to the dashboard + modals.
   ===================================================== */
.lt-vendor-shell .button,
.lt-vendor-shell button.button,
.lt-modal .button,
.lt-modal button.button,
.lt-flash + .button {
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    padding:9px 16px; font-size:14px; font-weight:600; line-height:1.2;
    background:#fff; color:#111827; border:1px solid #d1d5db; border-radius:8px;
    cursor:pointer; text-decoration:none; transition:background .15s, border-color .15s, transform .05s, box-shadow .15s;
    font-family:inherit;
}
.lt-vendor-shell .button:hover,
.lt-modal .button:hover { background:#f3f4f6; border-color:#9ca3af; }
.lt-vendor-shell .button:active,
.lt-modal .button:active { transform:translateY(1px); }
.lt-vendor-shell .button:disabled,
.lt-modal .button:disabled { opacity:.55; cursor:not-allowed; }

.lt-vendor-shell .button-primary,
.lt-modal .button-primary {
    background:#2563eb; color:#fff; border-color:#1d4ed8;
    box-shadow:0 1px 2px rgba(37,99,235,.25);
}
.lt-vendor-shell .button-primary:hover,
.lt-modal .button-primary:hover { background:#1d4ed8; border-color:#1e40af; color:#fff; }

.lt-vendor-shell .button-secondary,
.lt-modal .button-secondary {
    background:#f3f4f6; color:#111827; border-color:#d1d5db;
}
.lt-vendor-shell .button-secondary:hover,
.lt-modal .button-secondary:hover { background:#e5e7eb; }

.lt-vendor-shell .button-small,
.lt-modal .button-small { padding:5px 10px; font-size:12px; border-radius:6px; }

.lt-vendor-shell .lt-btn-reject,
.lt-modal .lt-btn-reject {
    background:#fff; color:#b91c1c; border-color:#fecaca;
}
.lt-vendor-shell .lt-btn-reject:hover { background:#fef2f2; border-color:#fca5a5; }

.lt-vendor-shell .lt-btn-accept { background:#16a34a; border-color:#15803d; color:#fff; }
.lt-vendor-shell .lt-btn-accept:hover { background:#15803d; color:#fff; }

/* Forms inside the dashboard SPA */
.lt-vendor-shell .lt-form { display:flex; flex-direction:column; gap:14px; max-width:680px; background:#fff; padding:20px; border:1px solid #e5e7eb; border-radius:12px; margin:14px 0; box-shadow:0 1px 3px rgba(0,0,0,.03); }
.lt-vendor-shell .lt-form h2 { margin:0 0 4px; font-size:17px; }
.lt-vendor-shell .lt-form .lt-field { display:flex; flex-direction:column; gap:6px; margin:0; }
.lt-vendor-shell .lt-form .lt-field > span { font-size:13px; font-weight:600; color:#374151; }
.lt-vendor-shell .lt-form input[type="text"],
.lt-vendor-shell .lt-form input[type="email"],
.lt-vendor-shell .lt-form input[type="url"],
.lt-vendor-shell .lt-form input[type="tel"],
.lt-vendor-shell .lt-form input[type="number"],
.lt-vendor-shell .lt-form input[type="datetime-local"],
.lt-vendor-shell .lt-form input[type="date"],
.lt-vendor-shell .lt-form input[type="password"],
.lt-vendor-shell .lt-form select,
.lt-vendor-shell .lt-form textarea {
    padding:9px 12px; border:1px solid #d1d5db; border-radius:8px; font-size:14px;
    background:#fff; color:#111827; font-family:inherit; width:100%; box-sizing:border-box;
}
.lt-vendor-shell .lt-form input:focus,
.lt-vendor-shell .lt-form select:focus,
.lt-vendor-shell .lt-form textarea:focus,
.lt-modal input:focus,
.lt-modal select:focus,
.lt-modal textarea:focus {
    outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15);
}
.lt-vendor-shell .lt-form .lt-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }
.lt-modal select { padding:9px 11px; border:1px solid #d4d4d8; border-radius:7px; font-size:14px; width:100%; box-sizing:border-box; background:#fff; }

.lt-vendor-shell .lt-account { display:grid; grid-template-columns:max-content 1fr; gap:8px 18px; background:#fff; padding:18px; border:1px solid #e5e7eb; border-radius:12px; }
.lt-vendor-shell .lt-account dt { font-weight:600; color:#6b7280; }
.lt-vendor-shell .lt-account dd { margin:0; color:#111827; }

/* Driver autocomplete inside Convert modal */
.lt-driver-ac { position:relative; }
.lt-driver-ac-list {
    position:absolute; left:0; right:0; top:calc(100% + 2px);
    background:#fff; border:1px solid #d1d5db; border-radius:8px;
    box-shadow:0 10px 25px -8px rgba(0,0,0,.2);
    max-height:220px; overflow-y:auto; z-index:10000; display:none;
}
.lt-driver-ac-list.is-open { display:block; }
.lt-driver-ac-item { padding:9px 12px; cursor:pointer; font-size:14px; border-bottom:1px solid #f3f4f6; }
.lt-driver-ac-item:last-child { border-bottom:none; }
.lt-driver-ac-item:hover,
.lt-driver-ac-item.is-active { background:#eff6ff; }
.lt-driver-ac-item small { display:block; color:#6b7280; font-size:12px; margin-top:2px; }
.lt-driver-ac-item.lt-driver-ac-new { color:#2563eb; font-weight:600; }


/* v1.18 — Vendor dispute UI */
.lt-dispute-box { margin-top:10px; padding:10px 12px; background:#fef2f2; border-left:4px solid #dc2626; border-radius:6px; font-size:13px; color:#7f1d1d; }
.lt-dispute-box strong { color:#7f1d1d; }
.lt-dispute-admin { margin-top:8px; padding-top:8px; border-top:1px dashed #fecaca; color:#1f2937; }
.lt-dispute-admin strong { color:#15803d; }


/* v1.23 — Commission invoice table: actions below row, mobile-friendly */
.lt-inv-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.lt-inv-table { width:100%; }
.lt-inv-table .lt-inv-row td { border-bottom:none; padding-bottom:6px; }
.lt-inv-table .lt-inv-actions-row td {
    padding-top:6px; padding-bottom:14px; border-bottom:1px solid #e5e7eb; background:#fafafa;
}
.lt-inv-actions {
    display:flex; flex-wrap:wrap; gap:8px; align-items:center;
}
.lt-inv-actions .button { margin:0; }
@media (max-width:640px) {
    .lt-inv-table thead { display:none; }
    .lt-inv-table, .lt-inv-table tbody, .lt-inv-table .lt-inv-row,
    .lt-inv-table .lt-inv-actions-row, .lt-inv-table td { display:block; width:100%; }
    .lt-inv-table .lt-inv-row { border-top:1px solid #e5e7eb; padding-top:8px; }
    .lt-inv-table .lt-inv-row td { padding:4px 8px; border:none; }
    .lt-inv-table .lt-inv-row td:before { /* disabled */
        content:""; display:inline-block; min-width:90px;
        font-weight:600; color:#6b7280; font-size:12px; text-transform:uppercase;
    }
    .lt-inv-table .lt-inv-actions-row td { padding:10px 8px 14px; background:transparent; }
    .lt-inv-actions .button { flex:1 1 calc(50% - 4px); justify-content:center; text-align:center; font-size:12px; }
}

/* =====================================================
   v1.24 — Vendor Dashboard desktop polish (MMT/Booking-style)
   Pure CSS enhancements, no markup changes. Mobile rules above remain authoritative.
   ===================================================== */
@media (min-width: 961px) {
    /* Wider, full-bleed shell with stronger sidebar */
    .lt-vendor-shell {
        grid-template-columns: 264px minmax(0, 1fr) !important;
        max-width: 1440px !important;
        gap: 28px !important;
        padding: 28px 28px 64px !important;
        margin: 0 auto !important;
    }

    /* Sidebar refresh */
    .lt-vendor-sidebar {
        background: linear-gradient(180deg, #0f172a 0%, #111c34 100%) !important;
        color: #e2e8f0 !important;
        padding: 22px 16px !important;
        border-radius: 16px !important;
        box-shadow: 0 10px 30px -18px rgba(15, 23, 42, .35) !important;
        top: 88px !important;
        max-height: calc(100vh - 112px) !important;
    }
    .lt-vendor-brand {
        padding: 8px 8px 16px !important;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
        margin-bottom: 14px !important;
    }
    .lt-vendor-brand strong { color: #fff !important; font-size: 16px !important; letter-spacing: .2px; }
    .lt-vendor-brand small { color: #94a3b8 !important; font-size: 12px !important; margin-top: 3px !important; }

    .lt-vendor-sidebar nav { gap: 4px !important; }
    .lt-vendor-sidebar nav a {
        color: #cbd5e1 !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        padding: 11px 14px !important;
        border-radius: 10px !important;
        transition: background .15s, color .15s, transform .05s;
        position: relative;
    }
    .lt-vendor-sidebar nav a:hover {
        background: rgba(255,255,255,.06) !important;
        color: #fff !important;
    }
    .lt-vendor-sidebar nav a[aria-current="page"] {
        background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
        color: #fff !important;
        box-shadow: 0 6px 18px -8px rgba(37,99,235,.6);
    }
    .lt-vendor-sidebar nav a[aria-current="page"]::before {
        content: ""; position: absolute; left: -16px; top: 12px; bottom: 12px; width: 3px;
        background: #fbbf24; border-radius: 2px;
    }
    .lt-vendor-logout {
        margin-top: 18px !important;
        padding: 11px 14px !important;
        border-top: 1px solid rgba(255,255,255,.08) !important;
        border-radius: 0 !important;
        color: #fca5a5 !important;
        font-weight: 600 !important;
    }
    .lt-vendor-logout:hover { background: rgba(220,38,38,.12) !important; color: #fecaca !important; }

    /* Main panel */
    #lt-vendor-app {
        background: #fff !important;
        border-radius: 16px !important;
        padding: 32px 36px !important;
        box-shadow: 0 1px 3px rgba(0,0,0,.04), 0 12px 40px -24px rgba(15,23,42,.18) !important;
        border: 1px solid #eef0f4;
    }
    #lt-vendor-app h1 {
        font-size: 26px !important;
        font-weight: 700;
        letter-spacing: -.01em;
        color: #0f172a;
        margin: 0 0 6px !important;
        padding-bottom: 18px;
        border-bottom: 1px solid #eef0f4;
    }
    #lt-vendor-app h2 { font-size: 18px; color: #1e293b; margin-top: 24px; }

    /* Stat cards: brand-ish gradient */
    .lt-stat-grid { gap: 16px !important; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important; margin: 20px 0 28px !important; }
    .lt-stat {
        background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        padding: 18px 18px 16px;
        box-shadow: 0 1px 2px rgba(0,0,0,.03);
        transition: transform .15s, box-shadow .15s, border-color .15s;
    }
    .lt-stat:hover { transform: translateY(-2px); box-shadow: 0 8px 24px -12px rgba(15,23,42,.18); border-color: #cbd5e1; }
    .lt-stat span { font-size: 11px !important; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: #64748b !important; }
    .lt-stat strong { font-size: 26px !important; font-weight: 700; color: #0f172a; margin-top: 8px !important; letter-spacing: -.01em; }
    .lt-stat-warn { background: linear-gradient(135deg,#fffbeb,#fef3c7) !important; border-color: #fde68a; }
    .lt-stat-high { background: linear-gradient(135deg,#fef2f2,#fee2e2) !important; border-color: #fecaca; }

    /* Tables — booking-style refinement */
    .lt-table { font-size: 14px; border-radius: 12px; overflow: hidden; }
    .lt-table th { background: #f8fafc !important; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #475569; padding: 12px 14px !important; border-bottom: 1px solid #e2e8f0 !important; }
    .lt-table td { padding: 14px !important; border-bottom: 1px solid #f1f5f9 !important; }
    .lt-table tr:hover td { background: #fafbfc; }

    /* Booking + lead cards: tighter desktop grid */
    .lt-booking-list { grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: 14px; }
    .lt-booking-card { padding: 18px 20px; border-radius: 14px; transition: transform .15s, box-shadow .15s; }
    .lt-booking-card:hover { transform: translateY(-1px); box-shadow: 0 10px 30px -16px rgba(15,23,42,.2); }
    .lt-lead-deck { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }

    /* Pills polish */
    .lt-pill { padding: 4px 10px !important; font-size: 11px !important; font-weight: 600; letter-spacing: .02em; }

    /* Buttons: a touch larger on desktop */
    .lt-vendor-shell .button, .lt-vendor-shell button.button { padding: 10px 18px; font-size: 14px; }
    .lt-vendor-shell .button-primary { background: linear-gradient(135deg, #2563eb, #1d4ed8); border-color: transparent; box-shadow: 0 6px 16px -8px rgba(37,99,235,.55); }
    .lt-vendor-shell .button-primary:hover { background: linear-gradient(135deg, #1d4ed8, #1e40af); }

    /* Mobile bar hidden on desktop */
    .lt-vendor-mobile-bar { display: none !important; }

    /* Forms: 2-column on wide screens */
    .lt-vendor-shell .lt-form { max-width: 820px; padding: 26px 28px; border-radius: 14px; }
    .lt-vendor-shell .lt-form-grid {
        display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px;
    }

    /* Banner refresh */
    .lt-vendor-banner { border-radius: 12px; padding: 14px 18px; box-shadow: 0 1px 3px rgba(0,0,0,.04); }
}

@media (min-width: 1280px) {
    .lt-vendor-shell { grid-template-columns: 280px minmax(0,1fr) !important; padding: 32px 40px 80px !important; }
    #lt-vendor-app { padding: 36px 44px !important; }
    #lt-vendor-app h1 { font-size: 28px !important; }
}

/* =====================================================
   v1.24 — Vendor login page redesign (responsive)
   ===================================================== */
.lt-vendor-shell--auth { max-width: 1180px !important; padding: 0 24px !important; }
.lt-vendor-auth-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 36px;
    max-width: 1120px;
    margin: 56px auto !important;
    padding: 0 !important;
    align-items: stretch;
}
.lt-vendor-auth-grid > .lt-vendor-card {
    background: #fff;
    border: 1px solid #eef0f4;
    border-radius: 20px;
    padding: 44px 44px 36px !important;
    box-shadow: 0 24px 60px -32px rgba(15,23,42,.25), 0 2px 8px rgba(15,23,42,.04);
}
.lt-vendor-auth-grid h1 {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -.015em;
    color: #0f172a;
    margin: 0 0 6px;
}
.lt-vendor-auth-grid .muted { color: #64748b; font-size: 15px; margin: 0 0 4px; }
.lt-vendor-auth-grid form input {
    padding: 12px 14px !important;
    border: 1px solid #d4d4d8 !important;
    border-radius: 10px !important;
    font-size: 15px;
    transition: border-color .15s, box-shadow .15s;
}
.lt-vendor-auth-grid form input:focus {
    outline: none;
    border-color: #2563eb !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}
.lt-vendor-auth-grid form label { font-weight: 600; font-size: 14px; color: #334155; }
.lt-vendor-auth-grid form button[type="submit"] {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    border: 0 !important;
    color: #fff !important;
    border-radius: 10px !important;
    font-weight: 600;
    box-shadow: 0 10px 24px -10px rgba(37,99,235,.55);
    transition: transform .05s, box-shadow .15s, background .15s;
}
.lt-vendor-auth-grid form button[type="submit"]:hover {
    background: linear-gradient(135deg, #1d4ed8, #1e40af) !important;
    box-shadow: 0 14px 30px -10px rgba(29,78,216,.6);
}
.lt-vendor-auth-grid form button[type="submit"]:active { transform: translateY(1px); }

.lt-vendor-card--benefits {
    border-radius: 20px !important;
    padding: 44px 40px !important;
    background: radial-gradient(120% 120% at 0% 0%, #1e3a8a 0%, #0f172a 55%, #020617 100%) !important;
    position: relative;
    overflow: hidden;
}
.lt-vendor-card--benefits::before {
    content: ""; position: absolute; inset: -40% -10% auto auto; width: 320px; height: 320px;
    background: radial-gradient(closest-side, rgba(251,191,36,.25), transparent 70%);
    filter: blur(20px); pointer-events: none;
}
.lt-vendor-card--benefits h2 { font-size: 24px !important; letter-spacing: -.01em; }
.lt-vendor-card--benefits ul li { line-height: 1.5; }
.lt-vendor-card--benefits .button {
    background: #fbbf24 !important;
    color: #0f172a !important;
    transition: transform .05s, box-shadow .15s, background .15s;
    box-shadow: 0 10px 24px -10px rgba(251,191,36,.5);
}
.lt-vendor-card--benefits .button:hover { background: #f59e0b !important; box-shadow: 0 14px 30px -10px rgba(245,158,11,.6); }

@media (max-width: 900px) {
    .lt-vendor-auth-grid { grid-template-columns: 1fr; gap: 20px; margin: 24px auto !important; }
    .lt-vendor-auth-grid > .lt-vendor-card { padding: 28px 22px !important; border-radius: 16px; }
    .lt-vendor-card--benefits { padding: 28px 22px !important; }
    .lt-vendor-card--benefits h2 { font-size: 20px !important; }
}

/* =====================================================
   v1.25 — WordPress-admin style vendor dashboard layout
   Fixed full-height sidebar on the left, content fills the rest.
   Desktop only. Mobile rules above remain authoritative.
   ===================================================== */
@media (min-width: 961px) {
    /* Reset shell to a simple block; offset content for fixed sidebar */
    .lt-vendor-shell {
        display: block !important;
        grid-template-columns: none !important;
        max-width: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 24px 32px 64px 296px !important; /* 260px sidebar + 36px gutter */
        gap: 0 !important;
        background: #f1f3f7;
        min-height: calc(100vh - 60px);
    }

    /* Fixed full-height sidebar pinned to the left edge */
    .lt-vendor-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: 260px !important;
        max-height: 100vh !important;
        height: 100vh !important;
        border-radius: 0 !important;
        box-shadow: 1px 0 0 rgba(15,23,42,.06), 4px 0 16px -8px rgba(15,23,42,.18) !important;
        padding: 22px 14px !important;
        overflow-y: auto !important;
        z-index: 50;
    }
    .lt-vendor-sidebar nav a[aria-current="page"]::before { left: -14px !important; }

    /* Main content takes remaining width — no max cap */
    #lt-vendor-app {
        max-width: none !important;
        width: 100% !important;
        margin: 0 !important;
        border-radius: 14px !important;
    }

    /* Banners align with main content (not under fixed sidebar) */
    .lt-vendor-banner { margin-left: 0 !important; }

    /* Push WP admin bar / theme header out of the way for fixed sidebar */
    body.admin-bar .lt-vendor-sidebar { top: 32px !important; height: calc(100vh - 32px) !important; }
}

@media (min-width: 1280px) {
    .lt-vendor-shell {
        grid-template-columns: none !important;
        padding: 28px 40px 80px 316px !important; /* 280px sidebar + 36px gutter */
    }
    .lt-vendor-sidebar { width: 280px !important; }
}

@media (min-width: 1600px) {
    .lt-vendor-shell { padding-right: 64px !important; }
}

/* ============================================
   HOMEPAGE v2 — MakeMyTrip-inspired (scoped to .lt-hp)
   ============================================ */
.lt-hp {
  --hp-primary: #003580;
  --hp-primary-dark: #001f4d;
  --hp-accent: #febb02;
  --hp-accent-dark: #e6a800;
  --hp-text: #1a1a2e;
  --hp-muted: #5a6275;
  --hp-surface: #ffffff;
  --hp-surface-alt: #f5f7fb;
  --hp-border: #e4e8ef;
  --hp-radius: 14px;
  --hp-radius-lg: 20px;
  --hp-shadow: 0 10px 30px -12px rgba(0, 53, 128, 0.18);
  --hp-shadow-lg: 0 24px 60px -20px rgba(0, 53, 128, 0.32);
}

/* ----- HERO ----- */
.lt-hp-hero {
  position: relative;
  padding: clamp(2rem, 6vw, 4.5rem) 0 clamp(5rem, 10vw, 8rem);
  background: linear-gradient(135deg, #003580 0%, #001f4d 100%);
  color: #fff;
  overflow: hidden;
}
.lt-hp-hero::after {
  content:'';
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(254,187,2,0.10), transparent 40%),
    radial-gradient(circle at 85% 10%, rgba(255,255,255,0.06), transparent 50%);
  pointer-events:none;
}
.lt-hp-hero > .lt-container { position: relative; z-index: 1; }
.lt-hp-hero__head { text-align:center; max-width: 760px; margin: 0 auto clamp(1.25rem, 3vw, 2rem); }
.lt-hp-hero__badge {
  display:inline-block; padding: .4rem 1rem;
  background: rgba(255,255,255,0.14); backdrop-filter: blur(8px);
  border-radius: 999px; font-size: .85rem; font-weight: 600;
  margin-bottom: 1rem; color:#fff;
}
.lt-hp-hero__title {
  font-size: clamp(1.9rem, 5vw, 3rem);
  font-weight: 800; line-height: 1.12; margin: 0 0 .75rem; color:#fff;
  letter-spacing: -0.02em;
}
.lt-hp-hero__title em { font-style: normal; color: var(--hp-accent); }
.lt-hp-hero__sub { font-size: clamp(.95rem, 1.5vw, 1.1rem); opacity: .88; margin: 0; }

/* ----- HERO TABBED SEARCH CARD ----- */
.lt-hp-search {
  background: var(--hp-surface);
  border-radius: var(--hp-radius-lg);
  box-shadow: var(--hp-shadow-lg);
  overflow: hidden;
  max-width: 1080px;
  margin: 0 auto;
}
.lt-hp-search__tabs {
  display: flex;
  gap: 4px;
  padding: 10px 10px 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.lt-hp-search__tabs::-webkit-scrollbar { display:none; }
.lt-hp-tab {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .7rem 1.1rem; border: none; background: transparent;
  font-size: .95rem; font-weight: 600; color: var(--hp-muted);
  border-radius: 10px 10px 0 0; cursor: pointer;
  border-bottom: 3px solid transparent;
  transition: all .15s ease;
  white-space: nowrap;
}
.lt-hp-tab:hover { color: var(--hp-primary); background: var(--hp-surface-alt); }
.lt-hp-tab.is-active {
  color: var(--hp-primary);
  border-bottom-color: var(--hp-accent);
  background: var(--hp-surface-alt);
}
.lt-hp-tab__icon { font-size: 1.1rem; }

/* Promo banner inside card */
.lt-hp-promo { padding: 14px 18px 0; }
.lt-hp-promo__inner {
  position: relative;
  background: linear-gradient(135deg, #8b3a1a, #b85528);
  color: #fff; padding: 14px 44px 14px 20px; border-radius: 12px;
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  font-size: .95rem;
}
.lt-hp-promo__inner strong { font-size: 1.15rem; font-weight: 800; letter-spacing: .01em; }
.lt-hp-promo__sub { opacity: .9; font-size: .85rem; }
.lt-hp-promo__close {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  background: rgba(0,0,0,0.25); color:#fff; border:none; width: 26px; height: 26px;
  border-radius: 50%; cursor: pointer; font-size: 1rem; line-height: 1;
}

.lt-hp-search__form { padding: 18px; background: var(--hp-surface); position: relative; }

/* Trip-type radios */
.lt-hp-trip {
  display: flex; flex-wrap: wrap; align-items: center; gap: 18px 22px;
  padding: 4px 4px 16px; font-size: .92rem;
}
.lt-hp-trip__opt {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  color: var(--hp-muted); font-weight: 600;
}
.lt-hp-trip__opt input { accent-color: var(--hp-primary); width: 16px; height: 16px; margin: 0; }
.lt-hp-trip__opt.is-active { color: var(--hp-primary); }
.lt-hp-trip__opt:has(input:checked) { color: var(--hp-primary); }
.lt-hp-trip__meta { margin-left: auto; color: var(--hp-muted); font-size: .85rem; }

/* Fields grid (From | swap | To | Departure | Return | Time) */
.lt-hp-fields {
  display: grid;
  grid-template-columns: 1.3fr auto 1.3fr 1fr 1.1fr .9fr;
  border: 1px solid var(--hp-border); border-radius: 12px; overflow: visible;
  background: var(--hp-surface);
}
.lt-hp-field {
  display: flex; flex-direction: column; padding: 14px 18px;
  border-right: 1px solid var(--hp-border); min-width: 0;
}
.lt-hp-field:last-of-type { border-right: none; }
.lt-hp-field label {
  font-size: .75rem; font-weight: 600; color: var(--hp-muted);
  margin-bottom: .35rem; text-transform: none; letter-spacing: 0;
}
.lt-hp-field select,
.lt-hp-field input {
  width: 100%; border: none; outline: none; background: transparent;
  font-size: 1.35rem; font-weight: 800; color: var(--hp-text);
  padding: 2px 0; appearance: none; line-height: 1.1;
}
.lt-hp-field input[type="date"],
.lt-hp-field input[type="time"] { font-size: 1.15rem; }
.lt-hp-field--return input::placeholder { font-size: .82rem; font-weight: 600; color: var(--hp-muted); white-space: normal; }

/* Swap button between From/To */
.lt-hp-swap {
  align-self: center;
  width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid var(--hp-border); background: #fff;
  color: var(--hp-primary); font-size: 1rem; cursor: pointer;
  display: grid; place-items: center; margin: 0 -18px; z-index: 2;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
  transition: transform .2s ease;
}
.lt-hp-swap:hover { transform: rotate(180deg); background: var(--hp-surface-alt); }

/* Floating SEARCH pill */
.lt-hp-search-btn {
  display: block; margin: -28px auto -28px;
  padding: 16px 56px; min-width: 220px;
  background: linear-gradient(180deg, #4ea0f5, #1f7fd4);
  color: #fff; border: none; border-radius: 999px;
  font-weight: 800; font-size: 1.05rem; letter-spacing: .08em;
  cursor: pointer; box-shadow: 0 12px 28px -10px rgba(31,127,212,.55);
  transition: transform .15s ease, box-shadow .15s ease;
}
.lt-hp-search-btn:hover { transform: translateY(-1px); box-shadow: 0 16px 32px -10px rgba(31,127,212,.65); }

.lt-hp-search__meta {
  display: flex; gap: 1rem; align-items: center;
  padding: 14px 4px 4px; font-size: .85rem; color: var(--hp-muted);
}
.lt-hp-link {
  background: none; border: none; color: var(--hp-primary);
  font-weight: 600; cursor: pointer; padding: 4px 8px; border-radius: 6px;
  text-decoration: none;
}
.lt-hp-link:hover { background: var(--hp-surface-alt); }
.lt-hp-link--add { margin-left: auto; }

/* responsive search */
@media (max-width: 1024px) {
  .lt-hp-fields { grid-template-columns: 1fr auto 1fr 1fr 1fr 1fr; }
  .lt-hp-field { padding: 12px 14px; }
  .lt-hp-field select, .lt-hp-field input { font-size: 1.1rem; }
}
@media (max-width: 820px) {
  .lt-hp-fields { grid-template-columns: 1fr 1fr; }
  .lt-hp-swap { display: none; }
  .lt-hp-field { border-right: 1px solid var(--hp-border); border-bottom: 1px solid var(--hp-border); }
  .lt-hp-field:nth-child(even) { border-right: none; }
  .lt-hp-field:nth-last-child(-n+2) { border-bottom: none; }
  .lt-hp-trip { gap: 12px 18px; font-size: .85rem; }
  .lt-hp-trip__meta { display: none; }
}
@media (max-width: 480px) {
  .lt-hp-fields { grid-template-columns: 1fr; }
  .lt-hp-field, .lt-hp-field:nth-child(even) { border-right: none; }
  .lt-hp-field { border-bottom: 1px solid var(--hp-border); }
  .lt-hp-field:last-child { border-bottom: none; }
  .lt-hp-search-btn { min-width: 0; width: 80%; padding: 14px; }
}


/* ----- SECTIONS ----- */
.lt-hp-section { padding: clamp(2.5rem, 6vw, 4.5rem) 0; background: var(--hp-surface); color: var(--hp-text); }
.lt-hp-section--alt { background: var(--hp-surface-alt); }
.lt-hp-section--why { background: linear-gradient(135deg, #f0f5ff 0%, #fff8e6 100%); }
.lt-hp-section__head { text-align: center; max-width: 680px; margin: 0 auto clamp(1.5rem, 3vw, 2.5rem); }
.lt-hp-section__head h2 {
  font-size: clamp(1.5rem, 3.5vw, 2.25rem); font-weight: 800;
  margin: 0 0 .5rem; color: var(--hp-text); letter-spacing: -0.02em;
}
.lt-hp-section__head p { color: var(--hp-muted); font-size: 1rem; margin: 0; }

/* ----- OFFERS ----- */
.lt-hp-offers {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.lt-hp-offer {
  position: relative; display: block;
  padding: 1.5rem 1.25rem 3rem;
  border-radius: var(--hp-radius);
  background: var(--hp-surface-alt);
  color: var(--hp-text);
  text-decoration: none;
  overflow: hidden;
  border: 1px solid var(--hp-border);
  transition: all .2s ease;
  min-height: 160px;
}
.lt-hp-offer:hover { transform: translateY(-3px); box-shadow: var(--hp-shadow); }
.lt-hp-offer__badge {
  display: inline-block; padding: .25rem .6rem;
  background: var(--hp-primary); color: #fff;
  font-size: .7rem; font-weight: 700; letter-spacing: .06em;
  border-radius: 999px; margin-bottom: .75rem;
}
.lt-hp-offer__title { font-size: 1.15rem; font-weight: 800; margin: 0 0 .25rem; }
.lt-hp-offer__sub { font-size: .9rem; opacity: .85; margin: 0; }
.lt-hp-offer__arrow {
  position: absolute; bottom: 1rem; right: 1.25rem;
  width: 36px; height: 36px; display: grid; place-items: center;
  border-radius: 50%; background: var(--hp-accent); color: var(--hp-text);
  font-weight: 800;
}

/* ----- DESTINATIONS ----- */
.lt-hp-dest {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.lt-hp-dest__card {
  display: block; text-decoration: none; color: var(--hp-text);
  border-radius: var(--hp-radius); overflow: hidden;
  background: var(--hp-surface); border: 1px solid var(--hp-border);
  transition: all .2s ease;
}
.lt-hp-dest__card:hover { transform: translateY(-3px); box-shadow: var(--hp-shadow); }
.lt-hp-dest__img {
  width: 100%; padding-top: 70%;
  background-size: cover; background-position: center; background-color: #ddd;
}
.lt-hp-dest__body { padding: .85rem 1rem 1rem; }
.lt-hp-dest__body h3 { margin: 0 0 .2rem; font-size: 1rem; font-weight: 700; }
.lt-hp-dest__body span { font-size: .85rem; color: var(--hp-muted); }

/* ----- VEHICLE CARDS ----- */
.lt-hp-vehicles {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.lt-hp-vcard {
  display: flex; flex-direction: column; align-items: center;
  padding: 1.5rem 1rem; gap: .5rem;
  background: var(--hp-surface); border: 1px solid var(--hp-border);
  border-radius: var(--hp-radius); text-decoration: none; color: var(--hp-text);
  transition: all .2s ease;
}
.lt-hp-vcard:hover {
  border-color: var(--hp-primary);
  transform: translateY(-3px); box-shadow: var(--hp-shadow);
}
.lt-hp-vcard__icon { font-size: 2.5rem; height: 60px; display: grid; place-items: center; }
.lt-hp-vcard__icon img { width: 60px; height: 60px; object-fit: cover; border-radius: 10px; }
.lt-hp-vcard__name { font-weight: 700; font-size: .95rem; }
.lt-hp-vcard__meta { font-size: .8rem; color: var(--hp-muted); text-align: center; }

/* ----- WHY US ----- */
.lt-hp-why {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.lt-hp-why__item {
  background: rgba(255,255,255,0.7); backdrop-filter: blur(8px);
  border-radius: var(--hp-radius); padding: 1.5rem;
  border: 1px solid rgba(255,255,255,0.6);
  text-align: center;
}
.lt-hp-why__icon {
  width: 56px; height: 56px; margin: 0 auto .75rem;
  border-radius: 50%; display: grid; place-items: center;
  background: var(--hp-primary); color: var(--hp-accent);
  font-size: 1.5rem; font-weight: 800;
}
.lt-hp-why__item h3 { font-size: 1.05rem; font-weight: 700; margin: 0 0 .35rem; color: var(--hp-text); }
.lt-hp-why__item p { font-size: .88rem; color: var(--hp-muted); margin: 0; line-height: 1.5; }


/* ==========================================================
   HOMEPAGE-ALIGNED REDESIGN (v1.24.x)
   Booking.com / MakeMyTrip style — navy hero + bright cards
   Applies to ALL archives, singles, key static pages
   ========================================================== */

/* ---- Shared hero (archives + key static pages) ---- */
.lt-archive-header {
  background: linear-gradient(135deg, #003580 0%, #001f4d 100%);
  color: #fff;
  padding: clamp(2rem, 6vw, 4rem) 0 clamp(2.5rem, 6vw, 4.5rem);
  border-bottom: 0;
  position: relative;
  overflow: hidden;
}
.lt-archive-header::after {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 12% 25%, rgba(254,187,2,0.10), transparent 45%),
    radial-gradient(circle at 88% 15%, rgba(255,255,255,0.06), transparent 50%);
  pointer-events: none;
}
.lt-archive-header > .lt-container { position: relative; z-index: 1; }
.lt-archive-header h1 {
  color: #fff;
  font-size: clamp(1.75rem, 4vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 .5rem;
  line-height: 1.15;
}
.lt-archive-header h1::after {
  content: '';
  display: block;
  width: 56px; height: 4px;
  background: #febb02;
  border-radius: 999px;
  margin-top: .85rem;
}
.lt-archive-header p,
.lt-archive-header .lt-section__subtitle {
  color: rgba(255,255,255,0.88);
  font-size: clamp(.95rem, 1.4vw, 1.05rem);
  max-width: 760px;
  margin: .5rem 0 0;
}
.lt-archive-header a { color: #febb02; }
.lt-archive-header a:hover { color: #fff; }

/* Breadcrumb on navy hero */
.lt-archive-header .lt-breadcrumb,
.lt-archive-header .lt-breadcrumbs {
  color: rgba(255,255,255,0.75);
  margin-bottom: .85rem;
  font-size: .85rem;
}
.lt-archive-header .lt-breadcrumb__item a,
.lt-archive-header .lt-breadcrumbs a {
  color: rgba(255,255,255,0.85);
  text-decoration: none;
}
.lt-archive-header .lt-breadcrumb__item a:hover,
.lt-archive-header .lt-breadcrumbs a:hover { color: #febb02; }
.lt-archive-header .lt-breadcrumb__current,
.lt-archive-header .lt-breadcrumbs span { color: #fff; opacity: .85; }
.lt-archive-header .lt-breadcrumb__sep { color: rgba(255,255,255,0.4); }

/* Re-tune lt-single-hero to exact same navy palette as homepage */
.lt-single-hero {
  background: linear-gradient(135deg, #003580 0%, #001f4d 100%);
  color: #fff;
  padding: clamp(2rem, 6vw, 4rem) 0 clamp(2.5rem, 6vw, 4.5rem);
  position: relative;
  overflow: hidden;
}
.lt-single-hero::after {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(254,187,2,0.10), transparent 45%),
    radial-gradient(circle at 85% 10%, rgba(255,255,255,0.06), transparent 50%);
  pointer-events: none;
}
.lt-single-hero > .lt-container { position: relative; z-index: 1; }
.lt-single-hero h1 {
  color: #fff;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-size: clamp(1.9rem, 4.5vw, 2.8rem);
  line-height: 1.12;
}
.lt-single-hero h1::after {
  content: '';
  display: block;
  width: 56px; height: 4px;
  background: #febb02;
  border-radius: 999px;
  margin-top: .9rem;
}

/* ---- Cards: Booking.com polish (cascades to vendor/vehicle/route/etc) ---- */
.lt-card {
  border-radius: 14px;
  border: 1px solid #e4e8ef;
  box-shadow: 0 1px 3px rgba(0, 53, 128, 0.04);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.lt-card:hover,
a.lt-card--clickable:hover,
div.lt-card--clickable:hover {
  border-color: #003580;
  box-shadow: 0 18px 40px -18px rgba(0, 53, 128, 0.28);
  transform: translateY(-3px);
}
.lt-card__image {
  height: 210px;
}
.lt-card__badge {
  background: #febb02;
  color: #1a1a2e;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: .72rem;
  padding: .3rem .65rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
}
.lt-card__title {
  font-weight: 700;
  letter-spacing: -0.01em;
}
a.lt-card--clickable:hover .lt-card__title,
div.lt-card--clickable:hover .lt-card__title { color: #003580; }
.lt-card__price { color: #003580; }

/* Yellow accent CTA buttons inside cards (Booking.com style) */
.lt-card__actions .lt-btn--primary,
.lt-card .lt-btn--primary {
  background: #febb02;
  color: #1a1a2e;
  border: 1px solid #febb02;
  font-weight: 700;
}
.lt-card__actions .lt-btn--primary:hover,
.lt-card .lt-btn--primary:hover {
  background: #e6a800;
  border-color: #e6a800;
  color: #1a1a2e;
}

/* Section title accent (used in archive SEO sections + singles) */
.lt-section__title {
  font-weight: 800;
  letter-spacing: -0.02em;
}
.lt-section__header .lt-section__title::after,
.lt-section .lt-container > .lt-section__header .lt-section__title::after {
  content: '';
  display: block;
  width: 48px; height: 3px;
  background: #febb02;
  border-radius: 999px;
  margin: .75rem auto 0;
}

/* Pagination polish */
.lt-pagination .current {
  background: #003580;
  border-color: #003580;
}
.lt-pagination a:hover { color: #003580; border-color: #003580; }

/* Tag pills — switch to navy outline */
.lt-tag.lt-tag--primary {
  background: rgba(0, 53, 128, 0.08);
  color: #003580;
  border: 1px solid rgba(0, 53, 128, 0.18);
}

/* Sticky CTA / vendor mini-site polish (single-taxi_vendor) */
.lt-single-content__sidebar .lt-card,
.lt-sticky-cta {
  border: 1px solid #e4e8ef;
  border-radius: 16px;
  box-shadow: 0 10px 30px -15px rgba(0, 53, 128, 0.22);
}

/* Image gallery thumbnails */
.lt-gallery__thumb,
.lt-image-gallery__item {
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color .2s ease, transform .2s ease;
}
.lt-gallery__thumb:hover,
.lt-image-gallery__item:hover {
  border-color: #febb02;
  transform: translateY(-2px);
}

/* Booking form (template-parts/booking-form.php) */
.lt-booking-form,
.lt-form--booking {
  border-radius: 16px;
  border: 1px solid #e4e8ef;
  box-shadow: 0 10px 40px -20px rgba(0, 53, 128, 0.20);
}
.lt-booking-form .lt-btn--primary,
.lt-form--booking .lt-btn--primary {
  background: #febb02;
  color: #1a1a2e;
  border-color: #febb02;
  font-weight: 700;
  letter-spacing: .01em;
}
.lt-booking-form .lt-btn--primary:hover,
.lt-form--booking .lt-btn--primary:hover {
  background: #e6a800; border-color: #e6a800;
}

/* Social share row */
.lt-social-share {
  display: flex; gap: .5rem; flex-wrap: wrap;
  padding: 1rem 0;
}
.lt-social-share a {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .55rem .9rem;
  border-radius: 999px;
  background: #f5f7fb;
  color: #003580;
  border: 1px solid #e4e8ef;
  font-size: .85rem; font-weight: 600;
  text-decoration: none;
  transition: all .2s ease;
}
.lt-social-share a:hover {
  background: #003580; color: #fff; border-color: #003580;
}

/* Mobile bottom nav (template-parts/mobile-bottom-nav.php) */
.lt-mobile-bottom-nav {
  background: #fff;
  border-top: 1px solid #e4e8ef;
  box-shadow: 0 -6px 20px -10px rgba(0, 53, 128, 0.15);
}
.lt-mobile-bottom-nav a,
.lt-mobile-bottom-nav__item {
  color: #5a6275;
}
.lt-mobile-bottom-nav a.is-active,
.lt-mobile-bottom-nav__item.is-active,
.lt-mobile-bottom-nav a:hover {
  color: #003580;
}
.lt-mobile-bottom-nav a.is-active::before,
.lt-mobile-bottom-nav__item.is-active::before {
  content: '';
  position: absolute; top: 0; left: 50%;
  width: 28px; height: 3px;
  background: #febb02;
  border-radius: 0 0 4px 4px;
  transform: translateX(-50%);
}

/* Mobile tweaks for hero */
@media (max-width: 640px) {
  .lt-archive-header,
  .lt-single-hero {
    padding: 2rem 0 2.5rem;
  }
  .lt-card__image { height: 180px; }
}

/* ==========================================================
   UNIVERSAL INSTANT SEARCH (Spotlight) — homepage + taxi-near-me
   ========================================================== */
.lt-usearch {
  position: relative;
  max-width: 720px;
  margin: 0 auto;
  width: 100%;
}
.lt-usearch__bar {
  display: flex;
  align-items: center;
  gap: .5rem;
  background: #fff;
  border-radius: 999px;
  padding: .55rem .65rem .55rem 1.25rem;
  box-shadow: 0 24px 60px -20px rgba(0, 53, 128, 0.45), 0 2px 6px rgba(0,0,0,0.05);
  border: 1px solid rgba(255,255,255,0.6);
}
.lt-usearch__icon {
  font-size: 1.15rem; color: #003580; flex: 0 0 auto;
}
.lt-usearch__input {
  flex: 1;
  border: 0; outline: 0; background: transparent;
  font-size: 1.05rem; color: #1a1a2e; font-family: inherit;
  padding: .65rem .25rem;
  min-width: 0;
}
.lt-usearch__input::placeholder { color: #8a93a6; }
.lt-usearch__clear {
  display: none;
  width: 28px; height: 28px;
  border: 0; background: #f0f2f7; color: #5a6275;
  border-radius: 50%;
  align-items: center; justify-content: center;
  cursor: pointer; font-size: 1rem;
  flex: 0 0 auto;
}
.lt-usearch__clear:hover { background: #e4e8ef; color: #003580; }
.lt-usearch__detect {
  border: 0; cursor: pointer;
  background: #f0f5ff; color: #003580;
  padding: .55rem .9rem;
  border-radius: 999px;
  font-weight: 600; font-size: .85rem;
  font-family: inherit;
  white-space: nowrap;
  display: inline-flex; align-items: center; gap: .35rem;
  flex: 0 0 auto;
}
.lt-usearch__detect:hover { background: #003580; color: #fff; }
.lt-usearch__detect:disabled { opacity: .6; cursor: wait; }
.lt-usearch__submit {
  border: 0; cursor: pointer;
  background: #febb02; color: #1a1a2e;
  padding: .7rem 1.4rem; border-radius: 999px;
  font-weight: 800; font-size: .95rem;
  font-family: inherit;
  flex: 0 0 auto;
  transition: background .2s ease, transform .15s ease;
}
.lt-usearch__submit:hover { background: #e6a800; transform: translateY(-1px); }

.lt-usearch__status {
  display: none;
  margin-top: .65rem;
  color: rgba(255,255,255,0.92);
  font-size: .88rem; text-align: center;
}
.lt-usearch__status.is-err { color: #ffd6d6; }

/* Suggestions Panel */
.lt-usearch { z-index: 1; }
.lt-usearch:focus-within { z-index: 9999; }
.lt-hero:has(.lt-usearch),
.lt-archive-header:has(.lt-usearch),
section:has(> .lt-container .lt-usearch),
section:has(.lt-usearch) { overflow: visible !important; position: relative; z-index: 50; }
.lt-hero:has(.lt-usearch:focus-within),
.lt-archive-header:has(.lt-usearch:focus-within),
section:has(.lt-usearch:focus-within) { z-index: 9998; }
.lt-hero:has(.lt-usearch)::before { clip-path: inset(0); }
.lt-usearch__panel {
  position: absolute;
  top: calc(100% + 12px);
  left: 0; right: 0;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 30px 80px -20px rgba(0, 53, 128, 0.35), 0 4px 14px rgba(0,0,0,0.08);
  border: 1px solid #e4e8ef;
  max-height: 70vh;
  overflow-y: auto;
  z-index: 1000;
  display: none;
  text-align: left;
  color: #1a1a2e;
}
.lt-usearch__panel.is-open { display: block; }
.lt-usearch__group { padding: .5rem 0; border-bottom: 1px solid #f0f2f7; }
.lt-usearch__group:last-child { border-bottom: 0; }
.lt-usearch__group-head {
  font-size: .7rem; font-weight: 800;
  letter-spacing: .08em; text-transform: uppercase;
  color: #5a6275;
  padding: .5rem 1.1rem .35rem;
  display: flex; align-items: center; gap: .4rem;
}
.lt-usearch__list { list-style: none; padding: 0; margin: 0; }
.lt-usearch__item {
  display: flex; align-items: center; gap: .85rem;
  padding: .7rem 1.1rem;
  text-decoration: none; color: inherit;
  transition: background .12s ease;
}
.lt-usearch__item:hover,
.lt-usearch__item.is-active {
  background: #f0f5ff;
  color: #1a1a2e;
}
.lt-usearch__thumb {
  flex: 0 0 auto;
  width: 44px; height: 44px;
  border-radius: 10px;
  background: #f5f7fb center/cover no-repeat;
  display: grid; place-items: center;
  font-size: 1.2rem;
  border: 1px solid #e4e8ef;
}
.lt-usearch__thumb--ph { color: #003580; }
.lt-usearch__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lt-usearch__title { font-weight: 600; font-size: .98rem; color: #1a1a2e;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lt-usearch__title mark { background: rgba(254,187,2,0.35); color: inherit; padding: 0 2px; border-radius: 3px; }
.lt-usearch__sub { font-size: .82rem; color: #5a6275;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lt-usearch__arrow { color: #b8bfd0; font-size: 1rem; }
.lt-usearch__item:hover .lt-usearch__arrow,
.lt-usearch__item.is-active .lt-usearch__arrow { color: #003580; }

.lt-usearch__empty {
  padding: 2rem 1.5rem; text-align: center;
}
.lt-usearch__empty-icon { font-size: 2rem; margin-bottom: .35rem; }
.lt-usearch__empty-title { font-weight: 700; color: #1a1a2e; }
.lt-usearch__empty-sub { font-size: .88rem; color: #5a6275; margin-top: .25rem; }

.lt-usearch__loading {
  padding: 1.25rem; display: flex; align-items: center; gap: .65rem;
  color: #5a6275; font-size: .92rem;
}
.lt-usearch__spinner {
  width: 18px; height: 18px;
  border: 2px solid #e4e8ef; border-top-color: #003580;
  border-radius: 50%;
  animation: ltu-spin 0.7s linear infinite;
}
@keyframes ltu-spin { to { transform: rotate(360deg); } }
.lt-usearch__foot {
  padding: .55rem 1.1rem;
  border-top: 1px solid #f0f2f7;
  font-size: .72rem; color: #8a93a6; text-align: center;
}

/* Mobile */
@media (max-width: 640px) {
  .lt-usearch__bar { flex-wrap: wrap; border-radius: 18px; padding: .75rem; }
  .lt-usearch__input { width: 100%; flex-basis: 100%; order: 1; padding: .35rem .25rem .65rem; border-bottom: 1px solid #f0f2f7; }
  .lt-usearch__icon { order: 0; position: absolute; left: 1.1rem; top: .95rem; }
  .lt-usearch__input { padding-left: 1.6rem; }
  .lt-usearch__clear { order: 2; }
  .lt-usearch__detect { order: 3; flex: 1; justify-content: center; }
  .lt-usearch__submit { order: 4; flex: 1; }
}

/* ==========================================================
   POLISH LAYER — scroll reveal, card lift, sticky FAB,
   review stars, urgency pills, horizontal rails, refined buttons
   ========================================================== */

/* Scroll reveal */
.lt-reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s cubic-bezier(.2,.7,.2,1), transform .55s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
.lt-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .lt-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Card lift on hover (desktop pointer only via JS-added class) */
.lt-card--lift { transition: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s ease, border-color .2s ease; }
.lt-card--lift:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -22px rgba(0,53,128,.35), 0 6px 18px -10px rgba(0,0,0,.12); }

/* Review stars */
.lt-stars { display: inline-flex; align-items: center; gap: 4px; font-size: .82rem; color: #5a6275; }
.lt-stars__bar { position: relative; display: inline-block; font-size: .95rem; line-height: 1; letter-spacing: 1px; color: #d9deea; }
.lt-stars__bar::before { content: "★★★★★"; }
.lt-stars__fill { position: absolute; inset: 0; overflow: hidden; color: #febb02; white-space: nowrap; }
.lt-stars__fill::before { content: "★★★★★"; }
.lt-stars__count { color: #8a93a6; font-size: .78rem; }

/* Urgency / trust pills */
.lt-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.lt-pill--hot { background: #fff1e6; color: #c2410c; }
.lt-pill--trust { background: #e8f7ee; color: #157f3c; }
.lt-pill--new { background: #eef2ff; color: #3730a3; }
.lt-pill--live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: ltPulseDot 1.4s ease-in-out infinite; }
@keyframes ltPulseDot { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.6); } }

/* Refined button states */
.lt-btn { position: relative; overflow: hidden; transition: background .2s ease, transform .12s ease, box-shadow .2s ease; }
.lt-btn:active { transform: translateY(1px) scale(.99); }
.lt-btn--primary { box-shadow: 0 6px 14px -8px rgba(254,187,2,.55); }
.lt-btn--primary:hover { box-shadow: 0 10px 22px -10px rgba(254,187,2,.65); }
.lt-btn[disabled], .lt-btn.is-loading { opacity: .7; cursor: wait; }
.lt-btn.is-loading::after { content: ""; position: absolute; inset: 0; margin: auto; width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: ltBtnSpin .7s linear infinite; }
.lt-btn.is-loading > * { visibility: hidden; }
@keyframes ltBtnSpin { to { transform: rotate(360deg); } }

/* Horizontal scroll rails */
.lt-rail { position: relative; }
.lt-rail__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.lt-rail__title { font-size: 1.5rem; font-weight: 800; color: #1a1a2e; letter-spacing: -.01em; }
.lt-rail__link { color: #003580; font-weight: 700; font-size: .9rem; text-decoration: none; }
.lt-rail__link:hover { text-decoration: underline; }
.lt-rail__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 290px); gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding: .5rem 2px 1rem; -webkit-overflow-scrolling: touch; }
.lt-rail__track > * { scroll-snap-align: start; }
.lt-rail__track::-webkit-scrollbar { height: 8px; }
.lt-rail__track::-webkit-scrollbar-thumb { background: #c8d0e0; border-radius: 99px; }
.lt-rail__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; width: 40px; height: 40px; border-radius: 50%; border: 0; background: #fff; box-shadow: 0 10px 24px -10px rgba(0,53,128,.4), 0 2px 6px rgba(0,0,0,.08); color: #003580; font-size: 1.2rem; cursor: pointer; display: none; align-items: center; justify-content: center; }
.lt-rail__nav--prev { left: -12px; }
.lt-rail__nav--next { right: -12px; }
@media (hover:hover) and (pointer:fine) { .lt-rail__nav { display: inline-flex; } }
.lt-rail__nav:hover { background: #003580; color: #fff; }

/* Sticky WhatsApp FAB */
.lt-fab { position: fixed; right: 18px; bottom: 88px; z-index: 60; display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px 12px 14px; border-radius: 999px; background: #25d366; color: #fff; font-weight: 700; font-size: .92rem; text-decoration: none; box-shadow: 0 16px 36px -10px rgba(37,211,102,.55), 0 4px 14px rgba(0,0,0,.18); transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease; }
.lt-fab:hover { transform: translateY(-2px); box-shadow: 0 22px 44px -10px rgba(37,211,102,.7); color: #fff; }
.lt-fab__icon { width: 26px; height: 26px; border-radius: 50%; background: #fff; color: #25d366; display: inline-flex; align-items: center; justify-content: center; font-weight: 900; font-size: 1rem; }
.lt-fab__sub { display: block; font-size: .68rem; font-weight: 500; opacity: .9; letter-spacing: .02em; }
.lt-fab.is-hidden { opacity: 0; transform: translateY(20px); pointer-events: none; }
.lt-fab.is-dim { opacity: .35; }
@media (max-width: 768px) { .lt-fab { bottom: 76px; right: 12px; padding: 10px 14px 10px 10px; font-size: .82rem; } .lt-fab__sub { display: none; } }
@media (max-width: 480px) { .lt-fab__label { display: none; } .lt-fab { padding: 12px; } }

/* Stat strip */
.lt-stats-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; padding: 2rem; background: linear-gradient(135deg, #003580 0%, #001f4d 100%); color: #fff; border-radius: 20px; text-align: center; }
.lt-stats-strip__value { font-size: 2rem; font-weight: 800; color: #febb02; letter-spacing: -.02em; line-height: 1.1; }
.lt-stats-strip__label { font-size: .82rem; opacity: .85; margin-top: 4px; letter-spacing: .04em; text-transform: uppercase; }
@media (max-width: 720px) { .lt-stats-strip { grid-template-columns: repeat(2, 1fr); padding: 1.25rem; } .lt-stats-strip__value { font-size: 1.5rem; } }

/* Animated underline link */
.lt-storylink { position: relative; display: inline-block; color: inherit; text-decoration: none; }
.lt-storylink::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 2px; background: #febb02; transform: scaleX(0); transform-origin: right; transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.lt-storylink:hover::after { transform: scaleX(1); transform-origin: left; }

/* Tighter, more confident typography scale */
.lt-section__title { letter-spacing: -.015em; }
.lt-hero__title { letter-spacing: -.025em; }

/* Suggestion panel: refined open animation */
.lt-usearch__panel { transform-origin: top center; transform: translateY(-6px) scale(.985); opacity: 0; transition: opacity .18s ease, transform .22s cubic-bezier(.2,.7,.2,1); pointer-events: none; }
.lt-usearch__panel.is-open { display: block; transform: none; opacity: 1; pointer-events: auto; }

/* Subtle dotted divider for sections */
.lt-section + .lt-section { position: relative; }


/* Real-stats strip — clear gap from hero search, refined label */
.lt-hp-section--stats { padding-top: clamp(2rem, 5vw, 3.5rem); padding-bottom: clamp(1.25rem, 3vw, 2rem); }
.lt-hp-section--stats .lt-stats-strip { margin-top: 0; }
.lt-stats-strip__note { text-align: center; margin: 0.85rem 0 0; font-size: 0.8125rem; color: var(--lt-text-secondary); opacity: 0.85; }

/* ============================================================
   Trust Strip — appears under every archive/single hero.
   Mirrors the homepage stats strip but tighter & always-on.
   ============================================================ */
.lt-trust-strip {
    background: linear-gradient(180deg, #f7f9fc 0%, #fff 100%);
    border-bottom: 1px solid rgba(0,53,128,0.08);
    padding: clamp(1rem, 2.5vw, 1.5rem) 0;
    position: relative;
    z-index: 2;
}
.lt-trust-strip__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(0.75rem, 2vw, 1.5rem);
    align-items: center;
    text-align: center;
}
.lt-trust-strip__item {
    padding: 0.35rem 0.5rem;
    border-right: 1px solid rgba(0,53,128,0.08);
}
.lt-trust-strip__item:last-child { border-right: 0; }
.lt-trust-strip__value {
    font-size: clamp(1.25rem, 2.6vw, 1.75rem);
    font-weight: 800;
    color: #003580;
    line-height: 1.1;
    letter-spacing: -0.01em;
}
.lt-trust-strip__star { color: #febb02; margin-left: 2px; }
.lt-trust-strip__label {
    font-size: clamp(0.7rem, 1.4vw, 0.8125rem);
    color: var(--lt-text-secondary);
    margin-top: 0.2rem;
    font-weight: 500;
    line-height: 1.2;
}
@media (max-width: 640px) {
    .lt-trust-strip__grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
    .lt-trust-strip__item:nth-child(2) { border-right: 0; }
    .lt-trust-strip__item:nth-child(1),
    .lt-trust-strip__item:nth-child(2) {
        border-bottom: 1px solid rgba(0,53,128,0.08);
        padding-bottom: 0.65rem;
    }
}

/* Hero badge for archive/single pages — matches homepage badge */
.lt-archive-header__badge,
.lt-single-hero__badge {
    display: inline-block;
    background: rgba(254,187,2,0.15);
    color: #febb02;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin-bottom: 0.85rem;
    border: 1px solid rgba(254,187,2,0.3);
}

/* ============ Trust & Transparency page polish ============ */
.lt-tp-quicknav { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:var(--lt-space-md); }
.lt-tp-quicknav__chip { display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .75rem; border-radius:999px; background:rgba(255,255,255,.08); color:#fff; font-size:.82rem; font-weight:600; text-decoration:none; border:1px solid rgba(255,255,255,.15); transition:background .15s ease, transform .15s ease; }
.lt-tp-quicknav__chip:hover { background:rgba(254,187,2,.2); border-color:rgba(254,187,2,.45); transform:translateY(-1px); color:#fff; }

.lt-tp-progress { position:sticky; top:0; z-index:40; height:3px; background:transparent; pointer-events:none; }
.lt-tp-progress span { display:block; height:100%; width:100%; background:linear-gradient(90deg,#febb02,#003580); transform-origin:left center; transform:scaleX(0); transition:transform .1s linear; }

.lt-tp-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:var(--lt-space-2xl); padding:var(--lt-space-2xl) var(--lt-space-md); align-items:start; }
@media (max-width:960px){ .lt-tp-layout { grid-template-columns:1fr; padding:var(--lt-space-xl) var(--lt-space-md); } .lt-tp-toc { display:none; } }

.lt-tp-toc { position:sticky; top:84px; padding:1rem 1.1rem; background:var(--lt-bg-alt); border:1px solid var(--lt-border); border-radius:14px; max-height:calc(100vh - 110px); overflow:auto; }
.lt-tp-toc__title { margin:0 0 .6rem; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--lt-text-muted); }
.lt-tp-toc__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.15rem; }
.lt-tp-toc__list a { display:flex; gap:.5rem; align-items:center; padding:.45rem .6rem; font-size:.88rem; color:var(--lt-text-secondary); text-decoration:none; border-radius:8px; border-left:2px solid transparent; transition:background .15s, color .15s, border-color .15s; }
.lt-tp-toc__list a:hover { background:rgba(0,53,128,.06); color:var(--lt-primary); }
.lt-tp-toc__list a.is-active { background:rgba(254,187,2,.12); color:var(--lt-primary); border-left-color:#febb02; font-weight:600; }
.lt-tp-toc__back { display:inline-block; margin-top:.75rem; font-size:.8rem; color:var(--lt-text-muted); text-decoration:none; }
.lt-tp-toc__back:hover { color:var(--lt-primary); }

.lt-tp-main { min-width:0; }
.lt-tp-section { padding:var(--lt-space-xl) 0; border-bottom:1px dashed var(--lt-border); scroll-margin-top:90px; }
.lt-tp-section:last-of-type { border-bottom:none; }
.lt-tp-section__head { margin-bottom:var(--lt-space-lg); }
.lt-tp-section__head h2 { display:flex; align-items:center; gap:.5rem; font-size:1.6rem; margin:0 0 .35rem; }
.lt-tp-section__head p { margin:0; color:var(--lt-text-secondary); }

.lt-tp-anchor { margin-left:.4rem; font-weight:400; font-size:.95rem; color:var(--lt-text-muted); text-decoration:none; opacity:0; transition:opacity .15s, color .15s; padding:.1rem .4rem; border-radius:6px; }
.lt-tp-section__head h2:hover .lt-tp-anchor { opacity:1; }
.lt-tp-anchor:hover { color:var(--lt-primary); background:rgba(0,53,128,.06); }
.lt-tp-anchor.is-copied { opacity:1; color:#16a34a; font-size:.78rem; font-weight:600; }

.lt-tp-card { transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.lt-tp-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px -16px rgba(0,53,128,.25); border-color:rgba(0,53,128,.2); }
.lt-tp-card__icon { font-size:2.25rem; margin-bottom:var(--lt-space-sm); line-height:1; }

.lt-tp-steps { counter-reset:tpstep; list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.75rem; }
.lt-tp-steps > li { counter-increment:tpstep; position:relative; padding:1rem 1rem 1rem 3.25rem; background:var(--lt-bg-alt); border:1px solid var(--lt-border); border-radius:12px; line-height:1.6; color:var(--lt-text-secondary); transition:border-color .15s, transform .15s; }
.lt-tp-steps > li:hover { border-color:rgba(254,187,2,.5); transform:translateX(2px); }
.lt-tp-steps > li::before { content:counter(tpstep); position:absolute; left:1rem; top:1rem; width:1.75rem; height:1.75rem; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#003580,#001f4d); color:#febb02; font-weight:700; font-size:.9rem; border-radius:50%; }

.lt-tp-checklist { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.55rem; }
.lt-tp-checklist > li { position:relative; padding:.65rem .75rem .65rem 2.25rem; border-radius:10px; color:var(--lt-text-secondary); line-height:1.6; transition:background .15s; }
.lt-tp-checklist > li:hover { background:var(--lt-bg-alt); }
.lt-tp-checklist > li::before { content:"✓"; position:absolute; left:.75rem; top:.6rem; width:1.2rem; height:1.2rem; display:inline-flex; align-items:center; justify-content:center; background:rgba(22,163,74,.12); color:#16a34a; border-radius:50%; font-size:.75rem; font-weight:700; }

.lt-tp-formula { margin:var(--lt-space-md) 0; padding:1.1rem 1.25rem; background:linear-gradient(135deg,#003580,#001f4d); color:#fff; border-radius:12px; overflow-x:auto; box-shadow:0 8px 24px -12px rgba(0,53,128,.4); }
.lt-tp-formula code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.95rem; color:#febb02; white-space:nowrap; }

.lt-tp-note { background:rgba(254,187,2,.08); border-left:3px solid #febb02; padding:.85rem 1rem; border-radius:0 10px 10px 0; color:var(--lt-text-secondary); font-size:.92rem; line-height:1.7; margin-top:var(--lt-space-md); }

.lt-tp-pill { display:inline-block; padding:.15rem .55rem; border-radius:999px; font-size:.78rem; font-weight:600; line-height:1.4; }
.lt-tp-pill--verified { background:rgba(22,163,74,.12); color:#15803d; border:1px solid rgba(22,163,74,.3); }
.lt-tp-pill--muted { background:rgba(100,116,139,.12); color:#475569; border:1px solid rgba(100,116,139,.25); }

.lt-tp-cta { text-align:center; margin-top:var(--lt-space-2xl); padding:var(--lt-space-2xl) var(--lt-space-lg); background:linear-gradient(135deg, rgba(0,53,128,.05), rgba(254,187,2,.08)); border:1px solid var(--lt-border); border-radius:18px; }
.lt-tp-cta h2 { margin:0 0 .5rem; }
.lt-tp-cta p { color:var(--lt-text-secondary); max-width:560px; margin:0 auto var(--lt-space-md); }
.lt-tp-cta__row { display:flex; gap:var(--lt-space-md); justify-content:center; flex-wrap:wrap; }

@media (prefers-reduced-motion: reduce){
    .lt-tp-card, .lt-tp-steps > li, .lt-tp-quicknav__chip { transition:none !important; }
    .lt-tp-progress span { transition:none !important; }
}

/* ===========================================================
   Trust strip — scope label, soft values, partner variant, note
   =========================================================== */
.lt-trust-strip__scope {
    text-align:center;
    color: var(--lt-text-muted, #6b7280);
    font-size: .85rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin: 0 0 var(--lt-space-md, 12px);
}
.lt-trust-strip__value--soft {
    color: var(--lt-text-muted, #6b7280);
    font-weight: 600;
    font-size: 1.2rem;
}
.lt-trust-strip__note {
    margin: var(--lt-space-md, 12px) auto 0;
    text-align:center;
    font-size:.85rem;
    color: var(--lt-text-muted, #6b7280);
    max-width: 60ch;
}
.lt-trust-strip__note a { color: inherit; text-decoration: underline; }
.lt-trust-strip--partner .lt-trust-strip__grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

/* =====================================================
   v1.33 — Shared partials: focus rings, mobile CTA,
   archive hero polish, empty-state, social proof.
   ===================================================== */

/* Accessible focus ring on all clickable cards */
.lt-card.lt-card--clickable:focus-visible,
.lt-card.lt-card--hover:focus-visible,
.lt-card.lt-card--link:focus-visible,
a.lt-card:focus-visible {
	outline: 3px solid var(--lt-primary, hsl(220, 90%, 56%));
	outline-offset: 3px;
	border-radius: var(--lt-radius, 12px);
}

/* Unified archive hero */
.lt-archive-hero {
	background: linear-gradient(135deg, var(--lt-primary, hsl(220, 90%, 56%)), var(--lt-primary-dark, hsl(220, 90%, 38%)));
	padding: var(--lt-space-xl) 0 var(--lt-space-2xl);
	color: hsl(0, 0%, 100%);
}
.lt-archive-hero .lt-archive-header__badge {
	display: inline-block;
	background: hsla(0, 0%, 100%, 0.18);
	color: hsl(0, 0%, 100%);
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 0.85rem;
	margin-bottom: var(--lt-space-sm);
	backdrop-filter: blur(6px);
}

/* Floating mobile CTA (right-middle FAB) */
.lt-mobile-cta {
	position: fixed;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 90;
	display: none;
}
.lt-mobile-cta__btn {
	width: 56px;
	height: 56px;
	padding: 0;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	box-shadow: 0 8px 24px hsla(220, 40%, 10%, 0.25);
}
.lt-mobile-cta__label {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
@media (max-width: 768px) {
	.lt-mobile-cta { display: block; }
}

/* Partner profile floating action stack (mobile only) */
.lt-partner-fab {
	position: fixed;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	display: none;
	flex-direction: column;
	gap: 10px;
	z-index: 95;
}
.lt-partner-fab__btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	box-shadow: 0 6px 18px hsla(220, 40%, 10%, 0.28);
	text-decoration: none;
	transition: transform 150ms ease, box-shadow 150ms ease;
}
.lt-partner-fab__btn:hover,
.lt-partner-fab__btn:focus { transform: scale(1.06); color:#fff; }
.lt-partner-fab__btn--call { background: #16a34a; }
.lt-partner-fab__btn--wa   { background: #25D366; }
.lt-partner-fab__btn--book { background: hsl(var(--lt-primary)); }
@media (max-width: 768px) {
	.lt-partner-fab { display: flex; }
}
@media (min-width: 769px) {
	.lt-partner-fab { display: none !important; }
}

/* Empty-state CTA */
.lt-empty-cta {
	transition: background 200ms ease, border-color 200ms ease;
}
.lt-empty-cta:hover {
	background: var(--lt-bg, hsl(0, 0%, 100%));
	border-color: var(--lt-primary, hsl(220, 90%, 56%));
}

/* Social proof strip */
.lt-social-proof { border: 1px solid var(--lt-border, hsl(220, 14%, 90%)); }

/* Byline */
.lt-byline { display: inline-flex; align-items: center; gap: 6px; }


/* Partner sidebar — partner-type label + premium group (moved out of inline styles). */
.lt-vendor-partner-type { padding:6px 12px; margin:2px 0 6px; font-size:10px; color:#94a3b8; text-transform:uppercase; letter-spacing:.06em; font-weight:600; }
.lt-vendor-premium-group { margin-top:14px; padding:6px 12px; font-size:10px; color:#a16207; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.lt-vendor-sidebar nav a.lt-vendor-premium-link { display:flex; gap:8px; align-items:center; }
@media (max-width: 820px) {
  .lt-vendor-sidebar nav .lt-vendor-partner-type,
  .lt-vendor-sidebar nav .lt-vendor-premium-group { grid-column:1/-1; padding:4px 4px 0; }
}

/* Expanding operations notice — shown when SEO meta box has noindex/nofollow toggled */
.lt-expanding-notice { background: linear-gradient(135deg, hsl(38, 100%, 96%), hsl(38, 100%, 92%)); border-top: 3px solid hsl(38, 92%, 50%); border-bottom: 1px solid hsl(38, 60%, 82%); padding: var(--lt-space-md, 14px) 0; color: hsl(28, 60%, 22%); }
.lt-expanding-notice__inner { display: flex; align-items: flex-start; gap: var(--lt-space-md, 14px); flex-wrap: wrap; }
.lt-expanding-notice__icon { font-size: 1.75rem; line-height: 1; flex-shrink: 0; }
.lt-expanding-notice__body { flex: 1 1 260px; min-width: 0; }
.lt-expanding-notice__title { display: block; font-size: 0.95rem; margin-bottom: 4px; letter-spacing: 0.02em; text-transform: uppercase; color: hsl(28, 80%, 30%); }
.lt-expanding-notice__msg { margin: 0; font-size: 0.95rem; line-height: 1.55; }
.lt-expanding-notice__cta { flex-shrink: 0; align-self: center; background: hsl(28, 80%, 30%); color: #fff !important; padding: 10px 18px; border-radius: 999px; font-weight: 600; font-size: 0.9rem; text-decoration: none; white-space: nowrap; }
.lt-expanding-notice__cta:hover { background: hsl(28, 80%, 22%); }
@media (max-width: 600px) { .lt-expanding-notice__cta { width: 100%; text-align: center; } }

/* ============================================================
   Accessibility: visible :focus-visible ring on interactive UI
   ============================================================ */
:focus:not(:focus-visible) { outline: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
	outline: 3px solid var(--lt-primary, #f59e0b);
	outline-offset: 2px;
	border-radius: 4px;
}
.lt-skip-link:focus { position: static; width: auto; height: auto; padding: 10px 16px; margin: 8px; background: var(--lt-primary, #f59e0b); color: #fff; z-index: 10000; font-weight: 700; }

/* ============================================================
   Cookie consent banner (footer.php) — DPDP/GDPR-friendly
   ============================================================ */
.lt-cookie-banner { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 9999; background: var(--lt-surface, #fff); color: var(--lt-text, #0f172a); border: 1px solid var(--lt-border, #e5e7eb); border-radius: 14px; box-shadow: 0 12px 40px rgba(0,0,0,0.18); padding: 14px 18px; max-width: 980px; margin: 0 auto; max-height: calc(100dvh - 32px); overflow-y: auto; }
.lt-cookie-banner__inner { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.lt-cookie-banner__body { flex: 1 1 320px; font-size: 0.92rem; line-height: 1.55; }
.lt-cookie-banner__body strong { display: inline-block; margin-right: 6px; }
.lt-cookie-banner__actions { display: flex; gap: 8px; flex-wrap: wrap; flex-shrink: 0; }
/* On mobile/tablet, sit above the sticky mobile bottom nav (~64px + safe area) */
@media (max-width: 768px) {
	.lt-cookie-banner { left: 8px; right: 8px; bottom: calc(env(safe-area-inset-bottom, 0px) + 72px); padding: 12px 14px; border-radius: 12px; max-height: calc(100dvh - env(safe-area-inset-bottom, 0px) - 96px); overflow-y: auto; }
	.lt-cookie-banner__inner { flex-direction: column; align-items: stretch; gap: 12px; }
	.lt-cookie-banner__body { flex: 1 1 auto; font-size: 0.88rem; line-height: 1.5; }
	.lt-cookie-banner__actions { width: 100%; gap: 8px; }
	.lt-cookie-banner__actions .lt-btn { flex: 1 1 0; min-width: 0; font-size: 0.85rem; padding: 10px 12px; }
}
/* Short screens (landscape phones): tighten spacing so the banner never clips out of view */
@media (max-width: 768px) and (max-height: 520px) {
	.lt-cookie-banner { bottom: calc(env(safe-area-inset-bottom, 0px) + 68px); max-height: calc(100dvh - env(safe-area-inset-bottom, 0px) - 80px); padding: 10px 12px; }
	.lt-cookie-banner__inner { gap: 8px; }
	.lt-cookie-banner__body { font-size: 0.82rem; line-height: 1.4; }
	.lt-cookie-banner__actions .lt-btn { padding: 8px 10px; font-size: 0.8rem; }
}

/* Legal page shell (refund / cookie / accessibility / grievance / sitemap) */
.lt-legal-page h2 { margin-top: var(--lt-space-xl, 2rem); font-size: 1.35rem; }
.lt-legal-page h3 { margin-top: var(--lt-space-lg, 1.5rem); font-size: 1.1rem; }
.lt-legal-page ul { padding-left: 1.4em; }
.lt-legal-page li { margin: 6px 0; }
.lt-legal-page code { background: var(--lt-bg-alt, #f8fafc); padding: 2px 6px; border-radius: 4px; font-size: 0.9em; }

/* ============================================================
   Print styles — booking-friendly (hide nav/FAB/forms)
   ============================================================ */
@media print {
	.lt-header, .lt-footer, .lt-mobile-cta, .lt-mobile-bottom-nav, .lt-fab, #lt-back-to-top, .lt-cookie-banner, .lt-skip-link, .lt-marquee-notification, .lt-expanding-notice, .lt-megamenu, .lt-mobile-drawer, .lt-header__actions, #lt-booking-form, .lt-search-chips { display: none !important; }
	body { background: #fff !important; color: #000 !important; font-size: 12pt; }
	a { color: #000 !important; text-decoration: none; }
	a[href^="http"]::after, a[href^="tel:"]::after, a[href^="mailto:"]::after { content: " (" attr(href) ")"; font-size: 0.85em; color: #555; }
	.lt-container { max-width: 100% !important; padding: 0 !important; }
	.lt-card, .lt-section { break-inside: avoid; box-shadow: none !important; border: 1px solid #ddd !important; }
	h1, h2, h3 { break-after: avoid; }
}

/* ============================================================
   CHROME REFRESH v1.35 — Sunset Blaze / Sora + Manrope
   Scope: header, footer, mobile bottom nav, global a11y polish.
   Appended last so it wins the cascade without touching earlier rules.
   ============================================================ */

/* Global a11y polish */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--lt-accent-violet);
  outline-offset: 2px;
  border-radius: 6px;
}
.lt-skip-link:focus {
  position: fixed !important;
  top: 12px; left: 12px;
  width: auto; height: auto;
  padding: 10px 14px;
  background: var(--lt-secondary);
  color: #fff;
  border-radius: 10px;
  z-index: 100000;
  box-shadow: var(--lt-shadow-lg);
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Header — translucent glass with sunset accent bar */
.lt-header {
  background: hsl(0 0% 100% / 0.82) !important;
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid hsl(248 15% 88% / 0.7) !important;
  box-shadow: 0 1px 0 hsl(248 15% 90% / 0.6), 0 8px 24px -18px hsl(248 25% 15% / 0.25) !important;
  position: relative;
}
.lt-header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--lt-gradient-sunset);
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
.lt-header.scrolled::after { opacity: 1; }
.lt-header.scrolled {
  background: hsl(0 0% 100% / 0.94) !important;
  box-shadow: 0 6px 24px -12px hsl(248 30% 15% / 0.18) !important;
}
.lt-logo__icon {
  background: var(--lt-gradient-sunset) !important;
  box-shadow: var(--lt-shadow-glow);
  border-radius: 12px;
}
.lt-logo span { color: var(--lt-accent-magenta) !important; }

/* Menu toggle — proper 44px tap target */
.lt-menu-toggle {
  min-width: 44px;
  min-height: 44px;
  border-radius: 12px;
}
.lt-menu-toggle:hover {
  background: linear-gradient(135deg, hsl(14 100% 60% / .12), hsl(329 79% 58% / .12)) !important;
  color: var(--lt-accent-magenta) !important;
}

/* Footer — deep indigo with sunset top rail */
.lt-footer {
  background: linear-gradient(180deg, hsl(248 55% 14%) 0%, hsl(248 60% 10%) 100%) !important;
  color: hsl(248 15% 82%) !important;
  position: relative;
  padding-top: calc(var(--lt-space-4xl) + 6px) !important;
}
.lt-footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--lt-gradient-sunset);
}
.lt-footer__heading {
  font-family: var(--lt-font-display);
  letter-spacing: -0.01em;
  position: relative;
  padding-bottom: 10px;
}
.lt-footer__heading::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 28px; height: 2px;
  background: var(--lt-gradient-warm);
  border-radius: 2px;
}
.lt-footer__list a {
  color: hsl(248 15% 78%) !important;
  transition: color .18s ease, transform .18s ease;
  display: inline-block;
}
.lt-footer__list a:hover {
  color: var(--lt-accent-orange) !important;
  transform: translateX(2px);
}
.lt-footer__list a:focus-visible {
  outline-color: var(--lt-accent-orange);
}
.lt-footer__brand .lt-logo { color: #fff !important; }
.lt-footer__bottom {
  border-top: 1px solid hsl(248 30% 25%) !important;
  gap: var(--lt-space-md);
}
.lt-footer__legal a { color: hsl(248 15% 82%); }
.lt-footer__legal a:hover { color: var(--lt-accent-orange); }
.lt-footer__social a {
  color: hsl(248 15% 82%);
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid hsl(248 30% 30%);
  font-size: 0.85rem;
  transition: all .18s ease;
}
.lt-footer__social a:hover {
  color: #fff;
  border-color: var(--lt-accent-orange);
  background: hsl(14 100% 60% / .12);
}
@media (max-width: 640px) {
  .lt-footer__bottom {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  .lt-footer__legal {
    justify-content: center !important;
  }
}

/* Mobile bottom nav — modern floating pill with gradient active state */
.lt-mobile-bottom-nav {
  background: hsl(0 0% 100% / 0.92) !important;
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  backdrop-filter: saturate(180%) blur(16px);
  border-top: 1px solid hsl(248 15% 90%) !important;
  box-shadow: 0 -8px 24px -12px hsl(248 30% 15% / 0.18) !important;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.lt-mobile-bottom-nav__inner {
  height: 64px;
  max-width: 720px;
  gap: 2px;
  padding: 4px 6px;
}
.lt-mobile-bottom-nav__item {
  min-height: 56px;
  min-width: 44px;
  border-radius: 14px;
  gap: 3px;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--lt-text-secondary) !important;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.lt-mobile-bottom-nav__item:hover {
  color: var(--lt-accent-magenta) !important;
  background: hsl(329 79% 58% / 0.06);
}
.lt-mobile-bottom-nav__item--active {
  color: var(--lt-accent-orange) !important;
  background: linear-gradient(180deg, hsl(14 100% 60% / .10), hsl(329 79% 58% / .06));
}
.lt-mobile-bottom-nav__item:active {
  transform: scale(0.96);
}
.lt-mobile-bottom-nav__indicator {
  top: 4px;
  width: 28px;
  height: 3px;
  background: var(--lt-gradient-warm) !important;
  border-radius: 999px;
}
/* CTA pill (Book Now) — floating sunset */
.lt-mobile-bottom-nav__item--cta {
  color: #fff !important;
  background: var(--lt-gradient-sunset) !important;
  box-shadow: 0 8px 20px -6px hsl(14 100% 60% / .55);
  margin: 2px 4px;
}
.lt-mobile-bottom-nav__item--cta:hover {
  color: #fff !important;
  background: var(--lt-gradient-sunset) !important;
  filter: brightness(1.05);
}
.lt-mobile-bottom-nav__item--cta .lt-mobile-bottom-nav__icon {
  background: hsl(0 0% 100% / .18) !important;
  border-radius: 10px;
  padding: 4px;
  color: #fff;
}
.lt-mobile-bottom-nav__item--call { color: var(--lt-info) !important; }
.lt-mobile-bottom-nav__item--account { color: var(--lt-text-secondary) !important; }
.lt-mobile-bottom-nav__label {
  max-width: 68px;
  letter-spacing: 0.01em;
}
/* Reserve safe-area padding under content */
@media (max-width: 768px) {
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important; }
}
/* Very narrow phones — shrink labels but keep touch target */
@media (max-width: 360px) {
  .lt-mobile-bottom-nav__label { font-size: 0.62rem; max-width: 56px; }
  .lt-mobile-bottom-nav__item { border-radius: 12px; }
}

/* ============================================================
   PHASE 2 — UI Polish Layer (Sunset Blaze)
   Layered overrides that reuse existing tokens. No new palettes.
   ============================================================ */

/* ---------- Motion + reveal ---------- */
.lt-reveal { opacity: 0; transform: translateY(12px); transition: opacity .55s ease, transform .55s ease; }
.lt-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .lt-reveal, .lt-reveal.is-in { opacity: 1 !important; transform: none !important; transition: none !important; }
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* Route change progress bar */
.lt-route-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0;
  background: var(--lt-gradient-sunset);
  z-index: 9999; border-radius: 0 3px 3px 0;
  box-shadow: 0 0 10px hsl(14 100% 60% / .6);
  transition: width .3s ease, opacity .3s ease;
  pointer-events: none;
}

/* Button press feedback (site-wide) */
.lt-btn, button.lt-btn { transition: transform .12s ease, box-shadow .18s ease, filter .18s ease, background .18s ease; }
.lt-btn:active { transform: scale(.97); }
.lt-btn.is-loading { pointer-events: none; opacity: .78; position: relative; }
.lt-btn.is-loading::after {
  content: ""; position: absolute; right: 14px; top: 50%;
  width: 14px; height: 14px; margin-top: -7px;
  border: 2px solid currentColor; border-right-color: transparent;
  border-radius: 50%; animation: lt-spin .7s linear infinite;
}
@keyframes lt-spin { to { transform: rotate(360deg); } }

/* Primary button = sunset gradient (upgraded) */
.lt-btn--primary {
  background: var(--lt-gradient-sunset) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 6px 18px -8px hsl(14 100% 60% / .55), inset 0 1px 0 hsl(0 0% 100% / .18);
}
.lt-btn--primary:hover { filter: brightness(1.06); box-shadow: 0 10px 24px -10px hsl(329 79% 58% / .6); }
.lt-btn--outline { border: 1.5px solid currentColor; }
.lt-btn--ghost {
  background: transparent; border: 0; color: var(--lt-text, #111);
}
.lt-btn--ghost:hover { background: hsl(248 74% 63% / .08); color: var(--lt-accent-violet); }

/* ---------- Booking form (glass card, floating labels, segmented, swap) ---------- */
.lt-booking-form {
  position: relative;
  background: linear-gradient(180deg, hsl(0 0% 100% / .96), hsl(0 0% 100% / .92));
  backdrop-filter: blur(10px) saturate(1.05);
  -webkit-backdrop-filter: blur(10px) saturate(1.05);
  border-radius: 20px;
  padding: 22px 20px;
  box-shadow:
    0 20px 45px -20px hsl(248 74% 25% / .25),
    0 1px 0 hsl(0 0% 100% / .8) inset;
}
.lt-booking-form::before {
  content: ""; position: absolute; inset: -1.5px; border-radius: 22px; z-index: -1;
  background: var(--lt-gradient-sunset);
  opacity: .55; filter: blur(1px);
}
#lt-booking-form { scroll-margin-top: 90px; }

.lt-booking-form .lt-form__input,
.lt-booking-form .lt-form__select,
.lt-booking-form .lt-form__textarea {
  min-height: 48px;
  border-radius: 12px;
  border: 1.5px solid hsl(220 15% 88%);
  padding: 12px 14px;
  font-size: 15px;
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.lt-booking-form .lt-form__input:focus,
.lt-booking-form .lt-form__select:focus,
.lt-booking-form .lt-form__textarea:focus {
  outline: none;
  border-color: var(--lt-accent-violet);
  box-shadow: 0 0 0 4px hsl(248 74% 63% / .18);
}
.lt-booking-form .lt-form__input:user-invalid,
.lt-booking-form .lt-form__input:invalid:not(:placeholder-shown) {
  border-color: var(--lt-accent-magenta);
  box-shadow: 0 0 0 3px hsl(329 79% 58% / .15);
}
.lt-booking-form .lt-form__label {
  font-weight: 600; font-size: .88rem; color: hsl(230 20% 25%);
  margin-bottom: 6px; display: block;
}

/* Swap chip */
.lt-booking-form .lt-form__swap {
  background: var(--lt-gradient-sunset) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 8px 16px !important;
  box-shadow: 0 6px 16px -8px hsl(329 79% 58% / .5);
}
.lt-booking-form .lt-form__swap:hover { filter: brightness(1.08); transform: translateY(-1px); }
.lt-booking-form .lt-form__swap:active span[aria-hidden="true"] { transform: rotate(180deg); }

/* Segmented trip-type control (radios → pills) */
.lt-booking-form .lt-form__triptype {
  gap: 0 !important;
  background: hsl(220 20% 96%);
  padding: 4px;
  border-radius: 12px;
  width: fit-content;
}
.lt-booking-form .lt-form__triptype > span { padding: 0 10px 0 4px; align-self: center; }
.lt-booking-form .lt-form__triptype label {
  padding: 8px 16px !important;
  border-radius: 9px !important;
  font-size: .88rem; font-weight: 600;
  color: hsl(230 15% 35%);
  transition: background .18s ease, color .18s ease;
  min-height: 36px;
}
.lt-booking-form .lt-form__triptype input[type="radio"] {
  position: absolute; opacity: 0; pointer-events: none;
}
.lt-booking-form .lt-form__triptype label:has(input:checked) {
  background: #fff;
  color: var(--lt-accent-orange);
  box-shadow: 0 2px 8px -2px hsl(14 100% 60% / .3);
}

/* Prefilled badge shimmer */
.lt-form__prefill-badge {
  position: relative; overflow: hidden;
  border-radius: 999px !important;
  background: linear-gradient(90deg, hsl(31 94% 94%), hsl(48 96% 92%)) !important;
  border: 1px solid hsl(31 94% 78%) !important;
  padding: 8px 16px !important;
  font-weight: 600;
}
.lt-form__prefill-badge::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(110deg, transparent 30%, hsl(0 0% 100% / .55) 50%, transparent 70%);
  transform: translateX(-100%);
  animation: lt-shimmer 2.8s ease-in-out infinite;
}
@keyframes lt-shimmer { to { transform: translateX(100%); } }

/* Sticky mobile submit bar */
@media (max-width: 640px) {
  .lt-booking-form { padding-bottom: 84px; }
  .lt-booking-form > button[type="submit"] {
    position: sticky; bottom: 12px; z-index: 5;
    box-shadow: 0 12px 28px -10px hsl(14 100% 60% / .55);
    min-height: 52px; font-size: 1rem;
  }
}

/* ---------- Cards (listings) ---------- */
.lt-card, .lt-vendor-card, .lt-route-card, .lt-vehicle-card {
  border-radius: 18px !important;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  position: relative;
}
.lt-card--lift:hover, .lt-vendor-card:hover, .lt-route-card:hover, .lt-vehicle-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 40px -22px hsl(248 74% 25% / .32);
}
.lt-card::after, .lt-vendor-card::after, .lt-route-card::after, .lt-vehicle-card::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  padding: 1.5px; background: var(--lt-gradient-sunset);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; transition: opacity .22s ease; pointer-events: none;
}
.lt-card:hover::after, .lt-vendor-card:hover::after, .lt-route-card:hover::after, .lt-vehicle-card:hover::after { opacity: 1; }
.lt-card__price {
  background: var(--lt-gradient-warm);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; font-weight: 800;
}

/* Verified partner badge (reuse) */
.lt-badge--verified,
.lt-card__badge--verified {
  background: linear-gradient(135deg, hsl(160 60% 40%), hsl(160 60% 32%));
  color: #fff; border-radius: 999px; padding: 4px 10px; font-size: .72rem; font-weight: 700;
  display: inline-flex; align-items: center; gap: 4px;
  box-shadow: 0 4px 10px -4px hsl(160 60% 30% / .5);
}
.lt-badge--verified::before { content: "✓"; font-weight: 900; }

/* Wishlist heart gradient */
.lt-wishlist-btn.is-active, .lt-wishlist-btn[aria-pressed="true"] {
  background: var(--lt-gradient-warm) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.lt-wishlist-btn:active { transform: scale(.9); }

/* Skeleton shimmer refined */
.lt-skeleton, .skeleton {
  background: linear-gradient(90deg, hsl(220 15% 94%) 0%, hsl(220 15% 88%) 50%, hsl(220 15% 94%) 100%);
  background-size: 200% 100%;
  animation: lt-skel 1.4s ease-in-out infinite;
  border-radius: 10px;
}
@keyframes lt-skel { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* ---------- City / route single pages ---------- */
.lt-hero--city, .lt-hero--route {
  position: relative; overflow: hidden;
  border-radius: 0 0 28px 28px;
  min-height: 320px;
}
.lt-hero--city::after, .lt-hero--route::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, hsl(230 40% 8% / .75) 100%);
  pointer-events: none;
}
.lt-breadcrumbs-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.lt-breadcrumbs-chips a, .lt-breadcrumbs-chips span {
  background: hsl(0 0% 100% / .18); color: #fff; padding: 4px 10px;
  border-radius: 999px; font-size: .78rem; backdrop-filter: blur(6px);
}

/* Quick-stats row */
.lt-quickstats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; }
.lt-quickstats__tile {
  background: hsl(0 0% 100% / .92); border-radius: 14px; padding: 12px;
  display: flex; align-items: center; gap: 10px;
  box-shadow: 0 6px 18px -12px hsl(248 74% 25% / .3);
}
.lt-quickstats__icon {
  width: 36px; height: 36px; border-radius: 10px;
  background: var(--lt-gradient-sunset); color: #fff;
  display: grid; place-items: center; flex-shrink: 0;
}

/* City at-a-glance → bento */
.lt-city-highlights, .lt-city-glance {
  display: grid; gap: 14px;
  grid-template-columns: repeat(2, 1fr);
}
.lt-city-highlights > *, .lt-city-glance > * {
  background: #fff; border-radius: 16px; padding: 16px;
  border: 1px solid hsl(220 15% 92%);
}
@media (max-width: 640px) {
  .lt-city-highlights, .lt-city-glance { grid-template-columns: 1fr; }
}

/* Nearby chips rail with gradient edges */
.lt-nearby-rail {
  position: relative; display: flex; gap: 10px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; padding: 4px 24px 4px 4px;
  scrollbar-width: none;
}
.lt-nearby-rail::-webkit-scrollbar { display: none; }
.lt-nearby-rail > a, .lt-nearby-rail > .lt-chip {
  scroll-snap-align: start; flex-shrink: 0;
  background: #fff; border: 1px solid hsl(220 15% 88%);
  border-radius: 999px; padding: 8px 14px; font-size: .85rem; font-weight: 600;
  color: hsl(230 20% 25%); text-decoration: none;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.lt-nearby-rail > a:hover { border-color: var(--lt-accent-orange); transform: translateY(-1px); box-shadow: 0 6px 14px -8px hsl(14 100% 60% / .5); }

/* Sticky mobile "Book Now" pill */
.lt-sticky-book {
  position: fixed; left: 50%; bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%); z-index: 950;
  background: var(--lt-gradient-sunset); color: #fff;
  padding: 12px 22px; border-radius: 999px; font-weight: 700;
  box-shadow: 0 14px 30px -10px hsl(14 100% 60% / .6);
  text-decoration: none; display: none; align-items: center; gap: 8px;
  animation: lt-sticky-in .3s ease;
}
.lt-sticky-book.is-visible { display: inline-flex; }
@keyframes lt-sticky-in { from { opacity: 0; transform: translateX(-50%) translateY(10px); } to { opacity: 1; transform: translateX(-50%); } }
@media (min-width: 900px) { .lt-sticky-book { display: none !important; } }

/* ---------- Dashboards ---------- */
.lt-dashboard-sidebar, .partner-sidebar, .customer-sidebar {
  background: linear-gradient(180deg, hsl(0 0% 100% / .9), hsl(220 30% 98% / .9));
  backdrop-filter: blur(10px);
  border-right: 1px solid hsl(220 15% 92%);
}
.lt-dashboard-sidebar a.is-active,
.partner-sidebar a.is-active,
.customer-sidebar a.is-active,
.lt-dashboard-sidebar a[aria-current="page"] {
  background: var(--lt-gradient-sunset) !important;
  color: #fff !important;
  border-radius: 10px;
  box-shadow: 0 6px 16px -8px hsl(329 79% 58% / .5);
}

/* Stat cards */
.lt-stat-card, .partner-stat-card {
  background: #fff; border-radius: 16px; padding: 18px;
  border: 1px solid hsl(220 15% 92%);
  transition: transform .18s ease, box-shadow .18s ease;
}
.lt-stat-card:hover, .partner-stat-card:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -16px hsl(248 74% 25% / .25); }
.lt-stat-card__value, .partner-stat-card__value {
  background: var(--lt-gradient-sunset);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  font-weight: 800; font-size: 1.9rem; line-height: 1.1;
}

/* Table row hover accent */
.lt-table tbody tr, .partner-table tbody tr {
  transition: background .15s ease, box-shadow .15s ease;
  border-left: 3px solid transparent;
}
.lt-table tbody tr:hover, .partner-table tbody tr:hover {
  background: hsl(248 74% 63% / .04);
  border-left-color: var(--lt-accent-violet);
}

/* Status badges */
.lt-status--pending, .status-pending { background: hsl(248 74% 63% / .12); color: var(--lt-accent-violet); }
.lt-status--ongoing, .status-ongoing { background: hsl(14 100% 60% / .12); color: var(--lt-accent-orange); }
.lt-status--action, .status-action-needed { background: hsl(329 79% 58% / .12); color: var(--lt-accent-magenta); }
.lt-status--done, .status-completed { background: hsl(160 60% 40% / .12); color: hsl(160 60% 30%); }
.lt-status--pending, .lt-status--ongoing, .lt-status--action, .lt-status--done,
.status-pending, .status-ongoing, .status-action-needed, .status-completed {
  padding: 4px 10px; border-radius: 999px; font-size: .74rem; font-weight: 700; display: inline-block;
}

/* Toast system */
.lt-toast, .lt-toast-container .toast {
  background: hsl(0 0% 100% / .92); backdrop-filter: blur(12px);
  border-radius: 14px; padding: 12px 16px;
  border: 1.5px solid transparent;
  background-image: linear-gradient(#fff, #fff), var(--lt-gradient-sunset);
  background-origin: border-box; background-clip: padding-box, border-box;
  box-shadow: 0 18px 40px -18px hsl(248 74% 25% / .35);
}
.lt-toast-container { position: fixed; top: 20px; right: 20px; z-index: 9999; }
@media (max-width: 640px) {
  .lt-toast-container { top: 12px; right: 12px; left: 12px; }
}

/* ---------- Site-wide inputs ---------- */
.lt-form__input, .lt-form__select, .lt-form__textarea, input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="password"], select, textarea {
  border-radius: 12px;
}
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: none; border-color: var(--lt-accent-violet);
  box-shadow: 0 0 0 4px hsl(248 74% 63% / .18);
}

/* Custom checkbox / radio (subtle, non-breaking) */
input[type="checkbox"]:checked, input[type="radio"]:checked { accent-color: var(--lt-accent-orange); }

/* ---------- Typography rhythm ---------- */
h1 { font-size: clamp(2.25rem, 4vw + .5rem, 3.5rem); line-height: 1.1; letter-spacing: -0.02em; }
h2 { font-size: clamp(1.75rem, 2.4vw + .4rem, 2.5rem); line-height: 1.15; letter-spacing: -0.015em; }
h3 { font-size: clamp(1.25rem, 1.4vw + .35rem, 1.6rem); line-height: 1.2; }
body { line-height: 1.65; }
.lt-article, .lt-prose { max-width: 70ch; }
.lt-hero h1, .hero-title, .lt-gradient-text {
  background: var(--lt-gradient-sunset);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ---------- Micro-details ---------- */
/* WhatsApp FAB */
.lt-whatsapp-fab, .whatsapp-float {
  background: linear-gradient(135deg, #25d366, #128c7e) !important;
  color: #fff !important; border-radius: 999px !important;
  box-shadow: 0 12px 30px -10px hsl(140 70% 40% / .55);
  position: relative;
}
.lt-whatsapp-fab::before, .whatsapp-float::before {
  content: ""; position: absolute; inset: -6px; border-radius: 999px;
  background: hsl(140 70% 50% / .35);
  animation: lt-fab-pulse 2.2s ease-out infinite;
  z-index: -1;
}
@keyframes lt-fab-pulse {
  0% { transform: scale(.85); opacity: .8; }
  100% { transform: scale(1.4); opacity: 0; }
}

/* Image lightbox */
.lt-lightbox, .lightbox {
  background: hsl(230 40% 6% / .82) !important;
  backdrop-filter: blur(14px);
}
.lt-lightbox__close, .lightbox-close {
  background: var(--lt-gradient-sunset) !important; color: #fff !important;
  border-radius: 999px !important; width: 44px; height: 44px;
  border: 0 !important;
}

/* 404 / legal templates */
.lt-legal-page, .error-404 {
  max-width: 780px; margin: 0 auto; padding: 40px 20px;
}
.lt-legal-page h1, .error-404 h1 { margin-bottom: 12px; }

/* ---------- A11y / responsive ---------- */
.lt-fab, .lt-btn, .lt-mobile-bottom-nav__item, .lt-nearby-rail > a, .lt-wishlist-btn {
  min-height: 44px;
}
.lt-modal, .lt-dialog { max-height: 100dvh; }
@media (max-height: 520px) and (orientation: landscape) {
  .lt-modal, .lt-dialog { max-height: 92dvh; overflow-y: auto; }
  .lt-booking-form { padding: 14px; }
  .lt-booking-form .lt-form__input { min-height: 42px; }
}

/* ==========================================================================
   Route offers — fixed-price bookable cards + instant booking modal (v1.36)
   ========================================================================== */
.lt-offers { margin: 0 0 var(--lt-space-xl); }
.lt-offers__head { display: flex; flex-wrap: wrap; gap: var(--lt-space-md); align-items: flex-end; justify-content: space-between; margin-bottom: var(--lt-space-lg); }
.lt-offers__head h2 { margin: 0; font-size: clamp(1.4rem, 3vw, 1.9rem); }
.lt-offers__head p { margin: .4rem 0 0; color: var(--lt-text-secondary); max-width: 56ch; }
.lt-offers__filter { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--lt-bg-alt); border: 1px solid var(--lt-border); }
.lt-offers__filter button { border: 0; background: none; padding: .5rem 1rem; min-height: 40px; border-radius: 999px; cursor: pointer; font: inherit; font-size: .9rem; color: var(--lt-text-secondary); }
.lt-offers__filter button.is-active { background: var(--lt-gradient-sunset, var(--lt-primary)); color: #fff; font-weight: 600; }
/* One way / round trip segmented toggle */
.lt-offers__toggle { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--lt-bg-alt); border: 1px solid var(--lt-border); }
.lt-offers__toggle-btn { border: 0; background: none; padding: .55rem 1.25rem; min-height: 42px; border-radius: 999px; cursor: pointer; font: inherit; font-size: .92rem; font-weight: 500; color: var(--lt-text-secondary); transition: background .2s ease, color .2s ease, transform .2s ease; }
.lt-offers__toggle-btn:hover { color: var(--lt-text); }
.lt-offers__toggle-btn.is-active { background: var(--lt-gradient-sunset, var(--lt-primary)); color: #fff; font-weight: 600; box-shadow: 0 6px 16px -10px rgba(0,0,0,.6); }
.lt-offers__toggle-btn:focus-visible { outline: 2px solid var(--lt-primary); outline-offset: 2px; }
.lt-offers__from { margin: 0 0 var(--lt-space-md); font-size: .95rem; font-weight: 600; color: var(--lt-text); }

/* Booking desk closed notice — order-time rule, not a pickup rule. */
.lt-offers__desk { display: flex; gap: .75rem; align-items: flex-start; margin: 0 0 var(--lt-space-md); padding: .9rem 1rem; border: 1px solid var(--lt-border); border-left: 4px solid var(--lt-warning, #d98324); border-radius: var(--lt-radius-md, 10px); background: var(--lt-surface-2, rgba(217,131,36,.06)); }
.lt-offers__desk-icon { font-size: 1.1rem; line-height: 1.4; }
.lt-offers__desk strong { display: block; font-size: .95rem; color: var(--lt-text); }
.lt-offers__desk p { margin: .25rem 0 .6rem; font-size: .88rem; color: var(--lt-text-muted); }

.lt-offers__empty { margin-top: var(--lt-space-lg); padding: var(--lt-space-lg); border: 1px dashed var(--lt-border); border-radius: 16px; background: var(--lt-bg-alt); }
.lt-offers__empty p { margin: 0 0 .5rem; color: var(--lt-text-secondary); }
.lt-offers__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--lt-space-lg); }
.lt-offers__note { margin-top: var(--lt-space-md); font-size: .85rem; color: var(--lt-text-secondary); }


.lt-offer-card { position: relative; display: flex; flex-direction: column; gap: .75rem; padding: var(--lt-space-lg); border: 1px solid var(--lt-border); border-radius: 18px; background: var(--lt-bg); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; overflow: hidden; }
.lt-offer-card.has-media { padding-top: 0; }
.lt-offer-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -24px rgba(0,0,0,.45); border-color: transparent; outline: 1.5px solid transparent; background-image: linear-gradient(var(--lt-bg), var(--lt-bg)), var(--lt-gradient-sunset, linear-gradient(135deg,#ff6b35,#e84393)); background-origin: border-box; background-clip: padding-box, border-box; }
.lt-offer-card__media { position: relative; margin: 0 calc(var(--lt-space-lg) * -1) 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--lt-bg-alt); display: flex; align-items: center; justify-content: center; }
.lt-offer-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.lt-offer-card:hover .lt-offer-card__media img { transform: scale(1.04); }
.lt-offer-card__media-fallback { font-size: 2.6rem; opacity: .75; }
.lt-offer-card__tag { position: absolute; left: 12px; bottom: 12px; padding: .28rem .6rem; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: #fff; background: rgba(17,15,25,.72); backdrop-filter: blur(4px); }
.lt-offer-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.lt-offer-card__vehicle { margin: 0; font-size: 1.05rem; }
.lt-offer-card__price { text-align: right; }
.lt-offer-card__price strong { display: block; font-size: 1.5rem; font-weight: 800; background: var(--lt-gradient-sunset, linear-gradient(135deg,#ff6b35,#e84393)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lt-offer-card__price small { font-size: .72rem; color: var(--lt-text-secondary); }
.lt-offer-card__meta { font-size: .85rem; color: var(--lt-text-secondary); }
.lt-offer-card ul { margin: 0; padding-left: 1.1rem; font-size: .85rem; color: var(--lt-text-secondary); }


/* Modal */
.lt-offer-modal { position: fixed; inset: 0; z-index: 12000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.lt-offer-modal[hidden] { display: none; }
.lt-offer-modal__backdrop { position: absolute; inset: 0; background: rgba(12,10,20,.62); backdrop-filter: blur(6px); }
.lt-offer-modal__panel { position: relative; width: min(520px, 100%); max-height: min(90dvh, 900px); overflow-y: auto; padding: var(--lt-space-xl); border-radius: 20px; background: var(--lt-bg); box-shadow: 0 30px 80px -30px rgba(0,0,0,.6); }
.lt-offer-modal__close { position: absolute; top: 10px; right: 12px; width: 44px; height: 44px; border: 0; background: none; font-size: 1.6rem; line-height: 1; cursor: pointer; color: var(--lt-text-secondary); border-radius: 50%; }
.lt-offer-modal__summary { color: var(--lt-text-secondary); font-size: .95rem; margin-top: .25rem; }
#lt-offer-form label, #lt-offer-pay label, #lt-share-form label, #lt-share-pay label { display: block; margin-top: .85rem; font-size: .85rem; font-weight: 600; }
#lt-offer-form input, #lt-offer-form textarea, #lt-offer-pay input, #lt-share-form input, #lt-share-form textarea, #lt-share-form select, #lt-share-pay input { width: 100%; margin-top: .3rem; min-height: 48px; padding: .65rem .8rem; border: 1.5px solid var(--lt-border); border-radius: 12px; font: inherit; background: var(--lt-bg); color: var(--lt-text); }
#lt-offer-form textarea, #lt-share-form textarea { min-height: 72px; }
#lt-offer-form input:focus-visible, #lt-offer-form textarea:focus-visible, #lt-offer-pay input:focus-visible, #lt-share-form input:focus-visible, #lt-share-form textarea:focus-visible, #lt-share-form select:focus-visible, #lt-share-pay input:focus-visible { outline: 2px solid #6c5ce7; outline-offset: 1px; }
/* Sharing modal: keep the seat stepper compact — the 100% width rules above
   would otherwise stretch it across the whole dialog. */
#lt-share-form .lt-share-seats__stepper input { width: 52px; min-height: 38px; margin-top: 0; padding: 0; border: 0; border-radius: 0; text-align: center; font-size: 16px; font-weight: 700; }
#lt-share-form .lt-share-seats__stepper button { width: 38px; height: 38px; flex: 0 0 38px; }
.lt-offer-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.lt-offer-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
/* Saved contact details (signed-in traveller): one compact line, expandable. */
.lt-offer-form__saved { margin-top: .85rem; border: 1.5px solid var(--lt-border); border-radius: 12px; background: var(--lt-surface, transparent); }
.lt-offer-form__saved > summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem .9rem; cursor: pointer; list-style: none; font-size: .85rem; }
.lt-offer-form__saved > summary::-webkit-details-marker { display: none; }
.lt-offer-form__saved-line { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--lt-text-secondary); }
.lt-offer-form__saved-line strong { color: var(--lt-text); }
.lt-offer-form__saved-edit { flex: none; font-weight: 700; color: #6c5ce7; }
.lt-offer-form__saved > summary .lt-offer-form__saved-edit::after { content: ' ▾'; }
.lt-offer-form__saved[open] > summary .lt-offer-form__saved-edit::after { content: ' ▴'; }
.lt-offer-form__saved[open] > summary { border-bottom: 1px solid var(--lt-border); }
.lt-offer-form__saved > .lt-offer-form__row, .lt-offer-form__saved > .lt-offer-form__hint { padding: 0 .9rem; }
.lt-offer-form__saved > .lt-offer-form__row:last-of-type { padding-bottom: .25rem; }
.lt-offer-form__saved > .lt-offer-form__hint { padding-bottom: .75rem; }
.lt-offer-form__error { margin-top: .75rem; padding: .6rem .8rem; border-radius: 10px; background: rgba(232,67,147,.12); color: #b3306c; font-size: .875rem; }
.lt-offer-form__submit { width: 100%; margin-top: 1.1rem; min-height: 50px; }
.lt-offer-form__legal { margin-top: .6rem; font-size: .78rem; color: var(--lt-text-secondary); }
.lt-offer-pay__amount, .lt-offer-pay__upi { font-size: .95rem; }
.lt-offer-done__tick { font-size: 2.5rem; color: #16a34a; margin: 0; }
@media (max-width: 560px) {
  .lt-offer-form__row { grid-template-columns: 1fr; }
  .lt-offer-modal { align-items: flex-end; padding: 0; }
  .lt-offer-modal__panel { width: 100%; max-height: 92dvh; border-radius: 20px 20px 0 0; padding-bottom: calc(var(--lt-space-xl) + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .lt-offer-card { transition: none; } .lt-offer-card:hover { transform: none; } }

/* ============================================================
   Smart date & time picker (v1.41.0)
   ============================================================ */
.lt-sdt { margin-bottom: var(--lt-space-md, 14px); }
.lt-sdt__label { display:block; font-weight:600; font-size:.9rem; margin-bottom:6px; color:var(--lt-text, #18181b); }
.lt-sdt__chips { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.lt-sdt__chips button {
	background:#fff; border:1px solid var(--lt-border, #e5e7eb); border-radius:999px;
	padding:5px 12px; font-size:.78rem; font-weight:600; cursor:pointer; color:#3f3f46;
	transition:all .15s ease;
}
.lt-sdt__chips button:hover { border-color:var(--lt-primary, #2563eb); color:var(--lt-primary, #2563eb); }
.lt-sdt__chips button.is-active { background:var(--lt-primary, #2563eb); border-color:var(--lt-primary, #2563eb); color:#fff; }
.lt-sdt__row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.lt-sdt__field { display:flex; flex-direction:column; min-width:0; }
.lt-sdt__sub { font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; color:#71717a; margin-bottom:3px; }
.lt-sdt__date, .lt-sdt__time { width:100%; }
.lt-sdt__hint { margin:6px 0 0; font-size:.78rem; color:#a16207; min-height:0; }
.lt-sdt__hint:empty { display:none; }
.lt-sdt__closures { margin:6px 0 0; font-size:.74rem; color:#b91c1c; cursor:help; white-space:normal; }
.lt-closures { margin:18px auto; padding:14px 18px; border:1px solid #fecaca; border-left:4px solid #dc2626; border-radius:10px; background:#fef2f2; }
.lt-closures__title { display:block; font-size:.92rem; color:#991b1b; margin-bottom:6px; }
.lt-closures__list { margin:0; padding-left:18px; font-size:.86rem; color:#7f1d1d; }
.lt-closures__list li { margin:2px 0; }
.lt-closures__dates { font-weight:600; }
.lt-closures__reason { opacity:.85; }
.lt-sdt--compact .lt-sdt__chips button { padding:4px 10px; font-size:.74rem; }
@media (max-width: 480px) { .lt-sdt__row { grid-template-columns:1fr; } }

/* Payments & documents block on the customer booking page */
.lt-paydocs__row { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:10px 0; border-bottom:1px dashed #eef1f5; font-size:.92rem; }
.lt-paydocs__row:last-child { border-bottom:0; }
.lt-paydocs__badge { font-size:.72rem; font-weight:700; border-radius:999px; padding:2px 8px; }
.lt-paydocs__badge--ok { background:#ecfdf5; color:#065f46; }
.lt-paydocs__badge--wait { background:#fff7ed; color:#9a3412; }
.lt-paydocs__badge--bad { background:#fef2f2; color:#b91c1c; }


/* ==========================================================
   CARD MEDIA NORMALISATION
   One consistent frame for every card thumbnail (routes, taxis,
   vehicles, vendors, cities, packages, blog...). Images always
   cover the frame instead of stretching or overflowing it.
   ========================================================== */
.lt-card__image,
.lt-card__media {
  position: relative;
  display: block;
  width: 100%;
  height: 200px;
  background: var(--lt-bg-alt, hsl(210 40% 96%));
  overflow: hidden;
  flex: 0 0 auto;
}

/* Wrappers WordPress may inject between the frame and the image. */
.lt-card__image > a,
.lt-card__media > a,
.lt-card__image > figure,
.lt-card__media > figure,
.lt-card__image > picture,
.lt-card__media > picture {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}

.lt-card__image img,
.lt-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

/* Placeholder frames (emoji / gradient) keep the same proportions. */
.lt-card__image:empty,
.lt-card__media:empty {
  min-height: 160px;
}

@media (max-width: 640px) {
  .lt-card__image,
  .lt-card__media { height: 180px; }
}

/* ============================================
 * Smart address helpers + modern compact checkbox (1.45.1)
 * ============================================ */
.lt-copy-btn {
	appearance: none;
	border: 1px solid var(--lt-border, #e5e7eb);
	background: var(--lt-bg-alt, #f8fafc);
	color: var(--lt-text, #111827);
	font: inherit;
	font-size: .78rem;
	font-weight: 600;
	line-height: 1;
	padding: 6px 10px;
	border-radius: 999px;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.lt-copy-btn:hover { background: var(--lt-primary, #0f766e); border-color: var(--lt-primary, #0f766e); color: #fff; }
.lt-copy-btn.is-done::after { content: " ✓"; }

/* Compact modern checkboxes across booking + enquiry forms. */
.lt-offer-form__terms input[type="checkbox"],
.lt-form input[type="checkbox"],
input.lt-check {
	appearance: none;
	-webkit-appearance: none;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	margin: 2px 0 0;
	border: 1.5px solid var(--lt-border, #cbd5e1);
	border-radius: 5px;
	background: #fff;
	display: inline-grid;
	place-content: center;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.lt-offer-form__terms input[type="checkbox"]::before,
.lt-form input[type="checkbox"]::before,
input.lt-check::before {
	content: "";
	width: 9px;
	height: 9px;
	transform: scale(0);
	transition: transform .12s ease-in-out;
	background: #fff;
	clip-path: polygon(14% 44%, 0 65%, 40% 100%, 100% 16%, 84% 0, 39% 66%);
}
.lt-offer-form__terms input[type="checkbox"]:checked,
.lt-form input[type="checkbox"]:checked,
input.lt-check:checked {
	background: var(--lt-primary, #0f766e);
	border-color: var(--lt-primary, #0f766e);
}
.lt-offer-form__terms input[type="checkbox"]:checked::before,
.lt-form input[type="checkbox"]:checked::before,
input.lt-check:checked::before { transform: scale(1); }
.lt-offer-form__terms input[type="checkbox"]:focus-visible,
.lt-form input[type="checkbox"]:focus-visible,
input.lt-check:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(15, 118, 110, .25); }
.lt-offer-form__terms { align-items: center !important; gap: 10px !important; line-height: 1.45; }


/* ==========================================================================
   Route cancellation & refund policy
   ========================================================================== */
.lt-cancel-policy{margin:var(--lt-space-xl) 0;padding:var(--lt-space-lg);border:1px solid var(--lt-border,#e5e7eb);border-radius:var(--lt-radius-lg,16px);background:var(--lt-bg-alt,#f9fafb);}
.lt-cancel-policy__head h2{margin:0 0 .35rem;font-size:1.15rem;}
.lt-cancel-policy__summary{margin:0 0 var(--lt-space-md);color:var(--lt-text-muted,#6b7280);font-size:.92rem;}
.lt-cancel-policy__table{width:100%;border-collapse:collapse;background:var(--lt-bg,#fff);border-radius:var(--lt-radius,12px);overflow:hidden;font-size:.9rem;}
.lt-cancel-policy__table th,.lt-cancel-policy__table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--lt-border,#e5e7eb);}
.lt-cancel-policy__table tr:last-child td{border-bottom:0;}
.lt-cancel-policy__table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--lt-text-muted,#6b7280);}
.lt-cancel-policy__note{display:block;font-size:.8rem;color:var(--lt-text-muted,#6b7280);}
.lt-cancel-policy__points{list-style:none;margin:var(--lt-space-md) 0 0;padding:0;display:grid;gap:.4rem;font-size:.88rem;}
.lt-cancel-policy__foot{margin:var(--lt-space-md) 0 0;font-size:.82rem;color:var(--lt-text-muted,#6b7280);}
.lt-cancel-policy--compact{padding:var(--lt-space-md);margin:var(--lt-space-md) 0;}
.lt-offer-form__policy{margin:.75rem 0;padding:.7rem .85rem;border:1px solid var(--lt-border,#e5e7eb);border-radius:var(--lt-radius,12px);background:var(--lt-bg-alt,#f9fafb);font-size:.82rem;display:grid;gap:.2rem;}

/* Modal terms checkbox — beat the #lt-offer-form / #lt-share-form input sizing rules (1.46.3). */
#lt-offer-form .lt-offer-form__terms,
.lt-offer-form__terms,
#lt-share-form .lt-offer-form__check,
.lt-offer-form__check {
	display: flex !important;
	gap: 10px !important;
	align-items: center !important;
	margin-top: .9rem;
	font-size: .85rem;
	font-weight: 500;
	cursor: pointer;
	line-height: 1.45;
}
#lt-offer-form input[type="checkbox"],
#lt-offer-form .lt-offer-form__terms input[type="checkbox"],
#lt-share-form input[type="checkbox"] {
	width: 18px;
	height: 18px;
	min-height: 18px;
	flex: 0 0 18px;
	margin: 0;
	padding: 0;
	appearance: none;
	-webkit-appearance: none;
	border: 1.5px solid var(--lt-border, #cbd5e1);
	border-radius: 6px;
	background: #fff;
	display: inline-grid;
	place-content: center;
	cursor: pointer;
	pointer-events: auto;
}
#lt-offer-form input[type="checkbox"]::before,
#lt-share-form input[type="checkbox"]::before {
	content: "";
	width: 10px; height: 10px;
	transform: scale(0);
	transition: transform .12s ease-in-out;
	background: #fff;
	clip-path: polygon(14% 44%, 0 65%, 40% 100%, 100% 16%, 84% 0, 39% 66%);
}
#lt-offer-form input[type="checkbox"]:checked,
#lt-share-form input[type="checkbox"]:checked { background: var(--lt-primary, #0f766e); border-color: var(--lt-primary, #0f766e); }
#lt-offer-form input[type="checkbox"]:checked::before,
#lt-share-form input[type="checkbox"]:checked::before { transform: scale(1); }
#lt-offer-form input[type="checkbox"]:focus-visible,
#lt-share-form input[type="checkbox"]:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(15,118,110,.25); }
#lt-offer-form .is-invalid, #lt-share-form .is-invalid { border-color: #dc2626 !important; box-shadow: 0 0 0 3px rgba(220,38,38,.12); }

/* Fleet inventory: sold-out offer cards (1.47.0). */
.lt-offer-card.is-sold-out { opacity: .72; }
.lt-offer-card__soldout {
	position: absolute; left: 10px; top: 10px; z-index: 2;
	background: #b91c1c; color: #fff; font-size: .72rem; font-weight: 700;
	padding: 4px 9px; border-radius: 999px; letter-spacing: .01em;
}
.lt-offer-card.is-sold-out .lt-offer-book { cursor: not-allowed; }
/* Live stock badge — real inventory, so scarcity is honest. */
.lt-offer-card__stock {
	position: absolute; left: 10px; top: 10px; z-index: 2;
	background: hsla(0, 0%, 100%, .92); color: #15803d;
	font-size: .72rem; font-weight: 700; padding: 4px 9px;
	border-radius: 999px; box-shadow: 0 1px 4px rgba(0,0,0,.14);
}
.lt-offer-card__stock.is-low { background: #b45309; color: #fff; }
/* Partner storefront route cards */
.lt-partner-routes__grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px; margin-top: 16px;
}
.lt-partner-route {
	position: relative; display: block; overflow: hidden; border-radius: 12px;
	border: 1px solid var(--lt-border, #e5e7eb); background: var(--lt-bg, #fff);
	text-decoration: none; color: inherit; transition: transform .15s ease, box-shadow .15s ease;
}
.lt-partner-route:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.lt-partner-route.is-featured { border-color: var(--lt-primary, #2563eb); }
.lt-partner-route__media {
	position: relative; aspect-ratio: 16 / 10; background: var(--lt-bg-alt, #f4f4f5);
	display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.lt-partner-route__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lt-partner-route__fallback { font-size: 2rem; }
.lt-partner-route__body { padding: 14px 16px 16px; }
.lt-partner-route__pin {
	position: absolute; right: 10px; top: 10px; font-size: .68rem; font-weight: 700;
	background: var(--lt-primary, #2563eb); color: #fff; padding: 3px 8px; border-radius: 999px;
}

.lt-partner-route__title { margin: 0 0 6px; font-size: 1rem; line-height: 1.35; }
.lt-partner-route__meta { margin: 0; font-size: .85rem; color: var(--lt-text-muted, #6b7280); }
.lt-partner-route__price { margin-top: 10px; font-weight: 700; color: var(--lt-primary, #2563eb); }

.lt-rr__feature {
	float: right; display: inline-flex; align-items: center; gap: 6px;
	font-size: .78rem; font-weight: 600; color: #52525b; cursor: pointer;
	background: #f4f4f5; border-radius: 999px; padding: 4px 10px;
}
.lt-rr__feature input { margin: 0; }
.lt-rr__cell.is-orphan { opacity: .6; background: #fafafa; }
.lt-rr__vehicle.is-orphan { border-style: dashed; }

/* ---- Route offer filters ---- */
.lt-offers__filters{display:flex;flex-direction:column;gap:10px;margin:12px 0 18px;}
.lt-offers__filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
.lt-offers__sort{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;}
.lt-offers__sort select{padding:6px 10px;border:1px solid var(--lt-border,#e5e7eb);border-radius:8px;background:var(--lt-bg,#fff);font:inherit;}
.lt-offers__verified{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer;}
.lt-offers__chips{display:flex;flex-wrap:wrap;gap:8px;}
.lt-offers__chip{padding:6px 12px;border:1px solid var(--lt-border,#e5e7eb);border-radius:999px;background:transparent;font:inherit;font-size:.85rem;cursor:pointer;color:inherit;}
.lt-offers__chip:hover{border-color:var(--lt-primary,#0f766e);}
.lt-offers__chip.is-on{background:var(--lt-primary,#0f766e);border-color:var(--lt-primary,#0f766e);color:#fff;}
.lt-offers__count{display:flex;align-items:center;gap:12px;margin:0;font-size:.85rem;color:var(--lt-text-muted,#6b7280);}
.lt-offers__clear{border:0;background:none;padding:0;font:inherit;font-size:.85rem;color:var(--lt-primary,#0f766e);text-decoration:underline;cursor:pointer;}

/* ---- Editor content (single route etc.): restore formatting killed by the global list reset ---- */
.lt-entry-content { color: var(--lt-text-secondary); line-height: 1.8; }
.lt-entry-content > *:first-child { margin-top: 0; }
.lt-entry-content p { margin: 0 0 1em; }
.lt-entry-content ul,
.lt-entry-content ol { margin: 0 0 1em 1.4em; padding-left: 1rem; }
.lt-entry-content ul { list-style: disc; }
.lt-entry-content ol { list-style: decimal; }
.lt-entry-content ul ul { list-style: circle; }
.lt-entry-content li { margin: .35em 0; }
.lt-entry-content li > ul,
.lt-entry-content li > ol { margin-bottom: .25em; }
.lt-entry-content h2,
.lt-entry-content h3,
.lt-entry-content h4 { color: var(--lt-text-primary); margin: 1.4em 0 .5em; line-height: 1.3; }
.lt-entry-content h2 { font-size: 1.35rem; }
.lt-entry-content h3 { font-size: 1.15rem; }
.lt-entry-content h4 { font-size: 1rem; }
.lt-entry-content a { color: var(--lt-primary); text-decoration: underline; }
.lt-entry-content strong { color: var(--lt-text-primary); font-weight: 700; }
.lt-entry-content em { font-style: italic; }
.lt-entry-content blockquote { margin: 1em 0; padding: .75rem 1rem; border-left: 3px solid var(--lt-primary); background: var(--lt-bg-subtle, hsl(0 0% 97%)); border-radius: 6px; }
.lt-entry-content img { max-width: 100%; height: auto; border-radius: 8px; }
.lt-entry-content table { width: 100%; border-collapse: collapse; margin: 1em 0; }
.lt-entry-content th,
.lt-entry-content td { border: 1px solid var(--lt-border, hsl(0 0% 90%)); padding: .5rem .65rem; text-align: left; }
.lt-entry-content hr { border: 0; border-top: 1px solid var(--lt-border, hsl(0 0% 90%)); margin: 1.5em 0; }

/* Vehicle capacity chip on route offer cards */
.lt-offer-card__cap { display:inline-flex; align-items:center; gap:.35rem; font-weight:600; }

/* ---- Offer card feature chips + details dialog (v1.61.0) ---- */
.lt-offer-card__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.lt-offer-card__chip { display: inline-flex; align-items: center; gap: .3rem; padding: .22rem .55rem; border-radius: 999px; background: var(--lt-bg-alt); border: 1px solid var(--lt-border); font-size: .76rem; color: var(--lt-text-secondary); font-weight: 600; }
.lt-offer-card__more { align-self: flex-start; background: none; border: 0; padding: 0; font-size: .82rem; font-weight: 700; color: var(--lt-primary, #ff6b35); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.lt-offer-card__more:hover { opacity: .8; }

/* Prepaid hint tooltip (v1.67.0) */
.lt-prepaid-hint { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 1.1rem; height: 1.1rem; margin-left: .35rem; vertical-align: middle; border-radius: 999px; background: var(--lt-info, hsl(210, 70%, 50%)); color: #fff; font-size: .7rem; font-weight: 800; line-height: 1; cursor: help; }
.lt-prepaid-hint__icon { pointer-events: none; }
.lt-prepaid-hint__tip { position: absolute; bottom: calc(100% + .5rem); left: 50%; z-index: 10; width: 16rem; max-width: calc(100vw - 2rem); padding: .6rem .8rem; border-radius: var(--lt-radius-md, 10px); background: var(--lt-surface, #fff); color: var(--lt-text, #18181b); font-size: .78rem; font-weight: 500; line-height: 1.5; box-shadow: var(--lt-shadow-md, 0 6px 18px rgba(0,0,0,.09)); border: 1px solid var(--lt-border, hsl(248, 15%, 88%)); opacity: 0; transform: translateX(-50%) translateY(.25rem); pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.lt-prepaid-hint__tip::after { content: ''; position: absolute; top: 100%; left: 50%; margin-left: -.35rem; border-width: .35rem; border-style: solid; border-color: var(--lt-border, hsl(248, 15%, 88%)) transparent transparent transparent; }
.lt-prepaid-hint:hover .lt-prepaid-hint__tip,
.lt-prepaid-hint:focus .lt-prepaid-hint__tip,
.lt-prepaid-hint:active .lt-prepaid-hint__tip { opacity: 1; transform: translateX(-50%) translateY(0); pointer-events: auto; }
@media (max-width: 480px) { .lt-prepaid-hint__tip { width: 12rem; } }

.lt-offer-details { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: var(--lt-space-md); }
.lt-offer-details[hidden] { display: none; }
.lt-offer-details__backdrop { position: absolute; inset: 0; background: rgba(12,10,18,.62); backdrop-filter: blur(3px); }
.lt-offer-details__panel { position: relative; width: min(560px, 100%); max-height: 86vh; overflow-y: auto; background: var(--lt-bg); border: 1px solid var(--lt-border); border-radius: 18px; padding: var(--lt-space-lg); box-shadow: 0 30px 70px -30px rgba(0,0,0,.6); }
.lt-offer-details__panel:focus { outline: none; }
.lt-offer-details__panel h3 { margin: 0 2rem 0 0; font-size: 1.2rem; }
.lt-offer-details__sub { margin: .25rem 0 var(--lt-space-md); font-size: .85rem; color: var(--lt-text-secondary); }
.lt-offer-details__close { position: absolute; top: 10px; right: 12px; background: none; border: 0; font-size: 1.6rem; line-height: 1; cursor: pointer; color: var(--lt-text-secondary); }
.lt-offer-details__h { margin: var(--lt-space-md) 0 .35rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--lt-text-muted); }
.lt-offer-details__specs { margin: 0; display: grid; grid-template-columns: 1fr; gap: .1rem; }
.lt-offer-details__specs > div { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px dashed var(--lt-border); font-size: .9rem; }
.lt-offer-details__specs dt { margin: 0; color: var(--lt-text-secondary); }
.lt-offer-details__specs dd { margin: 0; font-weight: 700; text-align: right; }
.lt-offer-details__list { margin: 0; padding-left: 1.1rem; font-size: .9rem; color: var(--lt-text-secondary); }
.lt-offer-details__p { margin: 0; font-size: .9rem; color: var(--lt-text-secondary); }
body.lt-no-scroll { overflow: hidden; }

/* ---------- Booking dialog: coupon codes & fare breakdown ---------- */
.lt-offer-form__coupon{margin:.75rem 0;padding:.7rem .85rem;border:1px dashed var(--lt-border,#e5e7eb);border-radius:var(--lt-radius,12px);background:var(--lt-bg-alt,#f9fafb);}
.lt-offer-form__coupon.is-applied{border-style:solid;border-color:#16a34a;background:rgba(22,163,74,.06);}
.lt-offer-form__coupon>label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.35rem;}
.lt-offer-form__coupon-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;}
.lt-offer-form__coupon-row input[type="text"]{flex:1 1 10rem;min-width:0;text-transform:uppercase;letter-spacing:.04em;}
.lt-offer-form__coupon-row .lt-btn{flex:0 0 auto;}
.lt-offer-form__coupon-remove{flex:0 0 auto;background:none;border:0;padding:.35rem .2rem;color:var(--lt-muted,#6b7280);text-decoration:underline;cursor:pointer;font-size:.82rem;}
.lt-offer-form__coupon-msg{margin:.45rem 0 0;font-size:.82rem;}
.lt-offer-form__coupon-msg.is-ok{color:#15803d;font-weight:600;}
.lt-offer-form__coupon-msg.is-error{color:#b91c1c;}
.lt-offer-form__coupon-msg.is-busy{color:var(--lt-muted,#6b7280);}
.lt-offer-form__coupon-terms{margin:.45rem 0 0;padding-left:1.1rem;font-size:.78rem;color:var(--lt-muted,#6b7280);display:grid;gap:.15rem;}
.lt-offer-form__fare{margin:.75rem 0;padding:.7rem .85rem;border:1px solid var(--lt-border,#e5e7eb);border-radius:var(--lt-radius,12px);display:grid;gap:.3rem;font-size:.86rem;}
.lt-offer-form__fare>div{display:flex;justify-content:space-between;gap:1rem;}
.lt-offer-form__fare .is-discount{color:#15803d;}
.lt-offer-form__fare .is-total{border-top:1px solid var(--lt-border,#e5e7eb);padding-top:.3rem;font-size:.95rem;}
.lt-offer-form__fare .is-now{color:var(--lt-muted,#6b7280);}

/* ============================================================
   Hero trip search (prepaid-aware)
   ============================================================ */
.lt-tsearch {
	background: var(--lt-surface, #fff);
	border: 1px solid var(--lt-border, rgba(0,0,0,.08));
	border-radius: var(--lt-radius-lg, 18px);
	box-shadow: var(--lt-shadow-lg, 0 18px 45px rgba(0,0,0,.14));
	padding: 1.1rem 1.15rem 1rem;
	max-width: 980px;
	margin: 0 auto;
	text-align: left;
}
.lt-tsearch__heading {
	margin: 0 0 .6rem;
	font-weight: 700;
	font-size: .98rem;
	color: var(--lt-text, #17202a);
}
.lt-tsearch__trip {
	display: inline-flex;
	gap: .25rem;
	padding: .22rem;
	border-radius: 999px;
	background: var(--lt-surface-2, rgba(0,0,0,.05));
	margin-bottom: .75rem;
}
.lt-tsearch__trip button {
	border: 0;
	background: transparent;
	padding: .4rem .95rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: .86rem;
	color: var(--lt-text-muted, #5b6672);
	cursor: pointer;
}
.lt-tsearch__trip button.is-active {
	background: var(--lt-surface, #fff);
	color: var(--lt-text, #17202a);
	box-shadow: 0 1px 3px rgba(0,0,0,.14);
}
.lt-tsearch__grid {
	display: grid;
	grid-template-columns: 1.3fr auto 1.3fr 1fr 1fr auto;
	gap: .6rem;
	align-items: end;
}
.lt-tsearch__field { display: flex; flex-direction: column; gap: .3rem; position: relative; min-width: 0; }
/* Per-product field visibility: `hidden` must always win over the layout
   display values above (trip toggle, fields, swap button). */
.lt-tsearch [hidden],
.lt-tsearch__field[hidden],
.lt-tsearch__trip[hidden],
.lt-tsearch__swap[hidden],
.lt-tsearch__addreturn[hidden] { display: none !important; }
.lt-tsearch__field label {
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--lt-text-muted, #5b6672);
}
.lt-tsearch__opt { text-transform: none; letter-spacing: 0; font-weight: 500; opacity: .75; }
.lt-tsearch__input {
	width: 100%;
	padding: .68rem .8rem;
	font-size: .95rem;
	border: 1px solid var(--lt-border, rgba(0,0,0,.14));
	border-radius: var(--lt-radius, 12px);
	background: var(--lt-surface, #fff);
	color: var(--lt-text, #17202a);
}
.lt-tsearch__input:focus {
	outline: none;
	border-color: var(--lt-primary, #f2a20c);
	box-shadow: 0 0 0 3px rgba(242,162,12,.22);
}
.lt-tsearch__swap {
	align-self: end;
	margin-bottom: .3rem;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	border: 1px solid var(--lt-border, rgba(0,0,0,.14));
	background: var(--lt-surface, #fff);
	cursor: pointer;
	font-size: 1rem;
	line-height: 1;
	color: var(--lt-text-muted, #5b6672);
}
.lt-tsearch__swap:hover { color: var(--lt-primary, #f2a20c); border-color: var(--lt-primary, #f2a20c); }
.lt-tsearch__submit { white-space: nowrap; padding-inline: 1.4rem; height: 2.65rem; }
.lt-tsearch__submit.is-busy { opacity: .7; pointer-events: none; }
.lt-tsearch__ac {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 40;
	margin: .25rem 0 0;
	padding: .25rem;
	list-style: none;
	background: var(--lt-surface, #fff);
	border: 1px solid var(--lt-border, rgba(0,0,0,.12));
	border-radius: var(--lt-radius, 12px);
	box-shadow: 0 12px 30px rgba(0,0,0,.16);
	max-height: 15rem;
	overflow-y: auto;
}
.lt-tsearch__ac li {
	padding: .5rem .6rem;
	border-radius: 8px;
	font-size: .92rem;
	cursor: pointer;
	color: var(--lt-text, #17202a);
}
.lt-tsearch__ac li:hover,
.lt-tsearch__ac li.is-active { background: var(--lt-surface-2, rgba(0,0,0,.06)); }
.lt-tsearch__addreturn { margin: .55rem 0 0; }
.lt-tsearch__addreturn button {
	border: 0;
	background: none;
	padding: 0;
	font-size: .85rem;
	font-weight: 600;
	color: var(--lt-primary-ink, #b8790a);
	cursor: pointer;
}
.lt-tsearch__error {
	margin: .6rem 0 0;
	font-size: .88rem;
	color: var(--lt-danger, #c0392b);
}
.lt-tsearch__result {
	margin-top: .7rem;
	padding: .6rem .75rem;
	border-radius: var(--lt-radius, 12px);
	background: var(--lt-surface-2, rgba(0,0,0,.05));
	font-size: .9rem;
}
.lt-tsearch__result-msg { margin: 0; }

/* Unified product search — mode tabs + result cards */
.lt-tsearch__modes {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	margin: 0 0 .7rem;
}
.lt-tsearch__mode {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid var(--lt-border, rgba(0,0,0,.12));
	background: var(--lt-surface, #fff);
	color: var(--lt-text, #17202a);
	border-radius: 999px;
	padding: .34rem .8rem;
	font: inherit;
	font-size: .84rem;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.lt-tsearch__mode:hover { border-color: var(--lt-primary, #f5a623); }
.lt-tsearch__mode.is-active {
	background: var(--lt-primary, #f5a623);
	border-color: var(--lt-primary, #f5a623);
	color: var(--lt-on-primary, #111);
	font-weight: 600;
}
@media (max-width: 640px) {
	.lt-tsearch__modes {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin-left: -.25rem;
		margin-right: -.25rem;
		padding: .1rem .25rem;
	}
	.lt-tsearch__modes::-webkit-scrollbar { display: none; }
	.lt-tsearch__mode { flex: 0 0 auto; white-space: nowrap; }
}
.lt-sresults {
	display: grid;
	gap: .55rem;
	background: var(--lt-surface, #fff);
	color: var(--lt-text-primary, #1c1a2e);
	border: 1px solid var(--lt-border-light, rgba(0,0,0,.06));
	border-radius: var(--lt-radius, 12px);
	padding: .8rem;
	box-shadow: 0 8px 24px -12px rgba(15, 12, 40, .25);
}
.lt-sresults__count {
	margin: 0;
	font-size: .82rem;
	font-weight: 600;
	color: var(--lt-text-secondary, #4c4866);
}
.lt-sresults--empty { text-align: left; }
.lt-sresults__empty-title { margin: 0; font-weight: 600; color: var(--lt-text-primary, #1c1a2e); }
.lt-sresults__empty-msg { margin: .15rem 0 .6rem; font-size: .88rem; color: var(--lt-text-secondary, #4c4866); }
.lt-sresult {
	display: flex;
	align-items: center;
	gap: .7rem;
	padding: .55rem .7rem;
	border: 1px solid var(--lt-border, rgba(0,0,0,.1));
	border-radius: var(--lt-radius, 12px);
	background: var(--lt-surface, #fff);
	color: var(--lt-text-primary, #1c1a2e);
	text-decoration: none;
	transition: border-color .15s ease, transform .15s ease;
}
.lt-sresult:hover {
	border-color: var(--lt-primary, #f5a623);
	transform: translateY(-1px);
}
.lt-sresult__img {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 10px;
	background: var(--lt-surface-2, rgba(0,0,0,.06)) center/cover no-repeat;
}
.lt-sresult__body { flex: 1 1 auto; min-width: 0; display: block; }
.lt-sresult__title {
	display: block;
	font-weight: 600;
	font-size: .93rem;
	line-height: 1.3;
	color: var(--lt-text-primary, #1c1a2e);
	overflow-wrap: anywhere;
}
.lt-sresult__line {
	display: block;
	font-size: .8rem;
	line-height: 1.35;
	color: var(--lt-text-secondary, #4c4866);
	overflow-wrap: anywhere;
}
.lt-sresult__price { flex: 0 0 auto; text-align: right; line-height: 1.25; color: var(--lt-text-primary, #1c1a2e); }
.lt-sresult__price strong { display: block; font-size: .95rem; }
.lt-sresult__price small { display: block; font-size: .72rem; color: var(--lt-text-muted, #6f6a8a); }
.lt-sresult__meta { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .35rem; }
.lt-sresult__chip {
	display: inline-block;
	padding: .1rem .45rem;
	border-radius: 999px;
	background: var(--lt-bg-alt, #f2f1f8);
	border: 1px solid var(--lt-border, #e4e2ee);
	font-size: .68rem;
	line-height: 1.5;
	color: var(--lt-text-secondary, #4c4866);
	overflow-wrap: anywhere;
}
.lt-tsearch__field[hidden] { display: none !important; }


.lt-usearch--secondary { margin-top: 1rem; }
.lt-usearch__toggle { margin: .7rem 0 0; text-align: center; }
.lt-usearch__toggle button {
	border: 0;
	background: none;
	font-size: .85rem;
	font-weight: 600;
	color: var(--lt-text-muted, #5b6672);
	cursor: pointer;
	text-decoration: underline;
}
@media (max-width: 900px) {
	.lt-tsearch__grid { grid-template-columns: 1fr 1fr; }
	.lt-tsearch__field--place { grid-column: 1 / -1; }
	.lt-tsearch__swap { position: absolute; right: 1.4rem; margin: 0; transform: translateY(-50%); display: none; }
	.lt-tsearch__field--go { grid-column: 1 / -1; }
	.lt-tsearch__submit { width: 100%; }
}

/* ---------------------------------------------------------------------------
 * Prepaid product booking (airport transfers, shared cabs, tours, rentals) —
 * share the route booking modal's form styling instead of falling back to
 * unstyled browser controls. (1.90.1)
 * ------------------------------------------------------------------------- */
.lt-offers__tabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--lt-bg-alt); border: 1px solid var(--lt-border); }
.lt-offers__tab { border: 0; background: none; padding: .55rem 1.25rem; min-height: 42px; border-radius: 999px; cursor: pointer; font: inherit; font-size: .92rem; font-weight: 500; color: var(--lt-text-secondary); transition: background .2s ease, color .2s ease; }
.lt-offers__tab.is-active { background: var(--lt-gradient-sunset, var(--lt-primary)); color: #fff; font-weight: 600; box-shadow: 0 6px 16px -10px rgba(0,0,0,.6); }
.lt-offers__toggle { margin-bottom: var(--lt-space-md); }

#lt-product-form label,
#lt-share-form label,
#lt-product-pay label,
#lt-share-pay label { display: block; margin-top: .85rem; font-size: .85rem; font-weight: 600; }

#lt-product-form input,
#lt-product-form select,
#lt-product-form textarea,
#lt-share-form input,
#lt-share-form select,
#lt-share-form textarea,
#lt-product-pay input,
#lt-share-pay input {
	width: 100%; margin-top: .3rem; min-height: 48px; padding: .65rem .8rem;
	border: 1.5px solid var(--lt-border); border-radius: 12px; font: inherit; font-weight: 400;
	background: var(--lt-bg); color: var(--lt-text);
}
#lt-product-form textarea, #lt-share-form textarea { min-height: 72px; }
#lt-product-form input:focus-visible,
#lt-product-form select:focus-visible,
#lt-product-form textarea:focus-visible,
#lt-share-form input:focus-visible,
#lt-share-form textarea:focus-visible { outline: 2px solid #6c5ce7; outline-offset: 1px; }

/* Checkboxes must not inherit the full-width input sizing. */
#lt-product-form .lt-offer-form__check,
#lt-share-form .lt-offer-form__check,
.lt-offer-form__check { display: flex; align-items: center; gap: 10px; margin-top: .9rem; font-size: .85rem; font-weight: 500; cursor: pointer; }
#lt-product-form .lt-offer-form__check input[type="checkbox"],
#lt-share-form .lt-offer-form__check input[type="checkbox"],
.lt-offer-form__check input[type="checkbox"] {
	width: 20px; min-width: 20px; height: 20px; min-height: 20px; margin: 0; flex: none; accent-color: var(--lt-primary, #6c5ce7);
}

.lt-offer-form__hint { margin: .5rem 0 0; font-size: .8rem; line-height: 1.5; color: var(--lt-text-secondary); }
.lt-offer-fare { margin-top: 1rem; padding-top: .8rem; border-top: 1px dashed var(--lt-border); font-size: .94rem; }
.lt-offer-fare__row { display: flex; justify-content: space-between; gap: 1rem; padding: 3px 0; }
.lt-offer-fare__row strong { font-weight: 700; }
.lt-offer-fare__note { margin: .35rem 0 0; font-size: .8rem; color: var(--lt-text-secondary); }

.lt-offer-fare__row.is-discount{color:#15803d;}
.lt-offers__item[hidden]{display:none !important;}

/* Shared-cab seat modal: the stepper and its input must keep their compact
   sizing inside #lt-share-form (the generic form rule would otherwise stretch
   the seats input full-width and 48px tall). (1.95.3) */
#lt-share-form .lt-share-seats { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 6px 0 12px; font-size: .85rem; font-weight: 600; }
#lt-share-form .lt-share-seats small { font-weight: 500; color: var(--lt-text-secondary); }
#lt-share-form .lt-share-seats__stepper { display: flex; align-items: stretch; border: 1.5px solid var(--lt-border, #d4d4d8); border-radius: 12px; overflow: hidden; }
#lt-share-form .lt-share-seats__stepper button { width: 44px; min-height: 48px; border: 0; background: var(--lt-bg-alt, #f4f4f5); font-size: 1.2rem; cursor: pointer; }
#lt-share-form .lt-share-seats__stepper input,
#lt-share-form .lt-share-seats__stepper input[type="number"] {
	width: 56px; min-height: 48px; margin: 0; padding: 0; border: 0; border-radius: 0;
	text-align: center; font-size: 1rem; font-weight: 700; background: var(--lt-bg); color: var(--lt-text);
	appearance: textfield; -moz-appearance: textfield;
}
#lt-share-form .lt-share-seats__stepper input::-webkit-outer-spin-button,
#lt-share-form .lt-share-seats__stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#lt-share-form .lt-share-seats__stepper input:focus-visible { outline: none; box-shadow: inset 0 0 0 2px #6c5ce7; }

/* Contact block + "Booking as" chip inside the seat modal. (1.95.3) */
#lt-share-form .lt-share-contact { border: 1.5px solid var(--lt-border); border-radius: 12px; padding: 2px 12px 12px; margin-top: .85rem; background: var(--lt-surface, transparent); }
#lt-share-form .lt-share-contact[hidden] { display: none; }
.lt-offer-modal__chip { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: .85rem 0 0; padding: .6rem .9rem; border: 1.5px solid var(--lt-border); border-radius: 12px; font-size: .85rem; background: var(--lt-bg-alt, transparent); }
.lt-offer-modal__chip button { border: 0; background: none; padding: 0; font: inherit; font-weight: 700; color: #6c5ce7; cursor: pointer; }

/* ============================================================
   Archive search & filters + shared product cards (v1.99.0)
   ============================================================ */
.lt-afilters{padding:var(--lt-space-lg) 0 0;}
.lt-afilters__form{background:var(--lt-bg-card,#fff);border:1px solid var(--lt-border,#e5e7eb);border-radius:var(--lt-radius-lg,14px);padding:var(--lt-space-lg);box-shadow:0 6px 24px rgba(15,23,42,.06);}
.lt-afilters__title{margin:0 0 var(--lt-space-md);font-size:1.05rem;color:var(--lt-text-primary,#111827);}
.lt-afilters__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--lt-space-md);}
.lt-afilters__field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.lt-afilters__label{font-size:.78rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--lt-text-muted,#6b7280);}
.lt-afilters__control{width:100%;box-sizing:border-box;padding:10px 12px;font-size:.95rem;color:var(--lt-text-primary,#111827);background:var(--lt-bg,#fff);border:1px solid var(--lt-border,#d1d5db);border-radius:var(--lt-radius,10px);}
.lt-afilters__control:focus{outline:none;border-color:var(--lt-primary,#f59e0b);box-shadow:0 0 0 3px rgba(245,158,11,.18);}
.lt-afilters__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--lt-space-sm);margin-top:var(--lt-space-md);}
.lt-afilters__count{font-size:.85rem;color:var(--lt-text-muted,#6b7280);margin-left:auto;}
@media (max-width:640px){.lt-afilters__count{margin-left:0;width:100%;}}

.lt-pcard{display:flex;flex-direction:column;height:100%;}
.lt-pcard .lt-card__body{display:flex;flex-direction:column;gap:var(--lt-space-sm);min-width:0;}
.lt-pcard .lt-card__title,.lt-pcard__sub,.lt-pcard .lt-route-card__point{overflow-wrap:anywhere;word-break:break-word;}
.lt-pcard__sub{margin:0;font-size:.85rem;color:var(--lt-text-muted,#6b7280);}
.lt-pcard__flag{display:inline-block;font-size:.78rem;color:var(--lt-text-muted,#6b7280);}
.lt-pcard__flag--live{color:var(--lt-success,#15803d);font-weight:600;}
.lt-pcard__cta{margin-top:auto;align-self:flex-start;}

/* v1.99.1 — policy note slab breakdown inside prepaid booking forms */
.lt-offer-form__policy-slabs{margin:.15rem 0 .2rem;padding-left:1.1rem;display:grid;gap:.1rem;color:var(--lt-text-secondary,#52525b);}
.lt-offer-form__policy a{color:var(--lt-primary,#c2410c);font-weight:600;}

/* Customer inline SVG icons — platform-independent account and trip UI. */
.lt-cx-icon{display:inline-block;width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.2em;stroke:currentColor;}
.lt-cx-section-heading,.lt-cx-status-heading,.lt-cx-icon-label,.lt-cx-statuspill{display:inline-flex;align-items:center;gap:7px;}
.lt-cx-status-icon{width:1em;height:1em;vertical-align:-.15em;}
.lt-cx-empty-icon{display:flex;justify-content:center;color:var(--lt-text-muted,#94a3b8);}
.lt-cx-empty-icon .lt-cx-icon{width:38px;height:38px;}
.lt-cx-success-icon .lt-cx-icon{width:34px;height:34px;color:var(--lt-success,#16a34a);}
.lt-cx-note>.lt-cx-icon,.lt-cx-note>.lt-cx-icon-label{margin-right:6px;}
