/* ============================================================
   BestBus.in — Shared Stylesheet
   Brand: Orange #f97316 + Teal #0d9488 + Amber #eab308
   Follows the design-prompts spec, inspired by TravelBook visual polish
============================================================ */

/* ---------- 1. TOKENS ---------- */
:root {
  --bb-primary: #f97316;
  --bb-primary-dark: #c2410c;
  --bb-primary-light: #fdba74;
  --bb-primary-soft: #fff7ed;

  --bb-secondary: #0d9488;
  --bb-secondary-dark: #134e4a;
  --bb-secondary-light: #5eead4;

  --bb-accent: #eab308;
  --bb-accent-soft: #fef9c3;

  --bb-dark: #0a1525;
  --bb-text: #1a202c;
  --bb-text-muted: #64748b;
  --bb-text-light: #94a3b8;
  --bb-bg: #f7f9fc;
  --bb-bg-alt: #f1f5f9;
  --bb-card: #ffffff;
  --bb-border: #e5e7eb;
  --bb-border-light: #f1f5f9;

  --bb-success: #10b981;
  --bb-warning: #f59e0b;
  --bb-danger: #ef4444;
  --bb-info: #0ea5e9;

  --bb-shadow-xs: 0 1px 3px rgba(10, 21, 37, .04);
  --bb-shadow-sm: 0 2px 8px rgba(10, 21, 37, .06);
  --bb-shadow:    0 4px 14px rgba(10, 21, 37, .08);
  --bb-shadow-md: 0 8px 22px rgba(10, 21, 37, .10);
  --bb-shadow-lg: 0 16px 36px rgba(10, 21, 37, .14);
  --bb-shadow-orange: 0 6px 18px rgba(249, 115, 22, .35);

  --bb-radius-sm: 8px;
  --bb-radius:    12px;
  --bb-radius-lg: 16px;
  --bb-radius-xl: 20px;
  --bb-radius-pill: 999px;

  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-6: 24px; --space-8: 32px; --space-12: 48px; --space-16: 64px;

  --container-max: 1200px;
  --header-h: 60px;

  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ---------- 2. BASE ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { overflow-x: clip; max-width: 100%; }
body {
  margin: 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: var(--bb-text);
  background: var(--bb-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
  font-weight: 700;
  line-height: 1.15;
  color: var(--bb-text);
  margin: 0 0 .5rem;
  letter-spacing: -0.015em;
}
a { color: inherit; text-decoration: none; transition: color .2s var(--ease); }
img { max-width: 100%; height: auto; display: block; }
ul { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }
::selection { background: var(--bb-primary); color: #fff; }

.container { max-width: var(--container-max); margin: 0 auto; padding: 0 20px; }
@media (min-width: 576px) { .container { padding: 0 24px; } }

.bb-section { padding: 60px 0; }
@media (max-width: 767px) { .bb-section { padding: 40px 0; } }

.bb-section-head { text-align: left; margin-bottom: 32px; }
.bb-section-head--center { text-align: center; }
.bb-eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--bb-primary);
  background: var(--bb-primary-soft);
  padding: 5px 12px;
  border-radius: var(--bb-radius-pill);
  margin-bottom: 12px;
}
.bb-section-title {
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 800;
  color: var(--bb-dark);
  margin-bottom: 6px;
}
.bb-section-divider {
  width: 56px; height: 4px;
  background: var(--bb-primary);
  border-radius: 2px;
  margin: 6px 0 12px;
}
.bb-section-head--center .bb-section-divider { margin-left: auto; margin-right: auto; }
.bb-section-sub {
  color: var(--bb-text-muted);
  font-size: 14.5px;
  margin: 0;
}
.bb-grad-text {
  background: linear-gradient(120deg, var(--bb-primary), var(--bb-accent));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* live dots */
.bb-live-dot {
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--bb-success);
}
.bb-live-dot--green { background: var(--bb-success); animation: liveG 1.8s ease-out infinite; }
.bb-live-dot--red { background: var(--bb-danger); animation: liveR 1.5s ease-out infinite; }
.bb-live-dot--amber { background: var(--bb-accent); animation: liveA 1.8s ease-out infinite; }
@keyframes liveG { 0%{box-shadow:0 0 0 0 rgba(16,185,129,.55);} 100%{box-shadow:0 0 0 10px rgba(16,185,129,0);} }
@keyframes liveR { 0%{box-shadow:0 0 0 0 rgba(239,68,68,.55);} 100%{box-shadow:0 0 0 10px rgba(239,68,68,0);} }
@keyframes liveA { 0%{box-shadow:0 0 0 0 rgba(234,179,8,.55);} 100%{box-shadow:0 0 0 10px rgba(234,179,8,0);} }

/* ---------- 3. TOP BAR ---------- */
.bb-topbar {
  background: var(--bb-dark);
  color: #cbd5e1;
  font-size: 12.5px;
  padding: 7px 0;
}
.bb-topbar-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.bb-topbar-left, .bb-topbar-right { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.bb-topbar a {
  color: #cbd5e1;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: color .15s var(--ease);
}
.bb-topbar a:hover { color: var(--bb-primary-light); }
.bb-topbar a i { color: var(--bb-primary); font-size: 11px; }
.bb-topbar-status { display: inline-flex; align-items: center; gap: 6px; color: #94a3b8; }
.bb-topbar-login { color: var(--bb-primary-light) !important; font-weight: 600; }
.bb-lang-pills { display: inline-flex; gap: 4px; }
.bb-pill {
  background: transparent;
  border: 1px solid #334155;
  color: #cbd5e1;
  padding: 2px 9px;
  border-radius: var(--bb-radius-pill);
  font-size: 11px;
  font-weight: 600;
  transition: all .15s var(--ease);
}
.bb-pill:hover, .bb-pill.is-active {
  background: var(--bb-primary);
  border-color: var(--bb-primary);
  color: #fff;
}

/* ---------- 4. HEADER / NAVBAR ---------- */
.bb-header {
  position: sticky; top: 0; z-index: 100;
  background: #fff;
  box-shadow: var(--bb-shadow-sm);
  transition: box-shadow .2s var(--ease), backdrop-filter .2s var(--ease);
}
.bb-header.is-scrolled {
  box-shadow: var(--bb-shadow-md);
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.bb-nav {
  display: flex; align-items: center; justify-content: space-between;
  height: var(--header-h);
  gap: 12px;
  transition: height .2s var(--ease);
  min-width: 0;
  flex-wrap: nowrap;
}
.bb-header.is-scrolled .bb-nav { height: 60px; }

.bb-logo { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; }
.bb-logo-mark {
  width: 40px; height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  box-shadow: var(--bb-shadow-orange);
}
.bb-logo-wm {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800; font-size: 22px;
  letter-spacing: -0.03em;
  color: var(--bb-primary);
}
.bb-logo-wm strong { color: var(--bb-secondary); font-weight: 800; }
.bb-logo-wm sup { font-size: 11px; color: var(--bb-text-muted); font-weight: 500; }

.bb-nav-list { display: flex; align-items: center; gap: 2px; flex: 1 1 auto; justify-content: center; min-width: 0; flex-wrap: nowrap; }
.bb-nav-link {
  position: relative;
  color: var(--bb-text);
  font-weight: 500;
  font-size: 13.5px;
  padding: 10px 8px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all .15s var(--ease);
  white-space: nowrap;
}
@media (min-width: 1200px) {
  .bb-nav-link { font-size: 14px; padding: 10px 10px; }
}
.bb-nav-link:hover { color: var(--bb-primary); background: var(--bb-primary-soft); }
.bb-nav-link.is-active { color: var(--bb-primary); background: var(--bb-primary-soft); }
.bb-nav-link.is-active::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 14px; right: 14px;
  height: 3px;
  background: linear-gradient(90deg, var(--bb-primary), var(--bb-accent));
  border-radius: 3px 3px 0 0;
}
.bb-nav-link i { font-size: 9px; opacity: .65; }

/* mega */
.bb-has-mega { position: relative; }
.bb-mega {
  position: absolute;
  top: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  box-shadow: var(--bb-shadow-lg);
  padding: 22px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all .2s var(--ease);
  z-index: 105;
}
.bb-mega--4col {
  display: grid;
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  gap: 24px;
  width: min(1080px, calc(100vw - 40px));
}
.bb-mega--2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  width: min(540px, calc(100vw - 40px));
}
.bb-mega--simple {
  min-width: 240px;
  padding: 10px;
  display: flex; flex-direction: column; gap: 2px;
}
.bb-has-mega:hover .bb-mega,
.bb-has-mega:focus-within .bb-mega {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.bb-mega-col h6 {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: var(--bb-secondary);
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--bb-secondary-light);
}
.bb-mega-col a {
  display: block;
  font-size: 13px;
  color: var(--bb-text);
  padding: 6px 0;
  border-bottom: 1px dashed var(--bb-border-light);
  transition: all .15s var(--ease);
}
.bb-mega-col a:last-child { border-bottom: 0; }
.bb-mega-col a:hover { color: var(--bb-primary); padding-left: 4px; }
.bb-mega-all { color: var(--bb-primary) !important; font-weight: 700 !important; }

.bb-mega--simple a {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 14px;
  color: var(--bb-text);
  border: 0 !important;
}
.bb-mega--simple a:hover { background: var(--bb-bg); color: var(--bb-primary); padding-left: 12px; }
.bb-mega--simple a i { color: var(--bb-primary); width: 16px; }

.bb-nav-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.bb-phone-cta {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 7px 14px 7px 12px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  box-shadow: var(--bb-shadow-orange);
  transition: all .2s var(--ease);
}
.bb-phone-cta:hover { transform: translateY(-2px); color: #fff; }
.bb-phone-cta i { font-size: 16px; }
.bb-phone-cta small { display: block; font-size: 10px; opacity: .85; text-transform: uppercase; letter-spacing: 0.5px; }
.bb-phone-cta strong { display: block; font-size: 14px; font-weight: 800; }

.bb-hamburger {
  width: 42px; height: 42px;
  border-radius: 10px;
  background: var(--bb-bg);
  border: 1px solid var(--bb-border);
  display: inline-flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 4px;
}
.bb-hamburger span {
  display: block; width: 20px; height: 2px;
  background: var(--bb-text); border-radius: 1px;
  transition: transform .2s var(--ease);
}

/* ---------- 5. HERO ---------- */
.bb-hero {
  position: relative;
  padding: 50px 0 0;
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(13, 148, 136, 0.12), transparent),
    radial-gradient(900px 500px at 10% 110%, rgba(249, 115, 22, 0.12), transparent),
    linear-gradient(180deg, #fff7ed 0%, #fef3c7 60%, var(--bb-bg) 100%);
  overflow: hidden;
}
.bb-hero-bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.bb-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.45;
  animation: blobFloat 12s ease-in-out infinite;
}
.bb-blob-1 { width: 280px; height: 280px; background: var(--bb-primary-light); top: -80px; right: 8%; }
.bb-blob-2 { width: 240px; height: 240px; background: var(--bb-secondary-light); bottom: 5%; left: 5%; animation-delay: -4s; }
.bb-blob-3 { width: 200px; height: 200px; background: #fde047; top: 30%; left: 45%; animation-delay: -8s; }
@keyframes blobFloat {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(20px, -25px) scale(1.06); }
}
.bb-hero-inner { position: relative; z-index: 2; }

.bb-hero-copy { color: var(--bb-text); }
.bb-hero-kicker {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 14px;
  background: rgba(255, 255, 255, .7);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(234, 179, 8, .25);
  color: var(--bb-text);
  border-radius: var(--bb-radius-pill);
  font-size: 12.5px;
  font-weight: 600;
  margin-bottom: 18px;
}
.bb-hero-h1 {
  font-size: clamp(32px, 4.5vw, 48px);
  font-weight: 800;
  line-height: 1.08;
  margin-bottom: 14px;
}
.bb-hero-sub {
  font-size: 16px;
  color: var(--bb-text-muted);
  margin-bottom: 22px;
  max-width: 500px;
}
.bb-hero-meta {
  display: flex; gap: 24px; flex-wrap: wrap;
  padding-top: 18px;
  border-top: 1px solid rgba(10, 21, 37, .08);
}
.bb-hero-meta > div { display: flex; flex-direction: column; gap: 2px; }
.bb-hero-meta strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--bb-dark);
  line-height: 1.1;
}
.bb-hero-meta span {
  font-size: 11.5px;
  color: var(--bb-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.7px;
  font-weight: 500;
}

/* ---------- 6. SEARCH CARD (glassmorphic) ---------- */
.bb-search-card {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: var(--bb-radius-xl);
  padding: 22px;
  box-shadow: var(--bb-shadow-lg);
  position: relative;
}
.bb-search-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--bb-dark);
  color: var(--bb-accent);
  padding: 6px 14px;
  border-radius: var(--bb-radius-pill);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.bb-search-tag i { color: var(--bb-primary); }

.bb-search-row {
  display: grid;
  grid-template-columns: 1fr 40px 1fr 1.1fr;
  gap: 10px;
  align-items: stretch;
}
@media (max-width: 991px) {
  .bb-search-row { grid-template-columns: 1fr; gap: 10px; }
}

.bb-field {
  background: #fff;
  border: 1.5px solid var(--bb-border);
  border-radius: var(--bb-radius);
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  cursor: pointer;
  transition: all .15s var(--ease);
  min-height: 76px;
}
.bb-field:hover { border-color: var(--bb-primary); background: #fff; }
.bb-field:focus-within { border-color: var(--bb-primary); box-shadow: 0 0 0 4px rgba(249, 115, 22, .12); }
.bb-field-label {
  display: flex; align-items: center; gap: 5px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--bb-text-muted);
}
.bb-field-label i { color: var(--bb-primary); font-size: 11px; }
.bb-field-input {
  border: 0;
  background: transparent;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: var(--bb-dark);
  padding: 0;
  outline: none;
  cursor: pointer;
  width: 100%;
}
.bb-field-input::placeholder { color: var(--bb-text-light); font-weight: 500; }
.bb-field-hint { font-size: 11px; color: var(--bb-text-light); }

.bb-field-date { display: flex; flex-direction: column; }
.bb-field-date strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: 26px;
  line-height: 1;
  color: var(--bb-dark);
}
.bb-field-date > div > div { display: flex; flex-direction: column; }
.bb-field-date span { font-weight: 700; font-size: 14px; color: var(--bb-dark); }
.bb-field-date small { font-size: 11px; color: var(--bb-text-muted); }

.bb-swap {
  align-self: center;
  width: 42px; height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  border: 3px solid #fff;
  box-shadow: var(--bb-shadow);
  font-size: 14px;
  transition: transform .35s var(--ease-bounce);
}
.bb-swap:hover { transform: rotate(180deg); }
@media (max-width: 991px) {
  .bb-swap { margin: -4px auto; }
}

.bb-search-actions {
  display: flex; align-items: center; gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed var(--bb-border);
  flex-wrap: wrap;
}
.bb-quick-chips { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.bb-qc-label {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.6px;
  color: var(--bb-text-muted);
}
.bb-qc {
  background: #fff;
  border: 1px solid var(--bb-border);
  color: var(--bb-text);
  padding: 6px 13px;
  border-radius: var(--bb-radius-pill);
  font-size: 12.5px;
  font-weight: 600;
  transition: all .15s var(--ease);
}
.bb-qc:hover { border-color: var(--bb-primary); color: var(--bb-primary); }
.bb-qc.is-active {
  background: var(--bb-dark);
  border-color: var(--bb-dark);
  color: var(--bb-accent);
}

.bb-search-submit {
  margin-left: auto;
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  border: 0;
  padding: 12px 28px;
  border-radius: var(--bb-radius);
  font-weight: 700;
  font-size: 15px;
  box-shadow: var(--bb-shadow-orange);
  transition: all .2s var(--ease);
}
.bb-search-submit:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(249, 115, 22, .45); }
@media (max-width: 575px) { .bb-search-submit { width: 100%; justify-content: center; margin-left: 0; } }

/* Route quick chips below search */
.bb-route-chips {
  display: flex; gap: 6px; flex-wrap: wrap;
  margin-top: 14px;
}
.bb-route-chip {
  background: rgba(255, 255, 255, .85);
  border: 1px solid var(--bb-border-light);
  color: var(--bb-text);
  padding: 6px 12px;
  border-radius: var(--bb-radius-pill);
  font-size: 12px;
  font-weight: 600;
  transition: all .15s var(--ease);
}
.bb-route-chip:hover {
  background: var(--bb-primary);
  border-color: var(--bb-primary);
  color: #fff;
  transform: translateY(-2px);
}

/* Live booking strip below hero */
.bb-live-strip {
  position: relative;
  z-index: 2;
  margin-top: 30px;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: var(--container-max);
  margin-left: auto; margin-right: auto;
  padding: 10px 18px;
  background: rgba(255, 255, 255, .85);
  backdrop-filter: blur(8px);
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  font-size: 13px;
  color: var(--bb-text);
  box-shadow: var(--bb-shadow-sm);
  margin-inline: 16px;
}
@media (min-width: 992px) { .bb-live-strip { margin-inline: 24px; } }
.bb-live-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--bb-dark);
  color: #fff;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.4px;
  flex-shrink: 0;
}
#bbLiveText { transition: opacity .25s var(--ease); flex: 1; min-width: 0; }

/* Trust Bar */
.bb-trust-bar {
  position: relative; z-index: 2;
  margin-top: 30px;
  padding: 24px 0;
  background: rgba(255, 255, 255, .75);
  backdrop-filter: blur(8px);
  border-top: 1px solid rgba(255, 255, 255, .8);
  border-bottom: 1px solid var(--bb-border-light);
}
.bb-trust-item { display: flex; align-items: center; gap: 10px; }
.bb-trust-item > i {
  width: 42px; height: 42px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-accent));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.bb-trust-item strong { display: block; font-size: 14px; color: var(--bb-text); font-weight: 700; }
.bb-trust-item span { display: block; font-size: 12px; color: var(--bb-text-muted); }

/* ---------- 7. QUICK CATEGORIES — Owl Carousel ---------- */
.bb-quick-cats {
  padding: 22px 0 24px;
  background: #f0f2f5;
  border-top: 1px solid #e2e5ea;
  border-bottom: 1px solid #e2e5ea;
  position: relative;
  overflow: hidden;
}
/* Right-edge gradient fade — scroll hint */
.bb-quick-cats::after {
  content: '';
  position: absolute;
  right: 0; top: 0; bottom: 0;
  width: 52px;
  background: linear-gradient(to right, transparent, #f0f2f5 78%);
  pointer-events: none;
  z-index: 6;
}
@media (min-width: 992px) { .bb-quick-cats::after { display: none; } }

/* Section header row — above gradient fade */
.bb-qc-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 2px;
  margin-bottom: 14px;
  position: relative;
  z-index: 8;
}
.bb-qc-head-title {
  font-size: 15px; font-weight: 700;
  color: var(--bb-dark);
  letter-spacing: -.2px;
}
.bb-qc-head-swipe {
  display: flex; align-items: center; gap: 5px;
  font-size: 12px; font-weight: 600;
  color: var(--bb-primary);
  animation: bbSwipeHint 1.4s ease-in-out infinite alternate;
}
.bb-qc-head-swipe i { font-size: 13px; }
@keyframes bbSwipeHint {
  from { transform: translateX(0); opacity: .7; }
  to   { transform: translateX(5px); opacity: 1; }
}

/* Owl wrapper padding */
.bb-qc-owl { padding: 4px 0 10px; }

/* Tile card — colorful gradient style */
.bb-qc-tile {
  display: flex; flex-direction: column; align-items: center; gap: 9px;
  background: linear-gradient(145deg, var(--c), color-mix(in srgb, var(--c) 72%, #000 28%));
  border: none;
  border-radius: 20px;
  padding: 20px 8px 16px;
  text-align: center;
  color: #fff;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition: transform .22s var(--ease), box-shadow .22s;
  cursor: pointer;
  box-shadow: 0 5px 16px color-mix(in srgb, var(--c) 35%, transparent);
}
.bb-qc-tile > span:first-child {
  width: 58px; height: 58px;
  border-radius: 16px;
  background: rgba(255,255,255,.22);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  transition: transform .22s var(--ease), background .22s;
}
.bb-qc-tile > span:last-child { color: rgba(255,255,255,.95); }
.bb-qc-tile:hover, .bb-qc-tile:active {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--c) 50%, transparent);
}
.bb-qc-tile:hover > span:first-child {
  transform: scale(1.1);
  background: rgba(255,255,255,.32);
}

/* ---------- 8. BANNER CAROUSEL ---------- */
.bb-banners { padding: 32px 0; }
.bb-banners .carousel { border-radius: var(--bb-radius-lg); overflow: hidden; box-shadow: var(--bb-shadow); }
.bb-banner-slide {
  display: flex; align-items: center; justify-content: space-between;
  padding: 32px 40px;
  color: #fff;
  text-decoration: none;
  min-height: 220px;
  position: relative;
}
@media (max-width: 767px) { .bb-banner-slide { padding: 24px; min-height: 180px; } }
.bb-banner-text { max-width: 65%; position: relative; z-index: 2; }
.bb-banner-tag {
  display: inline-block;
  background: rgba(255, 255, 255, .2);
  padding: 5px 12px;
  border-radius: var(--bb-radius-pill);
  font-size: 11.5px;
  font-weight: 700;
  margin-bottom: 10px;
}
.bb-banner-text h3 { color: #fff; font-size: clamp(22px, 3vw, 30px); margin-bottom: 6px; font-weight: 800; }
.bb-banner-text p { margin: 0 0 14px; opacity: .92; font-size: 14px; }
.bb-banner-text p strong { background: rgba(255, 255, 255, .2); padding: 1px 8px; border-radius: 4px; }
.bb-banner-cta {
  display: inline-flex; align-items: center; gap: 6px;
  background: #fff;
  color: var(--bb-primary-dark);
  padding: 8px 18px;
  border-radius: var(--bb-radius-pill);
  font-weight: 700;
  font-size: 13px;
  transition: all .2s var(--ease);
}
.bb-banner-slide:hover .bb-banner-cta { background: var(--bb-accent); color: var(--bb-dark); }
.bb-banner-emoji {
  font-size: clamp(70px, 9vw, 110px);
  opacity: 0.85;
  filter: drop-shadow(0 6px 20px rgba(0, 0, 0, .25));
}
/* Banner carousel — indicators only, no arrows */
.bb-banners .carousel-indicators { bottom: 14px; margin: 0; }
.bb-banners .carousel-indicators [data-bs-slide-to] {
  width: 22px; height: 4px; border-radius: 2px;
  background: rgba(255,255,255,.45); border: none;
  transition: width .25s, background .25s;
}
.bb-banners .carousel-indicators .active { background: #fff; width: 32px; }

/* ---------- 9. PARTNERS ---------- */
.bb-partners { padding: 48px 0; }
/* Infinite auto-scrolling partner logo marquee */
.bb-partners-marquee {
  position: relative; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.bb-partners-track {
  display: flex; width: max-content; padding: 10px 0;
  animation: bbPartnersScroll 34s linear infinite;
}
.bb-partners-marquee:hover .bb-partners-track { animation-play-state: paused; }
@keyframes bbPartnersScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.bb-partner-chip {
  flex-shrink: 0;
  display: flex; align-items: center; gap: 11px;
  margin-right: 14px;
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  padding: 13px 22px;
  box-shadow: var(--bb-shadow-xs);
  transition: transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.bb-partner-chip img {
  height: 60px; width: auto; display: block;
  filter: grayscale(1); opacity: .68;
  transition: filter .3s var(--ease), opacity .3s var(--ease);
}
.bb-partner-chip:hover {
  transform: translateY(-4px);
  border-color: var(--bb-primary);
  box-shadow: var(--bb-shadow-md);
}
.bb-partner-chip:hover img { filter: grayscale(0); opacity: 1; }
/* touch devices have no hover — keep logos full-colour */
@media (hover: none) {
  .bb-partner-chip img { filter: none; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .bb-partners-track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; }
  .bb-partners-marquee { -webkit-mask-image: none; mask-image: none; }
}

/* ---------- 10. TOUR CATEGORY CARDS ---------- */
.bb-tour-cats { background: #fff; }
.bb-tour-card {
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  box-shadow: var(--bb-shadow-sm);
  transition: all .25s var(--ease);
  color: inherit;
  height: 100%;
}
.bb-tour-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--bb-shadow-md);
  border-color: rgba(249, 115, 22, .25);
}
.bb-tour-img {
  position: relative;
  height: 180px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
}
.bb-tour-img img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s var(--ease);
}
.bb-tour-card:hover .bb-tour-img img { transform: scale(1.06); }
/* Optional emoji badge (small overlay corner) */
.bb-tour-emoji {
  position: relative; z-index: 2;
  font-size: 70px;
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, .35));
  transition: transform .4s var(--ease);
}
.bb-tour-card:hover .bb-tour-emoji { transform: scale(1.08) rotate(-3deg); }
.bb-tour-badge {
  position: absolute;
  top: 12px; left: 12px;
  background: #fff;
  color: var(--bb-primary-dark);
  padding: 4px 10px;
  border-radius: var(--bb-radius-pill);
  font-size: 11px;
  font-weight: 700;
  box-shadow: var(--bb-shadow-sm);
}
.bb-tour-body {
  padding: 16px 18px 18px;
  display: flex; flex-direction: column;
  gap: 10px; flex: 1;
}
.bb-tour-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--bb-dark);
  margin: 0;
}
.bb-tour-stats {
  display: flex; justify-content: space-between;
  font-size: 12.5px;
  color: var(--bb-text-muted);
  padding: 10px 0;
  border-top: 1px dashed var(--bb-border-light);
  border-bottom: 1px dashed var(--bb-border-light);
}
.bb-tour-stats span { display: inline-flex; align-items: center; gap: 5px; }
.bb-tour-stats i { color: var(--bb-primary); }
.bb-tour-foot {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: auto;
}
.bb-tour-foot small { display: block; font-size: 10.5px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
.bb-tour-foot strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--bb-primary);
}
.bb-tour-cta {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px;
  font-weight: 700;
  color: var(--bb-primary);
  transition: gap .2s var(--ease);
}
.bb-tour-card:hover .bb-tour-cta { gap: 9px; }

/* ---------- 11. POPULAR ROUTE CARDS (3 color-coded) ---------- */
.bb-route-card {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  box-shadow: var(--bb-shadow-sm);
  height: 100%;
  transition: all .25s var(--ease);
}
.bb-route-card:hover { transform: translateY(-4px); box-shadow: var(--bb-shadow-md); }
.bb-route-head {
  padding: 18px 22px;
  color: #fff;
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.bb-route-card--saffron .bb-route-head { background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark)); }
.bb-route-card--teal    .bb-route-head { background: linear-gradient(135deg, var(--bb-secondary), var(--bb-secondary-dark)); }
.bb-route-card--emerald .bb-route-head { background: linear-gradient(135deg, #10b981, #047857); }
.bb-route-head-l { display: flex; align-items: center; gap: 12px; }
.bb-route-head-l > i {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}
.bb-route-head-l strong { display: block; font-size: 18px; font-weight: 800; color: #fff; font-family: 'Plus Jakarta Sans', sans-serif; }
.bb-route-head-l span { display: block; font-size: 12px; opacity: .85; }
.bb-route-pill {
  background: rgba(255, 255, 255, .2);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .3);
  padding: 4px 10px;
  border-radius: var(--bb-radius-pill);
  font-size: 11.5px;
  font-weight: 700;
}
.bb-route-body { padding: 14px 22px; }
.bb-route-subhead {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--bb-text-muted);
  margin: 12px 0 4px;
  padding-top: 6px;
}
.bb-route-body > .bb-route-subhead:first-child { margin-top: 0; padding-top: 0; }
.bb-route-list li a {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 0;
  font-size: 13px;
  color: var(--bb-text);
  border-bottom: 1px dashed var(--bb-border-light);
  transition: color .15s var(--ease);
}
.bb-route-list li a::before {
  content: "\f207";
  font-family: "Font Awesome 6 Free"; font-weight: 900;
  flex-shrink: 0;
  width: 27px; height: 27px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px;
  background: var(--bb-primary-soft); color: var(--bb-primary);
  transition: transform .2s var(--ease-bounce), background .2s var(--ease), color .2s var(--ease);
}
.bb-route-card--teal .bb-route-list li a::before { background: #d9f2ec; color: var(--bb-secondary-dark); }
.bb-route-card--emerald .bb-route-list li a::before { background: #d1fae5; color: #047857; }
.bb-route-list li a:hover::before { transform: scale(1.08) rotate(-5deg); }
.bb-route-list li:last-child a { border-bottom: 0; }
.bb-route-list li a:hover { color: var(--bb-primary); }

/* ---------- 12. OPERATOR CARDS ---------- */
.bb-op-card {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  box-shadow: var(--bb-shadow-sm);
  height: 100%;
  transition: all .25s var(--ease);
}
.bb-op-card:hover { transform: translateY(-4px); box-shadow: var(--bb-shadow-md); }
.bb-op-head {
  background: linear-gradient(135deg, var(--bb-secondary), var(--bb-secondary-dark));
  color: #fff;
  padding: 14px 22px;
  font-weight: 700;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.bb-op-card ul { padding: 8px 22px 18px; }
.bb-op-card li {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0;
  border-bottom: 1px dashed var(--bb-border-light);
}
.bb-op-card li:last-child { border-bottom: 0; }
.bb-op-card li a {
  color: var(--bb-text);
  font-size: 14px;
  font-weight: 500;
  transition: color .15s var(--ease);
}
.bb-op-card li a:hover { color: var(--bb-primary); }
.bb-op-rating {
  font-size: 11.5px;
  font-weight: 700;
  background: var(--bb-accent-soft);
  color: #92400e;
  padding: 3px 9px;
  border-radius: var(--bb-radius-pill);
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.bb-op-rating i { color: #f59e0b; font-size: 10px; }

/* ---------- 13. WHY BESTBUS TABS ---------- */
.bb-why-card {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  box-shadow: var(--bb-shadow-sm);
}
.bb-why-tabs {
  display: flex;
  padding: 14px 20px;
  gap: 8px;
  background: var(--bb-bg);
  border-bottom: 1px solid var(--bb-border-light);
  overflow-x: auto;
  flex-wrap: nowrap;
}
.bb-why-tabs .nav-link {
  background: transparent;
  border: 1px solid transparent;
  color: var(--bb-text-muted);
  font-weight: 600;
  font-size: 13.5px;
  padding: 8px 16px;
  border-radius: var(--bb-radius-pill);
  white-space: nowrap;
}
.bb-why-tabs .nav-link:hover { color: var(--bb-primary); background: var(--bb-primary-soft); }
.bb-why-tabs .nav-link.active {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  box-shadow: var(--bb-shadow-orange);
}
.bb-why-body { padding: 32px; }
.bb-why-body h4 { font-size: clamp(20px, 2.2vw, 26px); margin-bottom: 8px; color: var(--bb-dark); }
.bb-why-body p { color: var(--bb-text-muted); font-size: 14.5px; line-height: 1.6; margin-bottom: 12px; }
.bb-why-list li {
  padding: 5px 0;
  display: flex; align-items: center; gap: 8px;
  font-size: 14px;
  color: var(--bb-text);
}
.bb-why-list i { color: var(--bb-success); }
.bb-why-emoji { font-size: 100px; line-height: 1; filter: drop-shadow(0 6px 16px rgba(0, 0, 0, .15)); }

/* ---------- 14. TRENDING ACCORDION ---------- */
.bb-trend-card {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  box-shadow: var(--bb-shadow-sm);
  height: 100%;
  transition: all .25s var(--ease);
}
.bb-trend-card:hover { transform: translateY(-4px); box-shadow: var(--bb-shadow-md); }
.bb-trend-head {
  width: 100%;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  border: 0;
  padding: 18px 22px;
  text-align: left;
  display: flex; flex-direction: column; gap: 3px;
  position: relative;
  cursor: pointer;
}
.bb-trend-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 17px;
  font-weight: 800;
}
.bb-trend-count { font-size: 12px; opacity: .92; }
.bb-trend-head > i {
  position: absolute;
  top: 50%; right: 22px;
  transform: translateY(-50%);
  transition: transform .25s var(--ease);
  font-size: 13px;
}
.bb-trend-head[aria-expanded="true"] > i { transform: translateY(-50%) rotate(180deg); }
.bb-trend-head::before {
  content: "\f4d7";
  font-family: "Font Awesome 6 Free"; font-weight: 900;
  position: absolute; right: 52px; top: 50%; transform: translateY(-50%);
  font-size: 40px; color: #fff; opacity: .13; pointer-events: none;
}
.bb-trend-body { padding: 16px 22px; }
.bb-trend-group { margin-bottom: 14px; }
.bb-trend-group:last-child { margin-bottom: 0; }
.bb-trend-group h6 {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--bb-secondary);
  margin-bottom: 6px;
  padding-bottom: 4px;
  border-bottom: 2px solid var(--bb-secondary-light);
}
.bb-trend-pkg {
  display: flex; align-items: center; gap: 11px;
  padding: 9px 0;
  border-bottom: 1px dashed var(--bb-border-light);
  font-size: 13px;
  color: var(--bb-text);
  transition: color .15s var(--ease);
}
.bb-trend-pkg > span { flex: 1; min-width: 0; line-height: 1.35; }
.bb-trend-pkg:last-child { border-bottom: 0; }
.bb-trend-pkg:hover { color: var(--bb-primary); }
/* contextual travel-mode icon, auto-picked from the package URL (CSS only) */
.bb-trend-pkg::before {
  content: "\f4d7";
  font-family: "Font Awesome 6 Free"; font-weight: 900;
  flex-shrink: 0;
  width: 30px; height: 30px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px;
  background: var(--bb-primary-soft); color: var(--bb-primary);
  transition: transform .2s var(--ease-bounce), background .2s var(--ease), color .2s var(--ease);
}
.bb-trend-pkg:hover::before { transform: scale(1.08) rotate(-5deg); }
.bb-trend-pkg[href*="-by-bus"]::before { content: "\f207"; }
.bb-trend-pkg[href*="-by-train"]::before,
.bb-trend-pkg[href*="train-package"]::before { content: "\f238"; background: #d9f2ec; color: var(--bb-secondary); }
.bb-trend-pkg[href*="-by-flight"]::before,
.bb-trend-pkg[href*="-by-air"]::before { content: "\f072"; background: #e0f2fe; color: var(--bb-info); }
.bb-trend-pkg[href*="-by-car"]::before,
.bb-trend-pkg[href*="-by-cab"]::before { content: "\f1b9"; background: var(--bb-accent-soft); color: #a16207; }
.bb-trend-pkg em {
  font-style: normal;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: 12.5px;
  background: var(--bb-primary-soft);
  color: var(--bb-primary-dark);
  padding: 3px 11px;
  border-radius: var(--bb-radius-pill);
  flex-shrink: 0;
}

/* ---------- 15. FOOTER ---------- */
.bb-footer { background: #fff; margin-top: 0; }

/* Tier 1 Stats */
.bb-foot-stats {
  background: linear-gradient(135deg, var(--bb-secondary), var(--bb-secondary-dark));
  color: #fff;
  padding: 36px 0;
}
.bb-foot-stat { display: flex; flex-direction: column; gap: 6px; }
.bb-foot-stat-ico {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .15);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 4px;
}
.bb-foot-stat-num {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
  color: #fff;
}
.bb-foot-stat p { font-size: 13px; opacity: .92; line-height: 1.5; margin: 0; }

/* Tier 2 Links */
.bb-foot-links {
  background: #fff;
  padding: 40px 0 20px;
  border-top: 1px solid var(--bb-border-light);
}
.bb-foot-col-title {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: var(--bb-primary-dark);
  border-bottom: 2px solid var(--bb-primary);
  padding-bottom: 8px;
  margin-bottom: 10px;
}
.bb-foot-links ul li a {
  display: block;
  font-size: 12.5px;
  color: var(--bb-text);
  padding: 6px 0;
  border-bottom: 1px dashed var(--bb-border-light);
  transition: all .15s var(--ease);
}
.bb-foot-links ul li:last-child a { border-bottom: 0; }
.bb-foot-links ul li a:hover { color: var(--bb-primary); padding-left: 4px; }

/* Tier 3 Bottom */
.bb-foot-bottom {
  background: var(--bb-dark);
  color: #cbd5e1;
  padding: 22px 0;
}
.bb-foot-quicklinks { font-size: 12px; text-align: center; line-height: 2; }
.bb-foot-quicklinks a { color: #cbd5e1; padding: 0 6px; }
.bb-foot-quicklinks a:hover { color: var(--bb-primary-light); }

.bb-foot-pay { display: flex; gap: 8px; flex-wrap: wrap; }
.bb-pay-pill {
  background: #fff;
  color: var(--bb-text);
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: var(--bb-radius-pill);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}
.bb-pay-pill:hover { color: var(--bb-primary-dark); }
.bb-foot-copy { font-size: 13px; color: #cbd5e1; }
.bb-foot-social { display: flex; gap: 8px; justify-content: flex-end; }
.bb-foot-social a {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all .2s var(--ease);
}
.bb-foot-social a:hover { background: var(--bb-primary); transform: translateY(-3px); color: #fff; }
@media (max-width: 767px) { .bb-foot-social { justify-content: center; } }

/* ---------- BACK TO TOP ---------- */
.bb-totop {
  position: fixed;
  right: 20px; bottom: 150px;
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--bb-dark);
  color: var(--bb-accent);
  border: 0;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px;
  box-shadow: var(--bb-shadow-md);
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: all .25s var(--ease);
  z-index: 95;
}
.bb-totop.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.bb-totop:hover { background: var(--bb-primary); color: #fff; }
@media (min-width: 992px) { .bb-totop { bottom: 92px; } }

/* ---------- FLOATING WHATSAPP ---------- */
.bb-wa-float {
  position: fixed;
  right: 20px; bottom: 84px;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 26px;
  box-shadow: 0 10px 30px rgba(37, 211, 102, .45);
  z-index: 95;
  transition: transform .25s var(--ease-bounce);
}
.bb-wa-float:hover { transform: scale(1.1) rotate(-5deg); color: #fff; }
@media (min-width: 992px) { .bb-wa-float { bottom: 30px; } }
.bb-wa-pulse {
  position: absolute; inset: 0;
  border-radius: 50%;
  border: 3px solid #25d366;
  animation: waPulse 2s infinite;
}
@keyframes waPulse {
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(1.6); opacity: 0; }
}

/* ---------- MOBILE BOTTOM NAV ---------- */
.bb-mobnav {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: #fff;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  padding: 6px 0;
  box-shadow: 0 -4px 18px rgba(0, 0, 0, .08);
  z-index: 90;
}
.bb-mobnav-item {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 3px;
  padding: 8px 4px;
  background: transparent;
  border: 0;
  text-decoration: none;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--bb-text-muted);
}
.bb-mobnav-item i { font-size: 18px; }
.bb-mobnav-item.is-active, .bb-mobnav-item:hover { color: var(--bb-primary); }
.bb-mobnav-center {
  position: relative;
  padding-top: 26px !important;
  color: var(--bb-primary);
}
.bb-mobnav-circle {
  position: absolute;
  top: -20px; left: 50%;
  transform: translateX(-50%);
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  border: 4px solid #fff;
  box-shadow: var(--bb-shadow-orange);
}
.bb-mobnav-circle i { font-size: 18px !important; }
/* Mobile nav spacer — keeps content visible above fixed nav */
@media (max-width: 991px) {
  body { padding-bottom: 0; }               /* no extra body-bg strip */
  .bb-foot-bottom {
    padding-bottom: calc(22px + 72px);      /* 22px normal + 72px mobnav height */
  }
  /* Pages without a footer: add scroll clearance via last section */
  .bb-section:last-of-type,
  section:last-of-type {
    scroll-padding-bottom: 72px;
  }
}

/* ---------- DRAWER ---------- */
.bb-overlay {
  position: fixed; inset: 0;
  background: rgba(10, 21, 37, .55);
  z-index: 200;
  opacity: 0; visibility: hidden;
  transition: all .25s var(--ease);
}
.bb-overlay.is-open { opacity: 1; visibility: visible; }
.bb-drawer {
  position: fixed; top: 0; left: 0; bottom: 0;
  width: min(92vw, 360px);
  background: #fff;
  z-index: 201;
  transform: translateX(-100%);
  transition: transform .35s var(--ease);
  overflow-y: auto;
  box-shadow: var(--bb-shadow-lg);
}
.bb-drawer.is-open { transform: translateX(0); }
.bb-drawer-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid var(--bb-border-light);
}
.bb-drawer-x {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--bb-bg);
  color: var(--bb-text);
  border: 0;
}
.bb-drawer-user {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 20px;
  background: linear-gradient(135deg, var(--bb-primary-soft), #fff);
  border-bottom: 1px solid var(--bb-border-light);
}
.bb-drawer-avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.bb-drawer-user strong { display: block; font-size: 14px; color: var(--bb-dark); }
.bb-drawer-login-link { font-size: 12.5px; color: var(--bb-primary); font-weight: 600; }
.bb-drawer-mb {
  background: #fff;
  border: 1.5px solid var(--bb-primary);
  color: var(--bb-primary);
  font-size: 11.5px;
  font-weight: 700;
  padding: 5px 11px;
  border-radius: var(--bb-radius-pill);
  text-decoration: none;
  white-space: nowrap;
}
.bb-drawer-tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 16px 20px;
}
.bb-drawer-tile {
  display: flex; flex-direction: column;
  align-items: center; gap: 6px;
  background: var(--bb-bg);
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  padding: 12px 6px;
  text-decoration: none;
  color: var(--bb-text);
  font-size: 11.5px;
  font-weight: 600;
  transition: all .15s var(--ease);
}
.bb-drawer-tile i { font-size: 20px; }
.bb-drawer-tile:hover { background: var(--bb-dark); color: #fff; border-color: var(--bb-dark); }
.bb-drawer-tile:hover i { color: var(--bb-accent) !important; }

.bb-drawer-label {
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: var(--bb-text-muted);
  padding: 16px 20px 4px;
}
.bb-drawer-link {
  display: flex; align-items: center;
  gap: 12px;
  padding: 11px 20px;
  font-size: 14px;
  color: var(--bb-text);
  text-decoration: none;
  border-bottom: 1px solid var(--bb-border-light);
  transition: background .15s var(--ease);
}
.bb-drawer-link:hover { background: var(--bb-bg); color: var(--bb-primary); }
.bb-drawer-link i { color: var(--bb-primary); width: 18px; }
.bb-drawer-badge {
  margin-left: auto;
  background: var(--bb-primary-soft);
  color: var(--bb-primary);
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: var(--bb-radius-pill);
}
.bb-drawer-offer {
  display: flex; align-items: center;
  gap: 12px;
  margin: 16px 20px;
  padding: 14px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  border-radius: var(--bb-radius);
  text-decoration: none;
}
.bb-drawer-offer:hover { color: #fff; }
.bb-drawer-offer > i:first-child { font-size: 22px; color: var(--bb-accent); }
.bb-drawer-offer strong { display: block; font-size: 14px; }
.bb-drawer-offer small { display: block; font-size: 11.5px; opacity: .92; }
.bb-drawer-offer > i:last-child { margin-left: auto; opacity: .7; }
.bb-drawer-call {
  display: block;
  margin: 16px 20px 24px;
  padding: 12px;
  background: var(--bb-dark);
  color: var(--bb-accent);
  text-align: center;
  border-radius: var(--bb-radius);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.bb-drawer-call:hover { color: var(--bb-accent); }

/* ---------- CITY SIDEBARS ---------- */
.bb-citybar {
  position: fixed; top: 0; left: 0; bottom: 0;
  width: min(94vw, 420px);
  background: #fff;
  z-index: 250;
  transform: translateX(-100%);
  transition: transform .35s var(--ease);
  overflow-y: auto;
  box-shadow: var(--bb-shadow-lg);
  display: flex; flex-direction: column;
}
.bb-citybar--right { left: auto; right: 0; transform: translateX(100%); }
.bb-citybar.is-open { transform: translateX(0); }
.bb-citybar-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 18px 20px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
}
.bb-citybar-head h5 {
  color: #fff; margin: 0; font-size: 16px; font-weight: 700;
  display: flex; align-items: center; gap: 10px;
}
.bb-citybar-head h5 i { color: var(--bb-accent); }
.bb-citybar-head button {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .2);
  color: #fff;
  border: 0;
}
.bb-citybar-search {
  padding: 14px 20px;
  position: relative;
  border-bottom: 1px solid var(--bb-border-light);
}
.bb-citybar-search i {
  position: absolute;
  left: 32px; top: 50%;
  transform: translateY(-50%);
  color: var(--bb-text-muted);
}
.bb-citybar-search input {
  width: 100%;
  padding: 12px 16px 12px 38px;
  border: 1.5px solid var(--bb-border);
  border-radius: var(--bb-radius);
  font-size: 14px;
  font-family: inherit;
  outline: none;
}
.bb-citybar-search input:focus {
  border-color: var(--bb-primary);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .12);
}
.bb-citybar-tabs { display: flex; gap: 6px; padding: 12px 20px 0; margin: 0; }
.bb-citybar-tabs li { list-style: none; }
.bb-citybar-tabs button {
  background: transparent;
  border: 1px solid var(--bb-border);
  color: var(--bb-text-muted);
  padding: 6px 14px;
  border-radius: var(--bb-radius-pill);
  font-size: 12.5px;
  font-weight: 700;
}
.bb-citybar-tabs button.is-active {
  background: var(--bb-primary);
  color: #fff;
  border-color: var(--bb-primary);
}
.bb-citybar-body { padding: 16px 20px 30px; flex: 1; }
.bb-tabpane { display: none; }
.bb-tabpane.is-active { display: block; }
.bb-citychip {
  display: inline-block;
  margin: 4px 6px 4px 0;
  background: var(--bb-bg);
  border: 1px solid var(--bb-border-light);
  color: var(--bb-text);
  padding: 8px 14px;
  border-radius: var(--bb-radius-pill);
  font-size: 13px;
  font-weight: 600;
  transition: all .15s var(--ease);
}
.bb-citychip:hover {
  background: var(--bb-primary);
  color: #fff;
  border-color: var(--bb-primary);
}
.bb-empty {
  text-align: center;
  padding: 30px 0;
  color: var(--bb-danger);
  font-size: 13.5px;
}

/* ---------- MODAL ---------- */
.bb-modal {
  position: fixed; inset: 0;
  background: rgba(10, 21, 37, .55);
  z-index: 300;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  opacity: 0; visibility: hidden;
  transition: all .25s var(--ease);
}
.bb-modal.is-open { opacity: 1; visibility: visible; }
.bb-modal-card {
  background: #fff;
  border-radius: var(--bb-radius-lg);
  width: min(440px, 100%);
  transform: scale(.95);
  transition: transform .25s var(--ease);
  overflow: hidden;
  box-shadow: var(--bb-shadow-lg);
}
.bb-modal.is-open .bb-modal-card { transform: scale(1); }
.bb-modal-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 22px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
}
.bb-modal-head h5 { color: #fff; margin: 0; font-size: 16px; font-weight: 700; }
.bb-modal-x {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .2);
  color: #fff;
  border: 0;
}
.bb-modal-body { padding: 22px; }
.bb-date-input {
  width: 100%;
  padding: 14px;
  font-size: 16px;
  font-family: inherit;
  border: 1.5px solid var(--bb-border);
  border-radius: var(--bb-radius);
}
.bb-modal-quick { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.bb-modal-foot { padding: 0 22px 22px; }
.bb-btn-primary {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  border: 0;
  padding: 12px 20px;
  border-radius: var(--bb-radius);
  font-weight: 700;
  font-size: 15px;
  transition: all .2s var(--ease);
}
.bb-btn-primary:hover { transform: translateY(-2px); box-shadow: var(--bb-shadow-orange); }

/* ---------- LOADING OVERLAY ---------- */
.bbload {
  position: fixed; inset: 0;
  background: rgba(255, 255, 255, .96);
  z-index: 999;
  display: none;
  align-items: center; justify-content: center;
  backdrop-filter: blur(8px);
}
.bbload.is-visible { display: flex; }
.bbload-inner { text-align: center; max-width: 380px; padding: 20px; }
.bbload-route {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 24px;
  font-weight: 800;
  color: var(--bb-dark);
  margin-bottom: 6px;
}
.bbload-route i { color: var(--bb-primary); font-size: 16px; }
.bbload-date { color: var(--bb-text-muted); margin-bottom: 22px; font-size: 14px; }
.bbload-bus {
  position: relative; height: 60px; margin: 16px 0;
}
.bbload-bus i {
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  font-size: 38px;
  color: var(--bb-primary);
  animation: busDrive 2.4s var(--ease) infinite;
}
.bbload-road {
  position: absolute;
  bottom: 6px; left: 0; right: 0;
  height: 3px;
  background-image: repeating-linear-gradient(90deg, var(--bb-text-muted) 0 14px, transparent 14px 26px);
  opacity: .35;
}
@keyframes busDrive {
  0%, 100% { left: 0; }
  50% { left: calc(100% - 50px); }
}
.bbload h5 { margin: 0; font-size: 18px; color: var(--bb-dark); }
.bbload p { color: var(--bb-primary); font-weight: 700; margin: 0; }

/* ---------- TOASTS ---------- */
.bb-toasts {
  position: fixed; top: 80px; right: 20px;
  z-index: 1000;
  display: flex; flex-direction: column; gap: 10px;
}
@media (max-width: 575px) {
  .bb-toasts { top: 70px; left: 16px; right: 16px; }
}
.bb-toast {
  background: var(--bb-dark);
  color: #fff;
  padding: 12px 18px;
  border-radius: var(--bb-radius);
  box-shadow: var(--bb-shadow-md);
  font-size: 13.5px;
  font-weight: 600;
  opacity: 0; transform: translateY(-10px);
  transition: all .25s var(--ease);
  display: inline-flex; align-items: center; gap: 10px;
  min-width: 240px;
}
.bb-toast.is-visible { opacity: 1; transform: translateY(0); }
.bb-toast i { color: var(--bb-accent); }
.bb-toast--success { background: var(--bb-success); }
.bb-toast--success i { color: #fff; }
.bb-toast--warning { background: var(--bb-warning); }
.bb-toast--warning i { color: var(--bb-dark); }
.bb-toast--danger  { background: var(--bb-danger); }
.bb-toast--danger i { color: #fff; }

/* ---------- REVEAL ---------- */
[data-reveal] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s var(--ease), transform .6s var(--ease);
  transition-delay: var(--d, 0s);
}
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

/* ---------- A11Y ---------- */
:focus-visible {
  outline: 3px solid var(--bb-primary);
  outline-offset: 2px;
  border-radius: 6px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* =====================================================================
   BUS SEAT LAYOUT — spec-compliant (03-bus-seat-layout.md)
   Loaded into #select-busseats modal via AJAX
   Supports 3 visual variants (A1/A2/A3) + 2 API formats (Bitla / Abhibus)
===================================================================== */

/* ---------- Modal preview wrapper ---------- */
.bsl-page { background: var(--bb-bg); min-height: 100vh; padding: 0 0 90px; }
.bsl-modal {
  background: #fff;
  max-width: 1180px;
  margin: 16px auto;
  border-radius: var(--bb-radius-lg);
  box-shadow: var(--bb-shadow-lg);
  overflow: hidden;
}

/* ---------- Modal header ---------- */
.bsl-head {
  background: linear-gradient(135deg, var(--bb-secondary-dark), var(--bb-secondary));
  color: #fff;
  padding: 16px 22px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
}
.bsl-head-back {
  width: 38px; height: 38px; border-radius: 10px;
  background: rgba(255,255,255,.15);
  color: #fff; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.bsl-head-back:hover { background: rgba(255,255,255,.28); }
.bsl-head-info { min-width: 0; }
.bsl-head-info h2 { color: #fff; font-size: 17px; margin: 0 0 4px; font-weight: 700; }
.bsl-head-info-meta { font-size: 12.5px; opacity: .9; display: flex; flex-wrap: wrap; gap: 10px 14px; }
.bsl-head-info-meta i { margin-right: 4px; color: var(--bb-accent); }
.bsl-head-close {
  width: 36px; height: 36px; border-radius: 10px;
  background: rgba(255,255,255,.15);
  color: #fff; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 18px;
}
.bsl-head-close:hover { background: rgba(239, 68, 68, .8); }

/* ---------- Step indicator ---------- */
.bsl-stepper {
  display: flex; gap: 0; padding: 12px 22px;
  background: #f8fafc;
  border-bottom: 1px solid var(--bb-border-light);
  list-style: none; margin: 0;
  overflow-x: auto;
}
.bsl-step {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12.5px; font-weight: 600; color: var(--bb-text-muted);
  padding: 4px 22px 4px 8px; position: relative; white-space: nowrap;
}
.bsl-step span {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--bb-border); color: var(--bb-text-muted);
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 11px;
}
.bsl-step:not(:last-child)::after {
  content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  width: 14px; height: 2px; background: var(--bb-border);
}
.bsl-step.is-active { color: var(--bb-primary); }
.bsl-step.is-active span { background: var(--bb-primary); color: #fff; box-shadow: 0 0 0 4px rgba(249,115,22,.18); }
.bsl-step.is-done { color: var(--bb-success); }
.bsl-step.is-done span { background: var(--bb-success); color: #fff; }
.bsl-step.is-done::after { background: var(--bb-success); }

/* ---------- Body grid: deck + side rail ---------- */
.bsl-body { padding: 16px 22px 24px; display: grid; grid-template-columns: 1fr 320px; gap: 22px; }
@media (max-width: 991px) { .bsl-body { grid-template-columns: 1fr; } }

/* ---------- Deck tabs (A2 / A3 only) ---------- */
.bsl-deck-tabs {
  display: flex; gap: 8px; padding: 4px;
  background: #f1f5f9; border-radius: var(--bb-radius);
  margin-bottom: 14px;
}
.bsl-deck-tab {
  flex: 1; background: transparent; border: 0;
  padding: 10px; border-radius: 10px;
  font-weight: 700; font-size: 13.5px;
  color: var(--bb-text-muted); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: all .2s;
}
.bsl-deck-tab i { color: var(--bb-primary); }
.bsl-deck-tab.is-active {
  background: #fff; color: var(--bb-text);
  box-shadow: var(--bb-shadow-sm);
}
.bsl-deck-tab .bsl-deck-count {
  background: #d1fae5; color: #047857;
  padding: 2px 8px; border-radius: var(--bb-radius-pill);
  font-size: 11px; font-weight: 800;
}
/* A1 variant — hide tabs (single deck only) */
.bsl-modal[data-variant="A1"] .bsl-deck-tabs { display: none; }

/* ---------- Filter chips (innovation per spec) ---------- */
.bsl-filter-chips {
  display: flex; gap: 6px; flex-wrap: wrap; align-items: center;
  margin-bottom: 14px;
}
.bsl-filter-chips-label { font-size: 12px; font-weight: 700; color: var(--bb-text-muted); margin-right: 4px; }
.bsl-chip {
  background: #fff; border: 1px solid var(--bb-border);
  padding: 5px 12px; border-radius: var(--bb-radius-pill);
  font-size: 12px; font-weight: 700; color: var(--bb-text);
  cursor: pointer; transition: all .15s;
}
.bsl-chip i { font-size: 10px; margin-right: 4px; }
.bsl-chip:hover { border-color: var(--bb-primary); color: var(--bb-primary); }
.bsl-chip.is-active { background: var(--bb-primary); color: #fff; border-color: var(--bb-primary); }
.bsl-quick-pick {
  margin-left: auto;
  background: linear-gradient(135deg, var(--bb-secondary), var(--bb-secondary-dark));
  color: #fff; border: 0; padding: 7px 14px;
  border-radius: var(--bb-radius-pill); font-size: 12px; font-weight: 700; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
  box-shadow: 0 4px 12px -2px rgba(13,148,136,.35);
}
.bsl-quick-pick:hover { transform: translateY(-1px); }

/* ---------- Bus shape ---------- */
.bsl-bus-wrap {
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
  border: 1.5px solid var(--bb-border-light);
  border-radius: 18px;
  padding: 18px;
}
.bsl-bus-front, .bsl-bus-back {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px;
  font-size: 11.5px; font-weight: 700; color: var(--bb-text-muted);
  text-transform: uppercase; letter-spacing: .8px;
}
.bsl-bus-front { border-bottom: 1px dashed var(--bb-border); margin-bottom: 10px; }
.bsl-bus-front i { color: var(--bb-primary); font-size: 14px; }
.bsl-bus-back { border-top: 1px dashed var(--bb-border); margin-top: 10px; }

/* ---------- Deck grid container ---------- */
.bsl-deck { display: grid; gap: 18px; }
.bsl-deck-block { display: none; }
.bsl-deck-block.is-active { display: block; }
.bsl-deck-label {
  font-size: 11.5px; font-weight: 700; color: var(--bb-text-muted);
  text-transform: uppercase; letter-spacing: .8px;
  margin-bottom: 8px; padding-left: 4px;
}

/* ---------- Seat row + aisle ---------- */
.bsl-row { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.bsl-row-side { display: flex; gap: 6px; align-items: center; }
.bsl-aisle {
  flex: 1; height: 4px;
  background: repeating-linear-gradient(90deg, transparent 0, transparent 6px, #cbd5e1 6px, #cbd5e1 10px);
  border-radius: 2px; opacity: .55;
  min-width: 24px;
}

/* ---------- SEAT (spec class: .seat) ---------- */
.seat {
  position: relative;
  width: 40px; height: 40px;
  border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  flex-direction: column;
  background: #fff;
  border: 1.5px solid var(--bb-border);
  color: var(--bb-text);
  font-size: 11px; font-weight: 700;
  cursor: pointer;
  transition: all .15s var(--ease);
  user-select: none;
}
.seat:hover { transform: translateY(-1px); }
.seat .seat-no { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 800; }

/* ---------- SLEEPER variant (.seat.sleeper) ----------
   Real bus berth is 69" × 24" (~2.9:1 ratio).
   Sized to 100×34 to keep the proportions while staying tap-friendly.
   Berths run parallel to bus length: head (pillow) on left, feet on right.
=================================================================== */
.seat.sleeper {
  width: 100px; height: 34px;
  border-radius: 14px 6px 6px 14px;  /* rounded head end (left), squared feet end (right) */
  justify-content: flex-start;
  padding-left: 24px;
  padding-right: 8px;
}
/* Pillow indicator (head end, left side of berth) */
.seat.sleeper::before {
  content: ''; position: absolute; left: 5px; top: 50%; transform: translateY(-50%);
  width: 14px; height: 22px; border-radius: 6px 3px 3px 6px;
  background: linear-gradient(135deg, rgba(148,163,184,.35), rgba(148,163,184,.15));
  box-shadow: inset 0 0 0 1px rgba(148,163,184,.4);
}
.seat.sleeper .seat-no { font-size: 10.5px; }
/* Selected pillow goes white */
.seat.sleeper.selected::before { background: rgba(255,255,255,.4); box-shadow: inset 0 0 0 1px rgba(255,255,255,.6); }
/* Window dot (top-right corner) */
.seat[data-window="1"]::after { /* ::after is used by lock/check icons → put window mark via box-shadow instead */ }
.seat.sleeper[data-window="1"] {
  box-shadow: inset 0 -3px 0 0 var(--bb-info);
}
.seat.sleeper[data-window="1"]:hover { box-shadow: inset 0 -3px 0 0 var(--bb-info), 0 6px 14px -4px rgba(249,115,22,.35); }

/* Last-row back berth indicator (some operators have shorter rear berth) */
.seat.sleeper.short { width: 90px; opacity: .96; }

/* Adjust row layout for true 2+1: left side has 1 berth, right side has 2 berths */
.bsl-row { display: grid; grid-template-columns: minmax(100px, auto) 1fr minmax(216px, auto); gap: 8px; align-items: center; margin-bottom: 8px; }
.bsl-row-side { display: flex; gap: 8px; align-items: center; }
.bsl-row-side--left { justify-content: flex-start; }
.bsl-row-side--right { justify-content: flex-end; }
.bsl-row .bsl-aisle { min-width: 30px; }

/* Realistic deck container — fits the longer 2+1 berths */
.bsl-deck-block { max-width: 540px; margin: 0 auto; }

/* ---------- STATES ---------- */
.seat.available { background: #fff; border-color: #94a3b8; color: var(--bb-text); }
.seat.available:hover { border-color: var(--bb-primary); color: var(--bb-primary); box-shadow: 0 6px 14px -4px rgba(249,115,22,.35); }

.seat.available.ladies { background: #fdf2f8; border-color: #f9a8d4; color: #be185d; }
.seat.available.ladies::after {
  content: '\f221';
  font-family: 'Font Awesome 6 Free'; font-weight: 900;
  position: absolute; top: 2px; right: 3px; font-size: 8px; color: #ec4899;
}

.seat.available.selected {
  background: linear-gradient(135deg, var(--bb-success), #047857);
  border-color: #047857; color: #fff;
  box-shadow: 0 8px 18px -4px rgba(16,185,129,.5);
  animation: bslSelectPop .35s var(--ease-bounce);
}
.seat.available.selected .seat-no { color: #fff; }
.seat.available.selected::after {
  content: '\f00c';
  font-family: 'Font Awesome 6 Free'; font-weight: 900;
  position: absolute; top: 2px; right: 3px; font-size: 9px; color: #fff;
  animation: bslCheckFade .3s ease .1s both;
}
@keyframes bslSelectPop { 0% { transform: scale(.85); } 60% { transform: scale(1.08); } 100% { transform: scale(1); } }
@keyframes bslCheckFade { from { opacity: 0; transform: scale(0); } to { opacity: 1; transform: scale(1); } }

.seat.unavailable, .seat.unavailable.gents {
  background: #f1f5f9; border-color: #cbd5e1; color: #94a3b8;
  cursor: not-allowed; text-decoration: line-through;
}
.seat.unavailable::after, .seat.unavailable.gents::after {
  content: '\f023';
  font-family: 'Font Awesome 6 Free'; font-weight: 900;
  position: absolute; top: 2px; right: 3px; font-size: 8px; color: #94a3b8;
}
.seat.unavailable:hover { transform: none; }

.seat.unavailable.ladies { background: #fce7f3; border-color: #f9a8d4; color: #9d174d; }
.seat.unavailable.ladies::after { color: #be185d; }

.seat.empty { background: transparent; border: 0; box-shadow: none; cursor: default; pointer-events: none; }

.seat[data-tooltip]:hover::before {
  content: attr(data-tooltip);
  position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%);
  background: var(--bb-dark); color: #fff;
  padding: 6px 10px; border-radius: 6px;
  font-size: 11px; font-weight: 600; white-space: nowrap;
  z-index: 10; box-shadow: var(--bb-shadow-md); pointer-events: none;
}

/* ---------- Legend ---------- */
.bsl-legend {
  display: flex; flex-wrap: wrap; gap: 14px; padding: 12px 14px;
  background: #f8fafc; border-radius: var(--bb-radius);
  margin-top: 14px;
  font-size: 11.5px; color: var(--bb-text);
}
.bsl-legend-item { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.bsl-legend-swatch {
  display: inline-block; width: 16px; height: 16px;
  border-radius: 4px; border: 1.5px solid var(--bb-border); background: #fff;
}
.bsl-legend-swatch.is-selected { background: var(--bb-success); border-color: #047857; }
.bsl-legend-swatch.is-unavailable { background: #f1f5f9; border-color: #cbd5e1; }
.bsl-legend-swatch.is-ladies { background: #fdf2f8; border-color: #f9a8d4; }
.bsl-legend-swatch.is-unavail-ladies { background: #fce7f3; border-color: #be185d; }
.bsl-legend-swatch.is-sleeper { width: 22px; height: 12px; border-radius: 3px 3px 6px 3px; }

/* ---------- Side rail: price summary card (sticky) ---------- */
.bsl-side {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  padding: 18px;
  box-shadow: var(--bb-shadow-md);
  position: sticky; top: 16px;
  align-self: start;
}
.bsl-side-head { padding-bottom: 12px; border-bottom: 1px dashed var(--bb-border-light); margin-bottom: 14px; }
.bsl-side-head h3 { font-size: 15px; margin: 0; display: flex; align-items: center; gap: 8px; font-weight: 700; }
.bsl-side-head h3 i { color: var(--bb-primary); }
.bsl-side-empty {
  text-align: center; padding: 22px 12px;
  background: var(--bb-bg); border-radius: var(--bb-radius);
  color: var(--bb-text-muted);
}
.bsl-side-empty i { font-size: 28px; color: var(--bb-primary); display: block; margin-bottom: 8px; }
.bsl-side-empty p { font-size: 12.5px; margin: 0; }

.bsl-side-selected { display: none; }
.bsl-side-selected.is-visible { display: block; }
.bsl-side-seats { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.bsl-pill {
  background: #fff7ed; color: var(--bb-primary-dark);
  border: 1px solid var(--bb-primary-light);
  padding: 4px 10px; border-radius: var(--bb-radius-pill);
  font-size: 11.5px; font-weight: 800;
}

.bsl-side-rows { padding-top: 12px; border-top: 1px dashed var(--bb-border-light); }
.bsl-side-row { display: flex; justify-content: space-between; padding: 5px 0; font-size: 13px; }
.bsl-side-row strong { font-weight: 700; }
.bsl-side-row.is-total { padding-top: 10px; font-size: 15.5px; font-weight: 800; border-top: 1px dashed var(--bb-border-light); margin-top: 6px; }
.bsl-side-row.is-total strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 20px; color: var(--bb-primary); }

.bsl-side-cta {
  width: 100%; margin-top: 14px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff; border: 0; padding: 13px;
  border-radius: var(--bb-radius); font-size: 14px; font-weight: 800; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  box-shadow: 0 8px 18px -4px rgba(249,115,22,.45); transition: transform .2s;
}
.bsl-side-cta:hover { transform: translateY(-2px); }
.bsl-side-cta:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.bsl-side-secure { text-align: center; font-size: 11px; color: var(--bb-text-muted); margin-top: 10px; }
.bsl-side-secure i { color: var(--bb-success); margin-right: 4px; }

/* ---------- Bottom accordion #accordion2 ---------- */
.bsl-accordion {
  margin-top: 16px;
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
}
.bsl-acc-tabs {
  display: flex; gap: 0; list-style: none; margin: 0; padding: 0;
  background: #f8fafc; border-bottom: 1px solid var(--bb-border-light);
  overflow-x: auto;
}
.bsl-acc-tab {
  background: transparent; border: 0;
  padding: 12px 18px;
  font-size: 12.5px; font-weight: 700;
  color: var(--bb-text-muted); cursor: pointer;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  display: inline-flex; align-items: center; gap: 6px;
}
.bsl-acc-tab i { color: var(--bb-primary); }
.bsl-acc-tab.is-active { color: var(--bb-primary); border-bottom-color: var(--bb-primary); background: #fff; }
.bsl-acc-tab-close {
  margin-left: auto; padding: 8px 14px;
  background: transparent; border: 0; cursor: pointer;
  color: var(--bb-text-muted); font-size: 14px;
}
.bsl-acc-tab-close:hover { color: var(--bb-danger); }

.bsl-acc-body { padding: 16px 20px; }
.bsl-acc-pane { display: none; }
.bsl-acc-pane.is-active { display: block; }

.bsl-stop-list { list-style: none; margin: 0; padding: 0; }
.bsl-stop {
  padding: 10px 12px; border-bottom: 1px dashed var(--bb-border-light);
  display: grid; grid-template-columns: 64px 1fr auto; gap: 14px; align-items: center;
  font-size: 13px;
}
.bsl-stop:last-child { border-bottom: 0; }
.bsl-stop-time { font-family: 'Plus Jakarta Sans', sans-serif; color: var(--bb-primary); font-weight: 800; }
.bsl-stop-name strong { display: block; font-weight: 700; }
.bsl-stop-name small { display: block; font-size: 11.5px; color: var(--bb-text-muted); }
.bsl-stop-phone { font-size: 12px; color: var(--bb-text-muted); }
.bsl-stop-phone a { color: var(--bb-secondary); font-weight: 700; text-decoration: none; }
.bsl-more-toggle {
  display: inline-block; margin-top: 8px;
  background: transparent; border: 1px dashed var(--bb-border); border-radius: var(--bb-radius);
  padding: 6px 12px; font-size: 12px; font-weight: 700; color: var(--bb-primary); cursor: pointer;
}
.bsl-more-toggle:hover { border-color: var(--bb-primary); background: #fff7ed; }
.bsl-more-list { display: none; }
.bsl-more-list.is-open { display: block; }

.bsl-cancel-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.bsl-cancel-table thead th { background: #f8fafc; padding: 10px 12px; font-size: 11.5px; text-transform: uppercase; letter-spacing: .5px; color: var(--bb-text-muted); text-align: left; }
.bsl-cancel-table tbody td { padding: 10px 12px; border-top: 1px dashed var(--bb-border-light); }
.bsl-cancel-table tbody td:last-child { font-weight: 700; }

.bsl-tc-list { padding-left: 18px; margin: 0; }
.bsl-tc-list li { padding: 4px 0; font-size: 13px; }

.bsl-empty-msg { text-align: center; padding: 24px; color: var(--bb-text-muted); font-style: italic; }
.bsl-empty-msg i { display: block; font-size: 32px; color: var(--bb-text-light); margin-bottom: 10px; }

.bsl-no-layout {
  padding: 36px 22px; text-align: center;
  color: var(--bb-danger); background: #fef2f2;
  border: 1px dashed #fca5a5; border-radius: var(--bb-radius);
  font-size: 15px; font-weight: 700;
}
.bsl-no-layout i { display: block; font-size: 38px; margin-bottom: 10px; }

/* ---------- Fixed bottom price summary bar ---------- */
.bsl-pricebar {
  position: fixed; left: 0; right: 0; bottom: 0;
  background: #fff; border-top: 1px solid var(--bb-border);
  box-shadow: 0 -8px 22px -8px rgba(15,23,42,.15);
  padding: 12px 22px;
  display: none; z-index: 1030;
}
.bsl-pricebar.is-visible { display: block; }
.bsl-pricebar-inner {
  max-width: 1180px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center;
}
.bsl-pricebar-left small { display: block; font-size: 11px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: .5px; font-weight: 700; }
.bsl-pricebar-left strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 800; color: var(--bb-primary); }
.bsl-pricebar-left span { font-size: 13px; color: var(--bb-text-muted); margin-left: 8px; }
.bsl-pricebar-cta {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff; border: 0;
  padding: 12px 22px; border-radius: var(--bb-radius);
  font-size: 14px; font-weight: 800; cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px;
  box-shadow: 0 6px 14px -4px rgba(249,115,22,.45);
}
.bsl-pricebar-cta:hover { transform: translateY(-1px); }

/* ---------- Side panel: boarding / dropping ---------- */
.bsl-sidepanel-overlay {
  position: fixed; inset: 0; background: rgba(15,23,42,.55);
  z-index: 1040; opacity: 0; pointer-events: none;
  transition: opacity .25s ease;
}
.bsl-sidepanel-overlay.is-open { opacity: 1; pointer-events: auto; }
.bsl-sidepanel {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 92%; max-width: 420px;
  background: #fff; z-index: 1050;
  box-shadow: -16px 0 36px -16px rgba(15,23,42,.25);
  transform: translateX(100%);
  transition: transform .3s var(--ease);
  display: flex; flex-direction: column;
}
.bsl-sidepanel.is-open { transform: translateX(0); }
.bsl-sidepanel-head {
  padding: 16px 20px;
  background: linear-gradient(135deg, var(--bb-secondary-dark), var(--bb-secondary));
  color: #fff;
  display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center;
}
.bsl-sidepanel-head h3 { color: #fff; font-size: 16px; margin: 0; font-weight: 700; }
.bsl-sidepanel-head button {
  width: 36px; height: 36px; border-radius: 10px;
  background: rgba(255,255,255,.15); color: #fff; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.bsl-sidepanel-search { padding: 12px 18px; border-bottom: 1px solid var(--bb-border-light); }
.bsl-sidepanel-search input {
  width: 100%; padding: 10px 14px; font-size: 13.5px;
  border: 1.5px solid var(--bb-border); border-radius: var(--bb-radius);
  outline: none;
}
.bsl-sidepanel-search input:focus { border-color: var(--bb-primary); box-shadow: 0 0 0 4px rgba(249,115,22,.12); }
.bsl-sidepanel-body { flex: 1; overflow-y: auto; padding: 8px 0; }
.bsl-point {
  padding: 12px 20px;
  display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center;
  border-bottom: 1px dashed var(--bb-border-light);
  cursor: pointer; transition: background .15s;
}
.bsl-point:hover { background: #fff7ed; }
.bsl-point.is-selected { background: linear-gradient(90deg, #fff7ed, transparent); border-left: 3px solid var(--bb-primary); padding-left: 17px; }
.bsl-point-time { font-family: 'Plus Jakarta Sans', sans-serif; color: var(--bb-primary); font-weight: 800; font-size: 14px; }
.bsl-point-name strong { display: block; font-size: 13.5px; font-weight: 700; }
.bsl-point-name small { display: block; font-size: 11.5px; color: var(--bb-text-muted); }
.bsl-point-radio {
  width: 20px; height: 20px; border: 2px solid var(--bb-border); border-radius: 50%;
}
.bsl-point.is-selected .bsl-point-radio {
  background: var(--bb-primary); border-color: var(--bb-primary);
  box-shadow: inset 0 0 0 4px #fff;
}
.bsl-sidepanel-foot {
  padding: 14px 20px;
  border-top: 1px solid var(--bb-border-light);
  display: grid; grid-template-columns: auto 1fr; gap: 10px;
}
.bsl-sidepanel-back {
  background: #fff; border: 1.5px solid var(--bb-border); border-radius: var(--bb-radius);
  padding: 11px 16px; font-size: 13px; font-weight: 700; cursor: pointer;
  color: var(--bb-text); display: inline-flex; align-items: center; gap: 6px;
}
.bsl-sidepanel-next {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff; border: 0; padding: 11px;
  border-radius: var(--bb-radius);
  font-size: 13.5px; font-weight: 800; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
}
.bsl-sidepanel-next:disabled { opacity: .55; cursor: not-allowed; }

/* ---------- Mobile: convert side panel into bottom sheet ---------- */
@media (max-width: 575px) {
  .bsl-sidepanel {
    top: auto; left: 0; right: 0; bottom: 0;
    width: 100%; max-width: 100%; max-height: 80vh;
    border-top-left-radius: 20px; border-top-right-radius: 20px;
    transform: translateY(100%);
  }
  .bsl-sidepanel.is-open { transform: translateY(0); }
  .seat { width: 34px; height: 34px; font-size: 10px; }
  .seat.sleeper { width: 70px; height: 36px; }
  .bsl-pricebar { bottom: 64px; }
  .bsl-side { position: static; }
}

/* =====================================================================
   HOMEPAGE MODALS — City sidebars, Date picker, Loading overlay
   Per 00-shared-globals.md §7 and 01-homepage.md §MODALS
===================================================================== */

/* ---------- Common overlay shared by city sidebars ---------- */
.bb-overlay-side {
  position: fixed; inset: 0; z-index: 1040;
  background: rgba(15, 23, 42, .55);
  opacity: 0; pointer-events: none;
  transition: opacity .25s var(--ease);
}
.bb-overlay-side.is-open { opacity: 1; pointer-events: auto; }

/* ---------- City selection sidebar (#sortsidebar + #filtersidebar) ---------- */
.bb-citysidebar {
  position: fixed; top: 0; bottom: 0; left: 0;
  width: 92%; max-width: 420px;
  background: #fff; z-index: 1050;
  box-shadow: 16px 0 36px -16px rgba(15, 23, 42, .25);
  transform: translateX(-100%);
  transition: transform .3s var(--ease);
  display: flex; flex-direction: column;
}
.bb-citysidebar.is-open { transform: translateX(0); }
/* To-city sidebar slides from RIGHT */
.bb-citysidebar--right { left: auto; right: 0; transform: translateX(100%); box-shadow: -16px 0 36px -16px rgba(15, 23, 42, .25); }
.bb-citysidebar--right.is-open { transform: translateX(0); }

.bb-citysidebar-head {
  padding: 16px 20px;
  background: linear-gradient(135deg, var(--bb-secondary-dark), var(--bb-secondary));
  color: #fff;
  display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center;
}
.bb-citysidebar-head h3 { color: #fff; font-size: 16px; margin: 0; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.bb-citysidebar-head h3 i { color: var(--bb-accent); }
.bb-citysidebar-close {
  width: 36px; height: 36px; border-radius: 10px;
  background: rgba(255,255,255,.15); color: #fff; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.bb-citysidebar-close:hover { background: rgba(239,68,68,.8); }

.bb-citysidebar-search { padding: 12px 18px; border-bottom: 1px solid var(--bb-border-light); }
.bb-citysidebar-search input {
  width: 100%; padding: 10px 14px 10px 38px;
  font-size: 14px;
  border: 1.5px solid var(--bb-border); border-radius: var(--bb-radius);
  outline: none;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>") no-repeat 12px center;
}
.bb-citysidebar-search input:focus { border-color: var(--bb-primary); box-shadow: 0 0 0 4px rgba(249,115,22,.12); }

/* City tabs (Popular | Frequent) */
.bb-citytabs {
  display: flex; padding: 0 18px; border-bottom: 1px solid var(--bb-border-light);
  background: #f8fafc;
}
.bb-citytab {
  flex: 1; background: transparent; border: 0;
  padding: 12px 8px;
  font-size: 13.5px; font-weight: 700; color: var(--bb-text-muted);
  cursor: pointer; border-bottom: 3px solid transparent;
}
.bb-citytab.is-active { color: var(--bb-primary); border-bottom-color: var(--bb-primary); }

/* City list panes */
.bb-citypane { display: none; flex: 1; overflow-y: auto; }
.bb-citypane.is-active { display: block; }

/* City item (chip-like row) */
.bb-citylist { list-style: none; margin: 0; padding: 8px 0; }
.bb-city-item {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 20px;
  border-bottom: 1px dashed var(--bb-border-light);
  cursor: pointer; transition: background .15s;
}
.bb-city-item:hover { background: #fff7ed; }
.bb-city-item:last-child { border-bottom: 0; }
.bb-city-item i { color: var(--bb-primary); width: 16px; text-align: center; }
.bb-city-item strong { display: block; font-size: 14px; font-weight: 700; color: var(--bb-text); }
.bb-city-item small { display: block; font-size: 11.5px; color: var(--bb-text-muted); }

/* Empty frequent state */
.bb-city-empty {
  padding: 30px 20px; text-align: center;
  color: var(--bb-danger); font-size: 13.5px; font-weight: 600;
}
.bb-city-empty i { display: block; font-size: 28px; margin-bottom: 8px; color: #fca5a5; }

/* Sidebar — mobile bottom sheet variant */
@media (max-width: 575px) {
  .bb-citysidebar {
    top: auto; left: 0; right: 0; bottom: 0;
    width: 100%; max-width: 100%; max-height: 85vh;
    border-top-left-radius: 20px; border-top-right-radius: 20px;
    transform: translateY(100%);
  }
  .bb-citysidebar.is-open { transform: translateY(0); }
  .bb-citysidebar--right { transform: translateY(100%); }
}

/* ---------- Date picker modal (#myModal) ---------- */
.bb-datemodal { display: none; }
.bb-datemodal.is-open { display: block; }
.bb-datemodal-bd {
  position: fixed; inset: 0; z-index: 1060;
  background: rgba(15, 23, 42, .55);
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
}
.bb-datemodal-card {
  background: #fff; border-radius: var(--bb-radius-lg);
  box-shadow: var(--bb-shadow-lg);
  width: 100%; max-width: 380px;
  overflow: hidden;
  animation: bbDmIn .25s var(--ease-bounce);
}
@keyframes bbDmIn { from { transform: translateY(10px) scale(.96); opacity: 0; } to { transform: none; opacity: 1; } }
.bb-datemodal-head {
  padding: 14px 18px;
  background: linear-gradient(135deg, var(--bb-secondary-dark), var(--bb-secondary));
  color: #fff;
  display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center;
}
.bb-datemodal-head h3 { color: #fff; font-size: 15px; margin: 0; font-weight: 700; }
.bb-datemodal-head h3 i { color: var(--bb-accent); margin-right: 6px; }
.bb-datemodal-x {
  width: 32px; height: 32px; border-radius: 8px;
  background: rgba(255,255,255,.15); color: #fff; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.bb-datemodal-body { padding: 18px; }
.bb-datemodal-body .bb-date-quick { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.bb-datemodal-body .bb-date-quick button {
  flex: 1; min-width: 100px;
  padding: 10px; border-radius: var(--bb-radius);
  background: var(--bb-bg); border: 1.5px solid var(--bb-border);
  font-weight: 700; font-size: 13px; color: var(--bb-text);
  cursor: pointer; transition: all .15s;
}
.bb-datemodal-body .bb-date-quick button:hover { border-color: var(--bb-primary); color: var(--bb-primary); }
.bb-datemodal-body input[type="date"] {
  width: 100%; padding: 12px 14px; font-size: 14px;
  border: 1.5px solid var(--bb-border); border-radius: var(--bb-radius);
  font-family: inherit;
}
.bb-datemodal-body input[type="date"]:focus { border-color: var(--bb-primary); outline: 0; box-shadow: 0 0 0 4px rgba(249,115,22,.12); }
.bb-datemodal-foot {
  padding: 12px 18px;
  background: var(--bb-bg);
  display: flex; gap: 8px; justify-content: flex-end;
}
.bb-datemodal-foot button {
  padding: 10px 18px; border-radius: var(--bb-radius);
  font-weight: 700; font-size: 13px; cursor: pointer; border: 0;
}
.bb-datemodal-foot .bb-dm-cancel { background: #fff; border: 1.5px solid var(--bb-border); color: var(--bb-text); }
.bb-datemodal-foot .bb-dm-done { background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark)); color: #fff; }

/* ---------- Loading overlay (#bbload-div) ---------- */
.bb-load-overlay {
  display: none;
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(4px);
  align-items: center; justify-content: center;
}
.bb-load-overlay.is-open { display: flex; }
.bb-load-card { text-align: center; max-width: 480px; padding: 24px; }
.bb-load-route {
  display: inline-flex; align-items: center; gap: 14px;
  background: linear-gradient(135deg, #fff7ed, #fefce8);
  border: 1px solid var(--bb-primary-light);
  padding: 12px 22px; border-radius: var(--bb-radius-pill);
  font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: 18px;
  color: var(--bb-text); margin-bottom: 14px;
}
.bb-load-route i { color: var(--bb-primary); font-size: 14px; }
.bb-load-date { font-size: 14px; color: var(--bb-text-muted); margin-bottom: 24px; }
.bb-load-date i { color: var(--bb-secondary); margin-right: 6px; }
.bb-load-spinner {
  width: 60px; height: 60px; margin: 0 auto 18px;
  border: 4px solid var(--bb-border-light); border-top-color: var(--bb-primary);
  border-radius: 50%;
  animation: bbLoadSpin 1s linear infinite;
}
@keyframes bbLoadSpin { to { transform: rotate(360deg); } }
.bb-load-card h5 { font-size: 17px; font-weight: 800; color: var(--bb-text); margin-bottom: 4px; }
.bb-load-card h5.bb-load-sub { font-size: 14.5px; color: var(--bb-primary); font-weight: 700; }

/* =====================================================================
   TOUR PACKAGES LISTING — strict spec (06-tour-packages-listing.md)
===================================================================== */

/* Hero — smaller than homepage */
.bb-tp-hero { position: relative; padding: 36px 0 24px; background: var(--bb-bg); overflow: hidden; }
.bb-tp-hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 18% 30%, rgba(249,115,22,.18), transparent 55%),
    radial-gradient(circle at 82% 70%, rgba(13,148,136,.20), transparent 55%),
    linear-gradient(135deg, #fff7ed 0%, #f0fdfa 100%);
}
.bb-tp-hero-inner { position: relative; z-index: 2; }
.bb-tp-hero-text { text-align: center; margin-bottom: 22px; }
.bb-tp-hero-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(22px, 3.2vw, 32px); font-weight: 800; color: var(--bb-text); margin-bottom: 6px; }
.bb-tp-hero-sub { font-size: 14.5px; color: var(--bb-text-muted); max-width: 640px; margin: 0 auto; }

/* Search card with 3 cascade dropdowns */
.bb-tp-search {
  max-width: 980px; margin: 0 auto;
  background: #fff; border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  padding: 14px;
  box-shadow: var(--bb-shadow-md);
}
.bb-tp-search-row {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1.2fr auto;
  gap: 10px;
  align-items: end;
}
@media (max-width: 767px) { .bb-tp-search-row { grid-template-columns: 1fr; } }
.bb-tp-search-cell { display: flex; flex-direction: column; gap: 4px; }
.bb-tp-search-cell label {
  font-size: 11.5px; font-weight: 700;
  color: var(--bb-text-muted);
  text-transform: uppercase; letter-spacing: .5px;
  padding-left: 4px;
}
.bb-tp-search-cell label i { color: var(--bb-primary); margin-right: 4px; }
.bb-tp-search-cell select {
  width: 100%; height: 48px;
  padding: 10px 14px;
  border: 1.5px solid var(--bb-border); border-radius: var(--bb-radius);
  font-size: 14px; font-weight: 600; color: var(--bb-text);
  background: #fff;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 12px;
  cursor: pointer;
}
.bb-tp-search-cell select:focus { outline: none; border-color: var(--bb-primary); box-shadow: 0 0 0 4px rgba(249,115,22,.12); }
.bb-tp-search-cell--btn { align-self: end; }
.bb-tp-search-btn {
  height: 48px; padding: 0 22px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff; border: 0;
  border-radius: var(--bb-radius);
  font-size: 14px; font-weight: 800; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  box-shadow: 0 6px 16px -4px rgba(249,115,22,.45);
  transition: transform .15s;
}
.bb-tp-search-btn:hover { transform: translateY(-1px); }

/* Banner carousel with images */
.bb-tp-banners { padding-top: 30px; padding-bottom: 0; }
.bb-tp-banner {
  position: relative;
  aspect-ratio: 16/5;
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  display: flex; align-items: flex-end;
  color: #fff;
}
@media (max-width: 767px) { .bb-tp-banner { aspect-ratio: 16/9; } }
.bb-tp-banner img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
}
.bb-tp-banner::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,.65));
  z-index: 1;
}
.bb-tp-banner-text {
  position: relative; z-index: 2;
  padding: 22px;
  width: 100%;
}
.bb-tp-banner-text strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; margin-bottom: 4px; }
.bb-tp-banner-text span { font-size: 14px; opacity: .94; }

/* Tour category card image placeholders (gradient backgrounds) */
.bb-tour-img-1 { background: linear-gradient(135deg, #fb923c, #ea580c); }
.bb-tour-img-2 { background: linear-gradient(135deg, #2dd4bf, #0d9488); }
.bb-tour-img-3 { background: linear-gradient(135deg, #a78bfa, #7c3aed); }
.bb-tour-img-4 { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.bb-tour-img-5 { background: linear-gradient(135deg, #06b6d4, #0e7490); }
.bb-tour-img-6 { background: linear-gradient(135deg, #10b981, #047857); }
.bb-tour-img-int-1 { background: linear-gradient(135deg, #f59e0b, #d97706); }
.bb-tour-img-int-2 { background: linear-gradient(135deg, #ec4899, #be185d); }
.bb-tour-img-int-3 { background: linear-gradient(135deg, #06b6d4, #0891b2); }

/* Alternating section bg */
.bb-section--alt { background: #fff; }

/* Tour stats row (inside .bb-tour-body) */
.bb-tour-stats { display: flex; gap: 14px; font-size: 12px; color: var(--bb-text-muted); padding: 6px 0; border-top: 1px dashed var(--bb-border-light); border-bottom: 1px dashed var(--bb-border-light); }
.bb-tour-stats i { color: var(--bb-primary); margin-right: 4px; }
.bb-tour-name { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 700; margin: 0; color: var(--bb-text); line-height: 1.3; }

/* Tour Packages By Type — image card */
.bb-tp-type-card {
  display: block;
  background: #fff; border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  color: inherit; text-decoration: none;
  transition: all .2s var(--ease);
  height: 100%;
  overflow: hidden;
}
.bb-tp-type-card:hover {
  transform: translateY(-4px);
  border-color: var(--bb-primary);
  box-shadow: 0 10px 22px -6px rgba(249,115,22,.25);
  color: inherit;
}
.bb-tp-type-img {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
}
.bb-tp-type-img img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s var(--ease);
}
.bb-tp-type-card:hover .bb-tp-type-img img { transform: scale(1.08); }
.bb-tp-type-img::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.55));
}
.bb-tp-type-ico {
  position: absolute; bottom: 10px; left: 10px;
  width: 38px; height: 38px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  box-shadow: 0 4px 10px -2px rgba(249,115,22,.5);
  z-index: 2;
}
.bb-tp-type-body { padding: 12px 14px; text-align: center; }
.bb-tp-type-card h6 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 700; margin: 0 0 2px; color: var(--bb-text); }
.bb-tp-type-card small { font-size: 11.5px; color: var(--bb-text-muted); }

/* Empty state */
.bb-tp-empty { text-align: center; padding: 40px 20px; color: var(--bb-text-muted); }
.bb-tp-empty i { font-size: 36px; color: var(--bb-text-light); display: block; margin-bottom: 10px; }

/* Why tabs */
.bb-tp-tabs { margin-bottom: 22px; flex-wrap: wrap; gap: 6px; }
.bb-tp-tabs .nav-link {
  background: #fff; color: var(--bb-text-muted);
  border: 1.5px solid var(--bb-border-light);
  padding: 8px 18px; border-radius: var(--bb-radius-pill);
  font-size: 13.5px; font-weight: 700;
}
.bb-tp-tabs .nav-link.active { background: var(--bb-primary); color: #fff; border-color: var(--bb-primary); }
.bb-tp-tabs-body {
  background: #fff; border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg); padding: 24px 26px;
  max-width: 880px; margin: 0 auto;
}
.bb-tp-tabs-body h4 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 17px; font-weight: 800; margin-bottom: 10px; color: var(--bb-text); }
.bb-tp-tabs-body p { font-size: 14px; color: var(--bb-text-muted); margin: 0; line-height: 1.6; }
.bb-tp-tabs-body a { color: var(--bb-primary); font-weight: 700; text-decoration: none; }

/* Mobile app download */
.bb-tp-appdown { background: var(--bb-bg); }
.bb-tp-appdown-card {
  background: linear-gradient(135deg, var(--bb-secondary-dark), var(--bb-secondary));
  color: #fff;
  border-radius: var(--bb-radius-lg);
  padding: 32px 36px;
  display: grid; grid-template-columns: 1fr auto; gap: 24px;
  align-items: center;
  box-shadow: var(--bb-shadow-md);
}
@media (max-width: 767px) { .bb-tp-appdown-card { grid-template-columns: 1fr; text-align: center; } }
.bb-tp-appdown-text h3 { color: #fff; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; margin: 6px 0 8px; }
.bb-tp-appdown-text p { color: rgba(255,255,255,.88); font-size: 14px; margin: 0 0 14px; }
.bb-tp-appdown-text .bb-eyebrow { color: #fed7aa; }
.bb-tp-appdown-badges { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 767px) { .bb-tp-appdown-badges { justify-content: center; } }
.bb-tp-appdown-badges a { text-decoration: none; }
.bb-tp-appbadge {
  display: inline-flex; align-items: center; gap: 10px;
  background: #000; color: #fff;
  padding: 8px 16px; border-radius: var(--bb-radius);
  font-size: 12px;
  border: 1px solid rgba(255,255,255,.2);
  transition: transform .15s;
}
.bb-tp-appbadge:hover { transform: translateY(-2px); }
.bb-tp-appbadge i { font-size: 24px; }
.bb-tp-appbadge small { display: block; font-size: 9.5px; line-height: 1; opacity: .85; text-transform: uppercase; letter-spacing: .3px; }
.bb-tp-appbadge strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 800; line-height: 1.2; }
.bb-tp-qrbox {
  background: #fff; color: var(--bb-text);
  padding: 16px; border-radius: var(--bb-radius);
  text-align: center;
  width: 130px;
}
.bb-tp-qrbox i { font-size: 80px; color: var(--bb-text); display: block; margin-bottom: 4px; }
.bb-tp-qrbox small { font-size: 10px; color: var(--bb-text-muted); }

/* =====================================================================
   TOUR PACKAGES BY CATEGORY — strict spec (07-tour-category-type-nation.md)
===================================================================== */

/* Page header + breadcrumb (teal gradient) */
.bb-tpc-head {
  background: linear-gradient(135deg, var(--bb-secondary-dark), var(--bb-secondary));
  color: #fff;
  padding: 32px 0 28px;
}
.bb-tpc-bcrumb { font-size: 12.5px; color: rgba(255,255,255,.85); margin-bottom: 10px; }
.bb-tpc-bcrumb a { color: rgba(255,255,255,.92); text-decoration: none; font-weight: 600; }
.bb-tpc-bcrumb a:hover { color: var(--bb-accent); }
.bb-tpc-bcrumb-sep { font-size: 9px; margin: 0 8px; opacity: .6; }
.bb-tpc-bcrumb i.fa-home { margin-right: 4px; }
.bb-tpc-title { font-family: 'Plus Jakarta Sans', sans-serif; color: #fff; font-size: clamp(24px, 3.4vw, 34px); font-weight: 800; margin: 0; }

/* Banner section */
.bb-tpc-banners { padding-top: 24px; padding-bottom: 0; }

/* Category summary */
.bb-tpc-summary { padding-top: 30px; }
.bb-tpc-summary-head { margin-bottom: 16px; }
.bb-tpc-totbadge {
  display: inline-block;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  padding: 6px 18px;
  border-radius: var(--bb-radius-pill);
  font-size: 12.5px; font-weight: 800;
  letter-spacing: .3px;
  margin-bottom: 14px;
  box-shadow: 0 6px 14px -4px rgba(249,115,22,.5);
}
.bb-tpc-desc-box {
  max-width: 980px; margin: 16px auto 0;
  background: linear-gradient(180deg, #fff7ed, #fff);
  border: 1px solid #fde6c4;
  border-left: 4px solid var(--bb-primary);
  border-radius: var(--bb-radius);
  padding: 16px 22px;
  font-size: 14px; color: var(--bb-text);
  line-height: 1.65;
}
.bb-tpc-desc-box p { margin: 0; }

/* ── ORIGIN CITIES TABS — horizontal scroll chips ───────────────── */
.bb-tpc-origin { padding: 26px 0 18px; }
.bb-tpc-origin-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 700; margin: 6px 0 18px; color: var(--bb-text); }
.bb-tpc-origin-scroll-wrap { position: relative; overflow: hidden; }
.bb-tpc-origin-scroll-wrap::after {
  content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 52px;
  background: linear-gradient(to right, transparent, #f8f9fb 80%);
  pointer-events: none; z-index: 2;
}
.bb-tpc-origin-tabs {
  list-style: none; margin: 0; padding: 4px 4px 12px;
  display: flex; gap: 8px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.bb-tpc-origin-tabs::-webkit-scrollbar { display: none; }
.bb-tpc-origin-tabs li { flex-shrink: 0; scroll-snap-align: start; }
.bb-tpc-origin-tab {
  display: inline-flex; align-items: center; gap: 5px;
  white-space: nowrap;
  background: #fff; border: 2px solid #e5e7eb;
  color: var(--bb-text);
  padding: 10px 20px; border-radius: 50px;
  font-size: 13.5px; font-weight: 600;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0,0,0,.06);
  transition: all .2s var(--ease);
}
.bb-tpc-origin-tab:hover {
  border-color: var(--bb-primary); color: var(--bb-primary);
  transform: translateY(-1px); box-shadow: 0 5px 14px rgba(249,115,22,.18);
}
.bb-tpc-origin-tab.is-active {
  background: linear-gradient(135deg, var(--bb-primary), #ea580c);
  border-color: var(--bb-primary); color: #fff; font-weight: 700;
  box-shadow: 0 6px 18px -3px rgba(249,115,22,.45);
}

/* ── VEHICLE TYPE FILTER — card-style horizontal scroll ──────────── */
.bb-tpc-vfilt { padding: 12px 0 0; }
.bb-tpc-vtabs-wrap { position: relative; overflow: hidden; }
.bb-tpc-vtabs-wrap::after {
  content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 52px;
  background: linear-gradient(to right, transparent, #fff 80%);
  pointer-events: none; z-index: 2;
}
.bb-tpc-vtabs {
  list-style: none; margin: 0; padding: 6px 4px 16px;
  display: flex; gap: 10px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.bb-tpc-vtabs::-webkit-scrollbar { display: none; }
.bb-tpc-vtabs li { flex-shrink: 0; scroll-snap-align: start; }
.bb-tpc-vtab {
  background: #fff; border: 2px solid #e5e7eb;
  color: var(--bb-text); cursor: pointer;
  min-width: 86px; padding: 16px 14px 13px;
  border-radius: 20px;
  display: flex; flex-direction: column; align-items: center; gap: 7px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  transition: all .22s var(--ease);
}
.bb-tpc-vtab i { font-size: 24px; }
.bb-tpc-vname { font-size: 12px; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.bb-tpc-vcount {
  background: #f1f5f9; color: var(--bb-text-muted);
  padding: 2px 10px; border-radius: 20px;
  font-size: 11px; font-weight: 800;
}
.bb-tpc-vtab:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,.1);
  border-color: var(--bb-primary);
}
/* Active states — color-coded per transport */
.bb-tpc-vtab.is-active {
  color: #fff; border-color: var(--bb-primary);
  background: linear-gradient(145deg, var(--bb-primary), #ea580c);
  box-shadow: 0 8px 22px -3px rgba(249,115,22,.45);
}
.bb-tpc-vtab.is-active .bb-tpc-vcount { background: rgba(255,255,255,.25); color: #fff; }
.bb-tpc-vtab--bus.is-active   { background: linear-gradient(145deg, #3b82f6, #1d4ed8); border-color: #3b82f6; box-shadow: 0 8px 22px -3px rgba(59,130,246,.4); }
.bb-tpc-vtab--car.is-active   { background: linear-gradient(145deg, #f59e0b, #b45309); border-color: #f59e0b; box-shadow: 0 8px 22px -3px rgba(245,158,11,.4); }
.bb-tpc-vtab--train.is-active { background: linear-gradient(145deg, #22c55e, #15803d); border-color: #22c55e; box-shadow: 0 8px 22px -3px rgba(34,197,94,.4); }
.bb-tpc-vtab--flight.is-active{ background: linear-gradient(145deg, #38bdf8, #0284c7); border-color: #38bdf8; box-shadow: 0 8px 22px -3px rgba(56,189,248,.4); }

/* Desktop: center-align both tab rows, disable scroll */
@media (min-width: 992px) {
  .bb-tpc-origin-scroll-wrap::after,
  .bb-tpc-vtabs-wrap::after { display: none; }

  .bb-tpc-origin-tabs {
    justify-content: center;
    overflow-x: visible;
    flex-wrap: wrap;
    padding-bottom: 4px;
  }
  .bb-tpc-vtabs {
    justify-content: center;
    overflow-x: visible;
    flex-wrap: wrap;
  }
}

/* Grid wrap — switch which div is visible */
.bb-tpc-grid-wrap { padding: 22px 0 60px; }
.bb-tpc-grid { display: none; }
.bb-tpc-grid.is-visible { display: block; }

/* Package card */
.bb-pkg-card {
  display: block;
  background: #fff; border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  text-decoration: none; color: inherit;
  height: 100%;
  transition: all .2s var(--ease);
}
.bb-pkg-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px -10px rgba(15, 23, 42, .18);
  border-color: var(--bb-primary-light);
  color: inherit;
}
.bb-pkg-img {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
}
.bb-pkg-img img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s var(--ease);
}
.bb-pkg-card:hover .bb-pkg-img img { transform: scale(1.06); }

/* Vehicle badge top-right (color-coded per package.vehicle_type) */
.bb-pkg-vbadge {
  position: absolute; top: 12px; right: 12px;
  padding: 5px 12px;
  border-radius: var(--bb-radius-pill);
  font-size: 11.5px; font-weight: 800;
  color: #fff;
  display: inline-flex; align-items: center; gap: 5px;
  box-shadow: 0 4px 10px -2px rgba(0,0,0,.25);
  z-index: 2;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.bb-pkg-vbadge i { font-size: 10px; }
.bb-pkg-vbadge--bus    { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }   /* 0 */
.bb-pkg-vbadge--car    { background: linear-gradient(135deg, #f97316, #c2410c); }   /* 1 */
.bb-pkg-vbadge--flight { background: linear-gradient(135deg, #0ea5e9, #0369a1); }   /* 2 */
.bb-pkg-vbadge--train  { background: linear-gradient(135deg, #10b981, #047857); }   /* 3 */
.bb-pkg-vbadge--entry  { background: linear-gradient(135deg, #ef4444, #b91c1c); }   /* 4 */

.bb-pkg-body { padding: 14px 18px; display: flex; flex-direction: column; gap: 10px; }
.bb-pkg-name {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14.5px; font-weight: 700; color: var(--bb-text);
  margin: 0; line-height: 1.35;
  min-height: 38px;
}
.bb-pkg-meta {
  display: flex; gap: 14px; flex-wrap: wrap;
  font-size: 11.5px; color: var(--bb-text-muted);
  padding: 6px 0;
  border-top: 1px dashed var(--bb-border-light);
  border-bottom: 1px dashed var(--bb-border-light);
}
.bb-pkg-meta i { color: var(--bb-primary); margin-right: 4px; }

.bb-pkg-amen {
  list-style: none; margin: 0; padding: 0;
  display: flex; gap: 8px;
}
.bb-pkg-amen li {
  width: 28px; height: 28px; border-radius: 8px;
  background: #f1f5f9; color: var(--bb-primary);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px;
  cursor: help;
}

.bb-pkg-foot {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 4px;
}
.bb-pkg-foot small { display: block; font-size: 10.5px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: .5px; font-weight: 700; }
.bb-pkg-foot strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 800; color: var(--bb-primary); }

/* CTA variants */
.bb-pkg-cta {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  padding: 7px 14px;
  border-radius: var(--bb-radius-pill);
  font-size: 12px; font-weight: 700;
  display: inline-flex; align-items: center; gap: 5px;
  box-shadow: 0 4px 10px -2px rgba(249,115,22,.45);
}
.bb-pkg-cta--enq {
  background: linear-gradient(135deg, var(--bb-secondary), var(--bb-secondary-dark));
  box-shadow: 0 4px 10px -2px rgba(13,148,136,.45);
}
.bb-pkg-cta--ext {
  background: linear-gradient(135deg, var(--bb-info), #0369a1);
  box-shadow: 0 4px 10px -2px rgba(14,165,233,.45);
}

/* Empty state */
.bb-pkg-empty {
  text-align: center; padding: 50px 22px;
  background: #fff7ed; border: 1px dashed var(--bb-primary-light);
  border-radius: var(--bb-radius-lg);
  color: var(--bb-text);
}
.bb-pkg-empty i { font-size: 48px; color: var(--bb-primary); display: block; margin-bottom: 14px; }
.bb-pkg-empty h3 { color: var(--bb-danger); font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; margin-bottom: 8px; }
.bb-pkg-empty p { color: var(--bb-text-muted); font-size: 13.5px; margin: 0; }
.bb-pkg-empty a { color: var(--bb-primary); font-weight: 700; text-decoration: none; }

/* CMS description (long-form) */
.bb-tpc-cmsdesc { padding: 40px 0; }
.bb-tpc-cms-body {
  max-width: 920px; margin: 0 auto;
  background: #fff; border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  padding: 28px 32px;
  font-size: 14.5px; color: var(--bb-text); line-height: 1.7;
  box-shadow: var(--bb-shadow-sm);
}
.bb-tpc-cms-body h4 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 17px; font-weight: 800; margin: 18px 0 10px; color: var(--bb-text); }
.bb-tpc-cms-body p { margin: 0 0 12px; }
.bb-tpc-cms-body ul { padding-left: 22px; margin: 0 0 14px; }
.bb-tpc-cms-body li { padding: 3px 0; }
.bb-tpc-cms-body strong { color: var(--bb-primary-dark); }

/* =====================================================================
   TOUR PACKAGE DETAILS — strict spec (08-tour-package-details.md)
   Most complex page · sticky scroll-spy tabs · fare panel · timeline
===================================================================== */

/* Breadcrumb + page title */
.bb-tpd-bcrumb-wrap { background: var(--bb-bg); padding: 12px 0; border-bottom: 1px solid var(--bb-border-light); }
.bb-tpd-bcrumb {
  font-size: 12.5px; color: var(--bb-text-muted);
  display: flex; align-items: center; flex-wrap: wrap;
}
@media (max-width: 575px) {
  .bb-tpd-bcrumb {
    flex-wrap: nowrap; overflow-x: auto; white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; padding-bottom: 2px;
  }
  .bb-tpd-bcrumb::-webkit-scrollbar { display: none; }
  .bb-tpd-bcrumb span { white-space: nowrap; }
}
.bb-tpd-bcrumb a { color: var(--bb-text); text-decoration: none; font-weight: 600; }
.bb-tpd-bcrumb a:hover { color: var(--bb-primary); }
.bb-tpd-bcrumb-sep { font-size: 9px; margin: 0 8px; opacity: .55; }
.bb-tpd-bcrumb i.fa-home { margin-right: 4px; color: var(--bb-primary); }
.bb-tpd-bcrumb span { color: var(--bb-text); font-weight: 600; }

/* Scrolling ticker */
.bb-tpd-ticker {
  background: linear-gradient(90deg, #fff7ed, #fefce8);
  border-top: 1px solid #fde6c4;
  border-bottom: 1px solid #fde6c4;
  padding: 8px 0;
  overflow: hidden;
}
.bb-tpd-ticker-track {
  display: flex; gap: 60px;
  white-space: nowrap;
  animation: bbTpdMarq 35s linear infinite;
  padding-left: 100%;
}
@keyframes bbTpdMarq { from { transform: translateX(0); } to { transform: translateX(-100%); } }
.bb-tpd-ticker-track span { font-size: 13px; color: #92400e; font-weight: 600; }
.bb-tpd-ticker-track i { color: var(--bb-primary); margin-right: 6px; }
.bb-tpd-ticker:hover .bb-tpd-ticker-track { animation-play-state: paused; }

/* Image gallery carousel */
.bb-tpd-gallery { padding: 20px 0; }
.bb-tpd-gallery .carousel-item img { width: 100%; height: clamp(260px, 45vw, 500px); object-fit: cover; border-radius: var(--bb-radius-lg); }

/* Package hero / summary bar */
.bb-tpd-hero { padding: 24px 0; background: #fff; border-bottom: 1px solid var(--bb-border-light); }
.bb-tpd-hero-row { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: start; }
@media (max-width: 991px) { .bb-tpd-hero-row { grid-template-columns: 1fr; } }
.bb-tpd-hero-text .bb-pkg-vbadge { position: static; box-shadow: none; margin-bottom: 8px; }
.bb-tpd-hero-name {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(20px, 2.6vw, 28px); font-weight: 800;
  margin: 6px 0 10px; line-height: 1.25;
  color: var(--bb-text);
}
.bb-tpd-hero-pills { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.bb-tpd-hero-pills li {
  background: var(--bb-bg); border: 1px solid var(--bb-border-light);
  padding: 5px 12px; border-radius: var(--bb-radius-pill);
  font-size: 12px; color: var(--bb-text-muted);
}
.bb-tpd-hero-pills li i { color: var(--bb-primary); margin-right: 5px; }
.bb-tpd-hero-pills li strong { color: var(--bb-text); margin: 0 2px; }
.bb-tpd-hero-rating { background: #fef3c7 !important; border-color: #fde68a !important; color: #92400e !important; }
.bb-tpd-hero-rating i { color: #eab308 !important; }
.bb-tpd-hero-rating strong { color: #78350f !important; }

.bb-tpd-hero-actions { display: flex; gap: 8px; align-items: center; }
.bb-tpd-hero-wish, .bb-tpd-hero-share {
  width: 42px; height: 42px; border-radius: 12px;
  background: #fff; border: 1.5px solid var(--bb-border);
  color: var(--bb-text-muted); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px; transition: all .15s;
}
.bb-tpd-hero-wish:hover { border-color: #ec4899; color: #ec4899; }
.bb-tpd-hero-share:hover { border-color: var(--bb-secondary); color: var(--bb-secondary); }
.bb-tpd-hero-cta {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff !important; text-decoration: none;
  padding: 12px 22px; border-radius: var(--bb-radius);
  font-weight: 800; font-size: 14px;
  display: inline-flex; align-items: center; gap: 8px;
  box-shadow: 0 10px 22px -6px rgba(249,115,22,.5);
  transition: transform .15s;
}
.bb-tpd-hero-cta:hover { transform: translateY(-2px); color: #fff; }
.bb-tpd-hero-cta span { background: rgba(255,255,255,.2); padding: 2px 8px; border-radius: var(--bb-radius-pill); font-size: 11px; font-weight: 700; }

/* Alert messages */
.bb-tpd-alerts { padding: 16px 0; }
.bb-tpd-alert {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 12px 16px;
  border-radius: var(--bb-radius);
  margin-bottom: 10px;
  font-size: 13.5px;
  border: 1px solid;
}
.bb-tpd-alert i { font-size: 18px; flex-shrink: 0; margin-top: 2px; }
.bb-tpd-alert strong { display: block; margin-bottom: 2px; }
.bb-tpd-alert--warn    { background: #fff7ed; border-color: #fdba74; color: #9a3412; }
.bb-tpd-alert--warn i  { color: #f97316; }
.bb-tpd-alert--info    { background: #eff6ff; border-color: #93c5fd; color: #1e3a8a; }
.bb-tpd-alert--info i  { color: #2563eb; }
.bb-tpd-alert--special { background: #fefce8; border-color: #fde047; color: #854d0e; }
.bb-tpd-alert--special i { color: #ca8a04; }
.bb-tpd-alert--success { background: #f0fdf4; border-color: #86efac; color: #166534; }
.bb-tpd-alert--success i { color: #16a34a; }
.bb-tpd-alert--danger  { background: #fef2f2; border-color: #fca5a5; color: #991b1b; }
.bb-tpd-alert--danger i { color: #dc2626; }
.bb-tpd-alert-dates { margin: 6px 0 0; padding-left: 18px; font-size: 12.5px; }
.bb-tpd-alert-dates li { padding: 2px 0; }

.bb-tpd-alert > div { min-width: 0; flex: 1; }
.bb-tpd-date-carousel { display: flex; gap: 8px; flex-wrap: nowrap; overflow-x: auto; padding: 10px 0; margin-top: 6px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.bb-tpd-date-carousel::-webkit-scrollbar { display: none; }
.bb-tpd-datechip {
  flex: 0 0 auto;
  background: #fff; border: 1.5px solid #86efac;
  padding: 8px 14px; border-radius: var(--bb-radius);
  text-align: center; min-width: 64px;
  color: #166534; cursor: pointer; transition: all .15s;
}
.bb-tpd-datechip:hover { transform: translateY(-2px); border-color: #16a34a; }
.bb-tpd-datechip strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 800; line-height: 1; }
.bb-tpd-datechip small { display: block; font-size: 10px; opacity: .85; }
.bb-tpd-datechip--full { background: #f1f5f9; border-color: #cbd5e1; color: #94a3b8; cursor: not-allowed; text-decoration: line-through; }

/* ===============================================================
   STICKY SCROLL-SPY TABS BAR · #navbar-sticky
   - position: sticky; top: header height
   - horizontal scroll on overflow with prev/next arrows
   - active state updates as user scrolls (IntersectionObserver)
   - smooth scroll on tab click (offset for sticky header+tabs)
=============================================================== */
.bb-tpd-tabs-bar {
  position: sticky;
  top: var(--header-h, 70px);
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid var(--bb-border-light);
  box-shadow: 0 4px 14px -10px rgba(15, 23, 42, .08);
}
.bb-tpd-tabs-bar .container {
  position: relative;
  display: flex; align-items: stretch; gap: 6px;
  min-height: 54px;
}
.bb-tpd-tabs-arrow {
  flex-shrink: 0;
  align-self: center;
  width: 32px; height: 32px;
  background: #fff; border: 1px solid var(--bb-border);
  color: var(--bb-text-muted); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 8px;
  z-index: 2;
}
.bb-tpd-tabs-arrow:hover { color: var(--bb-primary); border-color: var(--bb-primary); }
.bb-tpd-tabs {
  flex: 1; list-style: none; margin: 0; padding: 0;
  display: flex; align-items: stretch; gap: 4px; overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.bb-tpd-tabs::-webkit-scrollbar { display: none; }
.bb-tpd-tabs li { display: flex; align-items: stretch; }
.bb-tpd-tab {
  flex: 1 0 auto;
  display: flex; align-items: center; justify-content: center;
  height: 100%;
  padding: 0 18px;
  font-size: 13.5px; font-weight: 700;
  color: var(--bb-text-muted);
  text-decoration: none;
  border-bottom: 3px solid transparent;
  white-space: nowrap;
  transition: all .2s;
}
.bb-tpd-tab:hover { color: var(--bb-primary); }
.bb-tpd-tab.is-active {
  color: var(--bb-primary);
  border-bottom-color: var(--bb-primary);
  background: linear-gradient(180deg, transparent 0%, #fff7ed 100%);
}
@media (max-width: 575px) {
  .bb-tpd-tab { padding: 10px 14px; font-size: 12.5px; }
}

/* Main two-column body */
.bb-tpd-main { padding: 24px 0 80px; background: var(--bb-bg); }

/* Section blocks */
.bb-tpd-section {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  padding: 22px 26px;
  margin-bottom: 18px;
  /* offset scroll target so sticky tabs don't overlap section heading */
  scroll-margin-top: calc(var(--header-h, 70px) + 64px);
}
/* Unified section header — reusable light banner for EVERY section */
.bb-tpd-section-title {
  display: flex; align-items: center; gap: 12px;
  margin: 0 0 16px;
  padding: 13px 16px;
  border-radius: var(--bb-radius);
  background: radial-gradient(circle at 100% 0%, rgba(13,148,136,.10), transparent 42%), radial-gradient(circle at 0% 100%, rgba(249,115,22,.12), transparent 46%), #fffaf4;
  border: 1px solid var(--bb-border-light);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 19px; font-weight: 800;
  color: var(--bb-text);
}
.bb-tpd-section-title i {
  flex-shrink: 0;
  width: 42px; height: 42px; border-radius: 11px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff !important;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 18px;
  box-shadow: 0 6px 14px -5px rgba(249,115,22,.5);
}
.bb-tpd-section-title i.text-success { background: linear-gradient(135deg, #10b981, #059669); box-shadow: 0 6px 14px -5px rgba(16,185,129,.5); }
.bb-tpd-section-title i.text-danger  { background: linear-gradient(135deg, #fb7185, #e11d48); box-shadow: 0 6px 14px -5px rgba(225,29,72,.5); }
.bb-tpd-sec-text { display: flex; flex-direction: column; min-width: 0; }
.bb-tpd-sec-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 19px; font-weight: 800; color: var(--bb-text); line-height: 1.2; }
.bb-tpd-sec-title span { color: var(--bb-primary); }
.bb-tpd-sec-text small { font-size: 12.5px; color: var(--bb-text-muted); font-weight: 500; line-height: 1.35; margin-top: 2px; }
@media (max-width: 575px) {
  .bb-tpd-sec-title { font-size: 16.5px; }
  .bb-tpd-sec-text small { font-size: 11.5px; }
}

.bb-tpd-section-body { font-size: 14px; color: var(--bb-text); line-height: 1.7; }
.bb-tpd-section-body p { margin: 0 0 10px; }
.bb-tpd-section-body ul, .bb-tpd-section-body ol { padding-left: 20px; margin: 0 0 12px; }
.bb-tpd-section-body li { padding: 3px 0; }
.bb-tpd-section-body strong { color: var(--bb-primary-dark); }

/* Coupons */
.bb-tpd-coupons-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.bb-tpd-coupon {
  background: linear-gradient(135deg, #fff7ed, #fef3c7);
  border: 1px dashed #fdba74;
  border-radius: var(--bb-radius);
  padding: 14px 18px;
  display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center;
}
.bb-tpd-coupon-tag { display: inline-block; background: var(--bb-primary); color: #fff; padding: 2px 8px; border-radius: var(--bb-radius-pill); font-size: 10px; font-weight: 800; margin-bottom: 4px; }
.bb-tpd-coupon-body strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 17px; font-weight: 800; color: var(--bb-primary-dark); letter-spacing: 1px; }
.bb-tpd-coupon-body small { display: block; font-size: 11.5px; color: var(--bb-text-muted); }
.bb-tpd-coupon-apply { background: var(--bb-primary); color: #fff; border: 0; padding: 8px 16px; border-radius: var(--bb-radius); font-weight: 800; font-size: 12px; cursor: pointer; }

/* Fare tabs */
/* Centered, attached segmented-control tabs (shared by Fare / Itinerary / Inclusions / Exclusions / Timings) */
.bb-tpd-fare-tabs {
  display: flex; flex-wrap: nowrap; gap: 0;
  width: fit-content; max-width: 100%;
  margin: 0 auto 16px;
  background: var(--bb-bg);
  border: 1px solid var(--bb-border);
  border-radius: var(--bb-radius-pill);
  padding: 4px;
  overflow-x: auto; scrollbar-width: none;
}
.bb-tpd-fare-tabs::-webkit-scrollbar { display: none; }
.bb-tpd-fare-tabs .nav-item { display: flex; }
.bb-tpd-fare-tabs .nav-link {
  background: transparent; border: 0;
  color: var(--bb-text-muted);
  padding: 8px 22px; border-radius: var(--bb-radius-pill);
  font-size: 13px; font-weight: 700; white-space: nowrap;
  transition: color .15s, background .15s;
}
.bb-tpd-fare-tabs .nav-link:hover { color: var(--bb-primary); }
.bb-tpd-fare-tabs .nav-link.active {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  box-shadow: 0 4px 10px -3px rgba(249,115,22,.5);
}

/* Operator card (3-level nested fare display) */
.bb-tpd-opcard {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  padding: 0;
  margin-bottom: 14px;
  overflow: hidden;
}
.bb-tpd-opcard-head {
  background: var(--bb-bg);
  padding: 14px 18px;
  border-bottom: 1px solid var(--bb-border-light);
  display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center;
}
.bb-tpd-opcard-info { display: flex; align-items: center; gap: 12px; }
.bb-tpd-op-logo {
  width: 46px; height: 46px; border-radius: 12px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff; display: inline-flex; align-items: center; justify-content: center;
  font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: 16px;
  flex-shrink: 0;
}
.bb-tpd-op-logo--teal   { background: linear-gradient(135deg, var(--bb-secondary), var(--bb-secondary-dark)); }
.bb-tpd-op-logo--orange { background: linear-gradient(135deg, #fb923c, #ea580c); }
.bb-tpd-op-logo--purple { background: linear-gradient(135deg, #a78bfa, #7c3aed); }

.bb-tpd-opcard-info h4 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 700; margin: 0 0 4px; color: var(--bb-text); }
.bb-tpd-op-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.bb-tpd-op-tag {
  padding: 3px 10px; border-radius: var(--bb-radius-pill);
  font-size: 10.5px; font-weight: 700;
  display: inline-flex; align-items: center; gap: 4px;
  cursor: pointer;
}
.bb-tpd-op-tag--green { background: #ecfdf5; color: #047857; border: 1px solid #6ee7b7; }
.bb-tpd-op-tag--blue  { background: #eff6ff; color: #1e40af; border: 1px solid #93c5fd; }

.bb-tpd-opcard-rating { text-align: center; }
.bb-tpd-opcard-rating span { display: inline-block; background: #fef3c7; color: #92400e; padding: 4px 10px; border-radius: var(--bb-radius-pill); font-size: 12px; font-weight: 800; }
.bb-tpd-opcard-rating span i { color: #eab308; margin-right: 3px; font-size: 10px; }
.bb-tpd-opcard-rating small { display: block; font-size: 11px; color: var(--bb-text-muted); margin-top: 4px; }

.bb-tpd-opcard-body { padding: 16px 18px; }
.bb-tpd-fare-pricing { margin-bottom: 12px; }
.bb-tpd-fare-row { display: flex; justify-content: space-between; align-items: baseline; padding: 6px 0; border-bottom: 1px dashed var(--bb-border-light); }
.bb-tpd-fare-row:last-child { border-bottom: 0; }
.bb-tpd-fare-label { font-size: 13px; color: var(--bb-text); }
.bb-tpd-fare-label a { font-size: 11px; color: var(--bb-secondary); text-decoration: none; font-weight: 600; }
.bb-tpd-fare-amount { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; color: var(--bb-primary); }
.bb-tpd-fare-amount--small { font-size: 16px; color: var(--bb-text); }

.bb-tpd-fare-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.bb-tpd-fare-table th { background: var(--bb-bg); padding: 8px 10px; font-size: 11.5px; text-transform: uppercase; letter-spacing: .4px; color: var(--bb-text-muted); text-align: left; }
.bb-tpd-fare-table td { padding: 8px 10px; border-bottom: 1px dashed var(--bb-border-light); }
.bb-tpd-fare-table td strong { font-family: 'Plus Jakarta Sans', sans-serif; color: var(--bb-primary); font-size: 15px; }

.bb-tpd-opcard-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 10px; border-top: 1px dashed var(--bb-border-light); margin-top: 8px; flex-wrap: wrap; }
.bb-tpd-incl-link { font-size: 12.5px; color: var(--bb-secondary); text-decoration: none; font-weight: 700; }
.bb-tpd-incl-link:hover { color: var(--bb-secondary-dark); }
.bb-tpd-book-btn {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff !important; text-decoration: none;
  padding: 10px 20px; border-radius: var(--bb-radius);
  font-size: 13.5px; font-weight: 800;
  display: inline-flex; align-items: center; gap: 6px;
  border: 0; cursor: pointer;
  box-shadow: 0 6px 14px -4px rgba(249,115,22,.45);
}
.bb-tpd-book-btn:hover { transform: translateY(-1px); color: #fff; }
.bb-tpd-nocancel { color: var(--bb-danger); font-size: 12px; font-weight: 700; margin: 8px 0 0; }

/* Itinerary timeline */
.bb-tpd-itin-acc { border: 0; }
.bb-tpd-itin-acc .accordion-item { border: 1px solid var(--bb-border-light); border-radius: var(--bb-radius); margin-bottom: 8px; }
.bb-tpd-itin-acc .accordion-button { font-weight: 700; padding: 12px 16px; }
.bb-tpd-itin-acc .accordion-button i { color: var(--bb-primary); margin-right: 8px; }

/* ============================================================
   ITINERARY — innovative vertical timeline + legend + segments
============================================================ */

/* Legend strip — decodes the activity icons so the plan reads at a glance */
.bb-tpd-itin-legend {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px;
  background: var(--bb-bg);
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  padding: 9px 14px; margin-bottom: 14px;
  font-size: 12px; color: var(--bb-text-muted);
}
.bb-tpd-itin-legend-label { font-weight: 800; color: var(--bb-text); }
.bb-tpd-itin-legend-label i { color: var(--bb-primary); margin-right: 4px; }
.bb-tpd-legend-item { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; }
.bb-tpd-legend-item > i { width: 16px; text-align: center; color: var(--bb-primary); }
.bb-tpd-legend-sep { width: 1px; height: 16px; background: var(--bb-border); }
.bb-tpd-legend-meal { gap: 4px; }
.bb-tpd-legend-meal .bb-tpd-meal { width: 20px; height: 20px; font-size: 9.5px; }
@media (max-width: 575px) { .bb-tpd-legend-sep { display: none; } }

/* Vertical timeline — colored time-of-day dots carrying an activity icon */
.bb-tpd-timeline { list-style: none; margin: 0; padding: 16px 18px 8px; position: relative; }
.bb-tpd-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr;
  column-gap: 14px;
  padding: 0 0 18px;
}
.bb-tpd-timeline-item:last-child { padding-bottom: 4px; }
/* connector that threads the dots together into one continuous day */
.bb-tpd-timeline-item:not(:last-child)::before {
  content: '';
  position: absolute;
  left: 19px; top: 44px; bottom: -2px;
  width: 2px;
  background: var(--bb-border-light);
}
.bb-tpd-timeline-marker {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  border-radius: 50%;
  font-size: 15px;
  position: relative; z-index: 1;
  box-shadow: 0 4px 10px -4px rgba(0,0,0,.3);
}
.bb-tpd-timeline-body { min-width: 0; padding-top: 1px; }
.bb-tpd-timeline-body h4,
.bb-tpd-timeline-body h5 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14.5px; font-weight: 800; color: var(--bb-text);
  margin: 6px 0 4px;
}
.bb-tpd-timeline-desc, .bb-tpd-timeline-body p { font-size: 13px; color: var(--bb-text-muted); line-height: 1.6; margin: 0; }
.bb-tpd-timeline-desc p { margin: 0; }

/* Time-of-day SEGMENT badges — single-day tours (Morning / Afternoon / Evening) */
.bb-tpd-daycard-num.bb-tpd-seg--morning   { background: linear-gradient(135deg, #fbbf24, #f59e0b); box-shadow: 0 6px 14px -4px rgba(245,158,11,.55); }
.bb-tpd-daycard-num.bb-tpd-seg--afternoon { background: linear-gradient(135deg, #fb923c, #ea580c); box-shadow: 0 6px 14px -4px rgba(234,88,12,.55); }
.bb-tpd-daycard-num.bb-tpd-seg--evening   { background: linear-gradient(135deg, #6366f1, #4338ca); box-shadow: 0 6px 14px -4px rgba(67,56,202,.55); }
.bb-tpd-daycard-num.bb-tpd-seg--morning i,
.bb-tpd-daycard-num.bb-tpd-seg--afternoon i,
.bb-tpd-daycard-num.bb-tpd-seg--evening i { font-size: 26px; color: #fff; margin: 0; }
/* Mobile sizing for this timeline lives in the @media (max-width:767px) block below */

/* ============================================================
   ITINERARY v2 — numbered accordion (production bestbus style)
============================================================ */

/* Itinerary section banner — light, badge + title (matches other sections) */
.bb-tpd-itin-banner {
  border-radius: var(--bb-radius);
  margin-bottom: 16px;
  padding: 14px 18px;
  background: radial-gradient(circle at 100% 0%, rgba(13,148,136,.10), transparent 42%), radial-gradient(circle at 0% 100%, rgba(249,115,22,.12), transparent 46%), #fffaf4;
  border: 1px solid var(--bb-border-light);
  color: var(--bb-text);
}
.bb-tpd-itin-banner-row { display: flex; align-items: center; gap: 12px; }
.bb-tpd-itin-banner-badge {
  flex-shrink: 0;
  width: 42px; height: 42px; border-radius: 11px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 18px; color: #fff;
  box-shadow: 0 6px 14px -5px rgba(249,115,22,.5);
}
.bb-tpd-itin-banner-head { flex: 1; min-width: 0; }
.bb-tpd-itin-banner-head h2 {
  margin: 0; font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 20px; font-weight: 800; letter-spacing: .2px; color: var(--bb-text);
}
.bb-tpd-itin-banner-head h2 span { color: var(--bb-primary); }
.bb-tpd-itin-banner-head p { margin: 2px 0 0; font-size: 12.5px; color: var(--bb-text-muted); }
@media (max-width: 575px) {
  .bb-tpd-itin-banner { padding: 12px 14px; }
  .bb-tpd-itin-banner-head h2 { font-size: 18px; }
  .bb-tpd-itin-banner-head p { font-size: 11.5px; }
  .bb-tpd-itin-banner-badge { width: 38px; height: 38px; font-size: 16px; }
}

/* LEVEL 2 — operator accordion (teal bar) */
.bb-tpd-op {
  border: 1px solid var(--bb-border-light);
  border-radius: 10px; overflow: hidden;
  margin-bottom: 16px;
  box-shadow: var(--bb-shadow-sm);
}
.bb-tpd-op:last-child { margin-bottom: 0; }
.bb-tpd-op-head {
  display: flex; align-items: center; gap: 12px;
  background: linear-gradient(180deg, var(--bb-secondary), var(--bb-secondary-dark));
  color: #fff; padding: 13px 16px;
  cursor: pointer; user-select: none;
  transition: filter .15s;
}
.bb-tpd-op-head:hover { filter: brightness(1.08); }
.bb-tpd-op-ico {
  flex-shrink: 0;
  width: 34px; height: 34px; border-radius: 9px;
  background: rgba(255,255,255,.18);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px;
}
.bb-tpd-op-name {
  flex: 1; min-width: 0;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800; font-size: 15px; line-height: 1.25;
}
.bb-tpd-op-name small { display: block; font-weight: 600; font-size: 11.5px; opacity: .85; margin-top: 2px; }
.bb-tpd-op-chev { flex-shrink: 0; font-size: 17px; opacity: .9; transition: transform .25s var(--ease); }
.bb-tpd-op-head.collapsed .bb-tpd-op-chev { transform: rotate(180deg); }
.bb-tpd-op-body { padding: 12px; background: #ecfaf7; border: 1px solid #a3d9cf; border-radius: 0 0 9px 9px; }
@media (max-width: 575px) {
  .bb-tpd-op-body { padding: 9px; }
  .bb-tpd-op-name { font-size: 14px; }
}

/* Section block */
.bb-tpd-itin2-block {
  border: 1px solid var(--bb-border-light);
  border-radius: 8px; overflow: hidden;
  margin-bottom: 14px;
  box-shadow: var(--bb-shadow-sm);
}
.bb-tpd-itin2-block:last-child { margin-bottom: 0; }

/* Blue collapsible header */
.bb-tpd-itin2-head {
  display: flex; align-items: center; gap: 12px;
  background: linear-gradient(180deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  padding: 12px 16px;
  cursor: pointer; user-select: none;
  transition: filter .15s;
}
.bb-tpd-itin2-head:hover { filter: brightness(1.07); }
.bb-tpd-itin2-num {
  flex-shrink: 0;
  width: 26px; height: 26px;
  background: #fff; color: var(--bb-primary-dark);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800; font-size: 13px;
}
.bb-tpd-itin2-title {
  flex: 1; min-width: 0;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700; font-size: 15px; line-height: 1.3;
}
.bb-tpd-itin2-chev { flex-shrink: 0; font-size: 18px; opacity: .92; transition: transform .25s var(--ease); }
.bb-tpd-itin2-head.collapsed .bb-tpd-itin2-chev { transform: rotate(180deg); }

/* Body */
.bb-tpd-itin2-body { padding: 16px 18px; background: #fff; }
.bb-tpd-itin2-list { margin: 0; padding-left: 20px; list-style: disc; }
.bb-tpd-itin2-list > li { font-size: 14px; color: var(--bb-text); line-height: 1.7; margin-bottom: 7px; }
.bb-tpd-itin2-list > li:last-child { margin-bottom: 0; }
.bb-tpd-itin2-list ul { list-style: circle; margin: 7px 0 4px; padding-left: 22px; }
.bb-tpd-itin2-list ul li { font-size: 13.5px; line-height: 1.65; margin-bottom: 5px; color: var(--bb-text); }
.bb-tpd-itin2-list strong { font-weight: 700; color: var(--bb-text); }
.bb-tpd-itin2-info { color: var(--bb-secondary-dark); font-weight: 700; }
.bb-tpd-itin2-warn { color: #dc2626; font-weight: 700; }
.bb-tpd-itin2-note-label { color: #dc2626; font-weight: 800; }

/* Pink disclaimer note */
.bb-tpd-itin2-note {
  background: #fff1f2; color: #9f1239;
  border: 1px solid #fecdd3;
  border-radius: 6px;
  padding: 9px 12px; margin: 14px 0 0;
  font-size: 12px; line-height: 1.55;
}

/* Tour Plan box */
.bb-tpd-itin2-plan {
  max-width: 300px; margin: 16px auto 0;
  border: 1px solid var(--bb-border-light);
  border-radius: 8px;
  padding: 12px 16px; text-align: center;
  background: #f8fafc;
}
.bb-tpd-itin2-plan-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800; font-size: 11.5px; color: var(--bb-secondary-dark);
  text-transform: uppercase; letter-spacing: .6px;
  margin-bottom: 4px;
}
.bb-tpd-itin2-plan > i { font-size: 22px; color: var(--bb-primary); display: block; margin: 4px 0; }
.bb-tpd-itin2-plan-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700; font-size: 13px; color: var(--bb-text); margin-top: 4px;
}

/* Places Covered carousel */
.bb-tpd-itin2-places {
  margin-top: 16px;
  border: 1px solid var(--bb-border-light);
  border-radius: 8px; overflow: hidden;
}
.bb-tpd-itin2-places-head {
  background: var(--bb-primary-soft); color: var(--bb-primary-dark);
  text-align: center;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800; font-size: 14px;
  padding: 9px 12px;
}
.bb-tpd-itin2-places-row {
  display: flex; gap: 12px;
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  padding: 14px;
  scroll-snap-type: x proximity;
}
.bb-tpd-itin2-places-row::-webkit-scrollbar { height: 7px; }
.bb-tpd-itin2-places-row::-webkit-scrollbar-track { background: transparent; }
.bb-tpd-itin2-places-row::-webkit-scrollbar-thumb { background: var(--bb-border); border-radius: 4px; }

.bb-tpd-pcard {
  flex: 0 0 auto; width: 150px;
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: 10px; overflow: hidden;
  box-shadow: var(--bb-shadow-sm);
  transition: transform .15s, box-shadow .15s;
}
.bb-tpd-pcard:hover { transform: translateY(-3px); box-shadow: var(--bb-shadow-md); }
.bb-tpd-pcard-img { position: relative; height: 105px; background: var(--bb-bg); }
.bb-tpd-pcard-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bb-tpd-pcard-img::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.6));
}
.bb-tpd-pcard-label {
  position: absolute; left: 6px; right: 6px; bottom: 7px; z-index: 1;
  text-align: center;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800; font-size: 13px; line-height: 1.1;
  color: #fcd34d;
  text-shadow: 0 1px 4px rgba(0,0,0,.95);
}
.bb-tpd-pcard:nth-child(5n+1) .bb-tpd-pcard-label { color: #fcd34d; }
.bb-tpd-pcard:nth-child(5n+2) .bb-tpd-pcard-label { color: #f9a8d4; }
.bb-tpd-pcard:nth-child(5n+3) .bb-tpd-pcard-label { color: #86efac; }
.bb-tpd-pcard:nth-child(5n+4) .bb-tpd-pcard-label { color: #7dd3fc; }
.bb-tpd-pcard:nth-child(5n)   .bb-tpd-pcard-label { color: #fdba74; }
.bb-tpd-pcard-cap { padding: 8px 8px 10px; text-align: center; }
.bb-tpd-pcard-cap strong { display: block; font-size: 12px; color: var(--bb-text); font-weight: 800; line-height: 1.25; }
.bb-tpd-pcard-cap span { display: block; font-size: 11px; color: var(--bb-text-muted); font-weight: 700; margin-top: 1px; }

@media (max-width: 575px) {
  .bb-tpd-itin-banner h2 { font-size: 20px; }
  .bb-tpd-itin-banner-skyline { font-size: 22px; }
  .bb-tpd-itin2-title { font-size: 14px; }
  .bb-tpd-itin2-body { padding: 14px 14px; }
  .bb-tpd-pcard { width: 135px; }
  .bb-tpd-pcard-img { height: 95px; }
}

/* Inclusion / Exclusion lists */
.bb-tpd-incl-list, .bb-tpd-excl-list { list-style: none; margin: 0; padding: 0; }
.bb-tpd-incl-list li, .bb-tpd-excl-list li {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 7px 0;
  font-size: 13.5px; color: var(--bb-text);
  border-bottom: 1px dashed var(--bb-border-light);
}
.bb-tpd-incl-list li:last-child, .bb-tpd-excl-list li:last-child { border-bottom: 0; }
.bb-tpd-incl-list i { color: #10b981; margin-top: 3px; }
.bb-tpd-excl-list i { color: #ef4444; margin-top: 3px; }
.bb-tpd-acc-incl .accordion-button:not(.collapsed) { background: #ecfdf5; color: #047857; }
.bb-tpd-acc-excl .accordion-button:not(.collapsed) { background: #fef2f2; color: #b91c1c; }

/* Pickup points (timings) */
.bb-tpd-nearest {
  background: #fff7ed; border: 1px dashed #fdba74;
  border-radius: var(--bb-radius);
  padding: 14px 16px;
  margin-bottom: 14px;
}
.bb-tpd-nearest-label { display: block; font-size: 13px; font-weight: 700; color: #9a3412; margin-bottom: 8px; }
.bb-tpd-nearest-label i { color: var(--bb-primary); margin-right: 4px; }
.bb-tpd-nearest-row { display: flex; gap: 8px; }
.bb-tpd-nearest-input { flex: 1; padding: 10px 14px; border: 1.5px solid #fdba74; border-radius: var(--bb-radius); font-size: 13.5px; }
.bb-tpd-nearest-input:focus { outline: 0; border-color: var(--bb-primary); box-shadow: 0 0 0 4px rgba(249,115,22,.12); }
.bb-tpd-nearest-btn {
  background: var(--bb-primary); color: #fff; border: 0;
  padding: 10px 18px; border-radius: var(--bb-radius);
  font-weight: 800; font-size: 13px; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
}
.bb-tpd-nearest small { display: block; margin-top: 6px; font-size: 11px; color: #92400e; }

.bb-tpd-stop-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.bb-tpd-stop-table th { background: var(--bb-bg); padding: 9px 10px; font-size: 11.5px; text-transform: uppercase; letter-spacing: .4px; color: var(--bb-text-muted); text-align: left; }
.bb-tpd-stop-table td { padding: 9px 10px; border-bottom: 1px dashed var(--bb-border-light); }
.bb-tpd-stop-table td strong { font-family: 'Plus Jakarta Sans', sans-serif; color: var(--bb-primary); }

/* Amenities chips */
.bb-tpd-amen-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.bb-tpd-amen-chip {
  background: var(--bb-bg); border: 1px solid var(--bb-border-light);
  padding: 7px 14px; border-radius: var(--bb-radius-pill);
  font-size: 12.5px; font-weight: 600; color: var(--bb-text);
  display: inline-flex; align-items: center; gap: 6px;
}
.bb-tpd-amen-chip i { color: var(--bb-primary); font-size: 12px; }

/* Places covered */
.bb-tpd-places-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.bb-tpd-place {
  background: var(--bb-bg);
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  padding: 14px 16px;
}
.bb-tpd-place h4 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 800; margin: 0 0 6px; color: var(--bb-primary-dark); }
.bb-tpd-place p { font-size: 13px; color: var(--bb-text-muted); margin: 0; line-height: 1.55; }

/* Reviews */
.bb-tpd-rev-summary {
  display: grid; grid-template-columns: 160px 1fr; gap: 24px;
  padding: 18px 20px; margin-bottom: 16px;
  background: linear-gradient(135deg, #fff7ed, #fefce8);
  border: 1px solid #fde6c4;
  border-radius: var(--bb-radius);
}
@media (max-width: 575px) { .bb-tpd-rev-summary { grid-template-columns: 1fr; text-align: center; } }
.bb-tpd-rev-big strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 44px; font-weight: 800; color: var(--bb-primary); line-height: 1; }
.bb-tpd-rev-stars { color: #eab308; font-size: 14px; margin: 4px 0; }
.bb-tpd-rev-label { display: inline-block; background: #16a34a; color: #fff; padding: 3px 12px; border-radius: var(--bb-radius-pill); font-size: 11.5px; font-weight: 800; margin-bottom: 4px; }
.bb-tpd-rev-big small { display: block; font-size: 12px; color: var(--bb-text-muted); }

.bb-tpd-rev-bars { display: grid; gap: 6px; }
.bb-tpd-rev-bar { display: grid; grid-template-columns: 30px 1fr 50px; gap: 8px; align-items: center; font-size: 12px; color: var(--bb-text); }
.bb-tpd-rev-bar-fill { height: 8px; background: var(--bb-border-light); border-radius: 4px; overflow: hidden; }
.bb-tpd-rev-bar-fill span { display: block; height: 100%; background: linear-gradient(90deg, #eab308, #f59e0b); width: var(--w, 0); border-radius: 4px; transition: width 1s var(--ease); }

.bb-tpd-rev-filter { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-bottom: 14px; }
.bb-tpd-rev-filter > span { font-size: 12px; font-weight: 700; color: var(--bb-text-muted); margin-right: 4px; }
.bb-tpd-rev-pill {
  background: #fff; border: 1.5px solid var(--bb-border); color: var(--bb-text);
  padding: 5px 14px; border-radius: var(--bb-radius-pill);
  font-size: 12px; font-weight: 700; cursor: pointer; transition: all .15s;
}
.bb-tpd-rev-pill:hover { border-color: var(--bb-primary); color: var(--bb-primary); }
.bb-tpd-rev-pill.is-active { background: var(--bb-primary); border-color: var(--bb-primary); color: #fff; }
.bb-tpd-rev-write {
  margin-left: auto;
  background: linear-gradient(135deg, var(--bb-secondary), var(--bb-secondary-dark));
  color: #fff; border: 0;
  padding: 7px 16px; border-radius: var(--bb-radius);
  font-size: 12.5px; font-weight: 800; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
}

.bb-tpd-rev-list { display: grid; gap: 14px; }
.bb-tpd-rev-item { background: var(--bb-bg); border: 1px solid var(--bb-border-light); border-radius: var(--bb-radius); padding: 14px 18px; }
.bb-tpd-rev-head { display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; margin-bottom: 8px; }
.bb-tpd-rev-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--bb-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.bb-tpd-rev-avatar--p { background: var(--bb-secondary); }
.bb-tpd-rev-avatar--a { background: #a78bfa; }
.bb-tpd-rev-meta strong { display: block; font-size: 13.5px; font-weight: 700; }
.bb-tpd-rev-meta small { display: block; font-size: 11px; color: var(--bb-text-muted); }
.bb-tpd-rev-itemstars { color: #eab308; font-size: 12px; }
.bb-tpd-rev-comment { font-size: 13.5px; color: var(--bb-text); line-height: 1.6; margin: 0 0 10px; }
.bb-tpd-rev-foot { display: flex; gap: 14px; padding-top: 8px; border-top: 1px dashed var(--bb-border-light); }
.bb-tpd-rev-foot button { background: transparent; border: 0; font-size: 12px; color: var(--bb-text-muted); cursor: pointer; }
.bb-tpd-rev-foot button:hover { color: var(--bb-primary); }
.bb-tpd-rev-loadmore {
  display: block; margin: 16px auto 0;
  background: #fff; border: 1.5px dashed var(--bb-border);
  color: var(--bb-primary); padding: 10px 22px; border-radius: var(--bb-radius);
  font-weight: 800; font-size: 13px; cursor: pointer;
}
.bb-tpd-rev-loadmore:hover { border-color: var(--bb-primary); background: #fff7ed; }

/* Star rating input (write review modal) */
.bb-tpd-rev-input-stars { display: inline-flex; flex-direction: row-reverse; gap: 4px; font-size: 24px; }
.bb-tpd-rev-input-stars input { display: none; }
.bb-tpd-rev-input-stars label { cursor: pointer; color: var(--bb-border); transition: color .15s; }
.bb-tpd-rev-input-stars label:hover, .bb-tpd-rev-input-stars label:hover ~ label,
.bb-tpd-rev-input-stars input:checked ~ label { color: #eab308; }
.bb-tpd-rev-input-stars input:checked + label i,
.bb-tpd-rev-input-stars label:hover i { font-weight: 900; }

/* Videos */
.bb-tpd-videos-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.bb-tpd-video { background: #000; border-radius: var(--bb-radius); overflow: hidden; }
.bb-tpd-video iframe { width: 100%; aspect-ratio: 16/9; border: 0; }
.bb-tpd-video small { display: block; padding: 8px 12px; color: var(--bb-text); background: #fff; font-size: 12px; }

/* Cancellation timeline */
.bb-tpd-cancel-timeline {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
  position: relative;
}
.bb-tpd-cancel-timeline::before {
  content: ''; position: absolute; left: 8%; right: 8%; top: 18px;
  height: 4px;
  background: linear-gradient(90deg, #10b981 0%, #eab308 33%, #f97316 66%, #ef4444 100%);
  border-radius: 4px; z-index: 0;
}
.bb-tpd-cancel-stage { position: relative; z-index: 1; text-align: center; padding-top: 36px; }
.bb-tpd-cancel-stage::before {
  content: ''; position: absolute; top: 6px; left: 50%; transform: translateX(-50%);
  width: 28px; height: 28px; border-radius: 50%;
  background: #fff; border: 4px solid currentColor;
}
.bb-tpd-cancel-stage--green  { color: #10b981; }
.bb-tpd-cancel-stage--yellow { color: #eab308; }
.bb-tpd-cancel-stage--orange { color: #f97316; }
.bb-tpd-cancel-stage--red    { color: #ef4444; }
.bb-tpd-cancel-stage strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 16px; font-weight: 800; }
.bb-tpd-cancel-stage small { display: block; font-size: 10.5px; color: var(--bb-text-muted); margin-top: 2px; }

/* Why MyHolidaysZone items */
.bb-tpd-why-item {
  display: flex; gap: 12px; align-items: center;
  background: var(--bb-bg); border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius); padding: 14px 16px;
}
.bb-tpd-why-item i {
  width: 42px; height: 42px; border-radius: 12px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff; display: inline-flex; align-items: center; justify-content: center;
  font-size: 18px; flex-shrink: 0;
}
.bb-tpd-why-item strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13.5px; font-weight: 800; color: var(--bb-text); }
.bb-tpd-why-item small { display: block; font-size: 12px; color: var(--bb-text-muted); }

/* ===============================================================
   STICKY FARE SUMMARY PANEL (right column)
=============================================================== */
.bb-tpd-farepanel {
  position: sticky;
  top: calc(var(--header-h, 70px) + 70px);
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  box-shadow: var(--bb-shadow-md);
  overflow: hidden;
}
.bb-tpd-farepanel-head {
  background: linear-gradient(135deg, var(--bb-secondary-dark), var(--bb-secondary));
  color: #fff;
  padding: 14px 18px;
}
.bb-tpd-farepanel-head h3 { font-family: 'Plus Jakarta Sans', sans-serif; color: #fff; font-size: 16px; font-weight: 800; margin: 0; }
.bb-tpd-farepanel-head small { display: block; font-size: 11.5px; opacity: .9; margin-top: 2px; }

.bb-tpd-farepanel-body { padding: 16px 18px; }
.bb-tpd-farepanel-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13.5px; color: var(--bb-text); }
.bb-tpd-farepanel-row strong { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; }
.bb-tpd-farepanel-price { font-size: 24px; color: var(--bb-primary); }
.bb-tpd-farepanel-row--disc { color: #047857; }
.bb-tpd-farepanel-row--disc strong { color: #047857; }
.bb-tpd-farepanel-row--save { background: linear-gradient(135deg, #ecfdf5, #d1fae5); margin: 4px -8px; padding: 8px 8px; border-radius: 6px; color: #047857; }
.bb-tpd-farepanel-row--save strong { color: #047857; font-size: 15px; }
.bb-tpd-farepanel-body hr { margin: 8px 0; border-style: dashed; }
.bb-tpd-farepanel-body i { color: var(--bb-secondary); margin-right: 4px; font-size: 12px; }

.bb-tpd-farepanel-cta {
  display: block; margin: 0 18px 14px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff !important; text-decoration: none;
  padding: 14px; border-radius: var(--bb-radius);
  font-weight: 800; font-size: 15px; text-align: center;
  box-shadow: 0 10px 22px -6px rgba(249,115,22,.5);
  transition: transform .15s;
}
.bb-tpd-farepanel-cta:hover { transform: translateY(-2px); color: #fff; }
.bb-tpd-farepanel-cta i { color: #fff; margin-right: 6px; }

.bb-tpd-farepanel-help {
  margin: 0 18px;
  background: var(--bb-bg);
  border-radius: var(--bb-radius);
  padding: 10px 14px;
  display: flex; align-items: center; gap: 10px;
  font-size: 12px; color: var(--bb-text-muted);
}
.bb-tpd-farepanel-help i { color: var(--bb-secondary); font-size: 18px; margin: 0; }
.bb-tpd-farepanel-help small { display: block; font-size: 11px; }
.bb-tpd-farepanel-help a { display: block; color: var(--bb-secondary); font-weight: 800; font-size: 14px; text-decoration: none; }

.bb-tpd-farepanel-social {
  margin: 12px 18px 18px;
  padding: 8px;
  text-align: center;
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
  border-radius: var(--bb-radius);
  font-size: 12px; color: #9a3412; font-weight: 600;
}
.bb-tpd-farepanel-social i { color: var(--bb-primary); }
.bb-tpd-farepanel-social strong { color: var(--bb-primary-dark); }

/* Right rail: the details aside stacks TWO .bb-tpd-farepanel cards (Book Now +
   Available Days). Each was position:sticky at the same top, so on desktop the
   second pinned onto the first and overlapped it. Make the whole column ONE
   sticky unit and let both cards flow normally inside it (scoped to the details
   layout so single-panel farepanels elsewhere keep their own stickiness). */
.bb-tpd-main .row > .col-lg-4 .bb-tpd-farepanel { position: static; top: auto; }
@media (min-width: 992px) {
  .bb-tpd-main .row > .col-lg-4 {
    position: sticky;
    top: calc(var(--header-h, 70px) + 70px);
    align-self: flex-start;
  }
}

/* Mobile sticky bottom CTA */
.bb-tpd-mobcta {
  position: fixed; left: 0; right: 0; bottom: 64px; /* above mobile bottom nav */
  z-index: 60;
  background: #fff;
  border-top: 1px solid var(--bb-border);
  box-shadow: 0 -8px 22px -8px rgba(15, 23, 42, .18);
  padding: 10px 14px;
  display: flex; gap: 10px; align-items: center;
}
.bb-tpd-mobcta-price { flex: 1; }
.bb-tpd-mobcta-price small { display: block; font-size: 10px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: .4px; font-weight: 700; }
.bb-tpd-mobcta-price strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 19px; font-weight: 800; color: var(--bb-primary); }
.bb-tpd-mobcta-btn {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff !important; text-decoration: none;
  padding: 11px 24px; border-radius: var(--bb-radius);
  font-weight: 800; font-size: 14px;
  display: inline-flex; align-items: center; gap: 6px;
  box-shadow: 0 6px 14px -4px rgba(249,115,22,.5);
}
.bb-tpd-mobcta-btn:hover { transform: translateY(-1px); color: #fff; }

/* =====================================================================
   TOUR-PACKAGE-DETAILS · NEW ENHANCEMENTS (Itinerary day-cards,
   Innovative stops, Places with images, Cancellation tiers, Mobile)
===================================================================== */

/* ---------- Tab icons (subtle spacing) ---------- */
.bb-tpd-tab i { margin-right: 6px; font-size: 12px; opacity: .8; }
.bb-tpd-tab.is-active i { opacity: 1; color: var(--bb-primary); }

/* ---------- Day-cards itinerary (3 days, card-based) ---------- */
.bb-tpd-daycards { display: grid; gap: 0; }
.bb-tpd-daycard {
  background: #fff; border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  transition: box-shadow .2s;
}
.bb-tpd-daycard:hover { box-shadow: var(--bb-shadow-md); }

/* Innovative Day-to-Day TRANSITION (HTML element between cards) */
.bb-tpd-day-transition {
  position: relative;
  padding: 22px 0;
  text-align: center;
}
.bb-tpd-day-transition::before {
  content: '';
  position: absolute;
  left: 35px; top: 0; bottom: 0;
  width: 2px;
  background: repeating-linear-gradient(180deg,
              var(--bb-primary) 0 6px,
              transparent 6px 12px);
}
.bb-tpd-day-transition-pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, var(--bb-secondary), var(--bb-secondary-dark));
  color: #fff;
  padding: 8px 18px 8px 14px;
  border-radius: var(--bb-radius-pill);
  font-size: 12px; font-weight: 800;
  letter-spacing: .3px;
  margin-left: 78px;
  box-shadow: 0 8px 18px -4px rgba(13, 148, 136, .5);
  position: relative;
  z-index: 2;
}
.bb-tpd-day-transition-pill i { color: #fde68a; font-size: 14px; }
.bb-tpd-day-transition-pill small { opacity: .85; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; font-size: 10px; }
.bb-tpd-day-transition-pill strong { font-weight: 800; }
.bb-tpd-day-transition-arrow {
  display: inline-block;
  background: rgba(255,255,255,.18);
  padding: 2px 8px;
  border-radius: var(--bb-radius-pill);
  margin-left: 4px;
  font-size: 11px;
}
@media (max-width: 575px) {
  .bb-tpd-day-transition { padding: 18px 0; }
  .bb-tpd-day-transition::before { left: 28px; }
  .bb-tpd-day-transition-pill { margin-left: 56px; padding: 6px 14px; font-size: 11px; }
}

/* Vehicle badge — RESET position when used inline (not as image overlay) */
.bb-tpd-op-tags .bb-pkg-vbadge,
.bb-tpd-hero-text .bb-pkg-vbadge,
.bb-tbr-vcard-meta .bb-pkg-vbadge {
  position: static !important;
  top: auto; right: auto;
  box-shadow: none;
  z-index: auto;
}

/* =====================================================================
   TOUR BOOKING REGULAR (Variant A) — strict spec 09-tour-booking-flows.md
===================================================================== */

/* Page title row */
.bb-tbr-pagehead { background: #fff; padding: 18px 0; border-bottom: 1px solid var(--bb-border-light); }
.bb-tbr-pagehead-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.bb-tbr-pagetitle { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(18px, 2.4vw, 22px); font-weight: 800; color: var(--bb-text); margin: 0 0 4px; }
.bb-tbr-pagehead small { color: var(--bb-text-muted); font-size: 12.5px; }
.bb-tbr-pagehead small i { color: var(--bb-primary); margin-right: 4px; }
.bb-tbr-back {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 700;
  color: var(--bb-secondary);
  text-decoration: none;
  padding: 8px 14px;
  background: #fff; border: 1.5px solid var(--bb-border);
  border-radius: var(--bb-radius);
  transition: all .15s;
}
.bb-tbr-back:hover { border-color: var(--bb-secondary); color: var(--bb-secondary-dark); }

/* 3-step wizard */
.bb-tbr-wizard {
  background: #fff;
  padding: 22px 0 18px;
  border-bottom: 1px solid var(--bb-border-light);
}
.bb-tbr-steps {
  list-style: none; margin: 0 auto; padding: 0;
  display: flex; max-width: 560px;
}
.bb-tbr-step {
  flex: 1 1 0; min-width: 0;
  display: flex; flex-direction: column; align-items: center; gap: 9px;
  padding: 0 4px; position: relative;
  font-family: 'Inter', sans-serif;
  font-size: clamp(11px, 2.7vw, 13px); font-weight: 600; line-height: 1.25;
  text-align: center; color: var(--bb-text-light);
}
/* progress track from this step's circle to the next (behind the circles) */
.bb-tbr-step:not(:last-child)::after {
  content: ''; position: absolute; z-index: 0;
  top: 17px; left: 50%; right: -50%;
  height: 3px; border-radius: 2px; background: var(--bb-border);
}
.bb-tbr-step-num {
  position: relative; z-index: 1;
  width: 36px; height: 36px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; border: 2px solid var(--bb-border); color: var(--bb-text-light);
  font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: 14px;
  transition: background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
}
/* completed step */
.bb-tbr-step.is-done { color: var(--bb-text); }
.bb-tbr-step.is-done .bb-tbr-step-num {
  background: var(--bb-success); border-color: var(--bb-success); color: #fff;
  box-shadow: 0 3px 8px rgba(16, 185, 129, .30);
}
.bb-tbr-step.is-done::after { background: var(--bb-success); }
/* current step */
.bb-tbr-step.is-active { color: var(--bb-primary-dark); font-weight: 800; }
.bb-tbr-step.is-active .bb-tbr-step-num {
  background: linear-gradient(135deg, #fb923c 0%, var(--bb-primary) 100%);
  border-color: var(--bb-primary); color: #fff; transform: scale(1.12);
  box-shadow: 0 6px 16px rgba(249, 115, 22, .42), 0 0 0 5px rgba(249, 115, 22, .14);
  animation: bbTbrStepPulse 2.2s infinite ease-in-out;
}
@keyframes bbTbrStepPulse {
  0%, 100% { box-shadow: 0 6px 16px rgba(249, 115, 22, .42), 0 0 0 5px rgba(249, 115, 22, .14); }
  50% { box-shadow: 0 6px 16px rgba(249, 115, 22, .30), 0 0 0 9px rgba(249, 115, 22, .04); }
}

/* Main 2-col body */
.bb-tbr-main { padding: 22px 0 90px; background: var(--bb-bg); }

/* Mode tabs (Bus vs Entry) */
.bb-tbr-modetabs { gap: 6px; margin-bottom: 12px; flex-wrap: wrap; }
.bb-tbr-modetabs .nav-link {
  background: #fff; border: 1.5px solid var(--bb-border-light);
  color: var(--bb-text-muted);
  padding: 10px 18px; border-radius: var(--bb-radius-pill);
  font-size: 13px; font-weight: 700;
}
.bb-tbr-modetabs .nav-link i { margin-right: 6px; }
.bb-tbr-modetabs .nav-link.active { background: var(--bb-primary); border-color: var(--bb-primary); color: #fff; }

/* Dates carousel */
.bb-tbr-dates {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  padding: 16px 18px;
  margin-bottom: 14px;
}
.bb-tbr-dates-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; flex-wrap: wrap; gap: 10px; }
.bb-tbr-dates-head h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 800; margin: 0; color: var(--bb-text); }
.bb-tbr-dates-head h3 i { color: var(--bb-primary); margin-right: 6px; }
.bb-tbr-dates-modal {
  background: #fff; border: 1px dashed var(--bb-secondary);
  color: var(--bb-secondary); padding: 6px 12px;
  border-radius: var(--bb-radius); font-size: 12px; font-weight: 700;
  cursor: pointer;
}
.bb-tbr-dates-modal:hover { background: #f0fdfa; }
.bb-tbr-dates-row { display: flex; align-items: center; gap: 8px; }
.bb-tbr-dates-arrow {
  flex-shrink: 0;
  width: 34px; height: 60px;
  background: #fff; border: 1px solid var(--bb-border);
  color: var(--bb-text-muted); cursor: pointer;
  border-radius: var(--bb-radius);
}
.bb-tbr-dates-arrow:hover { color: var(--bb-primary); border-color: var(--bb-primary); }
.bb-tbr-dates-track {
  flex: 1;
  display: flex; gap: 8px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 2px 0;
  scrollbar-width: none;
}
.bb-tbr-dates-track::-webkit-scrollbar { display: none; }
.bb-tbr-date {
  flex: 0 0 auto;
  background: #fff; border: 2px solid var(--bb-border-light);
  padding: 10px 14px;
  border-radius: var(--bb-radius);
  text-align: center;
  min-width: 72px;
  cursor: pointer;
  position: relative;
  transition: all .15s;
}
.bb-tbr-date:hover { transform: translateY(-2px); border-color: var(--bb-primary); }
.bb-tbr-date strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 800; line-height: 1; color: var(--bb-text); }
.bb-tbr-date small { display: block; font-size: 10.5px; color: var(--bb-text-muted); margin-top: 2px; }
.bb-tbr-date-tag {
  position: absolute; top: -7px; left: 50%; transform: translateX(-50%);
  background: var(--bb-text); color: #fff;
  font-size: 9px; font-weight: 800;
  padding: 1px 8px; border-radius: 999px;
  white-space: nowrap;
}
.bb-tbr-date.is-active { background: var(--bb-primary); border-color: var(--bb-primary); }
.bb-tbr-date.is-active strong, .bb-tbr-date.is-active small { color: #fff; }
.bb-tbr-date--full { opacity: .55; cursor: not-allowed; }
.bb-tbr-date--full .bb-tbr-date-tag { background: var(--bb-danger); }
.bb-tbr-date--special .bb-tbr-date-tag { background: var(--bb-accent); color: #78350f; }
.bb-tbr-date--weekend .bb-tbr-date-tag { background: var(--bb-secondary); }
.bb-tbr-dates-note { margin-top: 10px; margin-bottom: 0; }

/* Vehicle cards — bold border + spacing so each card is clearly separated */
.bb-tbr-vehicles { display: grid; gap: 18px; }
.bb-tbr-vcard {
  background: #fff;
  border: 2px solid var(--bb-border);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  transition: all .2s;
  box-shadow: 0 2px 8px -2px rgba(15, 23, 42, .06);
  position: relative;
  margin-bottom: 16px;
}
.bb-tbr-vcard:last-child { margin-bottom: 0; }
.bb-tbr-vcard::before {
  content: '';
  position: absolute; top: 0; left: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--bb-primary), var(--bb-primary-dark));
  border-radius: var(--bb-radius-lg) 0 0 var(--bb-radius-lg);
}
.bb-tbr-vcard:hover {
  box-shadow: 0 12px 28px -10px rgba(15, 23, 42, .18);
  border-color: var(--bb-primary);
  transform: translateY(-2px);
}
.bb-tbr-vcard-head {
  display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center;
  padding: 14px 18px;
  background: var(--bb-bg);
  border-bottom: 1px solid var(--bb-border-light);
}
.bb-tbr-vcard-op { display: flex; align-items: center; gap: 12px; }
.bb-tbr-vcard-op h4 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15.5px; font-weight: 800; color: var(--bb-text); margin: 0 0 4px; }
.bb-tbr-vcard-meta { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.bb-tbr-vcard-svc { font-size: 11.5px; color: var(--bb-text-muted); font-weight: 600; }
.bb-tbr-vcard-rating { text-align: center; flex-shrink: 0; }
.bb-tbr-vcard-rating i { color: var(--bb-accent); margin-right: 2px; font-size: 12px; }
.bb-tbr-vcard-rating strong { font-size: 14px; }
.bb-tbr-vcard-rating small { display: block; font-size: 11px; color: var(--bb-text-muted); margin-top: 2px; }

.bb-tbr-vcard-body { padding: 16px 18px; display: grid; gap: 14px; }

/* Trip row */
.bb-tbr-vcard-trip { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 12px; align-items: center; }
.bb-tbr-trip-time { text-align: center; }
.bb-tbr-trip-time strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 20px; font-weight: 800; color: var(--bb-text); line-height: 1; }
.bb-tbr-trip-time small { display: block; font-size: 12px; color: var(--bb-text-muted); margin-top: 4px; }
.bb-tbr-trip-dash { position: relative; text-align: center; }
.bb-tbr-trip-dash::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--bb-border); }
.bb-tbr-trip-dash i, .bb-tbr-trip-dash span { position: relative; background: #fff; padding: 0 8px; font-size: 12px; color: var(--bb-text-muted); }
.bb-tbr-trip-dash i { color: var(--bb-primary); margin-right: 4px; }

/* Quick action links */
.bb-tbr-vcard-links {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 14px;
  padding: 10px 0;
  border-top: 1px dashed var(--bb-border-light);
  border-bottom: 1px dashed var(--bb-border-light);
}
.bb-tbr-vcard-links a {
  font-size: 12.5px; font-weight: 700;
  color: var(--bb-secondary); text-decoration: none;
  display: inline-flex; align-items: center; gap: 5px;
}
.bb-tbr-vcard-links a:hover { color: var(--bb-secondary-dark); }
.bb-tbr-vcard-links i { color: var(--bb-primary); }

/* Pricing */
.bb-tbr-vcard-pricing { display: flex; gap: 14px; align-items: flex-start; flex-wrap: wrap; }
.bb-tbr-vcard-fares { display: flex; gap: 18px; }
.bb-tbr-fare-cell small { display: block; font-size: 11px; color: var(--bb-text-muted); text-transform: uppercase; font-weight: 700; letter-spacing: .4px; margin-bottom: 2px; }
.bb-child-policy-link { font-size: 10px; color: #3b82f6; text-decoration: none; font-weight: 700; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.bb-child-policy-link:hover { text-decoration: underline; color: #2563eb; }
.bb-child-policy-link i { font-size: 9px; }
.bb-tbr-fare-cell strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; color: var(--bb-primary); }
.bb-tbr-vcard-badges { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.bb-tbr-nocancel { background: #fef2f2 !important; color: var(--bb-danger) !important; border: 1px solid #fca5a5 !important; }

/* Cab table */
.bb-tbr-cabtable td:last-child { text-align: right; }
.bb-tbr-mini-book {
  background: var(--bb-primary); color: #fff; border: 0;
  padding: 6px 14px; border-radius: var(--bb-radius);
  font-size: 12px; font-weight: 700; cursor: pointer;
}

/* Vehicle card foot — DEPRECATED (replaced by inline Book Now in priceaction) */
.bb-tbr-vcard-foot { display: none; }

/* Compact vehicle card body */
.bb-tbr-vcard-body { padding: 12px 14px !important; gap: 10px !important; }
.bb-tbr-vcard-head { padding: 12px 14px !important; }
.bb-tbr-vcard-op h4 { font-size: 14.5px !important; margin: 0 0 3px !important; }
.bb-tbr-vcard-tripline { margin-top: 4px; font-size: 11.5px; }
.bb-tbr-book-btn {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff !important; border: 0;
  padding: 11px 24px; border-radius: var(--bb-radius);
  font-size: 14px; font-weight: 800; cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px;
  text-decoration: none;
  box-shadow: 0 8px 18px -4px rgba(249, 115, 22, .45);
  transition: transform .15s;
}
.bb-tbr-book-btn:hover { transform: translateY(-2px); color: #fff; }
.bb-tbr-book-btn--alt {
  background: linear-gradient(135deg, var(--bb-secondary), var(--bb-secondary-dark));
  box-shadow: 0 8px 18px -4px rgba(13, 148, 136, .45);
}
.bb-tbr-closed {
  display: inline-flex; align-items: center; gap: 6px;
  background: #f1f5f9; color: var(--bb-text-muted);
  padding: 10px 20px; border-radius: var(--bb-radius);
  font-size: 13px; font-weight: 800;
}

/* Empty state */
.bb-tbr-empty {
  text-align: center; padding: 50px 24px;
  background: #fff; border: 1px dashed var(--bb-border);
  border-radius: var(--bb-radius-lg);
}
.bb-tbr-empty i { font-size: 48px; color: var(--bb-text-light); display: block; margin-bottom: 14px; }
.bb-tbr-empty h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 20px; font-weight: 800; margin-bottom: 8px; color: var(--bb-danger); }
.bb-tbr-empty p { color: var(--bb-text-muted); font-size: 13.5px; margin-bottom: 18px; }
.bb-tbr-empty-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* Right sticky summary */
.bb-tbr-summary {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  box-shadow: var(--bb-shadow-md);
  position: sticky;
  top: calc(var(--header-h, 70px) + 16px);
}
.bb-tbr-summary-head {
  padding: 16px 18px;
  background: linear-gradient(135deg, var(--bb-secondary-dark), var(--bb-secondary));
  color: #fff;
}
.bb-tbr-summary-head small { display: block; font-size: 11px; opacity: .85; text-transform: uppercase; letter-spacing: .5px; font-weight: 700; }
.bb-tbr-summary-head h3 { font-family: 'Plus Jakarta Sans', sans-serif; color: #fff; font-size: 17px; font-weight: 800; margin: 4px 0 10px; }
.bb-tbr-summary-change {
  background: rgba(255, 255, 255, .2); color: #fff; border: 1px solid rgba(255, 255, 255, .3);
  padding: 5px 12px; border-radius: var(--bb-radius); font-size: 11.5px; font-weight: 700;
  cursor: pointer;
}
.bb-tbr-summary-change:hover { background: rgba(255, 255, 255, .3); }

.bb-tbr-summary-body { padding: 14px 18px; }
.bb-tbr-summary-row {
  display: grid; grid-template-columns: 28px 1fr; gap: 12px; align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px dashed var(--bb-border-light);
}
.bb-tbr-summary-row:last-child { border-bottom: 0; }
.bb-tbr-summary-row i { color: var(--bb-primary); font-size: 16px; margin-top: 2px; }
.bb-tbr-summary-row small { display: block; font-size: 11px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: .4px; font-weight: 700; }
.bb-tbr-summary-row strong { display: block; font-size: 13.5px; font-weight: 700; color: var(--bb-text); margin-top: 2px; line-height: 1.4; }

.bb-tbr-summary-help {
  margin: 12px 18px;
  display: flex; gap: 12px; align-items: center;
  background: var(--bb-bg); border-radius: var(--bb-radius);
  padding: 10px 14px;
}
.bb-tbr-summary-help i { color: var(--bb-secondary); font-size: 18px; }
.bb-tbr-summary-help small { display: block; font-size: 11px; color: var(--bb-text-muted); }
.bb-tbr-summary-help a { color: var(--bb-secondary); font-weight: 800; text-decoration: none; font-size: 14px; }

.bb-tbr-summary-social {
  margin: 0 18px 18px;
  padding: 8px;
  text-align: center;
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
  border-radius: var(--bb-radius);
  font-size: 12px; color: #9a3412; font-weight: 600;
}
.bb-tbr-summary-social i { color: var(--bb-primary); }
.bb-tbr-summary-social strong { color: var(--bb-primary-dark); }

/* ---------- Mobile responsive (tour-booking-regular) ---------- */
@media (max-width: 991px) {
  .bb-tbr-main .col-lg-8, .bb-tbr-main .col-lg-4 { flex: 0 0 100%; max-width: 100%; }
  .bb-tbr-summary { position: static; margin-top: 14px; }
  .bb-tbr-vcard-head { grid-template-columns: 1fr; }
  .bb-tbr-vcard-rating { text-align: left; }
}
@media (max-width: 767px) {
  .bb-tbr-pagehead-row { flex-direction: column; align-items: flex-start; }
  .bb-tbr-back { width: 100%; justify-content: center; }
  .bb-tbr-steps { max-width: 100%; }
  .bb-tbr-vcard-body { padding: 14px; gap: 12px; }
  .bb-tbr-vcard-pricing { flex-direction: column; }
  .bb-tbr-vcard-badges { margin-left: 0; }
  .bb-tbr-vcard-trip { grid-template-columns: 1fr; gap: 6px; text-align: left; }
  .bb-tbr-vcard-trip strong { display: inline; }
  .bb-tbr-trip-dash { display: none; }
  .bb-tbr-vcard-foot { padding: 12px 14px; }
  .bb-tbr-book-btn { width: 100%; justify-content: center; }
  .bb-tbr-dates-arrow { height: 50px; width: 28px; }
  .bb-tbr-cabtable { font-size: 11.5px; }
  .bb-tbr-cabtable th, .bb-tbr-cabtable td { padding: 6px 8px; }
}
@media (max-width: 575px) {
  .bb-tbr-date { min-width: 62px; padding: 8px 10px; }
  .bb-tbr-date strong { font-size: 16px; }
  .bb-tbr-fare-cell strong { font-size: 18px; }
}

/* =====================================================================
   TOUR BOOKING REGULAR — v2 redesign (compact trip + big price + inline toggles)
===================================================================== */

/* Compact trip line under operator name — secondary, small, gray */
.bb-tbr-vcard-tripline {
  display: flex; align-items: center; gap: 8px;
  margin-top: 6px;
  font-size: 12px; color: var(--bb-text-muted);
}
.bb-tbr-vcard-tripline strong { color: var(--bb-text); font-weight: 700; margin-right: 4px; }
.bb-tbr-vcard-tripline i { color: var(--bb-border); font-size: 10px; }

/* COMPACT price + action bar (replaces both old priceblock + footer) */
.bb-tbr-vcard-priceaction {
  display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center;
  padding: 12px 16px;
  background: linear-gradient(135deg, #fff7ed 0%, #fefce8 100%);
  border-radius: var(--bb-radius);
  border: 1px solid #fde6c4;
}
.bb-tbr-vcard-priceaction .bb-tbr-vcard-fares-wrap { display: flex; }
.bb-tbr-vcard-priceaction .bb-tbr-vcard-fares { gap: 18px; }
.bb-tbr-vcard-priceaction .bb-tbr-fare-cell { display: flex; align-items: baseline; gap: 5px; }
.bb-tbr-vcard-priceaction .bb-tbr-fare-cell small {
  font-size: 10.5px; color: #92400e; font-weight: 700;
  text-transform: uppercase; letter-spacing: .3px; margin: 0;
  order: 2;  /* show label AFTER the price */
}
.bb-tbr-vcard-priceaction .bb-tbr-fare-cell strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 22px; font-weight: 800;
  color: var(--bb-primary-dark);
  line-height: 1;
  order: 1;
}
.bb-tbr-vcard-priceaction .bb-tbr-vcard-badges {
  display: flex; gap: 5px; flex-wrap: wrap; align-items: center;
}
.bb-tbr-vcard-priceaction .bb-tpd-op-tag { background: rgba(255, 255, 255, .9); padding: 3px 9px; font-size: 10.5px; }
.bb-tbr-vcard-book {
  padding: 10px 22px !important;
  font-size: 13.5px !important;
  white-space: nowrap;
}

/* For cab table (Sedan/SUV/TT) — no fares in priceaction (table has its own) */
.bb-tbr-cabtable + .bb-tbr-vcard-badges,
.bb-tbr-vcard-priceaction:has(.bb-tbr-cabtable) {
  grid-template-columns: 1fr auto auto;
}
.bb-tbr-vcard-priceaction .bb-tbr-cabtable {
  margin: 0;
  background: rgba(255, 255, 255, .65);
  border-radius: 6px;
}
.bb-tbr-vcard-priceaction .bb-tbr-cabtable th, .bb-tbr-vcard-priceaction .bb-tbr-cabtable td { padding: 6px 8px; font-size: 11.5px; }
.bb-tbr-vcard-priceaction .bb-tbr-cabtable strong { font-size: 14px; }

/* Badges on their own full-width row (desktop) — non-cab cards only.
   Row 1: fares | Book Now   ·   Row 2: Free Cancellation / Advance badges */
@media (min-width: 768px) {
  .bb-tbr-vcard-priceaction:not(:has(.bb-tbr-cabtable)) {
    grid-template-columns: 1fr auto;
    row-gap: 10px;
  }
  .bb-tbr-vcard-priceaction:not(:has(.bb-tbr-cabtable)) .bb-tbr-vcard-fares-wrap { grid-column: 1; grid-row: 1; }
  .bb-tbr-vcard-priceaction:not(:has(.bb-tbr-cabtable)) .bb-tbr-vcard-book { grid-column: 2; grid-row: 1; }
  .bb-tbr-vcard-priceaction:not(:has(.bb-tbr-cabtable)) .bb-tbr-vcard-badges {
    grid-column: 1 / -1; grid-row: 2;
    margin-left: 0;
    padding-top: 9px;
    border-top: 1px dashed #fde6c4;
  }
}

/* Inline toggle tabs row (replaces popup links) */
.bb-tbr-vcard-toggles {
  display: flex; flex-wrap: wrap; gap: 6px;
  padding: 4px 0;
}
.bb-tbr-toggle {
  background: #fff;
  border: 1.5px solid var(--bb-border);
  color: var(--bb-text);
  padding: 8px 14px;
  border-radius: var(--bb-radius-pill);
  font-size: 12.5px; font-weight: 700;
  cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
  transition: all .15s;
}
.bb-tbr-toggle i { color: var(--bb-primary); font-size: 11px; }
.bb-tbr-toggle span { color: var(--bb-text-muted); font-weight: 600; font-size: 11px; }
.bb-tbr-toggle:hover { border-color: var(--bb-primary); color: var(--bb-primary); }
.bb-tbr-toggle.is-active {
  background: linear-gradient(135deg, var(--bb-secondary), var(--bb-secondary-dark));
  color: #fff !important; border-color: transparent;
  box-shadow: 0 4px 10px -2px rgba(13, 148, 136, .35);
}
.bb-tbr-toggle.is-active i, .bb-tbr-toggle.is-active span { color: #fff !important; opacity: .9; }

/* Inline panel container */
.bb-tbr-vcard-panels { display: none; }
.bb-tbr-vcard-panels.is-open {
  display: block;
  margin-top: 2px;
  background: var(--bb-bg);
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  padding: 14px 16px;
}
.bb-tbr-vcard-panel { display: none; }
.bb-tbr-vcard-panel.is-active { display: block; animation: bbTbrFadeIn .25s ease; }
@keyframes bbTbrFadeIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.bb-tbr-vcard-panel h6 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13.5px; font-weight: 800;
  margin: 0 0 10px;
  color: var(--bb-text);
  display: flex; align-items: center; gap: 8px;
}
.bb-tbr-vcard-panel h6 i { color: var(--bb-primary); }

/* Points list (boarding/dropping) — compact, two-col on wide */
.bb-tbr-pt-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; }
.bb-tbr-pt-list li { display: grid; grid-template-columns: 70px 1fr; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px dashed var(--bb-border-light); }
.bb-tbr-pt-list li:last-child, .bb-tbr-pt-list li:nth-last-child(2) { border-bottom: 0; }
.bb-tbr-pt-time {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px; font-weight: 800;
  color: var(--bb-success-dark, #047857);
  background: #d1fae5;
  padding: 3px 8px; border-radius: var(--bb-radius);
  text-align: center;
  white-space: nowrap;
}
.bb-tbr-pt-list--drop .bb-tbr-pt-time { background: #dbeafe; color: #1d4ed8; }
.bb-tbr-pt-list li strong { font-size: 13px; color: var(--bb-text); font-weight: 700; display: block; }
.bb-tbr-pt-list li small { font-size: 11.5px; color: var(--bb-text-muted); }

/* Itinerary list inside panel */
.bb-tbr-itin-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.bb-tbr-itin-list li { padding: 7px 12px; background: #fff; border-radius: var(--bb-radius); font-size: 13px; }
.bb-tbr-itin-list li strong { color: var(--bb-primary); margin-right: 8px; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; }

/* Cancellation mini-grid inside panel */
.bb-tbr-cancel-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bb-tbr-cancel-row {
  display: grid; grid-template-columns: 56px 1fr; gap: 10px; align-items: center;
  background: #fff; padding: 10px 12px; border-radius: var(--bb-radius);
  border: 1px solid var(--bb-border-light);
}
.bb-tbr-cancel-pct {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800; font-size: 15px;
  text-align: center;
  padding: 6px;
  border-radius: var(--bb-radius);
  color: #fff;
}
.bb-tbr-cancel-pct--green  { background: #10b981; }
.bb-tbr-cancel-pct--yellow { background: #eab308; }
.bb-tbr-cancel-pct--orange { background: #f97316; }
.bb-tbr-cancel-pct--red    { background: #ef4444; }
.bb-tbr-cancel-row strong { display: block; font-size: 12.5px; color: var(--bb-text); }
.bb-tbr-cancel-row small  { display: block; font-size: 11px; color: var(--bb-text-muted); margin-top: 2px; }
.bb-tbr-cancel-note { margin: 10px 0 0; font-size: 12px; color: var(--bb-text-muted); }
.bb-tbr-cancel-note i { margin-right: 4px; color: var(--bb-info, #0ea5e9); }

/* Hide the old separate trip section if leftover */
.bb-tbr-vcard-trip:not(.bb-tbr-vcard-tripline) { display: none; }
.bb-tbr-vcard-links { display: none; }

/* Mobile responsive */
@media (max-width: 767px) {
  .bb-tbr-vcard-tripline { font-size: 11px; flex-wrap: wrap; gap: 4px; }
  .bb-tbr-vcard-tripline i { display: none; }   /* hide arrows on mobile, comma-separated feel */
  /* Compact price/action: stack to 2 rows on mobile (prices | Book) */
  .bb-tbr-vcard-priceaction { grid-template-columns: 1fr auto; gap: 10px; padding: 10px 12px; }
  .bb-tbr-vcard-priceaction .bb-tbr-vcard-badges { grid-column: 1 / -1; padding-top: 4px; border-top: 1px dashed #fde6c4; }
  .bb-tbr-vcard-priceaction .bb-tbr-fare-cell strong { font-size: 18px; }
  .bb-tbr-vcard-book { padding: 8px 16px !important; font-size: 12.5px !important; }
  .bb-tbr-vcard-toggles { gap: 4px; }
  .bb-tbr-toggle { padding: 6px 10px; font-size: 11.5px; }
  .bb-tbr-pt-list { grid-template-columns: 1fr; }
  .bb-tbr-cancel-mini { grid-template-columns: 1fr; }
  /* Header tighter on mobile */
  .bb-tbr-vcard-head { padding: 10px 12px !important; }
  .bb-tbr-vcard-op { gap: 10px; }
  .bb-tbr-vcard-body { padding: 10px 12px !important; }
  .bb-tbr-vcard-meta { gap: 6px; }
  .bb-tbr-vcard-svc { font-size: 11px; }
}

@media (max-width: 767px) {
  /* Toggles row → horizontal scrollable strip on mobile */
  .bb-tbr-vcard-toggles {
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 4px 0 6px;
    margin-right: -12px;     /* bleed to edge of card body for scroll affordance */
    padding-right: 12px;
  }
  .bb-tbr-vcard-toggles::-webkit-scrollbar { display: none; }
  .bb-tbr-toggle {
    flex: 0 0 auto;             /* no wrapping — keep on one line */
    white-space: nowrap;
    padding: 7px 14px;
    font-size: 12px;
  }
  /* Optional fade hint at right edge to indicate more content */
  .bb-tbr-vcard-body { position: relative; }
}

@media (max-width: 480px) {
  .bb-tbr-vcard-priceaction { grid-template-columns: 1fr; text-align: center; }
  .bb-tbr-vcard-priceaction .bb-tbr-vcard-fares { justify-content: center; }
  .bb-tbr-vcard-book { width: 100%; justify-content: center; }
  .bb-tpd-op-logo { width: 36px !important; height: 36px !important; font-size: 13px !important; }
}

/* =====================================================================
   TOUR PASSENGER DETAILS — strict spec (10-tour-passenger-details.md)
===================================================================== */

/* Sticky trip summary bar */
.bb-tpx-tripbar {
  position: sticky; top: 58px; z-index: 50;
  background: linear-gradient(135deg, #134e4a 0%, #0f172a 100%);
  color: #fff;
  padding: 10px 0;
  box-shadow: 0 6px 24px -10px rgba(15, 23, 42, .35);
}
.bb-tpx-tripbar-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; }
.bb-tpx-tripbar-info h2 { font-family: 'Plus Jakarta Sans', sans-serif; color: #fff; font-size: 15px; font-weight: 800; margin: 0 0 4px; }
.bb-tpx-tripbar-info h2 i { color: var(--bb-accent); margin-right: 6px; }
.bb-tpx-tripbar-meta { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; font-size: 12px; color: rgba(255,255,255,.85); }
.bb-tpx-tripbar-meta li i { color: var(--bb-accent); margin-right: 4px; font-size: 11px; }
.bb-tpx-tripbar-meta li strong { color: #fff; font-weight: 700; }

.bb-tpx-tripbar-actions { display: flex; gap: 8px; align-items: center; }
.bb-tpx-timer {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(239, 68, 68, .2);
  border: 1px solid rgba(239, 68, 68, .4);
  padding: 6px 10px; border-radius: var(--bb-radius);
  color: #fecaca;
}
.bb-tpx-timer i { font-size: 15px; color: #fca5a5; }
.bb-tpx-timer small { display: block; font-size: 9.5px; color: rgba(255,255,255,.75); text-transform: uppercase; letter-spacing: .4px; font-weight: 700; }
.bb-tpx-timer strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 800; color: #fff; line-height: 1; }
.bb-tpx-modify {
  background: var(--bb-primary); color: #fff !important;
  padding: 7px 13px; border-radius: var(--bb-radius);
  font-size: 12.5px; font-weight: 700; text-decoration: none;
  display: inline-flex; align-items: center; gap: 6px;
  box-shadow: 0 4px 12px -2px rgba(249, 115, 22, .55);
}
.bb-tpx-modify:hover { background: var(--bb-primary-dark); color: #fff; transform: translateY(-1px); }

@media (max-width: 767px) {
  .bb-tpx-tripbar { top: 52px; padding: 8px 0; }
  .bb-tpx-tripbar-row { grid-template-columns: 1fr; gap: 6px; }
  .bb-tpx-tripbar-actions { flex-wrap: nowrap; justify-content: flex-start; gap: 8px; }
  .bb-tpx-tripbar-info h2 { font-size: 13px; margin-bottom: 3px; }
  .bb-tpx-tripbar-meta { gap: 6px; font-size: 11px; }
}

/* Main body */
.bb-tpx-main { padding: 10px 0 70px; background: var(--bb-bg); }
.bb-tpx-main .row { --bs-gutter-y: 0 !important; margin-top: 0 !important; }
.bb-tpx-main .row > [class*="col"] { padding-top: 0 !important; margin-top: 0 !important; }

/* Saved passengers chips */
.bb-tpx-saved {
  background: linear-gradient(135deg, #ecfdf5, #d1fae5);
  border: 1px dashed #6ee7b7;
  border-radius: var(--bb-radius);
  padding: 12px 14px;
  margin-bottom: 14px;
}
.bb-tpx-saved-label { display: block; font-size: 12px; font-weight: 700; color: #047857; margin-bottom: 8px; }
.bb-tpx-saved-label i { margin-right: 4px; }
.bb-tpx-saved-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.bb-tpx-saved-chip {
  background: #fff; border: 1px solid #6ee7b7; color: #047857;
  padding: 6px 12px; border-radius: var(--bb-radius-pill);
  font-size: 12px; font-weight: 700; cursor: pointer;
  display: inline-flex; align-items: center; gap: 5px;
}
.bb-tpx-saved-chip:hover { background: #d1fae5; }
.bb-tpx-saved-chip i { font-size: 10px; }

/* Passenger card */
.bb-tpx-paxcard {
  background: #fff; border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  margin-bottom: 14px;
  overflow: hidden;
}
.bb-tpx-paxcard-head {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 14px 18px;
  background: var(--bb-bg);
  border-bottom: 1px solid var(--bb-border-light);
}
.bb-tpx-paxcard-head h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 800; color: var(--bb-text); margin: 0; display: inline-flex; align-items: center; gap: 8px; }
.bb-tpx-paxcard-head h3 i { color: var(--bb-primary); }
.bb-tpx-paxcard-head h3 span { font-weight: 600; font-size: 12px; color: var(--bb-text-muted); margin-left: 4px; }
.bb-tpx-paxcard-head h3 small { font-weight: 500; font-size: 11.5px; color: var(--bb-text-muted); }
.bb-tpx-paxcard-head > small { font-size: 12px; color: var(--bb-text-muted); }

.bb-tpx-usemy {
  background: #fff7ed; border: 1px solid var(--bb-primary-light);
  color: var(--bb-primary-dark); padding: 5px 12px;
  border-radius: var(--bb-radius-pill);
  font-size: 11.5px; font-weight: 700; cursor: pointer;
  display: inline-flex; align-items: center; gap: 5px;
}
.bb-tpx-usemy:hover { background: var(--bb-primary-light); color: #fff; }
.bb-tpx-remove {
  width: 30px; height: 30px; border-radius: 50%;
  background: transparent; color: var(--bb-text-muted);
  border: 1px solid var(--bb-border); cursor: pointer;
}
.bb-tpx-remove:hover { background: #fef2f2; color: var(--bb-danger); border-color: #fca5a5; }

.bb-tpx-paxcard-body { padding: 18px; }

/* Form fields */
.bb-tpx-label {
  display: block;
  font-size: 12px; font-weight: 700; color: var(--bb-text);
  margin-bottom: 5px;
}
.bb-tpx-label small { font-weight: 500; color: var(--bb-text-muted); font-size: 11px; }
.bb-tpx-label i { color: var(--bb-primary); font-size: 11px; margin-right: 4px; width: 13px; text-align: center; }
.bb-tpx-req { color: var(--bb-danger); font-weight: 700; }

.bb-tpx-input {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--bb-border); border-radius: var(--bb-radius);
  font-size: 14px; color: var(--bb-text);
  background: #fff;
  font-family: inherit;
  transition: border-color .15s, box-shadow .15s;
}
.bb-tpx-input:focus { outline: 0; border-color: var(--bb-primary); box-shadow: 0 0 0 4px rgba(249, 115, 22, .12); }
.bb-tpx-textarea { resize: vertical; min-height: 80px; }
.bb-tpx-hint { display: block; margin-top: 5px; font-size: 11px; color: var(--bb-text-muted); }

select.bb-tpx-input {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 12px;
  padding-right: 38px;
}

.bb-tpx-input-group { display: flex; align-items: stretch; }
.bb-tpx-input-group .bb-tpx-input { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.bb-tpx-prefix {
  display: inline-flex; align-items: center;
  padding: 0 12px;
  background: var(--bb-bg); border: 1.5px solid var(--bb-border); border-right: 0;
  border-top-left-radius: var(--bb-radius); border-bottom-left-radius: var(--bb-radius);
  font-size: 13px; font-weight: 700; color: var(--bb-text);
}

/* Gender radio group */
.bb-tpx-radios { display: flex; gap: 8px; flex-wrap: wrap; }
.bb-tpx-radio {
  flex: 1; min-width: 80px;
  position: relative;
  background: #fff; border: 1.5px solid var(--bb-border);
  border-radius: var(--bb-radius);
  padding: 9px 12px;
  font-size: 13px; font-weight: 700; color: var(--bb-text);
  text-align: center; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: all .15s;
}
.bb-tpx-radio input { position: absolute; opacity: 0; pointer-events: none; }
.bb-tpx-radio:hover { border-color: var(--bb-primary); color: var(--bb-primary); }
.bb-tpx-radio:has(input:checked) { background: var(--bb-primary); border-color: var(--bb-primary); color: #fff; box-shadow: 0 4px 10px -2px rgba(249, 115, 22, .35); }

/* Add passenger button */
.bb-tpx-addpax {
  width: 100%;
  background: #fff;
  border: 1.5px dashed var(--bb-primary);
  color: var(--bb-primary);
  padding: 12px;
  border-radius: var(--bb-radius);
  font-size: 13.5px; font-weight: 700; cursor: pointer;
  margin-bottom: 14px;
  transition: all .15s;
}
.bb-tpx-addpax:hover { background: #fff7ed; }
.bb-tpx-addpax i { margin-right: 6px; }

/* ============ FARE SUMMARY (right sticky) ============ */
.bb-tpx-summary {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  box-shadow: var(--bb-shadow-md);
  overflow: hidden;
  position: sticky;
  top: calc(var(--header-h, 70px) + 80px);
}
.bb-tpx-summary-head {
  display: grid; grid-template-columns: 80px 1fr; gap: 12px; align-items: center;
  padding: 14px 16px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
}
.bb-tpx-summary-thumb {
  width: 80px; height: 56px;
  border-radius: var(--bb-radius);
  overflow: hidden;
  background: rgba(255, 255, 255, .15);
}
.bb-tpx-summary-thumb img { width: 100%; height: 100%; object-fit: cover; }
.bb-tpx-summary-headtext small { display: block; font-size: 11px; opacity: .9; text-transform: uppercase; letter-spacing: .4px; font-weight: 700; }
.bb-tpx-summary-total { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 26px; font-weight: 800; line-height: 1; margin-top: 2px; }

.bb-tpx-summary-body { padding: 14px 16px; }
.bb-tpx-summary-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 800; color: var(--bb-text); margin: 0 0 4px; }
.bb-tpx-summary-sub { font-size: 12px; color: var(--bb-text-muted); margin: 0 0 12px; }
.bb-tpx-summary-sub i { color: var(--bb-primary); margin-right: 3px; }

.bb-tpx-fare-list { list-style: none; margin: 0; padding: 0; }
.bb-tpx-fare-list li { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13px; color: var(--bb-text); }
.bb-tpx-fare-list em { font-style: normal; font-weight: 700; color: var(--bb-primary); }
.bb-tpx-fare-disc { color: #047857 !important; }
.bb-tpx-fare-disc strong { color: #047857; }
.bb-tpx-fare-disc i { margin-right: 4px; color: var(--bb-primary); }
.bb-tpx-summary-body hr { margin: 8px 0; border-style: dashed; border-color: var(--bb-border); }
.bb-tpx-fare-total {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0;
  font-size: 14px; font-weight: 700; color: var(--bb-text);
}
.bb-tpx-fare-total strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; color: var(--bb-primary); }

/* Coupon */
.bb-tpx-coupon {
  margin: 0 16px;
  padding: 14px;
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
  border: 1px dashed #fdba74;
  border-radius: var(--bb-radius);
}
.bb-tpx-coupon label { display: block; font-size: 12px; font-weight: 700; color: #9a3412; margin-bottom: 8px; }
.bb-tpx-coupon label i { margin-right: 4px; color: var(--bb-primary); }
.bb-tpx-coupon-row { display: flex; gap: 6px; }
.bb-tpx-coupon-row .bb-tpx-input { flex: 1; }
.bb-tpx-coupon-apply {
  background: var(--bb-primary); color: #fff; border: 0;
  padding: 0 18px; border-radius: var(--bb-radius);
  font-size: 13px; font-weight: 700; cursor: pointer;
  white-space: nowrap;
}
.bb-tpx-coupon-suggest { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.bb-tpx-coupon-chip {
  background: #fff; border: 1px solid #fdba74; color: #9a3412;
  padding: 4px 10px; border-radius: var(--bb-radius-pill);
  font-size: 11px; font-weight: 600; cursor: pointer;
}
.bb-tpx-coupon-chip:hover { background: #fed7aa; }
.bb-tpx-coupon-chip strong { font-weight: 800; }

.bb-tpx-coupon-status {
  margin-top: 10px; padding: 8px 12px;
  background: #ecfdf5; border: 1px solid #6ee7b7;
  border-radius: var(--bb-radius);
  font-size: 12px; color: #047857; font-weight: 700;
  display: flex; align-items: center; gap: 8px;
}
.bb-tpx-coupon-status i { font-size: 14px; }
.bb-tpx-coupon-status--err { background: #fef2f2; border-color: #fca5a5; color: var(--bb-danger); }
.bb-tpx-coupon-remove {
  margin-left: auto; background: transparent; border: 0;
  width: 22px; height: 22px; border-radius: 50%;
  color: #047857; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px;
}
.bb-tpx-coupon-remove:hover { background: #fff; }
.is-hidden { display: none !important; }

/* Payment methods */
.bb-tpx-paymethods { padding: 14px 16px; }
.bb-tpx-paymethods h6 {
  font-size: 12px; font-weight: 700; color: var(--bb-text);
  text-transform: uppercase; letter-spacing: .4px;
  margin: 0 0 10px;
}
.bb-tpx-paymethod {
  display: block;
  padding: 12px 14px;
  border: 1.5px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  margin-bottom: 8px;
  cursor: pointer;
  transition: all .15s;
}
.bb-tpx-paymethod input { display: none; }
.bb-tpx-paymethod:hover { border-color: var(--bb-primary-light); background: #fff7ed; }
.bb-tpx-paymethod:has(input:checked) { background: #fff7ed; border-color: var(--bb-primary); box-shadow: 0 0 0 3px rgba(249, 115, 22, .12); }
.bb-tpx-paymethod-body { display: flex; align-items: center; gap: 12px; }
.bb-tpx-paymethod-ico {
  width: 40px; height: 40px; border-radius: var(--bb-radius);
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff; display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px; flex-shrink: 0;
}
.bb-tpx-paymethod-body strong { display: block; font-size: 13.5px; font-weight: 700; color: var(--bb-text); }
.bb-tpx-paymethod-body small { display: block; font-size: 11.5px; color: var(--bb-text-muted); }

/* Cancellation preview (collapsible) */
.bb-tpx-cancelprev { margin: 0 16px; padding: 0; }
.bb-tpx-cancelprev summary { padding: 10px 0; border-top: 1px dashed var(--bb-border); font-size: 13px; font-weight: 700; color: var(--bb-text); cursor: pointer; }
.bb-tpx-cancelprev summary i { margin-right: 6px; color: var(--bb-primary); }
.bb-tpx-cancelprev-list { list-style: none; margin: 6px 0 12px; padding: 0; }
.bb-tpx-cancelprev-list li { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 12.5px; color: var(--bb-text-muted); }
.bb-tpx-cancel-pct { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: 11px; padding: 2px 8px; border-radius: var(--bb-radius-pill); color: #fff; min-width: 38px; text-align: center; }
.bb-tpx-cancel-pct--green  { background: #10b981; }
.bb-tpx-cancel-pct--yellow { background: #eab308; }
.bb-tpx-cancel-pct--orange { background: #f97316; }
.bb-tpx-cancel-pct--red    { background: #ef4444; }

/* Pay Now button */
.bb-tpx-paynow {
  display: block; width: calc(100% - 32px); margin: 14px 16px 12px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff; border: 0;
  padding: 14px;
  border-radius: var(--bb-radius);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px; font-weight: 800; cursor: pointer;
  box-shadow: 0 10px 22px -6px rgba(249, 115, 22, .5);
  transition: transform .15s;
}
.bb-tpx-paynow:hover { transform: translateY(-2px); }
.bb-tpx-paynow i { margin-right: 6px; }

/* Trust bar */
.bb-tpx-trustbar { display: flex; justify-content: space-around; padding: 8px 16px; border-top: 1px dashed var(--bb-border); }
.bb-tpx-trustbar span { font-size: 11px; color: var(--bb-text-muted); font-weight: 600; display: inline-flex; align-items: center; gap: 4px; }
.bb-tpx-trustbar i { color: var(--bb-success); }

.bb-tpx-tos {
  margin: 8px 16px 16px;
  font-size: 10.5px;
  color: var(--bb-text-muted);
  text-align: center;
  line-height: 1.5;
}
.bb-tpx-tos a { color: var(--bb-secondary); text-decoration: none; font-weight: 600; }

/* Mobile responsive */
@media (max-width: 991px) {
  .bb-tpx-main .col-lg-8, .bb-tpx-main .col-lg-4 { flex: 0 0 100%; max-width: 100%; }
  .bb-tpx-summary { position: static; margin-top: 16px; }
}
@media (max-width: 767px) {
  .bb-tpx-paxcard-head { padding: 12px 14px; }
  .bb-tpx-paxcard-body { padding: 14px; }
  .bb-tpx-paxcard-head h3 { font-size: 14px; }
  .bb-tpx-summary-total { font-size: 22px; }
  .bb-tpx-fare-total strong { font-size: 18px; }
  .bb-tpx-radio { padding: 8px; font-size: 12.5px; }
}

/* Read-only boarding/dropping confirmation (selected on previous step) */
.bb-tpx-paxcard--info { background: linear-gradient(135deg, #fff7ed 0%, #f0fdfa 100%); }
.bb-tpx-paxcard--info .bb-tpx-paxcard-head { background: transparent; }
.bb-tpx-edit {
  font-size: 12px; font-weight: 700; color: var(--bb-secondary);
  text-decoration: none; padding: 4px 12px;
  background: #fff; border: 1px dashed var(--bb-secondary);
  border-radius: var(--bb-radius-pill);
}
.bb-tpx-edit:hover { background: var(--bb-secondary); color: #fff !important; }
.bb-tpx-edit i { margin-right: 4px; font-size: 10px; }

.bb-tpx-stops { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 575px) { .bb-tpx-stops { grid-template-columns: 1fr; } }
.bb-tpx-stop {
  display: grid; grid-template-columns: 44px 1fr; gap: 12px;
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  padding: 12px 14px;
}
.bb-tpx-stop-ico {
  width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; color: #fff;
}
.bb-tpx-stop--board .bb-tpx-stop-ico { background: linear-gradient(135deg, #10b981, #047857); }
.bb-tpx-stop--drop  .bb-tpx-stop-ico { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
.bb-tpx-stop-info small { display: block; font-size: 10.5px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: .4px; font-weight: 700; }
.bb-tpx-stop-info strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14.5px; font-weight: 800; color: var(--bb-text); margin: 2px 0; }
.bb-tpx-stop-info span { display: block; font-size: 11.5px; color: var(--bb-text-muted); }

/* =====================================================================
   TOUR BOOKING CONFIRMATION — spec 11-tour-booking-confirmation.md
===================================================================== */

/* Status hero (success / failed) */
.bb-tbc-hero { padding: 40px 0 60px; position: relative; overflow: hidden; }
.bb-tbc-hero--success { background: linear-gradient(180deg, #ecfdf5 0%, #f0fdfa 60%, transparent 100%); }
.bb-tbc-hero--failed  { background: linear-gradient(180deg, #fef2f2 0%, #fff7ed 60%, transparent 100%); }
.bb-tbc-hero-inner { text-align: center; max-width: 720px; margin: 0 auto; position: relative; z-index: 2; }
.bb-tbc-hero-icon {
  display: inline-flex; width: 88px; height: 88px; border-radius: 50%;
  align-items: center; justify-content: center;
  color: #fff; font-size: 40px;
  margin-bottom: 16px;
  position: relative;
}
.bb-tbc-hero--success .bb-tbc-hero-icon {
  background: linear-gradient(135deg, #10b981, #047857);
  box-shadow: 0 20px 50px -10px rgba(16, 185, 129, .55);
  animation: bbTbcPop .5s var(--ease-bounce);
}
.bb-tbc-hero--failed .bb-tbc-hero-icon {
  background: linear-gradient(135deg, #ef4444, #b91c1c);
  box-shadow: 0 20px 50px -10px rgba(239, 68, 68, .55);
}
@keyframes bbTbcPop { from { transform: scale(0); opacity: 0; } 70% { transform: scale(1.15); } to { transform: scale(1); opacity: 1; } }
.bb-tbc-confetti {
  position: absolute; inset: -30px; pointer-events: none;
  background:
    radial-gradient(circle at 15% 25%, #f97316 3px, transparent 3.5px),
    radial-gradient(circle at 85% 20%, #0d9488 3px, transparent 3.5px),
    radial-gradient(circle at 75% 75%, #eab308 3px, transparent 3.5px),
    radial-gradient(circle at 25% 80%, #a78bfa 3px, transparent 3.5px),
    radial-gradient(circle at 92% 55%, #ec4899 3px, transparent 3.5px),
    radial-gradient(circle at 8% 50%, #10b981 3px, transparent 3.5px);
}
.bb-tbc-hero-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(26px, 4vw, 36px); font-weight: 800; margin-bottom: 8px; color: var(--bb-text); }
.bb-tbc-hero-sub { font-size: 14.5px; color: var(--bb-text-muted); max-width: 600px; margin: 0 auto 22px; }
.bb-tbc-hero-sub strong { color: var(--bb-text); }

.bb-tbc-pnr-row {
  display: inline-grid; grid-template-columns: repeat(3, auto); gap: 1px;
  background: var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  box-shadow: 0 10px 24px -8px rgba(15, 23, 42, .15);
}
.bb-tbc-pnr-cell { background: #fff; padding: 14px 24px; text-align: center; min-width: 140px; }
.bb-tbc-pnr-cell small { display: block; font-size: 10.5px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: .5px; font-weight: 700; margin-bottom: 2px; }
.bb-tbc-pnr-cell strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 800; color: var(--bb-text); }
.bb-tbc-status-ok { color: #047857 !important; }
@media (max-width: 575px) { .bb-tbc-pnr-row { grid-template-columns: 1fr; } }

/* Main body */
.bb-tbc-main { padding: 0 0 60px; background: var(--bb-bg); }

/* Confirmation cards */
.bb-tbc-card {
  background: #fff; border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  margin-bottom: 16px;
  overflow: hidden;
  box-shadow: 0 2px 6px -2px rgba(15, 23, 42, .05);
}
.bb-tbc-card-head {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 14px 18px;
  background: var(--bb-bg);
  border-bottom: 1px solid var(--bb-border-light);
}
.bb-tbc-card-head h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15.5px; font-weight: 800; margin: 0; display: inline-flex; align-items: center; gap: 8px; color: var(--bb-text); }
.bb-tbc-card-head h2 i { color: var(--bb-primary); }
.bb-tbc-card-head > small { font-size: 12px; color: var(--bb-text-muted); }
.bb-tbc-trust {
  background: linear-gradient(135deg, #d1fae5, #ecfdf5);
  color: #047857;
  padding: 4px 12px; border-radius: var(--bb-radius-pill);
  font-size: 11px; font-weight: 800;
  border: 1px solid #6ee7b7;
}
.bb-tbc-trust i { margin-right: 3px; }
.bb-tbc-card-body { padding: 16px 18px; }

/* Ticket numbers (3 numbered chips) */
.bb-tbc-tickets { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.bb-tbc-ticket {
  display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center;
  background: var(--bb-bg); border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  padding: 10px 14px;
}
.bb-tbc-ticket small { grid-column: 1 / -1; font-size: 10.5px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: .4px; font-weight: 700; }
.bb-tbc-ticket strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14.5px; font-weight: 800; color: var(--bb-primary-dark); letter-spacing: .5px; }
.bb-tbc-copy-btn {
  width: 30px; height: 30px; border: 1px solid var(--bb-border);
  background: #fff; color: var(--bb-text-muted);
  border-radius: 8px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: all .15s;
}
.bb-tbc-copy-btn:hover { color: var(--bb-primary); border-color: var(--bb-primary); }
.bb-tbc-copy-btn.is-copied { background: var(--bb-success); border-color: var(--bb-success); color: #fff; }

/* Trip details */
.bb-tbc-trip-pkg { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 16px; font-weight: 800; margin: 0 0 4px; color: var(--bb-text); }
.bb-tbc-trip-sub { font-size: 12.5px; color: var(--bb-text-muted); margin: 0 0 14px; }
.bb-tbc-trip-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding-bottom: 14px; border-bottom: 1px dashed var(--bb-border-light); margin-bottom: 14px; }
@media (max-width: 575px) { .bb-tbc-trip-grid { grid-template-columns: 1fr; } }
.bb-tbc-trip-cell small { display: block; font-size: 11px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: .4px; font-weight: 700; margin-bottom: 4px; }
.bb-tbc-trip-cell small i { margin-right: 4px; color: var(--bb-primary); }
.bb-tbc-trip-cell strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 800; color: var(--bb-text); }
.bb-tbc-trip-cell span { display: block; font-size: 12px; color: var(--bb-text-muted); margin-top: 2px; }

/* Trip route (boarding → dropping with arrow bus icon) */
.bb-tbc-trip-route { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; padding-bottom: 14px; border-bottom: 1px dashed var(--bb-border-light); margin-bottom: 14px; }
@media (max-width: 575px) { .bb-tbc-trip-route { grid-template-columns: 1fr; gap: 8px; } .bb-tbc-trip-arrow { transform: rotate(90deg); } }
.bb-tbc-trip-stop { display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: center; }
.bb-tbc-trip-ico {
  width: 40px; height: 40px; border-radius: 12px;
  color: #fff; display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px;
}
.bb-tbc-trip-stop--from .bb-tbc-trip-ico { background: linear-gradient(135deg, #10b981, #047857); }
.bb-tbc-trip-stop--to .bb-tbc-trip-ico { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
.bb-tbc-trip-stop small { display: block; font-size: 11px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: .4px; font-weight: 700; }
.bb-tbc-trip-stop strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14.5px; font-weight: 800; color: var(--bb-text); }
.bb-tbc-trip-stop span { display: block; font-size: 11.5px; color: var(--bb-text-muted); }
.bb-tbc-trip-arrow {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--bb-bg); color: var(--bb-primary);
  display: flex; align-items: center; justify-content: center;
}

/* Driver info */
.bb-tbc-driver {
  display: grid; grid-template-columns: 44px 1fr auto; gap: 12px; align-items: center;
  padding: 10px 12px;
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
  border: 1px solid #fdba74;
  border-radius: var(--bb-radius);
}
.bb-tbc-driver-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--bb-primary); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 13px;
}
.bb-tbc-driver-info small { display: block; font-size: 10.5px; color: #92400e; text-transform: uppercase; letter-spacing: .4px; font-weight: 700; }
.bb-tbc-driver-info strong { display: block; font-size: 13.5px; color: var(--bb-text); }
.bb-tbc-driver-info span { display: block; font-size: 11.5px; color: var(--bb-text-muted); }
.bb-tbc-driver-call {
  background: var(--bb-primary); color: #fff !important;
  padding: 8px 14px; border-radius: var(--bb-radius);
  font-size: 12px; font-weight: 700; text-decoration: none;
}
.bb-tbc-driver-call:hover { background: var(--bb-primary-dark); }

/* Passenger table */
.bb-tbc-pax-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.bb-tbc-pax-table thead th { background: var(--bb-bg); padding: 10px 12px; font-size: 11px; text-transform: uppercase; letter-spacing: .4px; color: var(--bb-text-muted); text-align: left; font-weight: 700; }
.bb-tbc-pax-table tbody td { padding: 10px 12px; border-top: 1px dashed var(--bb-border-light); }
.bb-tbc-pax-table tbody td:first-child { color: var(--bb-text-muted); font-weight: 700; }
.bb-tbc-pax-tag {
  display: inline-block; margin-left: 6px;
  background: #fff7ed; color: var(--bb-primary-dark);
  padding: 1px 8px; border-radius: var(--bb-radius-pill);
  font-size: 10px; font-weight: 800; letter-spacing: .3px;
  border: 1px solid var(--bb-primary-light);
}
.bb-tbc-pax-tag--child { background: #eff6ff; color: #1d4ed8; border-color: #93c5fd; }

/* Fare summary card */
.bb-tbc-card--fare .bb-tbc-card-head { background: linear-gradient(135deg, #fff7ed, #ffedd5); }
.bb-tbc-fare-list { list-style: none; margin: 0; padding: 0; }
.bb-tbc-fare-list li { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13px; }
.bb-tbc-fare-list code { background: var(--bb-bg); padding: 1px 6px; border-radius: 4px; font-size: 11px; }
.bb-tbc-fare-disc { color: #047857; }
.bb-tbc-fare-disc strong { color: #047857; }
.bb-tbc-fare-disc i { color: var(--bb-primary); margin-right: 4px; }
.bb-tbc-fare-total { padding-top: 10px !important; margin-top: 6px; border-top: 1px dashed var(--bb-border); font-size: 15px !important; font-weight: 800; }
.bb-tbc-fare-total strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 20px; color: var(--bb-primary); }
.bb-tbc-fare-pmt { padding-top: 8px !important; border-top: 1px dashed var(--bb-border-light); margin-top: 6px; font-size: 12px !important; color: var(--bb-text-muted); }
.bb-tbc-fare-pmt i { color: var(--bb-secondary); margin-right: 4px; }
.bb-tbc-fare-txn { font-size: 11px !important; color: var(--bb-text-muted); padding-top: 4px !important; }
.bb-tbc-fare-txn code { background: var(--bb-bg); padding: 1px 6px; border-radius: 4px; font-size: 10.5px; }

/* Fare card in right column (replaces QR slot) — NOT sticky, scrolls with page */
.bb-tbc-card--side {
  margin-bottom: 14px;
}

/* =====================================================================
   TOUR PACKAGES — Pagination + Filter sidebar (Nation + Search pages)
===================================================================== */

/* Pagination (Nation + Search pages) */
.bb-tpc-pagination { text-align: center; padding: 24px 0 8px; }
.bb-tpc-page-list {
  display: inline-flex; gap: 4px;
  list-style: none; margin: 0; padding: 6px;
  background: #fff; border-radius: var(--bb-radius-pill);
  border: 1px solid var(--bb-border-light);
  box-shadow: 0 2px 6px -2px rgba(15, 23, 42, .08);
}
.bb-tpc-page-link {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px;
  padding: 0 12px;
  border-radius: 50%;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px; font-weight: 700;
  color: var(--bb-text); text-decoration: none;
  transition: all .15s;
}
.bb-tpc-page-link:hover { background: var(--bb-bg); color: var(--bb-primary); }
.bb-tpc-page-link.is-active {
  background: var(--bb-primary); color: #fff;
  box-shadow: 0 4px 10px -2px rgba(249, 115, 22, .45);
}
.bb-tpc-page-link--disabled { color: var(--bb-text-light); cursor: not-allowed; pointer-events: none; }
.bb-tpc-page-link--dots { cursor: default; pointer-events: none; color: var(--bb-text-muted); }
.bb-tpc-page-info { margin: 10px 0 0; font-size: 12px; color: var(--bb-text-muted); }

/* Search page — filter sidebar (left col) */
.bb-tps-results { padding: 30px 0 60px; }
.bb-tps-filterbar {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  padding: 0;
  overflow: hidden;
  position: sticky;
  top: calc(var(--header-h, 70px) + 16px);
}
.bb-tps-filterbar-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 16px;
  background: var(--bb-bg);
  border-bottom: 1px solid var(--bb-border-light);
}
.bb-tps-filterbar-head h3 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14px; font-weight: 800; margin: 0;
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--bb-text);
}
.bb-tps-filterbar-head h3 i { color: var(--bb-primary); }
.bb-tps-filter-reset {
  background: transparent; border: 0;
  color: var(--bb-secondary); cursor: pointer;
  font-size: 12px; font-weight: 700;
}
.bb-tps-filter-reset:hover { color: var(--bb-secondary-dark); text-decoration: underline; }

.bb-tps-filter-section {
  padding: 14px 16px;
  border-bottom: 1px solid var(--bb-border-light);
}
.bb-tps-filter-section:last-child { border-bottom: 0; }
.bb-tps-filter-section h4 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .5px;
  color: var(--bb-text-muted); margin: 0 0 10px;
}
.bb-tps-filter-row {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 0; cursor: pointer;
  font-size: 13px;
}
.bb-tps-filter-row input { accent-color: var(--bb-primary); }
.bb-tps-filter-row span { flex: 1; color: var(--bb-text); }
.bb-tps-filter-row small { color: var(--bb-text-muted); font-size: 11.5px; }
.bb-tps-filter-row:hover span { color: var(--bb-primary); }

.bb-tps-filter-apply {
  width: 100%; margin-top: 10px;
  background: var(--bb-primary); color: #fff;
  border: 0; padding: 8px 14px;
  border-radius: var(--bb-radius);
  font-size: 12.5px; font-weight: 700; cursor: pointer;
}
.bb-tps-filter-apply:hover { background: var(--bb-primary-dark); }

/* Price pill checkboxes */
.bb-tps-price-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.bb-tps-pricepill {
  position: relative;
  background: #fff; border: 1.5px solid var(--bb-border);
  padding: 5px 12px; border-radius: var(--bb-radius-pill);
  font-size: 12px; font-weight: 700; color: var(--bb-text);
  cursor: pointer;
}
.bb-tps-pricepill input { position: absolute; opacity: 0; pointer-events: none; }
.bb-tps-pricepill:hover { border-color: var(--bb-primary); color: var(--bb-primary); }
.bb-tps-pricepill:has(input:checked) { background: var(--bb-primary); color: #fff; border-color: var(--bb-primary); }

/* Results bar (right col header) */
.bb-tps-resbar {
  display: flex; justify-content: space-between; align-items: center;
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  padding: 12px 16px;
  margin-bottom: 14px;
  flex-wrap: wrap; gap: 10px;
}
.bb-tps-resbar-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bb-tps-resbar-chips strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; color: var(--bb-text); margin-right: 6px; }
.bb-tps-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: #fff7ed; color: var(--bb-primary-dark);
  border: 1px solid var(--bb-primary-light);
  padding: 4px 10px; border-radius: var(--bb-radius-pill);
  font-size: 12px; font-weight: 700;
}
.bb-tps-chip button {
  background: transparent; border: 0; cursor: pointer;
  color: var(--bb-primary-dark); font-size: 14px;
  line-height: 1; padding: 0;
}
.bb-tps-chip button:hover { color: var(--bb-danger); }

.bb-tps-resbar-sort { display: flex; align-items: center; gap: 8px; }
.bb-tps-resbar-sort label { font-size: 12px; font-weight: 700; color: var(--bb-text-muted); margin: 0; }
.bb-tps-sortsel {
  padding: 6px 30px 6px 12px;
  border: 1.5px solid var(--bb-border); border-radius: var(--bb-radius);
  font-size: 12.5px; font-weight: 700; color: var(--bb-text);
  cursor: pointer;
  background: #fff;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23f97316' stroke-width='3'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
}

/* Hide block marker (used during transformation) */
[class*="BLOCK_MARKER"] { display: none; }

/* Mobile responsive — filter sidebar collapses */
@media (max-width: 991px) {
  .bb-tps-results .col-lg-3, .bb-tps-results .col-lg-9 { flex: 0 0 100%; max-width: 100%; }
  .bb-tps-filterbar { position: static; margin-bottom: 14px; }
  .bb-tps-resbar { flex-direction: column; align-items: stretch; }
  .bb-tps-resbar-sort { justify-content: space-between; }
}
@media (max-width: 575px) {
  .bb-tpc-page-link { min-width: 32px; height: 32px; padding: 0 8px; font-size: 12px; }
}

/* ---------- FAILED PAGE specific styling ---------- */
/* Wizard step in failed state */
.bb-tbr-step.is-failed { color: var(--bb-danger); font-weight: 800; }
.bb-tbr-step.is-failed .bb-tbr-step-num {
  background: var(--bb-danger); border-color: var(--bb-danger); color: #fff;
  box-shadow: 0 6px 16px rgba(239, 68, 68, .38), 0 0 0 5px rgba(239, 68, 68, .14);
}

/* Status color in PNR row + fare row */
.bb-tbc-status-fail { color: var(--bb-danger) !important; }
.bb-tbc-fare-pmt--fail { color: var(--bb-danger) !important; }
.bb-tbc-fare-pmt--fail i { color: var(--bb-danger) !important; }

/* FAQ accordion on failed page */
.bb-tbc-faq {
  margin-bottom: 8px;
  background: var(--bb-bg);
  border-radius: var(--bb-radius);
  border: 1px solid var(--bb-border-light);
  overflow: hidden;
}
.bb-tbc-faq summary {
  padding: 12px 14px;
  font-size: 13.5px; font-weight: 700;
  color: var(--bb-text);
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: 36px;
}
.bb-tbc-faq summary::-webkit-details-marker { display: none; }
.bb-tbc-faq summary::after {
  content: '\f078'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
  position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
  font-size: 11px; color: var(--bb-primary);
  transition: transform .2s;
}
.bb-tbc-faq[open] summary::after { transform: translateY(-50%) rotate(180deg); }
.bb-tbc-faq[open] summary { background: #fff; border-bottom: 1px dashed var(--bb-border); }
.bb-tbc-faq p { margin: 0; padding: 12px 14px; background: #fff; font-size: 13px; color: var(--bb-text-muted); line-height: 1.55; }
.bb-tbc-faq a { color: var(--bb-primary); font-weight: 700; text-decoration: none; }

/* Tips card */
.bb-tbc-card--tips .bb-tbc-card-head { background: linear-gradient(135deg, #fffbeb, #fef3c7); }
.bb-tbc-tips { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bb-tbc-tips li { display: grid; grid-template-columns: 32px 1fr; gap: 10px; font-size: 13px; color: var(--bb-text); align-items: flex-start; }
.bb-tbc-tips i { width: 32px; height: 32px; border-radius: 10px; background: #fff; color: var(--bb-primary); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; box-shadow: 0 2px 6px -1px rgba(249, 115, 22, .25); }
.bb-tbc-tips strong { color: var(--bb-text); font-weight: 700; }
.bb-tbc-tips a { color: var(--bb-primary); font-weight: 700; text-decoration: none; }

/* Failed state */
.bb-tbc-card--failed .bb-tbc-card-head { background: linear-gradient(135deg, #fef2f2, #fee2e2); }
.bb-tbc-card--failed .bb-tbc-card-head h2 i { color: var(--bb-danger); }
.bb-tbc-fail-list { padding-left: 20px; margin: 0 0 16px; font-size: 13.5px; color: var(--bb-text); }
.bb-tbc-fail-list li { padding: 3px 0; }
.bb-tbc-fail-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.bb-tbc-fail-refund {
  display: flex; gap: 12px; align-items: flex-start;
  background: #eff6ff; border: 1px solid #93c5fd;
  border-radius: var(--bb-radius); padding: 12px 14px;
}
.bb-tbc-fail-refund i { color: #2563eb; font-size: 18px; margin-top: 2px; }
.bb-tbc-fail-refund div { font-size: 13px; color: var(--bb-text); }
.bb-tbc-fail-refund strong { color: var(--bb-text); }

/* 4-cell PNR row (IRCTC: transaction id + confirmation no + our ticket no + status).
   Declared after the base 575px rule so the 2x2 grid wins on small screens. */
.bb-tbc-pnr-row--4 { grid-template-columns: repeat(4, auto); }
@media (max-width: 991px) { .bb-tbc-pnr-row--4 { grid-template-columns: repeat(2, auto); } }
@media (max-width: 359px) { .bb-tbc-pnr-row--4 { grid-template-columns: 1fr; } }
.bb-tbc-status-fail { color: var(--bb-danger); }

/* Voucher / operator contact info (CMS-managed HTML from the IRCTC API) */
.bb-tbc-voucher-info {
  background: #f8fafc; border: 1px dashed var(--bb-border);
  border-radius: var(--bb-radius); padding: 12px 14px;
  font-size: 13.5px; line-height: 1.65; color: var(--bb-text);
}
.bb-tbc-voucher-info :last-child { margin-bottom: 0; }
.bb-tbc-voucher-info + .bb-tbc-trip-sub { margin-top: 12px; }

/* QR card (sticky right column) */
.bb-tbc-qr {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  padding: 20px; text-align: center;
  margin-bottom: 14px;
  box-shadow: 0 4px 12px -4px rgba(15, 23, 42, .08);
}
.bb-tbc-qr > small {
  display: block; font-size: 11.5px; color: var(--bb-text-muted);
  text-transform: uppercase; letter-spacing: .5px; font-weight: 700; margin-bottom: 12px;
}
.bb-tbc-qr-box {
  display: inline-block; padding: 12px;
  background: linear-gradient(135deg, #fff, var(--bb-bg));
  border: 2px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
}
.bb-tbc-qr-code {
  display: block; margin-top: 12px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14px; font-weight: 800; color: var(--bb-text);
  letter-spacing: 1.5px;
}

/* Actions */
.bb-tbc-actions {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  padding: 14px;
  margin-bottom: 14px;
  box-shadow: 0 2px 6px -2px rgba(15, 23, 42, .05);
}
.bb-tbc-action {
  width: 100%;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  background: #fff;
  border: 1.5px solid var(--bb-border);
  color: var(--bb-text); text-decoration: none;
  padding: 10px 14px;
  border-radius: var(--bb-radius);
  font-size: 13px; font-weight: 700;
  cursor: pointer;
  transition: all .15s;
}
.bb-tbc-action:hover { border-color: var(--bb-primary); color: var(--bb-primary); }
.bb-tbc-action i { font-size: 13px; }
.bb-tbc-action--primary {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff !important; border-color: transparent;
  box-shadow: 0 6px 16px -4px rgba(249, 115, 22, .5);
}
.bb-tbc-action--primary:hover { transform: translateY(-1px); }
.bb-tbc-actions-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.bb-tbc-action--bookings {
  background: linear-gradient(135deg, var(--bb-secondary), var(--bb-secondary-dark));
  color: #fff !important; border-color: transparent;
  margin-top: 8px;
  box-shadow: 0 6px 16px -4px rgba(13, 148, 136, .45);
}

/* Support card */
.bb-tbc-support {
  display: flex; align-items: center; gap: 12px;
  background: linear-gradient(135deg, #0f172a, #134e4a);
  color: #fff;
  padding: 14px 16px; border-radius: var(--bb-radius-lg);
}
.bb-tbc-support i {
  width: 42px; height: 42px; border-radius: 10px;
  background: rgba(255, 255, 255, .12);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 18px; flex-shrink: 0;
}
.bb-tbc-support strong { display: block; font-size: 12.5px; color: #fff; }
.bb-tbc-support a { display: block; color: #fed7aa !important; font-weight: 800; font-size: 15px; text-decoration: none; }

/* Promotional banners */
.bb-tbc-promo { padding: 30px 0; background: #fff; border-top: 1px solid var(--bb-border-light); }
.bb-tbc-promo a { text-decoration: none; }
.bb-tbc-promo-card {
  display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center;
  padding: 18px 22px;
  color: #fff;
  border-radius: var(--bb-radius-lg);
  box-shadow: var(--bb-shadow-md);
  transition: transform .15s;
}
.bb-tbc-promo-card:hover { transform: translateY(-2px); }
.bb-tbc-promo-card--1 { background: linear-gradient(135deg, #06b6d4, #0e7490); }
.bb-tbc-promo-card--2 { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.bb-tbc-promo-card strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 17px; font-weight: 800; }
.bb-tbc-promo-card span { font-size: 12.5px; opacity: .9; }
.bb-tbc-promo-card i { font-size: 16px; }

/* Suggested next tours */
.bb-tbc-suggest { padding: 40px 0; background: var(--bb-bg); }

/* Mobile responsive */
@media (max-width: 991px) {
  .bb-tbc-main .col-lg-8, .bb-tbc-main .col-lg-4 { flex: 0 0 100%; max-width: 100%; }
}
@media (max-width: 767px) {
  .bb-tbc-hero { padding: 28px 0 40px; }
  .bb-tbc-hero-icon { width: 72px; height: 72px; font-size: 32px; }
  .bb-tbc-pnr-cell { padding: 10px 14px; min-width: 0; }
  .bb-tbc-card-head { padding: 12px 14px; }
  .bb-tbc-card-body { padding: 14px; }
  .bb-tbc-card-head h2 { font-size: 14px; }
  .bb-tbc-trip-pkg { font-size: 14.5px; }
  .bb-tbc-actions-grid { gap: 6px; }
  .bb-tbc-action { padding: 8px 10px; font-size: 12px; }
}

/* =====================================================================
   TOUR BOOKING — Vehicle confirmation modal with Adult/Child stepper
===================================================================== */

/* Selected vehicle summary at top of modal */
.bb-tbr-modal-vsum {
  display: grid; grid-template-columns: 44px 1fr auto; gap: 12px; align-items: center;
  background: linear-gradient(135deg, #fff7ed, #fefce8);
  border: 1px solid #fde6c4;
  border-radius: var(--bb-radius);
  padding: 12px 14px;
  margin-bottom: 16px;
}
.bb-tbr-modal-vsum-ico {
  width: 40px; height: 40px; border-radius: 10px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px;
}
.bb-tbr-modal-vsum strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14.5px; font-weight: 800; color: var(--bb-text); }
.bb-tbr-modal-vsum small { display: block; font-size: 11.5px; color: var(--bb-text-muted); margin-top: 2px; }
.bb-tbr-modal-vsum-rate { text-align: right; }
.bb-tbr-modal-vsum-rate small { display: block; font-size: 10.5px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: .4px; font-weight: 700; }
.bb-tbr-modal-vsum-rate strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 16px; color: var(--bb-primary-dark); }

/* Adult + Child count rows */
.bb-tbr-modal-counts { display: grid; gap: 10px; margin-bottom: 14px; }
.bb-tbr-modal-count {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 12px 14px;
  background: #fff;
  border: 1.5px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
}
.bb-tbr-modal-count-label strong { display: block; font-size: 14px; font-weight: 700; color: var(--bb-text); }
.bb-tbr-modal-count-label small { display: block; font-size: 11.5px; color: var(--bb-text-muted); margin-top: 2px; }

/* Select dropdown for adult/child count */
.bb-tbr-modal-select {
  min-width: 140px;
  height: 40px;
  padding: 0 36px 0 14px;
  border: 1.5px solid var(--bb-border);
  border-radius: var(--bb-radius);
  background: #fff;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14px; font-weight: 700; color: var(--bb-text);
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f97316' stroke-width='3'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  transition: border-color .15s, box-shadow .15s;
}
.bb-tbr-modal-select:hover { border-color: var(--bb-primary-light); }
.bb-tbr-modal-select:focus { outline: 0; border-color: var(--bb-primary); box-shadow: 0 0 0 4px rgba(249, 115, 22, .12); }
.bb-tbr-modal-count-label strong i { color: var(--bb-primary); margin-right: 5px; font-size: 12px; }

/* Live total fare display */
.bb-tbr-modal-total {
  background: linear-gradient(135deg, #ecfdf5, #d1fae5);
  border: 1px solid #6ee7b7;
  border-radius: var(--bb-radius);
  padding: 12px 14px;
  margin-bottom: 14px;
}
.bb-tbr-modal-total > div { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.bb-tbr-modal-total small { font-size: 11px; color: #047857; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; }
.bb-tbr-modal-total strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; color: #047857; }
.bb-tbr-modal-total span { font-size: 12px; color: var(--bb-text-muted); }
.bb-tbr-modal-total-note { display: block; margin-top: 6px; font-size: 11px !important; color: var(--bb-text-muted) !important; text-transform: none !important; letter-spacing: 0 !important; }
.bb-tbr-modal-total-note i { color: var(--bb-info, #0ea5e9); margin-right: 3px; }

.bb-tbr-modal-next { font-size: 12.5px; color: var(--bb-text-muted); margin: 0; }
.bb-tbr-modal-next strong { color: var(--bb-text); }

/* Proper Cancel button in modal footer (matches Book Now visual weight) */
.bb-tbr-cancel-btn {
  background: #fff;
  color: var(--bb-text);
  border: 1.5px solid var(--bb-border);
  padding: 10px 20px;
  border-radius: var(--bb-radius);
  font-size: 13.5px; font-weight: 700;
  cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
  transition: all .15s;
}
.bb-tbr-cancel-btn:hover {
  background: #fef2f2;
  border-color: var(--bb-danger);
  color: var(--bb-danger);
}
.bb-tbr-cancel-btn i { font-size: 11px; }
@media (max-width: 767px) {
  .bb-tbr-cancel-btn { padding: 8px 14px; font-size: 12.5px; }
}

@media (max-width: 767px) {
  /* Compact modal on mobile — reduce vertical height */
  #select-bus-direct-agent .modal-dialog { margin: 8px; }
  #select-bus-direct-agent .modal-content { border-radius: var(--bb-radius); }
  #select-bus-direct-agent .modal-header { padding: 10px 14px; }
  #select-bus-direct-agent .modal-title { font-size: 14px; }
  #select-bus-direct-agent .modal-body { padding: 12px 14px; }
  #select-bus-direct-agent .modal-footer { padding: 8px 14px; }

  /* Tight vehicle summary */
  .bb-tbr-modal-vsum {
    grid-template-columns: 36px 1fr auto;
    padding: 8px 10px;
    margin-bottom: 10px;
    gap: 8px;
  }
  .bb-tbr-modal-vsum-ico { width: 32px; height: 32px; font-size: 13px; }
  .bb-tbr-modal-vsum strong { font-size: 13px; }
  .bb-tbr-modal-vsum small { font-size: 10.5px; }
  .bb-tbr-modal-vsum-rate small { font-size: 9px; }
  .bb-tbr-modal-vsum-rate strong { font-size: 13px; }

  /* Tight count rows */
  .bb-tbr-modal-counts { gap: 6px; margin-bottom: 10px; }
  .bb-tbr-modal-count { padding: 8px 12px; }
  .bb-tbr-modal-count-label strong { font-size: 13px; }
  .bb-tbr-modal-count-label small { font-size: 10.5px; }
  .bb-tbr-modal-select { min-width: 110px; height: 34px; padding: 0 30px 0 12px; font-size: 12.5px; background-size: 10px; }

  /* Compact total + remove tagline */
  .bb-tbr-modal-total { padding: 8px 12px; margin-bottom: 8px; }
  .bb-tbr-modal-total strong { font-size: 18px; }
  .bb-tbr-modal-total small { font-size: 10px; }
  .bb-tbr-modal-total-note { margin-top: 2px; font-size: 10px !important; }

  /* Hide "Next, you'll choose..." text — already clear from button label */
  .bb-tbr-modal-next { display: none; }

  /* Footer buttons smaller */
  #select-bus-direct-agent .modal-footer .bb-tpd-incl-link { padding: 6px 12px; font-size: 12.5px; }
  #select-bus-direct-agent .modal-footer .bb-tpd-book-btn { padding: 8px 16px; font-size: 12.5px; }
}

@media (max-width: 480px) {
  /* On very small phones the rate column wraps awkwardly — collapse to 2-col */
  .bb-tbr-modal-vsum { grid-template-columns: 32px 1fr; }
  .bb-tbr-modal-vsum-rate { grid-column: 1 / -1; text-align: left; padding-top: 4px; margin-top: 4px; border-top: 1px dashed #fde6c4; }
  .bb-tbr-modal-vsum-rate small { display: inline; margin-right: 4px; }
  .bb-tbr-modal-vsum-rate strong { display: inline; }
}

/* ---------- Day card collapse toggle ---------- */
.bb-tpd-daycard-head {
  cursor: pointer;
  transition: background .2s;
  grid-template-columns: 70px 1fr auto auto !important;  /* Day# | Title | Meals | Chevron */
}
.bb-tpd-daycard-head:hover { background: linear-gradient(135deg, #fed7aa 0%, #fef3c7 100%); }
.bb-tpd-daycard-toggle {
  width: 34px; height: 34px;
  border: 0;
  background: rgba(249, 115, 22, .12);
  color: var(--bb-primary);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  margin-left: 8px;
}
.bb-tpd-daycard-toggle i { font-size: 13px; transition: transform .25s var(--ease); }
/* When expanded → flip chevron */
.bb-tpd-daycard-head[aria-expanded="true"] .bb-tpd-daycard-toggle i { transform: rotate(180deg); }
.bb-tpd-daycard-head[aria-expanded="true"] .bb-tpd-daycard-toggle { background: var(--bb-primary); color: #fff; }

/* Collapsed body — when not .show, hidden via Bootstrap collapse */
.bb-tpd-daycard-body { transition: max-height .35s ease; }

@media (max-width: 575px) {
  .bb-tpd-daycard-head { grid-template-columns: 56px 1fr 32px !important; }
  .bb-tpd-daycard-meals { grid-column: 1 / -1 !important; }
  .bb-tpd-daycard-toggle { width: 30px; height: 30px; margin-left: 4px; grid-column: 3; grid-row: 1; }
}
.bb-tpd-daycard-head {
  background: linear-gradient(135deg, #fff7ed 0%, #fef3c7 100%);
  border-bottom: 1px solid #fde6c4;
  padding: 14px 18px;
  display: grid; grid-template-columns: 70px 1fr auto; gap: 16px; align-items: center;
}
.bb-tpd-daycard-num {
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  width: 64px; height: 64px;
  border-radius: 14px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center;
  box-shadow: 0 6px 14px -4px rgba(249, 115, 22, .5);
}
.bb-tpd-daycard-num small { font-size: 10px; opacity: .9; letter-spacing: 1.5px; text-transform: uppercase; line-height: 1; }
.bb-tpd-daycard-num strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 24px; font-weight: 800; line-height: 1; margin-top: 4px; }
.bb-tpd-daycard-title h4 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 16px; font-weight: 800; color: var(--bb-text); margin: 0 0 4px; line-height: 1.3; }
.bb-tpd-daycard-title small { font-size: 12px; color: #92400e; }
.bb-tpd-daycard-title small i { color: var(--bb-primary); margin-right: 4px; }

.bb-tpd-daycard-meals { display: flex; gap: 6px; }
.bb-tpd-meal {
  width: 30px; height: 30px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 800;
  cursor: help;
  position: relative;
}
.bb-tpd-meal i { display: none; }
.bb-tpd-meal--on { background: #d1fae5; color: #047857; border: 1.5px solid #6ee7b7; }
.bb-tpd-meal--off { background: #f1f5f9; color: #94a3b8; border: 1.5px solid #cbd5e1; text-decoration: line-through; }

.bb-tpd-daycard ol.bb-tpd-timeline { padding: 14px 18px 8px; margin: 0; }
.bb-tpd-timeline-time {
  display: inline-block; margin-bottom: 4px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px; font-weight: 800;
  color: var(--bb-primary);
  background: #fff7ed;
  padding: 2px 10px;
  border-radius: var(--bb-radius-pill);
}
.bb-tpd-timeline-body h5 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 800; color: var(--bb-text); margin: 0 0 4px; }
.bb-tpd-timeline-body p { font-size: 13px; color: var(--bb-text-muted); margin: 0; line-height: 1.55; }

/* Time-of-day marker variants */
.bb-tpd-tm--dawn  { background: linear-gradient(135deg, #1e3a8a, #312e81); color: #c7d2fe; border-color: #1e3a8a; }
.bb-tpd-tm--morn  { background: linear-gradient(135deg, #fde68a, #f59e0b); color: #92400e; border-color: #f59e0b; }
.bb-tpd-tm--noon  { background: linear-gradient(135deg, #fcd34d, #f97316); color: #fff; border-color: #f97316; }
.bb-tpd-tm--eve   { background: linear-gradient(135deg, #fb923c, #db2777); color: #fff; border-color: #db2777; }
.bb-tpd-tm--night { background: linear-gradient(135deg, #1e1b4b, #0f172a); color: #c7d2fe; border-color: #1e1b4b; }

/* ---------- Innovative Boarding / Dropping stops layout ---------- */
/* Stacked vertically — boarding first, dropping below */
.bb-tpd-stops {
  display: grid; grid-template-columns: 1fr; gap: 16px;
}
.bb-tpd-stops-col {
  background: #fff;
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  border: 1px solid var(--bb-border-light);
}
.bb-tpd-stops-col--board { border-top: 4px solid #10b981; }
.bb-tpd-stops-col--drop  { border-top: 4px solid #3b82f6; }

.bb-tpd-stops-head {
  padding: 14px 16px;
  display: flex; align-items: center; gap: 12px;
  border-bottom: 1px solid var(--bb-border-light);
  background: var(--bb-bg);
}
.bb-tpd-stops-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-size: 14px; flex-shrink: 0;
}
.bb-tpd-stops-col--board .bb-tpd-stops-icon { background: linear-gradient(135deg, #10b981, #047857); }
.bb-tpd-stops-col--drop  .bb-tpd-stops-icon { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
.bb-tpd-stops-head h5 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14.5px; font-weight: 800; color: var(--bb-text); margin: 0; }
.bb-tpd-stops-head small { font-size: 11.5px; color: var(--bb-text-muted); }

.bb-tpd-stops-list { list-style: none; margin: 0; padding: 0; counter-reset: stop; }
.bb-tpd-stop-card {
  display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center;
  padding: 12px 16px;
  border-bottom: 1px dashed var(--bb-border-light);
  position: relative;
}
.bb-tpd-stop-card:last-child { border-bottom: 0; }
/* Serial number chip — visible inside card on left, NOT clipped by parent overflow */
.bb-tpd-stop-card { padding-left: 50px !important; }
.bb-tpd-stop-card::before {
  counter-increment: stop;
  content: counter(stop);
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  width: 26px; height: 26px;
  background: #fff;
  border: 2px solid var(--bb-border);
  border-radius: 50%;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px; font-weight: 800; color: var(--bb-text-muted);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 6px -1px rgba(15, 23, 42, .1);
  z-index: 2;
}
.bb-tpd-stops-col--board .bb-tpd-stop-card::before {
  background: linear-gradient(135deg, #d1fae5, #a7f3d0);
  border-color: #10b981; color: #047857;
}
.bb-tpd-stops-col--drop  .bb-tpd-stop-card::before {
  background: linear-gradient(135deg, #dbeafe, #bfdbfe);
  border-color: #3b82f6; color: #1d4ed8;
}
@media (max-width: 575px) {
  .bb-tpd-stop-card { padding-left: 42px !important; }
  .bb-tpd-stop-card::before { left: 8px; width: 22px; height: 22px; font-size: 11px; }
}

.bb-tpd-stop-time {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 17px; font-weight: 800;
  text-align: center;
  min-width: 54px;
  line-height: 1;
}
.bb-tpd-stops-col--board .bb-tpd-stop-time { color: #047857; }
.bb-tpd-stops-col--drop  .bb-tpd-stop-time { color: #1d4ed8; }
.bb-tpd-stop-time small { display: block; font-size: 10px; font-weight: 700; opacity: .75; margin-top: 2px; }

.bb-tpd-stop-info { min-width: 0; }
.bb-tpd-stop-info strong { display: block; font-size: 14px; font-weight: 700; color: var(--bb-text); }
.bb-tpd-stop-info span { display: block; font-size: 11.5px; color: var(--bb-text-muted); margin-top: 2px; }
.bb-tpd-stop-info span i { color: var(--bb-primary); margin-right: 4px; font-size: 10px; }

.bb-tpd-stop-actions { display: flex; gap: 6px; }
.bb-tpd-stop-actions a {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: var(--bb-bg);
  color: var(--bb-text-muted);
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none;
  font-size: 12px;
  transition: all .15s;
}
.bb-tpd-stops-col--board .bb-tpd-stop-actions a:hover { background: #10b981; color: #fff; }
.bb-tpd-stops-col--drop  .bb-tpd-stop-actions a:hover { background: #3b82f6; color: #fff; }

/* ================================================================
   ROUTE JOURNEY CARD  (.bb-rc)
   Two-column: Boarding (no actions) | Dropping (map button only)
================================================================ */
.bb-rc { border-radius: 14px; overflow: hidden; border: 1px solid var(--bb-border-light); }

/* Tab switcher */
.bb-rc-tabs {
  display: grid; grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--bb-border-light);
}
.bb-rc-tab {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 18px; text-align: left;
  background: #f8fafc; border: 0; border-bottom: 3px solid transparent;
  color: var(--bb-text-muted); font-family: inherit;
  cursor: pointer; transition: background .2s, border-color .2s, color .2s;
}
.bb-rc-tab:first-child { border-right: 1px solid var(--bb-border-light); }
/* Icon box */
.bb-rc-tab-icon {
  flex-shrink: 0; width: 38px; height: 38px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px;
  background: #e2e8f0; color: #94a3b8;
  transition: background .2s, color .2s;
}
/* Title + subtitle */
.bb-rc-tab-body strong {
  display: block; font-size: 13.5px; font-weight: 800;
  color: var(--bb-text); line-height: 1.2;
}
.bb-rc-tab-body small {
  display: block; font-size: 11px; color: var(--bb-text-muted); margin-top: 3px;
}
/* Active — Boarding (green) */
.bb-rc-tab[data-target="bbRcBoard"].is-active {
  background: #ecfdf5; border-color: #10b981;
}
.bb-rc-tab[data-target="bbRcBoard"].is-active .bb-rc-tab-icon {
  background: #10b981; color: #fff;
}
.bb-rc-tab[data-target="bbRcBoard"].is-active .bb-rc-tab-body strong { color: #047857; }
.bb-rc-tab[data-target="bbRcBoard"].is-active .bb-rc-tab-body small  { color: #059669; }
/* Active — Dropping (blue) */
.bb-rc-tab[data-target="bbRcDrop"].is-active {
  background: #eff6ff; border-color: #3b82f6;
}
.bb-rc-tab[data-target="bbRcDrop"].is-active .bb-rc-tab-icon {
  background: #3b82f6; color: #fff;
}
.bb-rc-tab[data-target="bbRcDrop"].is-active .bb-rc-tab-body strong { color: #1d4ed8; }
.bb-rc-tab[data-target="bbRcDrop"].is-active .bb-rc-tab-body small  { color: #2563eb; }

/* Panels */
.bb-rc-panel { display: none; }
.bb-rc-panel.is-active { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.bb-rc-panel.is-active::-webkit-scrollbar { display: none; }

/* Stops table */
.bb-rc-tbl { width: 100%; min-width: 460px; border-collapse: collapse; font-family: 'Plus Jakarta Sans', sans-serif; }
.bb-rc-tbl thead tr { background: #f8fafc; border-bottom: 2px solid var(--bb-border-light); }
.bb-rc-tbl th {
  padding: 9px 14px; font-size: 10.5px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .5px;
  color: var(--bb-text-muted); text-align: left;
}
.bb-rc-tbl td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--bb-border-light);
  vertical-align: middle;
}
.bb-rc-tbl tbody tr:last-child td { border-bottom: 0; }
.bb-rc-tbl tbody tr:hover { background: var(--bb-bg); }

/* S.No column */
.bb-rc-th-sno, .bb-rc-td-sno { width: 48px; text-align: center; }
.bb-rc-td-sno span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  font-size: 10.5px; font-weight: 800;
}
.bb-rc-panel--board .bb-rc-td-sno span { background: #d1fae5; color: #047857; }
.bb-rc-panel--drop  .bb-rc-td-sno span { background: #dbeafe; color: #1d4ed8; }

/* Stop name */
.bb-rc-td-stop strong { display: block; font-size: 13.5px; font-weight: 700; color: var(--bb-text); }
.bb-rc-td-stop span   { display: block; font-size: 11px; color: var(--bb-text-muted); margin-top: 2px; }
.bb-rc-td-stop span i { color: var(--bb-primary); font-size: 9.5px; margin-right: 3px; }

/* Time column */
.bb-rc-th-time, .bb-rc-td-time { text-align: right; white-space: nowrap; }
.bb-rc-td-time strong { display: block; font-size: 15px; font-weight: 800; line-height: 1; }
.bb-rc-panel--board .bb-rc-td-time strong { color: #047857; }
.bb-rc-panel--drop  .bb-rc-td-time strong { color: #1d4ed8; }
.bb-rc-td-time em { display: block; font-size: 9px; font-weight: 700; font-style: normal; color: #9ca3af; margin-top: 2px; letter-spacing: .4px; }

/* Distance column */
.bb-rc-th-dist, .bb-rc-td-dist { width: 72px; text-align: center; white-space: nowrap; }
.bb-rc-dist-val {
  display: inline-block;
  font-size: 11.5px; font-weight: 700; color: var(--bb-text-muted);
  background: #f1f5f9; border-radius: 20px;
  padding: 3px 8px;
}
/* Populated distance gets coloured */
.bb-rc-td-dist[data-dist]:not([data-dist=""]) .bb-rc-dist-val {
  background: #fef3c7; color: #92400e;
}

/* Map column */
.bb-rc-th-map, .bb-rc-td-map { width: 48px; text-align: center; }
.bb-rc-mapbtn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 8px;
  color: #3b82f6; background: #eff6ff; border: 1px solid #bfdbfe;
  font-size: 13px; text-decoration: none;
  transition: background .15s, color .15s;
}
.bb-rc-mapbtn:hover { background: #3b82f6; color: #fff; border-color: #3b82f6; }


/* Responsive */
@media (max-width: 480px) {
  .bb-rc-tab { padding: 11px 12px; gap: 9px; }
  .bb-rc-tab-icon { width: 32px; height: 32px; font-size: 13px; }
  .bb-rc-tab-body strong { font-size: 12.5px; }
  .bb-rc-tab-body small { font-size: 10px; }
  .bb-rc-td-time strong { font-size: 13px; }
  .bb-rc-tbl th, .bb-rc-tbl td { padding: 8px 10px; }
}

/* ---------- Places Covered with images ---------- */
.bb-tpd-places-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.bb-tpd-place {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-lg);
  overflow: hidden;
  transition: all .2s var(--ease);
  padding: 0;
}
.bb-tpd-place:hover { transform: translateY(-3px); box-shadow: 0 12px 24px -8px rgba(15, 23, 42, .12); border-color: var(--bb-primary-light); }
.bb-tpd-place-img {
  position: relative;
  aspect-ratio: 4/2.6;
  overflow: hidden;
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
}
.bb-tpd-place-img img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s var(--ease);
}
.bb-tpd-place:hover .bb-tpd-place-img img { transform: scale(1.08); }
.bb-tpd-place-img::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.4));
}
.bb-tpd-place-badge {
  position: absolute; top: 8px; right: 8px;
  background: linear-gradient(135deg, var(--bb-primary), var(--bb-primary-dark));
  color: #fff;
  padding: 3px 10px;
  border-radius: var(--bb-radius-pill);
  font-size: 10.5px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .4px;
  z-index: 2;
  box-shadow: 0 4px 10px -2px rgba(249, 115, 22, .4);
}
.bb-tpd-place-badge i { font-size: 9px; margin-right: 3px; }
.bb-tpd-place-badge--special { background: linear-gradient(135deg, #8b5cf6, #6d28d9); box-shadow: 0 4px 10px -2px rgba(139, 92, 246, .4); }

.bb-tpd-place-body { padding: 12px 14px; }
.bb-tpd-place-body h4 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14.5px; font-weight: 800; margin: 0; color: var(--bb-primary-dark); }
.bb-tpd-place-body small { display: block; font-size: 11px; color: var(--bb-text-muted); margin: 2px 0 6px; font-weight: 600; }
.bb-tpd-place-body p { font-size: 12.5px; color: var(--bb-text); margin: 0; line-height: 1.5; }

/* ---------- Cancellation Policy tier cards ---------- */
.bb-tpd-cancelgrid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
  margin-bottom: 14px;
}
.bb-tpd-canceltier {
  border: 1.5px solid; border-radius: var(--bb-radius-lg);
  padding: 14px 12px;
  background: #fff;
  position: relative;
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
}
.bb-tpd-canceltier:hover { transform: translateY(-2px); }
.bb-tpd-canceltier::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: currentColor;
}
.bb-tpd-canceltier--green  { border-color: #6ee7b7; color: #10b981; }
.bb-tpd-canceltier--yellow { border-color: #fde68a; color: #eab308; }
.bb-tpd-canceltier--orange { border-color: #fdba74; color: #f97316; }
.bb-tpd-canceltier--red    { border-color: #fca5a5; color: #ef4444; }

.bb-tpd-canceltier-pct { text-align: center; padding: 6px 0 10px; border-bottom: 1px dashed var(--bb-border-light); margin-bottom: 10px; }
.bb-tpd-canceltier-pct span { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 38px; font-weight: 800; line-height: 1; color: currentColor; display: inline-block; }
.bb-tpd-canceltier-pct span small { font-size: 18px; opacity: .8; margin-left: 2px; }
.bb-tpd-canceltier-pct small { display: block; font-size: 10px; font-weight: 800; letter-spacing: 1.2px; color: var(--bb-text-muted); margin-top: 2px; }
.bb-tpd-canceltier-body h5 { font-size: 13px; font-weight: 800; color: var(--bb-text); margin: 0 0 4px; }
.bb-tpd-canceltier-body h5 i { color: currentColor; margin-right: 4px; }
.bb-tpd-canceltier-body p { font-size: 11.5px; color: var(--bb-text-muted); margin: 0; line-height: 1.5; }
.bb-tpd-canceltier-body p strong { color: var(--bb-text); }

.bb-tpd-cancelnote {
  display: grid; grid-template-columns: 44px 1fr; gap: 14px;
  background: linear-gradient(135deg, #eff6ff, #f0fdfa);
  border: 1px solid #bfdbfe;
  border-radius: var(--bb-radius);
  padding: 14px 18px;
}
.bb-tpd-cancelnote-icon {
  width: 44px; height: 44px; border-radius: 12px;
  background: #fff; color: #2563eb;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
}
.bb-tpd-cancelnote p { font-size: 13px; color: var(--bb-text); margin: 0 0 6px; line-height: 1.55; }
.bb-tpd-cancelnote p:last-child { margin: 0; }
.bb-tpd-cancelnote a { color: var(--bb-primary); font-weight: 700; text-decoration: none; }

/* =====================================================================
   MOBILE RESPONSIVE — tour-package-details specific
===================================================================== */
@media (max-width: 991px) {
  /* Single column body */
  .bb-tpd-main .col-lg-8, .bb-tpd-main .col-lg-4 { flex: 0 0 100%; max-width: 100%; }
  /* Fare panel no longer sticky on mobile (it's below content) */
  .bb-tpd-farepanel { position: static; margin-top: 16px; }
  /* Stops 2-col → 1-col */
  .bb-tpd-stops { grid-template-columns: 1fr; }
  /* Hero name + actions stack */
  .bb-tpd-hero-row { grid-template-columns: 1fr; }
  .bb-tpd-hero-actions { justify-content: flex-start; flex-wrap: wrap; }
  /* Cancellation grid: 2-col on tablet */
  .bb-tpd-cancelgrid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
  /* Sticky tabs: tighter padding + smaller icons */
  .bb-tpd-tabs-bar .container { padding-left: 4px; padding-right: 4px; }
  .bb-tpd-tab { padding: 10px 12px; font-size: 12px; }
  .bb-tpd-tab i { margin-right: 4px; font-size: 11px; }
  .bb-tpd-tabs-arrow { width: 28px; height: 28px; font-size: 11px; }

  /* Section spacing tighter */
  .bb-tpd-section { padding: 16px 14px; margin-bottom: 12px; }
  .bb-tpd-section-title { font-size: 16px; margin-bottom: 12px; }

  /* Hero: hide some pills on small screens? Keep all but smaller text */
  .bb-tpd-hero-name { font-size: 20px; }
  .bb-tpd-hero-pills li { font-size: 11px; padding: 4px 10px; }
  .bb-tpd-hero-cta { padding: 10px 16px; font-size: 13px; }
  .bb-tpd-hero-cta span { font-size: 10px; padding: 1px 6px; }

  /* Day-card head: stack num + title + meals */
  .bb-tpd-daycard-head { grid-template-columns: 56px 1fr; padding: 12px 14px; gap: 12px; }
  .bb-tpd-daycard-num { width: 54px; height: 54px; }
  .bb-tpd-daycard-num strong { font-size: 20px; }
  .bb-tpd-daycard-meals { grid-column: 1 / -1; justify-content: flex-start; padding-top: 4px; border-top: 1px dashed #fde6c4; }
  .bb-tpd-daycard-title h4 { font-size: 14px; }

  /* Timeline: smaller markers */
  .bb-tpd-timeline { padding: 10px 14px 6px !important; }
  .bb-tpd-timeline-item { grid-template-columns: 36px 1fr; gap: 10px; padding: 6px 0 12px; }
  .bb-tpd-timeline-marker { width: 30px; height: 30px; font-size: 11px; }
  .bb-tpd-timeline-item:not(:last-child)::before { left: 14px; top: 34px; }
  .bb-tpd-timeline-time { font-size: 11px; }
  .bb-tpd-timeline-body h5 { font-size: 13px; }
  .bb-tpd-timeline-body p { font-size: 12px; }

  /* Stops cards: tighter */
  .bb-tpd-stops-head { padding: 12px 14px; }
  .bb-tpd-stop-card { padding: 10px 12px; gap: 10px; }
  .bb-tpd-stop-time { font-size: 14px; min-width: 46px; }
  .bb-tpd-stop-time small { font-size: 9px; }
  .bb-tpd-stop-info strong { font-size: 13px; }
  .bb-tpd-stop-info span { font-size: 11px; }
  .bb-tpd-stop-actions a { width: 28px; height: 28px; font-size: 11px; }
  .bb-tpd-stop-card::before { left: -6px; width: 14px; height: 14px; font-size: 8px; }

  /* Operator cards on mobile: stack head info */
  .bb-tpd-opcard-head { grid-template-columns: 1fr; gap: 10px; }
  .bb-tpd-opcard-rating { text-align: left; }
  .bb-tpd-opcard-foot { flex-direction: column; align-items: stretch; gap: 10px; }
  .bb-tpd-book-btn { justify-content: center; width: 100%; }
  .bb-tpd-incl-link { text-align: center; }

  /* Fare table on mobile */
  .bb-tpd-fare-table { font-size: 12px; }
  .bb-tpd-fare-table th, .bb-tpd-fare-table td { padding: 6px 8px; }
  .bb-tpd-fare-amount { font-size: 18px; }

  /* Cancellation grid: 1-col on phone */
  .bb-tpd-cancelgrid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .bb-tpd-canceltier { padding: 10px 8px; }
  .bb-tpd-canceltier-pct span { font-size: 30px; }
  .bb-tpd-canceltier-pct span small { font-size: 14px; }
  .bb-tpd-canceltier-body h5 { font-size: 11.5px; }
  .bb-tpd-canceltier-body p { font-size: 10.5px; }

  /* Reviews summary: stack */
  .bb-tpd-rev-summary { grid-template-columns: 1fr; text-align: center; padding: 14px; }
  .bb-tpd-rev-bars { padding: 0 8px; }
  .bb-tpd-rev-filter { gap: 4px; }
  .bb-tpd-rev-pill { padding: 4px 10px; font-size: 11px; }
  .bb-tpd-rev-write { margin-left: 0; padding: 6px 12px; font-size: 11.5px; }

  /* Places grid 2-col on small phones */
  .bb-tpd-places-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .bb-tpd-place-body { padding: 10px 12px; }
  .bb-tpd-place-body h4 { font-size: 13px; }
  .bb-tpd-place-body small { font-size: 10px; }
  .bb-tpd-place-body p { font-size: 11.5px; }

  /* Amenities chips smaller */
  .bb-tpd-amen-chip { padding: 5px 10px; font-size: 11.5px; }

  /* Fare panel padding tighter */
  .bb-tpd-farepanel-body { padding: 12px 14px; }
  .bb-tpd-farepanel-price { font-size: 20px; }
  .bb-tpd-farepanel-cta { padding: 12px; font-size: 14px; margin: 0 14px 12px; }

  /* Body main reduced padding */
  .bb-tpd-main { padding: 14px 0 90px; }

  /* Ticker smaller text */
  .bb-tpd-ticker-track span { font-size: 11.5px; }

  /* Hero pills wrap with smaller gap */
  .bb-tpd-hero-pills { gap: 4px; }

  /* Gallery image height shorter */
  .bb-tpd-gallery .carousel-item img { height: 240px; }

  /* Alert padding */
  .bb-tpd-alert { padding: 10px 12px; font-size: 12.5px; gap: 8px; }
  .bb-tpd-alert i { font-size: 16px; }
}

@media (max-width: 480px) {
  /* Smallest phones — even tighter */
  .bb-tpd-hero-name { font-size: 17px; }
  .bb-tpd-hero-cta { padding: 9px 14px; font-size: 12px; }
  .bb-tpd-hero-wish, .bb-tpd-hero-share { width: 36px; height: 36px; }
  .bb-tpd-cancelgrid { grid-template-columns: 1fr; }
  .bb-tpd-canceltier { display: grid; grid-template-columns: 80px 1fr; gap: 12px; align-items: center; padding: 12px; }
  .bb-tpd-canceltier-pct { padding: 0; border-bottom: 0; margin: 0; border-right: 1px dashed var(--bb-border-light); padding-right: 12px; }
  .bb-tpd-canceltier-pct span { font-size: 28px; }
  .bb-tpd-canceltier::before { width: 4px; height: 100%; top: 0; }
  .bb-tpd-places-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   TOUR-PACKAGE-DETAILS · v2 — events list inside day cards, gap fixes
===================================================================== */

/* Events list (replaces old bb-tpd-timeline inside day cards) */
.bb-tpd-events {
  list-style: none; margin: 0; padding: 14px 18px;
  position: relative;
}
.bb-tpd-events::before {
  content: ''; position: absolute;
  left: 90px; top: 22px; bottom: 22px;
  width: 2px; background: linear-gradient(180deg, var(--bb-primary-light), var(--bb-border-light));
}
.bb-tpd-event {
  display: grid; grid-template-columns: 84px 1fr; gap: 16px;
  padding: 10px 0; position: relative;
  align-items: flex-start;
}
.bb-tpd-event::before {
  content: ''; position: absolute;
  left: 86px; top: 18px;
  width: 10px; height: 10px;
  background: var(--bb-primary); border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px var(--bb-primary);
  z-index: 1;
}
.bb-tpd-event-time {
  display: inline-block;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px; font-weight: 800;
  color: var(--bb-primary);
  background: #fff7ed;
  padding: 4px 10px;
  border-radius: var(--bb-radius);
  text-align: center;
  white-space: nowrap;
  align-self: flex-start;
}
.bb-tpd-event-body { padding-left: 6px; }
.bb-tpd-event-body h5 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14.5px; font-weight: 800;
  color: var(--bb-text);
  margin: 0 0 4px;
  line-height: 1.3;
}
.bb-tpd-event-body p {
  font-size: 13px;
  color: var(--bb-text-muted);
  margin: 0;
  line-height: 1.55;
}

@media (max-width: 575px) {
  .bb-tpd-events { padding: 12px 14px; }
  .bb-tpd-events::before { left: 70px; top: 18px; bottom: 18px; }
  .bb-tpd-event { grid-template-columns: 66px 1fr; gap: 12px; }
  .bb-tpd-event::before { left: 67px; top: 14px; width: 8px; height: 8px; }
  .bb-tpd-event-time { font-size: 11px; padding: 3px 8px; }
  .bb-tpd-event-body h5 { font-size: 13px; }
  .bb-tpd-event-body p { font-size: 12px; }
}

/* ---------- GAP FIXES — reduce empty space between sections ---------- */
/* Tighter section spacing */
.bb-tpd-section { margin-bottom: 14px; padding: 20px 22px; }
@media (max-width: 767px) { .bb-tpd-section { margin-bottom: 10px; padding: 16px 14px; } }

/* Main padding reduced */
.bb-tpd-main { padding: 16px 0 80px; }
@media (max-width: 767px) { .bb-tpd-main { padding: 12px 0 100px; } }

/* Tabs bar bottom spacing */
.bb-tpd-tabs-bar { margin-bottom: 0; }

/* Alerts container tighter */
.bb-tpd-alerts { padding: 12px 0 4px; }

/* Operator cards: tighter bottom margin */
.bb-tpd-opcard { margin-bottom: 10px; }
.bb-tpd-opcard:last-child { margin-bottom: 0; }

/* Last operator pane reduce bottom space */
.tab-content > .tab-pane.active { padding-bottom: 0; }

/* Stops col bottom spacing */
.bb-tpd-stops-col:last-child { margin-bottom: 0; }

/* Day cards bottom spacing */
.bb-tpd-daycard:last-child { margin-bottom: 0; }

/* Accordion body reduce padding */
.bb-tpd-itin-acc .accordion-body,
.bb-tpd-acc-incl .accordion-body,
.bb-tpd-acc-excl .accordion-body { padding: 12px 14px; }

/* ============================================================
   TOUR BOOKING VARIANTS (Enquiry / IRCTC / Car / Entry)
   Spec 09 - four alternate booking flows
============================================================ */

/* ---- COMMON SECTION TITLES (used by IRCTC + Car) ---- */
.bb-tbi-section-title{
  display:flex;align-items:center;gap:8px;
  font-size:18px;font-weight:700;color:#0f172a;
  margin:0 0 4px;
}
.bb-tbi-section-title i{color:#f97316;}
.bb-tbi-section-sub{display:block;color:#64748b;font-size:13px;margin-bottom:14px;}

/* ============================================================
   ENQUIRY PAGE (.bb-tbe-*)
============================================================ */
.bb-tbe-intro{
  background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);
  border:1px solid #fed7aa;border-radius:14px;
  padding:16px 18px;margin:14px 0 18px;
  display:flex;align-items:center;gap:14px;
}
.bb-tbe-intro i{font-size:28px;color:#f97316;flex:0 0 auto;}
.bb-tbe-intro h2{margin:0 0 4px;font-size:18px;font-weight:700;color:#7c2d12;}
.bb-tbe-intro p{margin:0;font-size:13.5px;color:#7c2d12;line-height:1.5;}

.bb-tbe-main{padding:6px 0 30px;}

.bb-tbe-pkg{background:#fff;border:1.5px solid #e2e8f0;border-radius:18px;overflow:hidden;display:block;margin-bottom:18px;box-shadow:0 4px 24px rgba(15,23,42,.09);}
.bb-tbe-pkg-img{position:relative;height:210px;overflow:hidden;}
.bb-tbe-pkg-img img{width:100%;height:100%;object-fit:cover;display:block;}
.bb-tbe-pkg-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 35%,rgba(15,23,42,.62) 100%);}
.bb-tbe-pkg-img .bb-pkg-vbadge{position:absolute;top:12px;left:12px;z-index:2;}
.bb-tbe-pkg-rating{position:absolute;bottom:12px;right:12px;z-index:2;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;display:inline-flex;align-items:center;gap:5px;}
.bb-tbe-pkg-rating i{color:#fbbf24;}
.bb-tbe-pkg-body{padding:18px 20px;display:flex;flex-direction:column;gap:12px;}
.bb-tbe-pkg-body h2{margin:0;font-size:19px;font-weight:800;color:#0f172a;font-family:'Plus Jakarta Sans',sans-serif;line-height:1.3;}
.bb-tbe-pkg-body>small{color:#64748b;font-size:13px;margin-top:-6px;}
.bb-tbe-pkg-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;list-style:none;padding:0;margin:0;}
.bb-tbe-pkg-pills li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700;color:#334155;display:flex;align-items:center;gap:6px;}
.bb-tbe-pkg-pills li i{color:#f97316;font-size:11px;width:14px;text-align:center;}
.bb-tbe-pkg-price{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1.5px solid #fed7aa;border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.bb-tbe-pkg-price small{color:#7c2d12;font-size:12px;font-weight:600;width:100%;margin-bottom:-4px;}
.bb-tbe-pkg-price strong{font-size:28px;color:#f97316;font-weight:800;font-family:'Plus Jakarta Sans',sans-serif;line-height:1;}
.bb-tbe-pkg-price span{color:#92400e;font-size:13px;font-weight:600;}
.bb-tbe-pkg-feats{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.bb-tbe-pkg-feats span{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#334155;font-weight:500;}
.bb-tbe-pkg-feats span i{color:#16a34a;font-size:11px;flex:0 0 auto;}

.bb-tbe-formcard{
  background:#fff;border:1px solid #e5e7eb;border-radius:14px;
  margin-bottom:16px;overflow:hidden;
}
.bb-tbe-formcard-head{
  padding:14px 18px;border-bottom:1px solid #e5e7eb;
  background:#f8fafc;
}
.bb-tbe-formcard-head h2{
  margin:0;font-size:17px;font-weight:700;color:#0f172a;
  display:flex;align-items:center;gap:8px;
}
.bb-tbe-formcard-head h2 i{color:#f97316;}
.bb-tbe-formcard-head small{color:#64748b;font-size:13px;display:block;margin-top:3px;}

.bb-tbe-form{padding:18px;}
.bb-tbe-form .form-label{font-size:13px;font-weight:600;color:#334155;margin-bottom:5px;}
.bb-tbe-form .form-control,
.bb-tbe-form .form-select{
  border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;font-size:14px;
}
.bb-tbe-form .form-control:focus,
.bb-tbe-form .form-select:focus{
  border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.15);outline:none;
}
.bb-tbe-tos-check{
  display:flex;gap:10px;align-items:flex-start;background:#f8fafc;
  padding:12px 14px;border-radius:10px;border:1px solid #e5e7eb;
  font-size:13px;color:#475569;margin:8px 0 16px;
}
.bb-tbe-tos-check input{margin-top:3px;}
.bb-tbe-tos-check a{color:#f97316;text-decoration:none;font-weight:600;}

.bb-tbe-submit{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:14px;background:linear-gradient(135deg,#f97316,#ea580c);
  color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;
  cursor:pointer;transition:transform .15s,box-shadow .15s;
}
.bb-tbe-submit:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(249,115,22,.35);}
.bb-tbe-submit i{font-size:18px;}

.bb-tbe-trust{
  display:flex;justify-content:center;gap:18px;flex-wrap:wrap;
  margin-top:14px;padding-top:14px;border-top:1px dashed #e5e7eb;
  font-size:12px;color:#64748b;
}
.bb-tbe-trust span{display:inline-flex;align-items:center;gap:5px;}
.bb-tbe-trust i{color:#10b981;}

.bb-tbe-quickcontact{
  background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;
  margin-bottom:14px;text-align:center;
}
.bb-tbe-quickcontact h3{font-size:15px;font-weight:700;margin:0 0 10px;color:#0f172a;}
.bb-tbe-quickcontact-row{display:flex;flex-direction:column;gap:8px;}
.bb-tbe-qc-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;border-radius:10px;font-size:14px;font-weight:600;
  text-decoration:none;border:1px solid #e5e7eb;color:#0f172a;
  transition:all .15s;
}
.bb-tbe-qc-btn:hover{border-color:#f97316;color:#f97316;}
.bb-tbe-qc-btn--wa{background:#25d366;color:#fff;border-color:#25d366;}
.bb-tbe-qc-btn--wa:hover{background:#1ebe5d;border-color:#1ebe5d;color:#fff;}

@media (max-width:767px){
  .bb-tbe-pkg-img{height:180px;}
  .bb-tbe-pkg-pills{grid-template-columns:repeat(2,1fr);}
}

/* ============================================================
   IRCTC TRAIN BOOKING (.bb-tbi-*)
============================================================ */
.bb-tbi-combos{display:flex;flex-direction:column;gap:14px;margin-bottom:18px;}

.bb-tbi-combo{
  background:#fff;border:2px solid #e5e7eb;border-radius:14px;
  padding:0;overflow:hidden;transition:border-color .15s,box-shadow .15s;
  border-left:4px solid transparent;
}
.bb-tbi-combo.is-active{border-color:#f97316;border-left-color:#f97316;box-shadow:0 6px 20px rgba(249,115,22,.12);}

.bb-tbi-combo-head{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:14px 16px;background:#f8fafc;border-bottom:1px solid #e5e7eb;
}
.bb-tbi-combo-leg{
  display:flex;flex-direction:column;gap:2px;flex:1;min-width:180px;
}
.bb-tbi-combo-no{
  font-size:13px;font-weight:700;color:#0d9488;letter-spacing:.5px;
}
.bb-tbi-combo-timing{font-size:14px;font-weight:600;color:#0f172a;}
.bb-tbi-combo-dur{font-size:12px;color:#64748b;}
.bb-tbi-combo-arrow{color:#94a3b8;font-size:18px;flex:0 0 auto;}

.bb-tbi-combo-body{padding:14px 16px;}
.bb-tbi-classes{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px;
}
.bb-tbi-class{
  background:#fff;border:2px solid #e5e7eb;border-radius:10px;
  padding:10px 8px;text-align:center;cursor:pointer;
  transition:border-color .15s,background .15s,transform .15s;
  display:flex;flex-direction:column;gap:4px;
}
.bb-tbi-class:hover{border-color:#fdba74;background:#fff7ed;}
.bb-tbi-class.is-active{
  border-color:#f97316;background:#fff7ed;
  box-shadow:inset 0 0 0 1px #f97316;
}
.bb-tbi-class-ico{font-size:18px;color:#0d9488;}
.bb-tbi-class.is-active .bb-tbi-class-ico{color:#f97316;}
.bb-tbi-class-label{font-size:12px;font-weight:700;color:#0f172a;}
.bb-tbi-class-price{font-size:14px;font-weight:800;color:#f97316;}

.bb-tbi-combo-actions{
  display:flex;justify-content:flex-end;padding-top:8px;
  border-top:1px dashed #e5e7eb;
}

@media (max-width:575px){
  .bb-tbi-classes{grid-template-columns:repeat(2,1fr);}
  .bb-tbi-combo-head{flex-direction:column;align-items:stretch;}
  .bb-tbi-combo-arrow{display:none;}
}

/* ============================================================
   CAR / CAB BOOKING (.bb-tbc-range-*, .bb-tbc-veh*, .bb-tbc-vehicles)
   NOTE: bb-tbc-* prefix is shared with tour-booking-confirmation,
   but class names below are distinct (no collisions).
============================================================ */
.bb-tbc-range-row{
  display:grid;grid-template-columns:1fr 1fr auto;gap:12px;
  background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;
  padding:14px;margin-bottom:18px;align-items:end;
}
.bb-tbc-range-cell{display:flex;flex-direction:column;gap:5px;}
.bb-tbc-range-cell label{font-size:13px;font-weight:600;color:#334155;}
.bb-tbc-range-cell input[type="date"]{
  border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;font-size:14px;
}
.bb-tbc-range-cell input[type="date"]:focus{
  border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.15);outline:none;
}
.bb-tbc-range-cell--days{
  background:#fff;border:2px solid #f97316;border-radius:12px;
  padding:10px 16px;text-align:center;min-width:90px;
}
.bb-tbc-range-days strong{font-size:24px;color:#f97316;display:block;line-height:1;}
.bb-tbc-range-days small{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;}
.bb-tbc-range-help{display:block;color:#64748b;font-size:12.5px;margin-bottom:8px;}

.bb-tbc-vehicles{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px;
}
.bb-tbc-veh{
  background:#fff;border:2px solid #e5e7eb;border-radius:14px;overflow:hidden;
  cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;
  display:flex;flex-direction:column;border-left:4px solid transparent;
}
.bb-tbc-veh:hover{border-color:#fdba74;transform:translateY(-2px);}
.bb-tbc-veh.is-active{
  border-color:#f97316;border-left-color:#f97316;
  box-shadow:0 8px 24px rgba(249,115,22,.18);
}
.bb-tbc-veh-img{position:relative;height:140px;overflow:hidden;}
.bb-tbc-veh-img img{width:100%;height:100%;object-fit:cover;display:block;}
.bb-tbc-veh-tag{
  position:absolute;top:10px;left:10px;background:rgba(15,23,42,.85);color:#fff;
  font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px;
  text-transform:uppercase;letter-spacing:.5px;
}
.bb-tbc-veh-tag--luxury{background:linear-gradient(135deg,#eab308,#ca8a04);}

.bb-tbc-veh-body{padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:6px;}
.bb-tbc-veh-body h4{margin:0;font-size:16px;font-weight:700;color:#0f172a;}
.bb-tbc-veh-feats{
  list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px;
  font-size:12px;color:#475569;
}
.bb-tbc-veh-feats li{
  background:#f1f5f9;padding:3px 8px;border-radius:6px;
  display:inline-flex;align-items:center;gap:4px;
}
.bb-tbc-veh-feats i{color:#0d9488;font-size:11px;}

.bb-tbc-veh-foot{
  padding:10px 14px;background:#fff7ed;border-top:1px solid #fed7aa;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.bb-tbc-veh-foot strong{font-size:18px;color:#f97316;font-weight:800;}
.bb-tbc-veh-foot small{font-size:11px;color:#7c2d12;}
.bb-tbc-veh-total{
  background:#f97316;color:#fff;padding:4px 10px;border-radius:8px;
  font-size:12px;font-weight:700;
}

@media (max-width:767px){
  .bb-tbc-range-row{grid-template-columns:1fr;}
  .bb-tbc-range-cell--days{order:-1;}
  .bb-tbc-vehicles{grid-template-columns:1fr;}
}

/* ============================================================
   ENTRY PACKAGES - Ramoji Film City (.bb-tbf-*)
============================================================ */
.bb-tbf-filter-tabs{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;
  padding:12px;margin-bottom:14px;
}
.bb-tbf-filter-label{
  font-size:13px;font-weight:600;color:#475569;margin-right:6px;
}
.bb-tbf-filter-pill{
  background:#fff;border:1px solid #e5e7eb;border-radius:99px;
  padding:6px 14px;font-size:13px;font-weight:600;color:#475569;
  cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:5px;
}
.bb-tbf-filter-pill small{font-weight:500;opacity:.7;}
.bb-tbf-filter-pill:hover{border-color:#f97316;color:#f97316;}
.bb-tbf-filter-pill.is-active{background:#f97316;border-color:#f97316;color:#fff;}
.bb-tbf-filter-pill.is-active small{opacity:.85;}

.bb-tbf-packages{display:flex;flex-direction:column;gap:14px;}

.bb-tbf-pkg{
  background:#fff;border:2px solid #e5e7eb;border-radius:14px;overflow:hidden;
  display:grid;grid-template-columns:220px 1fr;gap:0;
  border-left:4px solid #f97316;transition:box-shadow .15s,transform .15s;
}
.bb-tbf-pkg:hover{box-shadow:0 8px 24px rgba(15,23,42,.08);transform:translateY(-2px);}
.bb-tbf-pkg.vip{border-left-color:#eab308;}
.bb-tbf-pkg.overnight{border-left-color:#7c3aed;}

.bb-tbf-pkg-img{position:relative;}
.bb-tbf-pkg-img img{width:100%;height:100%;object-fit:cover;display:block;min-height:170px;}
.bb-tbf-pkg-cattag{
  position:absolute;top:10px;left:10px;background:rgba(249,115,22,.95);color:#fff;
  font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px;
  text-transform:uppercase;letter-spacing:.5px;
}
.bb-tbf-pkg-cattag--vip{background:linear-gradient(135deg,#eab308,#ca8a04);}
.bb-tbf-pkg-cattag--overnight{background:linear-gradient(135deg,#7c3aed,#5b21b6);}

.bb-tbf-pkg-body{padding:14px 16px;display:flex;flex-direction:column;gap:8px;}
.bb-tbf-pkg-body h3{margin:0;font-size:17px;font-weight:700;color:#0f172a;}
.bb-tbf-pkg-meta{
  display:flex;flex-wrap:wrap;gap:10px;font-size:12.5px;color:#64748b;
}
.bb-tbf-pkg-meta span{display:inline-flex;align-items:center;gap:5px;}
.bb-tbf-pkg-meta i{color:#0d9488;}

.bb-tbf-pkg-feats{
  list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;
  font-size:13px;color:#475569;
}
.bb-tbf-pkg-feats li{display:flex;align-items:flex-start;gap:6px;}
.bb-tbf-pkg-feats li i{color:#10b981;margin-top:3px;flex:0 0 auto;}

.bb-tbf-pkg-height{
  background:#fff7ed;border:1px dashed #fed7aa;border-radius:8px;
  padding:8px 10px;font-size:12px;color:#7c2d12;
  display:flex;align-items:center;gap:6px;
}
.bb-tbf-pkg-height i{color:#f97316;}

.bb-tbf-pkg-warn{
  background:#fef2f2;border:1px solid #fecaca;border-radius:8px;
  padding:8px 10px;font-size:12px;color:#7f1d1d;
  display:flex;align-items:center;gap:6px;
}
.bb-tbf-pkg-warn i{color:#dc2626;}

.bb-tbf-pkg-coupon{
  background:#ecfdf5;border:1px dashed #6ee7b7;border-radius:8px;
  padding:8px 10px;font-size:12px;color:#065f46;
  display:flex;align-items:center;gap:6px;
}
.bb-tbf-pkg-coupon i{color:#059669;}
.bb-tbf-pkg-coupon strong{color:#047857;}

.bb-tbf-pkg-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px;background:#f8fafc;border-top:1px solid #e5e7eb;
  grid-column:1 / -1;
}
.bb-tbf-pkg-pricing{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.bb-tbf-pkg-price-cell{display:flex;flex-direction:column;line-height:1.1;}
.bb-tbf-pkg-price-cell small{font-size:11px;color:#64748b;}
.bb-tbf-pkg-price-cell strong{font-size:20px;color:#f97316;font-weight:800;}
.bb-tbf-pkg-prices{display:flex;gap:14px;}
.bb-tbf-pkg-gst{font-size:11px;color:#64748b;}

@media (max-width:767px){
  .bb-tbf-pkg{grid-template-columns:1fr;}
  .bb-tbf-pkg-img img{min-height:180px;}
  .bb-tbf-pkg-foot{flex-direction:column;align-items:stretch;}
  .bb-tbf-filter-tabs{padding:10px;}
  .bb-tbf-filter-label{flex-basis:100%;margin-bottom:4px;}
}

/* ============================================================
   VARIANT RIGHT-SIDE SUMMARY CARDS
   IRCTC (.bb-tbi-rightcard) / Car (.bb-tcr-rightcard) / Entry (.bb-tef-rightcard)
============================================================ */

/* ---- Shared perks list (used by all 3) ---- */
.bb-tbi-rightcard-perks{
  list-style:none;padding:12px 14px;margin:0;background:#f0fdf4;
  border:1px dashed #86efac;border-radius:10px;
  display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#065f46;
}
.bb-tbi-rightcard-perks li{display:flex;align-items:center;gap:6px;}
.bb-tbi-rightcard-perks i{color:#10b981;font-size:12px;flex:0 0 auto;}

/* ============================================================
   IRCTC rightcard accents
============================================================ */
.bb-tbi-rightcard-head small i{color:#0d9488;margin-right:4px;}

.bb-tbi-fare-strip{
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(135deg,#fff7ed,#ffedd5);
  border:1px solid #fed7aa;border-radius:10px;
  padding:12px 14px;margin:12px 14px;
}
.bb-tbi-fare-strip small{display:block;font-size:11px;color:#7c2d12;}
.bb-tbi-fare-strip strong{font-size:20px;color:#f97316;font-weight:800;}
.bb-tbi-fare-strip-tag{
  background:#f97316;color:#fff;font-size:11px;font-weight:700;
  padding:4px 10px;border-radius:99px;
}
.bb-tbi-rightcard .bb-tbi-rightcard-perks{margin:12px 14px;}

/* ============================================================
   CAR rightcard accents
============================================================ */
.bb-tcr-rightcard-head small i{color:#0d9488;margin-right:4px;}

.bb-tcr-fare-strip{
  background:linear-gradient(135deg,#fff7ed,#ffedd5);
  border:1px solid #fed7aa;border-radius:10px;
  padding:12px 14px;margin:12px 14px;
}
.bb-tcr-fare-row{
  display:flex;align-items:center;justify-content:space-between;
  font-size:13px;color:#475569;padding:3px 0;
}
.bb-tcr-fare-row span:last-child{color:#0f172a;font-weight:600;}
.bb-tcr-fare-row strong{color:#f97316;}
.bb-tcr-fare-row--total{
  border-top:1px dashed #fed7aa;margin-top:6px;padding-top:8px;
  font-size:14px;font-weight:700;color:#7c2d12;
}
.bb-tcr-fare-row--total strong{font-size:18px;color:#f97316;}
.bb-tcr-fare-note{
  display:block;font-size:11px;color:#7c2d12;margin-top:6px;line-height:1.4;
}
.bb-tcr-rightcard .bb-tbi-rightcard-perks{margin:12px 14px;}

/* ============================================================
   ENTRY rightcard accents (Ramoji)
============================================================ */
.bb-tef-rightcard-head small i{color:#7c3aed;margin-right:4px;}

.bb-tef-info-box{
  display:flex;align-items:flex-start;gap:10px;
  background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;
  padding:10px 12px;margin:12px 14px;
}
.bb-tef-info-box i{color:#2563eb;font-size:16px;margin-top:2px;flex:0 0 auto;}
.bb-tef-info-box strong{display:block;font-size:13px;color:#1e3a8a;}
.bb-tef-info-box small{display:block;font-size:11.5px;color:#1e40af;line-height:1.45;}

.bb-tef-fare-strip{
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(135deg,#fdf4ff,#fae8ff);
  border:1px solid #e9d5ff;border-radius:10px;
  padding:12px 14px;margin:12px 14px;
}
.bb-tef-fare-strip small{display:block;font-size:11px;color:#6b21a8;}
.bb-tef-fare-strip strong{font-size:20px;color:#7c3aed;font-weight:800;}
.bb-tef-fare-strip-tag{
  background:#7c3aed;color:#fff;font-size:11px;font-weight:700;
  padding:4px 10px;border-radius:99px;
}
.bb-tef-rightcard .bb-tbi-rightcard-perks{margin:12px 14px;}

/* ============================================================
   IRCTC PACKAGE BOOKING — Full booking card v2
   (matches dynamic-site layout: dates carousel + occupancy table
    + room combo selectors)
============================================================ */

/* ---- Outer card wrapper ---- */
.bb-tbi-card{
  background:#fff;border:1px solid #e5e7eb;border-radius:14px;
  padding:18px 18px 22px;margin-bottom:18px;
}

/* ---- 1. Package name banner ---- */
.bb-tbi-pkgname{
  font-size:14.5px;color:#0f172a;margin:0 0 10px;line-height:1.5;
}
.bb-tbi-pkgname strong{color:#1e293b;margin-right:4px;}

/* ---- 2. 15-day availability note ---- */
.bb-tbi-availnote{
  font-size:13.5px;color:#0f172a;text-align:center;
  background:#fff;padding:6px 0 14px;margin:0 0 14px;
  border-bottom:1px solid #f1f5f9;line-height:1.5;
}
.bb-tbi-availnote strong{color:#0f172a;}

/* ---- 3. DATE CAROUSEL ---- */
.bb-tbi-datesbar{
  display:flex;align-items:stretch;gap:0;
  border:1px solid #1e3a8a;border-radius:10px;overflow:hidden;
  margin:0 0 14px;background:#1e40af;
}
.bb-tbi-datesbar-arrow{
  background:#1e40af;color:#fff;border:none;
  width:44px;flex:0 0 44px;cursor:pointer;font-size:18px;
  transition:background .15s;
}
.bb-tbi-datesbar-arrow:hover{background:#1e3a8a;}
.bb-tbi-datesbar-track{
  flex:1;display:flex;overflow-x:auto;scroll-behavior:smooth;
  background:#fff;scrollbar-width:thin;
}
.bb-tbi-datesbar-track::-webkit-scrollbar{height:4px;}
.bb-tbi-datesbar-track::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px;}

.bb-tbi-datecard{
  flex:1 0 175px;background:#f1f5f9;color:#0f172a;
  border:none;border-right:1px solid #cbd5e1;
  padding:10px 10px 12px;text-align:center;cursor:pointer;
  display:flex;flex-direction:column;gap:2px;
  transition:background .15s,color .15s;
}
.bb-tbi-datecard:last-child{border-right:none;}
.bb-tbi-datecard:hover{background:#e2e8f0;}
.bb-tbi-datecard.is-active{background:#1e40af;color:#fff;}
.bb-tbi-datecard strong{font-size:14px;font-weight:700;letter-spacing:.3px;}
.bb-tbi-datecard small{font-size:12px;font-weight:500;opacity:.9;margin-bottom:4px;}
.bb-tbi-datecard-row{display:block;font-size:13px;font-weight:500;line-height:1.5;}
.bb-tbi-datecard-row em{font-style:normal;font-weight:600;margin-right:4px;}
.bb-tbi-cls-comfort{color:#16a34a;}
.bb-tbi-cls-standard{color:#ea580c;}
.bb-tbi-datecard.is-active .bb-tbi-cls-comfort{color:#86efac;}
.bb-tbi-datecard.is-active .bb-tbi-cls-standard{color:#fdba74;}
.bb-tbi-datecard-row b{font-weight:700;}

/* ---- 4. How-to-book info banner ---- */
.bb-tbi-howto{
  display:flex;align-items:flex-start;gap:10px;
  background:#ecfdf5;border:1px solid #6ee7b7;border-radius:10px;
  padding:12px 14px;margin:0 0 14px;
}
.bb-tbi-howto i{color:#059669;font-size:16px;margin-top:3px;flex:0 0 auto;}
.bb-tbi-howto p{margin:0;font-size:13.5px;color:#065f46;line-height:1.55;}
.bb-tbi-howto strong{color:#064e3b;}

/* ---- 5. 4-field form grid ---- */
.bb-tbi-fields-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  margin:0 0 14px;
}
.bb-tbi-field{
  display:flex;align-items:stretch;
  border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;
  background:#fff;
}
.bb-tbi-field-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;flex:0 0 44px;background:#f8fafc;
  border-right:1px solid #e2e8f0;color:#64748b;font-size:15px;
}
.bb-tbi-field-req{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;flex:0 0 18px;color:#dc2626;font-weight:700;font-size:14px;
  border-right:1px solid #e2e8f0;background:#f8fafc;
}
.bb-tbi-field-select{
  flex:1;border:none;outline:none;padding:10px 28px 10px 12px;
  font-size:13.5px;color:#0f172a;background:#fff;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23475569'><path d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;background-size:10px 7px;
  cursor:pointer;
}
.bb-tbi-field-select:focus{box-shadow:inset 0 0 0 2px rgba(30,64,175,.4);}

/* ---- 6. Pricing table (occupancy) ---- */
.bb-tbi-fare-section{margin-top:10px;}
.bb-tbi-fare-table{
  width:100%;border-collapse:collapse;
  background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;
  margin:0 0 8px;
}
.bb-tbi-fare-table thead th{
  text-align:left;background:#fff;color:#0f172a;font-weight:700;
  padding:12px 14px;font-size:14px;border-bottom:1px solid #e2e8f0;
}
.bb-tbi-fare-table th.bb-tbi-fare-rate{text-align:left;}
.bb-tbi-fare-table tbody td{
  padding:12px 14px;font-size:14px;color:#0f172a;
  border-bottom:1px solid #f1f5f9;
}
.bb-tbi-fare-table tbody tr:nth-child(odd){background:#f8fafc;}
.bb-tbi-fare-table tbody tr:last-child td{border-bottom:none;}
.bb-tbi-fare-table td:first-child{width:90px;}
.bb-tbi-tag{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:.3px;
}
.bb-tbi-tag--adult{color:#16a34a;}
.bb-tbi-tag--child{color:#dc2626;}
.bb-tbi-fare-link{color:#2563eb;text-decoration:none;}
.bb-tbi-fare-link:hover{text-decoration:underline;}

/* ---- 7. Available seats summary + Continue Booking ---- */
.bb-tbi-availsum{
  text-align:center;padding:18px 0 6px;
}
.bb-tbi-availsum-row{
  font-size:15px;font-weight:700;margin:0 0 8px;
}
.bb-tbi-availsum-comfort{color:#16a34a;}
.bb-tbi-availsum-standard{color:#2563eb;}
.bb-tbi-availsum-row b{font-weight:700;}

.bb-tbi-continue-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:#facc15;color:#0f172a;border:none;border-radius:99px;
  padding:11px 26px;font-size:15px;font-weight:700;cursor:pointer;
  box-shadow:0 4px 12px rgba(250,204,21,.4);
  transition:transform .15s,box-shadow .15s,background .15s;
  margin-top:10px;
}
.bb-tbi-continue-btn:hover{
  background:#eab308;transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(234,179,8,.55);
}
.bb-tbi-continue-btn i{font-size:14px;}

/* ---- Rooms wrap section (revealed after Continue) ---- */
.bb-tbi-rooms-wrap{padding-top:14px;border-top:1px solid #f1f5f9;margin-top:18px;}

/* ---- 8. Max 6 members red note ---- */
.bb-tbi-maxnote{
  display:flex;align-items:flex-start;gap:10px;
  background:#fee2e2;border:1px solid #fecaca;border-radius:8px;
  padding:11px 14px;margin:0 0 12px;
}
.bb-tbi-maxnote i{color:#dc2626;font-size:15px;margin-top:2px;flex:0 0 auto;}
.bb-tbi-maxnote span{font-size:13.5px;color:#7f1d1d;line-height:1.55;}
.bb-tbi-maxnote strong{color:#7f1d1d;margin-right:3px;}

/* ---- 9. How-to-make-combinations info ---- */
.bb-tbi-combohelp{
  background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;
  padding:14px 16px;margin:0 0 14px;
}
.bb-tbi-combohelp-title{
  margin:0 0 8px;font-size:14px;font-weight:700;color:#065f46;
  display:flex;align-items:center;gap:6px;
}
.bb-tbi-combohelp-title i{color:#059669;}
.bb-tbi-combohelp-list{
  list-style:none;padding:0;margin:0;
  font-size:13.5px;color:#065f46;line-height:1.65;
}
.bb-tbi-combohelp-list li{padding:2px 0;}
.bb-tbi-combohelp-list strong{color:#064e3b;margin-right:3px;}

/* ---- 10. Room selectors (3-up grid) ---- */
.bb-tbi-rooms-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  margin:0 0 16px;
}
.bb-tbi-room{
  display:flex;border:1px solid #cbd5e1;border-radius:8px;
  overflow:hidden;background:#fff;
}
.bb-tbi-room-label{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 12px;background:#f8fafc;border-right:1px solid #e2e8f0;
  font-size:13.5px;font-weight:600;color:#0f172a;
  white-space:nowrap;
}
.bb-tbi-room-label i{color:#64748b;}
.bb-tbi-room-label em{color:#dc2626;font-style:normal;margin-left:2px;font-weight:700;}
.bb-tbi-room-select{
  flex:1;border:none;outline:none;padding:10px 28px 10px 12px;
  font-size:13.5px;color:#0f172a;background:#fff;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23475569'><path d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;background-size:10px 7px;
  cursor:pointer;min-width:0;
}
.bb-tbi-room-select:focus{box-shadow:inset 0 0 0 2px rgba(30,64,175,.4);}

/* ---- 11. Selected passengers & fare table ---- */
.bb-tbi-passsum{
  width:100%;border-collapse:collapse;
  background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;
  margin:0 0 14px;
}
.bb-tbi-passsum thead th{
  text-align:left;background:#fff;color:#0f172a;font-weight:700;
  padding:11px 14px;font-size:14px;border-bottom:1px solid #e2e8f0;
}
.bb-tbi-passsum tbody td{
  padding:11px 14px;font-size:14px;color:#0f172a;
  border-bottom:1px solid #f1f5f9;
}
.bb-tbi-passsum tbody tr:nth-child(odd){background:#f8fafc;}
.bb-tbi-passsum tbody tr:last-child td{border-bottom:none;}
.bb-tbi-passsum-num{color:#2563eb;font-weight:600;}
.bb-tbi-passsum-fare{color:#2563eb;font-weight:700;}

/* ---- 12. T&C + Proceed for booking ---- */
.bb-tbi-finalrow{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding-top:14px;border-top:1px solid #e2e8f0;flex-wrap:wrap;
}
.bb-tbi-tos{
  display:flex;align-items:center;gap:8px;
  font-size:13.5px;color:#334155;cursor:pointer;
}
.bb-tbi-tos input{width:18px;height:18px;accent-color:#2563eb;cursor:pointer;}
.bb-tbi-tos a{color:#2563eb;text-decoration:none;}
.bb-tbi-tos a:hover{text-decoration:underline;}

.bb-tbi-proceed-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:#16a34a;color:#fff;border:none;border-radius:99px;
  padding:12px 28px;font-size:15px;font-weight:700;cursor:pointer;
  box-shadow:0 4px 14px rgba(22,163,74,.35);
  transition:transform .15s,box-shadow .15s,background .15s;
}
.bb-tbi-proceed-btn:hover{
  background:#15803d;transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(22,163,74,.5);
}
.bb-tbi-proceed-btn i{font-size:14px;}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:991px){
  .bb-tbi-rooms-grid{grid-template-columns:1fr;}
}
@media (max-width:767px){
  .bb-tbi-card{padding:14px;}
  .bb-tbi-fields-grid{grid-template-columns:1fr;}
  .bb-tbi-datecard{flex:0 0 160px;}
  .bb-tbi-datesbar-arrow{width:36px;flex:0 0 36px;font-size:15px;}
  .bb-tbi-fare-table thead th,
  .bb-tbi-fare-table tbody td,
  .bb-tbi-passsum thead th,
  .bb-tbi-passsum tbody td{padding:10px 10px;font-size:13px;}
  .bb-tbi-finalrow{flex-direction:column;align-items:stretch;}
  .bb-tbi-proceed-btn{justify-content:center;}
}
@media (max-width:480px){
  .bb-tbi-datecard{flex:0 0 145px;padding:8px 8px 10px;}
  .bb-tbi-datecard strong{font-size:13px;}
  .bb-tbi-datecard small{font-size:11px;}
  .bb-tbi-datecard-row{font-size:12px;}
}

/* ============================================================
   IRCTC TOUR PACKAGE BOOKING v3 — INNOVATIVE THEMED REDESIGN
   Theme: Orange #f97316 · Teal #0d9488 · Amber #eab308 · Rose #e11d48
   Full-width single-column layout (no right sidebar)
============================================================ */

/* ---- Card shell ---- */
.bb-tbi-card--full{
  background:#fff;border:1px solid #e2e8f0;border-radius:18px;
  padding:0;margin:0 auto 24px;max-width:1180px;overflow:hidden;
  box-shadow:0 4px 20px rgba(15,23,42,.06);
}

/* ---- 1. PACKAGE NAME RIBBON ---- */
.bb-tbi-ribbon{
  display:flex;align-items:center;gap:16px;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 60%,#c2410c 100%);
  color:#fff;padding:18px 22px;position:relative;overflow:hidden;
}
.bb-tbi-ribbon::after{
  content:"";position:absolute;top:-40px;right:-40px;
  width:180px;height:180px;background:rgba(255,255,255,.08);
  border-radius:50%;pointer-events:none;
}
.bb-tbi-ribbon-ico{
  flex:0 0 auto;width:48px;height:48px;border-radius:12px;
  background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;
  font-size:22px;color:#fff;border:1px solid rgba(255,255,255,.25);
}
.bb-tbi-ribbon-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.bb-tbi-ribbon-label{
  font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,.85);
}
.bb-tbi-ribbon-title{
  font-size:18px;font-weight:800;line-height:1.3;color:#fff;
}
.bb-tbi-ribbon-code{
  font-size:12px;font-weight:600;color:rgba(255,255,255,.92);margin-top:4px;
}
.bb-tbi-ribbon-code i{margin-right:4px;}

/* ---- 2. 15-day availability note ---- */
.bb-tbi-availnote{
  display:flex;align-items:flex-start;gap:12px;
  background:#fffbeb;border-bottom:1px dashed #fde68a;
  padding:12px 22px;
}
.bb-tbi-availnote i{color:#d97706;font-size:18px;margin-top:2px;flex:0 0 auto;}
.bb-tbi-availnote p{margin:0;font-size:13.5px;color:#78350f;line-height:1.55;}
.bb-tbi-availnote strong{color:#7c2d12;}
.bb-tbi-availnote em{font-style:normal;font-weight:700;color:#7c2d12;}

/* ---- Section wrapper (used multiple times) ---- */
.bb-tbi-section{padding:18px 22px;border-bottom:1px solid #f1f5f9;}
.bb-tbi-section:last-child{border-bottom:none;}
.bb-tbi-h3{
  display:flex;align-items:center;gap:10px;
  font-size:15px;font-weight:800;color:#0f172a;margin:0 0 14px;
  text-transform:uppercase;letter-spacing:.5px;
}
.bb-tbi-h3 i{
  color:#f97316;font-size:14px;width:28px;height:28px;border-radius:8px;
  background:#fff7ed;display:inline-flex;align-items:center;justify-content:center;
}

/* ============================================================
   3. DATE CAROUSEL — themed ticket cards
============================================================ */
.bb-tbi-datesbar{
  display:flex;align-items:stretch;gap:0;
  border:none;border-radius:14px;overflow:hidden;
  background:transparent;position:relative;
}
.bb-tbi-datesbar-arrow{
  background:#fff7ed;color:#f97316;border:2px solid #fed7aa;border-radius:12px;
  width:40px;flex:0 0 40px;cursor:pointer;font-size:14px;align-self:center;
  height:90px;transition:all .15s;margin:0 6px;
}
.bb-tbi-datesbar-arrow:hover{background:#f97316;color:#fff;border-color:#f97316;}
.bb-tbi-datesbar-track{
  flex:1;display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;
  padding:6px 2px;scrollbar-width:thin;
}
.bb-tbi-datesbar-track::-webkit-scrollbar{height:4px;}
.bb-tbi-datesbar-track::-webkit-scrollbar-thumb{background:#fed7aa;border-radius:99px;}

/* Each ticket card */
.bb-tbi-datecard{
  flex:0 0 160px;
  background:#fff;color:#0f172a;
  border:2px solid #e2e8f0;border-radius:14px;
  padding:10px 8px 8px;text-align:center;cursor:pointer;
  display:flex;flex-direction:column;gap:2px;align-items:center;
  position:relative;transition:all .18s;
}
.bb-tbi-datecard::before,
.bb-tbi-datecard::after{
  content:"";position:absolute;width:10px;height:10px;border-radius:50%;
  background:#fff;border:2px solid #e2e8f0;top:50%;transform:translateY(-50%);
  pointer-events:none;
}
.bb-tbi-datecard::before{left:-6px;}
.bb-tbi-datecard::after{right:-6px;}
.bb-tbi-datecard:hover{border-color:#fdba74;transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(249,115,22,.15);}
.bb-tbi-datecard.is-active{
  border-color:#f97316;background:linear-gradient(180deg,#fff7ed 0%,#ffedd5 100%);
  box-shadow:0 8px 24px rgba(249,115,22,.25);
}
.bb-tbi-datecard.is-active::before,
.bb-tbi-datecard.is-active::after{border-color:#f97316;background:#fff;}

.bb-tbi-datecard-day{
  font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:1.5px;
}
.bb-tbi-datecard-date{
  font-size:26px;font-weight:800;color:#0f172a;line-height:1;letter-spacing:-1px;
}
.bb-tbi-datecard.is-active .bb-tbi-datecard-date{color:#c2410c;}
.bb-tbi-datecard-mon{
  font-size:11px;font-weight:700;color:#475569;
  text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;
}
.bb-tbi-datecard.is-active .bb-tbi-datecard-mon{color:#9a3412;}

.bb-tbi-datecard-classes{
  width:100%;padding-top:6px;border-top:1px dashed #e2e8f0;
  display:flex;flex-direction:column;gap:3px;
}
.bb-tbi-datecard.is-active .bb-tbi-datecard-classes{border-top-color:#fdba74;}

.bb-tbi-cls{
  display:flex;align-items:center;justify-content:space-between;
  font-size:11.5px;padding:3px 8px;border-radius:6px;
}
.bb-tbi-cls em{font-style:normal;font-weight:600;}
.bb-tbi-cls b{font-weight:800;}
.bb-tbi-cls--comfort{background:#ccfbf1;color:#0f766e;}
.bb-tbi-cls--standard{background:#fef3c7;color:#92400e;}
.bb-tbi-cls--low{background:#fee2e2;color:#991b1b;}
.bb-tbi-cls--comfort.bb-tbi-cls--low{background:#fee2e2;color:#991b1b;}

/* Legend */
.bb-tbi-cls-legend{
  display:flex;flex-wrap:wrap;gap:14px;
  margin-top:12px;font-size:12px;color:#475569;
}
.bb-tbi-cls-legend i{font-size:7px;margin-right:5px;vertical-align:middle;}
.bb-tbi-cls-legend .bb-tbi-cls--comfort{color:#0d9488;background:transparent;padding:0;}
.bb-tbi-cls-legend .bb-tbi-cls--standard{color:#d97706;background:transparent;padding:0;}
.bb-tbi-cls-legend .bb-tbi-cls--low{color:#dc2626;background:transparent;padding:0;}

/* ============================================================
   4. HOW TO BOOK info banner (numbered)
============================================================ */
.bb-tbi-howto{
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(135deg,#ecfeff 0%,#cffafe 100%);
  border:1px solid #67e8f9;border-radius:12px;padding:14px 16px;
  margin:0 22px 14px;
}
.bb-tbi-howto-num{
  flex:0 0 auto;font-size:18px;font-weight:800;color:#0e7490;
  background:#fff;border:2px solid #67e8f9;border-radius:10px;
  padding:8px 12px;letter-spacing:1px;
}
.bb-tbi-howto-body{flex:1;}
.bb-tbi-howto-body strong{font-size:14px;color:#155e75;display:block;margin-bottom:2px;}
.bb-tbi-howto-body p{margin:0;font-size:13px;color:#0e7490;line-height:1.5;}
.bb-tbi-howto-body em{font-style:normal;font-weight:700;color:#155e75;}

/* ============================================================
   5. FORM FIELDS GRID (2x2)
============================================================ */
.bb-tbi-fields-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
.bb-tbi-field{
  position:relative;background:#fff;border:2px solid #e2e8f0;border-radius:12px;
  padding:8px 12px 8px 50px;transition:border-color .15s,box-shadow .15s;
}
.bb-tbi-field:hover{border-color:#fed7aa;}
.bb-tbi-field:focus-within{
  border-color:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.12);
}
.bb-tbi-field-ico{
  position:absolute;left:10px;top:50%;transform:translateY(-50%);
  width:32px;height:32px;border-radius:8px;background:#fff7ed;color:#f97316;
  display:flex;align-items:center;justify-content:center;font-size:14px;
}
.bb-tbi-field-label{
  display:block;font-size:11px;font-weight:700;color:#64748b;
  text-transform:uppercase;letter-spacing:.5px;margin:0 0 1px;
}
.bb-tbi-field-label em{font-style:normal;color:#dc2626;margin-left:2px;}
.bb-tbi-field-select{
  width:100%;border:none;outline:none;padding:0 24px 0 0;
  font-size:14px;font-weight:600;color:#0f172a;background:transparent;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23f97316'><path d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 4px center;background-size:10px 7px;
}

/* ============================================================
   6. PRICING — fare grid (cards instead of plain table)
============================================================ */
.bb-tbi-fare-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;
}
.bb-tbi-fare-cell{
  background:#fff;border:2px solid #e2e8f0;border-radius:12px;
  padding:12px 14px;display:flex;flex-direction:column;gap:6px;
  transition:border-color .15s,transform .15s;border-left:4px solid #0d9488;
}
.bb-tbi-fare-cell:hover{border-color:#fdba74;transform:translateY(-2px);}
.bb-tbi-fare-cell--child{border-left-color:#e11d48;}
.bb-tbi-tag{
  display:inline-flex;align-items:center;gap:5px;
  font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
  padding:3px 8px;border-radius:6px;align-self:flex-start;
}
.bb-tbi-tag--adult{background:#ccfbf1;color:#0f766e;}
.bb-tbi-tag--child{background:#ffe4e6;color:#9f1239;}
.bb-tbi-fare-label{font-size:13px;color:#475569;}
.bb-tbi-fare-amt{
  font-size:20px;font-weight:800;color:#f97316;letter-spacing:-.5px;
}

/* ============================================================
   7. AVAILABLE SEATS + CONTINUE BOOKING
============================================================ */
.bb-tbi-availsum{
  background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 100%);
  border:2px dashed #fed7aa;border-radius:14px;
  padding:18px;text-align:center;
}
.bb-tbi-availsum-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;
}
.bb-tbi-availsum-cell{
  background:#fff;border-radius:12px;padding:14px;text-align:center;
  display:flex;flex-direction:column;gap:4px;
  border-top:4px solid #0d9488;
}
.bb-tbi-availsum-cell--standard{border-top-color:#d97706;}
.bb-tbi-availsum-num{
  font-size:34px;font-weight:800;line-height:1;letter-spacing:-1px;color:#0d9488;
}
.bb-tbi-availsum-cell--standard .bb-tbi-availsum-num{color:#d97706;}
.bb-tbi-availsum-cls{font-size:12px;font-weight:600;color:#475569;}

.bb-tbi-continue-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,#eab308 0%,#ca8a04 100%);
  color:#fff;border:none;border-radius:99px;
  padding:13px 28px;font-size:15px;font-weight:800;cursor:pointer;
  box-shadow:0 8px 20px rgba(234,179,8,.4);
  transition:all .2s;
}
.bb-tbi-continue-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(234,179,8,.55);
}
.bb-tbi-continue-btn-arrow{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.25);
  animation:bbTbiBounce 1.6s infinite;
}
@keyframes bbTbiBounce{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(3px);}
}

/* ============================================================
   Rooms wrap reveal section
============================================================ */
.bb-tbi-rooms-wrap{padding:0;}

/* 8. MAX 6 — sleek pill note */
.bb-tbi-maxnote{
  display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);
  border-top:1px solid #fecaca;border-bottom:1px solid #fecaca;
  padding:12px 22px;
}
.bb-tbi-maxnote-pill{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;
  background:#dc2626;color:#fff;font-size:12px;font-weight:800;
  padding:6px 12px;border-radius:99px;
}
.bb-tbi-maxnote p{margin:0;font-size:13.5px;color:#7f1d1d;line-height:1.55;}
.bb-tbi-maxnote strong{color:#7f1d1d;}

/* ============================================================
   9. COMBINATIONS BLUEPRINT — visual room cards
============================================================ */
.bb-tbi-bp-header{margin-bottom:14px;}
.bb-tbi-bp-sub{
  margin:6px 0 0;font-size:13px;color:#64748b;line-height:1.55;
}
.bb-tbi-bp-sub strong{color:#f97316;}

/* Tabs (Adults only / With Children) */
.bb-tbi-bp-tabs{
  display:flex;gap:6px;background:#f1f5f9;padding:5px;border-radius:12px;
  margin-bottom:14px;width:fit-content;
}
.bb-tbi-bp-tab{
  background:transparent;color:#475569;border:none;border-radius:8px;
  padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;transition:all .15s;
}
.bb-tbi-bp-tab:hover{color:#0f172a;}
.bb-tbi-bp-tab.is-active{
  background:#fff;color:#f97316;box-shadow:0 2px 6px rgba(15,23,42,.08);
}
.bb-tbi-bp-tabhint{font-weight:500;opacity:.7;font-size:11px;}

.bb-tbi-bp-grid{display:none;grid-template-columns:repeat(3,1fr);gap:12px;}
.bb-tbi-bp-grid.is-active{display:grid;}

.bb-tbi-bp-card{
  background:#fff;border:2px solid #e2e8f0;border-radius:14px;
  padding:0;overflow:hidden;display:flex;flex-direction:column;
  transition:all .15s;
}
.bb-tbi-bp-card:hover{border-color:#fed7aa;
  box-shadow:0 8px 20px rgba(249,115,22,.12);}

.bb-tbi-bp-head{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;background:#fff7ed;border-bottom:1px solid #fed7aa;
}
.bb-tbi-bp-count{
  display:inline-flex;flex-direction:column;align-items:center;
  background:#f97316;color:#fff;border-radius:10px;
  padding:5px 9px;line-height:1;min-width:42px;
}
.bb-tbi-bp-count strong{font-size:18px;font-weight:800;}
.bb-tbi-bp-count small{font-size:9px;text-transform:uppercase;letter-spacing:.5px;opacity:.9;}
.bb-tbi-bp-label{font-size:13px;font-weight:700;color:#7c2d12;}

.bb-tbi-bp-rooms{
  flex:1;padding:14px 12px;display:flex;flex-direction:column;gap:10px;
  background:#fafafa;
}
.bb-tbi-bp-room{
  background:#fff;border:1.5px dashed #cbd5e1;border-radius:10px;
  padding:10px;display:flex;flex-direction:column;gap:8px;
}
.bb-tbi-bp-room-tag{
  display:inline-flex;align-items:center;gap:5px;
  font-size:11px;font-weight:700;color:#475569;
  text-transform:uppercase;letter-spacing:.5px;align-self:flex-start;
}
.bb-tbi-bp-room-tag i{color:#0d9488;}
.bb-tbi-bp-room-people{
  display:flex;flex-wrap:wrap;gap:6px;justify-content:center;
  padding:6px 0;
}

/* Person bubbles */
.bb-tbi-bubble{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  font-size:14px;position:relative;
}
.bb-tbi-bubble--adult{background:#ccfbf1;color:#0d9488;border:2px solid #5eead4;}
.bb-tbi-bubble--child{
  width:30px;height:30px;font-size:12px;
  background:#ffe4e6;color:#e11d48;border:2px solid #fda4af;
}
.bb-tbi-bubble--child.bb-tbi-bubble--bed{background:#fef3c7;color:#92400e;border-color:#fcd34d;}
.bb-tbi-bubble-mini{
  position:absolute;bottom:-4px;right:-4px;
  background:#fff;color:#92400e;border-radius:50%;
  width:14px;height:14px;font-size:8px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid #fcd34d;
}

.bb-tbi-bp-note{
  padding:8px 12px;background:#fff;border-top:1px dashed #e2e8f0;
  font-size:11.5px;color:#64748b;line-height:1.5;
}
.bb-tbi-bp-note i{color:#0d9488;margin-right:4px;}

.bb-tbi-bp-card--legend{border-color:#fcd34d;background:#fffbeb;}
.bb-tbi-bp-card--legend .bb-tbi-bp-head{background:#fef3c7;border-bottom-color:#fcd34d;}
.bb-tbi-bp-card--legend .bb-tbi-bp-count{background:#d97706;}
.bb-tbi-bp-card--legend .bb-tbi-bp-label{color:#78350f;}
.bb-tbi-bp-legend-rows{
  padding:12px;background:#fff;display:flex;flex-direction:column;gap:8px;
  font-size:12.5px;color:#475569;
}
.bb-tbi-bp-legend-rows div{display:flex;align-items:center;gap:8px;}
.bb-tbi-bp-legend-rows em{font-style:normal;font-weight:600;color:#0f172a;}

.bb-tbi-bp-more{
  display:flex;align-items:center;gap:12px;
  background:#f1f5f9;border-radius:10px;padding:11px 14px;margin-top:12px;
}
.bb-tbi-bp-more i{color:#f97316;font-size:16px;flex:0 0 auto;}
.bb-tbi-bp-more span{font-size:13px;color:#334155;line-height:1.5;}
.bb-tbi-bp-more strong{color:#0f172a;}

/* ============================================================
   10. ROOM SELECTORS v2 — cards with live preview
============================================================ */
.bb-tbi-roomsv2-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.bb-tbi-roomv2{
  background:#fff;border:2px solid #e2e8f0;border-radius:16px;
  overflow:hidden;display:flex;flex-direction:column;
  transition:all .18s;
}
.bb-tbi-roomv2:has(.bb-tbi-roomv2-preview[data-empty="0"]){
  border-color:#f97316;box-shadow:0 8px 24px rgba(249,115,22,.15);
}

.bb-tbi-roomv2-head{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;background:#fafafa;border-bottom:1px solid #e2e8f0;
}
.bb-tbi-roomv2-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:10px;
  background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;
  font-size:16px;font-weight:800;
}
.bb-tbi-roomv2-title{flex:1;display:flex;flex-direction:column;gap:1px;}
.bb-tbi-roomv2-title strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-tbi-roomv2-req{
  font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:#dc2626;
}
.bb-tbi-roomv2-req--opt{color:#64748b;}
.bb-tbi-roomv2-ico{color:#f97316;font-size:18px;}

.bb-tbi-roomv2-selectwrap{padding:10px 12px;}
.bb-tbi-roomv2-select{
  width:100%;border:1.5px solid #e2e8f0;border-radius:10px;
  padding:9px 28px 9px 12px;font-size:13px;color:#0f172a;background:#fff;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23f97316'><path d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center;background-size:10px 7px;
  transition:border-color .15s,box-shadow .15s;
}
.bb-tbi-roomv2-select:focus{border-color:#f97316;outline:none;
  box-shadow:0 0 0 3px rgba(249,115,22,.15);}

.bb-tbi-roomv2-preview{
  padding:12px;border-top:1px dashed #e2e8f0;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:56px;flex:1;
}
.bb-tbi-roomv2-preview[data-empty="1"]{justify-content:center;background:#fafafa;}
.bb-tbi-roomv2-empty{
  font-size:12px;color:#94a3b8;display:inline-flex;align-items:center;gap:6px;
}
.bb-tbi-roomv2-bubbles{
  display:flex;flex-wrap:wrap;gap:5px;align-items:center;
}
.bb-tbi-roomv2-bubbles .bb-tbi-bubble{width:28px;height:28px;font-size:11px;}
.bb-tbi-roomv2-bubbles .bb-tbi-bubble--child{width:24px;height:24px;font-size:10px;}

.bb-tbi-roomv2-pricechip{
  display:inline-flex;align-items:center;gap:4px;
  background:#fff7ed;color:#c2410c;font-weight:800;font-size:13px;
  padding:5px 12px;border-radius:99px;border:1.5px solid #fed7aa;
  white-space:nowrap;
}
.bb-tbi-roomv2-pricechip i{font-size:11px;}

/* ============================================================
   11. STAT GRID — Selected passengers & fare
============================================================ */
.bb-tbi-statgrid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
}
.bb-tbi-stat{
  background:#fff;border:2px solid #e2e8f0;border-radius:14px;
  padding:14px;display:flex;align-items:center;gap:12px;
  transition:all .15s;
}
.bb-tbi-stat:hover{transform:translateY(-2px);}
.bb-tbi-stat-ico{
  width:44px;height:44px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto;
}
.bb-tbi-stat--adults{border-left:4px solid #0d9488;}
.bb-tbi-stat--adults .bb-tbi-stat-ico{background:#ccfbf1;color:#0d9488;}
.bb-tbi-stat--child{border-left:4px solid #e11d48;}
.bb-tbi-stat--child .bb-tbi-stat-ico{background:#ffe4e6;color:#e11d48;}
.bb-tbi-stat--total{border-left:4px solid #6366f1;}
.bb-tbi-stat--total .bb-tbi-stat-ico{background:#e0e7ff;color:#4f46e5;}
.bb-tbi-stat--fare{border-left:4px solid #f97316;
  background:linear-gradient(135deg,#fff7ed,#fffbeb);}
.bb-tbi-stat--fare .bb-tbi-stat-ico{background:#fed7aa;color:#c2410c;}
.bb-tbi-stat small{
  display:block;font-size:11px;font-weight:700;color:#64748b;
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;
}
.bb-tbi-stat strong{font-size:22px;font-weight:800;color:#0f172a;line-height:1;}
.bb-tbi-stat--fare strong{color:#c2410c;font-size:20px;}

/* ============================================================
   12. T&C + Proceed for booking
============================================================ */
.bb-tbi-finalrow{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 22px;background:#fafafa;border-top:1px solid #e2e8f0;flex-wrap:wrap;
}
.bb-tbi-tos{
  display:flex;align-items:center;gap:10px;
  font-size:13.5px;color:#334155;cursor:pointer;
}
.bb-tbi-tos input{
  width:20px;height:20px;accent-color:#f97316;cursor:pointer;flex:0 0 auto;
}
.bb-tbi-tos a{color:#f97316;text-decoration:none;font-weight:600;}
.bb-tbi-tos a:hover{text-decoration:underline;}

.bb-tbi-proceed-btn{
  display:inline-flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);
  color:#fff;border:none;border-radius:99px;
  padding:13px 28px;font-size:15px;font-weight:800;cursor:pointer;
  box-shadow:0 8px 20px rgba(22,163,74,.35);
  transition:all .2s;
}
.bb-tbi-proceed-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(22,163,74,.5);
}
.bb-tbi-proceed-btn-arrow{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.25);
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:991px){
  .bb-tbi-fare-grid{grid-template-columns:repeat(2,1fr);}
  .bb-tbi-statgrid{grid-template-columns:repeat(2,1fr);}
  .bb-tbi-bp-grid.is-active{grid-template-columns:repeat(2,1fr);}
  .bb-tbi-roomsv2-grid{grid-template-columns:1fr;}
}
@media (max-width:767px){
  .bb-tbi-ribbon{padding:14px 16px;flex-direction:column;align-items:flex-start;}
  .bb-tbi-section{padding:16px;}
  .bb-tbi-howto{margin:0 16px 14px;flex-direction:column;align-items:flex-start;}
  .bb-tbi-availnote{padding:12px 16px;}
  .bb-tbi-finalrow{padding:16px;flex-direction:column;align-items:stretch;}
  .bb-tbi-proceed-btn{justify-content:center;}
  .bb-tbi-fields-grid{grid-template-columns:1fr;}
  .bb-tbi-availsum-grid{grid-template-columns:1fr;}
  .bb-tbi-datesbar-arrow{display:none;}
  .bb-tbi-datesbar-track{padding:6px;}
  .bb-tbi-datecard{flex:0 0 140px;}
  .bb-tbi-bp-grid.is-active{grid-template-columns:1fr;}
  .bb-tbi-fare-grid{grid-template-columns:1fr;}
  .bb-tbi-maxnote{padding:12px 16px;}
}
@media (max-width:480px){
  .bb-tbi-statgrid{grid-template-columns:1fr;}
  .bb-tbi-tos{font-size:13px;}
}

/* ============================================================
   IRCTC v3 — TIGHTEN SPACES + COLLAPSIBLE HELP + MOBILE FIXES
   These rules come AFTER the v3 base, so they win via cascade.
============================================================ */

/* ---- Reduce section padding everywhere ---- */
.bb-tbi-section{padding:14px 16px;}
.bb-tbi-h3{font-size:13.5px;margin:0 0 10px;letter-spacing:.3px;}
.bb-tbi-h3 i{width:24px;height:24px;font-size:12px;}

/* ---- Tighten ribbon, availnote, howto ---- */
.bb-tbi-ribbon{padding:14px 16px;gap:12px;}
.bb-tbi-ribbon-ico{width:42px;height:42px;font-size:18px;border-radius:10px;}
.bb-tbi-ribbon-title{font-size:16px;line-height:1.3;}
.bb-tbi-ribbon-code{font-size:11.5px;}

.bb-tbi-availnote{padding:10px 16px;gap:10px;}
.bb-tbi-availnote p{font-size:13px;line-height:1.5;}
.bb-tbi-availnote i{font-size:16px;}

.bb-tbi-howto{margin:0 16px 12px;padding:11px 14px;gap:11px;}
.bb-tbi-howto-num{padding:6px 10px;font-size:14px;border-radius:8px;}
.bb-tbi-howto-body strong{font-size:13.5px;margin-bottom:1px;}
.bb-tbi-howto-body p{font-size:12.5px;line-height:1.45;}

/* ---- Date carousel tighter ---- */
.bb-tbi-datesbar-arrow{height:78px;width:34px;flex:0 0 34px;margin:0 4px;font-size:12px;}
.bb-tbi-datesbar-track{gap:8px;padding:4px 2px;}
/* Narrower cards so the next date card always peeks (horizontal scroll cue) */
.bb-tbi-datecard{flex:0 0 116px;padding:8px 6px 6px;border-radius:12px;}
.bb-tbi-datecard-day{font-size:10px;letter-spacing:1.2px;}
.bb-tbi-datecard-date{font-size:22px;}
.bb-tbi-datecard-mon{font-size:10px;}
.bb-tbi-datecard-classes{padding-top:4px;gap:2px;}
.bb-tbi-cls{font-size:11px;padding:2px 6px;border-radius:5px;}

.bb-tbi-cls-legend{margin-top:8px;gap:10px;font-size:11px;}

/* ---- Form fields tighter ---- */
.bb-tbi-fields-grid{gap:8px;}
.bb-tbi-field{padding:6px 10px 6px 44px;border-radius:10px;}
.bb-tbi-field-ico{left:8px;width:28px;height:28px;font-size:12px;border-radius:7px;}
.bb-tbi-field-label{font-size:10px;letter-spacing:.4px;}
.bb-tbi-field-select{font-size:13px;}

/* ---- Fare grid tighter ---- */
.bb-tbi-fare-grid{gap:8px;margin-bottom:12px;}
.bb-tbi-fare-cell{padding:10px 12px;border-radius:10px;gap:4px;}
.bb-tbi-tag{font-size:10px;padding:2px 7px;letter-spacing:.6px;}
.bb-tbi-fare-label{font-size:12.5px;}
.bb-tbi-fare-amt{font-size:18px;}

/* ---- Available seats summary tighter ---- */
.bb-tbi-availsum{padding:14px;border-radius:12px;}
.bb-tbi-availsum-grid{gap:10px;margin-bottom:12px;}
.bb-tbi-availsum-cell{padding:10px;border-radius:10px;}
.bb-tbi-availsum-num{font-size:28px;}
.bb-tbi-availsum-cls{font-size:11.5px;}
.bb-tbi-continue-btn{padding:11px 22px;font-size:14px;}
.bb-tbi-continue-btn-arrow{width:20px;height:20px;}

/* ---- Max-6 note tighter ---- */
.bb-tbi-maxnote{padding:10px 16px;gap:10px;}
.bb-tbi-maxnote-pill{padding:5px 10px;font-size:11px;}
.bb-tbi-maxnote p{font-size:12.5px;line-height:1.5;}

/* ============================================================
   ROOMS HEADER ROW + "NEED HELP" TOGGLE
============================================================ */
.bb-tbi-rooms-header{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;margin-bottom:10px;flex-wrap:wrap;
}
.bb-tbi-rooms-header .bb-tbi-h3{margin:0;}

.bb-tbi-help-toggle{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff7ed;color:#c2410c;border:1.5px dashed #fdba74;
  border-radius:99px;padding:7px 14px;font-size:12.5px;font-weight:700;
  cursor:pointer;transition:all .15s;
}
.bb-tbi-help-toggle:hover{
  background:#fed7aa;border-color:#f97316;border-style:solid;
}
.bb-tbi-help-toggle i{font-size:13px;}
.bb-tbi-help-toggle .bb-tbi-help-toggle-chev{
  font-size:10px;transition:transform .25s;
}
.bb-tbi-help-toggle[aria-expanded="true"]{
  background:#f97316;color:#fff;border-color:#f97316;border-style:solid;
}
.bb-tbi-help-toggle[aria-expanded="true"] .bb-tbi-help-toggle-chev{
  transform:rotate(180deg);
}

/* ---- Collapsible panel ---- */
.bb-tbi-help-panel{
  margin-bottom:14px;background:#fffbf5;border:1px solid #fed7aa;
  border-radius:12px;overflow:hidden;animation:bbTbiSlideDown .25s ease;
}
.bb-tbi-help-panel[hidden]{display:none !important;}
.bb-tbi-help-panel-inner{padding:12px 14px;}

@keyframes bbTbiSlideDown{
  from{opacity:0;transform:translateY(-6px);}
  to{opacity:1;transform:translateY(0);}
}

/* ---- Tighten blueprint sub-elements inside collapse ---- */
.bb-tbi-help-panel-inner .bb-tbi-h3{font-size:12.5px;margin:0 0 6px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-sub{font-size:12px;line-height:1.45;margin:4px 0 0;}
.bb-tbi-help-panel-inner .bb-tbi-bp-tabs{margin:10px 0;padding:4px;border-radius:10px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-tab{padding:7px 12px;font-size:12px;border-radius:7px;}

.bb-tbi-help-panel-inner .bb-tbi-bp-grid{gap:8px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-card{border-radius:10px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-head{padding:7px 10px;gap:8px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-count{padding:3px 7px;border-radius:7px;min-width:36px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-count strong{font-size:15px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-count small{font-size:8px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-label{font-size:12px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-rooms{padding:8px;gap:6px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-room{padding:6px 8px;border-radius:8px;gap:4px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-room-tag{font-size:10px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-room-people{padding:2px 0;gap:4px;}
.bb-tbi-help-panel-inner .bb-tbi-bubble{width:28px;height:28px;font-size:11px;}
.bb-tbi-help-panel-inner .bb-tbi-bubble--child{width:24px;height:24px;font-size:10px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-note{padding:6px 10px;font-size:10.5px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-more{padding:8px 11px;margin-top:8px;gap:10px;}
.bb-tbi-help-panel-inner .bb-tbi-bp-more span{font-size:12px;line-height:1.4;}

/* ---- Room cards tighter ---- */
.bb-tbi-roomsv2-grid{gap:10px;}
.bb-tbi-roomv2{border-radius:12px;}
.bb-tbi-roomv2-head{padding:9px 11px;gap:8px;}
.bb-tbi-roomv2-num{width:28px;height:28px;font-size:13px;border-radius:8px;}
.bb-tbi-roomv2-title strong{font-size:13px;}
.bb-tbi-roomv2-req{font-size:9px;}
.bb-tbi-roomv2-ico{font-size:15px;}
.bb-tbi-roomv2-selectwrap{padding:8px 10px;}
.bb-tbi-roomv2-select{padding:8px 24px 8px 10px;font-size:12.5px;border-radius:8px;}
.bb-tbi-roomv2-preview{padding:9px 10px;min-height:46px;}
.bb-tbi-roomv2-pricechip{font-size:12px;padding:4px 10px;}
.bb-tbi-roomv2-empty{font-size:11.5px;}

/* ---- Stat grid tighter ---- */
.bb-tbi-statgrid{gap:8px;}
.bb-tbi-stat{padding:10px 12px;gap:10px;border-radius:11px;}
.bb-tbi-stat-ico{width:38px;height:38px;font-size:15px;border-radius:10px;}
.bb-tbi-stat small{font-size:10px;letter-spacing:.4px;}
.bb-tbi-stat strong{font-size:18px;}
.bb-tbi-stat--fare strong{font-size:16px;}

/* ---- Finalrow tighter ---- */
.bb-tbi-finalrow{padding:14px 16px;gap:12px;}
.bb-tbi-tos{font-size:13px;gap:8px;}
.bb-tbi-tos input{width:18px;height:18px;}
.bb-tbi-proceed-btn{padding:11px 22px;font-size:14px;gap:10px;}
.bb-tbi-proceed-btn-arrow{width:20px;height:20px;}

/* ============================================================
   FULL MOBILE RESPONSIVE OVERHAUL
============================================================ */

/* Tablet & below: 2-column fares + 2-col stats + single room column */
@media (max-width:991px){
  .bb-tbi-fare-grid{grid-template-columns:repeat(2,1fr);}
  .bb-tbi-statgrid{grid-template-columns:repeat(2,1fr);}
  .bb-tbi-bp-grid.is-active{grid-template-columns:repeat(2,1fr);}
  .bb-tbi-roomsv2-grid{grid-template-columns:1fr;}
}

/* Phone (≤767px) */
@media (max-width:767px){
  .bb-tbi-card--full{margin:0 -8px 16px;border-radius:14px;}

  /* Ribbon stacks neatly */
  .bb-tbi-ribbon{
    padding:12px 14px;flex-direction:row;align-items:center;
    gap:10px;
  }
  .bb-tbi-ribbon::after{display:none;}
  .bb-tbi-ribbon-ico{width:38px;height:38px;font-size:16px;}
  .bb-tbi-ribbon-label{font-size:10px;letter-spacing:1px;}
  .bb-tbi-ribbon-title{font-size:14px;line-height:1.3;}
  .bb-tbi-ribbon-code{font-size:11px;}

  /* Availnote */
  .bb-tbi-availnote{padding:9px 14px;gap:8px;}
  .bb-tbi-availnote p{font-size:12px;}

  /* Sections + headings */
  .bb-tbi-section{padding:12px 14px;}
  .bb-tbi-h3{font-size:12.5px;margin-bottom:8px;}
  .bb-tbi-h3 i{width:22px;height:22px;font-size:11px;}

  /* Howto banner */
  .bb-tbi-howto{margin:0 14px 12px;padding:10px 12px;
    flex-direction:row;align-items:center;gap:10px;}
  .bb-tbi-howto-num{padding:5px 9px;font-size:12px;}
  .bb-tbi-howto-body strong{font-size:12.5px;}
  .bb-tbi-howto-body p{font-size:11.5px;}

  /* Date carousel — show arrows on mobile too, shrink cards */
  .bb-tbi-datesbar-arrow{display:flex;height:72px;width:30px;flex:0 0 30px;align-items:center;justify-content:center;margin:0 2px;}
  .bb-tbi-datesbar-track{gap:6px;padding:3px 1px;}
  .bb-tbi-datecard{flex:0 0 100px;padding:6px 5px 5px;border-radius:10px;}
  .bb-tbi-datecard::before,
  .bb-tbi-datecard::after{width:8px;height:8px;}
  .bb-tbi-datecard::before{left:-5px;}
  .bb-tbi-datecard::after{right:-5px;}
  .bb-tbi-datecard-day{font-size:9.5px;letter-spacing:1px;}
  .bb-tbi-datecard-date{font-size:19px;}
  .bb-tbi-datecard-mon{font-size:9px;}
  .bb-tbi-cls{font-size:10px;padding:2px 5px;}
  .bb-tbi-cls-legend{font-size:10.5px;gap:8px;}

  /* Form fields stack */
  .bb-tbi-fields-grid{grid-template-columns:1fr;gap:7px;}
  .bb-tbi-field{padding:5px 10px 5px 40px;}
  .bb-tbi-field-ico{width:26px;height:26px;}
  .bb-tbi-field-select{font-size:12.5px;}

  /* Fares: 1 column for max readability */
  .bb-tbi-fare-grid{grid-template-columns:1fr;gap:6px;}
  .bb-tbi-fare-cell{padding:9px 11px;flex-direction:row;align-items:center;
    justify-content:space-between;gap:8px;flex-wrap:wrap;}
  .bb-tbi-fare-cell .bb-tbi-tag{order:1;flex:0 0 auto;}
  .bb-tbi-fare-cell .bb-tbi-fare-label{order:2;flex:1;text-align:left;font-size:12.5px;}
  .bb-tbi-fare-cell .bb-tbi-fare-amt{order:3;font-size:16px;}

  /* Available seats — stack */
  .bb-tbi-availsum{padding:12px;}
  .bb-tbi-availsum-grid{grid-template-columns:1fr;gap:8px;margin-bottom:10px;}
  .bb-tbi-availsum-cell{padding:9px;flex-direction:row;align-items:center;
    justify-content:center;gap:10px;}
  .bb-tbi-availsum-num{font-size:22px;}
  .bb-tbi-availsum-cls{font-size:11px;}
  .bb-tbi-continue-btn{padding:10px 18px;font-size:13px;gap:8px;width:100%;
    justify-content:center;}

  /* Max-6 note */
  .bb-tbi-maxnote{padding:9px 14px;gap:8px;}
  .bb-tbi-maxnote-pill{padding:4px 9px;font-size:10.5px;}
  .bb-tbi-maxnote p{font-size:11.5px;}

  /* Rooms header — toggle on its own row */
  .bb-tbi-rooms-header{flex-direction:column;align-items:stretch;gap:8px;}
  .bb-tbi-help-toggle{justify-content:center;padding:8px 12px;font-size:12px;}

  /* Help panel inner */
  .bb-tbi-help-panel-inner{padding:10px 12px;}
  .bb-tbi-help-panel-inner .bb-tbi-bp-tabs{width:100%;}
  .bb-tbi-help-panel-inner .bb-tbi-bp-tab{flex:1;justify-content:center;}
  .bb-tbi-help-panel-inner .bb-tbi-bp-grid.is-active{grid-template-columns:1fr;gap:7px;}
  .bb-tbi-help-panel-inner .bb-tbi-bp-rooms{flex-direction:row;flex-wrap:wrap;}
  .bb-tbi-help-panel-inner .bb-tbi-bp-room{flex:1 1 calc(50% - 4px);min-width:0;}
  .bb-tbi-help-panel-inner .bb-tbi-bp-more{flex-direction:row;align-items:center;}

  /* Room cards */
  .bb-tbi-roomv2{border-radius:10px;}
  .bb-tbi-roomv2-head{padding:8px 10px;}
  .bb-tbi-roomv2-num{width:26px;height:26px;font-size:12px;}
  .bb-tbi-roomv2-title strong{font-size:12.5px;}
  .bb-tbi-roomv2-selectwrap{padding:7px 10px;}
  .bb-tbi-roomv2-select{font-size:12px;padding:7px 22px 7px 9px;}
  .bb-tbi-roomv2-preview{padding:8px 10px;min-height:42px;}
  .bb-tbi-roomv2-pricechip{font-size:11.5px;padding:3px 9px;}

  /* Stats stack */
  .bb-tbi-statgrid{grid-template-columns:repeat(2,1fr);gap:7px;}
  .bb-tbi-stat{padding:9px 10px;gap:8px;}
  .bb-tbi-stat-ico{width:32px;height:32px;font-size:13px;border-radius:8px;}
  .bb-tbi-stat small{font-size:9.5px;}
  .bb-tbi-stat strong{font-size:15px;}
  .bb-tbi-stat--fare strong{font-size:13.5px;}

  /* Finalrow */
  .bb-tbi-finalrow{padding:12px 14px;flex-direction:column;align-items:stretch;gap:10px;}
  .bb-tbi-tos{font-size:12.5px;}
  .bb-tbi-proceed-btn{justify-content:center;padding:11px 18px;font-size:14px;width:100%;}
}

/* Small phones (≤480px) */
@media (max-width:480px){
  .bb-tbi-card--full{margin:0 -10px 14px;border-radius:12px;}
  .bb-tbi-ribbon{padding:10px 12px;gap:8px;}
  .bb-tbi-ribbon-ico{width:34px;height:34px;font-size:14px;border-radius:8px;}
  .bb-tbi-ribbon-title{font-size:13px;}
  .bb-tbi-ribbon-code{font-size:10.5px;}

  .bb-tbi-section{padding:11px 12px;}
  .bb-tbi-howto{margin:0 12px 10px;padding:9px 11px;}
  .bb-tbi-availnote{padding:8px 12px;}
  .bb-tbi-availnote p{font-size:11.5px;}

  .bb-tbi-datecard{flex:0 0 92px;}
  .bb-tbi-datecard-date{font-size:17px;}

  .bb-tbi-statgrid{grid-template-columns:1fr;}
  .bb-tbi-stat{padding:8px 10px;}

  .bb-tbi-help-panel-inner .bb-tbi-bp-room{flex:1 1 100%;}

  .bb-tbi-maxnote{padding:8px 12px;}
  .bb-tbi-finalrow{padding:11px 12px;}
}

/* ============================================================
   TOUR BOOKING — CAR PACKAGE v3 (.bb-tcar-*)
   Theme: Orange #f97316 · Teal #0d9488 · Amber #eab308 · Rose #e11d48
   Full-width single column, mobile responsive
============================================================ */

/* ---- Outer card shell ---- */
.bb-tcar-card{
  background:#fff;border:1px solid #e2e8f0;border-radius:18px;
  margin:0 auto 24px;max-width:1180px;overflow:hidden;
  box-shadow:0 4px 20px rgba(15,23,42,.06);
}

/* ============================================================
   1. RIBBON (package + date)
============================================================ */
.bb-tcar-ribbon{
  display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 60%,#c2410c 100%);
  color:#fff;padding:14px 18px;position:relative;overflow:hidden;
}
.bb-tcar-ribbon::after{
  content:"";position:absolute;top:-30px;right:80px;
  width:140px;height:140px;background:rgba(255,255,255,.07);
  border-radius:50%;pointer-events:none;
}
.bb-tcar-ribbon-back{
  flex:0 0 auto;width:36px;height:36px;border-radius:10px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  color:#fff;display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:background .15s;
}
.bb-tcar-ribbon-back:hover{background:rgba(255,255,255,.28);}
.bb-tcar-ribbon-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.bb-tcar-ribbon-label{
  font-size:10.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:rgba(255,255,255,.85);
}
.bb-tcar-ribbon-title{font-size:16px;font-weight:800;line-height:1.3;color:#fff;}
.bb-tcar-ribbon-date{
  display:flex;align-items:center;gap:10px;
  background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.25);
  border-radius:10px;padding:7px 12px;
}
.bb-tcar-ribbon-date i{color:rgba(255,255,255,.85);}
.bb-tcar-ribbon-date small{
  display:block;font-size:10px;color:rgba(255,255,255,.75);
  letter-spacing:.5px;text-transform:uppercase;
}
.bb-tcar-ribbon-date strong{font-size:13px;color:#fff;font-weight:700;}
.bb-tcar-ribbon-date-edit{
  background:rgba(255,255,255,.18);color:#fff;border:none;border-radius:7px;
  width:26px;height:26px;cursor:pointer;font-size:11px;transition:background .15s;
}
.bb-tcar-ribbon-date-edit:hover{background:rgba(255,255,255,.32);}

/* ============================================================
   2. AVAILABILITY NOTE
============================================================ */
.bb-tcar-availnote{
  display:flex;align-items:flex-start;gap:10px;
  background:#ecfdf5;border-bottom:1px dashed #6ee7b7;
  padding:10px 18px;
}
.bb-tcar-availnote i{color:#059669;font-size:16px;margin-top:2px;flex:0 0 auto;}
.bb-tcar-availnote p{margin:0;font-size:13px;color:#065f46;line-height:1.5;}
.bb-tcar-availnote strong{color:#064e3b;}

/* ============================================================
   Section wrappers
============================================================ */
.bb-tcar-section{padding:14px 18px;border-bottom:1px solid #f1f5f9;}
.bb-tcar-section:last-child{border-bottom:none;}
.bb-tcar-section--toggle{background:#fafafa;}
.bb-tcar-h3{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  font-size:13.5px;font-weight:800;color:#0f172a;margin:0 0 10px;
  text-transform:uppercase;letter-spacing:.4px;
}
.bb-tcar-h3 small{
  font-size:11.5px;font-weight:600;color:#64748b;
  text-transform:none;letter-spacing:0;margin-left:auto;
}
.bb-tcar-h3 i{
  color:#f97316;font-size:13px;width:24px;height:24px;border-radius:7px;
  background:#fff7ed;display:inline-flex;align-items:center;justify-content:center;
}

/* ============================================================
   3. DATE CAROUSEL
============================================================ */
.bb-tcar-datesbar{display:flex;align-items:stretch;gap:6px;}
.bb-tcar-datesbar-arrow{
  background:#fff7ed;color:#f97316;border:2px solid #fed7aa;border-radius:10px;
  width:34px;flex:0 0 34px;cursor:pointer;font-size:13px;align-self:center;
  height:78px;transition:all .15s;
}
.bb-tcar-datesbar-arrow:hover{background:#f97316;color:#fff;border-color:#f97316;}
.bb-tcar-datesbar-track{
  flex:1;display:flex;gap:8px;overflow-x:auto;scroll-behavior:smooth;
  padding:4px 2px;scrollbar-width:thin;
}
.bb-tcar-datesbar-track::-webkit-scrollbar{height:4px;}
.bb-tcar-datesbar-track::-webkit-scrollbar-thumb{background:#fed7aa;border-radius:99px;}

.bb-tcar-datecard{
  flex:0 0 110px;background:#fff;color:#0f172a;
  border:2px solid #e2e8f0;border-radius:12px;
  padding:8px 6px 6px;text-align:center;cursor:pointer;
  display:flex;flex-direction:column;gap:2px;align-items:center;
  transition:all .18s;
}
.bb-tcar-datecard:hover{border-color:#fdba74;transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(249,115,22,.12);}
.bb-tcar-datecard.is-active{
  border-color:#f97316;background:linear-gradient(180deg,#fff7ed 0%,#ffedd5 100%);
  box-shadow:0 8px 22px rgba(249,115,22,.22);
}
.bb-tcar-datecard-day{
  font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:1.3px;
}
.bb-tcar-datecard strong{
  font-size:22px;font-weight:800;color:#0f172a;line-height:1;
}
.bb-tcar-datecard.is-active strong{color:#c2410c;}
.bb-tcar-datecard-mon{
  font-size:10px;font-weight:700;color:#475569;
  text-transform:uppercase;letter-spacing:.8px;
}
.bb-tcar-datecard.is-active .bb-tcar-datecard-mon{color:#9a3412;}
.bb-tcar-datecard-tag{
  font-size:9.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  padding:2px 7px;border-radius:99px;margin-top:3px;
  background:#ecfdf5;color:#065f46;border:1px solid #6ee7b7;
}
.bb-tcar-datecard.is-active .bb-tcar-datecard-tag{
  background:#f97316;color:#fff;border-color:#f97316;
}

/* ============================================================
   4. CAR / BUS PACKAGE TOGGLE + WARNING
============================================================ */
.bb-tcar-pkgtoggle{
  display:inline-flex;background:#fff;border:2px solid #e2e8f0;border-radius:99px;
  padding:4px;gap:2px;margin-bottom:10px;
}
.bb-tcar-pkgtoggle-btn{
  background:transparent;color:#475569;border:none;border-radius:99px;
  padding:8px 18px;font-size:13px;font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;gap:7px;transition:all .15s;
}
.bb-tcar-pkgtoggle-btn:hover{color:#0f172a;}
.bb-tcar-pkgtoggle-btn.is-active{
  background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;
  box-shadow:0 4px 12px rgba(249,115,22,.3);
}
.bb-tcar-pkgtoggle-btn i{font-size:13px;}

.bb-tcar-precheck{
  display:flex;align-items:center;gap:10px;
  background:#fef2f2;border:1px solid #fecaca;border-radius:10px;
  padding:9px 13px;
}
.bb-tcar-precheck i{color:#dc2626;font-size:14px;flex:0 0 auto;}
.bb-tcar-precheck span{font-size:12.5px;color:#7f1d1d;line-height:1.5;}
.bb-tcar-precheck strong{color:#7f1d1d;}

/* ============================================================
   5. VEHICLE CARDS
============================================================ */
.bb-tcar-vehicles{display:flex;flex-direction:column;gap:10px;}

.bb-tcar-veh{
  position:relative;
  display:grid;
  grid-template-columns:50px minmax(180px, 1.5fr) minmax(110px, 1fr) minmax(150px, 1.2fr) minmax(160px, 1fr);
  align-items:stretch;gap:0;
  background:#fff;border:2px solid #e2e8f0;border-radius:14px;
  overflow:hidden;transition:all .18s;
}
.bb-tcar-veh:hover{border-color:#fdba74;
  box-shadow:0 8px 22px rgba(249,115,22,.10);transform:translateY(-1px);}

.bb-tcar-veh-num{
  background:linear-gradient(180deg,#10b981 0%,#059669 100%);color:#fff;
  font-size:18px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}

/* Meta column */
.bb-tcar-veh-meta{
  padding:11px 12px;display:flex;flex-direction:column;gap:6px;
  border-right:1px dashed #e2e8f0;justify-content:center;
}
.bb-tcar-veh-op{display:flex;align-items:center;gap:8px;}
.bb-tcar-veh-op-ico{
  width:30px;height:30px;border-radius:8px;background:#fff7ed;color:#f97316;
  display:flex;align-items:center;justify-content:center;font-size:13px;flex:0 0 auto;
}
.bb-tcar-veh-op strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-tcar-veh-op small{font-size:11px;color:#64748b;display:block;}
.bb-tcar-veh-type{display:flex;flex-direction:column;gap:3px;}
.bb-tcar-veh-typename{
  font-size:13px;font-weight:700;color:#0d9488;
}
.bb-tcar-veh-typename small{font-size:11px;font-weight:600;color:#0d9488;margin-left:3px;}
.bb-tcar-veh-pcar{
  display:inline-flex;align-items:center;gap:4px;align-self:flex-start;
  background:#f1f5f9;color:#475569;font-size:10.5px;font-weight:700;
  padding:2px 8px;border-radius:99px;letter-spacing:.3px;text-transform:uppercase;
}
.bb-tcar-veh-pcar i{font-size:9px;}
.bb-tcar-veh-pop{
  position:absolute;top:-1px;left:54px;
  background:linear-gradient(135deg,#eab308,#ca8a04);color:#fff;
  font-size:9.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  padding:3px 9px;border-radius:0 0 8px 8px;display:inline-flex;align-items:center;gap:4px;
}
.bb-tcar-veh-pop i{font-size:9px;}

/* Time column */
.bb-tcar-veh-time{
  padding:11px 10px;display:flex;flex-direction:column;gap:5px;
  border-right:1px dashed #e2e8f0;justify-content:center;
}
.bb-tcar-veh-time-row{
  display:flex;align-items:center;gap:6px;font-size:12.5px;
}
.bb-tcar-veh-time-row strong{font-size:13.5px;font-weight:800;color:#0f172a;}
.bb-tcar-veh-time-row small{
  font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;
  margin-left:auto;
}
.bb-tcar-veh-dot{
  width:9px;height:9px;border-radius:50%;flex:0 0 auto;
  border:2px solid #fff;box-shadow:0 0 0 1px currentColor;
}
.bb-tcar-veh-dot--start{color:#0d9488;background:#0d9488;}
.bb-tcar-veh-dot--end{color:#e11d48;background:#e11d48;}
.bb-tcar-veh-time-dur{
  font-size:11px;color:#64748b;
  padding:2px 8px;background:#f1f5f9;border-radius:6px;
  align-self:flex-start;margin-left:14px;
}
.bb-tcar-veh-time-dur i{margin-right:3px;}

/* Info buttons column */
.bb-tcar-veh-info{
  padding:11px 10px;display:flex;flex-direction:column;gap:5px;
  border-right:1px dashed #e2e8f0;justify-content:center;
}
.bb-tcar-veh-infobtn{
  display:flex;align-items:center;gap:6px;justify-content:center;
  background:#eff6ff;color:#1e40af;border:1px solid #dbeafe;border-radius:8px;
  padding:5px 10px;font-size:11.5px;font-weight:600;cursor:pointer;
  transition:all .15s;
}
.bb-tcar-veh-infobtn:hover{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a;}
.bb-tcar-veh-infobtn i{font-size:11px;}

/* Fare column */
.bb-tcar-veh-fare{
  padding:11px 12px;display:flex;flex-direction:column;gap:4px;
  align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(180deg,#fff7ed 0%,#fffbeb 100%);
}
.bb-tcar-veh-fare-label{
  font-size:10px;font-weight:700;color:#7c2d12;text-transform:uppercase;
  letter-spacing:.6px;
}
.bb-tcar-veh-fare-prices{
  display:flex;align-items:baseline;gap:6px;
}
.bb-tcar-veh-mrp{
  font-size:11.5px;color:#94a3b8;text-decoration:line-through;
}
.bb-tcar-veh-amt{
  font-size:20px;font-weight:800;color:#f97316;letter-spacing:-.5px;
}
.bb-tcar-veh-book{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;
  border:none;border-radius:99px;padding:7px 16px;
  font-size:12.5px;font-weight:800;cursor:pointer;
  box-shadow:0 4px 12px rgba(16,185,129,.3);
  transition:all .15s;margin-top:2px;
}
.bb-tcar-veh-book:hover{transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(16,185,129,.45);}
.bb-tcar-veh-book i{font-size:11px;}
.bb-tcar-veh-cancel{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10.5px;color:#dc2626;font-weight:600;margin-top:2px;
}

/* ============================================================
   6. BOTTOM TABS
============================================================ */
.bb-tcar-tabs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
  background:#f8fafc;padding:5px;border-radius:12px;margin-bottom:12px;
}
.bb-tcar-tab{
  display:flex;align-items:center;gap:8px;justify-content:flex-start;
  background:transparent;border:none;border-radius:8px;
  padding:8px 11px;font-size:12.5px;font-weight:700;color:#475569;
  cursor:pointer;transition:all .15s;text-align:left;
}
.bb-tcar-tab:hover{background:#fff;color:#0f172a;}
.bb-tcar-tab.is-active{
  background:#fff;color:#0f172a;box-shadow:0 2px 8px rgba(15,23,42,.08);
}
.bb-tcar-tab-ico{
  width:30px;height:30px;border-radius:50%;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;
}
.bb-tcar-tab-ico[data-color="rose"]{background:#e11d48;}
.bb-tcar-tab-ico[data-color="violet"]{background:#7c3aed;}
.bb-tcar-tab-ico[data-color="teal"]{background:#0d9488;}
.bb-tcar-tab-ico[data-color="amber"]{background:#eab308;}

.bb-tcar-tabpanel{display:none;animation:bbTcarFadeIn .2s;}
.bb-tcar-tabpanel.is-active{display:block;}
@keyframes bbTcarFadeIn{from{opacity:0;}to{opacity:1;}}

/* Boarding / Dropping point row */
.bb-tcar-point{
  display:flex;align-items:flex-start;gap:14px;
  background:#fff;border:1px solid #e2e8f0;border-radius:10px;
  padding:11px 14px;
}
.bb-tcar-point-time{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:3px;
  background:#fff7ed;color:#c2410c;
  padding:7px 11px;border-radius:8px;font-size:13px;font-weight:800;
  border:1px dashed #fed7aa;min-width:90px;
}
.bb-tcar-point-time i{font-size:11px;color:#f97316;}
.bb-tcar-point-body{flex:1;}
.bb-tcar-point-body strong{
  display:block;font-size:13.5px;font-weight:700;color:#0f172a;line-height:1.4;
}
.bb-tcar-point-body strong small{
  font-size:11.5px;font-weight:500;color:#64748b;display:inline;
}
.bb-tcar-point-note{
  font-size:12px;color:#475569;margin-top:4px;display:block;line-height:1.5;
}
.bb-tcar-point-note i{color:#0d9488;font-size:11px;margin-right:4px;}

/* Cancellation policy bars */
.bb-tcar-cancel-grid{display:flex;flex-direction:column;gap:8px;}
.bb-tcar-cancel-row{
  display:grid;grid-template-columns:200px 80px 1fr;align-items:center;gap:14px;
  background:#fff;border:1px solid #e2e8f0;border-radius:10px;
  padding:10px 14px;
}
.bb-tcar-cancel-time{display:flex;flex-direction:column;gap:1px;}
.bb-tcar-cancel-time i{color:#f97316;font-size:12px;}
.bb-tcar-cancel-time strong{font-size:13.5px;font-weight:800;color:#0f172a;margin-top:3px;}
.bb-tcar-cancel-time small{font-size:11px;color:#64748b;}
.bb-tcar-cancel-amt{
  font-size:22px;font-weight:800;text-align:center;
  padding:6px 10px;border-radius:10px;
}
.bb-tcar-cancel-amt--high{background:#fee2e2;color:#b91c1c;}
.bb-tcar-cancel-amt--mid{background:#fef3c7;color:#a16207;}
.bb-tcar-cancel-amt--low{background:#ecfdf5;color:#047857;}
.bb-tcar-cancel-bar{
  height:8px;background:#f1f5f9;border-radius:99px;overflow:hidden;
}
.bb-tcar-cancel-bar span{
  display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444);
}
.bb-tcar-cancel-foot{
  margin:10px 0 0;font-size:12px;color:#64748b;line-height:1.5;
}
.bb-tcar-cancel-foot i{color:#f97316;margin-right:4px;}

/* Terms list */
.bb-tcar-terms{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
}
.bb-tcar-terms li{
  display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:#334155;
  background:#fff;border:1px solid #e2e8f0;border-radius:9px;
  padding:8px 12px;line-height:1.5;
}
.bb-tcar-terms li i{color:#10b981;margin-top:3px;flex:0 0 auto;font-size:13px;}
.bb-tcar-terms li i.bb-tcar-terms-x{color:#dc2626;}

/* ============================================================
   BOOK NOW MODAL
============================================================ */
.bb-tcar-modal{
  position:fixed;inset:0;z-index:1080;
  display:none;align-items:center;justify-content:center;padding:20px;
}
.bb-tcar-modal[aria-hidden="false"],
.bb-tcar-modal.is-open{display:flex;}
.bb-tcar-modal-backdrop{
  position:absolute;inset:0;background:rgba(15,23,42,.55);
  backdrop-filter:blur(2px);animation:bbTcarFadeIn .2s;
}
.bb-tcar-modal-card{
  position:relative;background:#fff;border-radius:18px;overflow:hidden;
  width:100%;max-width:580px;max-height:92vh;display:flex;flex-direction:column;
  box-shadow:0 20px 60px rgba(15,23,42,.3);
  animation:bbTcarModalIn .25s ease;
}
@keyframes bbTcarModalIn{
  from{opacity:0;transform:translateY(20px) scale(.96);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

.bb-tcar-modal-close{
  position:absolute;top:11px;right:11px;width:32px;height:32px;
  background:rgba(255,255,255,.2);color:#fff;border:none;border-radius:50%;
  cursor:pointer;font-size:13px;z-index:2;transition:background .15s;
}
.bb-tcar-modal-close:hover{background:rgba(255,255,255,.35);}

.bb-tcar-modal-head{
  background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);
  color:#fff;padding:18px 20px;text-align:center;
}
.bb-tcar-modal-op{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:700;color:rgba(255,255,255,.92);
}
.bb-tcar-modal-veh{
  display:block;font-size:17px;font-weight:800;color:#fff;margin-top:3px;
}
.bb-tcar-modal-date{
  display:block;font-size:13px;font-weight:700;
  color:rgba(255,255,255,.95);margin-top:3px;
}
.bb-tcar-modal-pkg{
  display:block;font-size:11.5px;color:rgba(255,255,255,.85);
  margin-top:5px;line-height:1.5;
}

.bb-tcar-modal-body{padding:16px 20px;overflow-y:auto;}
.bb-tcar-modal-title{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin:0 0 12px;font-size:15px;font-weight:800;color:#0f172a;
  text-align:center;padding-bottom:8px;
  border-bottom:2px solid #f97316;width:fit-content;margin-left:auto;margin-right:auto;
}
.bb-tcar-modal-title i{color:#0d9488;font-size:13px;cursor:help;}

.bb-tcar-modal-rules{
  list-style:none;padding:0;margin:0 0 14px;
  display:flex;flex-direction:column;gap:6px;
}
.bb-tcar-modal-rules li{
  display:flex;align-items:flex-start;gap:8px;
  font-size:12.5px;color:#7f1d1d;background:#fef2f2;
  border:1px solid #fecaca;border-radius:8px;padding:7px 10px;line-height:1.5;
}
.bb-tcar-modal-rules strong{color:#7f1d1d;}
.bb-tcar-rulenum{
  flex:0 0 auto;width:20px;height:20px;border-radius:50%;
  background:#dc2626;color:#fff;font-size:11px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;
}

.bb-tcar-modal-pax{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;
}
.bb-tcar-modal-pax-field label{
  display:flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;color:#334155;margin-bottom:5px;
  text-transform:uppercase;letter-spacing:.4px;
}
.bb-tcar-modal-pax-field label em{
  font-style:normal;color:#dc2626;font-weight:700;
}
.bb-tcar-modal-pax-ico{
  width:24px;height:24px;border-radius:6px;background:#fff7ed;color:#f97316;
  display:inline-flex;align-items:center;justify-content:center;font-size:11px;
}
.bb-tcar-modal-pax-field select{
  width:100%;border:2px solid #e2e8f0;border-radius:10px;
  padding:9px 28px 9px 12px;font-size:13.5px;font-weight:600;color:#0f172a;
  background:#fff;appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23f97316'><path d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center;background-size:10px 7px;
  transition:all .15s;
}
.bb-tcar-modal-pax-field select:focus{
  border-color:#f97316;outline:none;
  box-shadow:0 0 0 4px rgba(249,115,22,.15);
}

.bb-tcar-modal-childnote{
  background:#fffbeb;border:1px dashed #fcd34d;border-radius:8px;
  padding:9px 12px;
}
.bb-tcar-modal-childnote p{
  margin:0 0 5px;font-size:12px;font-weight:700;color:#78350f;
  display:flex;align-items:center;gap:6px;
}
.bb-tcar-modal-childnote i{color:#d97706;}
.bb-tcar-modal-childnote ul{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:#78350f;
}
.bb-tcar-modal-childnote ul li{display:flex;align-items:center;gap:6px;}
.bb-tcar-modal-childnote ul li i{font-size:5px;color:#d97706;}

.bb-tcar-modal-foot{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 20px;background:#fafafa;border-top:1px solid #e2e8f0;
}
.bb-tcar-modal-summary{display:flex;gap:18px;}
.bb-tcar-modal-summary small{
  display:block;font-size:10px;font-weight:700;color:#64748b;
  text-transform:uppercase;letter-spacing:.5px;
}
.bb-tcar-modal-summary strong{font-size:15px;font-weight:800;color:#0f172a;}
.bb-tcar-modal-summary div:last-child strong{color:#f97316;}

.bb-tcar-modal-next{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;
  border:none;border-radius:99px;padding:11px 22px;
  font-size:13.5px;font-weight:800;cursor:pointer;
  box-shadow:0 6px 18px rgba(16,185,129,.35);transition:all .18s;
}
.bb-tcar-modal-next:hover{transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(16,185,129,.5);}
.bb-tcar-modal-next i:last-child{margin-left:3px;}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:1100px){
  .bb-tcar-veh{
    grid-template-columns:44px minmax(150px, 1.4fr) minmax(100px, 1fr) minmax(140px, 1fr) minmax(150px, 1fr);
  }
  .bb-tcar-veh-amt{font-size:18px;}
}

@media (max-width:991px){
  .bb-tcar-veh{
    grid-template-columns:42px 1fr 1fr;
    grid-template-areas:
      "num meta meta"
      "num time info"
      "num fare fare";
  }
  .bb-tcar-veh-num{grid-area:num;}
  .bb-tcar-veh-meta{grid-area:meta;border-bottom:1px dashed #e2e8f0;border-right:none;}
  .bb-tcar-veh-time{grid-area:time;border-bottom:1px dashed #e2e8f0;}
  .bb-tcar-veh-info{grid-area:info;border-bottom:1px dashed #e2e8f0;border-right:none;}
  .bb-tcar-veh-fare{grid-area:fare;
    flex-direction:row;justify-content:space-between;text-align:left;padding:11px 14px;}
  .bb-tcar-veh-fare-prices{order:1;}
  .bb-tcar-veh-book{order:2;margin:0;}
  .bb-tcar-veh-cancel{order:3;width:100%;justify-content:center;}
  .bb-tcar-veh-fare-label{display:none;}

  .bb-tcar-tabs{grid-template-columns:repeat(2,1fr);}
  .bb-tcar-terms{grid-template-columns:1fr;}
  .bb-tcar-cancel-row{grid-template-columns:1fr 80px;}
  .bb-tcar-cancel-bar{grid-column:1 / -1;}
}

@media (max-width:767px){
  .bb-tcar-card{margin:0 -8px 16px;border-radius:14px;}

  .bb-tcar-ribbon{padding:11px 14px;flex-wrap:wrap;gap:10px;}
  .bb-tcar-ribbon::after{display:none;}
  .bb-tcar-ribbon-body{flex:1 1 calc(100% - 50px);}
  .bb-tcar-ribbon-title{font-size:14px;}
  .bb-tcar-ribbon-date{
    width:100%;justify-content:space-between;padding:6px 10px;
  }

  .bb-tcar-availnote{padding:9px 14px;}
  .bb-tcar-availnote p{font-size:12px;}

  .bb-tcar-section{padding:12px 14px;}
  .bb-tcar-h3{font-size:12.5px;}
  .bb-tcar-h3 i{width:22px;height:22px;font-size:11px;}

  /* Dates */
  .bb-tcar-datesbar-arrow{height:70px;width:30px;flex:0 0 30px;font-size:11px;}
  .bb-tcar-datecard{flex:0 0 96px;padding:7px 4px 5px;}
  .bb-tcar-datecard strong{font-size:18px;}
  .bb-tcar-datecard-day{font-size:9.5px;}
  .bb-tcar-datecard-mon{font-size:9px;}
  .bb-tcar-datecard-tag{font-size:8.5px;padding:2px 6px;}

  /* Pkg toggle */
  .bb-tcar-pkgtoggle{width:100%;}
  .bb-tcar-pkgtoggle-btn{flex:1;justify-content:center;padding:8px 12px;font-size:12.5px;}
  .bb-tcar-precheck{padding:9px 11px;}
  .bb-tcar-precheck span{font-size:11.5px;}

  /* Vehicle cards — single column */
  .bb-tcar-veh{
    grid-template-columns:42px 1fr;
    grid-template-areas:
      "num meta"
      "num time"
      "info info"
      "fare fare";
  }
  .bb-tcar-veh-num{padding:8px 0;font-size:15px;}
  .bb-tcar-veh-meta{padding:10px 11px;gap:5px;}
  .bb-tcar-veh-op strong{font-size:13px;}
  .bb-tcar-veh-typename{font-size:12.5px;}
  .bb-tcar-veh-time{padding:8px 11px;flex-direction:row;
    flex-wrap:wrap;gap:8px;border-right:none;}
  .bb-tcar-veh-time-row{font-size:12px;flex:1 1 auto;}
  .bb-tcar-veh-time-dur{margin:0;font-size:10.5px;}
  .bb-tcar-veh-info{
    padding:9px 11px;flex-direction:row;flex-wrap:wrap;gap:5px;border-right:none;
  }
  .bb-tcar-veh-infobtn{flex:1;font-size:11px;padding:5px 7px;}
  .bb-tcar-veh-fare{padding:10px 12px;flex-wrap:wrap;gap:8px;}
  .bb-tcar-veh-mrp{font-size:11px;}
  .bb-tcar-veh-amt{font-size:17px;}
  .bb-tcar-veh-book{padding:7px 14px;font-size:12px;}

  /* Tabs */
  .bb-tcar-tabs{grid-template-columns:1fr 1fr;gap:4px;}
  .bb-tcar-tab{padding:7px 9px;font-size:11.5px;gap:6px;}
  .bb-tcar-tab-ico{width:26px;height:26px;font-size:10.5px;}
  .bb-tcar-point{padding:10px 11px;gap:10px;flex-direction:column;}
  .bb-tcar-point-time{min-width:0;width:auto;align-self:flex-start;}

  .bb-tcar-cancel-row{grid-template-columns:1fr;gap:6px;}
  .bb-tcar-cancel-amt{font-size:18px;align-self:flex-start;}

  /* Modal */
  .bb-tcar-modal{padding:14px;}
  .bb-tcar-modal-card{max-height:94vh;}
  .bb-tcar-modal-head{padding:14px 16px;}
  .bb-tcar-modal-veh{font-size:15px;}
  .bb-tcar-modal-body{padding:14px 16px;}
  .bb-tcar-modal-pax{grid-template-columns:1fr;gap:8px;}
  .bb-tcar-modal-foot{
    padding:12px 16px;flex-direction:column;align-items:stretch;gap:10px;
  }
  .bb-tcar-modal-summary{justify-content:space-between;}
  .bb-tcar-modal-next{justify-content:center;width:100%;}
}

@media (max-width:480px){
  .bb-tcar-veh-pop{font-size:8.5px;padding:2px 7px;}
  .bb-tcar-veh-infobtn{flex:1 1 calc(50% - 3px);}
  .bb-tcar-tab span:not(.bb-tcar-tab-ico){font-size:10.5px;}
}

/* ============================================================
   TOUR BOOKING — ENTRY (Ramoji Film City) v3
   Theme: Orange #f97316 · Teal #0d9488 · Amber #eab308 · Rose #e11d48
   Full-width single column + sticky bottom bar + 2 modals
============================================================ */

/* ---- Outer card shell ---- */
.bb-tent-card{
  background:#fff;border:1px solid #e2e8f0;border-radius:18px;
  margin:0 auto 24px;max-width:1180px;overflow:hidden;
  box-shadow:0 4px 20px rgba(15,23,42,.06);
  padding-bottom:80px; /* leave room for sticky bottom bar on mobile */
}

/* ============================================================
   1. RIBBON
============================================================ */
.bb-tent-ribbon{
  display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 60%,#c2410c 100%);
  color:#fff;padding:14px 18px;position:relative;overflow:hidden;
}
.bb-tent-ribbon::after{
  content:"";position:absolute;top:-30px;right:80px;
  width:140px;height:140px;background:rgba(255,255,255,.07);
  border-radius:50%;pointer-events:none;
}
.bb-tent-ribbon-back{
  flex:0 0 auto;width:36px;height:36px;border-radius:10px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  color:#fff;display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:background .15s;
}
.bb-tent-ribbon-back:hover{background:rgba(255,255,255,.28);}
.bb-tent-ribbon-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.bb-tent-ribbon-label{
  font-size:10.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:rgba(255,255,255,.85);
}
.bb-tent-ribbon-title{
  font-size:16px;font-weight:800;color:#fff;line-height:1.3;
  display:flex;align-items:center;gap:6px;
}
.bb-tent-ribbon-date{
  display:flex;align-items:center;gap:10px;
  background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.25);
  border-radius:10px;padding:7px 12px;
}
.bb-tent-ribbon-date i{color:rgba(255,255,255,.85);}
.bb-tent-ribbon-date small{
  display:block;font-size:10px;color:rgba(255,255,255,.75);
  letter-spacing:.5px;text-transform:uppercase;
}
.bb-tent-ribbon-date strong{font-size:13px;color:#fff;font-weight:700;}
.bb-tent-ribbon-date-edit{
  background:rgba(255,255,255,.18);color:#fff;border:none;border-radius:7px;
  width:26px;height:26px;cursor:pointer;font-size:11px;transition:background .15s;
}
.bb-tent-ribbon-date-edit:hover{background:rgba(255,255,255,.32);}

/* ============================================================
   2. INTRO note
============================================================ */
.bb-tent-intro{
  display:flex;align-items:flex-start;gap:12px;
  background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 100%);
  border-bottom:1px dashed #fed7aa;padding:11px 18px;
}
.bb-tent-intro i{color:#f97316;font-size:18px;margin-top:2px;flex:0 0 auto;}
.bb-tent-intro p{margin:0;font-size:13px;color:#7c2d12;line-height:1.55;}
.bb-tent-intro strong{color:#7c2d12;}
.bb-tent-intro em{font-style:normal;font-weight:700;color:#c2410c;}

/* ============================================================
   Section wrappers
============================================================ */
.bb-tent-section{padding:16px 18px;}
.bb-tent-h3{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  font-size:13.5px;font-weight:800;color:#0f172a;margin:0 0 14px;
  text-transform:uppercase;letter-spacing:.4px;
}
.bb-tent-h3 small{
  font-size:11.5px;font-weight:600;color:#64748b;
  text-transform:none;letter-spacing:0;margin-left:auto;
}
.bb-tent-h3 i{
  color:#f97316;font-size:13px;width:24px;height:24px;border-radius:7px;
  background:#fff7ed;display:inline-flex;align-items:center;justify-content:center;
}

/* ============================================================
   3. PACKAGE CARDS
============================================================ */
.bb-tent-pkgs{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;
}
.bb-tent-pkg{
  background:#fff;border:2px solid #e2e8f0;border-radius:16px;
  overflow:hidden;display:flex;flex-direction:column;
  transition:all .2s;position:relative;
}
.bb-tent-pkg:hover{
  border-color:#fdba74;transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(249,115,22,.15);
}

/* ----- Banner (movie poster style) ----- */
.bb-tent-pkg-banner{
  position:relative;height:200px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.bb-tent-pkg-banner--studio{
  background:linear-gradient(180deg,#5b21b6 0%,#7c3aed 60%,#6d28d9 100%);
}
.bb-tent-pkg-banner--star{
  background:linear-gradient(180deg,#eab308 0%,#facc15 60%,#fbbf24 100%);
}

.bb-tent-pkg-banner-flags{
  position:absolute;top:8px;left:0;right:0;
  display:flex;justify-content:space-around;
  padding:0 16px;font-size:11px;pointer-events:none;
}
.bb-tent-pkg-banner-flags i:nth-child(1){color:#ef4444;transform:rotate(-15deg);}
.bb-tent-pkg-banner-flags i:nth-child(2){color:#3b82f6;transform:rotate(8deg);}
.bb-tent-pkg-banner-flags i:nth-child(3){color:#10b981;transform:rotate(-12deg);}
.bb-tent-pkg-banner-flags i:nth-child(4){color:#f59e0b;transform:rotate(10deg);}
.bb-tent-pkg-banner-flags i:nth-child(5){color:#ec4899;transform:rotate(-8deg);}

.bb-tent-pkg-banner-mask{
  position:absolute;top:18px;left:50%;transform:translateX(-50%);
  font-size:28px;color:#3b82f6;
}

.bb-tent-pkg-banner-collage{
  display:flex;align-items:center;gap:-6px;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.25));
}
.bb-tent-pkg-banner-collage img{
  width:80px;height:80px;object-fit:cover;border:3px solid #fff;
  border-radius:4px;background:#fff;padding:4px 4px 18px;
  display:block;box-shadow:0 4px 10px rgba(0,0,0,.18);
}
.bb-tent-pkg-banner-collage img:nth-child(1){transform:rotate(-8deg) translateX(8px);}
.bb-tent-pkg-banner-collage img:nth-child(2){
  z-index:2;width:96px;height:96px;
  transform:translateY(-4px);position:relative;
}
.bb-tent-pkg-banner-collage img:nth-child(3){transform:rotate(8deg) translateX(-8px);}
.bb-tent-pkg-banner-img--mid{}

.bb-tent-pkg-banner-deco{
  position:absolute;bottom:10px;left:0;right:0;
  display:flex;justify-content:space-around;
  padding:0 30px;font-size:14px;color:rgba(255,255,255,.7);
  pointer-events:none;
}

/* ----- Title ----- */
.bb-tent-pkg-title{
  margin:14px 16px 0;font-size:15px;font-weight:800;color:#0f172a;
  letter-spacing:.5px;text-align:center;line-height:1.35;
}

/* ----- Timings + Availability meta ----- */
.bb-tent-pkg-meta{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  padding:12px 16px;margin-top:10px;
  border-top:1px dashed #e2e8f0;border-bottom:1px dashed #e2e8f0;
}
.bb-tent-pkg-meta-cell{
  display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;
  position:relative;
}
.bb-tent-pkg-meta-cell:first-child::after{
  content:"";position:absolute;right:-6px;top:10%;bottom:10%;
  border-right:1px dashed #cbd5e1;
}
.bb-tent-pkg-meta-label{
  display:flex;align-items:center;gap:5px;
  font-size:11px;font-weight:700;color:#0f172a;
}
.bb-tent-pkg-meta-label i{color:#f97316;font-size:11px;}
.bb-tent-pkg-meta-cell strong{
  font-size:12.5px;font-weight:700;color:#475569;line-height:1.4;
}
.bb-tent-pkg-meta-cell strong small{
  display:block;font-size:10px;font-weight:500;color:#94a3b8;margin:1px 0;
}

/* ----- Facilities ----- */
.bb-tent-pkg-facils{
  padding:10px 16px;border-bottom:1px dashed #e2e8f0;
}
.bb-tent-pkg-facils h4{
  margin:0 0 7px;font-size:12px;font-weight:800;color:#0f172a;
  text-transform:uppercase;letter-spacing:.5px;text-align:center;
  position:relative;
}
.bb-tent-pkg-facils h4::before,
.bb-tent-pkg-facils h4::after{
  content:"";position:absolute;top:50%;width:20%;border-top:1.5px solid #e2e8f0;
}
.bb-tent-pkg-facils h4::before{left:18%;}
.bb-tent-pkg-facils h4::after{right:18%;}
.bb-tent-pkg-facils ul{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:4px;font-size:12px;color:#475569;
}
.bb-tent-pkg-facils li{display:flex;align-items:flex-start;gap:6px;line-height:1.45;}
.bb-tent-pkg-facils li i{color:#10b981;margin-top:3px;font-size:11px;flex:0 0 auto;}

/* ----- Prices ----- */
.bb-tent-pkg-prices{
  display:flex;flex-direction:column;gap:6px;padding:11px 16px;
}
.bb-tent-pkg-price-cell{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.bb-tent-pkg-price-label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13.5px;font-weight:700;color:#0f172a;
}
.bb-tent-pkg-price-label i{color:#0d9488;font-size:13px;}
.bb-tent-pkg-price-label--child i{color:#e11d48;}
.bb-tent-pkg-price-cell strong{
  font-size:18px;font-weight:800;color:#16a34a;
  display:inline-flex;align-items:center;gap:3px;
}
.bb-tent-pkg-price-cell strong span{font-size:14px;}
.bb-tent-pkg-price-cell strong em{
  font-size:10px;font-weight:600;font-style:normal;color:#dc2626;
  margin-left:2px;
}

/* ----- Child rule note ----- */
.bb-tent-pkg-childrule{
  display:flex;align-items:flex-start;gap:8px;
  background:#fef2f2;border:1px solid #fecaca;border-radius:8px;
  padding:8px 11px;margin:0 16px 12px;
}
.bb-tent-pkg-childrule i{color:#dc2626;font-size:13px;margin-top:2px;flex:0 0 auto;}
.bb-tent-pkg-childrule div{font-size:11.5px;color:#7f1d1d;line-height:1.5;}
.bb-tent-pkg-childrule strong{color:#7f1d1d;}

/* ----- Action buttons ----- */
.bb-tent-pkg-actions{
  display:flex;align-items:center;gap:8px;
  padding:12px 16px 14px;border-top:1px dashed #e2e8f0;margin-top:auto;
}
.bb-tent-pkg-incl{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;
  background:#fff;color:#475569;border:1.5px dashed #cbd5e1;border-radius:99px;
  padding:8px 14px;font-size:12.5px;font-weight:700;cursor:pointer;
  transition:all .15s;
}
.bb-tent-pkg-incl:hover{
  background:#f8fafc;border-color:#94a3b8;color:#0f172a;border-style:solid;
}
.bb-tent-pkg-incl i{font-size:10px;}
.bb-tent-pkg-select{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  background:linear-gradient(135deg,#0d9488 0%,#0f766e 100%);
  color:#fff;border:none;border-radius:99px;
  padding:9px 16px;font-size:13px;font-weight:800;cursor:pointer;
  box-shadow:0 4px 14px rgba(13,148,136,.3);
  transition:all .18s;
}
.bb-tent-pkg-select:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(13,148,136,.45);
}
.bb-tent-pkg-select i{font-size:11px;}

/* ============================================================
   STICKY BOTTOM BAR
============================================================ */
.bb-tent-stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:linear-gradient(180deg,#1e3a8a 0%,#1e40af 100%);
  color:#fff;box-shadow:0 -6px 24px rgba(15,23,42,.18);
  border-top:1px solid rgba(255,255,255,.08);
}
.bb-tent-stickybar-inner{
  max-width:1180px;margin:0 auto;padding:11px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.bb-tent-stickybar-info{
  flex:1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.bb-tent-stickybar-bus{
  display:flex;align-items:center;gap:10px;
}
.bb-tent-stickybar-bus i{
  width:32px;height:32px;border-radius:8px;
  background:rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;font-size:14px;
}
.bb-tent-stickybar-bus small{
  display:block;font-size:10px;color:rgba(255,255,255,.7);
  letter-spacing:.5px;text-transform:uppercase;
}
.bb-tent-stickybar-bus strong{font-size:13px;color:#fff;font-weight:700;}

.bb-tent-stickybar-hint{
  font-size:12px;color:rgba(255,255,255,.85);line-height:1.4;
  border-left:1px solid rgba(255,255,255,.18);padding-left:14px;
}
.bb-tent-stickybar-hint strong{color:#fff;}

.bb-tent-stickybar-total{
  display:flex;flex-direction:column;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);
  border-radius:10px;padding:6px 14px;
}
.bb-tent-stickybar-total small{
  font-size:10px;color:rgba(255,255,255,.75);letter-spacing:.5px;text-transform:uppercase;
}
.bb-tent-stickybar-total strong{font-size:16px;color:#fbbf24;font-weight:800;}

.bb-tent-stickybar-btn{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,#10b981 0%,#059669 100%);
  color:#fff;border:none;border-radius:99px;
  padding:11px 22px;font-size:13.5px;font-weight:800;cursor:pointer;
  box-shadow:0 6px 18px rgba(16,185,129,.4);transition:all .18s;
}
.bb-tent-stickybar-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(16,185,129,.55);
}

/* ============================================================
   MODAL SHARED
============================================================ */
.bb-tent-modal{
  position:fixed;inset:0;z-index:1080;
  display:none;align-items:center;justify-content:center;padding:20px;
}
.bb-tent-modal[aria-hidden="false"],
.bb-tent-modal.is-open{display:flex;}
.bb-tent-modal-backdrop{
  position:absolute;inset:0;background:rgba(15,23,42,.55);
  backdrop-filter:blur(2px);animation:bbTentFadeIn .2s;
}
@keyframes bbTentFadeIn{from{opacity:0;}to{opacity:1;}}
.bb-tent-modal-card{
  position:relative;background:#fff;border-radius:18px;overflow:hidden;
  width:100%;max-width:580px;max-height:92vh;display:flex;flex-direction:column;
  box-shadow:0 20px 60px rgba(15,23,42,.3);
  animation:bbTentModalIn .25s ease;
}
.bb-tent-modal-card--wide{max-width:760px;}
@keyframes bbTentModalIn{
  from{opacity:0;transform:translateY(20px) scale(.96);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
.bb-tent-modal-close{
  position:absolute;top:11px;right:11px;width:32px;height:32px;
  background:rgba(255,255,255,.2);color:#fff;border:none;border-radius:50%;
  cursor:pointer;font-size:13px;z-index:2;transition:background .15s;
}
.bb-tent-modal-close:hover{background:rgba(255,255,255,.35);}

.bb-tent-modal-head{
  background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);
  color:#fff;padding:16px 20px;text-align:center;
}
.bb-tent-modal-head--light{
  background:#1e40af;
}
.bb-tent-modal-head--light .bb-tent-modal-close{color:#fff;}

.bb-tent-modal-veh{
  display:block;font-size:16px;font-weight:800;color:#fff;letter-spacing:.5px;
}
.bb-tent-modal-date{
  display:block;font-size:13px;font-weight:700;
  color:rgba(255,255,255,.95);margin-top:3px;
}
.bb-tent-modal-title{font-size:16px;font-weight:800;color:#fff;}

.bb-tent-modal-body{padding:16px 20px;overflow-y:auto;}

/* ============================================================
   MODAL 1: PACKAGE FULL DETAILS — tabs + panes
============================================================ */
.bb-tent-modal-tabs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  background:#fff;border-bottom:1px solid #e2e8f0;
}
.bb-tent-modal-tab{
  display:flex;align-items:center;justify-content:center;gap:7px;
  background:#fff;color:#475569;border:none;
  padding:13px 12px;font-size:12.5px;font-weight:700;cursor:pointer;
  border-bottom:3px solid transparent;transition:all .15s;
}
.bb-tent-modal-tab:hover{color:#0f172a;background:#f8fafc;}
.bb-tent-modal-tab.is-active{color:#1e40af;border-bottom-color:#1e40af;}
.bb-tent-modal-tab i{font-size:11px;}

.bb-tent-modal-pane{display:none;animation:bbTentFadeIn .2s;}
.bb-tent-modal-pane.is-active{display:block;}
.bb-tent-pane-title{
  text-align:center;font-size:18px;font-weight:800;color:#1e40af;
  margin:0 0 14px;padding-bottom:8px;
  border-bottom:2px solid #1e40af;width:fit-content;
  margin-left:auto;margin-right:auto;
}

/* Inclusions list */
.bb-tent-incl-list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:7px;
}
.bb-tent-incl-list li{
  display:flex;align-items:flex-start;gap:8px;
  font-size:13px;color:#475569;line-height:1.55;
  padding:7px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;
}
.bb-tent-incl-list li i{color:#0d9488;margin-top:3px;flex:0 0 auto;font-size:11px;}
.bb-tent-incl-list li.bb-tent-incl-hl{
  background:#ecfdf5;border-color:#6ee7b7;color:#065f46;
}
.bb-tent-incl-list li.bb-tent-incl-hl i{color:#059669;}
.bb-tent-incl-list strong{color:#0f172a;}
.bb-tent-incl-list .bb-tent-incl-hl strong{color:#064e3b;}

/* Exclusions list */
.bb-tent-excl-list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:7px;
}
.bb-tent-excl-list li{
  display:flex;align-items:flex-start;gap:8px;
  font-size:13px;color:#7f1d1d;line-height:1.5;
  padding:8px 11px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;
}
.bb-tent-excl-list i{color:#dc2626;margin-top:3px;flex:0 0 auto;font-size:11px;}

/* Terms list */
.bb-tent-terms-list{
  padding:0 0 0 22px;margin:0;
  display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155;line-height:1.55;
}
.bb-tent-terms-list li{padding-left:5px;}
.bb-tent-terms-list li::marker{color:#f97316;font-weight:700;}

/* Cancellation box */
.bb-tent-cancel-box{
  background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);
  border:2px solid #fecaca;border-radius:14px;
  padding:24px 20px;text-align:center;
}
.bb-tent-cancel-box i{font-size:36px;color:#dc2626;margin-bottom:10px;display:block;}
.bb-tent-cancel-box strong{
  display:block;font-size:16px;font-weight:800;color:#7f1d1d;margin-bottom:8px;
}
.bb-tent-cancel-box p{
  margin:0;font-size:13px;color:#7f1d1d;line-height:1.55;
}

/* ============================================================
   MODAL 2: SELECT PACKAGE — passenger count
============================================================ */
.bb-tent-modal-paxtitle{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin:0 0 14px;font-size:15px;font-weight:800;color:#0f172a;
  padding-bottom:8px;border-bottom:2px solid #f97316;
  width:fit-content;margin-left:auto;margin-right:auto;
}
.bb-tent-modal-paxtitle i{color:#0d9488;font-size:13px;cursor:help;}

.bb-tent-modal-pax{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;
}
.bb-tent-modal-pax-field label{
  display:flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:700;color:#334155;margin-bottom:5px;
  text-transform:uppercase;letter-spacing:.4px;
}
.bb-tent-modal-pax-field label em{
  font-style:normal;color:#dc2626;font-weight:700;
}
.bb-tent-modal-pax-ico{
  width:24px;height:24px;border-radius:6px;background:#fff7ed;color:#f97316;
  display:inline-flex;align-items:center;justify-content:center;font-size:11px;
}
.bb-tent-modal-pax-field select{
  width:100%;border:2px solid #e2e8f0;border-radius:10px;
  padding:9px 28px 9px 12px;font-size:13.5px;font-weight:600;color:#0f172a;
  background:#fff;appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23f97316'><path d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center;background-size:10px 7px;
  transition:all .15s;
}
.bb-tent-modal-pax-field select:focus{
  border-color:#f97316;outline:none;
  box-shadow:0 0 0 4px rgba(249,115,22,.15);
}

/* Child rules */
.bb-tent-modal-childrules{
  background:#fef2f2;border:1px solid #fecaca;border-radius:10px;
  padding:11px 13px;
}
.bb-tent-modal-childrules-title{
  margin:0 0 7px;font-size:12.5px;font-weight:800;color:#7f1d1d;
  display:flex;align-items:center;gap:6px;
}
.bb-tent-modal-childrules-title i{color:#dc2626;}
.bb-tent-modal-childrules ul{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:5px;
}
.bb-tent-modal-childrules li{
  display:flex;align-items:center;gap:8px;
  font-size:12px;color:#7f1d1d;line-height:1.45;
}
.bb-tent-modal-childrules li > span:not(.bb-tent-rulenum),
.bb-tent-modal-childrules li > .bb-tent-rule-text{
  flex:1;
}
.bb-tent-modal-childrules strong{
  color:#7f1d1d;display:inline;white-space:nowrap;
}
.bb-tent-rulenum{
  flex:0 0 auto;width:20px;height:20px;border-radius:50%;
  background:#dc2626;color:#fff;font-size:11px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;
  align-self:flex-start;margin-top:1px;
}

/* MOBILE: compact child-rules card — fixes overlapping/awkward wrapping */
@media (max-width:767px){
  .bb-tent-modal-childrules{padding:8px 10px;border-radius:8px;}
  .bb-tent-modal-childrules-title{
    font-size:11.5px;margin-bottom:5px;
  }
  .bb-tent-modal-childrules-title i{font-size:11px;}
  .bb-tent-modal-childrules ul{gap:3px;}
  .bb-tent-modal-childrules li{
    font-size:11px;line-height:1.35;gap:6px;
  }
  .bb-tent-rulenum{
    width:16px;height:16px;font-size:9.5px;margin-top:0;
  }
}
@media (max-width:480px){
  .bb-tent-modal-childrules{padding:7px 9px;}
  .bb-tent-modal-childrules-title{font-size:11px;margin-bottom:4px;}
  .bb-tent-modal-childrules ul{gap:2px;}
  .bb-tent-modal-childrules li{font-size:10.5px;line-height:1.3;gap:5px;}
  .bb-tent-rulenum{width:15px;height:15px;font-size:9px;}
}

.bb-tent-modal-foot{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 20px;background:#fafafa;border-top:1px solid #e2e8f0;
}
.bb-tent-modal-summary small{
  display:block;font-size:10px;font-weight:700;color:#64748b;
  text-transform:uppercase;letter-spacing:.5px;
}
.bb-tent-modal-summary strong{font-size:18px;font-weight:800;color:#f97316;}

.bb-tent-modal-confirm{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;
  border:none;border-radius:99px;padding:11px 22px;
  font-size:13.5px;font-weight:800;cursor:pointer;
  box-shadow:0 6px 18px rgba(16,185,129,.35);transition:all .18s;
}
.bb-tent-modal-confirm:hover{transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(16,185,129,.5);}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:991px){
  .bb-tent-pkgs{grid-template-columns:1fr;}
}

@media (max-width:767px){
  .bb-tent-card{margin:0 -8px 16px;border-radius:14px;padding-bottom:90px;}

  .bb-tent-ribbon{padding:11px 14px;flex-wrap:wrap;gap:10px;}
  .bb-tent-ribbon::after{display:none;}
  .bb-tent-ribbon-body{flex:1 1 calc(100% - 50px);}
  .bb-tent-ribbon-title{font-size:14px;}
  .bb-tent-ribbon-date{width:100%;justify-content:space-between;padding:6px 10px;}

  .bb-tent-intro{padding:9px 14px;}
  .bb-tent-intro p{font-size:12px;}

  .bb-tent-section{padding:14px;}
  .bb-tent-h3{font-size:12.5px;margin-bottom:12px;}
  .bb-tent-h3 i{width:22px;height:22px;font-size:11px;}

  .bb-tent-pkgs{gap:14px;}
  .bb-tent-pkg-banner{height:170px;}
  .bb-tent-pkg-banner-collage img{width:70px;height:70px;}
  .bb-tent-pkg-banner-collage img:nth-child(2){width:82px;height:82px;}
  .bb-tent-pkg-title{font-size:14px;margin:12px 14px 0;}
  .bb-tent-pkg-meta{padding:10px 14px;}
  .bb-tent-pkg-meta-cell strong{font-size:12px;}
  .bb-tent-pkg-meta-cell strong small{font-size:9.5px;}
  .bb-tent-pkg-facils{padding:9px 14px;}
  .bb-tent-pkg-facils ul{font-size:11.5px;}
  .bb-tent-pkg-prices{padding:10px 14px;}
  .bb-tent-pkg-price-cell strong{font-size:17px;}
  .bb-tent-pkg-childrule{margin:0 14px 12px;padding:7px 10px;}
  .bb-tent-pkg-childrule div{font-size:11px;}
  .bb-tent-pkg-actions{padding:11px 14px 13px;flex-wrap:wrap;}
  .bb-tent-pkg-incl{font-size:12px;padding:7px 12px;}
  .bb-tent-pkg-select{font-size:12.5px;padding:8px 14px;}

  /* Sticky bar — stack on mobile */
  .bb-tent-stickybar-inner{padding:10px 14px;flex-direction:column;align-items:stretch;gap:8px;}
  .bb-tent-stickybar-info{gap:10px;}
  .bb-tent-stickybar-bus i{width:28px;height:28px;font-size:12px;}
  .bb-tent-stickybar-bus strong{font-size:12px;}
  .bb-tent-stickybar-hint{font-size:11px;border-left:none;padding-left:0;
    border-top:1px solid rgba(255,255,255,.18);padding-top:6px;}
  .bb-tent-stickybar-btn{width:100%;justify-content:center;padding:11px 18px;font-size:13px;}

  /* Modal */
  .bb-tent-modal{padding:14px;}
  .bb-tent-modal-tabs{grid-template-columns:repeat(2,1fr);}
  .bb-tent-modal-tab{padding:11px 8px;font-size:11.5px;gap:5px;}
  .bb-tent-modal-tab i{font-size:10px;}
  .bb-tent-modal-veh{font-size:14px;}
  .bb-tent-modal-body{padding:14px;}
  .bb-tent-modal-pax{grid-template-columns:1fr;gap:9px;}
  .bb-tent-modal-foot{padding:12px 14px;flex-direction:column;align-items:stretch;gap:10px;}
  .bb-tent-modal-summary{text-align:center;}
  .bb-tent-modal-confirm{justify-content:center;width:100%;}
  .bb-tent-incl-list li{font-size:12px;padding:6px 9px;}
  .bb-tent-excl-list li{font-size:12px;}
  .bb-tent-terms-list{font-size:12px;}
}

@media (max-width:480px){
  .bb-tent-pkg-banner{height:150px;}
  .bb-tent-pkg-banner-collage img{width:60px;height:60px;}
  .bb-tent-pkg-banner-collage img:nth-child(2){width:72px;height:72px;}
  .bb-tent-pkg-actions{flex-direction:column;}
  .bb-tent-pkg-incl,
  .bb-tent-pkg-select{width:100%;justify-content:center;}
}


/* ============================================================
   ENTRY PACKAGE CARDS — HORIZONTAL COMPACT v3
   Used only by tour-booking-entry-new.html (.bb-tent-pkgs--horizontal)
   Uses grid-template-areas → each item gets its own row, NO overlap.
   ~50% height of the original vertical poster.
============================================================ */

.bb-tent-pkgs--horizontal{
  display:flex;flex-direction:column;gap:12px;
}

/* ----- DESKTOP/TABLET: 3-zone strip ----- */
/* Banner spans all rows on left · Middle stack: title/meta/facils/childrule
   · Right stack: prices (spans 3 rows) + actions */
.bb-tent-pkgs--horizontal .bb-tent-pkg{
  display:grid !important;
  grid-template-columns:160px minmax(0,1fr) 220px;
  grid-template-rows:auto auto auto auto;
  grid-template-areas:
    "banner title  prices"
    "banner meta   prices"
    "banner facils prices"
    "banner child  actions";
  align-items:stretch;
  overflow:hidden;
  border-radius:14px;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg:hover{transform:translateY(-1px);}

/* ----- Zone 1: banner ----- */
.bb-tent-pkgs--horizontal .bb-tent-pkg-banner{
  grid-area:banner;
  height:auto;min-height:100%;border-radius:0;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-banner-flags{top:5px;padding:0 10px;font-size:9px;}
.bb-tent-pkgs--horizontal .bb-tent-pkg-banner-mask{top:10px;font-size:20px;}
.bb-tent-pkgs--horizontal .bb-tent-pkg-banner-collage{gap:0;}
.bb-tent-pkgs--horizontal .bb-tent-pkg-banner-collage img{
  width:46px;height:46px;padding:3px 3px 12px;border-width:2px;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-banner-collage img:nth-child(2){
  width:54px;height:54px;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-banner-deco{bottom:5px;padding:0 14px;font-size:10px;}

/* ----- Zone 2: middle dense content ----- */
.bb-tent-pkgs--horizontal .bb-tent-pkg-title{
  grid-area:title;
  text-align:left;
  margin:0;padding:10px 14px 4px;
  font-size:13.5px;line-height:1.3;
}

.bb-tent-pkgs--horizontal .bb-tent-pkg-meta{
  grid-area:meta;
  display:flex;flex-direction:row;flex-wrap:wrap;gap:5px 8px;
  padding:0 14px 4px;margin:0;
  border:none;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-meta-cell{
  display:inline-flex;flex-direction:row;align-items:center;gap:4px;
  background:#f8fafc;border:1px solid #e2e8f0;border-radius:99px;
  padding:3px 10px;text-align:left;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-meta-cell::after{display:none !important;}
.bb-tent-pkgs--horizontal .bb-tent-pkg-meta-label{font-size:0;display:inline-flex;}
.bb-tent-pkgs--horizontal .bb-tent-pkg-meta-label i{font-size:10px;color:#f97316;}
.bb-tent-pkgs--horizontal .bb-tent-pkg-meta-cell strong{
  font-size:11px;font-weight:700;color:#0f172a;line-height:1.3;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-meta-cell strong small{
  display:inline;font-size:10.5px;font-weight:500;color:#64748b;margin:0 2px;
}

.bb-tent-pkgs--horizontal .bb-tent-pkg-facils{
  grid-area:facils;
  padding:0 14px 4px;margin:0;
  border:none;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-facils h4{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-facils ul{
  flex-direction:row;flex-wrap:wrap;gap:4px 6px;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-facils li{
  background:#ecfdf5;color:#065f46;font-size:10.5px;font-weight:600;
  padding:2px 8px;border-radius:6px;border:1px solid #6ee7b7;
  display:inline-flex;align-items:center;gap:4px;line-height:1.3;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-facils li i{
  color:#10b981;margin:0;font-size:8px;
}

.bb-tent-pkgs--horizontal .bb-tent-pkg-childrule{
  grid-area:child;
  margin:0 14px 10px;padding:5px 9px;
  display:flex;align-items:center;gap:5px;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-childrule i{
  font-size:11px;margin:0;flex:0 0 auto;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-childrule div{
  font-size:10.5px;color:#7f1d1d;line-height:1.4;
}

/* ----- Zone 3: prices stack + actions ----- */
.bb-tent-pkgs--horizontal .bb-tent-pkg-prices{
  grid-area:prices;
  display:flex;flex-direction:column;gap:4px;
  padding:10px 14px 6px;
  background:linear-gradient(180deg,#fff7ed 0%,rgba(255,255,255,0) 100%);
  border-left:1px dashed #fed7aa;
  align-self:start;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-price-cell{
  display:flex;justify-content:space-between;align-items:baseline;gap:6px;
  border-bottom:1px dashed #fed7aa;padding-bottom:4px;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-price-cell:last-child{border-bottom:none;}
.bb-tent-pkgs--horizontal .bb-tent-pkg-price-label{
  font-size:11px;font-weight:700;color:#0f172a;gap:4px;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-price-label i{font-size:11px;}
.bb-tent-pkgs--horizontal .bb-tent-pkg-price-cell strong{
  font-size:15px;font-weight:800;color:#16a34a;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-price-cell strong span{font-size:12px;}
.bb-tent-pkgs--horizontal .bb-tent-pkg-price-cell strong em{font-size:9px;}

.bb-tent-pkgs--horizontal .bb-tent-pkg-actions{
  grid-area:actions;
  border:none;
  border-left:1px dashed #fed7aa;
  padding:0 14px 10px;
  margin-top:0;
  display:flex;gap:6px;align-items:center;
  background:#fff7ed;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-incl{
  flex:0 0 auto;padding:6px 10px;font-size:11px;gap:4px;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-incl i{font-size:8px;}
.bb-tent-pkgs--horizontal .bb-tent-pkg-select{
  flex:1;padding:7px 12px;font-size:11.5px;gap:5px;min-width:0;
}
.bb-tent-pkgs--horizontal .bb-tent-pkg-select i{font-size:9px;}

/* ============================================================
   RESPONSIVE
============================================================ */

/* Smaller desktop: shrink banner + price col */
@media (max-width:1100px){
  .bb-tent-pkgs--horizontal .bb-tent-pkg{
    grid-template-columns:140px minmax(0,1fr) 200px;
  }
}

/* Tablet: drop dedicated price column → prices+actions become full-width row beneath */
@media (max-width:991px){
  .bb-tent-pkgs--horizontal .bb-tent-pkg{
    grid-template-columns:140px minmax(0,1fr);
    grid-template-rows:auto auto auto auto auto auto;
    grid-template-areas:
      "banner title"
      "banner meta"
      "banner facils"
      "banner child"
      "prices prices"
      "actions actions";
  }
  .bb-tent-pkgs--horizontal .bb-tent-pkg-prices{
    flex-direction:row;justify-content:space-between;gap:18px;
    padding:8px 14px;background:#fff7ed;border-left:none;
    border-top:1px dashed #fed7aa;
  }
  .bb-tent-pkgs--horizontal .bb-tent-pkg-price-cell{
    border-bottom:none;padding-bottom:0;flex:1;
  }
  .bb-tent-pkgs--horizontal .bb-tent-pkg-actions{
    padding:8px 14px 10px;border-left:none;
    border-bottom:1px solid transparent;
    justify-content:flex-end;background:#fff7ed;
  }
}

/* Phone: smaller banner, all middle items remain stacked */
@media (max-width:767px){
  .bb-tent-pkgs--horizontal .bb-tent-pkg{
    grid-template-columns:110px minmax(0,1fr);
  }
  .bb-tent-pkgs--horizontal .bb-tent-pkg-banner-collage img{width:38px;height:38px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-banner-collage img:nth-child(2){width:44px;height:44px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-title{font-size:12.5px;padding:8px 12px 3px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-meta{padding:0 12px 3px;gap:4px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-meta-cell{padding:2px 8px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-meta-cell strong{font-size:10.5px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-facils{padding:0 12px 3px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-facils li{font-size:10px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-childrule{margin:0 12px 8px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-childrule div{font-size:10px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-prices{padding:7px 12px;flex-direction:column;gap:3px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-price-cell{border-bottom:1px dashed #fed7aa;padding-bottom:3px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-price-cell:last-child{border-bottom:none;padding-bottom:0;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-price-cell strong{font-size:14px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-actions{padding:8px 12px 10px;}
}

/* Small phone */
@media (max-width:480px){
  .bb-tent-pkgs--horizontal .bb-tent-pkg{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto auto auto auto;
    grid-template-areas:
      "banner"
      "title"
      "meta"
      "facils"
      "child"
      "prices"
      "actions";
  }
  .bb-tent-pkgs--horizontal .bb-tent-pkg-banner{height:130px;min-height:130px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-banner-collage img{width:48px;height:48px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-banner-collage img:nth-child(2){width:56px;height:56px;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-title{
    text-align:center;padding:8px 12px 4px;font-size:13px;
  }
  .bb-tent-pkgs--horizontal .bb-tent-pkg-meta{justify-content:center;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-facils ul{justify-content:center;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-prices{flex-direction:row;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-actions{justify-content:stretch;}
  .bb-tent-pkgs--horizontal .bb-tent-pkg-incl{flex:1;justify-content:center;}
}

/* ============================================================
   HOTEL BOOKING FLOW (.bb-htl-*) v3
   Theme: Orange #f97316 · Teal #0d9488 · Amber #eab308 · Rose #e11d48
   Pages: hotels.html · hotel-details.html · hotel-booking.html · hotel-confirmation.html
============================================================ */

/* Shared main wrap */
.bb-htl-main{padding:14px 0 30px;}
.bb-htl-section{margin-bottom:16px;}

.bb-htl-h3{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  font-size:14px;font-weight:800;color:#0f172a;margin:0 0 12px;
  text-transform:uppercase;letter-spacing:.4px;
}
.bb-htl-h3 small{
  font-size:12px;font-weight:600;color:#64748b;
  text-transform:none;letter-spacing:0;margin-left:auto;
}
.bb-htl-h3 i{
  color:#f97316;font-size:13px;width:26px;height:26px;border-radius:8px;
  background:#fff7ed;display:inline-flex;align-items:center;justify-content:center;
}

/* ============================================================
   RIBBON (shared header bar across all 4 pages)
============================================================ */
.bb-htl-ribbon{
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 60%,#c2410c 100%);
  color:#fff;padding:16px 20px;border-radius:16px;position:relative;overflow:hidden;
  margin-bottom:14px;box-shadow:0 8px 22px rgba(249,115,22,.18);
}
.bb-htl-ribbon::after{
  content:"";position:absolute;top:-40px;right:-30px;
  width:160px;height:160px;background:rgba(255,255,255,.08);
  border-radius:50%;pointer-events:none;
}
.bb-htl-ribbon-ico{
  flex:0 0 auto;width:48px;height:48px;border-radius:12px;
  background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;
  font-size:22px;color:#fff;border:1px solid rgba(255,255,255,.25);
}
.bb-htl-ribbon-back{
  flex:0 0 auto;width:36px;height:36px;border-radius:10px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  color:#fff;display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:background .15s;
}
.bb-htl-ribbon-back:hover{background:rgba(255,255,255,.3);}
.bb-htl-ribbon-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.bb-htl-ribbon-label{
  font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,.85);
}
.bb-htl-ribbon-title{font-size:18px;font-weight:800;color:#fff;line-height:1.3;}
.bb-htl-ribbon-body p{margin:5px 0 0;font-size:12.5px;color:rgba(255,255,255,.92);line-height:1.45;}

.bb-htl-ribbon-rating{
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  border-radius:99px;padding:6px 14px;font-size:13px;font-weight:700;
}
.bb-htl-ribbon-rating i{color:#fde047;}
.bb-htl-ribbon-rating small{color:rgba(255,255,255,.85);font-weight:500;}

.bb-htl-ribbon-timer{
  display:flex;align-items:center;gap:10px;
  background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.25);
  border-radius:10px;padding:8px 12px;
}
.bb-htl-ribbon-timer i{color:rgba(255,255,255,.85);}
.bb-htl-ribbon-timer small{
  display:block;font-size:10px;color:rgba(255,255,255,.75);
  letter-spacing:.5px;text-transform:uppercase;
}
.bb-htl-ribbon-timer strong{font-size:15px;color:#fde047;font-weight:800;}

/* ============================================================
   PAGE 1: hotels.html — CATEGORY CARDS
============================================================ */
.bb-htl-cats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.bb-htl-cat{
  display:flex;flex-direction:column;text-decoration:none;
  background:#fff;border:2px solid #e2e8f0;border-radius:14px;
  overflow:hidden;transition:all .2s;color:#0f172a;
}
.bb-htl-cat:hover{
  border-color:#fdba74;transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(249,115,22,.15);
}
.bb-htl-cat-img{
  position:relative;height:160px;overflow:hidden;background:#f8fafc;
}
.bb-htl-cat-img img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.bb-htl-cat-img--logo{padding:18px;display:flex;align-items:center;justify-content:center;}
.bb-htl-cat-img--logo img{object-fit:contain;}
.bb-htl-cat-badge{
  position:absolute;bottom:8px;left:8px;
  background:#16a34a;color:#fff;font-size:11px;font-weight:700;
  padding:4px 10px;border-radius:99px;
  display:inline-flex;align-items:center;gap:5px;
}
.bb-htl-cat-badge i{font-size:10px;}
.bb-htl-cat-body{padding:14px 16px;display:flex;flex-direction:column;gap:4px;}
.bb-htl-cat-body strong{
  font-size:14px;font-weight:800;color:#0f172a;line-height:1.4;
  display:flex;align-items:flex-start;gap:6px;
}
.bb-htl-cat-body strong i{color:#0d9488;margin-top:2px;font-size:12px;}
.bb-htl-cat-count{font-size:13px;color:#64748b;}
.bb-htl-cat-count b{color:#f97316;font-weight:800;}

/* Info strip on hotels.html */
.bb-htl-info{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;
  padding:14px;
}
.bb-htl-info-cell{
  display:flex;align-items:center;gap:10px;
}
.bb-htl-info-cell i{
  width:36px;height:36px;border-radius:10px;background:#f97316;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto;
}
.bb-htl-info-cell strong{display:block;font-size:13px;color:#0f172a;font-weight:800;}
.bb-htl-info-cell small{font-size:11.5px;color:#7c2d12;line-height:1.4;display:block;}
.bb-htl-info-cell a{color:#c2410c;text-decoration:none;font-weight:700;}

/* ============================================================
   PAGE 2: hotel-details.html — SEARCH + HERO + TABS
============================================================ */
.bb-htl-searchrow{
  display:grid;grid-template-columns:340px 1fr;gap:14px;
  align-items:stretch;
}
.bb-htl-searchcard{
  background:linear-gradient(135deg,#0d9488 0%,#0f766e 100%);
  color:#fff;border-radius:14px;padding:16px;
  display:flex;flex-direction:column;gap:10px;justify-content:center;
}
.bb-htl-searchcard-title{
  margin:0;font-size:15px;font-weight:800;color:#fff;text-align:center;
}
.bb-htl-searchform{display:flex;flex-direction:column;gap:8px;}
.bb-htl-searchfield{
  display:flex;align-items:center;background:#fff;border-radius:10px;overflow:hidden;
}
.bb-htl-searchfield-ico{
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  color:#0f172a;font-size:13px;flex:0 0 auto;
}
.bb-htl-searchfield select{
  flex:1;border:none;outline:none;padding:9px 12px 9px 0;
  font-size:13px;font-weight:600;color:#0f172a;background:transparent;
  appearance:none;-webkit-appearance:none;cursor:pointer;
}
.bb-htl-searchfield em{color:#dc2626;font-style:normal;font-weight:700;}
.bb-htl-searchbtn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;
  border:none;border-radius:10px;padding:12px 16px;
  font-size:14px;font-weight:800;cursor:pointer;letter-spacing:.3px;
  box-shadow:0 6px 18px rgba(249,115,22,.45),0 0 0 3px rgba(255,255,255,.18);
  transition:all .18s;
}
.bb-htl-searchbtn:hover{
  background:linear-gradient(135deg,#fb923c 0%,#f97316 100%);
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(249,115,22,.6),0 0 0 3px rgba(255,255,255,.25);
}

.bb-htl-herowrap{
  position:relative;border-radius:14px;overflow:hidden;
  background:#f8fafc;
}
.bb-htl-herowrap img{
  width:100%;height:100%;min-height:220px;max-height:340px;
  object-fit:cover;display:block;
}
.bb-htl-hero-pager{
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);
  display:flex;gap:6px;
}
.bb-htl-hero-pager button{
  width:8px;height:8px;border-radius:50%;border:none;
  background:rgba(255,255,255,.5);cursor:pointer;transition:all .15s;
}
.bb-htl-hero-pager button.is-active{background:#fff;width:20px;border-radius:99px;}

/* Detail tabs bar — sticky wrapper (scroll-spy, tour-style) */
.bb-htl-tabs-bar{
  position:sticky;top:60px;z-index:49;
  background:#fff;border-bottom:1px solid var(--bb-border-light);
  box-shadow:0 4px 14px -10px rgba(15,23,42,.08);
  display:flex;align-items:stretch;gap:6px;min-height:54px;
  padding:0 16px;margin-bottom:16px;
}

/* Detail tabs (legacy pill style — kept for other pages) */
.bb-htl-tabs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
  background:#f1f5f9;padding:5px;border-radius:12px;margin-bottom:0;
}
.bb-htl-tab{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  background:transparent;color:#475569;border:none;border-radius:8px;
  padding:9px 12px;font-size:13px;font-weight:700;cursor:pointer;
  transition:all .15s;
}
.bb-htl-tab:hover{color:#0f172a;}
.bb-htl-tab.is-active{background:#fff;color:#f97316;box-shadow:0 2px 6px rgba(15,23,42,.08);}
.bb-htl-tab i{font-size:12px;}

/* Sections — always visible, scroll-spy */
.bb-htl-tabpanel{
  display:block;background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:18px 20px;margin-bottom:20px;
  scroll-margin-top:130px;
}

/* Right sidebar sticky */
.bb-htl-rightcol-sticky{
  position:sticky;top:130px;
}
@keyframes bbHtlFadeIn{from{opacity:0;}to{opacity:1;}}

.bb-htl-pane-title{
  text-align:center;font-size:17px;font-weight:800;color:#f97316;
  margin:0 0 4px;padding-bottom:6px;
  border-bottom:2px solid #f97316;width:fit-content;
  margin-left:auto;margin-right:auto;
}
.bb-htl-pane-sub{text-align:center;color:#64748b;font-size:12.5px;margin:0 0 14px;}
.bb-htl-tabpanel p{font-size:13.5px;color:#334155;line-height:1.7;margin:0 0 10px;}
.bb-htl-tabpanel strong{color:#0f172a;}

/* POI list */
.bb-htl-poi{
  margin-top:14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;
  padding:12px 14px;
}
.bb-htl-poi h4{
  margin:0 0 8px;font-size:13px;font-weight:800;color:#7c2d12;
  display:flex;align-items:center;gap:6px;
}
.bb-htl-poi h4 i{color:#f97316;}
.bb-htl-poi ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px;}
.bb-htl-poi li{font-size:12.5px;color:#7c2d12;display:flex;align-items:center;gap:8px;}
.bb-htl-poi li i{color:#f97316;font-size:11px;width:14px;text-align:center;}
.bb-htl-poi li small{color:#94a3b8;margin-left:auto;}

/* Rooms list (in detail page) */
.bb-htl-rooms{display:flex;flex-direction:column;gap:12px;margin-top:10px;}
.bb-htl-room{
  display:grid;grid-template-columns:180px 1fr;gap:0;
  background:#fff;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;
  transition:all .15s;
}
.bb-htl-room:hover{border-color:#fdba74;transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(249,115,22,.12);}
.bb-htl-room-img img{width:100%;height:100%;min-height:140px;object-fit:cover;display:block;}
.bb-htl-room-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px;position:relative;}
.bb-htl-room-body > strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-htl-room-meta{
  display:flex;flex-direction:column;gap:4px;font-size:12px;color:#64748b;
}
.bb-htl-room-meta i{color:#0d9488;margin-right:4px;}
.bb-htl-room-tag{
  position:absolute;top:12px;right:14px;
  background:linear-gradient(135deg,#eab308,#ca8a04);color:#fff;
  font-size:10px;font-weight:800;padding:3px 10px;border-radius:99px;letter-spacing:.4px;
  display:inline-flex;align-items:center;gap:4px;
}
.bb-htl-room-tag i{font-size:9px;}
.bb-htl-room-foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:8px;border-top:1px dashed #e2e8f0;margin-top:auto;
}
.bb-htl-room-price{font-size:18px;font-weight:800;color:#f97316;}
.bb-htl-room-price small{font-size:11px;color:#dc2626;font-weight:600;}
.bb-htl-room-book{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;
  border:none;border-radius:99px;padding:7px 16px;
  font-size:12.5px;font-weight:700;cursor:pointer;
  transition:all .15s;
}
.bb-htl-room-book:hover{transform:translateY(-1px);}

/* Amenities */
.bb-htl-amen{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
}
.bb-htl-amen-cell{
  display:flex;align-items:center;gap:8px;
  background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;
  padding:9px 11px;font-size:13px;font-weight:600;color:#334155;
}
.bb-htl-amen-cell i{color:#0d9488;font-size:13px;width:18px;text-align:center;}

/* Policy */
.bb-htl-policy{display:flex;flex-direction:column;gap:12px;}
.bb-htl-policy-row{
  background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;
  padding:12px 14px;
}
.bb-htl-policy-row h4{
  margin:0 0 8px;font-size:13px;font-weight:800;color:#0f172a;
  display:flex;align-items:center;gap:7px;
}
.bb-htl-policy-row h4 i{color:#f97316;font-size:12px;}
.bb-htl-policy-row ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;}
.bb-htl-policy-row li{
  font-size:12.5px;color:#475569;line-height:1.5;padding-left:14px;position:relative;
}
.bb-htl-policy-row li::before{
  content:"•";position:absolute;left:0;color:#f97316;font-weight:800;
}

/* Queries card (right column on details page) */
.bb-htl-queries{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:14px;margin-bottom:12px;text-align:center;
  position:sticky;top:80px;
  box-shadow:0 6px 20px rgba(15,23,42,.06);z-index:5;
}
/* Sticky disabled on phones — falls back to normal flow */
@media (max-width:991px){
  .bb-htl-queries{position:static;}
}
.bb-htl-queries h4{
  margin:0 0 4px;font-size:14px;font-weight:800;color:#0f172a;
  display:inline-flex;align-items:center;gap:6px;
  padding-bottom:5px;border-bottom:2px solid #f97316;
}
.bb-htl-queries small{display:block;color:#64748b;font-size:11.5px;margin-bottom:10px;}
.bb-htl-queries-phone{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:100%;font-size:18px;font-weight:800;color:#0f172a;
  padding:8px 0;text-decoration:none;border-bottom:1px solid #e2e8f0;margin-bottom:10px;
}
.bb-htl-queries-phone i{color:#f97316;font-size:15px;}
.bb-htl-queries-book{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;
  border-radius:99px;padding:11px;font-size:14px;font-weight:800;text-decoration:none;
  box-shadow:0 4px 14px rgba(16,185,129,.4);transition:all .15s;
}
.bb-htl-queries-book:hover{transform:translateY(-1px);color:#fff;
  box-shadow:0 8px 22px rgba(16,185,129,.55);}

.bb-htl-mapcard{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:14px;text-align:center;
}
.bb-htl-mapcard h4{
  margin:0 0 4px;font-size:14px;font-weight:800;color:#0f172a;
  padding-bottom:5px;border-bottom:2px solid #f97316;
  display:inline-block;
}
.bb-htl-mapcard small{display:block;color:#64748b;font-size:11.5px;margin:6px 0 10px;}
.bb-htl-mapcard small i{color:#f97316;}
.bb-htl-mapcard-embed{position:relative;border-radius:10px;overflow:hidden;}
.bb-htl-mapcard-embed img{width:100%;height:auto;display:block;}
.bb-htl-mapcard-open{
  position:absolute;bottom:8px;right:8px;
  background:rgba(15,23,42,.85);color:#fff;border:none;border-radius:8px;
  padding:6px 11px;font-size:11px;font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;
}

/* ============================================================
   PAGE 3: hotel-booking.html
============================================================ */

/* Wizard steps */
.bb-htl-steps{
  list-style:none;padding:0;margin:0;
  display:flex;background:#fff;border:1px solid #e2e8f0;border-radius:12px;
  padding:8px;gap:6px;
}
.bb-htl-steps li{
  flex:1;display:flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:8px;font-size:12.5px;font-weight:700;color:#94a3b8;
  background:#f8fafc;
}
.bb-htl-steps li span{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;background:#e2e8f0;color:#64748b;
  font-size:12px;font-weight:800;flex:0 0 auto;
}
.bb-htl-steps li.is-active{background:#fff7ed;color:#7c2d12;}
.bb-htl-steps li.is-active span{background:#f97316;color:#fff;}
.bb-htl-steps li.is-done{background:#ecfdf5;color:#065f46;}
.bb-htl-steps li.is-done span{background:#10b981;color:#fff;}
.bb-htl-steps li.is-done span i{font-size:10px;}

/* Check Availability card */
.bb-htl-cacard{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:18px 20px;
}
.bb-htl-cacard-title{
  text-align:center;font-size:17px;font-weight:800;color:#f97316;
  margin:0 0 10px;padding-bottom:6px;
  border-bottom:2px solid #f97316;width:fit-content;
  margin-left:auto;margin-right:auto;
  display:flex;align-items:center;gap:8px;
}
.bb-htl-cacard-title i{color:#f97316;}
.bb-htl-cacard-title small{
  display:block;font-size:11.5px;color:#64748b;font-weight:500;
  margin-top:3px;text-align:center;
}

.bb-htl-cacard-note{
  display:flex;align-items:flex-start;gap:10px;
  background:#fef2f2;border:1px solid #fecaca;border-radius:10px;
  padding:10px 13px;margin:14px 0;
}
.bb-htl-cacard-note i{color:#dc2626;font-size:14px;margin-top:2px;flex:0 0 auto;}
.bb-htl-cacard-note p{margin:0;font-size:12.5px;color:#7f1d1d;line-height:1.55;}
.bb-htl-cacard-note strong{color:#7f1d1d;}
.bb-htl-cacard-note em{font-style:normal;font-weight:700;color:#7f1d1d;}

.bb-htl-cafields{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;
}
.bb-htl-cafield label{
  display:flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;color:#334155;margin-bottom:5px;
  text-transform:uppercase;letter-spacing:.4px;
}
.bb-htl-cafield label i{color:#f97316;font-size:11px;}
.bb-htl-cafield label em{color:#dc2626;font-style:normal;}
.bb-htl-cafield input,
.bb-htl-cafield select{
  width:100%;border:2px solid #e2e8f0;border-radius:10px;
  padding:9px 12px;font-size:13.5px;font-weight:600;color:#0f172a;
  background:#fff;transition:all .15s;
}
.bb-htl-cafield select{
  appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:28px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23f97316'><path d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center;background-size:10px 7px;
}
.bb-htl-cafield input:focus,
.bb-htl-cafield select:focus{border-color:#f97316;outline:none;
  box-shadow:0 0 0 3px rgba(249,115,22,.15);}

.bb-htl-cacard-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:linear-gradient(135deg,#10b981 0%,#059669 100%);
  color:#fff;border:none;border-radius:99px;padding:13px;
  font-size:15px;font-weight:800;cursor:pointer;
  box-shadow:0 6px 18px rgba(16,185,129,.35);transition:all .18s;
}
.bb-htl-cacard-btn:hover{transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(16,185,129,.5);}

/* Available rooms list */
.bb-htl-availrooms{display:flex;flex-direction:column;gap:10px;}
.bb-htl-avail{
  background:#fff;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;
  transition:all .15s;
}
.bb-htl-avail:hover{border-color:#fdba74;transform:translateY(-1px);}
.bb-htl-avail--featured{border-color:#f97316;
  box-shadow:0 6px 18px rgba(249,115,22,.15);}
.bb-htl-avail-head{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px;
  background:linear-gradient(135deg,#10b981,#059669);color:#fff;
  padding:10px 14px;
}
.bb-htl-avail-head strong{
  font-size:14px;font-weight:800;color:#fff;flex:1;min-width:140px;
}
.bb-htl-avail-head span{font-size:12px;color:rgba(255,255,255,.92);}
.bb-htl-avail-head span b{color:#fde047;font-weight:800;}
.bb-htl-avail-tag{
  background:#eab308;color:#0f172a;font-size:10px;font-weight:800;
  padding:2px 8px;border-radius:99px;letter-spacing:.4px;
}
.bb-htl-avail-body{
  display:flex;align-items:center;gap:14px;padding:12px 14px;flex-wrap:wrap;
}
.bb-htl-avail-cell{
  display:flex;flex-direction:column;gap:1px;
}
.bb-htl-avail-cell small{font-size:10.5px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;}
.bb-htl-avail-cell strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-htl-avail-cell strong em{font-size:11px;color:#dc2626;font-style:normal;font-weight:600;}
.bb-htl-avail-cell:nth-child(2) strong{color:#f97316;font-size:18px;}
.bb-htl-avail-book{
  margin-left:auto;display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;
  border:none;border-radius:99px;padding:9px 18px;
  font-size:13px;font-weight:800;cursor:pointer;transition:all .15s;
  box-shadow:0 4px 12px rgba(249,115,22,.3);
}
.bb-htl-avail-book:hover{transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(249,115,22,.45);}

.bb-htl-avail-foot{
  margin:10px 0 0;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:10px;
  padding:9px 13px;font-size:12.5px;color:#065f46;line-height:1.5;
}
.bb-htl-avail-foot i{color:#059669;margin-right:5px;}
.bb-htl-avail-foot em{font-style:normal;font-weight:700;color:#064e3b;}

/* Booking card (passenger details + summary) */
.bb-htl-bookcard{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:16px 18px;margin-bottom:12px;
}
.bb-htl-bookcard-title{
  display:flex;align-items:center;gap:8px;
  font-size:14px;font-weight:800;color:#0f172a;margin:0 0 12px;
  padding-bottom:8px;border-bottom:1px solid #e2e8f0;
}
.bb-htl-bookcard-title i{color:#f97316;font-size:13px;}
.bb-htl-bookcard-help{color:#0d9488;cursor:help;font-size:11px;}
.bb-htl-bookcard-required{
  background:#fef2f2;border:1px solid #fecaca;border-radius:8px;
  padding:7px 11px;font-size:12px;color:#7f1d1d;margin:0 0 10px;
  display:flex;align-items:center;gap:6px;
}
.bb-htl-bookcard-required i{color:#dc2626;}

.bb-htl-bookcard-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  background:#fff7ed;border:1px dashed #fed7aa;border-radius:10px;
  padding:11px 14px;margin-bottom:10px;
}
.bb-htl-bookcard-cell{display:flex;flex-direction:column;gap:1px;}
.bb-htl-bookcard-cell small{font-size:10.5px;color:#7c2d12;text-transform:uppercase;letter-spacing:.5px;}
.bb-htl-bookcard-cell small i{color:#c2410c;margin-right:3px;}
.bb-htl-bookcard-cell strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-htl-bookcard-cell strong em{font-size:11px;color:#64748b;font-style:normal;font-weight:600;margin-left:3px;}
.bb-htl-bookcard-cell span{font-size:12px;color:#64748b;}
.bb-htl-bookcard-note{
  display:flex;align-items:center;gap:8px;font-size:12px;color:#7f1d1d;
  background:#fef2f2;border:1px solid #fecaca;border-radius:8px;
  padding:7px 11px;margin:0 0 12px;
}
.bb-htl-bookcard-note i{color:#dc2626;}

.bb-htl-paxsel{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.bb-htl-paxsel-field label{
  display:flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:700;color:#334155;margin-bottom:5px;
  text-transform:uppercase;letter-spacing:.4px;
}
.bb-htl-paxsel-field label i{color:#f97316;font-size:11px;}
.bb-htl-paxsel-field label em{color:#dc2626;}
.bb-htl-paxsel-field select{
  width:100%;border:2px solid #e2e8f0;border-radius:10px;
  padding:9px 28px 9px 12px;font-size:13.5px;font-weight:600;color:#0f172a;
  background:#fff;appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23f97316'><path d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center;background-size:10px 7px;
  transition:all .15s;
}
.bb-htl-paxsel-field select:focus{border-color:#f97316;outline:none;
  box-shadow:0 0 0 3px rgba(249,115,22,.15);}

/* Pax form */
.bb-htl-paxform{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.bb-htl-paxform-field{
  position:relative;background:#fff;border:2px solid #e2e8f0;border-radius:10px;
  padding:0 12px 0 44px;display:flex;align-items:center;transition:all .15s;
}
.bb-htl-paxform-field:focus-within{border-color:#f97316;
  box-shadow:0 0 0 3px rgba(249,115,22,.15);}
.bb-htl-paxform-ico{
  position:absolute;left:10px;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border-radius:7px;background:#fff7ed;color:#f97316;
  display:flex;align-items:center;justify-content:center;font-size:12px;
}
.bb-htl-paxform-req{
  position:absolute;left:38px;top:50%;transform:translateY(-50%);
  color:#dc2626;font-weight:800;font-size:13px;
}
.bb-htl-paxform-field input,
.bb-htl-paxform-field select{
  flex:1;border:none;outline:none;padding:10px 0;
  font-size:13.5px;font-weight:600;color:#0f172a;background:transparent;
}
.bb-htl-paxform-field select{
  cursor:pointer;appearance:none;-webkit-appearance:none;
}

.bb-htl-paxform-gender{
  display:flex;background:#f1f5f9;border-radius:10px;padding:3px;
}
.bb-htl-paxform-gender button{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;
  background:transparent;color:#475569;border:none;border-radius:8px;
  padding:9px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;
}
.bb-htl-paxform-gender button:hover{color:#0f172a;}
.bb-htl-paxform-gender button.is-active{
  background:#f97316;color:#fff;box-shadow:0 2px 6px rgba(249,115,22,.3);
}

.bb-htl-paxform-note{
  margin:10px 0 0;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;
  padding:7px 11px;font-size:12px;color:#065f46;
  display:flex;align-items:center;gap:6px;
}
.bb-htl-paxform-note i{color:#059669;}

/* Fare sidebar card */
.bb-htl-farecard{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:16px 18px;position:sticky;top:80px;
  box-shadow:0 4px 18px rgba(15,23,42,.06);
  margin-bottom:12px;
}
/* Modifier: non-sticky (used on hotel-confirmation.html where the sidebar
   has actions + help block below the farecard and sticky looks broken) */
.bb-htl-farecard--static{position:static;top:auto;}
.bb-htl-farecard-title{
  display:flex;align-items:center;gap:8px;
  font-size:15px;font-weight:800;color:#0f172a;margin:0 0 12px;
  padding-bottom:7px;border-bottom:2px solid #f97316;
}
.bb-htl-farecard-title i{color:#f97316;}
.bb-htl-farecard-summary{
  display:flex;justify-content:space-between;align-items:center;
  background:#fff7ed;border:1px dashed #fed7aa;border-radius:10px;
  padding:9px 12px;margin-bottom:10px;
}
.bb-htl-farecard-summary span{font-size:12px;color:#7c2d12;font-weight:600;}
.bb-htl-farecard-summary strong{font-size:13.5px;font-weight:800;color:#0f172a;}

.bb-htl-farecard-rows{
  list-style:none;padding:0;margin:0 0 12px;
  display:flex;flex-direction:column;gap:6px;
}
.bb-htl-farecard-rows li{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:13px;color:#475569;padding:3px 0;
  border-bottom:1px dashed #e2e8f0;
}
.bb-htl-farecard-rows li:last-child{border-bottom:none;}
.bb-htl-farecard-rows strong{font-size:13.5px;color:#0f172a;font-weight:700;}

.bb-htl-farecard-total{
  display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);
  border:2px solid #fed7aa;border-radius:10px;
  padding:11px 14px;margin-bottom:12px;
}
.bb-htl-farecard-total span{font-size:13px;color:#7c2d12;font-weight:700;text-transform:uppercase;letter-spacing:.4px;}
.bb-htl-farecard-total strong{font-size:20px;font-weight:800;color:#f97316;}

.bb-htl-farecard-tos{
  display:flex;align-items:center;gap:8px;
  font-size:12.5px;color:#334155;cursor:pointer;margin-bottom:11px;
}
.bb-htl-farecard-tos input{width:18px;height:18px;accent-color:#f97316;cursor:pointer;}
.bb-htl-farecard-tos a{color:#f97316;text-decoration:none;font-weight:700;}
.bb-htl-farecard-tos a:hover{text-decoration:underline;}

.bb-htl-farecard-pay{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:linear-gradient(135deg,#10b981 0%,#059669 100%);
  color:#fff;border:none;border-radius:99px;padding:12px;
  font-size:14px;font-weight:800;cursor:pointer;
  box-shadow:0 6px 18px rgba(16,185,129,.35);transition:all .18s;
}
.bb-htl-farecard-pay:hover{transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(16,185,129,.5);}

.bb-htl-farecard-secure{
  display:flex;align-items:center;gap:7px;
  margin-top:10px;padding-top:10px;border-top:1px dashed #e2e8f0;
  font-size:11px;color:#64748b;justify-content:center;
}
.bb-htl-farecard-secure i{color:#16a34a;}

/* ============================================================
   PAGE 4: hotel-confirmation.html
============================================================ */
.bb-htl-confirm-hero{
  background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);
  color:#fff;border-radius:16px;padding:24px 22px;
  text-align:center;position:relative;overflow:hidden;
  box-shadow:0 12px 32px rgba(22,163,74,.25);
  margin-bottom:16px;
}
.bb-htl-confirm-hero::before,
.bb-htl-confirm-hero::after{
  content:"";position:absolute;
  width:160px;height:160px;background:rgba(255,255,255,.08);
  border-radius:50%;pointer-events:none;
}
.bb-htl-confirm-hero::before{top:-50px;right:-30px;}
.bb-htl-confirm-hero::after{bottom:-60px;left:-40px;}
.bb-htl-confirm-hero-ico{
  width:64px;height:64px;border-radius:50%;
  background:#fff;color:#16a34a;
  display:flex;align-items:center;justify-content:center;
  font-size:30px;margin:0 auto 10px;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  animation:bbHtlPop .5s cubic-bezier(.34,1.56,.64,1);
}
@keyframes bbHtlPop{
  from{transform:scale(0);opacity:0;}
  to{transform:scale(1);opacity:1;}
}
.bb-htl-confirm-hero h1{margin:0;font-size:24px;font-weight:800;color:#fff;}
.bb-htl-confirm-hero p{margin:6px 0 14px;font-size:13.5px;color:rgba(255,255,255,.92);line-height:1.55;}
.bb-htl-confirm-hero p strong{color:#fff;}
.bb-htl-confirm-pnr{
  display:inline-flex;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);
  border-radius:14px;padding:10px;gap:14px;flex-wrap:wrap;justify-content:center;
}
.bb-htl-confirm-pnr > div{
  background:#fff;color:#0f172a;border-radius:10px;
  padding:8px 14px;display:flex;flex-direction:column;gap:1px;min-width:120px;
}
.bb-htl-confirm-pnr small{font-size:10px;color:#64748b;letter-spacing:.5px;text-transform:uppercase;}
.bb-htl-confirm-pnr strong{font-size:14px;font-weight:800;color:#0f172a;letter-spacing:.5px;}
.bb-htl-confirm-status{color:#16a34a !important;}

.bb-htl-confirm-hotel{
  display:flex;align-items:center;gap:14px;
  padding:12px;background:#f8fafc;border-radius:10px;margin-bottom:12px;
}
.bb-htl-confirm-hotel img{
  width:90px;height:72px;border-radius:8px;object-fit:cover;flex:0 0 auto;
}
.bb-htl-confirm-hotel > div{flex:1;display:flex;flex-direction:column;gap:2px;}
.bb-htl-confirm-hotel strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-htl-confirm-hotel small{font-size:12px;color:#64748b;}
.bb-htl-confirm-hotel small i{color:#f97316;margin-right:4px;}
.bb-htl-confirm-room{font-size:12.5px;color:#475569;}
.bb-htl-confirm-rating{font-size:12px;color:#7c2d12;margin-top:3px;}
.bb-htl-confirm-rating i{color:#eab308;}
.bb-htl-confirm-rating em{color:#94a3b8;font-style:normal;}

.bb-htl-confirm-guest{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
}
.bb-htl-confirm-guest li{
  display:flex;align-items:center;gap:8px;
  background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;
  padding:8px 11px;font-size:13px;color:#0f172a;
}
.bb-htl-confirm-guest li i{color:#f97316;width:16px;text-align:center;flex:0 0 auto;}
.bb-htl-confirm-guest strong{font-weight:800;}
.bb-htl-confirm-guest small{color:#64748b;}

.bb-htl-confirm-info{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:6px;
}
.bb-htl-confirm-info li{
  display:flex;align-items:flex-start;gap:8px;
  font-size:12.5px;color:#475569;line-height:1.5;
  padding:7px 11px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;
}
.bb-htl-confirm-info li i{color:#f97316;margin-top:3px;flex:0 0 auto;font-size:12px;}
.bb-htl-confirm-info strong{color:#0f172a;}

.bb-htl-confirm-disc{color:#16a34a !important;}
.bb-htl-confirm-paymeta{
  display:flex;align-items:center;gap:6px;justify-content:center;
  margin-top:10px;font-size:11.5px;color:#64748b;
}
.bb-htl-confirm-paymeta i{color:#1a1f71;font-size:14px;}

.bb-htl-confirm-actions{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px;
  margin-top:12px;
}
/* Mobile: keep 2-per-row, just tighten spacing */
@media (max-width:480px){
  .bb-htl-confirm-actions{gap:6px;}
  .bb-htl-confirm-action{font-size:11.5px;padding:9px 8px;gap:6px;}
  .bb-htl-confirm-action i{width:14px;font-size:11px;}
}
.bb-htl-confirm-action{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:#fff;color:#0f172a;border:1.5px solid #e2e8f0;border-radius:10px;
  padding:10px 13px;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;
  transition:all .15s;text-align:center;
}
.bb-htl-confirm-action:hover{border-color:#f97316;color:#f97316;}
.bb-htl-confirm-action i{color:#f97316;width:18px;text-align:center;}
.bb-htl-confirm-action--wa{background:#25d366;color:#fff;border-color:#25d366;}
.bb-htl-confirm-action--wa:hover{background:#1ebe5d;color:#fff;border-color:#1ebe5d;}
.bb-htl-confirm-action--wa i{color:#fff;}
.bb-htl-confirm-action--primary{
  background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);
  color:#fff;border-color:#f97316;justify-content:center;
}
.bb-htl-confirm-action--primary:hover{color:#fff;
  background:linear-gradient(135deg,#ea580c 0%,#c2410c 100%);}
.bb-htl-confirm-action--primary i{color:#fff;}

.bb-htl-confirm-help{
  margin-top:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;
  padding:11px 13px;display:flex;align-items:center;gap:10px;
}
.bb-htl-confirm-help > i{
  width:36px;height:36px;border-radius:10px;background:#f97316;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto;
}
.bb-htl-confirm-help small{display:block;font-size:11px;color:#64748b;letter-spacing:.4px;text-transform:uppercase;}
.bb-htl-confirm-help a{display:block;color:#0f172a;text-decoration:none;}
.bb-htl-confirm-help a strong{font-size:14px;font-weight:800;}
.bb-htl-confirm-help span{font-size:11px;color:#94a3b8;}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:991px){
  .bb-htl-cats{grid-template-columns:repeat(2,1fr);}
  .bb-htl-info{grid-template-columns:repeat(2,1fr);}
  .bb-htl-searchrow{grid-template-columns:1fr;}
  .bb-htl-amen{grid-template-columns:repeat(2,1fr);}
  .bb-htl-paxform{grid-template-columns:1fr;}
  .bb-htl-bookcard-grid{grid-template-columns:1fr;}
  .bb-htl-paxsel{grid-template-columns:1fr;}
  .bb-htl-confirm-guest{grid-template-columns:1fr;}
  .bb-htl-farecard{position:static;}
}

@media (max-width:767px){
  .bb-htl-ribbon{padding:13px 14px;flex-wrap:wrap;border-radius:12px;}
  .bb-htl-ribbon-ico{width:42px;height:42px;font-size:18px;}
  .bb-htl-ribbon-title{font-size:15px;}
  .bb-htl-ribbon-rating,
  .bb-htl-ribbon-timer{width:100%;justify-content:center;}

  .bb-htl-cats{grid-template-columns:1fr;}
  .bb-htl-info{grid-template-columns:1fr;padding:12px;}

  .bb-htl-tabs{grid-template-columns:repeat(2,1fr);}
  .bb-htl-tabpanel{padding:14px;}
  .bb-htl-pane-title{font-size:15px;}

  .bb-htl-room{grid-template-columns:1fr;}
  .bb-htl-room-img img{min-height:160px;}

  /* Mobile wizard: horizontal scrollable strip (no vertical stack) */
  .bb-htl-steps{
    flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;
    padding:6px;gap:5px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;
  }
  .bb-htl-steps::-webkit-scrollbar{height:3px;}
  .bb-htl-steps::-webkit-scrollbar-thumb{background:#fed7aa;border-radius:99px;}
  .bb-htl-steps li{
    flex:0 0 auto;min-width:140px;scroll-snap-align:start;
    font-size:11.5px;padding:7px 11px;gap:7px;
  }
  .bb-htl-steps li span{width:22px;height:22px;font-size:11px;}
  .bb-htl-cafields{grid-template-columns:1fr;}
  .bb-htl-cacard{padding:14px;}
  .bb-htl-bookcard{padding:14px;}

  .bb-htl-avail-body{flex-direction:column;align-items:stretch;}
  .bb-htl-avail-book{margin-left:0;width:100%;justify-content:center;}

  .bb-htl-confirm-hero{padding:18px 16px;}
  .bb-htl-confirm-hero h1{font-size:20px;}
  .bb-htl-confirm-hero p{font-size:12.5px;}
  .bb-htl-confirm-pnr{flex-direction:column;gap:6px;padding:8px;}
  .bb-htl-confirm-pnr > div{width:100%;}
  .bb-htl-confirm-hotel{flex-direction:column;text-align:center;}
  .bb-htl-confirm-hotel img{width:100%;max-width:240px;height:140px;}
}

@media (max-width:480px){
  .bb-htl-amen{grid-template-columns:1fr;}
  .bb-htl-steps li{min-width:130px;font-size:11px;padding:6px 10px;}
  .bb-htl-tabs{grid-template-columns:1fr 1fr;}
  .bb-htl-tab span{font-size:11px;}
}

/* ============================================================
   HOTEL LIST PAGE (.bb-htll-*) v3
   New page: hotel-list.html — listing under a category
   Reuses .bb-htl-* shared classes (ribbon, section, search, hero, etc.)
============================================================ */

/* ============================================================
   NAV PILLS (horizontal category strip)
============================================================ */
.bb-htll-navpills{
  display:flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#0d9488 0%,#0f766e 100%);
  border-radius:14px;padding:6px;
  box-shadow:0 6px 18px rgba(13,148,136,.2);
}
.bb-htll-navpills-arrow{
  flex:0 0 auto;width:34px;height:38px;border-radius:10px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  color:#fff;cursor:pointer;font-size:13px;transition:background .15s;
}
.bb-htll-navpills-arrow:hover{background:rgba(255,255,255,.32);}
.bb-htll-navpills-track{
  flex:1;display:flex;gap:5px;overflow-x:auto;scroll-behavior:smooth;
  padding:0 2px;scrollbar-width:thin;
}
.bb-htll-navpills-track::-webkit-scrollbar{height:3px;}
.bb-htll-navpills-track::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:99px;}
.bb-htll-navpills-track a{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;
  background:transparent;color:rgba(255,255,255,.88);
  text-decoration:none;border-radius:8px;
  padding:8px 14px;font-size:12.5px;font-weight:700;
  white-space:nowrap;transition:all .15s;
}
.bb-htll-navpills-track a:hover{background:rgba(255,255,255,.12);color:#fff;}
.bb-htll-navpills-track a.is-active{background:#fff;color:#c2410c;
  box-shadow:0 2px 8px rgba(0,0,0,.15);}
.bb-htll-navpills-track a i{font-size:12px;}

/* ============================================================
   DESCRIPTION BLOCK
============================================================ */
.bb-htll-desc{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:18px 22px;text-align:center;
}
.bb-htll-desc-title{
  margin:0;font-size:20px;font-weight:800;color:#f97316;
  padding-bottom:6px;border-bottom:2px solid #f97316;
  width:fit-content;margin-left:auto;margin-right:auto;
}
.bb-htll-desc-sub{
  display:block;font-size:13px;color:#64748b;margin:8px 0 12px;
}
.bb-htll-desc p{
  margin:0;font-size:13.5px;color:#475569;line-height:1.7;
  max-width:920px;margin-left:auto;margin-right:auto;text-align:left;
}
.bb-htll-desc strong{color:#0f172a;}

/* ============================================================
   TOOLBAR (count + sort)
============================================================ */
.bb-htll-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:#fff;border:1px solid #e2e8f0;border-radius:12px;
  padding:10px 14px;flex-wrap:wrap;
}
.bb-htll-toolbar-count{font-size:13px;color:#475569;}
.bb-htll-toolbar-count strong{color:#f97316;font-weight:800;}
.bb-htll-toolbar-sort{display:flex;align-items:center;gap:8px;}
.bb-htll-toolbar-sort label{font-size:12.5px;font-weight:700;color:#334155;}
.bb-htll-toolbar-sort select{
  border:1.5px solid #e2e8f0;border-radius:8px;padding:6px 28px 6px 10px;
  font-size:12.5px;font-weight:600;color:#0f172a;cursor:pointer;
  background:#fff;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23f97316'><path d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 8px center;background-size:9px 6px;
}

/* ============================================================
   HOTEL CARDS GRID
============================================================ */
.bb-htll-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  margin-bottom:18px;
}

.bb-htll-card{
  background:#fff;border:2px solid #e2e8f0;border-radius:14px;
  overflow:hidden;display:flex;flex-direction:column;
  transition:all .2s;
}
.bb-htll-card:hover{
  border-color:#fdba74;transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(249,115,22,.18);
}

/* Image with badge + logo overlay */
.bb-htll-card-img{
  position:relative;height:180px;overflow:hidden;
}
.bb-htll-card-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .4s;
}
.bb-htll-card:hover .bb-htll-card-img img{transform:scale(1.05);}

.bb-htll-card-logo{
  position:absolute;top:10px;right:10px;
  background:rgba(15,23,42,.75);color:#fff;
  font-size:10px;font-weight:700;letter-spacing:.5px;
  padding:4px 9px;border-radius:6px;
  text-transform:uppercase;backdrop-filter:blur(4px);
}

.bb-htll-card-badge{
  position:absolute;bottom:10px;left:10px;
  background:#16a34a;color:#fff;font-size:11px;font-weight:700;
  padding:4px 11px;border-radius:99px;
  display:inline-flex;align-items:center;gap:5px;
  box-shadow:0 4px 12px rgba(22,163,74,.4);
}
.bb-htll-card-badge i{font-size:10px;}

.bb-htll-card-tag{
  position:absolute;top:10px;left:10px;
  display:inline-flex;align-items:center;gap:4px;
  background:linear-gradient(135deg,#eab308,#ca8a04);color:#fff;
  font-size:10px;font-weight:800;padding:3px 9px;border-radius:99px;
  letter-spacing:.4px;text-transform:uppercase;
  box-shadow:0 3px 10px rgba(234,179,8,.4);
}
.bb-htll-card-tag i{font-size:9px;}
.bb-htll-card-tag--teal{background:linear-gradient(135deg,#0d9488,#0f766e);
  box-shadow:0 3px 10px rgba(13,148,136,.4);}
.bb-htll-card-tag--orange{background:linear-gradient(135deg,#f97316,#ea580c);
  box-shadow:0 3px 10px rgba(249,115,22,.4);}
.bb-htll-card-tag--rose{background:linear-gradient(135deg,#e11d48,#be123c);
  box-shadow:0 3px 10px rgba(225,29,72,.4);}

/* Body */
.bb-htll-card-body{
  padding:13px 14px;display:flex;flex-direction:column;gap:7px;flex:1;
}

.bb-htll-card-name{
  font-size:15px;font-weight:800;color:#0f172a;
  display:flex;align-items:flex-start;gap:6px;line-height:1.35;
}
.bb-htll-card-name i{color:#0d9488;font-size:13px;margin-top:3px;}

.bb-htll-card-loc{
  font-size:11.5px;color:#64748b;
  display:inline-flex;align-items:center;gap:5px;
}
.bb-htll-card-loc i{color:#f97316;}

/* Amenities row */
.bb-htll-card-amen{
  display:flex;flex-wrap:wrap;gap:4px 10px;
  font-size:11.5px;color:#0f766e;
  padding:6px 0;border-top:1px dashed #e2e8f0;border-bottom:1px dashed #e2e8f0;
}
.bb-htll-card-amen span{
  display:inline-flex;align-items:center;gap:4px;
}
.bb-htll-card-amen i{color:#0d9488;font-size:10px;}

/* Check-in/out */
.bb-htll-card-times{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  position:relative;
}
.bb-htll-card-times::after{
  content:"";position:absolute;left:50%;top:5px;bottom:5px;
  border-left:1px dashed #cbd5e1;
}
.bb-htll-card-time{display:flex;flex-direction:column;gap:1px;}
.bb-htll-card-time small{
  font-size:10px;color:#94a3b8;
  display:inline-flex;align-items:center;gap:4px;
}
.bb-htll-card-time small i{color:#0d9488;font-size:10px;}
.bb-htll-card-time strong{font-size:11.5px;font-weight:700;color:#334155;}

/* Footer: price + CTA */
.bb-htll-card-foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:8px;border-top:1px dashed #e2e8f0;margin-top:auto;
}
.bb-htll-card-price{display:flex;flex-direction:column;gap:0;}
.bb-htll-card-price strong{font-size:18px;font-weight:800;color:#16a34a;line-height:1;}
.bb-htll-card-price small{font-size:11px;color:#64748b;}
.bb-htll-card-cta{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;
  text-decoration:none;border-radius:99px;padding:8px 16px;
  font-size:12.5px;font-weight:800;transition:all .15s;
  box-shadow:0 4px 12px rgba(249,115,22,.3);
}
.bb-htll-card-cta:hover{
  color:#fff;transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(249,115,22,.45);
}
.bb-htll-card-cta i{font-size:11px;}

/* ============================================================
   PAGINATION
============================================================ */
.bb-htll-pager{
  display:flex;align-items:center;justify-content:center;gap:5px;
  flex-wrap:wrap;
}
.bb-htll-pager-btn{
  min-width:36px;height:36px;padding:0 10px;border-radius:8px;
  background:#fff;border:1.5px solid #e2e8f0;color:#334155;
  font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;
}
.bb-htll-pager-btn:hover:not(:disabled){border-color:#f97316;color:#f97316;}
.bb-htll-pager-btn:disabled{opacity:.4;cursor:not-allowed;}
.bb-htll-pager-btn.is-active{
  background:#f97316;color:#fff;border-color:#f97316;
  box-shadow:0 3px 10px rgba(249,115,22,.35);
}
.bb-htll-pager-gap{color:#94a3b8;padding:0 5px;}

/* ============================================================
   HELP STRIP
============================================================ */
.bb-htll-help{
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 100%);
  border:1px solid #fed7aa;border-radius:14px;
  padding:14px 18px;
}
.bb-htll-help > i{
  width:46px;height:46px;border-radius:12px;
  background:#f97316;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto;
}
.bb-htll-help > div{flex:1;}
.bb-htll-help strong{display:block;font-size:14px;font-weight:800;color:#7c2d12;}
.bb-htll-help small{font-size:12.5px;color:#7c2d12;line-height:1.5;display:block;margin-top:2px;}
.bb-htll-help a{color:#c2410c;text-decoration:none;font-weight:700;}
.bb-htll-help-btn{
  display:inline-flex;align-items:center;gap:7px;
  background:#fff;color:#7c2d12;border:1.5px solid #fed7aa;border-radius:99px;
  padding:9px 16px;font-size:13px;font-weight:700;text-decoration:none;
  transition:all .15s;flex:0 0 auto;
}
.bb-htll-help-btn:hover{background:#f97316;color:#fff;border-color:#f97316;}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:991px){
  .bb-htll-grid{grid-template-columns:repeat(2,1fr);}
  .bb-htll-help{flex-wrap:wrap;}
  .bb-htll-help-btn{margin-left:auto;}
}

@media (max-width:767px){
  .bb-htll-navpills-arrow{display:none;}
  .bb-htll-navpills{padding:5px;}
  .bb-htll-navpills-track a{padding:7px 11px;font-size:11.5px;}

  .bb-htll-desc{padding:14px 16px;}
  .bb-htll-desc-title{font-size:17px;}
  .bb-htll-desc-sub{font-size:12px;margin:6px 0 10px;}
  .bb-htll-desc p{font-size:12.5px;line-height:1.6;}

  .bb-htll-toolbar{padding:9px 12px;}
  .bb-htll-toolbar-count{font-size:12px;}

  .bb-htll-grid{grid-template-columns:1fr;gap:12px;}
  .bb-htll-card-img{height:180px;}

  .bb-htll-pager-btn{min-width:32px;height:32px;font-size:12px;}

  .bb-htll-help{padding:12px 14px;flex-direction:column;text-align:center;}
  .bb-htll-help > i{margin:0 auto;}
  .bb-htll-help-btn{margin-left:0;width:100%;justify-content:center;}
}

@media (max-width:480px){
  .bb-htll-card-name{font-size:14px;}
  .bb-htll-card-price strong{font-size:16px;}
  .bb-htll-card-foot{flex-wrap:wrap;}
  .bb-htll-card-cta{width:100%;justify-content:center;}
}

/* ============================================================
   HOTEL DETAILS — INNOVATIVE ROOM CARDS v2 (.bb-htl-roomv2-*)
   Replaces vertical-strip cards with a 2x2 grid of "configurator" cards.
   Same data (room names, prices, capacity), redesigned visual.
============================================================ */

/* 2x2 grid container */
/* LIST style — vertical stack, each card horizontal internally */
.bb-htl-roomsv2{
  display:flex;flex-direction:column;gap:14px;margin-top:14px;
}

/* Card shell — horizontal grid (image left + body right) */
.bb-htl-roomv2{
  position:relative;background:#fff;border:2px solid #e2e8f0;border-radius:16px;
  overflow:hidden;
  display:grid;grid-template-columns:260px 1fr;align-items:stretch;
  transition:all .25s cubic-bezier(.4,0,.2,1);
}
.bb-htl-roomv2:hover{
  border-color:#fdba74;transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(249,115,22,.15);
}

/* Popular highlight (A/C DELUXE) */
.bb-htl-roomv2--popular{
  border-color:#fdba74;
  box-shadow:0 8px 24px rgba(249,115,22,.12);
}

/* Premium card (A/C SUITE) gets a gold treatment */
.bb-htl-roomv2--premium{
  border-color:#fbbf24;
  background:linear-gradient(180deg,#fffbeb 0%,#fff 50%);
  box-shadow:0 8px 24px rgba(234,179,8,.15);
}
.bb-htl-roomv2--premium:hover{
  border-color:#eab308;box-shadow:0 20px 40px rgba(234,179,8,.22);
}

/* ============================================================
   BANNER — image fills left column, diagonal cut on the right edge
============================================================ */
.bb-htl-roomv2-banner{
  position:relative;height:100%;min-height:230px;overflow:hidden;
  clip-path:polygon(0 0, 100% 0, calc(100% - 22px) 100%, 0 100%);
}
.bb-htl-roomv2-banner img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.4,0,.2,1);
}
.bb-htl-roomv2:hover .bb-htl-roomv2-banner img{transform:scale(1.08);}

/* Corner ribbon */
.bb-htl-roomv2-ribbon{
  position:absolute;top:12px;left:-32px;
  background:linear-gradient(135deg,#64748b,#475569);color:#fff;
  font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  padding:5px 36px;transform:rotate(-35deg);
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}
.bb-htl-roomv2-ribbon--green{background:linear-gradient(135deg,#10b981,#059669);}
.bb-htl-roomv2-ribbon--orange{background:linear-gradient(135deg,#f97316,#ea580c);}
.bb-htl-roomv2-ribbon--gold{background:linear-gradient(135deg,#eab308,#ca8a04);
  animation:bbHtlRibbonGlow 2.4s ease-in-out infinite;}
.bb-htl-roomv2-ribbon i{margin-right:4px;font-size:9.5px;}
@keyframes bbHtlRibbonGlow{
  0%,100%{box-shadow:0 4px 12px rgba(0,0,0,.2),0 0 0 rgba(234,179,8,0);}
  50%{box-shadow:0 4px 12px rgba(0,0,0,.2),0 0 16px rgba(234,179,8,.55);}
}

/* AC / Non-AC chip */
.bb-htl-roomv2-actype{
  position:absolute;bottom:12px;left:12px;
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(15,23,42,.78);color:#fff;backdrop-filter:blur(6px);
  font-size:11px;font-weight:700;padding:5px 11px;border-radius:99px;
  letter-spacing:.4px;
}
.bb-htl-roomv2-actype--ac{background:rgba(13,148,136,.92);}
.bb-htl-roomv2-actype--nonac{background:rgba(100,116,139,.92);}
.bb-htl-roomv2-actype i{font-size:11px;}

/* ============================================================
   BODY
============================================================ */
.bb-htl-roomv2-body{
  padding:14px 16px 16px;display:flex;flex-direction:column;gap:11px;flex:1;
}

/* Title row */
.bb-htl-roomv2-titlerow{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
}
.bb-htl-roomv2-name{
  font-size:14.5px;font-weight:800;color:#0f172a;line-height:1.3;flex:1;min-width:0;
}
.bb-htl-roomv2-tier{
  flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:1px;
  padding:3px 9px;border-radius:99px;text-transform:uppercase;
}
.bb-htl-roomv2-tier[data-tier="budget"]{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;}
.bb-htl-roomv2-tier[data-tier="standard"]{background:#ccfbf1;color:#0f766e;border:1px solid #5eead4;}
.bb-htl-roomv2-tier[data-tier="deluxe"]{background:#fed7aa;color:#9a3412;border:1px solid #fb923c;}
.bb-htl-roomv2-tier[data-tier="premium"]{
  background:linear-gradient(135deg,#fde047,#facc15);color:#78350f;
  border:1px solid #ca8a04;
}

/* Capacity */
.bb-htl-roomv2-capacity{
  background:#f8fafc;border:1px dashed #e2e8f0;border-radius:10px;
  padding:9px 12px;display:flex;flex-direction:column;gap:6px;
}
.bb-htl-roomv2-capacity > small{
  font-size:10px;font-weight:700;color:#64748b;
  text-transform:uppercase;letter-spacing:.6px;
  display:flex;align-items:center;gap:5px;
}
.bb-htl-roomv2-capacity > small i{color:#f97316;font-size:10px;}

/* Person bubbles */
.bb-htl-roomv2-bubbles{
  display:flex;flex-wrap:wrap;gap:5px;align-items:center;
}
.bb-htl-roomv2-bub{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  font-size:11px;flex:0 0 auto;
  transition:transform .15s;
}
.bb-htl-roomv2-bub:hover{transform:scale(1.15);}
.bb-htl-roomv2-bub--adult{
  background:#ccfbf1;color:#0d9488;border:1.5px solid #5eead4;
}
.bb-htl-roomv2-bub--child{
  background:#ffe4e6;color:#e11d48;border:1.5px solid #fda4af;
  width:24px;height:24px;font-size:10px;
}

.bb-htl-roomv2-capnums{
  font-size:11px;font-weight:700;color:#475569;letter-spacing:.3px;
}

/* Amenity icons strip */
.bb-htl-roomv2-amen{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
}
.bb-htl-roomv2-amen span{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:8px;
  background:#ecfdf5;color:#0d9488;font-size:12px;
  border:1px solid #6ee7b7;cursor:help;transition:all .15s;
}
.bb-htl-roomv2-amen span:hover{
  background:#0d9488;color:#fff;border-color:#0d9488;transform:translateY(-2px);
}

/* Info line */
.bb-htl-roomv2-info{
  display:flex;align-items:center;gap:6px;
  font-size:11.5px;color:#7c2d12;
  background:#fff7ed;border:1px dashed #fed7aa;border-radius:7px;
  padding:5px 10px;
}
.bb-htl-roomv2-info i{color:#f97316;font-size:11px;}

/* Footer: price + book button */
.bb-htl-roomv2-foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:10px;border-top:1px dashed #e2e8f0;margin-top:auto;
}
.bb-htl-roomv2-pricecol{display:flex;flex-direction:column;gap:0;line-height:1.1;}
.bb-htl-roomv2-pricecol small{
  font-size:9px;font-weight:800;color:#64748b;letter-spacing:1px;
}
.bb-htl-roomv2-pricecol strong{
  font-size:20px;font-weight:800;color:#16a34a;letter-spacing:-.3px;
  display:inline-flex;align-items:baseline;gap:3px;
}
.bb-htl-roomv2-pricecol strong em{
  font-size:9.5px;font-style:normal;font-weight:700;color:#dc2626;letter-spacing:.3px;
}
.bb-htl-roomv2-pricecol > span{
  font-size:10.5px;color:#94a3b8;letter-spacing:.3px;
}

/* Premium room → orange gradient price */
.bb-htl-roomv2--premium .bb-htl-roomv2-pricecol strong{
  background:linear-gradient(135deg,#f97316,#ea580c);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

.bb-htl-roomv2-book{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;
  border:none;border-radius:99px;padding:9px 16px;
  font-size:12.5px;font-weight:800;cursor:pointer;letter-spacing:.3px;
  box-shadow:0 5px 14px rgba(249,115,22,.4);
  transition:all .18s;position:relative;overflow:hidden;
}
.bb-htl-roomv2-book::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,#fb923c,#f97316);
  opacity:0;transition:opacity .2s;
}
.bb-htl-roomv2-book:hover{
  transform:translateY(-2px);box-shadow:0 10px 22px rgba(249,115,22,.55);
}
.bb-htl-roomv2-book:hover::before{opacity:1;}
.bb-htl-roomv2-book > *{position:relative;z-index:1;}
.bb-htl-roomv2-book i:last-child{
  transition:transform .2s;
}
.bb-htl-roomv2-book:hover i:last-child{transform:translateX(3px);}

/* Premium room → gold accent on book button */
.bb-htl-roomv2--premium .bb-htl-roomv2-book{
  background:linear-gradient(135deg,#eab308 0%,#ca8a04 100%);
  box-shadow:0 5px 14px rgba(234,179,8,.45);
}
.bb-htl-roomv2--premium .bb-htl-roomv2-book::before{
  background:linear-gradient(135deg,#facc15,#eab308);
}
.bb-htl-roomv2--premium .bb-htl-roomv2-book:hover{
  box-shadow:0 10px 22px rgba(234,179,8,.6);
}

/* ============================================================
   RESPONSIVE
============================================================ */
/* Tablet: narrower image column */
@media (max-width:991px){
  .bb-htl-roomv2{grid-template-columns:210px 1fr;}
  .bb-htl-roomv2-banner{min-height:210px;}
}

/* Phone: stack vertically (image on top, body below) */
@media (max-width:767px){
  .bb-htl-roomv2{grid-template-columns:1fr;}
  .bb-htl-roomv2-banner{
    height:160px;min-height:160px;
    clip-path:polygon(0 0, 100% 0, 100% calc(100% - 14px), 0 100%);
  }
  .bb-htl-roomv2-actype{bottom:20px;left:12px;font-size:10.5px;padding:4px 9px;}
  .bb-htl-roomv2-body{padding:12px 14px 14px;gap:9px;}
  .bb-htl-roomv2-ribbon{top:10px;left:-30px;padding:4px 32px;font-size:9.5px;}
  .bb-htl-roomv2-name{font-size:13.5px;}
  .bb-htl-roomv2-tier{font-size:9px;padding:2px 7px;}
  .bb-htl-roomv2-bub{width:26px;height:26px;}
  .bb-htl-roomv2-bub--child{width:22px;height:22px;}
  .bb-htl-roomv2-amen span{width:26px;height:26px;font-size:11px;}
  .bb-htl-roomv2-pricecol strong{font-size:18px;}
  .bb-htl-roomv2-book{padding:8px 14px;font-size:12px;}
}

@media (max-width:480px){
  .bb-htl-roomv2-foot{flex-direction:column;align-items:stretch;gap:9px;}
  .bb-htl-roomv2-pricecol{align-items:flex-start;}
  .bb-htl-roomv2-book{justify-content:center;}
  .bb-htl-roomv2-titlerow{flex-direction:column;align-items:flex-start;gap:5px;}
  .bb-htl-roomv2-banner{height:140px;min-height:140px;}
}

/* ============================================================
   HOTEL — PRIMARY GUEST DETAILS VIEW (.bb-htl-detail)
   Clean label / value pair list for confirmation page
============================================================ */
.bb-htl-detail{
  margin:0;padding:0;
  display:flex;flex-direction:column;
  background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;
}
.bb-htl-detail-row{
  display:grid;grid-template-columns:140px 1fr;align-items:center;gap:14px;
  padding:11px 14px;border-bottom:1px solid #f1f5f9;
  transition:background .15s;
}
.bb-htl-detail-row:last-child{border-bottom:none;}
.bb-htl-detail-row:hover{background:#fff7ed;}

.bb-htl-detail dt{
  display:inline-flex;align-items:center;gap:7px;
  font-size:11px;font-weight:800;color:#64748b;
  text-transform:uppercase;letter-spacing:.6px;margin:0;
}
.bb-htl-detail dt i{
  width:24px;height:24px;border-radius:7px;
  background:#fff7ed;color:#f97316;font-size:12px;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
}

.bb-htl-detail dd{
  margin:0;font-size:13.5px;color:#0f172a;font-weight:600;
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
}
.bb-htl-detail dd strong{font-weight:800;color:#0f172a;}
.bb-htl-detail-meta{
  font-size:11.5px;font-weight:600;color:#94a3b8;
  background:#f1f5f9;padding:2px 8px;border-radius:99px;
}

/* MOBILE — stack label above value */
@media (max-width:640px){
  .bb-htl-detail-row{
    grid-template-columns:1fr;gap:4px;padding:10px 12px;
  }
  .bb-htl-detail dt{font-size:10px;}
  .bb-htl-detail dt i{width:20px;height:20px;font-size:10.5px;}
  .bb-htl-detail dd{font-size:13px;}
}

/* ============================================================
   HOTEL BOOKING FAILED — fail-specific styles
============================================================ */

/* Red hero variant */
.bb-htl-confirm-hero--failed{
  background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);
  box-shadow:0 12px 32px rgba(220,38,38,.28);
}
.bb-htl-confirm-hero--failed .bb-htl-confirm-hero-ico{
  color:#dc2626;
}
.bb-htl-confirm-statusfail{color:#dc2626 !important;font-weight:800;}

/* Failed reasons card */
.bb-htl-bookcard--fail{
  border-color:#fecaca;background:linear-gradient(180deg,#fef2f2 0%,#fff 35%);
}
.bb-htl-bookcard--fail .bb-htl-bookcard-title{
  border-bottom-color:#fecaca;
}
.bb-htl-bookcard--fail .bb-htl-bookcard-title i{color:#dc2626;}

.bb-htl-fail-reasons{
  list-style:none;padding:0;margin:0 0 12px;
  display:flex;flex-direction:column;gap:6px;
}
.bb-htl-fail-reasons li{
  display:flex;align-items:flex-start;gap:9px;
  font-size:13px;color:#7f1d1d;line-height:1.5;
  background:#fff;border:1px solid #fecaca;border-radius:8px;
  padding:8px 12px;
}
.bb-htl-fail-reasons li i{color:#dc2626;margin-top:3px;flex:0 0 auto;font-size:11px;}

.bb-htl-fail-actions{
  display:flex;gap:10px;margin:0 0 12px;flex-wrap:wrap;
}
.bb-htl-fail-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:#fff;color:#0f172a;border:1.5px solid #e2e8f0;border-radius:99px;
  padding:11px 22px;font-size:13.5px;font-weight:800;text-decoration:none;cursor:pointer;
  transition:all .15s;flex:1;min-width:160px;
}
.bb-htl-fail-btn:hover{border-color:#f97316;color:#f97316;}
.bb-htl-fail-btn i{color:#f97316;}
.bb-htl-fail-btn--primary{
  background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);
  color:#fff;border-color:#f97316;
  box-shadow:0 6px 18px rgba(249,115,22,.35);
}
.bb-htl-fail-btn--primary:hover{
  color:#fff;border-color:#f97316;transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(249,115,22,.5);
}
.bb-htl-fail-btn--primary i{color:#fff;}

.bb-htl-fail-refund{
  display:flex;align-items:flex-start;gap:11px;
  background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;
  padding:11px 14px;
}
.bb-htl-fail-refund i{color:#1d4ed8;font-size:18px;margin-top:1px;flex:0 0 auto;}
.bb-htl-fail-refund div{font-size:13px;color:#1e3a8a;line-height:1.55;}
.bb-htl-fail-refund strong{color:#1e3a8a;}
.bb-htl-fail-refund a{color:#1d4ed8;text-decoration:none;font-weight:700;}

/* FAQ accordions */
.bb-htl-fail-faq{display:flex;flex-direction:column;gap:6px;}
.bb-htl-fail-faq details{
  background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;
  overflow:hidden;transition:border-color .15s;
}
.bb-htl-fail-faq details[open]{border-color:#fed7aa;background:#fff7ed;}
.bb-htl-fail-faq summary{
  padding:11px 14px;font-size:13.5px;font-weight:700;color:#0f172a;
  cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.bb-htl-fail-faq summary::-webkit-details-marker{display:none;}
.bb-htl-fail-faq summary::after{
  content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;
  color:#f97316;font-size:11px;transition:transform .2s;
}
.bb-htl-fail-faq details[open] summary::after{transform:rotate(180deg);}
.bb-htl-fail-faq p{
  margin:0;padding:0 14px 12px;font-size:12.5px;color:#475569;line-height:1.6;
}
.bb-htl-fail-faq strong{color:#0f172a;}
.bb-htl-fail-faq a{color:#f97316;text-decoration:none;font-weight:700;}

/* Failed total (red) */
.bb-htl-farecard-total--fail{
  background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);
  border-color:#fecaca;
}
.bb-htl-farecard-total--fail span{color:#7f1d1d;}
.bb-htl-farecard-total--fail strong{color:#dc2626;}

/* Not charged status */
.bb-htl-fail-paystatus{
  display:flex;align-items:flex-start;gap:10px;
  background:#fef2f2;border:1px solid #fecaca;border-radius:10px;
  padding:10px 13px;margin-top:11px;
}
.bb-htl-fail-paystatus i{color:#dc2626;font-size:18px;margin-top:1px;flex:0 0 auto;}
.bb-htl-fail-paystatus strong{display:block;font-size:13.5px;color:#7f1d1d;font-weight:800;}
.bb-htl-fail-paystatus small{font-size:11.5px;color:#7f1d1d;line-height:1.45;display:block;margin-top:1px;}

/* ============================================================
   HOTEL DETAILS — "Send Enquiry" secondary button in queries card
============================================================ */
.bb-htl-queries-enquiry{
  display:flex;align-items:center;justify-content:center;gap:7px;
  background:#fff;color:#0d9488;border:1.5px dashed #5eead4;border-radius:99px;
  padding:9px;font-size:13px;font-weight:700;text-decoration:none;
  margin-top:8px;transition:all .15s;
}
.bb-htl-queries-enquiry:hover{
  background:#0d9488;color:#fff;border-color:#0d9488;border-style:solid;
}
.bb-htl-queries-enquiry i{font-size:12px;}

/* ============================================================
   HOTEL ENQUIRY PAGE (.bb-htl-enq-*)
============================================================ */

/* Intro note */
.bb-htl-enq-intro{
  display:flex;align-items:flex-start;gap:12px;
  background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);
  border:1px solid #6ee7b7;border-radius:12px;
  padding:12px 14px;margin-bottom:14px;
}
.bb-htl-enq-intro i{color:#059669;font-size:18px;margin-top:1px;flex:0 0 auto;}
.bb-htl-enq-intro p{margin:0;font-size:13px;color:#065f46;line-height:1.55;}
.bb-htl-enq-intro strong{color:#064e3b;}

/* Booking Details grid */
.bb-htl-enq-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}

.bb-htl-enq-optional{
  font-size:11px;font-weight:500;color:#94a3b8;letter-spacing:0;
}

.bb-htl-enq-textarea{
  width:100%;border:2px solid #e2e8f0;border-radius:10px;
  padding:11px 13px;font-size:13.5px;font-weight:500;color:#0f172a;
  background:#fff;resize:vertical;min-height:80px;font-family:inherit;
  transition:all .15s;
}
.bb-htl-enq-textarea:focus{
  border-color:#f97316;outline:none;
  box-shadow:0 0 0 3px rgba(249,115,22,.15);
}

.bb-htl-enq-note{
  margin:10px 0 0;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;
  padding:8px 11px;font-size:12px;color:#7c2d12;
  display:flex;align-items:center;gap:6px;
}
.bb-htl-enq-note i{color:#f97316;}
.bb-htl-enq-note strong{color:#7c2d12;}

/* Estimated Fare card (sidebar) */
.bb-htl-enq-farecard{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:16px 18px;position:sticky;top:80px;
  box-shadow:0 4px 18px rgba(15,23,42,.06);margin-bottom:12px;
}
.bb-htl-enq-farecard-title{
  display:flex;align-items:center;gap:8px;
  font-size:15px;font-weight:800;color:#0f172a;margin:0 0 2px;
  padding-bottom:7px;border-bottom:2px solid #f97316;
}
.bb-htl-enq-farecard-title i{color:#f97316;}
.bb-htl-enq-farecard-sub{
  display:block;font-size:11px;color:#64748b;
  text-transform:uppercase;letter-spacing:.5px;margin:8px 0 10px;
}

.bb-htl-enq-faretable{
  width:100%;border-collapse:separate;border-spacing:0;
  background:#fafafa;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;
  margin-bottom:10px;
}
.bb-htl-enq-faretable thead th{
  background:#fff7ed;color:#7c2d12;font-size:11.5px;font-weight:800;
  text-align:left;padding:8px 11px;letter-spacing:.4px;text-transform:uppercase;
  border-bottom:1px solid #fed7aa;
}
.bb-htl-enq-faretable td{
  padding:9px 11px;font-size:13px;color:#334155;
  border-bottom:1px solid #f1f5f9;
}
.bb-htl-enq-faretable tbody tr:last-child td{border-bottom:none;}
.bb-htl-enq-faretable tbody tr:hover td{background:#fff;}
.bb-htl-enq-faretable strong{color:#16a34a;font-weight:800;font-size:13.5px;}
.bb-htl-enq-faretable-right{text-align:right;}

.bb-htl-enq-farecard-note{
  display:flex;align-items:flex-start;gap:8px;
  background:#fef2f2;border:1px dashed #fecaca;border-radius:8px;
  padding:8px 11px;margin:0 0 12px;
  font-size:11.5px;color:#7f1d1d;line-height:1.5;
}
.bb-htl-enq-farecard-note i{color:#dc2626;font-size:11px;margin-top:2px;flex:0 0 auto;}

.bb-htl-enq-submit{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);
  color:#fff;border:none;border-radius:99px;padding:13px;
  font-size:14.5px;font-weight:800;cursor:pointer;letter-spacing:.3px;
  box-shadow:0 6px 18px rgba(249,115,22,.4);
  transition:all .18s;
}
.bb-htl-enq-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(249,115,22,.55);
}

.bb-htl-enq-secure{
  display:flex;align-items:center;gap:7px;justify-content:center;
  margin-top:10px;padding-top:10px;border-top:1px dashed #e2e8f0;
  font-size:11px;color:#64748b;
}
.bb-htl-enq-secure i{color:#16a34a;}

/* Quick contact buttons */
.bb-htl-enq-quickcontact{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:13px 14px;text-align:center;
}
.bb-htl-enq-quickcontact h4{
  margin:0 0 9px;font-size:12.5px;font-weight:800;color:#0f172a;
  text-transform:uppercase;letter-spacing:.5px;
}
.bb-htl-enq-quickcontact-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:#fff;color:#0f172a;border:1.5px solid #e2e8f0;border-radius:10px;
  padding:9px;font-size:13px;font-weight:700;text-decoration:none;
  margin-bottom:6px;transition:all .15s;
}
.bb-htl-enq-quickcontact-btn:last-child{margin-bottom:0;}
.bb-htl-enq-quickcontact-btn:hover{border-color:#f97316;color:#f97316;}
.bb-htl-enq-quickcontact-btn i{color:#f97316;}
.bb-htl-enq-quickcontact-btn--wa{background:#25d366;color:#fff;border-color:#25d366;}
.bb-htl-enq-quickcontact-btn--wa:hover{background:#1ebe5d;color:#fff;border-color:#1ebe5d;}
.bb-htl-enq-quickcontact-btn--wa i{color:#fff;}

/* Responsive */
@media (max-width:991px){
  .bb-htl-enq-grid{grid-template-columns:1fr;}
  .bb-htl-enq-farecard{position:static;}
}

@media (max-width:767px){
  .bb-htl-enq-intro{padding:10px 12px;}
  .bb-htl-enq-intro p{font-size:12px;}
  .bb-htl-enq-faretable thead th,
  .bb-htl-enq-faretable td{padding:7px 9px;font-size:12px;}
}

/* ============================================================
   HOTEL DETAILS — MOBILE STICKY BOTTOM BAR
   Hidden on desktop (queries card is already sticky in right column),
   shows on phones/tablets where queries card is at the bottom of the page.
============================================================ */
.bb-htl-stickybar{
  display:flex;
  position:fixed;left:0;right:0;bottom:0;z-index:95;
  background:#fff;border-top:1px solid #e2e8f0;
  box-shadow:0 -8px 22px rgba(15,23,42,.12);
  padding:10px 14px;
  align-items:center;gap:12px;
  animation:bbHtlStickyUp .35s ease;
}
/* On mobile + tablet (where the canonical bottom mobile-nav is visible
   at z-index:90 with ~58px height), stack the booking CTA bar ABOVE it
   so both stay accessible. */
@media (max-width:991px){
  .bb-htl-stickybar{bottom:58px;}
}
@keyframes bbHtlStickyUp{
  from{transform:translateY(100%);}
  to{transform:translateY(0);}
}

.bb-htl-stickybar-meta{
  flex:0 0 auto;display:flex;flex-direction:column;line-height:1.05;
  padding-right:8px;
}
.bb-htl-stickybar-meta small{
  font-size:9.5px;font-weight:700;color:#94a3b8;
  text-transform:uppercase;letter-spacing:.5px;
}
.bb-htl-stickybar-meta strong{
  font-size:15px;font-weight:800;color:#16a34a;
}
.bb-htl-stickybar-meta strong em{
  font-size:10px;color:#64748b;font-style:normal;font-weight:600;
}

.bb-htl-stickybar-btn{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border-radius:99px;padding:10px;font-size:12.5px;font-weight:800;
  text-decoration:none;text-align:center;transition:all .15s;
  white-space:nowrap;
}
.bb-htl-stickybar-btn i{font-size:11px;}
.bb-htl-stickybar-btn--enquiry{
  background:#fff;color:#0d9488;border:1.5px dashed #5eead4;
}
.bb-htl-stickybar-btn--enquiry:hover{
  background:#0d9488;color:#fff;border-color:#0d9488;border-style:solid;
}
.bb-htl-stickybar-btn--book{
  background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);
  color:#fff;border:1.5px solid #f97316;
  box-shadow:0 4px 12px rgba(249,115,22,.4);
}
.bb-htl-stickybar-btn--book:hover{
  transform:translateY(-1px);color:#fff;
  box-shadow:0 8px 18px rgba(249,115,22,.55);
}

/* Body padding only when the hotel sticky booking bar is present on the page.
   Uses :has() — supported Chrome 105+, Firefox 121+, Safari 15.4+
   Desktop: Book Now bar ~70px. Mobile: booking bar + mobile nav ~120px */
body:has(.bb-htl-stickybar){padding-bottom:72px;}
@media (max-width:991px){
  body:has(.bb-htl-stickybar){padding-bottom:120px;}
  /* listing pages keep the mobile nav (~58px): bar sits above it, float above the bar */
  body:has(.bb-htl-stickybar) .bb-wa-float{bottom:124px;}
  /* booking pages hide the mobile nav → drop the bar flush to the bottom (no empty gap),
     trim the body padding, and lower the float to sit just above the bar */
  body.bb-page-booking .bb-htl-stickybar{bottom:0;}
  body.bb-page-booking:has(.bb-htl-stickybar){padding-bottom:66px;}
  body.bb-page-booking:has(.bb-htl-stickybar) .bb-wa-float{bottom:84px;}
}

/* Desktop: center bar contents + roomier buttons */
@media (min-width:992px){
  .bb-htl-stickybar{justify-content:center;padding:12px 16px;gap:18px;}
  .bb-htl-stickybar-meta{padding-right:18px;border-right:1px dashed #e2e8f0;}
  .bb-htl-stickybar-meta strong{font-size:18px;}
  .bb-htl-stickybar-btn{flex:0 0 auto;min-width:200px;padding:12px 26px;font-size:14px;}
}

/* Small phone tighter */
@media (max-width:480px){
  .bb-htl-stickybar{padding:7px 8px;gap:6px;}
  .bb-htl-stickybar-meta{padding-right:5px;}
  .bb-htl-stickybar-meta strong{font-size:14px;}
  .bb-htl-stickybar-btn{padding:9px 8px;font-size:11.5px;gap:5px;}
  body:has(.bb-htl-stickybar){padding-bottom:114px;}
}

/* ============================================================
   MANAGE BOOKINGS (.bb-mgb-*) v3
   4 pages: print-sms-ticket, cancel-ticket, reschedule-ticket, my-bookings
   Theme: Orange #f97316 · Teal #0d9488 · Amber #eab308 · Rose #e11d48
============================================================ */

/* Shared main wrap */
.bb-mgb-main{padding:14px 0 30px;}
.bb-mgb-section{margin-bottom:14px;}

/* ============================================================
   RIBBON (shared across all 4 pages)
============================================================ */
.bb-mgb-ribbon{
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 60%,#c2410c 100%);
  color:#fff;padding:16px 20px;border-radius:16px;position:relative;overflow:hidden;
  margin-bottom:14px;box-shadow:0 8px 22px rgba(249,115,22,.2);
  flex-wrap:wrap;
}
.bb-mgb-ribbon::after{
  content:"";position:absolute;top:-40px;right:-30px;
  width:160px;height:160px;background:rgba(255,255,255,.08);
  border-radius:50%;pointer-events:none;
}
.bb-mgb-ribbon--rose{
  background:linear-gradient(135deg,#e11d48 0%,#be123c 60%,#9f1239 100%);
  box-shadow:0 8px 22px rgba(225,29,72,.22);
}
.bb-mgb-ribbon-ico{
  flex:0 0 auto;width:48px;height:48px;border-radius:12px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;
}
.bb-mgb-ribbon-back{
  flex:0 0 auto;width:36px;height:36px;border-radius:10px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  color:#fff;display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:background .15s;
}
.bb-mgb-ribbon-back:hover{background:rgba(255,255,255,.3);}
.bb-mgb-ribbon-body{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px;}
.bb-mgb-ribbon-label{
  font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:rgba(255,255,255,.85);
}
.bb-mgb-ribbon-title{font-size:18px;font-weight:800;color:#fff;line-height:1.3;}
.bb-mgb-ribbon-body p{margin:5px 0 0;font-size:12.5px;color:rgba(255,255,255,.92);line-height:1.45;}
.bb-mgb-ribbon-rating{
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  border-radius:99px;padding:6px 14px;font-size:13px;font-weight:700;color:#fff;
}
.bb-mgb-ribbon-rating i{color:#fde047;}
.bb-mgb-ribbon-link{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);
  color:#fff;text-decoration:none;padding:8px 14px;border-radius:10px;
  font-size:12.5px;font-weight:600;transition:background .15s;
}
.bb-mgb-ribbon-link:hover{background:rgba(255,255,255,.28);color:#fff;}

/* ============================================================
   WIZARD STEPS (cancel + reschedule pages)
============================================================ */
.bb-mgb-steps{
  list-style:none;padding:0;margin:0;
  display:flex;background:#fff;border:1px solid #e2e8f0;border-radius:12px;
  padding:8px;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;
}
.bb-mgb-steps li{
  flex:1;min-width:120px;scroll-snap-align:start;
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:8px;font-size:12.5px;font-weight:700;color:#94a3b8;
  background:#f8fafc;
}
.bb-mgb-steps li span{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;background:#e2e8f0;color:#64748b;
  font-size:12px;font-weight:800;flex:0 0 auto;
}
.bb-mgb-steps li.is-active{background:#fff7ed;color:#7c2d12;}
.bb-mgb-steps li.is-active span{background:#f97316;color:#fff;}
.bb-mgb-steps li.is-done{background:#ecfdf5;color:#065f46;}
.bb-mgb-steps li.is-done span{background:#10b981;color:#fff;}
.bb-mgb-steps li.is-done span i{font-size:10px;}

/* ============================================================
   PAGE 1: SERVICE TYPE TABS + LOOKUP CARD
============================================================ */
.bb-mgb-svctabs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;
  background:#f1f5f9;padding:5px;border-radius:12px;
}
.bb-mgb-svctabs--small{grid-template-columns:repeat(6,1fr);}
.bb-mgb-svctab{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:transparent;color:#475569;border:none;border-radius:8px;
  padding:10px 12px;font-size:13px;font-weight:700;cursor:pointer;
  transition:all .15s;
}
.bb-mgb-svctab:hover{color:#0f172a;}
.bb-mgb-svctab.is-active{
  background:#fff;color:#f97316;box-shadow:0 2px 6px rgba(15,23,42,.08);
}
.bb-mgb-svctab-ico{
  width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;
  justify-content:center;font-size:13px;color:#fff;flex:0 0 auto;
}
.bb-mgb-svctab-ico[data-color="orange"]{background:#f97316;}
.bb-mgb-svctab-ico[data-color="teal"]{background:#0d9488;}
.bb-mgb-svctab-ico[data-color="amber"]{background:#eab308;}
.bb-mgb-svctab-count{
  font-size:11px;font-weight:600;color:#64748b;
  background:#f1f5f9;padding:1px 8px;border-radius:99px;margin-left:3px;
}
.bb-mgb-svctab.is-active .bb-mgb-svctab-count{background:#fff7ed;color:#c2410c;}

/* Lookup card */
.bb-mgb-lookcard{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;
}
.bb-mgb-lookcard-title{
  text-align:center;font-size:17px;font-weight:800;color:#f97316;
  margin:0 0 12px;padding-bottom:8px;
  border-bottom:2px solid #f97316;width:fit-content;
  margin-left:auto;margin-right:auto;
  display:flex;align-items:center;gap:8px;
}
.bb-mgb-lookcard-title small{
  display:block;font-size:11.5px;color:#64748b;font-weight:500;
  margin-top:3px;text-align:center;
}

.bb-mgb-lookcard-field{margin-bottom:12px;}
.bb-mgb-lookcard-field label{
  display:flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;color:#334155;margin-bottom:5px;
  text-transform:uppercase;letter-spacing:.4px;
}
.bb-mgb-lookcard-field label i{color:#f97316;}
.bb-mgb-lookcard-field label em{color:#dc2626;font-style:normal;}
.bb-mgb-lookcard-field input{
  width:100%;border:2px solid #e2e8f0;border-radius:10px;
  padding:11px 14px;font-size:14px;font-weight:600;color:#0f172a;background:#fff;
  transition:all .15s;
}
.bb-mgb-lookcard-field input:focus{
  border-color:#f97316;outline:none;box-shadow:0 0 0 3px rgba(249,115,22,.15);
}

.bb-mgb-lookcard-orsep{
  text-align:center;margin:6px 0 8px;position:relative;
}
.bb-mgb-lookcard-orsep::before{
  content:"";position:absolute;left:0;right:0;top:50%;
  border-top:1px dashed #e2e8f0;
}
.bb-mgb-lookcard-or{
  position:relative;background:#fff;padding:0 10px;
  font-size:11px;font-weight:700;color:#94a3b8;
  text-transform:uppercase;letter-spacing:.5px;
}

.bb-mgb-lookcard-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;
}

.bb-mgb-lookcard-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);
  color:#fff;border:none;border-radius:99px;padding:13px;
  font-size:15px;font-weight:800;cursor:pointer;
  box-shadow:0 6px 18px rgba(249,115,22,.4);transition:all .18s;
}
.bb-mgb-lookcard-btn:hover{transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(249,115,22,.55);}

/* Help card sidebar */
.bb-mgb-helpcard{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;
}
.bb-mgb-helpcard h4{
  margin:0 0 6px;font-size:14px;font-weight:800;color:#0f172a;
  display:flex;align-items:center;gap:7px;
}
.bb-mgb-helpcard h4 i{color:#f97316;}
.bb-mgb-helpcard p{margin:0 0 12px;font-size:13px;color:#475569;line-height:1.55;}
.bb-mgb-helpcard-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:#fff;color:#0d9488;border:1.5px dashed #5eead4;border-radius:99px;
  padding:11px;font-size:13.5px;font-weight:700;text-decoration:none;
  transition:all .15s;margin-bottom:6px;
}
.bb-mgb-helpcard-btn:hover{
  background:#0d9488;color:#fff;border-color:#0d9488;border-style:solid;
}
.bb-mgb-helpcard-divider{
  border:0;border-top:1px dashed #e2e8f0;margin:14px 0;
}
.bb-mgb-helpcard-call{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:#fff;color:#0f172a;border:1.5px solid #e2e8f0;border-radius:10px;
  padding:10px;font-size:14px;font-weight:800;text-decoration:none;
  margin-bottom:6px;transition:all .15s;
}
.bb-mgb-helpcard-call i{color:#f97316;}
.bb-mgb-helpcard-call:hover{border-color:#f97316;color:#f97316;}
.bb-mgb-helpcard-wa{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:#25d366;color:#fff;border:1.5px solid #25d366;border-radius:10px;
  padding:10px;font-size:14px;font-weight:800;text-decoration:none;
  transition:all .15s;
}
.bb-mgb-helpcard-wa:hover{background:#1ebe5d;border-color:#1ebe5d;color:#fff;}

/* Found booking + quick actions */
.bb-mgb-foundcard{
  background:#fff;border:2px solid #fed7aa;border-radius:14px;overflow:hidden;
  box-shadow:0 6px 18px rgba(249,115,22,.12);
}
.bb-mgb-foundcard-head{
  background:linear-gradient(135deg,#fff7ed,#ffedd5);
  padding:14px 18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  border-bottom:1px dashed #fed7aa;
}
.bb-mgb-foundcard-pnr{display:flex;flex-direction:column;gap:1px;}
.bb-mgb-foundcard-pnr small{
  font-size:10.5px;font-weight:700;color:#7c2d12;
  text-transform:uppercase;letter-spacing:.5px;
}
.bb-mgb-foundcard-pnr strong{font-size:15px;font-weight:800;color:#0f172a;letter-spacing:.4px;}
.bb-mgb-foundcard-status{
  display:inline-flex;align-items:center;
  background:#16a34a;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.5px;
  padding:3px 10px;border-radius:99px;margin-top:4px;width:fit-content;
}
.bb-mgb-foundcard-trip{display:flex;flex-direction:column;gap:2px;text-align:right;}
.bb-mgb-foundcard-trip strong{font-size:15px;font-weight:800;color:#0f172a;}
.bb-mgb-foundcard-trip span{font-size:12px;color:#475569;}
.bb-mgb-foundcard-trip i{color:#f97316;margin-right:4px;}

.bb-mgb-foundcard-actions{
  display:grid;grid-template-columns:repeat(7,1fr);gap:6px;
  padding:12px 14px;
}
.bb-mgb-act{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  background:#fff;color:#0f172a;border:1.5px solid #e2e8f0;border-radius:10px;
  padding:11px 6px;font-size:11.5px;font-weight:700;cursor:pointer;text-decoration:none;
  text-align:center;transition:all .15s;
}
.bb-mgb-act:hover{transform:translateY(-2px);border-color:#f97316;color:#f97316;}
.bb-mgb-act i{font-size:18px;color:#f97316;}
.bb-mgb-act--cancel{border-color:#fecaca;color:#7f1d1d;}
.bb-mgb-act--cancel i{color:#dc2626;}
.bb-mgb-act--cancel:hover{background:#fef2f2;border-color:#dc2626;color:#7f1d1d;}
.bb-mgb-act--reschd{border-color:#fef3c7;color:#7c2d12;}
.bb-mgb-act--reschd i{color:#eab308;}
.bb-mgb-act--reschd:hover{background:#fffbeb;border-color:#eab308;color:#78350f;}

/* ============================================================
   PAGE 2 & 3: TICKET CARD (used by cancel + reschedule)
============================================================ */
.bb-mgb-bookcard{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;
  margin-bottom:12px;
}
.bb-mgb-bookcard-title{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:14px;font-weight:800;color:#0f172a;margin:0 0 12px;
  padding-bottom:8px;border-bottom:1px solid #e2e8f0;
}
.bb-mgb-bookcard-title i{color:#f97316;font-size:13px;}
.bb-mgb-bookcard-title small{font-size:11.5px;font-weight:500;color:#94a3b8;}
.bb-mgb-bookcard-sub{
  margin:14px 0 4px;font-size:13px;font-weight:800;color:#0f172a;
  display:flex;align-items:center;gap:6px;
}
.bb-mgb-bookcard-sub i{color:#0d9488;}
.bb-mgb-bookcard-help{font-size:12px;color:#64748b;margin:0 0 10px;}
.bb-mgb-optional{font-size:11px;font-weight:500;color:#94a3b8;letter-spacing:0;}

.bb-mgb-ticket{
  background:#fafafa;border:1px dashed #e2e8f0;border-radius:12px;padding:14px;
}
.bb-mgb-ticket-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;
  margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed #cbd5e1;
}
.bb-mgb-ticket-op{font-size:14px;font-weight:800;color:#0f172a;}
.bb-mgb-ticket-op i{color:#f97316;margin-right:5px;}
.bb-mgb-ticket-buz{font-size:12px;color:#64748b;}
.bb-mgb-ticket-route{
  display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:12px;
}
.bb-mgb-ticket-pt{display:flex;flex-direction:column;align-items:center;gap:0;}
.bb-mgb-ticket-pt strong{font-size:20px;font-weight:800;color:#0f172a;line-height:1;}
.bb-mgb-ticket-pt small{font-size:11.5px;color:#64748b;margin-top:2px;}
.bb-mgb-ticket-arrow{
  width:50px;height:32px;background:#fff;border:1px solid #e2e8f0;
  border-radius:99px;display:flex;align-items:center;justify-content:center;
  color:#f97316;font-size:14px;position:relative;
}
.bb-mgb-ticket-arrow::after{
  content:"";position:absolute;left:50%;top:100%;width:1px;height:8px;
  background:#cbd5e1;transform:translateX(-50%);
}
.bb-mgb-ticket-meta{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  padding-top:8px;border-top:1px dashed #cbd5e1;
}
.bb-mgb-ticket-meta > div{display:flex;flex-direction:column;gap:0;}
.bb-mgb-ticket-meta small{font-size:10px;font-weight:700;color:#94a3b8;
  text-transform:uppercase;letter-spacing:.4px;}
.bb-mgb-ticket-meta strong{font-size:13px;font-weight:800;color:#0f172a;}

/* Passenger list with checkboxes */
.bb-mgb-paxlist{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;}
.bb-mgb-paxrow{
  display:flex;align-items:center;gap:11px;
  background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;
  padding:10px 12px;cursor:pointer;transition:all .15s;
}
.bb-mgb-paxrow:hover{border-color:#fdba74;background:#fff7ed;}
.bb-mgb-paxrow:has(.bb-mgb-pax-check:checked){
  border-color:#dc2626;background:#fef2f2;
}
.bb-mgb-pax-check{
  width:18px;height:18px;accent-color:#dc2626;cursor:pointer;flex:0 0 auto;
}
.bb-mgb-paxrow-body{flex:1;display:flex;flex-direction:column;gap:1px;}
.bb-mgb-paxrow-body strong{font-size:13px;font-weight:800;color:#0f172a;}
.bb-mgb-paxrow-body small{font-size:11.5px;color:#64748b;}
.bb-mgb-paxrow-fare{font-size:14px;font-weight:800;color:#f97316;}

.bb-mgb-paxlist-toggle{display:flex;gap:8px;flex-wrap:wrap;}
.bb-mgb-paxlist-toggle-btn{
  background:#fff;color:#475569;border:1.5px dashed #cbd5e1;border-radius:99px;
  padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;transition:all .15s;
}
.bb-mgb-paxlist-toggle-btn:hover{border-color:#f97316;color:#f97316;}

/* Reasons */
.bb-mgb-reasons{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:10px;}
.bb-mgb-reason{
  display:flex;align-items:center;gap:8px;
  background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;
  padding:8px 11px;font-size:12.5px;color:#334155;cursor:pointer;transition:all .15s;
}
.bb-mgb-reason:hover{background:#fff7ed;border-color:#fed7aa;}
.bb-mgb-reason input{accent-color:#f97316;}
.bb-mgb-reason input:checked + span{font-weight:800;color:#0f172a;}
.bb-mgb-reason-text{
  width:100%;border:1.5px solid #e2e8f0;border-radius:10px;padding:10px 12px;
  font-size:13px;font-family:inherit;resize:vertical;min-height:60px;transition:all .15s;
}
.bb-mgb-reason-text:focus{border-color:#f97316;outline:none;
  box-shadow:0 0 0 3px rgba(249,115,22,.15);}

/* ============================================================
   REFUND / FARE-DIFF SIDEBAR
============================================================ */
.bb-mgb-refundcard{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;
  position:sticky;top:80px;box-shadow:0 4px 18px rgba(15,23,42,.06);margin-bottom:12px;
}
.bb-mgb-refundcard-title{
  display:flex;align-items:center;gap:8px;
  font-size:15px;font-weight:800;color:#0f172a;margin:0 0 12px;
  padding-bottom:7px;border-bottom:2px solid #f97316;
}
.bb-mgb-refundcard-title i{color:#f97316;}

/* Policy meter */
.bb-mgb-policy{
  background:#f8fafc;border:1px dashed #e2e8f0;border-radius:10px;
  padding:10px 12px;margin-bottom:12px;
}
.bb-mgb-policy > small{
  display:block;font-size:10.5px;font-weight:700;color:#64748b;
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;
}
.bb-mgb-policy-meter{
  display:flex;gap:3px;
}
.bb-mgb-policy-step{
  flex:1;font-size:9.5px;font-weight:600;color:#94a3b8;text-align:center;
  background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;
  padding:5px 2px;line-height:1.25;
}
.bb-mgb-policy-step b{font-size:11px;font-weight:800;display:block;margin-top:1px;}
.bb-mgb-policy-step--done{background:#dcfce7;color:#166534;border-color:#86efac;}
.bb-mgb-policy-step--active{
  background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#9a3412;border-color:#fb923c;
  box-shadow:0 0 0 2px rgba(249,115,22,.2);transform:scale(1.05);
}
.bb-mgb-policy-step--block{background:#fee2e2;color:#991b1b;border-color:#fca5a5;}
.bb-mgb-policy-now{
  margin:8px 0 0;font-size:12px;color:#7c2d12;line-height:1.45;
}
.bb-mgb-policy-now i{color:#f97316;margin-right:4px;}
.bb-mgb-policy-now strong{color:#0f172a;}

.bb-mgb-refundcard-rows{
  list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:6px;
}
.bb-mgb-refundcard-rows li{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:13px;color:#475569;padding:3px 0;border-bottom:1px dashed #e2e8f0;
}
.bb-mgb-refundcard-rows li:last-child{border-bottom:none;}
.bb-mgb-refundcard-rows strong{font-size:13.5px;color:#0f172a;font-weight:700;}
.bb-mgb-refundcard-rows strong small{font-size:10px;font-weight:600;color:#94a3b8;}
.bb-mgb-refundcard-charge{color:#dc2626 !important;}

.bb-mgb-refundcard-total{
  display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #86efac;
  border-radius:10px;padding:12px 14px;margin-bottom:12px;
}
.bb-mgb-refundcard-total span{font-size:13px;font-weight:700;color:#166534;
  text-transform:uppercase;letter-spacing:.4px;}
.bb-mgb-refundcard-total strong{font-size:22px;font-weight:800;color:#16a34a;}
.bb-mgb-refundcard-total--pay{
  background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fb923c;
}
.bb-mgb-refundcard-total--pay span{color:#9a3412;}
.bb-mgb-refundcard-total--pay strong{color:#f97316;}

.bb-mgb-refundcard-timeline{
  display:flex;gap:11px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;
  padding:10px 13px;margin-bottom:11px;
}
.bb-mgb-refundcard-timeline i{color:#1d4ed8;font-size:16px;margin-top:1px;flex:0 0 auto;}
.bb-mgb-refundcard-timeline strong{font-size:13px;color:#1e3a8a;display:block;}
.bb-mgb-refundcard-timeline small{font-size:11.5px;color:#1e40af;display:block;margin-top:2px;}

.bb-mgb-refundcard-note{
  margin:0 0 12px;background:#fff7ed;border:1px dashed #fed7aa;border-radius:8px;
  padding:8px 11px;font-size:11.5px;color:#7c2d12;line-height:1.5;
}
.bb-mgb-refundcard-note i{color:#f97316;margin-right:4px;}

.bb-mgb-refundcard-tos{
  display:flex;align-items:flex-start;gap:9px;
  font-size:12.5px;color:#334155;cursor:pointer;margin-bottom:11px;line-height:1.45;
}
.bb-mgb-refundcard-tos input{
  width:18px;height:18px;accent-color:#dc2626;cursor:pointer;flex:0 0 auto;margin-top:1px;
}

.bb-mgb-refundcard-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);
  color:#fff;border:none;border-radius:99px;padding:12px;
  font-size:14px;font-weight:800;cursor:pointer;
  box-shadow:0 6px 18px rgba(220,38,38,.35);transition:all .18s;
}
.bb-mgb-refundcard-btn:hover:not(:disabled){
  transform:translateY(-2px);box-shadow:0 10px 26px rgba(220,38,38,.5);
}
.bb-mgb-refundcard-btn:disabled{opacity:.5;cursor:not-allowed;}
.bb-mgb-refundcard-btn--green{
  background:linear-gradient(135deg,#10b981 0%,#059669 100%);
  box-shadow:0 6px 18px rgba(16,185,129,.35);
}
.bb-mgb-refundcard-btn--green:hover{box-shadow:0 10px 26px rgba(16,185,129,.5);}

.bb-mgb-refundcard-back{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:9px;font-size:12.5px;color:#475569;text-decoration:none;font-weight:600;
}
.bb-mgb-refundcard-back:hover{color:#0f172a;}

/* ============================================================
   PAGE 3: DATE PICKER + AVAILABLE BUSES (reschedule)
============================================================ */
.bb-mgb-datesbar{display:flex;align-items:stretch;gap:6px;}
.bb-mgb-datesbar-arrow{
  background:#fff7ed;color:#f97316;border:2px solid #fed7aa;border-radius:10px;
  width:34px;flex:0 0 34px;cursor:pointer;font-size:13px;align-self:center;
  height:90px;transition:all .15s;
}
.bb-mgb-datesbar-arrow:hover{background:#f97316;color:#fff;border-color:#f97316;}
.bb-mgb-datesbar-track{
  flex:1;display:flex;gap:8px;overflow-x:auto;scroll-behavior:smooth;
  padding:4px 2px;scrollbar-width:thin;
}
.bb-mgb-datesbar-track::-webkit-scrollbar{height:4px;}
.bb-mgb-datesbar-track::-webkit-scrollbar-thumb{background:#fed7aa;border-radius:99px;}
.bb-mgb-datecard{
  flex:0 0 100px;background:#fff;color:#0f172a;
  border:2px solid #e2e8f0;border-radius:12px;
  padding:9px 6px;text-align:center;cursor:pointer;
  display:flex;flex-direction:column;gap:2px;align-items:center;transition:all .15s;
}
.bb-mgb-datecard:hover{border-color:#fdba74;transform:translateY(-2px);}
.bb-mgb-datecard span{font-size:10.5px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:1px;}
.bb-mgb-datecard strong{font-size:22px;font-weight:800;color:#0f172a;line-height:1;}
.bb-mgb-datecard em{font-size:10.5px;font-weight:700;color:#475569;font-style:normal;letter-spacing:.5px;}
.bb-mgb-datecard-tag{
  font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:99px;margin-top:3px;letter-spacing:.4px;
  background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;
}
.bb-mgb-datecard-tag--free{background:#ecfdf5;color:#065f46;border-color:#6ee7b7;}
.bb-mgb-datecard-tag--pay{background:#fff7ed;color:#9a3412;border-color:#fdba74;}
.bb-mgb-datecard-tag--refund{background:#dcfce7;color:#15803d;border-color:#86efac;}
.bb-mgb-datecard--current{background:#f1f5f9;cursor:not-allowed;opacity:.7;}
.bb-mgb-datecard--current .bb-mgb-datecard-tag{background:#475569;color:#fff;border-color:#475569;}
.bb-mgb-datecard--active{
  border-color:#f97316;background:linear-gradient(180deg,#fff7ed 0%,#ffedd5 100%);
  box-shadow:0 8px 22px rgba(249,115,22,.2);
}

/* Available buses (reschedule) */
.bb-mgb-buses{display:flex;flex-direction:column;gap:8px;}
.bb-mgb-bus{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:12px 14px;
  transition:all .15s;
}
.bb-mgb-bus:hover{border-color:#fdba74;transform:translateY(-1px);}
.bb-mgb-bus--same{border-color:#5eead4;background:#ecfdf5;}
.bb-mgb-bus-info{flex:1;min-width:200px;display:flex;flex-direction:column;gap:2px;}
.bb-mgb-bus-info strong{font-size:13.5px;font-weight:800;color:#0f172a;}
.bb-mgb-bus-info strong small{font-size:10.5px;font-weight:600;color:#0d9488;background:#ccfbf1;
  padding:1px 7px;border-radius:99px;margin-left:5px;}
.bb-mgb-bus-info span{font-size:12px;color:#64748b;}
.bb-mgb-bus-seats{color:#16a34a !important;font-weight:700;}
.bb-mgb-bus-seats i{font-size:10px;}
.bb-mgb-bus-action{display:flex;align-items:center;gap:10px;}
.bb-mgb-bus-action strong{font-size:16px;font-weight:800;color:#f97316;}
.bb-mgb-bus-btn{
  background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;
  border-radius:99px;padding:8px 16px;font-size:12.5px;font-weight:800;cursor:pointer;
  box-shadow:0 4px 12px rgba(249,115,22,.35);transition:all .15s;
}
.bb-mgb-bus-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(249,115,22,.5);}

/* ============================================================
   PAGE 4: MY BOOKINGS DASHBOARD
============================================================ */

/* Stats strip */
.bb-mgb-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
}
.bb-mgb-stat{
  background:#fff;border:2px solid #e2e8f0;border-radius:14px;padding:14px;
  display:flex;align-items:center;gap:12px;transition:all .15s;
}
.bb-mgb-stat:hover{transform:translateY(-2px);}
.bb-mgb-stat-ico{
  width:42px;height:42px;border-radius:12px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;
}
.bb-mgb-stat--total .bb-mgb-stat-ico{background:#6366f1;}
.bb-mgb-stat--total{border-left:4px solid #6366f1;}
.bb-mgb-stat--upcoming .bb-mgb-stat-ico{background:#f97316;}
.bb-mgb-stat--upcoming{border-left:4px solid #f97316;}
.bb-mgb-stat--completed .bb-mgb-stat-ico{background:#10b981;}
.bb-mgb-stat--completed{border-left:4px solid #10b981;}
.bb-mgb-stat--cancelled .bb-mgb-stat-ico{background:#e11d48;}
.bb-mgb-stat--cancelled{border-left:4px solid #e11d48;}
.bb-mgb-stat small{display:block;font-size:10.5px;font-weight:700;color:#64748b;
  text-transform:uppercase;letter-spacing:.5px;}
.bb-mgb-stat strong{font-size:22px;font-weight:800;color:#0f172a;line-height:1;}

/* Travel stats banner (innovative) */
.bb-mgb-travelstats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 100%);
  border:1px solid #fed7aa;border-radius:14px;padding:14px 18px;
}
.bb-mgb-travelstats-cell{
  display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;
}
.bb-mgb-travelstats-cell i{
  width:34px;height:34px;border-radius:50%;background:#f97316;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;margin-bottom:3px;
}
.bb-mgb-travelstats-cell strong{font-size:15px;font-weight:800;color:#0f172a;}
.bb-mgb-travelstats-cell small{font-size:10.5px;color:#7c2d12;line-height:1.35;}

/* Status sub-tabs + sort */
.bb-mgb-statusbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:8px 12px;flex-wrap:wrap;
}
.bb-mgb-substabs{display:flex;gap:5px;flex-wrap:wrap;}
.bb-mgb-substabs button{
  background:transparent;color:#475569;border:1.5px solid transparent;
  border-radius:99px;padding:6px 14px;font-size:12.5px;font-weight:700;cursor:pointer;
  transition:all .15s;
}
.bb-mgb-substabs button:hover{background:#f8fafc;color:#0f172a;}
.bb-mgb-substabs button.is-active{
  background:#fff7ed;color:#c2410c;border-color:#fdba74;
}
.bb-mgb-substabs button small{font-weight:600;color:inherit;opacity:.75;}
.bb-mgb-sort{display:flex;align-items:center;gap:7px;}
.bb-mgb-sort label{font-size:12px;font-weight:700;color:#334155;}
.bb-mgb-sort select{
  border:1.5px solid #e2e8f0;border-radius:8px;padding:6px 28px 6px 10px;
  font-size:12.5px;font-weight:600;color:#0f172a;background:#fff;cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23f97316'><path d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 8px center;background-size:9px 6px;
}

/* Bookings list */
.bb-mgb-bklist{display:flex;flex-direction:column;gap:10px;}
.bb-mgb-bk{
  background:#fff;border:2px solid #e2e8f0;border-radius:14px;overflow:hidden;
  display:grid;grid-template-columns:100px 1fr;align-items:stretch;transition:all .18s;
}
.bb-mgb-bk:hover{border-color:#fdba74;transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(15,23,42,.08);}

.bb-mgb-bk--bus{border-left:4px solid #f97316;}
.bb-mgb-bk--hotel{border-left:4px solid #0d9488;}
.bb-mgb-bk--tour{border-left:4px solid #eab308;}
.bb-mgb-bk--cab{border-left:4px solid #6366f1;}
.bb-mgb-bk--hire{border-left:4px solid #8b5cf6;}
.bb-mgb-bk--past{opacity:.92;}
.bb-mgb-bk--cancelled{opacity:.6;background:#fafafa;}

.bb-mgb-bk-side{
  background:#fafafa;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:7px;padding:12px 8px;
  border-right:1px dashed #e2e8f0;
}
.bb-mgb-bk-typeico{
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:16px;
}
.bb-mgb-bk--hotel .bb-mgb-bk-typeico{background:linear-gradient(135deg,#0d9488,#0f766e);}
.bb-mgb-bk--tour .bb-mgb-bk-typeico{background:linear-gradient(135deg,#eab308,#ca8a04);}
.bb-mgb-bk--cab .bb-mgb-bk-typeico{background:linear-gradient(135deg,#6366f1,#4f46e5);}
.bb-mgb-bk--hire .bb-mgb-bk-typeico{background:linear-gradient(135deg,#8b5cf6,#7c3aed);}

.bb-mgb-bk-status{
  font-size:9.5px;font-weight:800;padding:3px 9px;border-radius:99px;
  letter-spacing:.5px;text-transform:uppercase;text-align:center;
}
.bb-mgb-bk-status--upcoming{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;}
.bb-mgb-bk-status--completed{background:#ecfdf5;color:#065f46;border:1px solid #6ee7b7;}
.bb-mgb-bk-status--cancelled{background:#fef2f2;color:#7f1d1d;border:1px solid #fecaca;}

.bb-mgb-bk-body{padding:12px 16px;display:flex;flex-direction:column;gap:6px;}
.bb-mgb-bk-titlerow{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;
}
.bb-mgb-bk-titlerow strong{font-size:15px;font-weight:800;color:#0f172a;}
.bb-mgb-bk-pnr{font-size:11.5px;color:#64748b;}
.bb-mgb-bk-pnr b{color:#0f172a;font-weight:800;letter-spacing:.3px;}
.bb-mgb-bk-meta{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:#475569;}
.bb-mgb-bk-meta i{color:#f97316;margin-right:5px;width:14px;text-align:center;}
.bb-mgb-bk-footer{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding-top:8px;border-top:1px dashed #e2e8f0;margin-top:4px;
}
.bb-mgb-bk-amt{font-size:18px;font-weight:800;color:#16a34a;}
.bb-mgb-bk-actions{display:flex;flex-wrap:wrap;gap:5px;}
.bb-mgb-bk-actions button,
.bb-mgb-bk-actions a{
  display:inline-flex;align-items:center;gap:5px;
  background:#fff;color:#334155;border:1.5px solid #e2e8f0;border-radius:99px;
  padding:6px 12px;font-size:11.5px;font-weight:700;cursor:pointer;text-decoration:none;
  transition:all .15s;
}
.bb-mgb-bk-actions button:hover,
.bb-mgb-bk-actions a:hover{border-color:#f97316;color:#f97316;}
.bb-mgb-bk-actions button i,
.bb-mgb-bk-actions a i{font-size:11px;}
.bb-mgb-bk-action--rose{border-color:#fecaca !important;color:#7f1d1d !important;}
.bb-mgb-bk-action--rose i{color:#dc2626;}
.bb-mgb-bk-action--rose:hover{background:#fef2f2;border-color:#dc2626 !important;}
.bb-mgb-bk-action--amber{border-color:#fef3c7 !important;color:#7c2d12 !important;}
.bb-mgb-bk-action--amber i{color:#eab308;}
.bb-mgb-bk-action--amber:hover{background:#fffbeb;border-color:#eab308 !important;}
.bb-mgb-bk-action--green{border-color:#86efac !important;color:#065f46 !important;}
.bb-mgb-bk-action--green i{color:#16a34a;}
.bb-mgb-bk-action--green:hover{background:#ecfdf5;border-color:#16a34a !important;}

/* Load more */
.bb-mgb-loadmore{text-align:center;margin-top:14px;}
.bb-mgb-loadmore-btn{
  background:#fff;color:#0f172a;border:1.5px dashed #fed7aa;border-radius:99px;
  padding:11px 22px;font-size:13px;font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;gap:7px;transition:all .15s;
}
.bb-mgb-loadmore-btn:hover{
  background:#fff7ed;border-color:#f97316;border-style:solid;color:#c2410c;
}

/* Empty state */
.bb-mgb-empty{
  text-align:center;background:#fff;border:1px dashed #e2e8f0;
  border-radius:14px;padding:40px 20px;
}
.bb-mgb-empty > i{
  font-size:42px;color:#fdba74;margin-bottom:10px;
}
.bb-mgb-empty h3{margin:0 0 5px;font-size:18px;font-weight:800;color:#0f172a;}
.bb-mgb-empty p{margin:0 0 16px;font-size:13.5px;color:#64748b;}
.bb-mgb-empty-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;}
.bb-mgb-empty-btn{
  display:inline-flex;align-items:center;gap:7px;
  background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-radius:99px;
  padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none;
  transition:all .15s;
}
.bb-mgb-empty-btn:hover{color:#fff;transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(249,115,22,.4);}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:991px){
  .bb-mgb-svctabs{grid-template-columns:1fr;}
  .bb-mgb-svctabs--small{grid-template-columns:repeat(3,1fr);}
  .bb-mgb-foundcard-actions{grid-template-columns:repeat(4,1fr);}
  .bb-mgb-stats{grid-template-columns:repeat(2,1fr);}
  .bb-mgb-travelstats{grid-template-columns:repeat(2,1fr);}
  .bb-mgb-ticket-meta{grid-template-columns:repeat(2,1fr);}
  .bb-mgb-refundcard{position:static;}
  .bb-mgb-reasons{grid-template-columns:1fr;}
  .bb-mgb-lookcard-grid{grid-template-columns:1fr;}
}

@media (max-width:767px){
  .bb-mgb-ribbon{padding:13px 14px;border-radius:12px;}
  .bb-mgb-ribbon-ico{width:42px;height:42px;font-size:18px;}
  .bb-mgb-ribbon-title{font-size:15px;}
  .bb-mgb-ribbon-rating,
  .bb-mgb-ribbon-link{width:100%;justify-content:center;}

  .bb-mgb-svctabs--small{grid-template-columns:repeat(2,1fr);}
  .bb-mgb-svctab{padding:9px;font-size:12px;}
  .bb-mgb-svctab-ico{width:24px;height:24px;font-size:11px;}

  .bb-mgb-foundcard-head{flex-direction:column;}
  .bb-mgb-foundcard-trip{text-align:left;}
  .bb-mgb-foundcard-actions{grid-template-columns:repeat(3,1fr);}

  .bb-mgb-bookcard{padding:14px;}
  .bb-mgb-bookcard-title{font-size:13px;}
  .bb-mgb-ticket-meta{grid-template-columns:1fr 1fr;}
  .bb-mgb-ticket-pt strong{font-size:17px;}

  .bb-mgb-bk{grid-template-columns:1fr;}
  .bb-mgb-bk-side{flex-direction:row;justify-content:flex-start;padding:10px 16px;border-right:none;border-bottom:1px dashed #e2e8f0;}

  .bb-mgb-bus{flex-direction:column;align-items:stretch;}
  .bb-mgb-bus-action{justify-content:space-between;}

  .bb-mgb-policy-step{font-size:8.5px;padding:4px 1px;}
  .bb-mgb-policy-step b{font-size:10px;}
}

@media (max-width:480px){
  .bb-mgb-stats{grid-template-columns:1fr 1fr;}
  .bb-mgb-stat-ico{width:36px;height:36px;font-size:14px;}
  .bb-mgb-stat strong{font-size:18px;}
  .bb-mgb-travelstats{grid-template-columns:1fr 1fr;gap:8px;padding:11px;}
  .bb-mgb-travelstats-cell strong{font-size:13px;}
  .bb-mgb-foundcard-actions{grid-template-columns:repeat(2,1fr);}
  .bb-mgb-bk-titlerow strong{font-size:13.5px;}
  .bb-mgb-bk-amt{font-size:16px;}
  .bb-mgb-substabs button{padding:5px 11px;font-size:11.5px;}
}

/* ============================================================
   TOUR PASSENGER DETAILS — VARIANT-SPECIFIC STYLES
   Spec 10: IRCTC train · Car package · Entry tickets
============================================================ */

/* ============================================================
   IRCTC variant
============================================================ */

/* Mandatory ID Proof notice banner */
.bb-tpx-irctc-notice{
  display:flex;align-items:flex-start;gap:12px;
  background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);
  border:1px solid #fecaca;border-radius:12px;
  padding:13px 16px;margin:0 0 14px;
}
.bb-tpx-irctc-notice > i{
  width:38px;height:38px;border-radius:10px;
  background:#dc2626;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 auto;
}
.bb-tpx-irctc-notice strong{
  display:block;font-size:14px;font-weight:800;color:#7f1d1d;margin-bottom:2px;
}
.bb-tpx-irctc-notice span{
  display:block;font-size:12.5px;color:#7f1d1d;line-height:1.55;
}

/* Insurance opt-in card */
.bb-tpx-paxcard--insure .bb-tpx-paxcard-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.bb-tpx-paxcard--insure .bb-tpx-paxcard-head h3 i{color:#0d9488;}
.bb-tpx-paxcard--insure .bb-tpx-paxcard-head h3 span{
  font-size:12px;font-weight:600;color:#0d9488;
}

/* Toggle switch */
.bb-tpx-insure-toggle{
  position:relative;display:inline-flex;align-items:center;cursor:pointer;
  width:46px;height:24px;flex:0 0 auto;
}
.bb-tpx-insure-toggle input{
  position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;
}
.bb-tpx-insure-slider{
  position:absolute;inset:0;background:#cbd5e1;border-radius:99px;transition:all .2s;
}
.bb-tpx-insure-slider::before{
  content:"";position:absolute;left:3px;top:3px;
  width:18px;height:18px;border-radius:50%;background:#fff;
  transition:transform .2s;box-shadow:0 2px 6px rgba(0,0,0,.18);
}
.bb-tpx-insure-toggle input:checked + .bb-tpx-insure-slider{
  background:linear-gradient(135deg,#10b981,#059669);
}
.bb-tpx-insure-toggle input:checked + .bb-tpx-insure-slider::before{
  transform:translateX(22px);
}

.bb-tpx-insure-perks{
  list-style:none;padding:0;margin:0 0 9px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:5px;
  font-size:12.5px;color:#065f46;
}
.bb-tpx-insure-perks li{display:flex;align-items:center;gap:6px;}
.bb-tpx-insure-perks i{color:#10b981;font-size:11px;}
.bb-tpx-insure-fee{
  margin:0;font-size:12.5px;color:#475569;
  background:#ecfdf5;border:1px dashed #6ee7b7;border-radius:8px;
  padding:7px 11px;
}
.bb-tpx-insure-fee strong{color:#0d9488;font-weight:800;}

/* ============================================================
   CAR variant
============================================================ */

.bb-tpx-paxcard-fillme{
  background:#fff7ed;color:#c2410c;border:1.5px dashed #fdba74;border-radius:99px;
  padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;transition:all .15s;
}
.bb-tpx-paxcard-fillme:hover{background:#f97316;color:#fff;border-color:#f97316;border-style:solid;}
.bb-tpx-paxcard-fillme i{font-size:11px;}

.bb-tpx-paxcard-help{
  margin:10px 0 0;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;
  padding:9px 13px;font-size:12.5px;color:#1e3a8a;line-height:1.55;
}
.bb-tpx-paxcard-help i{color:#1d4ed8;margin-right:5px;}
.bb-tpx-paxcard-help strong{color:#1e3a8a;}

/* ============================================================
   ENTRY variant (Ramoji / Wonderla)
============================================================ */

.bb-tpx-entry-notice{
  background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 100%);
  border:1px solid #fed7aa;border-radius:14px;
  padding:14px 16px;margin:0 0 14px;
}
.bb-tpx-entry-notice-head{
  display:flex;align-items:center;gap:11px;margin-bottom:12px;
}
.bb-tpx-entry-notice-head > i{
  width:40px;height:40px;border-radius:12px;
  background:#f97316;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto;
}
.bb-tpx-entry-notice-head strong{
  display:block;font-size:14px;font-weight:800;color:#7c2d12;
}
.bb-tpx-entry-notice-head span{
  display:block;font-size:12.5px;color:#7c2d12;
}

/* Height ruler */
.bb-tpx-ruler{
  background:#fff;border:1px solid #fed7aa;border-radius:10px;padding:10px 14px;
}
.bb-tpx-ruler-bar{
  position:relative;height:38px;background:#f8fafc;border-radius:8px;overflow:hidden;
  border:1px solid #e2e8f0;
}
.bb-tpx-ruler-zone{
  position:absolute;top:0;bottom:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#fff;font-size:11px;font-weight:700;letter-spacing:.3px;
}
.bb-tpx-ruler-zone--free{background:linear-gradient(135deg,#10b981,#059669);}
.bb-tpx-ruler-zone--child{background:linear-gradient(135deg,#eab308,#ca8a04);}
.bb-tpx-ruler-zone--adult{background:linear-gradient(135deg,#f97316,#ea580c);}
.bb-tpx-ruler-zone span{font-size:11px;font-weight:800;letter-spacing:.4px;}
.bb-tpx-ruler-zone small{font-size:9.5px;opacity:.95;letter-spacing:.3px;}

.bb-tpx-ruler-marks{
  display:flex;justify-content:space-between;
  font-size:10px;color:#64748b;margin-top:5px;padding:0 2px;
}

/* Height field within passenger card */
.bb-tpx-height-wrap{
  display:flex;align-items:center;gap:5px;
}
.bb-tpx-height-input{flex:1;min-width:0;}
.bb-tpx-height-unit{
  font-size:11.5px;color:#64748b;font-weight:600;
}
.bb-tpx-height-fare{
  display:block;font-size:11px;font-weight:700;margin-top:4px;
  color:#16a34a;
}
.bb-tpx-height-fare[data-fare-zone="adult"]{color:#16a34a;}
.bb-tpx-height-fare[data-fare-zone="child"]{color:#eab308;}
.bb-tpx-height-fare[data-fare-zone="free"]{color:#0d9488;}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:767px){
  .bb-tpx-irctc-notice{padding:11px 13px;}
  .bb-tpx-irctc-notice > i{width:34px;height:34px;font-size:14px;}
  .bb-tpx-irctc-notice strong{font-size:13px;}
  .bb-tpx-irctc-notice span{font-size:12px;}

  .bb-tpx-insure-perks{grid-template-columns:1fr;}

  .bb-tpx-paxcard-fillme{padding:5px 11px;font-size:11.5px;}

  .bb-tpx-entry-notice{padding:11px 13px;}
  .bb-tpx-entry-notice-head > i{width:34px;height:34px;font-size:15px;}
  .bb-tpx-entry-notice-head strong{font-size:13px;}
  .bb-tpx-ruler-bar{height:34px;}
  .bb-tpx-ruler-zone span{font-size:10px;}
  .bb-tpx-ruler-zone small{font-size:9px;}
}

/* ============================================================
   BUS HIRE (.bb-bhr-*) v3
   3 pages: bus-hire (landing) · bus-hire-quote · bus-hire-confirmation
   Theme: Orange #f97316 · Teal #0d9488 · Amber #eab308 · Rose #e11d48
============================================================ */

.bb-bhr-main{padding:14px 0 30px;}
.bb-bhr-section{margin-bottom:20px;}

.bb-bhr-h2{
  display:flex;align-items:center;gap:5px;flex-wrap:wrap;
  font-size:18px;font-weight:800;color:#0f172a;margin:0 0 14px;
}
.bb-bhr-h2 i{
  color:#f97316;font-size:14px;width:26px;height:26px;border-radius:9px;
  background:#fff7ed;display:inline-flex;align-items:center;justify-content:center;
}
.bb-bhr-h2 small{
  font-size:12.5px;font-weight:600;color:#64748b;margin-left:auto;
}

/* ============================================================
   HERO with quote form
============================================================ */
.bb-bhr-hero{
  position:relative;border-radius:18px;overflow:hidden;
  padding:36px 28px;margin-bottom:24px;
  background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);
  color:#fff;box-shadow:0 12px 32px rgba(15,23,42,.18);
}
.bb-bhr-hero-bg{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(249,115,22,.4) 0%,rgba(15,23,42,.55) 60%,rgba(15,23,42,.85) 100%),
    url("../images/bus-hire-hero-1400x500.jpg") center/cover;
  pointer-events:none;
}
.bb-bhr-hero-content{position:relative;z-index:1;}

.bb-bhr-hero-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;
  padding:5px 12px;border-radius:99px;text-transform:uppercase;
}
.bb-bhr-hero-eyebrow i{color:#fdba74;}

.bb-bhr-hero-title{
  font-size:34px;font-weight:800;color:#fff;margin:12px 0 6px;line-height:1.15;
  letter-spacing:-.5px;text-shadow:0 4px 12px rgba(0,0,0,.3);
}
.bb-bhr-hero-sub{font-size:15px;color:rgba(255,255,255,.92);margin:0 0 14px;}

.bb-bhr-hero-trust{
  display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px;
  font-size:12.5px;color:rgba(255,255,255,.92);
}
.bb-bhr-hero-trust span{display:inline-flex;align-items:center;gap:5px;}
.bb-bhr-hero-trust i{color:#fde047;}

/* Form card on hero */
.bb-bhr-form{
  background:#fff;border-radius:14px;padding:6px;
  box-shadow:0 18px 40px rgba(0,0,0,.22);color:#0f172a;
}

.bb-bhr-form-tabs{
  display:flex;background:#f1f5f9;border-radius:10px;padding:4px;gap:3px;
}
.bb-bhr-form-tab{
  flex:1;background:transparent;color:#475569;border:none;border-radius:8px;
  padding:10px 14px;font-size:13px;font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  transition:all .15s;
}
.bb-bhr-form-tab:hover{color:#0f172a;}
.bb-bhr-form-tab.is-active{
  background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;
  box-shadow:0 4px 12px rgba(249,115,22,.35);
}
.bb-bhr-form-tab i{font-size:12px;}

.bb-bhr-form-body{padding:12px 8px 4px;}
.bb-bhr-form-row{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;
  align-items:end;
}
.bb-bhr-form-cell{
  background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;
  padding:8px 12px;transition:border-color .15s;
}
.bb-bhr-form-cell:focus-within{border-color:#f97316;
  box-shadow:0 0 0 3px rgba(249,115,22,.12);}
.bb-bhr-form-cell label{
  display:flex;align-items:center;gap:5px;
  font-size:10px;font-weight:700;color:#64748b;
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;
}
.bb-bhr-form-cell label i{color:#f97316;font-size:10px;}
.bb-bhr-form-cell input,
.bb-bhr-form-cell select{
  width:100%;border:none;outline:none;padding:0;
  font-size:13.5px;font-weight:700;color:#0f172a;background:transparent;
}
.bb-bhr-form-cell select{appearance:none;-webkit-appearance:none;cursor:pointer;}

.bb-bhr-form-cell--est{
  background:#fff7ed;border-color:#fed7aa;
}
.bb-bhr-form-cell--est small{
  font-size:10px;font-weight:700;color:#7c2d12;text-transform:uppercase;letter-spacing:.5px;
}
.bb-bhr-form-cell--est strong{
  display:block;font-size:14.5px;font-weight:800;color:#f97316;margin-top:2px;
}

.bb-bhr-form-btn{
  background:linear-gradient(135deg,#10b981 0%,#059669 100%);
  color:#fff;border:none;border-radius:10px;padding:13px 16px;
  font-size:14.5px;font-weight:800;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  box-shadow:0 6px 18px rgba(16,185,129,.4);transition:all .18s;
  height:100%;
}
.bb-bhr-form-btn:hover{transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(16,185,129,.55);}

/* Multi-city dynamic rows */
.bb-bhr-form-multi{padding:10px 8px 0;border-top:1px dashed #e2e8f0;margin-top:6px;}
.bb-bhr-form-multi h4{
  font-size:12.5px;font-weight:800;color:#0f172a;margin:0 0 8px;
  text-transform:uppercase;letter-spacing:.4px;
}
.bb-bhr-multi-row{
  display:grid;grid-template-columns:32px 1.4fr 1fr 1fr 36px;
  gap:7px;margin-bottom:7px;align-items:center;
}
.bb-bhr-multi-num{
  background:#f97316;color:#fff;width:28px;height:28px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;
}
.bb-bhr-multi-row input{
  width:100%;border:1.5px solid #e2e8f0;border-radius:8px;
  padding:8px 11px;font-size:12.5px;color:#0f172a;
}
.bb-bhr-multi-rm{
  background:#fef2f2;color:#dc2626;border:1.5px solid #fecaca;border-radius:8px;
  width:32px;height:32px;cursor:pointer;font-size:11px;
}
.bb-bhr-multi-rm:hover{background:#dc2626;color:#fff;}
.bb-bhr-multi-add{
  background:transparent;color:#f97316;border:1.5px dashed #fdba74;border-radius:99px;
  padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;margin-top:5px;
}
.bb-bhr-multi-add:hover{background:#fff7ed;border-style:solid;}

/* WhatsApp quick quote */
.bb-bhr-form-wa{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 14px;background:#ecfdf5;border-top:1px solid #6ee7b7;
  margin:6px -6px -6px;border-radius:0 0 14px 14px;flex-wrap:wrap;
}
.bb-bhr-form-wa small{font-size:12px;color:#065f46;font-weight:600;}
.bb-bhr-form-wa-btn{
  display:inline-flex;align-items:center;gap:7px;
  background:#25d366;color:#fff;border-radius:99px;padding:7px 14px;
  font-size:12.5px;font-weight:800;text-decoration:none;transition:all .15s;
}
.bb-bhr-form-wa-btn:hover{background:#1ebe5d;color:#fff;transform:translateY(-1px);}

/* ============================================================
   WHY CHOOSE US
============================================================ */
.bb-bhr-why{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.bb-bhr-why-cell{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:18px 16px;text-align:center;transition:all .15s;
}
.bb-bhr-why-cell:hover{transform:translateY(-3px);border-color:#fdba74;
  box-shadow:0 12px 24px rgba(249,115,22,.1);}
.bb-bhr-why-ico{
  width:52px;height:52px;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:22px;color:#fff;margin-bottom:10px;
}
.bb-bhr-why-ico[data-color="teal"]{background:linear-gradient(135deg,#0d9488,#0f766e);}
.bb-bhr-why-ico[data-color="orange"]{background:linear-gradient(135deg,#f97316,#ea580c);}
.bb-bhr-why-ico[data-color="amber"]{background:linear-gradient(135deg,#eab308,#ca8a04);}
.bb-bhr-why-ico[data-color="rose"]{background:linear-gradient(135deg,#e11d48,#be123c);}
.bb-bhr-why-cell strong{display:block;font-size:14px;font-weight:800;color:#0f172a;margin-bottom:4px;}
.bb-bhr-why-cell p{margin:0;font-size:12.5px;color:#64748b;line-height:1.5;}

/* ============================================================
   BUS TYPES
============================================================ */
.bb-bhr-bustypes{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.bb-bhr-bt{
  position:relative;background:#fff;border:2px solid #e2e8f0;border-radius:14px;
  overflow:hidden;cursor:pointer;transition:all .2s;
  display:flex;flex-direction:column;
}
.bb-bhr-bt:hover{border-color:#fdba74;transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(249,115,22,.15);}
.bb-bhr-bt--popular{border-color:#fdba74;}
.bb-bhr-bt--luxury{
  border-color:#fbbf24;background:linear-gradient(180deg,#fffbeb 0%,#fff 50%);
}
.bb-bhr-bt-img{position:relative;height:150px;overflow:hidden;}
.bb-bhr-bt-img img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .4s;}
.bb-bhr-bt:hover .bb-bhr-bt-img img{transform:scale(1.05);}
.bb-bhr-bt-tag{
  position:absolute;top:10px;left:10px;
  background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;
  font-size:11px;font-weight:800;padding:4px 11px;border-radius:99px;
  letter-spacing:.4px;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:5px;
  box-shadow:0 4px 12px rgba(249,115,22,.4);
}
.bb-bhr-bt-tag--gold{
  background:linear-gradient(135deg,#eab308,#ca8a04);
  box-shadow:0 4px 12px rgba(234,179,8,.45);
}
.bb-bhr-bt-tag i{font-size:10px;}
.bb-bhr-bt-body{padding:13px 14px;flex:1;display:flex;flex-direction:column;gap:6px;}
.bb-bhr-bt-body > strong{font-size:14.5px;font-weight:800;color:#0f172a;}
.bb-bhr-bt-cap{
  display:inline-flex;align-items:center;gap:5px;
  font-size:12px;color:#0d9488;font-weight:700;
  background:#ccfbf1;padding:3px 9px;border-radius:99px;
  align-self:flex-start;
}
.bb-bhr-bt-feats{
  list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:5px;
}
.bb-bhr-bt-feats li{
  background:#f1f5f9;color:#475569;font-size:11px;font-weight:600;
  padding:3px 9px;border-radius:6px;display:inline-flex;align-items:center;gap:4px;
}
.bb-bhr-bt-feats i{color:#0d9488;font-size:10px;}
.bb-bhr-bt-price{
  display:flex;align-items:baseline;gap:6px;justify-content:space-between;
  padding-top:7px;border-top:1px dashed #e2e8f0;margin-top:auto;
}
.bb-bhr-bt-price small{font-size:10.5px;color:#94a3b8;
  text-transform:uppercase;letter-spacing:.5px;font-weight:700;}
.bb-bhr-bt-price strong{font-size:18px;font-weight:800;color:#f97316;}

/* ============================================================
   USE CASES
============================================================ */
.bb-bhr-usecases{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
}
.bb-bhr-uc{
  display:flex;flex-direction:column;align-items:flex-start;gap:5px;
  background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;
  padding:16px 18px;cursor:pointer;text-align:left;transition:all .15s;
}
.bb-bhr-uc:hover{border-color:#fdba74;transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(249,115,22,.12);background:#fff7ed;}
.bb-bhr-uc-emoji{font-size:30px;line-height:1;margin-bottom:3px;}
.bb-bhr-uc strong{font-size:14.5px;font-weight:800;color:#0f172a;}
.bb-bhr-uc small{font-size:12px;color:#64748b;line-height:1.45;}

/* ============================================================
   POPULAR ROUTES (chips)
============================================================ */
.bb-bhr-routes{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.bb-bhr-route{
  display:flex;flex-direction:column;gap:2px;text-align:left;
  background:#fff;border:1.5px dashed #e2e8f0;border-radius:12px;
  padding:11px 14px;cursor:pointer;transition:all .15s;
}
.bb-bhr-route:hover{background:#fff7ed;border-color:#f97316;border-style:solid;}
.bb-bhr-route strong{font-size:13.5px;font-weight:800;color:#0f172a;}
.bb-bhr-route span{font-size:11.5px;color:#64748b;}

/* ============================================================
   HOW IT WORKS (4 steps)
============================================================ */
.bb-bhr-how{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative;
}
.bb-bhr-how::before{
  content:"";position:absolute;top:24px;left:8%;right:8%;
  border-top:2px dashed #fed7aa;z-index:0;pointer-events:none;
}
.bb-bhr-how-step{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:14px 14px;display:flex;flex-direction:column;gap:5px;
  position:relative;z-index:1;text-align:center;
}
.bb-bhr-how-num{
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:800;margin:0 auto 5px;
  box-shadow:0 6px 16px rgba(249,115,22,.4);border:4px solid #fff;
}
.bb-bhr-how-step strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-bhr-how-step p{margin:0;font-size:12.5px;color:#64748b;line-height:1.5;}
.bb-bhr-how-step p strong{display:inline;color:#0f172a;}

/* ============================================================
   GROUP DISCOUNT SLABS
============================================================ */
.bb-bhr-slabs{
  display:grid;grid-template-columns:repeat(5,1fr);gap:10px;
}
.bb-bhr-slab{
  background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;
  padding:14px 12px;text-align:center;transition:all .15s;
}
.bb-bhr-slab:hover{transform:translateY(-2px);border-color:#fdba74;}
.bb-bhr-slab strong{display:block;font-size:13.5px;font-weight:800;color:#0f172a;margin-bottom:3px;}
.bb-bhr-slab span{
  display:inline-block;background:#fff7ed;color:#c2410c;
  font-size:13px;font-weight:800;padding:3px 11px;border-radius:99px;
  border:1px solid #fed7aa;
}
.bb-bhr-slab--featured{
  border-color:#fdba74;background:linear-gradient(135deg,#fff7ed,#ffedd5);
  box-shadow:0 8px 20px rgba(249,115,22,.15);transform:scale(1.04);
}
.bb-bhr-slab--featured span{
  background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-color:#f97316;
}

/* ============================================================
   TESTIMONIALS
============================================================ */
.bb-bhr-testimonials{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.bb-bhr-tm{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;
  display:flex;flex-direction:column;gap:9px;
}
.bb-bhr-tm-stars{display:flex;gap:2px;color:#eab308;font-size:13px;}
.bb-bhr-tm p{margin:0;font-size:13px;color:#334155;line-height:1.55;font-style:italic;}
.bb-bhr-tm footer{padding-top:8px;border-top:1px dashed #e2e8f0;font-size:12.5px;color:#0f172a;}
.bb-bhr-tm footer strong{font-weight:800;}
.bb-bhr-tm footer small{color:#94a3b8;margin-left:5px;}

/* ============================================================
   FAQ
============================================================ */
.bb-bhr-faq{display:flex;flex-direction:column;gap:7px;}
.bb-bhr-faq details{
  background:#fff;border:1px solid #e2e8f0;border-radius:10px;
  overflow:hidden;transition:border-color .15s;
}
.bb-bhr-faq details[open]{border-color:#fed7aa;background:#fffbf5;}
.bb-bhr-faq summary{
  padding:12px 16px;font-size:13.5px;font-weight:700;color:#0f172a;
  cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.bb-bhr-faq summary::-webkit-details-marker{display:none;}
.bb-bhr-faq summary::after{
  content:"\\f078";font-family:"Font Awesome 6 Free";font-weight:900;
  color:#f97316;font-size:11px;transition:transform .2s;
}
.bb-bhr-faq details[open] summary::after{transform:rotate(180deg);}
.bb-bhr-faq p{margin:0;padding:0 16px 13px;font-size:13px;color:#475569;line-height:1.65;}

/* ============================================================
   QUOTE PAGE (.bb-bhr-q-* + .bb-bhr-estcard) + ribbon + steps
============================================================ */
.bb-bhr-ribbon{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 60%,#c2410c 100%);
  color:#fff;padding:16px 20px;border-radius:16px;margin-bottom:14px;
  box-shadow:0 8px 22px rgba(249,115,22,.2);position:relative;overflow:hidden;
}
.bb-bhr-ribbon::after{
  content:"";position:absolute;top:-40px;right:-30px;
  width:160px;height:160px;background:rgba(255,255,255,.08);
  border-radius:50%;pointer-events:none;
}
.bb-bhr-ribbon-back{
  flex:0 0 auto;width:36px;height:36px;border-radius:10px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  color:#fff;display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:background .15s;
}
.bb-bhr-ribbon-back:hover{background:rgba(255,255,255,.3);}
.bb-bhr-ribbon-body{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px;}
.bb-bhr-ribbon-label{font-size:11px;font-weight:700;letter-spacing:1.4px;
  text-transform:uppercase;color:rgba(255,255,255,.85);}
.bb-bhr-ribbon-title{font-size:17px;font-weight:800;color:#fff;line-height:1.3;}
.bb-bhr-ribbon-rating{
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  border-radius:99px;padding:6px 14px;font-size:12.5px;font-weight:700;color:#fff;
}
.bb-bhr-ribbon-rating a{color:#fff;text-decoration:none;font-weight:800;margin-left:5px;}
.bb-bhr-ribbon-rating a:hover{text-decoration:underline;}

.bb-bhr-steps{
  list-style:none;padding:8px;margin:0;display:flex;gap:6px;flex-wrap:wrap;
  background:#fff;border:1px solid #e2e8f0;border-radius:12px;
}
.bb-bhr-steps li{
  flex:1;min-width:140px;display:flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:8px;font-size:12.5px;font-weight:700;color:#94a3b8;
  background:#f8fafc;
}
.bb-bhr-steps li span{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;background:#e2e8f0;color:#64748b;
  font-size:12px;font-weight:800;flex:0 0 auto;
}
.bb-bhr-steps li.is-active{background:#fff7ed;color:#7c2d12;}
.bb-bhr-steps li.is-active span{background:#f97316;color:#fff;}
.bb-bhr-steps li.is-done{background:#ecfdf5;color:#065f46;}
.bb-bhr-steps li.is-done span{background:#10b981;color:#fff;}

/* Quote bookcards (reuses style from manage-bookings but with bhr prefix) */
.bb-bhr-bookcard{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;
  margin-bottom:12px;
}
.bb-bhr-bookcard-title{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:14px;font-weight:800;color:#0f172a;margin:0 0 12px;
  padding-bottom:8px;border-bottom:1px solid #e2e8f0;
}
.bb-bhr-bookcard-title i{color:#f97316;font-size:13px;}

.bb-bhr-q-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.bb-bhr-q-field{display:flex;flex-direction:column;gap:5px;}
.bb-bhr-q-field--full{grid-column:1 / -1;}
.bb-bhr-q-field label{
  display:flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:700;color:#334155;
  text-transform:uppercase;letter-spacing:.4px;
}
.bb-bhr-q-field label i{color:#f97316;font-size:11px;}
.bb-bhr-q-field label em{color:#dc2626;font-style:normal;}
.bb-bhr-q-opt{font-size:11px;font-weight:500;color:#94a3b8;letter-spacing:0;}
.bb-bhr-q-field input,
.bb-bhr-q-field select,
.bb-bhr-q-field textarea{
  border:1.5px solid #e2e8f0;border-radius:10px;
  padding:10px 12px;font-size:13.5px;color:#0f172a;background:#fff;
  font-family:inherit;transition:all .15s;width:100%;
}
.bb-bhr-q-field textarea{resize:vertical;min-height:60px;}
.bb-bhr-q-field input:focus,
.bb-bhr-q-field select:focus,
.bb-bhr-q-field textarea:focus{
  border-color:#f97316;outline:none;
  box-shadow:0 0 0 3px rgba(249,115,22,.15);
}
.bb-bhr-q-required{
  background:#fef2f2;border:1px solid #fecaca;border-radius:8px;
  padding:7px 11px;font-size:12px;color:#7f1d1d;margin:0 0 10px;
  display:flex;align-items:center;gap:6px;
}
.bb-bhr-q-required i{color:#dc2626;}

.bb-bhr-q-prefs{margin:10px 0;}
.bb-bhr-q-prefs small{
  display:block;font-size:11px;font-weight:700;color:#64748b;
  text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;
}
.bb-bhr-q-chips{display:flex;flex-wrap:wrap;gap:6px;}
.bb-bhr-q-chip{
  display:inline-flex;align-items:center;gap:5px;
  background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:99px;
  padding:6px 12px;font-size:12px;color:#334155;cursor:pointer;transition:all .15s;
}
.bb-bhr-q-chip:hover{border-color:#fdba74;}
.bb-bhr-q-chip input{accent-color:#f97316;}
.bb-bhr-q-chip:has(input:checked){background:#fff7ed;border-color:#f97316;color:#7c2d12;}

/* Estimate sidebar */
.bb-bhr-estcard{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;
  position:sticky;top:80px;box-shadow:0 4px 18px rgba(15,23,42,.06);margin-bottom:12px;
}
.bb-bhr-estcard-title{
  display:flex;align-items:center;gap:8px;
  font-size:15px;font-weight:800;color:#0f172a;margin:0 0 12px;
  padding-bottom:7px;border-bottom:2px solid #f97316;
}
.bb-bhr-estcard-title i{color:#f97316;}
.bb-bhr-estcard-preview{
  background:#fff7ed;border:1px dashed #fed7aa;border-radius:10px;
  padding:10px 12px;margin-bottom:11px;
}
.bb-bhr-estcard-preview small{
  font-size:10.5px;font-weight:700;color:#7c2d12;
  text-transform:uppercase;letter-spacing:.5px;
}
.bb-bhr-estcard-preview strong{
  display:block;font-size:14px;font-weight:800;color:#0f172a;margin:2px 0;
}
.bb-bhr-estcard-preview span{font-size:12px;color:#475569;}

.bb-bhr-estcard-rows{
  list-style:none;padding:0;margin:0 0 10px;
  display:flex;flex-direction:column;gap:6px;
}
.bb-bhr-estcard-rows li{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:13px;color:#475569;padding:3px 0;border-bottom:1px dashed #e2e8f0;
}
.bb-bhr-estcard-rows li:last-child{border-bottom:none;}
.bb-bhr-estcard-rows strong{font-size:13.5px;color:#0f172a;font-weight:700;}

.bb-bhr-estcard-total{
  display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(135deg,#fff7ed,#ffedd5);
  border:2px solid #fed7aa;border-radius:10px;
  padding:11px 14px;margin-bottom:10px;flex-wrap:wrap;gap:6px;
}
.bb-bhr-estcard-total span{
  font-size:12.5px;font-weight:700;color:#7c2d12;
  text-transform:uppercase;letter-spacing:.4px;
}
.bb-bhr-estcard-total strong{font-size:16px;font-weight:800;color:#f97316;}

.bb-bhr-estcard-note{
  margin:0 0 11px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;
  padding:8px 11px;font-size:12px;color:#1e3a8a;line-height:1.5;
}
.bb-bhr-estcard-note i{color:#1d4ed8;margin-right:4px;}

.bb-bhr-estcard-submit{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:linear-gradient(135deg,#10b981 0%,#059669 100%);
  color:#fff;border:none;border-radius:99px;padding:13px;
  font-size:14.5px;font-weight:800;cursor:pointer;
  box-shadow:0 6px 18px rgba(16,185,129,.4);transition:all .18s;
}
.bb-bhr-estcard-submit:hover{transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(16,185,129,.55);}

.bb-bhr-estcard-trust{
  display:flex;justify-content:center;gap:14px;
  margin-top:10px;padding-top:10px;border-top:1px dashed #e2e8f0;
  font-size:11px;color:#64748b;
}
.bb-bhr-estcard-trust span{display:inline-flex;align-items:center;gap:5px;}
.bb-bhr-estcard-trust i{color:#16a34a;}

.bb-bhr-estcard-wa{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:#25d366;color:#fff;border-radius:10px;padding:11px;
  font-size:13px;font-weight:800;text-decoration:none;transition:all .15s;
}
.bb-bhr-estcard-wa:hover{background:#1ebe5d;color:#fff;}

/* ============================================================
   CONFIRMATION PAGE (.bb-bhr-confirm-*)
============================================================ */
.bb-bhr-confirm-hero{
  background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);
  color:#fff;border-radius:16px;padding:24px 22px;
  text-align:center;position:relative;overflow:hidden;margin-bottom:16px;
  box-shadow:0 12px 32px rgba(22,163,74,.25);
}
.bb-bhr-confirm-hero::before,
.bb-bhr-confirm-hero::after{
  content:"";position:absolute;width:160px;height:160px;
  background:rgba(255,255,255,.08);border-radius:50%;pointer-events:none;
}
.bb-bhr-confirm-hero::before{top:-50px;right:-30px;}
.bb-bhr-confirm-hero::after{bottom:-60px;left:-40px;}
.bb-bhr-confirm-hero-ico{
  width:64px;height:64px;border-radius:50%;
  background:#fff;color:#16a34a;
  display:flex;align-items:center;justify-content:center;
  font-size:30px;margin:0 auto 10px;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  animation:bbBhrPop .5s cubic-bezier(.34,1.56,.64,1);
}
@keyframes bbBhrPop{
  from{transform:scale(0);opacity:0;}
  to{transform:scale(1);opacity:1;}
}
.bb-bhr-confirm-hero h1{margin:0;font-size:24px;font-weight:800;color:#fff;}
.bb-bhr-confirm-hero p{margin:6px 0 14px;font-size:13.5px;color:rgba(255,255,255,.92);line-height:1.55;}
.bb-bhr-confirm-hero strong{color:#fff;}

.bb-bhr-confirm-ref{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);
  border-radius:12px;padding:8px 14px;
}
.bb-bhr-confirm-ref small{
  font-size:10px;font-weight:700;color:rgba(255,255,255,.75);
  text-transform:uppercase;letter-spacing:.5px;
}
.bb-bhr-confirm-ref strong{
  font-size:15px;font-weight:800;color:#fff;letter-spacing:.5px;font-family:ui-monospace,monospace;
}
.bb-bhr-confirm-copy{
  background:rgba(255,255,255,.2);color:#fff;border:none;border-radius:6px;
  width:32px;height:32px;cursor:pointer;font-size:13px;transition:background .15s;
}
.bb-bhr-confirm-copy:hover{background:rgba(255,255,255,.35);}

.bb-bhr-confirm-edit{
  margin-left:auto;font-size:12px;color:#f97316;text-decoration:none;font-weight:700;
}
.bb-bhr-confirm-edit:hover{text-decoration:underline;}

.bb-bhr-confirm-detail{margin:0;padding:0;display:flex;flex-direction:column;
  background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;}
.bb-bhr-confirm-row{
  display:grid;grid-template-columns:140px 1fr;align-items:center;gap:14px;
  padding:11px 14px;border-bottom:1px solid #f1f5f9;transition:background .15s;
}
.bb-bhr-confirm-row:last-child{border-bottom:none;}
.bb-bhr-confirm-row:hover{background:#fff7ed;}
.bb-bhr-confirm-detail dt{
  display:inline-flex;align-items:center;gap:7px;
  font-size:11px;font-weight:800;color:#64748b;
  text-transform:uppercase;letter-spacing:.6px;margin:0;
}
.bb-bhr-confirm-detail dt i{
  width:24px;height:24px;border-radius:7px;
  background:#fff7ed;color:#f97316;font-size:12px;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.bb-bhr-confirm-detail dd{
  margin:0;font-size:13.5px;color:#0f172a;font-weight:600;
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
}
.bb-bhr-confirm-detail dd strong{font-weight:800;color:#0f172a;}
.bb-bhr-confirm-meta{
  font-size:11.5px;font-weight:600;color:#94a3b8;
  background:#f1f5f9;padding:2px 8px;border-radius:99px;
}

/* Timeline */
.bb-bhr-confirm-timeline{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:0;position:relative;
}
.bb-bhr-confirm-timeline::before{
  content:"";position:absolute;left:20px;top:18px;bottom:18px;
  border-left:2px dashed #e2e8f0;
}
.bb-bhr-confirm-timeline li{
  display:flex;align-items:flex-start;gap:14px;
  padding:10px 0;position:relative;z-index:1;
}
.bb-bhr-confirm-timeline-ico{
  width:42px;height:42px;border-radius:50%;
  background:#fff;border:2px solid #e2e8f0;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;color:#94a3b8;flex:0 0 auto;
}
.bb-bhr-confirm-timeline li.is-done .bb-bhr-confirm-timeline-ico{
  background:#10b981;color:#fff;border-color:#10b981;
}
.bb-bhr-confirm-timeline li.is-active .bb-bhr-confirm-timeline-ico{
  background:#f97316;color:#fff;border-color:#f97316;
  animation:bbBhrPulse 2s ease-in-out infinite;
  box-shadow:0 0 0 4px rgba(249,115,22,.18);
}
@keyframes bbBhrPulse{
  0%,100%{box-shadow:0 0 0 4px rgba(249,115,22,.18);}
  50%{box-shadow:0 0 0 8px rgba(249,115,22,.08);}
}
.bb-bhr-confirm-timeline div{flex:1;}
.bb-bhr-confirm-timeline strong{
  display:block;font-size:13.5px;font-weight:800;color:#0f172a;
}
.bb-bhr-confirm-timeline li.is-done strong{color:#065f46;}
.bb-bhr-confirm-timeline li.is-active strong{color:#c2410c;}
.bb-bhr-confirm-timeline small{
  display:block;font-size:11.5px;color:#64748b;margin-top:2px;
}

/* Contact + actions sidebar */
.bb-bhr-confirm-contact{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;
  margin-bottom:12px;
}
.bb-bhr-confirm-contact h3{
  margin:0 0 5px;font-size:14px;font-weight:800;color:#0f172a;
  display:flex;align-items:center;gap:7px;
}
.bb-bhr-confirm-contact h3 i{color:#f97316;}
.bb-bhr-confirm-contact p{margin:0 0 11px;font-size:12.5px;color:#64748b;}
.bb-bhr-confirm-contact-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:#fff;color:#0f172a;border:1.5px solid #e2e8f0;border-radius:10px;
  padding:10px;font-size:13.5px;font-weight:800;text-decoration:none;
  margin-bottom:6px;transition:all .15s;
}
.bb-bhr-confirm-contact-btn:hover{border-color:#f97316;color:#f97316;}
.bb-bhr-confirm-contact-btn i{color:#f97316;}
.bb-bhr-confirm-contact-btn--wa{background:#25d366;color:#fff;border-color:#25d366;}
.bb-bhr-confirm-contact-btn--wa:hover{background:#1ebe5d;color:#fff;border-color:#1ebe5d;}
.bb-bhr-confirm-contact-btn--wa i{color:#fff;}

.bb-bhr-confirm-actions{display:flex;flex-direction:column;gap:6px;}
.bb-bhr-confirm-action{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:#fff;color:#475569;border:1.5px dashed #cbd5e1;border-radius:10px;
  padding:10px;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s;
}
.bb-bhr-confirm-action:hover{border-color:#f97316;color:#f97316;border-style:solid;}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:1100px){
  .bb-bhr-form-row{grid-template-columns:repeat(3,1fr);}
  .bb-bhr-form-row .bb-bhr-form-btn{grid-column:1 / -1;height:auto;padding:14px;}
}

@media (max-width:991px){
  .bb-bhr-why,
  .bb-bhr-how{grid-template-columns:repeat(2,1fr);}
  .bb-bhr-how::before{display:none;}
  .bb-bhr-bustypes,
  .bb-bhr-usecases,
  .bb-bhr-routes,
  .bb-bhr-testimonials{grid-template-columns:repeat(2,1fr);}
  .bb-bhr-slabs{grid-template-columns:repeat(3,1fr);}
  .bb-bhr-q-grid{grid-template-columns:1fr;}
  .bb-bhr-estcard{position:static;}
  .bb-bhr-form-multi .bb-bhr-multi-row{grid-template-columns:30px 1fr 36px;}
  .bb-bhr-form-multi .bb-bhr-multi-row input[name^="multi_arrive"],
  .bb-bhr-form-multi .bb-bhr-multi-row input[name^="multi_depart"]{grid-column:2 / 3;}
}

@media (max-width:767px){
  .bb-bhr-hero{padding:26px 18px;}
  .bb-bhr-hero-title{font-size:24px;}
  .bb-bhr-hero-sub{font-size:13.5px;}
  .bb-bhr-form-tabs{flex-wrap:wrap;}
  .bb-bhr-form-tab{font-size:11.5px;padding:9px 8px;flex:1 1 calc(33% - 2px);}
  .bb-bhr-form-row{grid-template-columns:1fr 1fr;}
  .bb-bhr-form-row .bb-bhr-form-btn{grid-column:1 / -1;}
  .bb-bhr-form-cell--est{grid-column:1 / -1;}

  .bb-bhr-why,
  .bb-bhr-bustypes,
  .bb-bhr-usecases,
  .bb-bhr-routes,
  .bb-bhr-testimonials,
  .bb-bhr-how{grid-template-columns:1fr;}
  .bb-bhr-slabs{grid-template-columns:repeat(2,1fr);}
  .bb-bhr-slab--featured{transform:none;}

  .bb-bhr-ribbon{padding:13px 14px;}
  .bb-bhr-ribbon-title{font-size:14px;}
  .bb-bhr-ribbon-rating{width:100%;justify-content:center;}

  .bb-bhr-confirm-hero h1{font-size:20px;}
  .bb-bhr-confirm-row{grid-template-columns:1fr;gap:3px;}
}

@media (max-width:480px){
  .bb-bhr-hero-title{font-size:20px;}
  .bb-bhr-slabs{grid-template-columns:1fr 1fr;}
  .bb-bhr-form-row{grid-template-columns:1fr;}
}

/* ============================================================
   CABS (.bb-cab-*) — Spec 14
============================================================ */
.bb-cab-main{padding:14px 0 30px;}
.bb-cab-section{margin-bottom:20px;}
.bb-cab-h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:18px;font-weight:800;color:#0f172a;margin:0 0 14px;}
.bb-cab-h2 i{color:#f97316;font-size:14px;width:32px;height:32px;border-radius:9px;background:#fff7ed;display:inline-flex;align-items:center;justify-content:center;}

/* Hero */
.bb-cab-hero{position:relative;border-radius:18px;overflow:hidden;padding:36px 28px;margin-bottom:24px;background:linear-gradient(135deg,#1e3a8a 0%,#0f172a 100%);color:#fff;box-shadow:0 12px 32px rgba(15,23,42,.18);}
.bb-cab-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,148,136,.4) 0%,rgba(15,23,42,.55) 60%,rgba(15,23,42,.85) 100%),url("../images/cabs-hero-1400x500.jpg") center/cover;pointer-events:none;}
.bb-cab-hero-content{position:relative;z-index:1;}
.bb-cab-hero-eyebrow{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:5px 12px;border-radius:99px;text-transform:uppercase;}
.bb-cab-hero-eyebrow i{color:#5eead4;}
.bb-cab-hero-title{font-size:34px;font-weight:800;color:#fff;margin:12px 0 6px;line-height:1.15;letter-spacing:-.5px;text-shadow:0 4px 12px rgba(0,0,0,.3);}
.bb-cab-hero-sub{font-size:15px;color:rgba(255,255,255,.92);margin:0 0 14px;}
.bb-cab-hero-trust{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px;font-size:12.5px;color:rgba(255,255,255,.92);}
.bb-cab-hero-trust span{display:inline-flex;align-items:center;gap:5px;}
.bb-cab-hero-trust i{color:#fde047;}

/* Form */
.bb-cab-form{background:#fff;border-radius:14px;padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.22);color:#0f172a;}
.bb-cab-form-tabs{display:flex;background:#f1f5f9;border-radius:10px;padding:4px;gap:3px;flex-wrap:wrap;}
.bb-cab-form-tab{flex:1;min-width:120px;background:transparent;color:#475569;border:none;border-radius:8px;padding:10px 14px;font-size:12.5px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .15s;}
.bb-cab-form-tab:hover{color:#0f172a;}
.bb-cab-form-tab.is-active{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;box-shadow:0 4px 12px rgba(249,115,22,.35);}
.bb-cab-form-tab i{font-size:11px;}

.bb-cab-form-body{padding:12px 8px 4px;}
.bb-cab-form-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:8px;align-items:end;}
.bb-cab-form-cell{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:8px 12px;transition:border-color .15s;}
.bb-cab-form-cell:focus-within{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.12);}
.bb-cab-form-cell label{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;}
.bb-cab-form-cell label i{color:#f97316;font-size:10px;}
.bb-cab-form-cell input,.bb-cab-form-cell select{width:100%;border:none;outline:none;padding:0;font-size:13.5px;font-weight:700;color:#0f172a;background:transparent;}
.bb-cab-form-cell select{appearance:none;-webkit-appearance:none;cursor:pointer;}
.bb-cab-form-cell--est{background:#fff7ed;border-color:#fed7aa;}
.bb-cab-form-cell--est small{font-size:10px;font-weight:700;color:#7c2d12;text-transform:uppercase;letter-spacing:.5px;}
.bb-cab-form-cell--est strong{display:block;font-size:14.5px;font-weight:800;color:#f97316;margin-top:2px;}
.bb-cab-form-btn{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:10px;padding:13px 16px;font-size:14.5px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 6px 18px rgba(16,185,129,.4);transition:all .18s;height:100%;}
.bb-cab-form-btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(16,185,129,.55);}

.bb-cab-form-wa{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#ecfdf5;border-top:1px solid #6ee7b7;margin:6px -6px -6px;border-radius:0 0 14px 14px;flex-wrap:wrap;}
.bb-cab-form-wa small{font-size:12px;color:#065f46;font-weight:600;}
.bb-cab-form-wa-btn{display:inline-flex;align-items:center;gap:7px;background:#25d366;color:#fff;border-radius:99px;padding:7px 14px;font-size:12.5px;font-weight:800;text-decoration:none;transition:all .15s;}
.bb-cab-form-wa-btn:hover{background:#1ebe5d;color:#fff;transform:translateY(-1px);}

/* Cab types */
.bb-cab-types{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.bb-cab-type{position:relative;background:#fff;border:2px solid #e2e8f0;border-radius:14px;overflow:hidden;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;}
.bb-cab-type:hover{border-color:#fdba74;transform:translateY(-3px);box-shadow:0 14px 28px rgba(249,115,22,.15);}
.bb-cab-type--popular{border-color:#fdba74;}
.bb-cab-type--featured{border-color:#fbbf24;background:linear-gradient(180deg,#fffbeb 0%,#fff 50%);}
.bb-cab-type-img{position:relative;height:150px;overflow:hidden;}
.bb-cab-type-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.bb-cab-type:hover .bb-cab-type-img img{transform:scale(1.05);}
.bb-cab-type-tag{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:11px;font-weight:800;padding:4px 11px;border-radius:99px;letter-spacing:.4px;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;box-shadow:0 4px 12px rgba(249,115,22,.4);}
.bb-cab-type-tag--gold{background:linear-gradient(135deg,#eab308,#ca8a04);box-shadow:0 4px 12px rgba(234,179,8,.45);}
.bb-cab-type-tag i{font-size:10px;}
.bb-cab-type-body{padding:13px 14px;flex:1;display:flex;flex-direction:column;gap:6px;}
.bb-cab-type-body > strong{font-size:14.5px;font-weight:800;color:#0f172a;}
.bb-cab-type-models{font-size:12px;color:#64748b;}
.bb-cab-type-cap{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#0d9488;font-weight:700;background:#ccfbf1;padding:3px 9px;border-radius:99px;align-self:flex-start;}
.bb-cab-type-feats{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:5px;}
.bb-cab-type-feats li{background:#f1f5f9;color:#475569;font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;display:inline-flex;align-items:center;gap:4px;}
.bb-cab-type-feats i{color:#0d9488;font-size:10px;}
.bb-cab-type-price{display:flex;align-items:baseline;gap:6px;justify-content:space-between;padding-top:7px;border-top:1px dashed #e2e8f0;margin-top:auto;}
.bb-cab-type-price small{font-size:10.5px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-weight:700;}
.bb-cab-type-price strong{font-size:18px;font-weight:800;color:#f97316;}

/* Routes */
.bb-cab-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.bb-cab-route{display:flex;flex-direction:column;gap:2px;text-align:left;background:#fff;border:1.5px dashed #e2e8f0;border-radius:12px;padding:11px 14px;cursor:pointer;transition:all .15s;}
.bb-cab-route:hover{background:#fff7ed;border-color:#f97316;border-style:solid;}
.bb-cab-route strong{font-size:13.5px;font-weight:800;color:#0f172a;}
.bb-cab-route span{font-size:11.5px;color:#64748b;}

/* Why */
.bb-cab-why{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.bb-cab-why-cell{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 16px;text-align:center;transition:all .15s;}
.bb-cab-why-cell:hover{transform:translateY(-3px);border-color:#fdba74;box-shadow:0 12px 24px rgba(249,115,22,.1);}
.bb-cab-why-ico{width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;color:#fff;margin-bottom:10px;}
.bb-cab-why-ico[data-color="teal"]{background:linear-gradient(135deg,#0d9488,#0f766e);}
.bb-cab-why-ico[data-color="orange"]{background:linear-gradient(135deg,#f97316,#ea580c);}
.bb-cab-why-ico[data-color="amber"]{background:linear-gradient(135deg,#eab308,#ca8a04);}
.bb-cab-why-ico[data-color="rose"]{background:linear-gradient(135deg,#e11d48,#be123c);}
.bb-cab-why-cell strong{display:block;font-size:14px;font-weight:800;color:#0f172a;margin-bottom:4px;}
.bb-cab-why-cell p{margin:0;font-size:12.5px;color:#64748b;line-height:1.5;}

/* How */
.bb-cab-how{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative;}
.bb-cab-how::before{content:"";position:absolute;top:24px;left:8%;right:8%;border-top:2px dashed #fed7aa;z-index:0;pointer-events:none;}
.bb-cab-how-step{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:5px;position:relative;z-index:1;text-align:center;}
.bb-cab-how-num{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;margin:0 auto 5px;box-shadow:0 6px 16px rgba(249,115,22,.4);border:4px solid #fff;}
.bb-cab-how-step strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-cab-how-step p{margin:0;font-size:12.5px;color:#64748b;line-height:1.5;}

/* FAQ */
.bb-cab-faq{display:flex;flex-direction:column;gap:7px;}
.bb-cab-faq details{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;transition:border-color .15s;}
.bb-cab-faq details[open]{border-color:#fed7aa;background:#fffbf5;}
.bb-cab-faq summary{padding:12px 16px;font-size:13.5px;font-weight:700;color:#0f172a;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.bb-cab-faq summary::-webkit-details-marker{display:none;}
.bb-cab-faq summary::after{content:"\\f078";font-family:"Font Awesome 6 Free";font-weight:900;color:#f97316;font-size:11px;transition:transform .2s;}
.bb-cab-faq details[open] summary::after{transform:rotate(180deg);}
.bb-cab-faq p{margin:0;padding:0 16px 13px;font-size:13px;color:#475569;line-height:1.65;}

/* Quote page ribbon + steps */
.bb-cab-ribbon{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,#f97316 0%,#ea580c 60%,#c2410c 100%);color:#fff;padding:16px 20px;border-radius:16px;margin-bottom:14px;box-shadow:0 8px 22px rgba(249,115,22,.2);position:relative;overflow:hidden;}
.bb-cab-ribbon::after{content:"";position:absolute;top:-40px;right:-30px;width:160px;height:160px;background:rgba(255,255,255,.08);border-radius:50%;pointer-events:none;}
.bb-cab-ribbon-back{flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;}
.bb-cab-ribbon-back:hover{background:rgba(255,255,255,.3);}
.bb-cab-ribbon-body{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px;}
.bb-cab-ribbon-label{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.85);}
.bb-cab-ribbon-title{font-size:17px;font-weight:800;color:#fff;line-height:1.3;}
.bb-cab-ribbon-rating{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:6px 14px;font-size:12.5px;font-weight:700;color:#fff;}
.bb-cab-ribbon-rating a{color:#fff;text-decoration:none;font-weight:800;margin-left:5px;}

.bb-cab-steps{list-style:none;padding:8px;margin:0;display:flex;gap:6px;flex-wrap:wrap;background:#fff;border:1px solid #e2e8f0;border-radius:12px;}
.bb-cab-steps li{flex:1;min-width:130px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:12.5px;font-weight:700;color:#94a3b8;background:#f8fafc;}
.bb-cab-steps li span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:12px;font-weight:800;flex:0 0 auto;}
.bb-cab-steps li.is-active{background:#fff7ed;color:#7c2d12;}
.bb-cab-steps li.is-active span{background:#f97316;color:#fff;}
.bb-cab-steps li.is-done{background:#ecfdf5;color:#065f46;}
.bb-cab-steps li.is-done span{background:#10b981;color:#fff;}

/* Quote bookcards */
.bb-cab-bookcard{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;margin-bottom:12px;}
.bb-cab-bookcard-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;font-weight:800;color:#0f172a;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0;}
.bb-cab-bookcard-title i{color:#f97316;font-size:13px;}

.bb-cab-q-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.bb-cab-q-field{display:flex;flex-direction:column;gap:5px;}
.bb-cab-q-field--full{grid-column:1 / -1;}
.bb-cab-q-field label{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.4px;}
.bb-cab-q-field label i{color:#f97316;font-size:11px;}
.bb-cab-q-field label em{color:#dc2626;font-style:normal;}
.bb-cab-q-field input,.bb-cab-q-field select,.bb-cab-q-field textarea{border:1.5px solid #e2e8f0;border-radius:10px;padding:10px 12px;font-size:13.5px;color:#0f172a;background:#fff;font-family:inherit;transition:all .15s;width:100%;}
.bb-cab-q-field textarea{resize:vertical;min-height:60px;}
.bb-cab-q-field input:focus,.bb-cab-q-field select:focus,.bb-cab-q-field textarea:focus{border-color:#f97316;outline:none;box-shadow:0 0 0 3px rgba(249,115,22,.15);}
.bb-cab-q-required{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:7px 11px;font-size:12px;color:#7f1d1d;margin:0 0 10px;display:flex;align-items:center;gap:6px;}
.bb-cab-q-required i{color:#dc2626;}

/* Cab choice radios */
.bb-cab-q-cabchoice{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px;}
.bb-cab-q-cabopt{cursor:pointer;}
.bb-cab-q-cabopt input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.bb-cab-q-cabopt > div{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:12px 8px;text-align:center;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:3px;}
.bb-cab-q-cabopt > div i{font-size:22px;color:#94a3b8;}
.bb-cab-q-cabopt > div strong{font-size:12.5px;color:#0f172a;font-weight:800;}
.bb-cab-q-cabopt > div small{font-size:10.5px;color:#64748b;}
.bb-cab-q-cabopt:hover > div{border-color:#fdba74;}
.bb-cab-q-cabopt input:checked + div{background:#fff7ed;border-color:#f97316;}
.bb-cab-q-cabopt input:checked + div i{color:#f97316;}

.bb-cab-q-prefs{margin:10px 0;}
.bb-cab-q-prefs small{display:block;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;}
.bb-cab-q-chips{display:flex;flex-wrap:wrap;gap:6px;}
.bb-cab-q-chip{display:inline-flex;align-items:center;gap:5px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:99px;padding:6px 12px;font-size:12px;color:#334155;cursor:pointer;transition:all .15s;}
.bb-cab-q-chip:hover{border-color:#fdba74;}
.bb-cab-q-chip input{accent-color:#f97316;}
.bb-cab-q-chip:has(input:checked){background:#fff7ed;border-color:#f97316;color:#7c2d12;}

/* Estimate sidebar */
.bb-cab-estcard{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;position:sticky;top:80px;box-shadow:0 4px 18px rgba(15,23,42,.06);margin-bottom:12px;}
.bb-cab-estcard-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;margin:0 0 12px;padding-bottom:7px;border-bottom:2px solid #f97316;}
.bb-cab-estcard-title i{color:#f97316;}
.bb-cab-estcard-preview{background:#fff7ed;border:1px dashed #fed7aa;border-radius:10px;padding:10px 12px;margin-bottom:11px;}
.bb-cab-estcard-preview small{font-size:10.5px;font-weight:700;color:#7c2d12;text-transform:uppercase;letter-spacing:.5px;}
.bb-cab-estcard-preview strong{display:block;font-size:14px;font-weight:800;color:#0f172a;margin:2px 0;}
.bb-cab-estcard-preview span{font-size:12px;color:#475569;}
.bb-cab-estcard-rows{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:6px;}
.bb-cab-estcard-rows li{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:#475569;padding:3px 0;border-bottom:1px dashed #e2e8f0;}
.bb-cab-estcard-rows li:last-child{border-bottom:none;}
.bb-cab-estcard-rows strong{font-size:13.5px;color:#0f172a;font-weight:700;}
.bb-cab-included{color:#16a34a !important;font-size:11.5px !important;font-weight:700;}
.bb-cab-excl{color:#dc2626 !important;font-size:11.5px !important;font-weight:700;}
.bb-cab-estcard-total{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #fed7aa;border-radius:10px;padding:11px 14px;margin-bottom:10px;flex-wrap:wrap;gap:6px;}
.bb-cab-estcard-total span{font-size:12.5px;font-weight:700;color:#7c2d12;text-transform:uppercase;letter-spacing:.4px;}
.bb-cab-estcard-total strong{font-size:16px;font-weight:800;color:#f97316;}
.bb-cab-estcard-note{margin:0 0 11px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:8px 11px;font-size:12px;color:#1e3a8a;line-height:1.5;}
.bb-cab-estcard-note i{color:#1d4ed8;margin-right:4px;}
.bb-cab-estcard-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:99px;padding:13px;font-size:14.5px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px rgba(16,185,129,.4);transition:all .18s;}
.bb-cab-estcard-submit:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(16,185,129,.55);}
.bb-cab-estcard-trust{display:flex;justify-content:center;gap:14px;margin-top:10px;padding-top:10px;border-top:1px dashed #e2e8f0;font-size:11px;color:#64748b;}
.bb-cab-estcard-trust span{display:inline-flex;align-items:center;gap:5px;}
.bb-cab-estcard-trust i{color:#16a34a;}

/* Confirmation page */
.bb-cab-confirm-hero{background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);color:#fff;border-radius:16px;padding:24px 22px;text-align:center;position:relative;overflow:hidden;margin-bottom:16px;box-shadow:0 12px 32px rgba(22,163,74,.25);}
.bb-cab-confirm-hero::before,.bb-cab-confirm-hero::after{content:"";position:absolute;width:160px;height:160px;background:rgba(255,255,255,.08);border-radius:50%;pointer-events:none;}
.bb-cab-confirm-hero::before{top:-50px;right:-30px;}
.bb-cab-confirm-hero::after{bottom:-60px;left:-40px;}
.bb-cab-confirm-hero-ico{width:64px;height:64px;border-radius:50%;background:#fff;color:#16a34a;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 10px;box-shadow:0 8px 22px rgba(0,0,0,.18);animation:bbCabPop .5s cubic-bezier(.34,1.56,.64,1);}
@keyframes bbCabPop{from{transform:scale(0);opacity:0;}to{transform:scale(1);opacity:1;}}
.bb-cab-confirm-hero h1{margin:0;font-size:24px;font-weight:800;color:#fff;}
.bb-cab-confirm-hero p{margin:6px 0 14px;font-size:13.5px;color:rgba(255,255,255,.92);line-height:1.55;}
.bb-cab-confirm-hero strong{color:#fff;}
.bb-cab-confirm-ref{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:8px 14px;}
.bb-cab-confirm-ref small{font-size:10px;font-weight:700;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.5px;}
.bb-cab-confirm-ref strong{font-size:15px;font-weight:800;color:#fff;letter-spacing:.5px;font-family:ui-monospace,monospace;}
.bb-cab-confirm-copy{background:rgba(255,255,255,.2);color:#fff;border:none;border-radius:6px;width:32px;height:32px;cursor:pointer;font-size:13px;transition:background .15s;}
.bb-cab-confirm-copy:hover{background:rgba(255,255,255,.35);}
.bb-cab-confirm-edit{margin-left:auto;font-size:12px;color:#f97316;text-decoration:none;font-weight:700;}
.bb-cab-confirm-detail{margin:0;padding:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;}
.bb-cab-confirm-row{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:14px;padding:11px 14px;border-bottom:1px solid #f1f5f9;}
.bb-cab-confirm-row:last-child{border-bottom:none;}
.bb-cab-confirm-row:hover{background:#fff7ed;}
.bb-cab-confirm-detail dt{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.6px;margin:0;}
.bb-cab-confirm-detail dt i{width:24px;height:24px;border-radius:7px;background:#fff7ed;color:#f97316;font-size:12px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
.bb-cab-confirm-detail dd{margin:0;font-size:13.5px;color:#0f172a;font-weight:600;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.bb-cab-confirm-meta{font-size:11.5px;font-weight:600;color:#94a3b8;background:#f1f5f9;padding:2px 8px;border-radius:99px;}

.bb-cab-confirm-timeline{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0;position:relative;}
.bb-cab-confirm-timeline::before{content:"";position:absolute;left:20px;top:18px;bottom:18px;border-left:2px dashed #e2e8f0;}
.bb-cab-confirm-timeline li{display:flex;align-items:flex-start;gap:14px;padding:10px 0;position:relative;z-index:1;}
.bb-cab-confirm-timeline-ico{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#94a3b8;flex:0 0 auto;}
.bb-cab-confirm-timeline li.is-done .bb-cab-confirm-timeline-ico{background:#10b981;color:#fff;border-color:#10b981;}
.bb-cab-confirm-timeline li.is-active .bb-cab-confirm-timeline-ico{background:#f97316;color:#fff;border-color:#f97316;animation:bbCabPulse 2s ease-in-out infinite;box-shadow:0 0 0 4px rgba(249,115,22,.18);}
@keyframes bbCabPulse{0%,100%{box-shadow:0 0 0 4px rgba(249,115,22,.18);}50%{box-shadow:0 0 0 8px rgba(249,115,22,.08);}}
.bb-cab-confirm-timeline strong{display:block;font-size:13.5px;font-weight:800;color:#0f172a;}
.bb-cab-confirm-timeline li.is-done strong{color:#065f46;}
.bb-cab-confirm-timeline li.is-active strong{color:#c2410c;}
.bb-cab-confirm-timeline small{display:block;font-size:11.5px;color:#64748b;margin-top:2px;}

.bb-cab-confirm-contact{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;margin-bottom:12px;}
.bb-cab-confirm-contact h3{margin:0 0 5px;font-size:14px;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:7px;}
.bb-cab-confirm-contact h3 i{color:#f97316;}
.bb-cab-confirm-contact p{margin:0 0 11px;font-size:12.5px;color:#64748b;}
.bb-cab-confirm-contact-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:#fff;color:#0f172a;border:1.5px solid #e2e8f0;border-radius:10px;padding:10px;font-size:13.5px;font-weight:800;text-decoration:none;margin-bottom:6px;transition:all .15s;}
.bb-cab-confirm-contact-btn:hover{border-color:#f97316;color:#f97316;}
.bb-cab-confirm-contact-btn i{color:#f97316;}
.bb-cab-confirm-contact-btn--wa{background:#25d366;color:#fff;border-color:#25d366;}
.bb-cab-confirm-contact-btn--wa:hover{background:#1ebe5d;color:#fff;border-color:#1ebe5d;}
.bb-cab-confirm-contact-btn--wa i{color:#fff;}
.bb-cab-confirm-actions{display:flex;flex-direction:column;gap:6px;}
.bb-cab-confirm-action{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:#475569;border:1.5px dashed #cbd5e1;border-radius:10px;padding:10px;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s;}
.bb-cab-confirm-action:hover{border-color:#f97316;color:#f97316;border-style:solid;}

/* CAB responsive */
@media (max-width:1100px){.bb-cab-form-row{grid-template-columns:repeat(3,1fr);} .bb-cab-form-row .bb-cab-form-btn{grid-column:1 / -1;height:auto;padding:14px;}}
@media (max-width:991px){.bb-cab-types,.bb-cab-routes,.bb-cab-why,.bb-cab-how{grid-template-columns:repeat(2,1fr);} .bb-cab-how::before{display:none;} .bb-cab-q-grid{grid-template-columns:1fr;} .bb-cab-q-cabchoice{grid-template-columns:repeat(3,1fr);} .bb-cab-estcard{position:static;}}
@media (max-width:767px){.bb-cab-hero{padding:24px 16px;} .bb-cab-hero-title{font-size:24px;} .bb-cab-form-row{grid-template-columns:1fr 1fr;} .bb-cab-form-row .bb-cab-form-btn,.bb-cab-form-cell--est{grid-column:1 / -1;} .bb-cab-types,.bb-cab-routes,.bb-cab-why,.bb-cab-how{grid-template-columns:1fr;} .bb-cab-q-cabchoice{grid-template-columns:repeat(2,1fr);} .bb-cab-confirm-row{grid-template-columns:1fr;}}

/* ============================================================
   ATTRACTIONS (.bb-att-*) — Spec 19
============================================================ */
.bb-att-main{padding:14px 0 30px;}
.bb-att-section{margin-bottom:20px;}
.bb-att-h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:#0f172a;margin:0 0 14px;}
.bb-att-h2 i{color:#f97316;font-size:14px;width:32px;height:32px;border-radius:9px;background:#fff7ed;display:inline-flex;align-items:center;justify-content:center;}

/* Hero */
.bb-att-hero{position:relative;border-radius:18px;overflow:hidden;min-height:340px;display:flex;align-items:flex-end;padding:32px;color:#fff;box-shadow:0 14px 36px rgba(15,23,42,.2);margin-bottom:20px;}
.bb-att-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.bb-att-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.1) 0%,rgba(15,23,42,.75) 100%);}
.bb-att-hero[data-theme="rose"] .bb-att-hero-bg::after{background:linear-gradient(180deg,rgba(225,29,72,.2) 0%,rgba(15,23,42,.8) 100%);}
.bb-att-hero[data-theme="blue"] .bb-att-hero-bg::after{background:linear-gradient(180deg,rgba(30,64,175,.2) 0%,rgba(15,23,42,.8) 100%);}
.bb-att-hero-content{position:relative;z-index:1;}
.bb-att-hero-eyebrow{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:5px 12px;border-radius:99px;text-transform:uppercase;}
.bb-att-hero-eyebrow i{color:#fde047;}
.bb-att-hero-title{font-size:38px;font-weight:800;color:#fff;margin:12px 0 6px;line-height:1.1;letter-spacing:-.5px;text-shadow:0 4px 14px rgba(0,0,0,.4);}
.bb-att-hero-sub{font-size:15px;color:rgba(255,255,255,.92);margin:0 0 18px;max-width:680px;}
.bb-att-hero-actions{display:flex;gap:10px;flex-wrap:wrap;}
.bb-att-hero-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:800;border-radius:99px;text-decoration:none;transition:all .18s;}
.bb-att-hero-btn--primary{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;box-shadow:0 6px 18px rgba(249,115,22,.4);}
.bb-att-hero-btn--primary:hover{transform:translateY(-2px);color:#fff;box-shadow:0 10px 26px rgba(249,115,22,.55);}
.bb-att-hero-btn--ghost{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.3);}
.bb-att-hero-btn--ghost:hover{background:rgba(255,255,255,.28);color:#fff;}

/* Info strip */
.bb-att-info{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 18px;}
.bb-att-info-cell{display:flex;align-items:center;gap:10px;}
.bb-att-info-cell i{width:36px;height:36px;border-radius:10px;background:#fff7ed;color:#f97316;display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto;}
.bb-att-info-cell small{display:block;font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;}
.bb-att-info-cell strong{display:block;font-size:13px;font-weight:800;color:#0f172a;}

/* Tabs */
.bb-att-tabs{display:flex;gap:6px;background:#f1f5f9;padding:5px;border-radius:12px;margin-bottom:14px;overflow-x:auto;scroll-snap-type:x mandatory;}
.bb-att-tab{flex:0 0 auto;background:transparent;color:#475569;border:none;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .15s;white-space:nowrap;scroll-snap-align:start;}
.bb-att-tab:hover{color:#0f172a;}
.bb-att-tab.is-active{background:#fff;color:#f97316;box-shadow:0 2px 6px rgba(15,23,42,.08);}
.bb-att-tab i{font-size:12px;}

.bb-att-tabpane{display:none;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;animation:bbAttFade .2s;}
.bb-att-tabpane.is-active{display:block;}
@keyframes bbAttFade{from{opacity:0;}to{opacity:1;}}
.bb-att-pane-title{font-size:18px;font-weight:800;color:#0f172a;margin:0 0 8px;}
.bb-att-pane-sub{margin:0 0 14px;font-size:13px;color:#64748b;}
.bb-att-tabpane p{font-size:13.5px;color:#334155;line-height:1.7;margin:0 0 12px;}
.bb-att-tabpane strong{color:#0f172a;}

.bb-att-highlights{margin-top:14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:14px 16px;}
.bb-att-highlights h4{margin:0 0 8px;font-size:14px;font-weight:800;color:#7c2d12;}
.bb-att-highlights ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:13px;color:#7c2d12;}
.bb-att-highlights li{display:flex;align-items:flex-start;gap:7px;line-height:1.45;}
.bb-att-highlights i{color:#f97316;margin-top:3px;}

/* Tickets */
.bb-att-tickets{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.bb-att-ticket{background:#fff;border:2px solid #e2e8f0;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;}
.bb-att-ticket[data-tier="star"]{border-color:#fbbf24;background:linear-gradient(180deg,#fffbeb 0%,#fff 50%);}
.bb-att-ticket-head{padding:14px 16px;background:#f8fafc;border-bottom:1px dashed #e2e8f0;}
.bb-att-ticket[data-tier="star"] .bb-att-ticket-head{background:linear-gradient(135deg,#fffbeb,#fef3c7);}
.bb-att-ticket-tier{display:inline-block;font-size:10px;font-weight:800;padding:3px 10px;border-radius:99px;letter-spacing:.5px;margin-bottom:5px;}
.bb-att-ticket-tier[data-tier="studio"]{background:#fff7ed;color:#c2410c;border:1px solid #fdba74;}
.bb-att-ticket-tier[data-tier="star"]{background:linear-gradient(135deg,#fde047,#facc15);color:#78350f;border:1px solid #ca8a04;}
.bb-att-ticket-head strong{display:block;font-size:15px;font-weight:800;color:#0f172a;}
.bb-att-ticket-incl{list-style:none;padding:0;margin:0;font-size:12.5px;color:#475569;padding:14px 16px;display:flex;flex-direction:column;gap:5px;}
.bb-att-ticket-incl li{display:flex;align-items:flex-start;gap:6px;line-height:1.5;}
.bb-att-ticket-incl i{color:#16a34a;margin-top:3px;font-size:11px;}
.bb-att-ticket-prices{display:flex;gap:14px;padding:12px 16px;border-top:1px dashed #e2e8f0;}
.bb-att-ticket-prices > div{flex:1;}
.bb-att-ticket-prices small{display:block;font-size:11px;color:#64748b;}
.bb-att-ticket-prices strong{font-size:18px;font-weight:800;color:#16a34a;}
.bb-att-ticket-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;text-decoration:none;padding:11px;font-size:13.5px;font-weight:800;transition:all .18s;}
.bb-att-ticket-btn:hover{color:#fff;background:linear-gradient(135deg,#ea580c,#c2410c);}

.bb-att-childpolicy{display:flex;gap:11px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:11px 14px;font-size:13px;color:#7f1d1d;line-height:1.5;}
.bb-att-childpolicy i{color:#dc2626;font-size:18px;margin-top:1px;flex:0 0 auto;}
.bb-att-childpolicy strong{color:#7f1d1d;}

/* Rides / Attractions */
.bb-att-cat-title{font-size:14px;font-weight:800;color:#0f172a;margin:18px 0 10px;display:flex;align-items:center;gap:7px;}
.bb-att-cat-title::before{content:"";display:inline-block;width:4px;height:18px;background:linear-gradient(180deg,#f97316,#ea580c);border-radius:99px;}
.bb-att-rides{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:8px;}
.bb-att-ride{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .15s;}
.bb-att-ride:hover{transform:translateY(-2px);border-color:#fdba74;box-shadow:0 8px 18px rgba(249,115,22,.12);}
.bb-att-ride-img{height:110px;overflow:hidden;position:relative;}
.bb-att-ride-img img{width:100%;height:100%;object-fit:cover;display:block;}
.bb-att-ride-body{padding:10px 12px;display:flex;flex-direction:column;gap:3px;position:relative;}
.bb-att-ride-body > strong{font-size:13px;font-weight:800;color:#0f172a;}
.bb-att-ride-body > small{font-size:11.5px;color:#64748b;line-height:1.45;}
.bb-att-ride-tag{position:absolute;top:-22px;right:8px;background:linear-gradient(135deg,#eab308,#ca8a04);color:#fff;font-size:9.5px;font-weight:800;padding:2px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.4px;}

/* How to reach */
.bb-att-reach{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.bb-att-reach-cell{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;}
.bb-att-reach-cell > i{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:6px;}
.bb-att-reach-cell h4{margin:0;font-size:14px;font-weight:800;color:#0f172a;}
.bb-att-reach-cell p{margin:0;font-size:13px;color:#475569;line-height:1.55;}
.bb-att-reach-link{display:inline-flex;align-items:center;gap:5px;color:#c2410c;text-decoration:none;font-weight:800;font-size:12.5px;margin-top:6px;}
.bb-att-reach-link:hover{text-decoration:underline;}

/* FAQ */
.bb-att-faq{display:flex;flex-direction:column;gap:7px;}
.bb-att-faq details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;}
.bb-att-faq details[open]{border-color:#fed7aa;background:#fffbf5;}
.bb-att-faq summary{padding:12px 16px;font-size:13.5px;font-weight:700;color:#0f172a;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.bb-att-faq summary::-webkit-details-marker{display:none;}
.bb-att-faq summary::after{content:"\\f078";font-family:"Font Awesome 6 Free";font-weight:900;color:#f97316;font-size:11px;transition:transform .2s;}
.bb-att-faq details[open] summary::after{transform:rotate(180deg);}
.bb-att-faq p{margin:0;padding:0 16px 13px;font-size:13px;color:#475569;line-height:1.65;}

/* Map */
.bb-att-mapcard{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;display:grid;grid-template-columns:1.4fr 1fr;gap:0;}
.bb-att-mapcard img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block;}
.bb-att-mapcard-info{padding:18px 20px;display:flex;flex-direction:column;gap:8px;justify-content:center;}
.bb-att-mapcard-info strong{font-size:14px;color:#0f172a;display:inline-flex;align-items:center;gap:7px;}
.bb-att-mapcard-info strong i{color:#f97316;}
.bb-att-mapcard-info p{margin:0;font-size:12.5px;color:#475569;line-height:1.5;}
.bb-att-mapcard-btn{display:inline-flex;align-items:center;gap:6px;background:#0d9488;color:#fff;text-decoration:none;border-radius:99px;padding:9px 16px;font-size:12.5px;font-weight:800;width:fit-content;transition:all .15s;margin-top:6px;}
.bb-att-mapcard-btn:hover{background:#0f766e;color:#fff;}

/* Related */
.bb-att-related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.bb-att-related-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;overflow:hidden;text-decoration:none;color:#0f172a;display:flex;flex-direction:column;transition:all .15s;}
.bb-att-related-card:hover{border-color:#fdba74;transform:translateY(-2px);color:#0f172a;}
.bb-att-related-img img{width:100%;height:160px;object-fit:cover;display:block;}
.bb-att-related-body{padding:12px 14px;display:flex;flex-direction:column;gap:5px;}
.bb-att-related-body strong{font-size:13.5px;font-weight:800;color:#0f172a;line-height:1.35;}
.bb-att-related-body small{font-size:11.5px;color:#64748b;}
.bb-att-related-price{display:flex;align-items:baseline;gap:5px;margin-top:auto;padding-top:7px;border-top:1px dashed #e2e8f0;}
.bb-att-related-price small{font-size:10.5px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;}
.bb-att-related-price strong{font-size:16px;font-weight:800;color:#f97316;}

@media (max-width:991px){.bb-att-info{grid-template-columns:repeat(3,1fr);} .bb-att-tickets{grid-template-columns:1fr;} .bb-att-rides{grid-template-columns:repeat(2,1fr);} .bb-att-related{grid-template-columns:repeat(2,1fr);} .bb-att-mapcard{grid-template-columns:1fr;}}
@media (max-width:767px){.bb-att-hero{min-height:280px;padding:24px 18px;} .bb-att-hero-title{font-size:26px;} .bb-att-info{grid-template-columns:1fr 1fr;} .bb-att-rides{grid-template-columns:1fr 1fr;} .bb-att-reach{grid-template-columns:1fr;} .bb-att-highlights ul{grid-template-columns:1fr;}}
@media (max-width:480px){.bb-att-info{grid-template-columns:1fr;} .bb-att-rides{grid-template-columns:1fr;} .bb-att-related{grid-template-columns:1fr;}}

/* ============================================================
   SEO LANDING (.bb-seo-*) — Spec 18
============================================================ */
.bb-seo-main{padding:14px 0 30px;}
.bb-seo-section{margin-bottom:22px;}
.bb-seo-h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:#0f172a;margin:0 0 14px;}
.bb-seo-h2 i{color:#f97316;font-size:14px;width:32px;height:32px;border-radius:9px;background:#fff7ed;display:inline-flex;align-items:center;justify-content:center;}

/* Hero (route) */
.bb-seo-hero{background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);border:1px solid #fed7aa;border-radius:16px;padding:24px 22px;margin-bottom:18px;}
.bb-seo-hero-title{font-size:28px;font-weight:800;color:#0f172a;margin:0 0 6px;line-height:1.2;}
.bb-seo-hero-sub{font-size:14px;color:#475569;margin:0 0 18px;}
.bb-seo-hero-sub strong{color:#c2410c;}
.bb-seo-hero-search{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end;}
.bb-seo-search-cell{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:8px 12px;}
.bb-seo-search-cell label{display:block;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;}
.bb-seo-search-cell input{width:100%;border:none;outline:none;font-size:13.5px;font-weight:700;color:#0f172a;background:transparent;}
.bb-seo-search-btn{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;border-radius:10px;padding:12px 20px;font-size:14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 6px 16px rgba(249,115,22,.35);transition:all .15s;}
.bb-seo-search-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(249,115,22,.5);}

/* Stats */
.bb-seo-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.bb-seo-stat{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;display:flex;align-items:center;gap:11px;}
.bb-seo-stat > i{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 auto;}
.bb-seo-stat small{display:block;font-size:10.5px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-weight:700;}
.bb-seo-stat strong{display:block;font-size:15px;font-weight:800;color:#0f172a;}

/* Operators grid */
.bb-seo-operators{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.bb-seo-op{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:14px;text-decoration:none;color:#0f172a;display:flex;flex-direction:column;gap:5px;transition:all .15s;}
.bb-seo-op:hover{border-color:#fdba74;transform:translateY(-3px);box-shadow:0 12px 22px rgba(249,115,22,.12);color:#0f172a;}
.bb-seo-op-logo{height:60px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:8px;margin-bottom:5px;overflow:hidden;}
.bb-seo-op-logo img{max-height:60px;max-width:100%;object-fit:contain;}
.bb-seo-op > strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-seo-op-rating{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:#64748b;}
.bb-seo-op-rating i{color:#eab308;}
.bb-seo-op > small{font-size:11.5px;color:#475569;}
.bb-seo-op-cta{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#c2410c;margin-top:auto;padding-top:7px;border-top:1px dashed #e2e8f0;}

/* Bus types chips */
.bb-seo-bustypes{display:flex;flex-wrap:wrap;gap:10px;}
.bb-seo-busch{display:inline-flex;flex-direction:column;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:10px 16px;min-width:140px;transition:all .15s;}
.bb-seo-busch:hover{border-color:#fdba74;transform:translateY(-1px);}
.bb-seo-busch strong{font-size:13px;color:#0f172a;font-weight:800;}
.bb-seo-busch small{font-size:11px;color:#64748b;margin-top:2px;}

/* Points */
.bb-seo-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;}
.bb-seo-points li{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:9px 13px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.bb-seo-points li::before{content:"\f3c5";font-family:"Font Awesome 6 Free";font-weight:900;color:#f97316;margin-right:6px;}
.bb-seo-points strong{font-size:13px;color:#0f172a;font-weight:800;}
.bb-seo-points small{font-size:11.5px;color:#94a3b8;}

/* Schedule table */
.bb-seo-tablewrap{overflow-x:auto;background:#fff;border:1px solid #e2e8f0;border-radius:12px;}
.bb-seo-schedule{width:100%;border-collapse:collapse;font-size:13px;}
.bb-seo-schedule thead{background:#fff7ed;}
.bb-seo-schedule th{padding:10px 12px;text-align:left;font-size:11.5px;font-weight:800;color:#7c2d12;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #fed7aa;white-space:nowrap;}
.bb-seo-schedule td{padding:11px 12px;border-bottom:1px solid #f1f5f9;color:#334155;white-space:nowrap;}
.bb-seo-schedule tbody tr:hover{background:#fff7ed;}
.bb-seo-schedule tbody tr:last-child td{border-bottom:none;}
.bb-seo-schedule strong{color:#f97316;font-weight:800;}
.bb-seo-schedule a{color:#fff;background:linear-gradient(135deg,#f97316,#ea580c);text-decoration:none;border-radius:99px;padding:5px 12px;font-size:11.5px;font-weight:800;display:inline-block;}
.bb-seo-schedule a:hover{color:#fff;background:linear-gradient(135deg,#ea580c,#c2410c);}

/* SEO content */
.bb-seo-content{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;}
.bb-seo-content p{margin:0 0 12px;font-size:13.5px;color:#334155;line-height:1.7;}
.bb-seo-content p:last-child{margin-bottom:0;}
.bb-seo-content strong{color:#0f172a;}
.bb-seo-content a{color:#c2410c;text-decoration:none;font-weight:800;}

/* FAQ (SEO) */
.bb-seo-faq{display:flex;flex-direction:column;gap:7px;}
.bb-seo-faq details{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;}
.bb-seo-faq details[open]{border-color:#fed7aa;background:#fffbf5;}
.bb-seo-faq summary{padding:12px 16px;font-size:13.5px;font-weight:700;color:#0f172a;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.bb-seo-faq summary::-webkit-details-marker{display:none;}
.bb-seo-faq summary::after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;color:#f97316;font-size:11px;transition:transform .2s;}
.bb-seo-faq details[open] summary::after{transform:rotate(180deg);}
.bb-seo-faq p{margin:0;padding:0 16px 13px;font-size:13px;color:#475569;line-height:1.65;}
.bb-seo-faq a{color:#c2410c;text-decoration:none;font-weight:800;}

/* Operator header */
.bb-seo-ophead{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;margin-bottom:18px;display:grid;grid-template-columns:200px 1fr;gap:22px;align-items:center;}
.bb-seo-ophead-logo{background:#f8fafc;border-radius:12px;padding:18px;display:flex;align-items:center;justify-content:center;height:140px;}
.bb-seo-ophead-logo img{max-width:100%;max-height:100%;object-fit:contain;}
.bb-seo-ophead-name{font-size:28px;font-weight:800;color:#0f172a;margin:0 0 4px;}
.bb-seo-ophead-tag{font-size:14px;color:#64748b;margin:0 0 10px;}
.bb-seo-ophead-rating{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.bb-seo-ophead-rating span{color:#eab308;font-size:15px;}
.bb-seo-ophead-rating strong{font-size:16px;color:#0f172a;font-weight:800;}
.bb-seo-ophead-rating small{font-size:12.5px;color:#94a3b8;}
.bb-seo-ophead-actions{display:flex;gap:10px;flex-wrap:wrap;}
.bb-seo-ophead-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;color:#0f172a;border:1.5px solid #e2e8f0;border-radius:99px;padding:9px 18px;font-size:13px;font-weight:800;text-decoration:none;transition:all .15s;}
.bb-seo-ophead-btn:hover{border-color:#f97316;color:#f97316;}
.bb-seo-ophead-btn--primary{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-color:#f97316;}
.bb-seo-ophead-btn--primary:hover{color:#fff;}

/* Amenities */
.bb-seo-amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.bb-seo-amenities span{display:inline-flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 13px;font-size:12.5px;color:#334155;font-weight:600;}
.bb-seo-amenities i{color:#0d9488;font-size:13px;width:18px;text-align:center;}

@media (max-width:991px){.bb-seo-hero-search{grid-template-columns:1fr 1fr;} .bb-seo-stats{grid-template-columns:repeat(3,1fr);} .bb-seo-operators{grid-template-columns:repeat(2,1fr);} .bb-seo-amenities{grid-template-columns:repeat(2,1fr);} .bb-seo-ophead{grid-template-columns:1fr;text-align:center;} .bb-seo-ophead-logo{justify-self:center;width:200px;}}
@media (max-width:767px){.bb-seo-hero-title{font-size:22px;} .bb-seo-hero-search{grid-template-columns:1fr;} .bb-seo-stats{grid-template-columns:1fr 1fr;} .bb-seo-operators{grid-template-columns:1fr;} .bb-seo-amenities{grid-template-columns:1fr;}}

/* ============================================================
   SEO LANDING (extra) + ATTRACTIONS (extra) — Spec 18 & 19
============================================================ */

/* Route cards */
.bb-seo-routegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.bb-seo-routecard{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:14px;text-decoration:none;color:#0f172a;display:flex;flex-direction:column;gap:8px;transition:all .15s;}
.bb-seo-routecard:hover{border-color:#fdba74;transform:translateY(-2px);box-shadow:0 10px 22px rgba(249,115,22,.12);color:#0f172a;}
.bb-seo-routecard-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;}
.bb-seo-routecard-head strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-seo-routecard-head strong i{color:#f97316;margin:0 4px;font-size:10px;}
.bb-seo-routecard-head span{font-size:11.5px;color:#94a3b8;background:#f1f5f9;padding:2px 8px;border-radius:99px;font-weight:700;}
.bb-seo-routecard-meta{list-style:none;padding:0;margin:0;display:flex;gap:14px;font-size:12px;color:#64748b;}
.bb-seo-routecard-meta li{display:inline-flex;align-items:center;gap:4px;}
.bb-seo-routecard-meta i{color:#0d9488;font-size:11px;}
.bb-seo-routecard-foot{display:flex;align-items:center;gap:10px;padding-top:8px;border-top:1px dashed #e2e8f0;}
.bb-seo-routecard-foot small{font-size:10.5px;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;}
.bb-seo-routecard-foot strong{font-size:16px;font-weight:800;color:#f97316;}
.bb-seo-routecard-cta{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#c2410c;font-weight:800;}

/* SEO Tabs */
.bb-seo-tabs{display:flex;gap:6px;background:#f1f5f9;padding:5px;border-radius:12px;margin-bottom:14px;overflow-x:auto;}
.bb-seo-tab{flex:0 0 auto;background:transparent;color:#475569;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s;}
.bb-seo-tab:hover{color:#0f172a;}
.bb-seo-tab.is-active{background:#fff;color:#f97316;box-shadow:0 2px 6px rgba(15,23,42,.08);}

.bb-seo-tabpane{display:none;animation:bbSeoFade .2s;}
.bb-seo-tabpane.is-active{display:block;}
@keyframes bbSeoFade{from{opacity:0;}to{opacity:1;}}

/* Chip grid */
.bb-seo-chipgrid{display:flex;flex-wrap:wrap;gap:6px;}
.bb-seo-chip{display:inline-block;background:#fff;border:1.5px solid #e2e8f0;border-radius:99px;padding:6px 13px;font-size:12.5px;color:#334155;text-decoration:none;font-weight:600;transition:all .15s;}
.bb-seo-chip:hover{background:#fff7ed;border-color:#f97316;color:#c2410c;}

/* A-Z index */
.bb-seo-azindex{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:14px;padding:8px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;justify-content:center;}
.bb-seo-aznav{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#7c2d12;border:1px solid #fed7aa;border-radius:8px;font-size:13px;font-weight:800;text-decoration:none;transition:all .15s;}
.bb-seo-aznav:hover{background:#f97316;color:#fff;border-color:#f97316;}
.bb-seo-azgroups{display:flex;flex-direction:column;gap:14px;}
.bb-seo-azgroup h3{font-size:18px;font-weight:800;color:#f97316;margin:0 0 8px;padding-bottom:5px;border-bottom:2px solid #fed7aa;width:fit-content;}

/* Timeline (schedules) */
.bb-seo-timeline{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px;}
.bb-seo-tlcell{text-align:center;padding:8px 2px;border-radius:6px;display:flex;flex-direction:column;align-items:center;gap:2px;}
.bb-seo-tlcell[data-hi="high"]{background:#fff7ed;border:1px solid #fed7aa;}
.bb-seo-tlcell[data-hi="mid"]{background:#fffbeb;border:1px solid #fde68a;}
.bb-seo-tlcell[data-hi="low"]{background:#f8fafc;border:1px solid #e2e8f0;}
.bb-seo-tlcell strong{font-size:12px;font-weight:800;color:#0f172a;}
.bb-seo-tlcell[data-hi="high"] strong{color:#c2410c;}
.bb-seo-tlcell small{font-size:9px;color:#94a3b8;}
.bb-seo-tl-note{margin:10px 0 0;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:8px 12px;font-size:12.5px;color:#1e3a8a;}
.bb-seo-tl-note i{color:#1d4ed8;margin-right:5px;}
.bb-seo-tl-note strong{color:#1e3a8a;}

/* Filter card */
.bb-seo-filtercard{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;position:sticky;top:80px;}
.bb-seo-filtercard h4{margin:0 0 12px;font-size:14px;font-weight:800;color:#0f172a;padding-bottom:6px;border-bottom:2px solid #f97316;}
.bb-seo-filter-group{margin-bottom:12px;padding-bottom:10px;border-bottom:1px dashed #e2e8f0;}
.bb-seo-filter-group:last-of-type{border-bottom:none;}
.bb-seo-filter-group > label{display:block;font-size:11.5px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;}
.bb-seo-chk{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#334155;padding:3px 0;cursor:pointer;}
.bb-seo-chk input{accent-color:#f97316;}
.bb-seo-days{display:flex;gap:3px;}
.bb-seo-day{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #e2e8f0;border-radius:6px;font-size:10px;font-weight:800;color:#64748b;background:#fff;cursor:pointer;}
.bb-seo-day.is-on{background:#f97316;color:#fff;border-color:#f97316;}
.bb-seo-daysmini{font-size:10px;font-weight:700;color:#16a34a;letter-spacing:1px;}
.bb-seo-filter-btn{width:100%;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;border-radius:99px;padding:10px;font-size:13px;font-weight:800;cursor:pointer;}

/* Bus types detail */
.bb-seo-bt-detail{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;}
.bb-seo-bt-img{position:relative;}
.bb-seo-bt-img img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block;}
.bb-seo-bt-premium{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,#eab308,#ca8a04);color:#fff;font-size:11px;font-weight:800;padding:4px 11px;border-radius:99px;letter-spacing:.4px;display:inline-flex;align-items:center;gap:5px;}
.bb-seo-bt-body{padding:20px;display:flex;flex-direction:column;gap:10px;}
.bb-seo-bt-body h3{margin:0;font-size:22px;font-weight:800;color:#0f172a;}
.bb-seo-bt-body p{margin:0;font-size:13.5px;color:#475569;line-height:1.6;}
.bb-seo-bt-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#fff7ed;border:1px dashed #fed7aa;border-radius:10px;padding:10px;}
.bb-seo-bt-stats small{display:block;font-size:10px;font-weight:700;color:#7c2d12;text-transform:uppercase;letter-spacing:.4px;}
.bb-seo-bt-stats strong{font-size:13px;font-weight:800;color:#0f172a;}
.bb-seo-bt-body h4{margin:6px 0 0;font-size:14px;font-weight:800;color:#0f172a;}
.bb-seo-bt-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:#334155;}
.bb-seo-bt-feats li{display:flex;align-items:flex-start;gap:7px;}
.bb-seo-bt-feats i{color:#16a34a;font-size:11px;margin-top:3px;}
.bb-seo-bt-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-radius:99px;padding:11px 20px;font-size:13.5px;font-weight:800;text-decoration:none;margin-top:8px;transition:all .15s;align-self:flex-start;}
.bb-seo-bt-cta:hover{color:#fff;transform:translateY(-1px);}

/* Wide map card */
.bb-seo-mapcard{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;position:relative;}
.bb-seo-mapcard:not(.bb-seo-mapcard--wide){display:flex;flex-direction:column;}
.bb-seo-mapcard img{width:100%;display:block;}
.bb-seo-mapcard-btn{position:absolute;bottom:10px;right:10px;background:rgba(15,23,42,.85);color:#fff;border:none;border-radius:99px;padding:7px 14px;font-size:11.5px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:5px;}
.bb-seo-mapcard-btn:hover{background:#f97316;}
.bb-seo-mapcard--wide{padding:0;}
.bb-seo-mapcard--wide img{height:280px;object-fit:cover;}
.bb-seo-mapcard-info{padding:14px 18px;background:#fff7ed;border-top:1px solid #fed7aa;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.bb-seo-mapcard-info strong{display:flex;align-items:center;gap:7px;font-size:14px;color:#0f172a;}
.bb-seo-mapcard-info strong i{color:#f97316;}
.bb-seo-mapcard-info p{margin:0;font-size:12.5px;color:#7c2d12;flex:1;min-width:220px;}
.bb-seo-mapcard-info .bb-seo-mapcard-btn{position:static;background:linear-gradient(135deg,#0d9488,#0f766e);}
.bb-seo-mapcard-info .bb-seo-mapcard-btn:hover{background:linear-gradient(135deg,#0f766e,#115e59);}

/* ATTRACTIONS extras */
.bb-att-themes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.bb-att-theme{display:flex;flex-direction:column;align-items:flex-start;gap:5px;background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:16px 18px;cursor:pointer;text-decoration:none;color:#0f172a;text-align:left;transition:all .15s;}
.bb-att-theme:hover{border-color:#fdba74;transform:translateY(-2px);box-shadow:0 10px 22px rgba(249,115,22,.12);background:#fff7ed;color:#0f172a;}
.bb-att-theme-emoji{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#fff7ed,#ffedd5);display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px;flex-shrink:0;}
.bb-att-theme-emoji i{font-size:20px;color:#f97316;}
.bb-att-theme:hover .bb-att-theme-emoji{background:linear-gradient(135deg,#f97316,#ea580c);}
.bb-att-theme:hover .bb-att-theme-emoji i{color:#fff;}
.bb-att-theme strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-att-theme small{font-size:12px;color:#64748b;}

.bb-att-tips{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.bb-att-tip{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:5px;}
.bb-att-tip > i{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:5px;}
.bb-att-tip strong{font-size:14px;font-weight:800;color:#0f172a;}
.bb-att-tip p{margin:0;font-size:12.5px;color:#475569;line-height:1.5;}

.bb-att-modecard{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:24px;text-align:center;text-decoration:none;color:#0f172a;transition:all .15s;}
.bb-att-modecard:hover{transform:translateY(-3px);border-color:#fdba74;box-shadow:0 12px 26px rgba(249,115,22,.14);color:#0f172a;}
.bb-att-modecard > i{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:6px;}
.bb-att-modecard strong{font-size:16px;font-weight:800;color:#0f172a;}
.bb-att-modecard p{margin:0;font-size:12.5px;color:#475569;line-height:1.55;}

.bb-att-cuisine{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.bb-att-cuisine-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;}
.bb-att-cuisine-card img{width:100%;height:140px;object-fit:cover;display:block;}
.bb-att-cuisine-card strong{display:block;font-size:13.5px;font-weight:800;color:#0f172a;padding:10px 12px 4px;}
.bb-att-cuisine-card small{display:block;font-size:12px;color:#475569;line-height:1.45;padding:0 12px 12px;}

.bb-att-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.bb-att-gallery img{width:100%;height:200px;object-fit:cover;border-radius:10px;cursor:pointer;transition:transform .2s;}
.bb-att-gallery img:hover{transform:scale(1.03);}

.bb-att-chipgrid{display:flex;flex-wrap:wrap;gap:6px;}

/* Responsive overrides */
@media (max-width:991px){
  .bb-seo-routegrid{grid-template-columns:repeat(2,1fr);}
  .bb-seo-timeline{grid-template-columns:repeat(12,1fr);}
  .bb-seo-bt-detail{grid-template-columns:1fr;}
  .bb-seo-filtercard{position:static;}
  .bb-att-themes,.bb-att-tips,.bb-att-cuisine,.bb-att-gallery{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:767px){
  .bb-seo-routegrid{grid-template-columns:1fr;}
  .bb-seo-timeline{grid-template-columns:repeat(6,1fr);}
  .bb-seo-tabs{flex-wrap:wrap;}
  .bb-seo-mapcard-info{flex-direction:column;align-items:flex-start;}
  .bb-att-themes{grid-template-columns:1fr 1fr;}
  .bb-att-gallery{grid-template-columns:1fr 1fr;}
  .bb-att-cuisine{grid-template-columns:1fr;}
}

/* ============================================================
   COUPON / OFFERS — Copy button + code chip
   Used by offers.html for promo code copy
============================================================ */

/* Default copy button — orange (matches brand) */
.bb-pd-coupon-apply{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);
  color:#fff;border:none;border-radius:8px;
  padding:7px 16px;font-size:12.5px;font-weight:800;
  letter-spacing:.3px;cursor:pointer;
  box-shadow:0 4px 12px rgba(249,115,22,.35);
  transition:all .15s;text-decoration:none;
  white-space:nowrap;font-family:inherit;
}
.bb-pd-coupon-apply:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(249,115,22,.5);
  color:#fff;
}
.bb-pd-coupon-apply:active{transform:translateY(0);}
.bb-pd-coupon-apply::before{
  content:"\f0c5";font-family:"Font Awesome 6 Free";font-weight:400;
  font-size:11px;margin-right:2px;
}

/* "Copied!" success state — toggled via JS */
.bb-pd-coupon-apply.is-copied{
  background:linear-gradient(135deg,#10b981 0%,#059669 100%);
  box-shadow:0 4px 12px rgba(16,185,129,.4);
}
.bb-pd-coupon-apply.is-copied::before{
  content:"\f00c";font-weight:900;
}

/* When inline background overrides (HDFC blue, GOA green, etc.),
   the !important keeps the default orange shadow off so the
   background color shines through correctly */
.bb-pd-coupon-apply[style*="background"]{
  box-shadow:0 4px 12px rgba(15,23,42,.18);
}
.bb-pd-coupon-apply[style*="background"]:hover{
  filter:brightness(1.1);transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(15,23,42,.25);
}

/* Coupon code chip (the dashed-border code badge next to Copy button) */
.bb-pd-coupon{
  display:inline-flex;align-items:center;
  background:#fef3c7;border:1px dashed #d97706;
  color:#92400e;font-family:"JetBrains Mono","Courier New",monospace;
  font-weight:800;letter-spacing:.5px;
  padding:6px 14px;border-radius:8px;font-size:13px;
  user-select:all;cursor:text;
}

/* Responsive — keep Copy button readable on small screens */
@media (max-width:480px){
  .bb-pd-coupon-apply{padding:6px 13px;font-size:11.5px;}
  .bb-pd-coupon{font-size:12px;padding:5px 11px;}
}

/* ============================================================
   OFFERS PAGE TABS (.bb-mb-tab*) — Spec 18 (offers)
   Was used unstyled on offers.html — now properly themed.
============================================================ */
.bb-mb-tabs{
  display:flex;flex-wrap:wrap;gap:6px;background:#f1f5f9;padding:5px;
  border-radius:12px;margin-bottom:14px;
}
.bb-mb-tab{
  display:inline-flex;align-items:center;gap:7px;
  background:transparent;color:#475569;border:none;border-radius:8px;
  padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;
  transition:all .15s;white-space:nowrap;font-family:inherit;
}
.bb-mb-tab:hover{color:#0f172a;background:rgba(255,255,255,.6);}
.bb-mb-tab.is-active{
  background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;
  box-shadow:0 4px 12px rgba(249,115,22,.3);
}
.bb-mb-tab i{font-size:12px;}
.bb-mb-tab-count{
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;color:#64748b;border-radius:99px;
  min-width:22px;padding:1px 7px;font-size:11px;font-weight:800;
  margin-left:2px;
}
.bb-mb-tab.is-active .bb-mb-tab-count{
  background:rgba(255,255,255,.25);color:#fff;
}

/* Empty state for "no offers in this category" */
.bb-mb-empty{
  text-align:center;padding:40px 20px;
  background:#fff;border:1px dashed #e2e8f0;border-radius:14px;
  margin:14px 0;
}
.bb-mb-empty i{font-size:42px;color:#fdba74;margin-bottom:10px;}
.bb-mb-empty h3{margin:0 0 5px;font-size:17px;font-weight:800;color:#0f172a;}
.bb-mb-empty p{margin:0;font-size:13px;color:#64748b;}

/* Card fade-in animation when category switches */
[data-offer-cat]{transition:opacity .2s,transform .2s;}
[data-offer-cat][hidden]{display:none !important;}

@media (max-width:480px){
  .bb-mb-tab{padding:8px 12px;font-size:12px;gap:5px;}
  .bb-mb-tab-count{min-width:20px;font-size:10.5px;padding:1px 6px;}
}

/* ============================================================
   BLOG GRID + BLOG DETAIL (bb-blog-* / bb-bd-*)
   ============================================================ */
.bb-blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch;}
.bb-blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;height:100%;text-decoration:none;color:inherit;}
.bb-blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(15,23,42,.10);border-color:#f97316;text-decoration:none;color:inherit;}
.bb-blog-card[hidden]{display:none !important;}
.bb-blog-card-imgwrap{position:relative;width:100%;height:200px;overflow:hidden;flex-shrink:0;background:#f1f5f9;}
.bb-blog-card-imgwrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.bb-blog-card:hover .bb-blog-card-imgwrap img{transform:scale(1.05);}
.bb-blog-card-cat{position:absolute;top:10px;left:10px;background:rgba(249,115,22,.95);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:5px 10px;border-radius:6px;}
.bb-blog-card-read{position:absolute;top:10px;right:10px;background:rgba(15,23,42,.75);color:#fff;font-size:11px;font-weight:600;padding:5px 9px;border-radius:6px;display:inline-flex;align-items:center;gap:5px;}
.bb-blog-card-body{padding:16px 16px 14px;display:flex;flex-direction:column;flex:1;}
.bb-blog-card-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:700;color:#0f172a;line-height:1.35;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:43px;}
.bb-blog-card-excerpt{font-size:13px;color:#64748b;line-height:1.55;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.bb-blog-card-meta{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid #f1f5f9;}
.bb-blog-card-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
.bb-blog-card-author{font-size:12px;font-weight:600;color:#0f172a;line-height:1.2;}
.bb-blog-card-date{font-size:11px;color:#94a3b8;}
.bb-blog-empty{padding:48px 20px;text-align:center;color:#64748b;border:2px dashed #e2e8f0;border-radius:14px;}
.bb-blog-empty i{font-size:36px;color:#cbd5e1;margin-bottom:10px;}

/* Blog Detail Page */
.bb-bd-hero{position:relative;height:380px;border-radius:18px;overflow:hidden;margin-bottom:24px;}
.bb-bd-hero img{width:100%;height:100%;object-fit:cover;display:block;}
.bb-bd-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,0) 0%,rgba(15,23,42,.85) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:#fff;}
.bb-bd-hero-cat{display:inline-block;background:#f97316;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:5px 12px;border-radius:6px;margin-bottom:12px;width:fit-content;}
.bb-bd-hero-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:34px;font-weight:800;line-height:1.2;margin:0 0 12px;max-width:850px;}
.bb-bd-hero-meta{display:flex;align-items:center;gap:18px;font-size:13px;color:#e2e8f0;flex-wrap:wrap;}
.bb-bd-hero-meta i{color:#fb923c;margin-right:5px;}
.bb-bd-body{font-size:15.5px;line-height:1.75;color:#1e293b;}
.bb-bd-lead{font-size:18px;font-weight:500;color:#0f172a;line-height:1.65;padding:16px 20px;background:#fff7ed;border-left:4px solid #f97316;border-radius:0 10px 10px 0;margin:0 0 24px;}
.bb-bd-body h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;color:#0f172a;margin:32px 0 14px;padding-left:14px;border-left:4px solid #f97316;}
.bb-bd-body h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:19px;font-weight:700;color:#0f172a;margin:24px 0 10px;}
.bb-bd-body p{margin:0 0 16px;}
.bb-bd-body a{color:#0d9488;text-decoration:underline;font-weight:600;}
.bb-bd-body a:hover{color:#0f766e;}
.bb-bd-ul,.bb-bd-ol{margin:0 0 20px;padding-left:22px;}
.bb-bd-ul li,.bb-bd-ol li{margin-bottom:8px;line-height:1.65;}
.bb-bd-figure{margin:24px 0;border-radius:14px;overflow:hidden;}
.bb-bd-figure img{width:100%;height:auto;display:block;}
.bb-bd-figure figcaption{font-size:13px;color:#64748b;padding:10px 14px;background:#f8fafc;text-align:center;font-style:italic;}
.bb-bd-callout{background:linear-gradient(135deg,#fff7ed,#fef3c7);border:1px solid #fed7aa;border-radius:14px;padding:18px 22px;margin:22px 0;display:flex;gap:14px;align-items:flex-start;}
.bb-bd-callout i{font-size:22px;color:#f97316;margin-top:2px;flex-shrink:0;}
.bb-bd-callout-body{flex:1;}
.bb-bd-callout-title{font-weight:700;color:#0f172a;margin-bottom:4px;font-size:15px;}
.bb-bd-callout-text{font-size:14px;color:#475569;line-height:1.6;}
.bb-bd-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0;padding-top:22px;border-top:1px solid #e2e8f0;}
.bb-bd-tag{display:inline-block;font-size:12px;font-weight:600;color:#475569;background:#f1f5f9;padding:6px 12px;border-radius:6px;text-decoration:none;}
.bb-bd-tag:hover{background:#f97316;color:#fff;text-decoration:none;}
.bb-bd-share{display:flex;align-items:center;gap:10px;margin:24px 0;padding:18px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;}
.bb-bd-share-label{font-size:13px;font-weight:700;color:#0f172a;margin-right:6px;}
.bb-bd-share-btn{width:38px;height:38px;border-radius:50%;border:none;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px;cursor:pointer;transition:transform .2s;text-decoration:none;}
.bb-bd-share-btn:hover{transform:translateY(-2px);color:#fff;}
.bb-bd-share-fb{background:#1877f2;}
.bb-bd-share-tw{background:#0f172a;}
.bb-bd-share-wa{background:#25d366;}
.bb-bd-share-li{background:#0a66c2;}
.bb-bd-share-copy{background:#64748b;}

/* Sidebar */
.bb-bd-side{display:flex;flex-direction:column;gap:18px;}
.bb-bd-side-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;}
.bb-bd-side-card h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;color:#0f172a;margin:0 0 14px;display:flex;align-items:center;gap:8px;}
.bb-bd-side-card h4 i{color:#f97316;}
.bb-bd-side-author{text-align:center;padding:8px 0 4px;}
.bb-bd-side-author-avatar{width:74px;height:74px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;margin:0 auto 10px;}
.bb-bd-side-author-name{font-weight:700;color:#0f172a;font-size:15px;}
.bb-bd-side-author-role{font-size:12px;color:#64748b;margin-bottom:10px;}
.bb-bd-side-author-bio{font-size:13px;color:#475569;line-height:1.55;margin-bottom:14px;}
.bb-bd-side-btn{display:inline-block;background:#0d9488;color:#fff;font-size:12px;font-weight:600;padding:8px 16px;border-radius:8px;text-decoration:none;transition:background .2s;}
.bb-bd-side-btn:hover{background:#0f766e;color:#fff;text-decoration:none;}
.bb-bd-related{display:flex;flex-direction:column;gap:12px;}
.bb-bd-related-item{display:flex;gap:10px;text-decoration:none;color:inherit;padding:8px;border-radius:10px;transition:background .2s;}
.bb-bd-related-item:hover{background:#f8fafc;text-decoration:none;color:inherit;}
.bb-bd-related-img{width:64px;height:64px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#f1f5f9;}
.bb-bd-related-img img{width:100%;height:100%;object-fit:cover;display:block;}
.bb-bd-related-body{flex:1;min-width:0;}
.bb-bd-related-title{font-size:13px;font-weight:600;color:#0f172a;line-height:1.35;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bb-bd-related-date{font-size:11px;color:#94a3b8;}
.bb-bd-news{background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;border:none;}
.bb-bd-news h4{color:#fff;}
.bb-bd-news h4 i{color:#fff;}
.bb-bd-news-text{font-size:13px;color:rgba(255,255,255,.92);line-height:1.55;margin-bottom:12px;}
.bb-bd-news-form{display:flex;flex-direction:column;gap:8px;}
.bb-bd-news-form input{border:none;padding:10px 14px;border-radius:8px;font-size:13px;}
.bb-bd-news-form button{border:none;background:#0f172a;color:#fff;padding:10px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;}
.bb-bd-news-form button:hover{background:#1e293b;}

/* Comments */
.bb-bd-comments{margin-top:36px;padding-top:28px;border-top:1px solid #e2e8f0;}
.bb-bd-comments h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;color:#0f172a;margin:0 0 20px;display:flex;align-items:center;gap:10px;}
.bb-bd-comments h3 .badge{background:#f97316;color:#fff;font-size:13px;padding:4px 10px;border-radius:8px;}
.bb-bd-comment{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #f1f5f9;}
.bb-bd-comment-avatar{width:44px;height:44px;border-radius:50%;background:#0d9488;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0;}
.bb-bd-comment-body{flex:1;}
.bb-bd-comment-head{display:flex;align-items:center;gap:10px;margin-bottom:5px;flex-wrap:wrap;}
.bb-bd-comment-name{font-weight:700;color:#0f172a;font-size:14px;}
.bb-bd-comment-date{font-size:11px;color:#94a3b8;}
.bb-bd-comment-text{font-size:14px;color:#475569;line-height:1.6;}
.bb-bd-comment-form{margin-top:20px;background:#f8fafc;border-radius:12px;padding:18px;}
.bb-bd-comment-form .form-control{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;}
.bb-bd-comment-form .form-control:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.15);}
.bb-bd-comment-form-btn{background:linear-gradient(90deg,#f97316,#fb923c);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;}
.bb-bd-comment-form-btn:hover{background:linear-gradient(90deg,#ea580c,#f97316);}

/* Responsive */
@media (max-width:1100px){.bb-blog-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:991px){.bb-blog-grid{grid-template-columns:repeat(2,1fr);}.bb-bd-hero{height:300px;}.bb-bd-hero-title{font-size:26px;}}
@media (max-width:767px){.bb-bd-hero{height:240px;}.bb-bd-hero-overlay{padding:18px;}.bb-bd-hero-title{font-size:21px;}.bb-bd-body{font-size:14.5px;}.bb-bd-body h2{font-size:20px;}}
@media (max-width:480px){.bb-blog-grid{grid-template-columns:1fr;}}

/* ============================================================
   BLOG DETAIL · REDESIGN (bb-art-*) · Modern magazine layout
   ============================================================ */

/* ===== ARTICLE HERO ===== */
.bb-art-hero{position:relative;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;background:#0f172a;margin-bottom:0;}
.bb-art-hero-img{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1.05);filter:brightness(.85);}
.bb-art-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.15) 0%,rgba(15,23,42,.65) 55%,rgba(15,23,42,.95) 100%);}
.bb-art-hero-content{position:relative;z-index:2;color:#fff;padding:80px 15px 60px;max-width:980px;}
.bb-art-hero-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(249,115,22,.95);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:7px 14px;border-radius:30px;margin-bottom:18px;}
.bb-art-hero-pill i{font-size:11px;}
.bb-art-hero-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:42px;font-weight:800;line-height:1.15;letter-spacing:-.3px;margin:0 0 16px;text-shadow:0 2px 30px rgba(0,0,0,.45);}
.bb-art-hero-sub{font-size:18px;font-weight:400;color:#e2e8f0;line-height:1.55;max-width:780px;margin:0 0 26px;}
.bb-art-hero-byline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#cbd5e1;font-size:14px;}
.bb-art-hero-byline img{width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.3);object-fit:cover;}
.bb-art-hero-byline > div{display:flex;flex-direction:column;line-height:1.3;}
.bb-art-hero-byline strong{color:#fff;font-size:15px;font-weight:700;}
.bb-art-hero-byline span{font-size:12px;color:#cbd5e1;}
.bb-art-hero-dot{width:4px;height:4px;border-radius:50%;background:#64748b;}
.bb-art-hero-meta-item{font-size:13px;color:#cbd5e1;display:inline-flex;align-items:center;gap:5px;}
.bb-art-hero-meta-item i{color:#fb923c;}

/* ===== MAIN WRAPPER ===== */
.bb-art-main{padding:50px 0 60px;background:#fafbfc;position:relative;}

/* ===== LEFT FLOATING SHARE RAIL ===== */
.bb-art-rail{position:absolute;left:-10px;top:60px;width:60px;z-index:5;}
.bb-art-rail-stick{position:sticky;top:90px;display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;padding:14px 8px;border-radius:14px;box-shadow:0 4px 18px rgba(15,23,42,.08);border:1px solid #e2e8f0;}
.bb-art-rail-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#94a3b8;font-weight:700;margin-bottom:2px;}
.bb-art-rail-btn{width:38px;height:38px;border-radius:50%;background:#f1f5f9;color:#475569;border:none;display:inline-flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:all .2s;text-decoration:none;}
.bb-art-rail-btn:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(15,23,42,.12);color:#fff;}
.bb-art-rail-btn[data-net="fb"]:hover{background:#1877f2;}
.bb-art-rail-btn[data-net="tw"]:hover{background:#0f172a;}
.bb-art-rail-btn[data-net="wa"]:hover{background:#25d366;}
.bb-art-rail-btn[data-net="li"]:hover{background:#0a66c2;}
.bb-art-rail-copy:hover{background:#f97316;color:#fff;}
.bb-art-rail-count{font-size:12px;font-weight:700;color:#0f172a;margin-top:6px;text-align:center;line-height:1.1;}
.bb-art-rail-count small{display:block;font-size:9px;text-transform:uppercase;color:#94a3b8;letter-spacing:.5px;}

/* ===== ARTICLE COLUMN ===== */
.bb-art-col{max-width:780px;}

/* Lead paragraph */
.bb-art-lead{font-family:'Plus Jakarta Sans',sans-serif;font-size:20px;font-weight:500;color:#0f172a;line-height:1.6;margin:0 0 28px;padding-bottom:24px;border-bottom:1px solid #e2e8f0;}
.bb-art-lead strong{color:#f97316;font-weight:700;}

/* TOC */
.bb-art-toc{background:linear-gradient(135deg,#fff7ed,#fef3c7);border:1px solid #fed7aa;border-radius:14px;padding:18px 22px;margin:0 0 32px;}
.bb-art-toc-head{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:700;color:#9a3412;text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.bb-art-toc-head i{color:#f97316;}
.bb-art-toc ol{margin:0;padding-left:22px;font-size:14.5px;line-height:1.7;color:#475569;}
.bb-art-toc ol li{padding:2px 0;}
.bb-art-toc ol a{color:#475569;text-decoration:none;border-bottom:1px dashed transparent;}
.bb-art-toc ol a:hover{color:#f97316;border-bottom-color:#f97316;}

/* Article body */
.bb-art-body{font-size:16.5px;line-height:1.8;color:#1e293b;}
.bb-art-body p{margin:0 0 20px;}
.bb-art-body p strong{color:#0f172a;font-weight:700;}
.bb-art-body a{color:#0d9488;text-decoration:underline;text-decoration-color:#5eead4;text-underline-offset:3px;font-weight:600;transition:color .2s;}
.bb-art-body a:hover{color:#0f766e;text-decoration-color:#0d9488;}
.bb-art-body em{color:#0f172a;font-style:italic;}

/* Headings */
.bb-art-body h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;font-weight:800;color:#0f172a;line-height:1.25;margin:44px 0 18px;display:flex;align-items:baseline;gap:14px;scroll-margin-top:80px;}
.bb-art-h-num{font-size:14px;font-weight:800;color:#f97316;background:#fff7ed;padding:5px 10px;border-radius:8px;letter-spacing:.5px;flex-shrink:0;align-self:center;}
.bb-art-body h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:21px;font-weight:700;color:#0f172a;margin:28px 0 12px;}

/* Lists */
.bb-art-list{margin:0 0 24px;padding:0;list-style:none;}
.bb-art-list li{position:relative;padding-left:30px;margin-bottom:12px;line-height:1.7;}
.bb-art-list li:before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;border-radius:50%;background:#f97316;}
.bb-art-list--num{counter-reset:numlist;}
.bb-art-list--num li{padding-left:46px;counter-increment:numlist;min-height:36px;}
.bb-art-list--num li:before{content:counter(numlist,decimal-leading-zero);background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;font-family:'Plus Jakarta Sans',sans-serif;top:0;}

/* Figure */
.bb-art-fig{margin:32px 0;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.10);}
.bb-art-fig img{width:100%;height:auto;display:block;}
.bb-art-fig figcaption{font-size:13px;color:#64748b;padding:12px 18px;background:#f8fafc;text-align:center;font-style:italic;border-top:1px solid #e2e8f0;}

/* Table */
.bb-art-table-wrap{overflow-x:auto;margin:0 0 28px;border-radius:14px;border:1px solid #e2e8f0;}
.bb-art-table{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff;}
.bb-art-table thead{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;}
.bb-art-table th{padding:12px 16px;text-align:left;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;}
.bb-art-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;}
.bb-art-table tbody tr:last-child td{border-bottom:none;}
.bb-art-table tbody tr:hover{background:#fef3c7;}

/* Callout */
.bb-art-callout{display:flex;gap:16px;align-items:flex-start;padding:20px 24px;border-radius:14px;margin:28px 0;border:1px solid;}
.bb-art-callout-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.bb-art-callout > div:not(.bb-art-callout-ico){flex:1;}
.bb-art-callout strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;color:#0f172a;margin-bottom:4px;}
.bb-art-callout p{margin:0;font-size:14.5px;line-height:1.6;color:#475569;}
.bb-art-callout--tip{background:linear-gradient(135deg,#fff7ed,#fef3c7);border-color:#fed7aa;}
.bb-art-callout--tip .bb-art-callout-ico{background:#fb923c;color:#fff;}
.bb-art-callout--cta{background:linear-gradient(135deg,#ecfeff,#cffafe);border-color:#a5f3fc;}
.bb-art-callout--cta .bb-art-callout-ico{background:#0d9488;color:#fff;}
.bb-art-callout-btn{display:inline-flex;align-items:center;gap:8px;background:#0d9488;color:#fff !important;font-size:14px;font-weight:600;padding:9px 18px;border-radius:8px;text-decoration:none !important;margin-top:10px;transition:background .2s;}
.bb-art-callout-btn:hover{background:#0f766e;color:#fff !important;}

/* Pull quote */
.bb-art-quote{position:relative;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;border-radius:18px;padding:32px 32px 28px;margin:32px 0;}
.bb-art-quote i{position:absolute;top:-12px;left:24px;background:#f97316;color:#fff;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;box-shadow:0 4px 12px rgba(249,115,22,.4);}
.bb-art-quote p{font-family:'Plus Jakarta Sans',sans-serif;font-size:20px;font-weight:500;line-height:1.5;color:#fff;margin:0 0 12px;font-style:italic;}
.bb-art-quote cite{display:block;font-size:13px;font-style:normal;color:#fb923c;font-weight:600;letter-spacing:.3px;}

/* Inline route cards */
.bb-art-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 28px;}
.bb-art-route-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;text-decoration:none;color:inherit;transition:all .2s;}
.bb-art-route-card:hover{transform:translateY(-2px);border-color:#f97316;box-shadow:0 6px 18px rgba(249,115,22,.12);text-decoration:none;color:inherit;}
.bb-art-route-cities{font-size:14px;font-weight:700;color:#0f172a;margin-bottom:4px;}
.bb-art-route-price{font-size:15px;font-weight:800;color:#f97316;margin-bottom:2px;}
.bb-art-route-meta{font-size:11px;color:#94a3b8;}

/* Tags */
.bb-art-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:36px 0 24px;padding-top:24px;border-top:1px solid #e2e8f0;}
.bb-art-tags > i{color:#94a3b8;margin-right:4px;}
.bb-art-tag{display:inline-block;font-size:13px;font-weight:600;color:#475569;background:#f1f5f9;padding:6px 14px;border-radius:20px;text-decoration:none;transition:all .2s;}
.bb-art-tag:hover{background:#f97316;color:#fff;text-decoration:none;transform:translateY(-1px);}

/* Inline share bar (mobile) */
.bb-art-share{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;margin:24px 0;}
.bb-art-share-label{display:block;font-size:13px;font-weight:700;color:#0f172a;margin-bottom:12px;}
.bb-art-share-label i{color:#f97316;margin-right:6px;}
.bb-art-share-row{display:flex;gap:10px;}
.bb-art-share-btn{width:42px;height:42px;border-radius:10px;border:none;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;text-decoration:none;transition:transform .2s;}
.bb-art-share-btn:hover{transform:translateY(-2px);color:#fff;}
.bb-art-share-fb{background:#1877f2;}
.bb-art-share-tw{background:#0f172a;}
.bb-art-share-wa{background:#25d366;}
.bb-art-share-li{background:#0a66c2;}
.bb-art-share-cp{background:#475569;}

/* Helpful */
.bb-art-helpful{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:22px 24px;margin:28px 0;text-align:center;}
.bb-art-helpful strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;color:#0f172a;margin-bottom:14px;}
.bb-art-helpful-btns{display:flex;gap:10px;justify-content:center;margin-bottom:12px;flex-wrap:wrap;}
.bb-art-helpful-btn{background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:14px;font-weight:600;padding:9px 18px;border-radius:10px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px;}
.bb-art-helpful-btn:hover{background:#f97316;color:#fff;border-color:#f97316;transform:translateY(-1px);}
.bb-art-helpful-btn.is-selected{background:#10b981;color:#fff;border-color:#10b981;}
.bb-art-helpful small{color:#94a3b8;font-size:12px;}

/* Author bio card */
.bb-art-author{display:flex;gap:22px;align-items:flex-start;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;border-radius:18px;padding:26px;margin:32px 0 0;}
.bb-art-author-avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid #fff;box-shadow:0 4px 14px rgba(15,23,42,.10);}
.bb-art-author-body{flex:1;}
.bb-art-author-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:800;color:#0f172a;}
.bb-art-author-role{font-size:13px;color:#f97316;font-weight:600;margin-bottom:8px;}
.bb-art-author-bio{font-size:14.5px;color:#475569;line-height:1.6;margin:0 0 14px;}
.bb-art-author-social{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.bb-art-author-social a{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #e2e8f0;color:#475569;display:inline-flex;align-items:center;justify-content:center;font-size:13px;text-decoration:none;transition:all .2s;}
.bb-art-author-social a:hover{background:#f97316;color:#fff;border-color:#f97316;transform:translateY(-2px);}
.bb-art-author-allposts{margin-left:auto;background:#0f172a;color:#fff !important;font-size:13px;font-weight:600;padding:9px 16px;border-radius:8px;text-decoration:none !important;display:inline-flex;align-items:center;gap:8px;width:auto !important;border-radius:8px !important;border:none !important;}
.bb-art-author-allposts:hover{background:#1e293b !important;color:#fff !important;}

/* ===== SIDEBAR ===== */
.bb-art-sidebar-stick{position:sticky;top:80px;display:flex;flex-direction:column;gap:18px;}
.bb-art-side-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;}
.bb-art-side-h{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:800;color:#0f172a;text-transform:uppercase;letter-spacing:.5px;margin:0 0 14px;display:flex;align-items:center;gap:8px;}
.bb-art-side-h i{color:#f97316;}
.bb-art-side-related{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #f1f5f9;text-decoration:none;color:inherit;transition:transform .2s;}
.bb-art-side-related:last-child{border-bottom:none;padding-bottom:0;}
.bb-art-side-related:first-child{padding-top:0;}
.bb-art-side-related:hover{transform:translateX(3px);text-decoration:none;color:inherit;}
.bb-art-side-rank{font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;color:#cbd5e1;width:30px;flex-shrink:0;line-height:1;}
.bb-art-side-related img{width:62px;height:62px;border-radius:10px;object-fit:cover;flex-shrink:0;}
.bb-art-side-related > div{flex:1;min-width:0;}
.bb-art-side-related strong{display:block;font-size:13px;font-weight:600;color:#0f172a;line-height:1.4;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bb-art-side-related small{font-size:11px;color:#94a3b8;}
.bb-art-side-related:hover strong{color:#f97316;}

/* Newsletter side */
.bb-art-side-news{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-radius:14px;padding:24px 22px;text-align:center;position:relative;overflow:hidden;}
.bb-art-side-news:before{content:"";position:absolute;top:-40px;right:-30px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.08);}
.bb-art-side-news-ico{width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 12px;position:relative;z-index:1;}
.bb-art-side-news h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:17px;font-weight:800;color:#fff;margin:0 0 6px;position:relative;}
.bb-art-side-news p{font-size:13px;color:rgba(255,255,255,.92);line-height:1.5;margin:0 0 14px;position:relative;}
.bb-art-side-news form{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;position:relative;}
.bb-art-side-news input{border:none;padding:11px 14px;border-radius:10px;font-size:13px;background:#fff;}
.bb-art-side-news input:focus{outline:2px solid #fff;}
.bb-art-side-news button{border:none;background:#0f172a;color:#fff;padding:11px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s;}
.bb-art-side-news button:hover{background:#1e293b;}
.bb-art-side-news small{font-size:11px;color:rgba(255,255,255,.85);position:relative;}
.bb-art-side-news small i{margin-right:4px;}

/* Side CTA card (featured package) */
.bb-art-side-cta{display:block;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:all .2s;}
.bb-art-side-cta:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.12);text-decoration:none;color:inherit;border-color:#f97316;}
.bb-art-side-cta-img{height:140px;background-size:cover;background-position:center;}
.bb-art-side-cta-body{padding:16px 18px 18px;}
.bb-art-side-cta-tag{display:inline-block;background:#fef3c7;color:#92400e;font-size:11px;font-weight:700;padding:3px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;}
.bb-art-side-cta strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:800;color:#0f172a;margin-bottom:4px;}
.bb-art-side-cta small{display:block;font-size:12px;color:#64748b;margin-bottom:10px;}
.bb-art-side-cta-price{font-size:13px;color:#475569;margin-bottom:12px;}
.bb-art-side-cta-price strong{display:inline;font-size:20px;color:#f97316;}
.bb-art-side-cta-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(90deg,#f97316,#fb923c);color:#fff;font-size:13px;font-weight:700;padding:9px 16px;border-radius:8px;}

/* Categories */
.bb-art-side-cat{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:8px;text-decoration:none;color:#475569;font-size:14px;font-weight:600;transition:all .2s;}
.bb-art-side-cat:hover{background:#f8fafc;color:#f97316;text-decoration:none;}
.bb-art-side-cat-n{background:#f1f5f9;color:#64748b;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;}
.bb-art-side-cat:hover .bb-art-side-cat-n{background:#fef3c7;color:#92400e;}

/* ===== RELATED ARTICLES GRID ===== */
.bb-art-related{margin:60px 0 0;padding-top:50px;border-top:1px solid #e2e8f0;}
.bb-art-related-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:10px;}
.bb-art-related-head h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:26px;font-weight:800;color:#0f172a;margin:0;display:flex;align-items:center;gap:10px;}
.bb-art-related-head h2 i{color:#f97316;}
.bb-art-related-all{font-size:14px;font-weight:600;color:#0d9488;text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.bb-art-related-all:hover{color:#0f766e;}
.bb-art-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.bb-art-related-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:all .25s;}
.bb-art-related-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,23,42,.10);border-color:#f97316;text-decoration:none;color:inherit;}
.bb-art-related-img{position:relative;height:200px;background-size:cover;background-position:center;}
.bb-art-related-cat{position:absolute;top:12px;left:12px;background:#f97316;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:5px 10px;border-radius:6px;}
.bb-art-related-cat--teal{background:#0d9488;}
.bb-art-related-cat--amber{background:#eab308;color:#0f172a;}
.bb-art-related-body{padding:18px 20px;flex:1;display:flex;flex-direction:column;}
.bb-art-related-body h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:17px;font-weight:700;color:#0f172a;line-height:1.35;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bb-art-related-card:hover h3{color:#f97316;}
.bb-art-related-meta{font-size:12px;color:#94a3b8;margin-top:auto;}

/* ===== COMMENTS ===== */
.bb-art-comments{margin:50px 0 0;padding-top:40px;border-top:1px solid #e2e8f0;max-width:880px;}
.bb-art-comments-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:10px;}
.bb-art-comments-head h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;color:#0f172a;margin:0;display:flex;align-items:center;gap:10px;}
.bb-art-comments-head h2 i{color:#f97316;}
.bb-art-comments-badge{background:#f97316;color:#fff;font-size:13px;font-weight:700;padding:3px 12px;border-radius:20px;}
.bb-art-comments-sort{font-size:13px;color:#64748b;}
.bb-art-comments-sort select{border:1px solid #e2e8f0;border-radius:8px;padding:5px 10px;font-size:13px;background:#fff;color:#0f172a;margin-left:5px;}

.bb-art-comment{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid #f1f5f9;}
.bb-art-comment-avatar{width:46px;height:46px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;flex-shrink:0;font-family:'Plus Jakarta Sans',sans-serif;}
.bb-art-comment-body{flex:1;min-width:0;}
.bb-art-comment-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
.bb-art-comment-head strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;color:#0f172a;font-weight:700;}
.bb-art-comment-date{font-size:12px;color:#94a3b8;display:inline-flex;align-items:center;gap:4px;}
.bb-art-comment-badge{background:#fff7ed;color:#9a3412;font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.4px;}
.bb-art-comment-body p{font-size:14.5px;color:#334155;line-height:1.6;margin:0 0 10px;}
.bb-art-comment-actions{display:flex;gap:14px;}
.bb-art-comment-act{background:none;border:none;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;transition:all .2s;}
.bb-art-comment-act:hover{background:#f8fafc;color:#f97316;}

/* Nested reply */
.bb-art-comment--nest{margin-top:14px;padding:14px 0 0;border-bottom:none;border-top:1px dashed #e2e8f0;}

/* Comment form */
.bb-art-comment-form{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:26px 28px;margin-top:28px;}
.bb-art-comment-form h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:800;color:#0f172a;margin:0 0 4px;display:flex;align-items:center;gap:8px;}
.bb-art-comment-form h3 i{color:#f97316;}
.bb-art-comment-form > p{font-size:13px;color:#64748b;margin:0 0 18px;}
.bb-art-comment-form label{font-size:12px;font-weight:600;color:#475569;margin-bottom:5px;display:block;text-transform:uppercase;letter-spacing:.4px;}
.bb-art-comment-form .form-control{border:1px solid #e2e8f0;border-radius:10px;font-size:14px;padding:10px 14px;}
.bb-art-comment-form .form-control:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.12);}
.bb-art-comment-form-check{font-size:13px;color:#475569;display:inline-flex;align-items:center;gap:8px;cursor:pointer;}
.bb-art-comment-form-check input{width:16px;height:16px;cursor:pointer;}
.bb-art-comment-form-btn{background:linear-gradient(90deg,#f97316,#fb923c);color:#fff;border:none;padding:11px 26px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s;}
.bb-art-comment-form-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(249,115,22,.35);}

/* ===== NEWSLETTER FULL CTA ===== */
.bb-art-news-cta{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);padding:60px 0;position:relative;overflow:hidden;}
.bb-art-news-cta:before{content:"";position:absolute;top:-100px;right:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.35),transparent 70%);}
.bb-art-news-cta:after{content:"";position:absolute;bottom:-100px;left:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.30),transparent 70%);}
.bb-art-news-cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.bb-art-news-cta-text{flex:1;min-width:280px;color:#fff;}
.bb-art-news-cta-tag{display:inline-flex;align-items:center;gap:6px;background:rgba(249,115,22,.2);color:#fb923c;font-size:12px;font-weight:700;padding:6px 14px;border-radius:30px;margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px;}
.bb-art-news-cta-text h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:32px;font-weight:800;color:#fff;margin:0 0 10px;line-height:1.2;}
.bb-art-news-cta-text p{font-size:15px;color:#cbd5e1;margin:0;line-height:1.55;}
.bb-art-news-cta-form{flex:1;min-width:300px;display:flex;gap:10px;max-width:520px;}
.bb-art-news-cta-form input{flex:1;background:#fff;border:none;padding:14px 18px;border-radius:12px;font-size:14px;color:#0f172a;}
.bb-art-news-cta-form input:focus{outline:2px solid #f97316;}
.bb-art-news-cta-form button{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;padding:14px 26px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:transform .2s;white-space:nowrap;}
.bb-art-news-cta-form button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(249,115,22,.45);}

/* ===== RESPONSIVE ===== */
@media (max-width:1199px){
  .bb-art-rail{display:none;}
  .bb-art-col{max-width:100%;}
}
@media (max-width:991px){
  .bb-art-hero{min-height:420px;}
  .bb-art-hero-content{padding:60px 15px 40px;}
  .bb-art-hero-title{font-size:32px;}
  .bb-art-hero-sub{font-size:16px;}
  .bb-art-sidebar-stick{position:static;}
  .bb-art-related-grid{grid-template-columns:repeat(2,1fr);}
  .bb-art-routes{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:767px){
  .bb-art-hero{min-height:360px;}
  .bb-art-hero-content{padding:50px 15px 30px;}
  .bb-art-hero-title{font-size:24px;}
  .bb-art-hero-sub{font-size:14.5px;}
  .bb-art-hero-byline{font-size:12.5px;gap:10px;}
  .bb-art-hero-byline img{width:42px;height:42px;}
  .bb-art-hero-pill{font-size:11px;padding:5px 12px;}
  .bb-art-main{padding:30px 0 40px;}
  .bb-art-lead{font-size:17px;}
  .bb-art-body{font-size:15.5px;line-height:1.75;}
  .bb-art-body h2{font-size:22px;flex-wrap:wrap;gap:8px;}
  .bb-art-h-num{font-size:12px;padding:4px 9px;}
  .bb-art-author{flex-direction:column;text-align:center;gap:16px;}
  .bb-art-author-avatar{margin:0 auto;}
  .bb-art-author-social{justify-content:center;}
  .bb-art-author-allposts{margin:8px auto 0;}
  .bb-art-routes{grid-template-columns:1fr;}
  .bb-art-related-grid{grid-template-columns:1fr;}
  .bb-art-related-head h2{font-size:22px;}
  .bb-art-news-cta{padding:40px 0;}
  .bb-art-news-cta-text h2{font-size:24px;}
  .bb-art-news-cta-form{flex-direction:column;}
  .bb-art-quote{padding:24px 20px 20px;}
  .bb-art-quote p{font-size:17px;}
  .bb-art-comment-form{padding:20px;}
}
@media (max-width:480px){
  .bb-art-hero-title{font-size:21px;}
  .bb-art-hero-byline{flex-direction:column;align-items:flex-start;gap:8px;}
  .bb-art-hero-dot{display:none;}
  .bb-art-tags{gap:6px;}
  .bb-art-tag{font-size:12px;padding:5px 11px;}
  .bb-art-comment-form-btn{width:100%;justify-content:center;}
}

/* ============================================================
   SIMPLE BLOG DETAIL (bb-bp-*) · Clean & minimal
   ============================================================ */
.bb-bp-main{padding:40px 0 60px;background:#fafbfc;}

/* Header */
.bb-bp-head{text-align:left;margin:0 0 28px;}
.bb-bp-cat{display:inline-block;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:6px 14px;border-radius:20px;margin-bottom:14px;}
.bb-bp-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:36px;font-weight:800;color:#0f172a;line-height:1.2;margin:0 0 16px;letter-spacing:-.3px;}
.bb-bp-meta{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:18px;font-size:13px;color:#64748b;}
.bb-bp-meta i{color:#f97316;margin-right:5px;}

/* Hero image */
.bb-bp-hero{margin:0 0 36px;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.10);}
.bb-bp-hero img{width:100%;height:auto;max-height:520px;object-fit:cover;display:block;}

/* Content box */
.bb-bp-content{padding:0;margin:0 0 50px;font-size:16px;line-height:1.8;color:#1e293b;}
.bb-bp-lead{font-size:19px;font-weight:500;color:#0f172a;line-height:1.6;margin:0 0 22px;padding-bottom:20px;border-bottom:1px solid #f1f5f9;}
.bb-bp-content p{margin:0 0 18px;}
.bb-bp-content h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;color:#0f172a;line-height:1.3;margin:32px 0 14px;padding-left:14px;border-left:4px solid #f97316;}
.bb-bp-content ul,.bb-bp-content ol{margin:0 0 20px;padding-left:22px;}
.bb-bp-content li{margin-bottom:10px;line-height:1.7;}
.bb-bp-content strong{color:#0f172a;font-weight:700;}
.bb-bp-content em{color:#0f172a;font-style:italic;}
.bb-bp-content a{color:#0d9488;text-decoration:underline;font-weight:600;}
.bb-bp-content a:hover{color:#0f766e;}

/* Section heading */
.bb-bp-section{max-width:1140px;margin:0 auto 50px;}
.bb-bp-section-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;color:#0f172a;margin:0 0 22px;display:flex;align-items:center;gap:10px;}
.bb-bp-section-title i{color:#f97316;}

/* 3-card grid */
.bb-bp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

/* Related post card */
.bb-bp-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:all .25s;}
.bb-bp-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(15,23,42,.10);border-color:#f97316;text-decoration:none;color:inherit;}
.bb-bp-card-img{height:190px;overflow:hidden;background:#f1f5f9;}
.bb-bp-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.bb-bp-card:hover .bb-bp-card-img img{transform:scale(1.05);}
.bb-bp-card-body{padding:18px 20px;flex:1;display:flex;flex-direction:column;}
.bb-bp-card-cat{display:inline-block;background:#fff7ed;color:#9a3412;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:4px 10px;border-radius:6px;margin-bottom:10px;width:fit-content;}
.bb-bp-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:700;color:#0f172a;line-height:1.4;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bb-bp-card:hover h3{color:#f97316;}
.bb-bp-card small{font-size:12px;color:#94a3b8;margin-top:auto;}
.bb-bp-card small i{color:#94a3b8;margin-right:3px;}

/* Tour package card */
.bb-bp-pkg{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:all .25s;}
.bb-bp-pkg:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(15,23,42,.10);border-color:#f97316;text-decoration:none;color:inherit;}
.bb-bp-pkg-img{position:relative;height:200px;overflow:hidden;background:#f1f5f9;}
.bb-bp-pkg-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.bb-bp-pkg:hover .bb-bp-pkg-img img{transform:scale(1.05);}
.bb-bp-pkg-tag{position:absolute;top:12px;left:12px;background:#f97316;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:5px 11px;border-radius:6px;}
.bb-bp-pkg-tag--teal{background:#0d9488;}
.bb-bp-pkg-tag--amber{background:#eab308;color:#0f172a;}
.bb-bp-pkg-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;}
.bb-bp-pkg-body h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:700;color:#0f172a;line-height:1.4;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:45px;}
.bb-bp-pkg:hover h3{color:#f97316;}
.bb-bp-pkg-meta{font-size:13px;color:#64748b;margin-bottom:14px;}
.bb-bp-pkg-meta i{color:#0d9488;margin-right:4px;}
.bb-bp-pkg-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid #f1f5f9;flex-wrap:wrap;gap:8px;}
.bb-bp-pkg-price{font-size:13px;color:#64748b;display:flex;flex-direction:column;line-height:1.1;}
.bb-bp-pkg-price small{font-size:10px;text-transform:uppercase;color:#94a3b8;letter-spacing:.4px;}
.bb-bp-pkg-price strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:20px;font-weight:800;color:#f97316;}
.bb-bp-pkg-price em{font-size:11px;color:#94a3b8;font-style:normal;}
.bb-bp-pkg-btn{font-size:12px;font-weight:700;color:#f97316;display:inline-flex;align-items:center;gap:6px;}
.bb-bp-pkg:hover .bb-bp-pkg-btn{color:#ea580c;}

/* Enquiry section */
.bb-bp-enq{background:#fff;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;max-width:1140px;margin:0 auto;box-shadow:0 6px 22px rgba(15,23,42,.06);}
.bb-bp-enq-left{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;padding:40px 36px;position:relative;overflow:hidden;}
.bb-bp-enq-left:before{content:"";position:absolute;top:-50px;right:-50px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08);}
.bb-bp-enq-left:after{content:"";position:absolute;bottom:-80px;left:-40px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.06);}
.bb-bp-enq-ico{font-size:42px;margin-bottom:18px;color:#fff;position:relative;}
.bb-bp-enq-left h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;font-weight:800;color:#fff;margin:0 0 12px;position:relative;}
.bb-bp-enq-left > p{font-size:14.5px;color:rgba(255,255,255,.92);line-height:1.6;margin:0 0 22px;position:relative;}
.bb-bp-enq-left strong{color:#fff;font-weight:700;}
.bb-bp-enq-feats{list-style:none;padding:0;margin:0 0 22px;position:relative;}
.bb-bp-enq-feats li{font-size:14px;color:#fff;padding:6px 0;display:flex;align-items:center;gap:10px;}
.bb-bp-enq-feats i{color:#fbbf24;}
.bb-bp-enq-call{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.18);color:#fff;font-size:14px;font-weight:600;padding:10px 18px;border-radius:10px;text-decoration:none;transition:background .2s;position:relative;}
.bb-bp-enq-call:hover{background:rgba(255,255,255,.28);color:#fff;text-decoration:none;}
.bb-bp-enq-right{padding:36px 40px;}
.bb-bp-enq-right label{font-size:12px;font-weight:600;color:#475569;margin-bottom:5px;display:block;text-transform:uppercase;letter-spacing:.4px;}
.bb-bp-enq-right .form-control,
.bb-bp-enq-right .form-select{border:1px solid #e2e8f0;border-radius:10px;font-size:14px;padding:10px 14px;}
.bb-bp-enq-right .form-control:focus,
.bb-bp-enq-right .form-select:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.12);}
.bb-bp-enq-btn{background:linear-gradient(90deg,#f97316,#fb923c);color:#fff;border:none;padding:13px 32px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s;}
.bb-bp-enq-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(249,115,22,.40);}
.bb-bp-enq-note{display:block;font-size:12px;color:#94a3b8;margin-top:10px;}
.bb-bp-enq-note i{color:#10b981;margin-right:4px;}

/* Responsive */
@media (max-width:991px){
  .bb-bp-title{font-size:28px;}
  .bb-bp-content{padding:0;}
  .bb-bp-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:767px){
  .bb-bp-main{padding:24px 0 40px;}
  .bb-bp-title{font-size:22px;}
  .bb-bp-meta{gap:12px;font-size:12px;}
  .bb-bp-hero{margin-bottom:24px;border-radius:12px;}
  .bb-bp-content{padding:0;font-size:15px;}
  .bb-bp-lead{font-size:16.5px;}
  .bb-bp-content h2{font-size:20px;}
  .bb-bp-section{margin-bottom:36px;}
  .bb-bp-section-title{font-size:20px;}
  .bb-bp-grid{grid-template-columns:1fr;}
  .bb-bp-enq-left{padding:28px 24px;}
  .bb-bp-enq-left h2{font-size:22px;}
  .bb-bp-enq-right{padding:24px 20px;}
  .bb-bp-enq-btn{width:100%;justify-content:center;}
}

/* ============================================================
   CAREERS PAGE · Job accordion (bb-car-*)
   ============================================================ */
.bb-car-head{text-align:center;max-width:680px;margin:0 auto 32px;}
.bb-car-head h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;font-weight:800;color:#0f172a;margin:0 0 8px;}
.bb-car-head p{font-size:14.5px;color:#64748b;margin:0;}

.bb-car-jobs{display:flex;flex-direction:column;gap:14px;margin-bottom:36px;}

.bb-car-job{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;transition:box-shadow .2s,border-color .2s;}
.bb-car-job:hover{box-shadow:0 6px 22px rgba(15,23,42,.07);}
.bb-car-job.is-open{border-color:#8b5cf6;box-shadow:0 8px 26px rgba(139,92,246,.12);}

.bb-car-job-head{display:flex;align-items:center;gap:18px;width:100%;padding:18px 22px;background:transparent;border:none;text-align:left;cursor:pointer;transition:background .2s;}
.bb-car-job-head:hover{background:#fafbfc;}
.bb-car-job-ico{width:48px;height:48px;border-radius:12px;background:#ede9fe;color:#7c3aed;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.bb-car-job-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.bb-car-job-info strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:700;color:#0f172a;line-height:1.3;}
.bb-car-job-info small{font-size:12.5px;color:#64748b;display:flex;flex-wrap:wrap;align-items:center;gap:2px;line-height:1.5;}
.bb-car-job-info small i{color:#94a3b8;margin-right:3px;font-size:11px;}
.bb-car-job-status{background:#dcfce7;color:#15803d;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:6px;flex-shrink:0;}
.bb-car-job-chev{width:34px;height:34px;border-radius:50%;background:#f1f5f9;color:#475569;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;transition:transform .25s,background .2s,color .2s;}
.bb-car-job.is-open .bb-car-job-chev{background:#8b5cf6;color:#fff;transform:rotate(180deg);}

.bb-car-job-body{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.bb-car-job.is-open .bb-car-job-body{max-height:1500px;}
.bb-car-job-body-inner{padding:6px 24px 24px 88px;border-top:1px solid #f1f5f9;font-size:14.5px;line-height:1.7;color:#334155;}
.bb-car-job-body-inner p{margin:14px 0 12px;}
.bb-car-job-body-inner strong{color:#0f172a;font-weight:700;}
.bb-car-job-body-inner h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:800;color:#0f172a;text-transform:uppercase;letter-spacing:.5px;margin:18px 0 8px;}
.bb-car-job-body-inner ul{margin:0 0 16px;padding-left:20px;}
.bb-car-job-body-inner li{margin-bottom:6px;line-height:1.6;}
.bb-car-job-apply{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-size:14px;font-weight:700;padding:11px 24px;border-radius:10px;text-decoration:none;margin-top:14px;transition:all .2s;}
.bb-car-job-apply:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(139,92,246,.40);color:#fff;text-decoration:none;}

/* "No fit" CTA */
.bb-car-no-fit{background:linear-gradient(135deg,#fff7ed,#fef3c7);border:1px solid #fed7aa;border-radius:18px;padding:36px 28px;text-align:center;}
.bb-car-no-fit-ico{font-size:38px;color:#f97316;margin-bottom:10px;}
.bb-car-no-fit strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:20px;color:#0f172a;margin-bottom:6px;}
.bb-car-no-fit p{font-size:14px;color:#475569;margin:0 0 18px;max-width:520px;margin:0 auto 18px;line-height:1.55;}
.bb-car-no-fit-btn{display:inline-flex;align-items:center;gap:8px;background:#0f172a;color:#fff;font-size:14px;font-weight:600;padding:11px 24px;border-radius:10px;text-decoration:none;transition:background .2s;}
.bb-car-no-fit-btn:hover{background:#1e293b;color:#fff;text-decoration:none;}

/* ============================================================
   CAREER APPLY PAGE (bb-capp-*)
   ============================================================ */
.bb-capp-main{padding:40px 0 60px;background:#fafbfc;}

/* Left: Role summary */
.bb-capp-role{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:26px 24px;position:sticky;top:90px;}
.bb-capp-role-tag{display:inline-flex;align-items:center;gap:6px;background:#ede9fe;color:#6d28d9;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:5px 12px;border-radius:20px;margin-bottom:10px;}
.bb-capp-role h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:800;color:#0f172a;line-height:1.3;margin:0 0 16px;}
.bb-capp-role-meta{list-style:none;padding:0;margin:0 0 22px;border-top:1px solid #f1f5f9;}
.bb-capp-role-meta li{font-size:13.5px;color:#475569;padding:9px 0;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:10px;}
.bb-capp-role-meta li i{color:#8b5cf6;width:18px;text-align:center;}

.bb-capp-role-steps{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-radius:12px;padding:16px 18px;margin-bottom:18px;}
.bb-capp-role-steps strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:800;color:#6d28d9;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;}
.bb-capp-role-steps ol{list-style:none;padding:0;margin:0;font-size:13px;color:#475569;}
.bb-capp-role-steps ol li{padding:5px 0;display:flex;align-items:center;gap:10px;line-height:1.5;}
.bb-capp-role-steps ol li span{width:22px;height:22px;border-radius:50%;background:#8b5cf6;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

.bb-capp-role-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#6d28d9;text-decoration:none;}
.bb-capp-role-back:hover{color:#4c1d95;}

/* Right: Form */
.bb-capp-form{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:28px 32px;}

.bb-capp-section{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #f1f5f9;}
.bb-capp-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.bb-capp-section h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:800;color:#0f172a;margin:0 0 16px;display:flex;align-items:center;gap:10px;}
.bb-capp-section h3 i{color:#8b5cf6;}

.bb-capp-form label{font-size:12px;font-weight:600;color:#475569;margin-bottom:5px;display:block;text-transform:uppercase;letter-spacing:.4px;}
.bb-capp-form .form-control,
.bb-capp-form .form-select{border:1px solid #e2e8f0;border-radius:10px;font-size:14px;padding:10px 14px;}
.bb-capp-form .form-control:focus,
.bb-capp-form .form-select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.15);}

/* Upload */
.bb-capp-upload{position:relative;}
.bb-capp-upload input[type="file"]{position:absolute;opacity:0;width:0;height:0;}
.bb-capp-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#fafbfc;border:2px dashed #cbd5e1;border-radius:12px;padding:28px 20px;cursor:pointer;text-align:center;transition:all .2s;margin:0;}
.bb-capp-upload-label:hover{border-color:#8b5cf6;background:#f5f3ff;}
.bb-capp-upload-label i{font-size:34px;color:#8b5cf6;}
.bb-capp-upload-label strong{font-size:14px;color:#0f172a;font-weight:700;}
.bb-capp-upload-label small{font-size:12px;color:#64748b;}
.bb-capp-upload-name{margin-top:10px;padding:10px 14px;background:#dcfce7;color:#15803d;border-radius:8px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;}
.bb-capp-upload-name:before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;}

/* Submit row */
.bb-capp-submit-row{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:1px solid #f1f5f9;}
.bb-capp-consent{font-size:13px;color:#475569;display:flex;align-items:flex-start;gap:10px;cursor:pointer;line-height:1.5;text-transform:none;letter-spacing:0;font-weight:400;}
.bb-capp-consent input{width:16px;height:16px;flex-shrink:0;margin-top:2px;}
.bb-capp-consent a{color:#8b5cf6;text-decoration:underline;font-weight:600;}
.bb-capp-submit-btn{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;border:none;padding:13px 36px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:flex-start;transition:all .2s;}
.bb-capp-submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(139,92,246,.40);}

/* Responsive */
@media (max-width:991px){
  .bb-car-job-head{flex-wrap:wrap;gap:12px;}
  .bb-car-job-info{flex-basis:100%;order:3;}
  .bb-car-job-body-inner{padding-left:24px;}
  .bb-capp-role{position:static;}
}
@media (max-width:767px){
  .bb-car-job-head{padding:16px 18px;}
  .bb-car-job-info small{font-size:11.5px;}
  .bb-car-job-body-inner{padding:16px 20px 22px;font-size:13.5px;}
  .bb-car-no-fit{padding:28px 22px;}
  .bb-car-no-fit strong{font-size:18px;}
  .bb-capp-main{padding:24px 0 40px;}
  .bb-capp-form{padding:22px 20px;}
  .bb-capp-section h3{font-size:15px;}
  .bb-capp-submit-btn{width:100%;justify-content:center;}
}

/* ============================================================
   BUS-HIRE · "View Details" CTA on vehicle cards
   ============================================================ */
.bb-bhr-bt{display:block;text-decoration:none;color:inherit;}
.bb-bhr-bt:hover{text-decoration:none;color:inherit;}
.bb-bhr-bt-cta{display:inline-flex;align-items:center;gap:6px;color:#f97316;font-size:13px;font-weight:700;margin-top:8px;}
.bb-bhr-bt:hover .bb-bhr-bt-cta{color:#ea580c;}
.bb-bhr-uc{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:inherit;}
.bb-bhr-uc:hover{text-decoration:none;color:inherit;}

/* ============================================================
   VEHICLE DETAIL PAGE (bb-vd-*)
   ============================================================ */
.bb-vd-main{padding:30px 0 60px;background:#fafbfc;}

/* Hero */
.bb-vd-hero{margin-bottom:36px;}
.bb-vd-hero-img{margin:0 0 12px;border-radius:18px;overflow:hidden;box-shadow:0 12px 32px rgba(15,23,42,.12);}
.bb-vd-hero-img img{width:100%;height:auto;max-height:480px;object-fit:cover;display:block;}
.bb-vd-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.bb-vd-thumb{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;background:none;transition:border-color .2s,transform .2s;}
.bb-vd-thumb:hover{transform:translateY(-2px);}
.bb-vd-thumb.is-active{border-color:#f97316;}
.bb-vd-thumb img{width:100%;height:80px;object-fit:cover;display:block;}

/* Hero info */
.bb-vd-hero-info{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:26px 28px;}
.bb-vd-eyebrow{display:inline-flex;align-items:center;gap:6px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:5px 12px;border-radius:20px;margin-bottom:12px;}
.bb-vd-hero-info h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:26px;font-weight:800;color:#0f172a;line-height:1.25;margin:0 0 10px;}
.bb-vd-hero-info > p{font-size:14.5px;color:#64748b;line-height:1.55;margin:0 0 18px;}

.bb-vd-specs{list-style:none;padding:0;margin:0 0 18px;border-top:1px solid #f1f5f9;}
.bb-vd-specs li{padding:11px 0;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:14px;font-size:13.5px;color:#64748b;}
.bb-vd-specs li i{color:#f97316;width:22px;text-align:center;flex-shrink:0;}
.bb-vd-specs li span{flex:1;display:flex;flex-direction:column;}
.bb-vd-specs li strong{color:#0f172a;font-size:14px;font-weight:700;}

/* Price card */
.bb-vd-price-card{background:linear-gradient(135deg,#fff7ed,#fef3c7);border:1px solid #fed7aa;border-radius:14px;padding:18px 20px;}
.bb-vd-price-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;}
.bb-vd-price-row small{font-size:12px;color:#9a3412;font-weight:600;}
.bb-vd-price-row strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;font-weight:800;color:#f97316;}
.bb-vd-price-row strong em{font-size:14px;color:#9a3412;font-style:normal;font-weight:600;}
.bb-vd-price-meta{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#475569;margin-bottom:14px;}
.bb-vd-price-meta span i{color:#10b981;margin-right:5px;}
.bb-vd-price-cta{display:flex;gap:8px;}
.bb-vd-price-btn-primary{flex:1;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:14px;font-weight:700;padding:11px 18px;border-radius:10px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;}
.bb-vd-price-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(249,115,22,.35);color:#fff;text-decoration:none;}
.bb-vd-price-btn-call{background:#0f172a;color:#fff;font-size:13px;font-weight:700;padding:11px 16px;border-radius:10px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.bb-vd-price-btn-call:hover{background:#1e293b;color:#fff;text-decoration:none;}
.bb-vd-price-btn-wa{width:42px;height:42px;border-radius:10px;background:#25d366;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:18px;text-decoration:none;}
.bb-vd-price-btn-wa:hover{background:#1da851;color:#fff;text-decoration:none;}

/* Content area */
.bb-vd-content{margin-bottom:50px;}
.bb-vd-about{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:32px 36px;}
.bb-vd-about h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;color:#0f172a;margin:0 0 14px;display:flex;align-items:center;gap:10px;}
.bb-vd-about h2 i{color:#f97316;}
.bb-vd-about h2:not(:first-child){margin-top:32px;padding-top:24px;border-top:1px solid #f1f5f9;}
.bb-vd-about p{font-size:15px;color:#334155;line-height:1.75;margin:0 0 14px;}
.bb-vd-about strong{color:#0f172a;font-weight:700;}

.bb-vd-amenities{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.bb-vd-amenities li{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:10px 14px;font-size:13.5px;color:#0f172a;font-weight:600;display:flex;align-items:center;gap:8px;}
.bb-vd-amenities li i{color:#f97316;}

.bb-vd-ideal{list-style:none;padding:0;margin:0;}
.bb-vd-ideal li{padding:9px 0;border-bottom:1px dashed #f1f5f9;font-size:14.5px;color:#475569;line-height:1.55;}
.bb-vd-ideal li:last-child{border-bottom:none;}
.bb-vd-ideal li strong{color:#0f172a;}

.bb-vd-pricing-table{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px;overflow-x:auto;}
.bb-vd-pricing-table table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border-radius:10px;overflow:hidden;}
.bb-vd-pricing-table thead{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;}
.bb-vd-pricing-table th{padding:11px 14px;text-align:left;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.4px;}
.bb-vd-pricing-table td{padding:11px 14px;border-bottom:1px solid #f1f5f9;color:#334155;}
.bb-vd-pricing-table tbody tr:last-child td{border-bottom:none;}
.bb-vd-pricing-table tbody tr:hover{background:#fff7ed;}
.bb-vd-pricing-table small{display:block;margin-top:10px;font-size:12px;color:#64748b;}

.bb-vd-faq details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 18px;margin-bottom:8px;}
.bb-vd-faq details[open]{background:#fff7ed;border-color:#fed7aa;}
.bb-vd-faq summary{font-weight:700;color:#0f172a;cursor:pointer;font-size:14.5px;list-style:none;display:flex;align-items:center;justify-content:space-between;}
.bb-vd-faq summary::-webkit-details-marker{display:none;}
.bb-vd-faq summary:after{content:"+";color:#f97316;font-weight:800;font-size:18px;}
.bb-vd-faq details[open] summary:after{content:"−";}
.bb-vd-faq p{margin:10px 0 0;font-size:13.5px;color:#475569;line-height:1.6;}

/* Enquiry sidebar */
.bb-vd-enq{background:#fff;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;position:sticky;top:80px;}
.bb-vd-enq-head{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;padding:20px 22px;text-align:center;}
.bb-vd-enq-head i{font-size:28px;margin-bottom:8px;color:#fff;}
.bb-vd-enq-head strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:800;margin-bottom:4px;}
.bb-vd-enq-head small{font-size:12.5px;color:rgba(255,255,255,.92);}
.bb-vd-enq-form{padding:20px 22px;}
.bb-vd-enq-form label{font-size:11.5px;font-weight:600;color:#64748b;margin:8px 0 4px;display:block;text-transform:uppercase;letter-spacing:.4px;}
.bb-vd-enq-form .form-control{border:1px solid #e2e8f0;border-radius:8px;padding:9px 12px;font-size:13.5px;}
.bb-vd-enq-form .form-control:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.12);}
.bb-vd-enq-btn{width:100%;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;padding:12px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;margin-top:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;}
.bb-vd-enq-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(249,115,22,.35);}
.bb-vd-enq-note{display:block;font-size:11.5px;color:#94a3b8;margin-top:8px;text-align:center;}
.bb-vd-enq-note i{color:#10b981;margin-right:4px;}

/* Other vehicles */
.bb-vd-others h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;color:#0f172a;margin:0 0 18px;display:flex;align-items:center;gap:10px;}
.bb-vd-others h2 i{color:#f97316;}
.bb-vd-others-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.bb-vd-other{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:all .2s;}
.bb-vd-other:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(15,23,42,.10);border-color:#f97316;text-decoration:none;color:inherit;}
.bb-vd-other img{width:100%;height:120px;object-fit:cover;display:block;}
.bb-vd-other div{padding:11px 14px;}
.bb-vd-other strong{display:block;font-size:14px;font-weight:700;color:#0f172a;margin-bottom:2px;}
.bb-vd-other small{font-size:12px;color:#f97316;font-weight:600;}

/* Responsive vehicle detail */
@media (max-width:991px){
  .bb-vd-hero-info{margin-top:14px;}
  .bb-vd-amenities{grid-template-columns:repeat(2,1fr);}
  .bb-vd-others-grid{grid-template-columns:repeat(2,1fr);}
  .bb-vd-enq{position:static;}
}
@media (max-width:767px){
  .bb-vd-hero-info{padding:20px 22px;}
  .bb-vd-hero-info h1{font-size:22px;}
  .bb-vd-about{padding:24px 22px;}
  .bb-vd-about h2{font-size:19px;}
  .bb-vd-amenities{grid-template-columns:1fr;}
  .bb-vd-thumbs{grid-template-columns:repeat(4,1fr);}
  .bb-vd-thumb img{height:60px;}
  .bb-vd-others-grid{grid-template-columns:1fr;}
}

/* ============================================================
   OCCASION DETAIL PAGE (bb-od-*)
   ============================================================ */
.bb-od-main{background:#fafbfc;}

/* Carousel */
.bb-od-carousel{position:relative;height:480px;overflow:hidden;background:#0f172a;}
.bb-od-slides{position:relative;width:100%;height:100%;}
.bb-od-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;}
.bb-od-slide.is-active{opacity:1;z-index:2;}
.bb-od-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.bb-od-slide-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.20) 0%,rgba(15,23,42,.75) 100%);display:flex;align-items:flex-end;padding:60px 0 80px;color:#fff;}
.bb-od-slide-overlay .container{}
.bb-od-eyebrow{display:inline-block;background:rgba(249,115,22,.95);color:#fff;font-size:13px;font-weight:700;padding:6px 14px;border-radius:20px;margin-bottom:14px;}
.bb-od-slide-overlay h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:42px;font-weight:800;line-height:1.15;color:#fff;margin:0 0 12px;max-width:720px;text-shadow:0 2px 20px rgba(0,0,0,.4);}
.bb-od-slide-overlay p{font-size:17px;color:#e2e8f0;margin:0;max-width:680px;line-height:1.5;}

.bb-od-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;font-size:15px;transition:background .2s;}
.bb-od-carousel-arrow:hover{background:rgba(255,255,255,.35);}
.bb-od-carousel-arrow--prev{left:18px;}
.bb-od-carousel-arrow--next{right:18px;}

.bb-od-carousel-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5;}
.bb-od-carousel-dots button{width:10px;height:10px;border-radius:50%;border:none;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:all .2s;}
.bb-od-carousel-dots button.is-active{background:#f97316;width:28px;border-radius:5px;}

/* Body */
.bb-od-body{padding:50px 0;}
.bb-od-content{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:32px 36px;}
.bb-od-content h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;color:#0f172a;margin:0 0 14px;display:flex;align-items:center;gap:10px;}
.bb-od-content h2 i{color:#f97316;}
.bb-od-content h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:700;color:#0f172a;margin:24px 0 12px;}
.bb-od-content p{font-size:15px;color:#334155;line-height:1.75;margin:0 0 14px;}
.bb-od-content strong{color:#0f172a;font-weight:700;}
.bb-od-content ul{padding-left:0;list-style:none;margin:0 0 18px;}
.bb-od-content ul li{padding:8px 0;border-bottom:1px dashed #f1f5f9;font-size:14.5px;color:#475569;line-height:1.55;display:flex;gap:10px;align-items:flex-start;}
.bb-od-content ul li:last-child{border-bottom:none;}
.bb-od-content ul li i{color:#10b981;margin-top:3px;flex-shrink:0;}
.bb-od-content ul li strong{color:#0f172a;}

.bb-od-veh-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;}
.bb-od-veh{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:14px 10px;text-decoration:none;color:inherit;transition:all .2s;}
.bb-od-veh:hover{transform:translateY(-2px);background:#fff;border-color:#f97316;text-decoration:none;color:inherit;}
.bb-od-veh i{font-size:22px;color:#f97316;margin-bottom:8px;}
.bb-od-veh strong{font-size:13px;color:#0f172a;font-weight:700;margin-bottom:2px;}
.bb-od-veh small{font-size:11px;color:#64748b;}

/* Enquiry form */
.bb-od-enq{background:#fff;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;position:sticky;top:80px;}
.bb-od-enq-head{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;padding:24px 26px;position:relative;overflow:hidden;}
.bb-od-enq-head:before{content:"";position:absolute;top:-40px;right:-40px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.08);}
.bb-od-enq-tag{display:inline-block;background:rgba(255,255,255,.20);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:5px 12px;border-radius:20px;margin-bottom:10px;position:relative;}
.bb-od-enq-head h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;color:#fff;margin:0 0 6px;position:relative;}
.bb-od-enq-head p{font-size:13.5px;color:rgba(255,255,255,.92);margin:0;position:relative;}
.bb-od-enq-head strong{color:#fff;}
.bb-od-enq-form{padding:24px 26px;}
.bb-od-enq-form label{font-size:11.5px;font-weight:600;color:#64748b;margin-bottom:4px;display:block;text-transform:uppercase;letter-spacing:.4px;}
.bb-od-enq-form .form-control,
.bb-od-enq-form .form-select{border:1px solid #e2e8f0;border-radius:9px;padding:9px 12px;font-size:13.5px;}
.bb-od-enq-form .form-control:focus,
.bb-od-enq-form .form-select:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.12);}
.bb-od-enq-btn{width:100%;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;padding:12px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;}
.bb-od-enq-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(249,115,22,.35);}
.bb-od-enq-note{display:block;font-size:11.5px;color:#94a3b8;margin-top:10px;text-align:center;}
.bb-od-enq-note i{color:#10b981;margin-right:4px;}

/* Trust strip */
.bb-od-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:22px 18px;}
.bb-od-trust > div{text-align:center;}
.bb-od-trust i{font-size:24px;color:#f97316;margin-bottom:6px;}
.bb-od-trust strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;color:#0f172a;line-height:1.1;}
.bb-od-trust small{font-size:12px;color:#64748b;}

/* Responsive occasion */
@media (max-width:991px){
  .bb-od-carousel{height:360px;}
  .bb-od-slide-overlay{padding:40px 0 70px;}
  .bb-od-slide-overlay h1{font-size:30px;}
  .bb-od-slide-overlay p{font-size:15px;}
  .bb-od-enq{position:static;margin-top:18px;}
  .bb-od-veh-row{grid-template-columns:repeat(2,1fr);}
  .bb-od-trust{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:767px){
  .bb-od-carousel{height:280px;}
  .bb-od-carousel-arrow{width:38px;height:38px;}
  .bb-od-slide-overlay{padding:20px 0 60px;}
  .bb-od-slide-overlay h1{font-size:22px;}
  .bb-od-slide-overlay p{font-size:13.5px;}
  .bb-od-eyebrow{font-size:11px;padding:4px 10px;}
  .bb-od-body{padding:30px 0;}
  .bb-od-content{padding:22px 20px;}
  .bb-od-content h2{font-size:20px;}
  .bb-od-veh-row{grid-template-columns:1fr;}
  .bb-od-enq-head{padding:18px 20px;}
  .bb-od-enq-head h3{font-size:20px;}
  .bb-od-enq-form{padding:20px;}
  .bb-od-trust{grid-template-columns:1fr;padding:18px;}
}

/* ============================================================
   VEHICLE DETAIL — INNOVATIVE TABBED DESIGN (bb-vh-*)
   ============================================================ */
.bb-vh-main{background:#fafbfc;}

/* ===== HERO ===== */
.bb-vh-hero{position:relative;min-height:540px;overflow:hidden;color:#fff;display:flex;align-items:center;}
.bb-vh-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.08);filter:brightness(.65);}
.bb-vh-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,23,42,.85) 0%,rgba(15,23,42,.55) 50%,rgba(249,115,22,.35) 100%);}
.bb-vh-hero-inner{position:relative;z-index:2;padding:80px 15px;width:100%;}
.bb-vh-hero-content{}
.bb-vh-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(249,115,22,.95);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:7px 14px;border-radius:30px;margin-bottom:18px;}
.bb-vh-hero-content h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:42px;font-weight:800;line-height:1.15;color:#fff;margin:0 0 14px;text-shadow:0 2px 20px rgba(0,0,0,.35);letter-spacing:-.3px;}
.bb-vh-hero-content > p{font-size:17px;color:#e2e8f0;line-height:1.5;margin:0 0 24px;max-width:580px;}

/* Floating spec chips */
.bb-vh-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;}
.bb-vh-chip{background:rgba(255,255,255,.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:10px 16px;display:flex;flex-direction:column;align-items:center;min-width:80px;transition:transform .2s;}
.bb-vh-chip:hover{transform:translateY(-2px);background:rgba(255,255,255,.18);}
.bb-vh-chip i{font-size:18px;color:#fb923c;margin-bottom:4px;}
.bb-vh-chip strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:800;color:#fff;line-height:1.1;}
.bb-vh-chip small{font-size:10px;color:#cbd5e1;text-transform:uppercase;letter-spacing:.5px;margin-top:2px;}

/* Hero CTAs */
.bb-vh-hero-cta{display:flex;gap:10px;flex-wrap:wrap;}
.bb-vh-cta-primary{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:15px;font-weight:700;padding:13px 26px;border-radius:12px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .2s;box-shadow:0 10px 26px rgba(249,115,22,.4);}
.bb-vh-cta-primary:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(249,115,22,.55);color:#fff;text-decoration:none;}
.bb-vh-cta-call{background:rgba(255,255,255,.15);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:600;padding:13px 22px;border-radius:12px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background .2s;}
.bb-vh-cta-call:hover{background:rgba(255,255,255,.25);color:#fff;text-decoration:none;}
.bb-vh-cta-wa{background:#25d366;color:#fff;font-size:14px;font-weight:600;padding:13px 22px;border-radius:12px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.bb-vh-cta-wa:hover{background:#1da851;color:#fff;text-decoration:none;}

/* Hero side card */
.bb-vh-hero-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.30);color:#0f172a;}
.bb-vh-hero-card-img{height:180px;background-size:cover;background-position:center;}
.bb-vh-hero-card-body{padding:22px 24px 24px;}
.bb-vh-pricetag{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #f1f5f9;margin-bottom:14px;}
.bb-vh-pricetag small{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;}
.bb-vh-pricetag strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:32px;font-weight:800;color:#f97316;line-height:1;}
.bb-vh-pricetag em{font-size:14px;color:#64748b;font-style:normal;font-weight:600;margin-left:4px;}
.bb-vh-hero-card-list{list-style:none;padding:0;margin:0 0 14px;}
.bb-vh-hero-card-list li{font-size:13px;color:#475569;padding:5px 0;display:flex;align-items:center;gap:8px;}
.bb-vh-hero-card-list li i{color:#10b981;font-size:11px;}
.bb-vh-hero-card-rating{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid #f1f5f9;font-size:12.5px;color:#64748b;}
.bb-vh-hero-card-rating strong{color:#0f172a;}
.bb-vh-stars{color:#f59e0b;font-size:13px;}
.bb-vh-stars--sm{font-size:11px;}

/* ===== STICKY TAB NAV ===== */
.bb-vh-tabnav{background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(15,23,42,.04);}
.bb-vh-tabnav-scroll{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:6px 0;}
.bb-vh-tabnav-scroll::-webkit-scrollbar{display:none;}
.bb-vh-tab{background:transparent;border:none;color:#64748b;font-size:13.5px;font-weight:600;padding:14px 18px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border-bottom:3px solid transparent;white-space:nowrap;transition:all .2s;font-family:inherit;}
.bb-vh-tab:hover{color:#f97316;}
.bb-vh-tab.is-active{color:#f97316;border-bottom-color:#f97316;}
.bb-vh-tab i{font-size:13px;}

/* ===== BODY ===== */
.bb-vh-body{padding:40px 0 60px;}

/* Tab panels */
.bb-vh-tabpanel{display:none;animation:bbVhFade .3s ease;}
.bb-vh-tabpanel.is-active{display:block;}
.bb-vh-tabpanel[hidden]{display:none;}
.bb-vh-tabpanel.is-active{display:block !important;}
@keyframes bbVhFade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.bb-vh-panel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:32px 36px;}
.bb-vh-panel h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;color:#0f172a;margin:0 0 14px;display:flex;align-items:center;gap:10px;}
.bb-vh-panel h2 i{color:#f97316;}
.bb-vh-panel-lead{font-size:15px;color:#64748b;line-height:1.6;margin:0 0 24px;}
.bb-vh-h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:700;color:#0f172a;margin:30px 0 14px;display:flex;align-items:center;gap:9px;padding-top:24px;border-top:1px solid #f1f5f9;}
.bb-vh-h3 i{color:#f97316;}

/* Overview prose */
.bb-vh-prose p{font-size:15px;line-height:1.75;color:#334155;margin:0 0 14px;}
.bb-vh-prose strong{color:#0f172a;font-weight:700;}

/* Use cases grid */
.bb-vh-uses{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.bb-vh-use{background:linear-gradient(135deg,#fff7ed,#fef3c7);border:1px solid #fed7aa;border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;transition:transform .2s;}
.bb-vh-use:hover{transform:translateY(-3px);}
.bb-vh-use i{font-size:22px;color:#f97316;margin-bottom:4px;}
.bb-vh-use strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;color:#0f172a;}
.bb-vh-use small{font-size:12.5px;color:#64748b;line-height:1.45;}

/* Stats strip */
.bb-vh-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px;padding:24px 18px;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:14px;color:#fff;}
.bb-vh-stats > div{text-align:center;border-right:1px solid rgba(255,255,255,.1);padding:0 10px;}
.bb-vh-stats > div:last-child{border-right:none;}
.bb-vh-stats strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;font-weight:800;color:#fb923c;line-height:1.1;margin-bottom:4px;}
.bb-vh-stats small{font-size:11.5px;color:#cbd5e1;text-transform:uppercase;letter-spacing:.4px;}

/* Specs grid */
.bb-vh-specs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.bb-vh-spec-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:18px 16px;text-align:center;transition:all .2s;}
.bb-vh-spec-card:hover{background:#fff7ed;border-color:#fed7aa;transform:translateY(-2px);}
.bb-vh-spec-card i{font-size:22px;color:#f97316;margin-bottom:8px;}
.bb-vh-spec-card small{display:block;font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;}
.bb-vh-spec-card strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;color:#0f172a;font-weight:700;line-height:1.3;}

/* Models row */
.bb-vh-models{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.bb-vh-model{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;}
.bb-vh-model img{width:100%;height:130px;object-fit:cover;display:block;}
.bb-vh-model strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;color:#0f172a;padding:12px 14px 2px;}
.bb-vh-model small{display:block;font-size:12px;color:#64748b;padding:0 14px 14px;}

/* Feature sub-tabs */
.bb-vh-subtabs{display:flex;gap:6px;background:#f1f5f9;padding:5px;border-radius:12px;margin-bottom:20px;flex-wrap:wrap;}
.bb-vh-subtab{background:transparent;border:none;font-size:13.5px;font-weight:600;color:#64748b;padding:9px 16px;border-radius:8px;cursor:pointer;transition:all .2s;flex:1;min-width:120px;font-family:inherit;}
.bb-vh-subtab:hover{color:#0f172a;}
.bb-vh-subtab.is-active{background:#fff;color:#f97316;box-shadow:0 2px 6px rgba(15,23,42,.06);}

/* Feature cards */
.bb-vh-feats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.bb-vh-feat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;display:flex;gap:14px;align-items:flex-start;transition:all .2s;}
.bb-vh-feat:hover{border-color:#f97316;box-shadow:0 4px 14px rgba(249,115,22,.10);}
.bb-vh-feat i{width:36px;height:36px;border-radius:10px;background:#fff7ed;color:#f97316;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.bb-vh-feat strong{display:block;font-size:14px;font-weight:700;color:#0f172a;margin-bottom:2px;}
.bb-vh-feat small{display:block;font-size:12.5px;color:#64748b;line-height:1.5;}

/* Gallery */
.bb-vh-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;gap:10px;margin-bottom:24px;}
.bb-vh-gimg{position:relative;border-radius:12px;overflow:hidden;display:block;cursor:pointer;}
.bb-vh-gimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.bb-vh-gimg:hover img{transform:scale(1.06);}
.bb-vh-gimg span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.7));color:#fff;font-size:12px;font-weight:600;padding:18px 12px 10px;}
.bb-vh-gimg--lg{grid-column:span 2;grid-row:span 2;}
.bb-vh-gimg--wd{grid-column:span 2;}

.bb-vh-video-card{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;border-radius:14px;padding:20px 24px;display:flex;align-items:center;gap:16px;}
.bb-vh-video-card > i{font-size:36px;color:#fb923c;}
.bb-vh-video-card > div{flex:1;}
.bb-vh-video-card strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:700;}
.bb-vh-video-card small{font-size:12.5px;color:#cbd5e1;}
.bb-vh-video-btn{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;font-size:13px;font-weight:700;padding:9px 18px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.bb-vh-video-btn:hover{transform:translateY(-1px);}

/* Pricing plans */
.bb-vh-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;}
.bb-vh-plan{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px 22px 20px;position:relative;display:flex;flex-direction:column;transition:all .2s;}
.bb-vh-plan:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.10);}
.bb-vh-plan--featured{border-color:#f97316;border-width:2px;box-shadow:0 14px 32px rgba(249,115,22,.18);}
.bb-vh-plan-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:5px 14px;border-radius:30px;display:inline-flex;align-items:center;gap:5px;}
.bb-vh-plan-head{padding-bottom:14px;border-bottom:1px solid #f1f5f9;}
.bb-vh-plan-head i{font-size:24px;color:#f97316;margin-bottom:8px;}
.bb-vh-plan-head strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:800;color:#0f172a;margin-bottom:3px;}
.bb-vh-plan-head small{font-size:12px;color:#64748b;}
.bb-vh-plan-price{padding:16px 0;text-align:center;}
.bb-vh-plan-price span{font-family:'Plus Jakarta Sans',sans-serif;font-size:32px;font-weight:800;color:#f97316;line-height:1;}
.bb-vh-plan-price em{font-size:13px;color:#64748b;font-style:normal;margin-left:4px;font-weight:600;}
.bb-vh-plan ul{list-style:none;padding:0;margin:0 0 14px;flex:1;}
.bb-vh-plan ul li{font-size:13px;color:#475569;padding:5px 0;display:flex;align-items:center;gap:8px;line-height:1.5;}
.bb-vh-plan ul li i{color:#10b981;font-size:10px;flex-shrink:0;}
.bb-vh-plan-extra{font-size:11.5px;color:#94a3b8;text-align:center;padding-top:12px;border-top:1px dashed #e2e8f0;line-height:1.5;}
.bb-vh-plan-extra strong{color:#f97316;}

/* Inclusion table */
.bb-vh-incl{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.bb-vh-incl-col{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:18px 20px;}
.bb-vh-incl-col strong{display:flex;align-items:center;gap:8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;color:#166534;margin-bottom:12px;}
.bb-vh-incl-col i{font-size:18px;}
.bb-vh-incl-col ul{list-style:none;padding:0;margin:0;}
.bb-vh-incl-col li{font-size:13px;color:#475569;padding:5px 0 5px 22px;position:relative;line-height:1.45;}
.bb-vh-incl-col li:before{content:"✓";position:absolute;left:0;top:5px;color:#10b981;font-weight:800;}
.bb-vh-incl-col--ex{background:#fff7ed;border-color:#fed7aa;}
.bb-vh-incl-col--ex strong{color:#9a3412;}
.bb-vh-incl-col--ex li:before{content:"+";color:#f97316;}

/* Review summary */
.bb-vh-rev-summary{display:grid;grid-template-columns:200px 1fr;gap:24px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:24px;margin-bottom:24px;}
.bb-vh-rev-score{text-align:center;padding-right:20px;border-right:1px solid #e2e8f0;}
.bb-vh-rev-score strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:48px;font-weight:800;color:#0f172a;line-height:1;display:block;margin-bottom:6px;}
.bb-vh-rev-score .bb-vh-stars{font-size:16px;margin-bottom:4px;}
.bb-vh-rev-score small{font-size:12px;color:#64748b;}
.bb-vh-rev-bars{display:flex;flex-direction:column;gap:6px;}
.bb-vh-rev-bar{display:grid;grid-template-columns:32px 1fr 40px;align-items:center;gap:10px;font-size:13px;}
.bb-vh-rev-bar span{font-weight:700;color:#0f172a;}
.bb-vh-rev-bar-track{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;}
.bb-vh-rev-bar-track > div{height:100%;background:#f59e0b;border-radius:4px;}
.bb-vh-rev-bar em{font-size:12px;color:#64748b;text-align:right;font-style:normal;font-weight:600;}

.bb-vh-rev-list{display:flex;flex-direction:column;gap:14px;}
.bb-vh-rev{display:flex;gap:14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px;}
.bb-vh-rev-avatar{width:42px;height:42px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0;font-family:'Plus Jakarta Sans',sans-serif;}
.bb-vh-rev-body{flex:1;min-width:0;}
.bb-vh-rev-head{display:flex;align-items:center;gap:12px;margin-bottom:6px;flex-wrap:wrap;}
.bb-vh-rev-head strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;color:#0f172a;}
.bb-vh-rev-head small{font-size:11.5px;color:#94a3b8;}
.bb-vh-rev-body p{font-size:14px;color:#334155;line-height:1.6;margin:0;}

.bb-vh-rev-more{margin-top:18px;background:transparent;border:1.5px dashed #fed7aa;color:#f97316;font-size:14px;font-weight:700;padding:11px 24px;border-radius:10px;cursor:pointer;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;}
.bb-vh-rev-more:hover{background:#fff7ed;}

/* FAQs */
.bb-vh-faqs details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 18px;margin-bottom:8px;}
.bb-vh-faqs details[open]{background:#fff7ed;border-color:#fed7aa;}
.bb-vh-faqs summary{font-weight:700;color:#0f172a;cursor:pointer;font-size:14.5px;list-style:none;display:flex;align-items:center;justify-content:space-between;}
.bb-vh-faqs summary::-webkit-details-marker{display:none;}
.bb-vh-faqs summary:after{content:"+";color:#f97316;font-weight:800;font-size:20px;}
.bb-vh-faqs details[open] summary:after{content:"−";}
.bb-vh-faqs p{margin:10px 0 0;font-size:13.5px;color:#475569;line-height:1.65;}

/* ===== ENQUIRY SIDEBAR ===== */
.bb-vh-enq{position:sticky;top:80px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.08);}
.bb-vh-enq-head{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;padding:22px 24px 18px;text-align:center;position:relative;overflow:hidden;}
.bb-vh-enq-head:before{content:"";position:absolute;top:-40px;right:-40px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.08);}
.bb-vh-enq-live{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.18);font-size:11px;font-weight:700;padding:4px 12px;border-radius:20px;margin-bottom:8px;position:relative;}
.bb-vh-enq-live .bb-live-dot{width:7px;height:7px;}
.bb-vh-enq-head strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:20px;font-weight:800;color:#fff;margin-bottom:4px;position:relative;}
.bb-vh-enq-head small{font-size:12.5px;color:rgba(255,255,255,.92);position:relative;}

.bb-vh-enq-price{padding:18px 24px 14px;display:flex;align-items:baseline;justify-content:space-between;background:#fff7ed;border-bottom:1px solid #fed7aa;flex-wrap:wrap;gap:6px;}
.bb-vh-enq-price small{font-size:11px;font-weight:700;color:#9a3412;text-transform:uppercase;letter-spacing:.5px;}
.bb-vh-enq-price strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;color:#f97316;line-height:1;}
.bb-vh-enq-price em{font-size:13px;color:#9a3412;font-style:normal;font-weight:600;}
.bb-vh-enq-save{background:#dcfce7;color:#15803d;font-size:11px;font-weight:700;padding:3px 10px;border-radius:6px;flex-basis:100%;text-align:center;}

.bb-vh-enq-form{padding:18px 22px 22px;}
.bb-vh-enq-form label{font-size:11.5px;font-weight:600;color:#64748b;margin:8px 0 4px;display:block;text-transform:uppercase;letter-spacing:.4px;}
.bb-vh-enq-form .form-control,
.bb-vh-enq-form .form-select{border:1px solid #e2e8f0;border-radius:9px;padding:9px 12px;font-size:13.5px;}
.bb-vh-enq-form .form-control:focus,
.bb-vh-enq-form .form-select:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.12);}
.bb-vh-enq-btn{width:100%;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;padding:13px;border-radius:11px;font-size:14px;font-weight:700;cursor:pointer;margin-top:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;}
.bb-vh-enq-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(249,115,22,.4);}
.bb-vh-enq-note{display:block;font-size:11px;color:#94a3b8;margin-top:8px;text-align:center;}
.bb-vh-enq-note i{color:#10b981;margin-right:4px;}
.bb-vh-enq-or{text-align:center;margin:14px 0 8px;font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:1px;font-weight:700;}
.bb-vh-enq-quick{display:flex;gap:8px;}
.bb-vh-enq-call{flex:1;background:#0f172a;color:#fff;font-size:13px;font-weight:700;padding:10px;border-radius:9px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.bb-vh-enq-call:hover{background:#1e293b;color:#fff;text-decoration:none;}
.bb-vh-enq-wa{flex:1;background:#25d366;color:#fff;font-size:13px;font-weight:700;padding:10px;border-radius:9px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.bb-vh-enq-wa:hover{background:#1da851;color:#fff;text-decoration:none;}

/* ===== COMPARE TABLE ===== */
.bb-vh-others{margin-top:40px;}
.bb-vh-others-head h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;color:#0f172a;margin:0 0 6px;display:flex;align-items:center;gap:10px;}
.bb-vh-others-head h2 i{color:#f97316;}
.bb-vh-others-head p{font-size:14px;color:#64748b;margin:0 0 18px;}
.bb-vh-compare-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:6px;overflow-x:auto;}
.bb-vh-compare{width:100%;border-collapse:collapse;font-size:14px;min-width:680px;}
.bb-vh-compare thead{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;}
.bb-vh-compare th{padding:12px 14px;text-align:left;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.4px;}
.bb-vh-compare th:first-child{border-radius:10px 0 0 10px;}
.bb-vh-compare th:last-child{border-radius:0 10px 10px 0;}
.bb-vh-compare td{padding:14px;border-bottom:1px solid #f1f5f9;color:#334155;}
.bb-vh-compare tbody tr:last-child td{border-bottom:none;}
.bb-vh-compare tbody tr:hover{background:#fff7ed;}
.bb-vh-compare td i{color:#f97316;margin-right:6px;}
.bb-vh-compare td strong{color:#f97316;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;}
.bb-vh-compare td a{color:#0d9488;font-weight:700;text-decoration:none;}
.bb-vh-compare td a:hover{color:#0f766e;text-decoration:underline;}

/* ===== FAB ===== */
.bb-vh-fab{position:fixed;bottom:80px;right:16px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:14px;font-weight:700;padding:14px 22px;border-radius:50px;text-decoration:none;display:inline-flex;align-items:center;gap:10px;box-shadow:0 12px 30px rgba(249,115,22,.5);z-index:40;animation:bbVhPulse 2.5s ease infinite;}
.bb-vh-fab:hover{color:#fff;text-decoration:none;}
@keyframes bbVhPulse{0%,100%{box-shadow:0 12px 30px rgba(249,115,22,.5);}50%{box-shadow:0 12px 40px rgba(249,115,22,.85);}}

/* ===== RESPONSIVE ===== */
@media (max-width:1199px){
  .bb-vh-hero-content h1{font-size:34px;}
  .bb-vh-specs-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:991px){
  .bb-vh-hero{min-height:auto;padding:30px 0;}
  .bb-vh-hero-inner{padding:30px 15px;}
  .bb-vh-hero-content h1{font-size:28px;}
  .bb-vh-hero-content > p{font-size:15px;}
  .bb-vh-hero-card{margin-top:24px;}
  .bb-vh-enq{position:static;margin-top:18px;}
  .bb-vh-plans{grid-template-columns:1fr;}
  .bb-vh-specs-grid{grid-template-columns:repeat(2,1fr);}
  .bb-vh-models{grid-template-columns:1fr;}
  .bb-vh-feats{grid-template-columns:1fr;}
  .bb-vh-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;}
  .bb-vh-gimg--lg,.bb-vh-gimg--wd{grid-column:span 2;}
  .bb-vh-rev-summary{grid-template-columns:1fr;}
  .bb-vh-rev-score{padding-right:0;border-right:none;padding-bottom:18px;border-bottom:1px solid #e2e8f0;}
  .bb-vh-stats{grid-template-columns:repeat(2,1fr);}
  .bb-vh-stats > div{border-right:none;}
  .bb-vh-uses{grid-template-columns:1fr;}
  .bb-vh-incl{grid-template-columns:1fr;}
}
@media (max-width:767px){
  .bb-vh-hero-content h1{font-size:23px;}
  .bb-vh-chips{gap:6px;}
  .bb-vh-chip{padding:7px 10px;min-width:62px;}
  .bb-vh-chip strong{font-size:13px;}
  .bb-vh-chip small{font-size:9px;}
  .bb-vh-cta-primary,.bb-vh-cta-call,.bb-vh-cta-wa{padding:10px 16px;font-size:13px;}
  .bb-vh-tab{font-size:12.5px;padding:11px 14px;}
  .bb-vh-panel{padding:22px 20px;}
  .bb-vh-panel h2{font-size:20px;}
  .bb-vh-specs-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .bb-vh-spec-card{padding:14px 10px;}
  .bb-vh-spec-card strong{font-size:13px;}
  .bb-vh-gallery{grid-auto-rows:120px;}
  .bb-vh-video-card{flex-direction:column;text-align:center;}
}

/* ============================================================
   INDEX PAGE REDESIGN - TOUR PACKAGES & HOTEL BOOKINGS FOCUS
   Prefix: bb-idx-*
   Appended to assets/css/style.css
============================================================ */

/* ---- HERO ---- */
.bb-idx-hero {
  background: linear-gradient(150deg, #1e1b4b 0%, #1a3a4a 55%, #134e4a 100%);
  position: relative;
  overflow: hidden;
  padding-top: 80px;
  min-height: 92vh;
  display: flex;
  flex-direction: column;
}
.bb-idx-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.bb-idx-circle {
  position: absolute;
  border-radius: 50%;
}
.bb-idx-circle-1 {
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(249,115,22,.18), transparent 70%);
  top: -250px; right: -200px;
  animation: bb-idx-float 8s ease-in-out infinite;
}
.bb-idx-circle-2 {
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(13,148,136,.15), transparent 70%);
  bottom: 50px; left: -150px;
  animation: bb-idx-float 10s ease-in-out infinite reverse;
}
.bb-idx-circle-3 {
  width: 350px; height: 350px;
  background: radial-gradient(circle, rgba(234,179,8,.12), transparent 70%);
  top: 45%; left: 38%;
  transform: translate(-50%,-50%);
  animation: bb-idx-float 12s ease-in-out infinite 3s;
}
.bb-idx-hero-dots {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 28px 28px;
}
@keyframes bb-idx-float {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-20px); }
}
.bb-idx-hero-wrap {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 3rem;
  flex: 1;
  padding-top: 3rem;
  padding-bottom: 2.5rem;
}

/* Left copy */
.bb-idx-hero-left {
  flex: 0 0 44%;
  max-width: 44%;
  color: #fff;
}
.bb-idx-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .82rem;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 100px;
  padding: .35rem 1rem;
  margin-bottom: 1.25rem;
  backdrop-filter: blur(8px);
}
.bb-idx-hero-h1 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(1.9rem, 3.5vw, 3rem);
  font-weight: 800;
  line-height: 1.18;
  color: #fff;
  margin-bottom: .9rem;
}
.bb-idx-grad {
  background: linear-gradient(135deg, #f97316 20%, #eab308 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.bb-idx-hero-sub {
  font-size: 1rem;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  margin-bottom: 1.75rem;
}
.bb-idx-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.bb-idx-stat {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 14px;
  padding: .9rem .75rem;
  text-align: center;
  backdrop-filter: blur(6px);
  transition: background .2s;
}
.bb-idx-stat:hover { background: rgba(255,255,255,.13); }
.bb-idx-stat strong {
  display: block;
  font-size: 1.45rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  margin-bottom: .2rem;
}
.bb-idx-stat strong .fas {
  font-size: .85rem;
  color: #eab308;
  vertical-align: middle;
}
.bb-idx-stat span {
  font-size: .72rem;
  color: rgba(255,255,255,.58);
  font-weight: 500;
}
.bb-idx-hero-awards {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
.bb-idx-award-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 100px;
  padding: .28rem .85rem;
  font-size: .78rem;
  color: rgba(255,255,255,.8);
  font-weight: 500;
}
.bb-idx-award-chip .fas { color: #eab308; font-size: .75rem; }

/* Right: search card */
.bb-idx-hero-right { flex: 1; }
.bb-idx-search-card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.4);
}

/* Tabs */
.bb-idx-stabs {
  display: flex;
  background: #f8fafc;
  border-bottom: 2px solid #e2e8f0;
}
.bb-idx-stab {
  flex: 1;
  padding: .95rem .5rem;
  font-size: .85rem;
  font-weight: 600;
  color: #64748b;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  transition: all .2s;
  border-bottom: 3px solid transparent;
  position: relative;
  bottom: -2px;
  font-family: inherit;
}
.bb-idx-stab:hover { color: #f97316; }
.bb-idx-stab.is-active {
  color: #f97316;
  background: #fff;
  border-bottom-color: #f97316;
}
.bb-idx-stab .fas { font-size: .9rem; }

/* Tab panes */
.bb-idx-tab-pane {
  display: none;
  padding: 1.4rem;
}
.bb-idx-tab-pane.is-active { display: block; }

/* Search fields */
.bb-idx-sf-row {
  display: flex;
  gap: .65rem;
  margin-bottom: .65rem;
  align-items: flex-end;
  position: relative;
}
.bb-idx-sf-field {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .25rem;
  cursor: pointer;
}
.bb-idx-sf-field--full { width: 100%; flex: 0 0 100%; }
.bb-idx-sf-label {
  font-size: .72rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .05em;
  display: flex;
  align-items: center;
  gap: .3rem;
}
.bb-idx-sf-label .fas, .bb-idx-sf-label .far { color: #f97316; font-size: .75rem; }
.bb-idx-sf-input {
  width: 100%;
  padding: .62rem .85rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-size: .92rem;
  font-family: inherit;
  color: #1e293b;
  transition: border-color .2s, box-shadow .2s;
  background: #fff;
  outline: none;
}
.bb-idx-sf-input:focus {
  border-color: #f97316;
  box-shadow: 0 0 0 3px rgba(249,115,22,.12);
}
select.bb-idx-sf-input { cursor: pointer; }
.bb-idx-sf-input::placeholder { color: #94a3b8; }

/* Radio filter pills */
.bb-idx-pkg-types {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding: .35rem 0 .1rem;
}
.bb-idx-pkg-types label {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .8rem;
  cursor: pointer;
  color: #475569;
  font-weight: 500;
  background: #f1f5f9;
  border: 1.5px solid #e2e8f0;
  border-radius: 100px;
  padding: .22rem .7rem;
  transition: all .15s;
}
.bb-idx-pkg-types label:hover { border-color: #f97316; color: #f97316; }
.bb-idx-pkg-types input[type=radio] { width: 13px; height: 13px; accent-color: #f97316; }

/* Submit */
.bb-idx-sf-submit {
  width: 100%;
  padding: .85rem;
  background: linear-gradient(135deg, #f97316, #ea580c);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: .98rem;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  transition: transform .15s, box-shadow .15s;
  box-shadow: 0 4px 14px rgba(249,115,22,.4);
  margin-top: .15rem;
  font-family: inherit;
}
.bb-idx-sf-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(249,115,22,.5);
}
.bb-idx-sf-submit--teal {
  background: linear-gradient(135deg, #0d9488, #0f766e);
  box-shadow: 0 4px 14px rgba(13,148,136,.4);
}
.bb-idx-sf-submit--teal:hover { box-shadow: 0 8px 24px rgba(13,148,136,.5); }
.bb-idx-sf-submit--blue {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  box-shadow: 0 4px 14px rgba(59,130,246,.4);
}
.bb-idx-sf-submit--blue:hover { box-shadow: 0 8px 24px rgba(59,130,246,.5); }

/* Quick links */
.bb-idx-quick-links {
  margin-top: .9rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  font-size: .78rem;
}
.bb-idx-quick-links > span { color: #94a3b8; font-weight: 600; flex-shrink: 0; }
.bb-idx-qlink {
  background: #f1f5f9;
  border: none;
  border-radius: 100px;
  padding: .22rem .7rem;
  font-size: .78rem;
  color: #475569;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  transition: background .15s, color .15s;
  font-family: inherit;
}
.bb-idx-qlink:hover { background: #f97316; color: #fff; }

/* Bus tab date display */
.bb-idx-date-disp {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .62rem .85rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  cursor: pointer;
  transition: border-color .2s;
  background: #fff;
}
.bb-idx-date-disp:hover { border-color: #f97316; }
.bb-idx-date-disp strong {
  font-size: 1.7rem;
  font-weight: 800;
  color: #f97316;
  line-height: 1;
}
.bb-idx-date-disp span {
  font-size: .82rem;
  font-weight: 600;
  color: #1e293b;
  display: block;
  line-height: 1.3;
}
.bb-idx-date-disp small { font-size: .72rem; color: #94a3b8; }
.bb-idx-swap-btn {
  background: #f1f5f9;
  border: 2px solid #e2e8f0;
  border-radius: 50%;
  width: 36px; height: 36px;
  min-width: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  cursor: pointer;
  transition: all .2s;
  flex-shrink: 0;
  align-self: flex-end;
  margin-bottom: 2px;
  font-family: inherit;
}
.bb-idx-swap-btn:hover {
  background: #f97316;
  border-color: #f97316;
  color: #fff;
  transform: rotate(180deg);
}

/* ---- DESTINATIONS ---- */
.bb-idx-dest-scroll {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: .75rem;
  scrollbar-width: thin;
  scrollbar-color: #f97316 #f1f5f9;
}
.bb-idx-dest-scroll::-webkit-scrollbar { height: 4px; }
.bb-idx-dest-scroll::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 4px; }
.bb-idx-dest-scroll::-webkit-scrollbar-thumb { background: #f97316; border-radius: 4px; }

.bb-idx-dest-card {
  flex: 0 0 155px;
  border-radius: 18px;
  overflow: hidden;
  text-decoration: none;
  position: relative;
  height: 215px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: transform .25s, box-shadow .25s;
  box-shadow: 0 4px 15px rgba(0,0,0,.1);
}
.bb-idx-dest-card:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.bb-idx-dest-bg {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.5rem;
  line-height: 1;
  padding-bottom: 50px;
}
.bb-idx-dest-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.78) 40%, rgba(0,0,0,.05) 100%);
}
.bb-idx-dest-info {
  position: relative;
  z-index: 1;
  padding: .9rem;
  color: #fff;
}
.bb-idx-dest-name {
  display: block;
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.2;
}
.bb-idx-dest-count {
  font-size: .72rem;
  color: rgba(255,255,255,.7);
  margin-top: .15rem;
  display: block;
}
.bb-idx-dest-badge {
  position: absolute;
  top: .6rem;
  left: .6rem;
  background: #f97316;
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
  padding: .15rem .5rem;
  border-radius: 100px;
  z-index: 1;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* ---- GOVT HOTELS SECTION ---- */
.bb-idx-gov-card {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  transition: transform .25s, box-shadow .25s;
  background: #fff;
  text-decoration: none;
  display: block;
}
.bb-idx-gov-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,.12);
}
.bb-idx-gov-head {
  padding: 1.4rem 1.4rem 1rem;
  display: flex;
  align-items: flex-start;
  gap: .9rem;
  border-bottom: 1px solid #f1f5f9;
}
.bb-idx-gov-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
}
.bb-idx-gov-icon--teal { background: #ccfbf1; }
.bb-idx-gov-icon--blue { background: #dbeafe; }
.bb-idx-gov-icon--green { background: #dcfce7; }
.bb-idx-gov-icon--amber { background: #fef9c3; }
.bb-idx-gov-meta { flex: 1; }
.bb-idx-gov-name {
  font-weight: 700;
  font-size: .98rem;
  color: #1e293b;
  display: block;
  line-height: 1.3;
}
.bb-idx-gov-sub { font-size: .78rem; color: #64748b; margin-top: .15rem; display: block; }
.bb-idx-gov-body { padding: .9rem 1.4rem; }
.bb-idx-gov-list {
  list-style: none;
  padding: 0; margin: 0;
}
.bb-idx-gov-list li {
  padding: .35rem 0;
  font-size: .83rem;
  color: #475569;
  border-bottom: 1px solid #f8fafc;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.bb-idx-gov-list li:last-child { border-bottom: none; }
.bb-idx-gov-list .fas { color: #f97316; font-size: .68rem; flex-shrink: 0; }
.bb-idx-gov-foot { padding: .5rem 1.4rem 1.25rem; }
.bb-idx-gov-btn {
  display: block;
  text-align: center;
  padding: .6rem;
  border-radius: 10px;
  font-size: .86rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.bb-idx-gov-btn--teal { background: #ccfbf1; color: #0d9488; }
.bb-idx-gov-btn--teal:hover { background: #0d9488; color: #fff; }
.bb-idx-gov-btn--blue { background: #dbeafe; color: #2563eb; }
.bb-idx-gov-btn--blue:hover { background: #2563eb; color: #fff; }
.bb-idx-gov-btn--green { background: #dcfce7; color: #16a34a; }
.bb-idx-gov-btn--green:hover { background: #16a34a; color: #fff; }

/* ---- HOTEL SEARCH STRIP ---- */
.bb-idx-hotel-strip {
  background: linear-gradient(135deg, #0f766e 0%, #134e4a 100%);
  padding: 4rem 0;
  position: relative;
  overflow: hidden;
}
.bb-idx-hotel-strip::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 28px 28px;
}
.bb-idx-hotel-strip .container { position: relative; z-index: 1; }
.bb-idx-hs-head { text-align: center; margin-bottom: 2rem; }
.bb-idx-hs-head .bb-eyebrow {
  background: rgba(255,255,255,.15);
  color: rgba(255,255,255,.9);
  border: 1px solid rgba(255,255,255,.2);
}
.bb-idx-hs-head h2 {
  color: #fff;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  margin: .5rem 0 .4rem;
}
.bb-idx-hs-head p { color: rgba(255,255,255,.7); margin: 0; font-size: .95rem; }
.bb-idx-hs-form {
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 20px;
  padding: 1.5rem;
}
.bb-idx-hs-row {
  display: flex;
  gap: .85rem;
  flex-wrap: wrap;
  align-items: flex-end;
}
.bb-idx-hs-field { flex: 1; min-width: 130px; }
.bb-idx-hs-label {
  font-size: .72rem;
  font-weight: 700;
  color: rgba(255,255,255,.8);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .3rem;
  display: flex;
  align-items: center;
  gap: .3rem;
}
.bb-idx-hs-input {
  width: 100%;
  padding: .68rem 1rem;
  border: 1.5px solid rgba(255,255,255,.25);
  border-radius: 10px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: .92rem;
  font-family: inherit;
  outline: none;
  transition: border-color .2s, background .2s;
}
.bb-idx-hs-input::placeholder { color: rgba(255,255,255,.55); }
.bb-idx-hs-input:focus { border-color: rgba(255,255,255,.65); background: rgba(255,255,255,.2); }
.bb-idx-hs-input option { color: #1e293b; background: #fff; }
.bb-idx-hs-btn {
  padding: .68rem 1.75rem;
  background: #fff;
  color: #0d9488;
  border: none;
  border-radius: 10px;
  font-size: .92rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform .15s, box-shadow .15s;
  display: flex;
  align-items: center;
  gap: .5rem;
  white-space: nowrap;
  font-family: inherit;
  box-shadow: 0 4px 15px rgba(0,0,0,.18);
  flex-shrink: 0;
}
.bb-idx-hs-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.bb-idx-hs-partners {
  margin-top: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .6rem;
}
.bb-idx-hs-partners > span { font-size: .8rem; color: rgba(255,255,255,.65); font-weight: 600; }
.bb-idx-hs-pill {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 100px;
  padding: .28rem .9rem;
  font-size: .8rem;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  transition: background .2s;
}
.bb-idx-hs-pill:hover { background: rgba(255,255,255,.25); color: #fff; }

/* ---- UPDATE WHY section copy tags ---- */
.bb-idx-why-update .bb-section-sub { font-size: .98rem; }

/* ---- RESPONSIVE ---- */
@media (max-width: 991.98px) {
  .bb-idx-hero-wrap { flex-direction: column; padding-top: 2rem; padding-bottom: 1.5rem; }
  .bb-idx-hero-left { flex: 0 0 100%; max-width: 100%; }
  .bb-idx-hero-right { width: 100%; }
  .bb-idx-hero { min-height: auto; }
  .bb-idx-hero-stats { grid-template-columns: repeat(4, 1fr); gap: .6rem; }
  .bb-idx-stat strong { font-size: 1.2rem; }
}
@media (max-width: 767.98px) {
  .bb-idx-hero-stats { grid-template-columns: repeat(2, 1fr); }
  .bb-idx-hs-row { flex-direction: column; }
  .bb-idx-hs-btn { width: 100%; justify-content: center; }
  /* Stack date + travellers on mobile/tablet */
  .bb-idx-sf-row { flex-direction: column; }
  .bb-idx-sf-field { width: 100%; }
}
@media (max-width: 575.98px) {
  .bb-idx-stab { font-size: .78rem; padding: .75rem .25rem; }
  .bb-idx-stab .fas { display: none; }
  .bb-idx-swap-btn { align-self: center; margin: 0; }
  .bb-idx-dest-card { flex: 0 0 135px; height: 185px; }
  .bb-idx-dest-bg { font-size: 3.5rem; }
}

/* ============================================================
   Tour card & destination card real-image support
   bb-tour-img--photo + bb-idx-dest-bg with background-image
============================================================ */

/* Tour package card — real photo support */
.bb-tour-img--photo {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  position: relative;
}
.bb-tour-img--photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.40) 100%);
  pointer-events: none;
  border-radius: inherit;
}
/* Badge stays above overlay */
.bb-tour-img--photo .bb-tour-badge {
  position: absolute;
  z-index: 2;
}

/* Destination card — real photo fills the absolute container */
.bb-idx-dest-bg[style*="background-image"] {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  font-size: 0 !important;    /* hide any leftover text/emoji */
  line-height: 0 !important;
  padding: 0 !important;
}

/* ============================================================
   Tour Package Details â€” missing component styles
   Classes used in tour-package-details.php view
============================================================ */

/* â”€â”€ Marquee â”€â”€ */
.bb-tpd-marquee { background: var(--bb-primary); color: #fff; font-size: 13px; padding: 7px 0; }
.bb-tpd-marquee__item { margin-right: 48px; }

/* â”€â”€ Gallery image â”€â”€ */
.bb-tpd-gallery__img, .bb-tpd-gallery-img { width: 100%; height: clamp(260px,45vw,500px); object-fit: cover; }

/* â”€â”€ Hero pills (days / pid badges) â”€â”€ */
.bb-tpd-pill { font-size: 12px; font-weight: 600; border-radius: var(--bb-radius-pill); padding: 4px 12px; }
.bb-tpd-pill--days { background: var(--bb-primary-light,#eff6ff); color: var(--bb-primary); }
.bb-tpd-pill--pid  { background: #f3f4f6; color: #6b7280; }

/* â”€â”€ Opcard logo + name â”€â”€ */
.bb-tpd-opcard-logo {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--bb-primary); color: #fff;
  font-size: 15px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.bb-tpd-opcard-name { font-size: 15px; font-weight: 700; color: var(--bb-text); }

/* â”€â”€ Fare block (alternative to fare-row, used in opcard body) â”€â”€ */
.bb-tpd-fare-block { display: flex; flex-direction: column; gap: 2px; }
.bb-tpd-fare-value  { font-size: 14px; font-weight: 600; color: var(--bb-text); }

/* â”€â”€ Pill tabs (package type switchers) â”€â”€ */
.bb-pill-nav { gap: 6px; flex-wrap: wrap; }
.bb-pill-nav__btn {
  border-radius: var(--bb-radius-pill) !important;
  font-size: 13px; font-weight: 600;
  padding: 5px 16px;
  border: 1.5px solid var(--bb-border-light);
  color: var(--bb-text);
  background: #fff;
  transition: all .2s;
}
.bb-pill-nav__btn.active,
.bb-pill-nav__btn:hover {
  background: var(--bb-primary); border-color: var(--bb-primary); color: #fff;
}

/* â”€â”€ Inter-linking package tabs â”€â”€ */
.bb-tpd-interlink { background: #f9fafb; border-radius: var(--bb-radius); padding: 10px 14px; }
.bb-btn-interlink { border-radius: var(--bb-radius-pill) !important; font-size: 12.5px; }
.bb-btn-incl { font-size: 12.5px; }

/* â”€â”€ Badge tag (free cancellation / advance payment links) â”€â”€ */
a.bb-badge-tag { border-radius: var(--bb-radius-pill); font-size: 11.5px; padding: 4px 10px; font-weight: 600; cursor: pointer; }

/* â”€â”€ Itinerary list â”€â”€ */
.bb-tpd-itin-list { padding-left: 0; }
.bb-tpd-itin-item { display: flex; gap: 14px; padding-bottom: 16px; border-bottom: 1px dashed var(--bb-border-light); margin-bottom: 16px; }
.bb-tpd-itin-item:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.bb-tpd-itin-day  {
  flex-shrink: 0; width: 52px; height: 52px;
  border-radius: 50%; background: var(--bb-primary); color: #fff;
  font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .4px;
  display: flex; align-items: center; justify-content: center; text-align: center;
}
.bb-tpd-itin-desc { font-size: 13.5px; color: var(--bb-text); line-height: 1.6; padding-top: 14px; }

/* â”€â”€ Amenity chips (yes / no) â”€â”€ */
.bb-tpd-amen-chip--yes { background: #f0fdf4; border-color: #86efac !important; color: #166534; }
.bb-tpd-amen-chip--yes i { color: #16a34a; }
.bb-tpd-amen-chip--no  { background: #fef2f2; border-color: #fca5a5 !important; color: #991b1b; }
.bb-tpd-amen-chip--no  i { color: #dc2626; }
.bb-tpd-amen-chip { border: 1px solid var(--bb-border-light); border-radius: var(--bb-radius-pill); padding: 5px 12px; font-size: 12.5px; }
.bb-tpd-amen-grid--2col { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }

/* â”€â”€ Place card â”€â”€ */
.bb-tpd-place-card { border: 1px solid var(--bb-border-light); border-radius: var(--bb-radius); overflow: hidden; transition: box-shadow .2s; }
.bb-tpd-place-card:hover { box-shadow: var(--bb-shadow-md); }
.bb-tpd-place-card-img { width: 100%; height: 160px; object-fit: cover; }
.bb-tpd-place-card-name { font-size: 14px; font-weight: 700; color: var(--bb-text); margin-bottom: 4px; }

/* â”€â”€ Entry package card â”€â”€ */
.bb-tpd-entry-card { border: 1px solid var(--bb-border-light); border-radius: var(--bb-radius); overflow: hidden; }
.bb-tpd-entry-card-img { width: 100%; height: 160px; object-fit: cover; }
.bb-tpd-entry-card-name { font-size: 14px; font-weight: 700; color: var(--bb-text); margin-bottom: 6px; }
.bb-tpd-entry-coupon { display: flex; flex-wrap: wrap; gap: 4px; }

/* â”€â”€ Review card â”€â”€ */
.bb-tpd-review-card { border: 1px solid var(--bb-border-light); border-radius: var(--bb-radius); }
.bb-tpd-review-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--bb-primary); color: #fff;
  font-size: 18px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.bb-tpd-review-stars i { color: #d1d5db; font-size: 13px; }
.bb-tpd-review-stars i.fa-star { color: #eab308; }

/* â”€â”€ Sidebar â”€â”€ */
.bb-tpd-sidebar { display: flex; flex-direction: column; gap: 16px; }
.bb-tpd-sidebar-card { border: 1px solid var(--bb-border-light); border-radius: var(--bb-radius); }
.bb-tpd-sidebar-card-title { font-size: 15px; font-weight: 700; color: var(--bb-text); margin-bottom: 8px; }
.bb-tpd-sidebar-card-fare { font-size: 13px; color: var(--bb-text-muted); margin-bottom: 10px; }
.bb-tpd-sidebar-meta li { display: flex; align-items: flex-start; gap: 6px; padding: 3px 0; font-size: 13px; }
.bb-tpd-sidebar-contact { }

/* â”€â”€ Nearest boarding search â”€â”€ */
.bb-tpd-nearest-search { display: flex; gap: 6px; }

/* â”€â”€ Tour card (similar packages) â”€â”€ */
.bb-tour-card { border: 1px solid var(--bb-border-light); border-radius: var(--bb-radius); overflow: hidden; transition: box-shadow .2s; }
.bb-tour-card:hover { box-shadow: var(--bb-shadow-md); }
.bb-tour-card__img  { width: 100%; height: 160px; object-fit: cover; }
.bb-tour-card__name { font-size: 14px; font-weight: 700; color: var(--bb-text); margin-bottom: 4px; }
.bb-tour-card__fare { font-size: 13px; color: var(--bb-text-muted); margin-bottom: 0; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   tour-package-details.html â€” supplemental component styles
   Added 2026-05 to support new features from 6 package types
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ Trust bar (horizontal strip, desktop only) â”€â”€ */
.bb-tpd-trust-bar {
  background: linear-gradient(135deg, #f0fdf4 0%, #eff6ff 100%);
  border-top: 1px solid var(--bb-border-light);
  border-bottom: 1px solid var(--bb-border-light);
  padding: 10px 0;
}
.bb-tpd-trust {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 8px;
}
.bb-tpd-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--bb-text);
  padding: 4px 12px;
}
.bb-tpd-trust-item i {
  font-size: 18px;
  color: var(--bb-primary);
  flex-shrink: 0;
}
.bb-tpd-trust-item strong { color: var(--bb-text); font-weight: 700; }

/* Sidebar variant â€” 2Ã—2 grid */
.bb-tpd-trust--sidebar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  justify-content: start;
}
.bb-tpd-trust--sidebar .bb-tpd-trust-item {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 6px 8px;
  background: var(--bb-bg);
  border-radius: var(--bb-radius-sm);
  font-size: 12px;
}
.bb-tpd-trust--sidebar .bb-tpd-trust-item i { font-size: 15px; }
.bb-tpd-trust--sidebar .bb-tpd-trust-item strong { font-size: 12px; font-weight: 700; }

/* â”€â”€ Day availability dots (Monâ€“Sun per operator) â”€â”€ */
.bb-tpd-avail {
  display: flex;
  gap: 4px;
  flex-wrap: nowrap;
  align-items: center;
  margin-left: auto;
  padding-left: 8px;
}
.bb-tpd-avail-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0;
  flex-shrink: 0;
  cursor: default;
  transition: transform .15s;
}
.bb-tpd-avail-dot--on {
  background: #d1fae5;
  color: #047857;
  border: 1.5px solid #6ee7b7;
}
.bb-tpd-avail-dot--off {
  background: #f3f4f6;
  color: #9ca3af;
  border: 1.5px solid #e5e7eb;
  text-decoration: line-through;
}
.bb-tpd-avail-dot--on:hover { transform: scale(1.15); }
@media (max-width: 767px) { .bb-tpd-avail { display: none !important; } }

/* â”€â”€ Alternate vehicle names â”€â”€ */
.bb-tpd-alt-vehicle {
  font-size: 11.5px;
  color: var(--bb-text-muted);
  font-style: italic;
}

/* â”€â”€ Fare grid (new layout replacing old fare-pricing/row) â”€â”€ */
.bb-tpd-fare-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  overflow: hidden;
  margin-bottom: 12px;
}
.bb-tpd-fare-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 14px;
  border-right: 1px solid var(--bb-border-light);
  min-width: 90px;
}
.bb-tpd-fare-block:last-child { border-right: 0; }
.bb-tpd-fare-block--primary {
  background: linear-gradient(135deg, #fff7ed 0%, #fef3c7 100%);
  flex: 1 1 120px;
}
.bb-tpd-fare-block--weekend {
  background: #eff6ff;
  border-left: 3px solid #3b82f6;
}
.bb-tpd-fare-block--special {
  background: #fdf4ff;
  border-left: 3px solid #a855f7;
}
.bb-tpd-fare-label {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--bb-text-muted);
}
.bb-tpd-fare-value {
  font-size: 14px;
  font-weight: 700;
  color: var(--bb-text);
}
.bb-tpd-fare-caption {
  font-size: 10px;
  color: var(--bb-text-muted);
  margin-top: 2px;
}

/* â”€â”€ Fare amount variants â”€â”€ */
.bb-tpd-fare-amount--child  { color: #0284c7; font-size: 16px !important; }
.bb-tpd-fare-amount--weekend { color: #1d4ed8; font-size: 16px !important; }
.bb-tpd-fare-amount--special { color: #7c3aed; font-size: 16px !important; }

/* â”€â”€ Weekend / Special fare rows (inside old fare-pricing blocks) â”€â”€ */
.bb-tpd-fare-row--weekend {
  background: #eff6ff;
  border-radius: var(--bb-radius-sm);
  padding: 6px 8px;
  margin-top: 4px;
}
.bb-tpd-fare-row--weekend .bb-tpd-fare-label { color: #1d4ed8; }
.bb-tpd-fare-row--weekend .bb-tpd-fare-amount { color: #1d4ed8; }
.bb-tpd-fare-row--special {
  background: #fdf4ff;
  border-radius: var(--bb-radius-sm);
  padding: 6px 8px;
  margin-top: 4px;
}
.bb-tpd-fare-row--special .bb-tpd-fare-label { color: #7c3aed; }
.bb-tpd-fare-row--special .bb-tpd-fare-amount { color: #7c3aed; }

/* â”€â”€ Notice items (sidebar) â”€â”€ */
.bb-tpd-notice-item {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 4px 0;
  font-size: 12px;
  color: var(--bb-text);
  border-bottom: 1px dashed var(--bb-border-light);
}
.bb-tpd-notice-item:last-child { border-bottom: 0; }

/* â”€â”€ Coupon code chip â”€â”€ */
.bb-coupon-code {
  display: inline-block;
  font-family: 'Courier New', monospace;
  font-size: 12px;
  font-weight: 700;
  background: #fef3c7;
  color: #92400e;
  border: 1.5px dashed #fbbf24;
  border-radius: var(--bb-radius-sm);
  padding: 3px 10px;
  letter-spacing: 1px;
  cursor: pointer;
  user-select: all;
}
.bb-coupon-code:hover { background: #fde68a; }

/* â”€â”€ Rating average badge â”€â”€ */
.bb-tpd-rating-avg {
  display: inline-flex;
  align-items: center;
  background: #fef3c7;
  color: #92400e;
  border-radius: var(--bb-radius-pill);
  padding: 3px 10px;
  font-size: 13px;
  font-weight: 700;
  gap: 4px;
}

/* â”€â”€ Sidebar booking card accent â”€â”€ */
.bb-tpd-sidebar-card--booking {
  border-top: 3px solid var(--bb-primary);
}

/* â”€â”€ Cancellation table (coupons section) â”€â”€ */
.bb-tpd-cancel-table { width: 100%; font-size: 13px; }
.bb-tpd-cancel-table thead th {
  background: var(--bb-bg);
  padding: 8px 10px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--bb-text-muted);
  border-bottom: 2px solid var(--bb-border-light);
}
.bb-tpd-cancel-table tbody td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--bb-border-light);
  vertical-align: middle;
}

/* â”€â”€ Alerts wrap container â”€â”€ */
.bb-tpd-alerts-wrap { padding: 12px 0 4px; }

/* â”€â”€ Entry card fare block (inside entry cards) â”€â”€ */
.bb-tpd-entry-card .bb-tpd-fare-block {
  background: var(--bb-bg);
  border-radius: var(--bb-radius-sm);
  padding: 8px 12px;
  flex: 1;
  border: 1px solid var(--bb-border-light);
  border-right: 1px solid var(--bb-border-light);
  text-align: center;
}
.bb-tpd-entry-card .bb-tpd-fare-block--primary {
  background: linear-gradient(135deg, #fff7ed, #fef3c7);
  border-color: #fde68a;
}

/* â”€â”€ Op card head inner flex wrapper â”€â”€ */
.bb-tpd-opcard-head-inner {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 16px;
}

/* â”€â”€ Gallery overlay â”€â”€ */
.bb-tpd-gallery-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.45) 0%, transparent 60%);
  border-radius: inherit;
  pointer-events: none;
}

/* â”€â”€ Breadcrumb (in hero) â”€â”€ */
.bb-tpd-breadcrumb { margin-bottom: 10px; }
.bb-tpd-breadcrumb ol, .bb-tpd-breadcrumb nav { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; font-size: 12px; color: var(--bb-text-muted); }
.bb-tpd-breadcrumb a { color: var(--bb-text-muted); text-decoration: none; }
.bb-tpd-breadcrumb a:hover { color: var(--bb-primary); }

/* Responsive adjustments for new components */
@media (max-width: 575px) {
  .bb-tpd-trust { gap: 4px; }
  .bb-tpd-trust-item { font-size: 11px; padding: 3px 8px; }
  .bb-tpd-trust-item i { font-size: 15px; }
  .bb-tpd-fare-block { min-width: 70px; padding: 8px 10px; }
  .bb-tpd-fare-row--weekend,
  .bb-tpd-fare-row--special { padding: 5px 6px; }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   tour-package-details.html â€” Phase 2 additions
   (Authority strip, Day-avail grid, Hotels, IRCTC tiers, Car charges,
    Queries bar, Important info grid, DO's DON'Ts, Map placeholder)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ Authority / credibility strip â”€â”€ */
.bb-tpd-authority-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.bb-tpd-auth-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--bb-text);
  background: var(--bb-bg);
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-pill);
  padding: 5px 12px;
}
.bb-tpd-auth-badge i { font-size: 13px; }

/* â”€â”€ 7-day availability grid â”€â”€ */
.bb-tpd-dayavail {
  margin-top: 20px;
  padding: 14px 16px;
  background: var(--bb-bg);
  border-radius: var(--bb-radius);
  border: 1px solid var(--bb-border-light);
}
.bb-tpd-dayavail-label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--bb-text-muted);
  margin-bottom: 10px;
}
.bb-tpd-dayavail-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}
.bb-tpd-dayavail-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 4px;
  border-radius: var(--bb-radius-sm);
  font-size: 11px;
  font-weight: 700;
  transition: transform .15s;
}
.bb-tpd-dayavail-cell--on {
  background: #d1fae5;
  color: #047857;
  border: 1.5px solid #6ee7b7;
}
.bb-tpd-dayavail-cell--off {
  background: #f3f4f6;
  color: #9ca3af;
  border: 1.5px solid #e5e7eb;
  text-decoration: line-through;
}
.bb-tpd-dayavail-cell i { font-size: 13px; }
.bb-tpd-dayavail-cell--on:hover { transform: translateY(-2px); }
@media (max-width: 400px) { .bb-tpd-dayavail-grid { grid-template-columns: repeat(4, 1fr); } }

/* â”€â”€ "No Cancellation" warning â”€â”€ */
.bb-tpd-nocancel {
  font-size: 12px;
  color: #dc2626;
  font-weight: 600;
  padding: 6px 10px;
  background: #fef2f2;
  border-left: 3px solid #dc2626;
  border-radius: 0 var(--bb-radius-sm) var(--bb-radius-sm) 0;
}

/* â”€â”€ Car extra-charges info strip â”€â”€ */
.bb-tpd-car-charges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  padding: 10px 12px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: var(--bb-radius);
}
.bb-tpd-car-charge-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12.5px;
  flex: 1 1 200px;
}
.bb-tpd-car-charge-item i { margin-top: 2px; flex-shrink: 0; }

/* â”€â”€ Car flexible pickup note â”€â”€ */
.bb-tpd-car-pickup-note {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: var(--bb-radius);
  padding: 14px 16px;
  margin-bottom: 16px;
}
.bb-tpd-car-pickup-note-icon {
  width: 38px; height: 38px;
  background: #3b82f6;
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}
.bb-tpd-car-pickup-note strong { font-size: 14px; display: block; margin-bottom: 4px; color: var(--bb-text); }
.bb-tpd-car-pickup-note p { font-size: 13px; color: var(--bb-text-muted); }
.bb-tpd-pickup-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.bb-tpd-pickup-options span {
  background: #fff;
  border: 1px solid #bfdbfe;
  border-radius: var(--bb-radius-pill);
  padding: 3px 10px;
  font-size: 12px;
  color: #1d4ed8;
}

/* â”€â”€ IRCTC three-tier pricing â”€â”€ */
.bb-tpd-irctc-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px 14px;
  background: var(--bb-bg);
  border-radius: var(--bb-radius);
  border: 1px solid var(--bb-border-light);
}
.bb-tpd-irctc-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  flex: 1 1 180px;
}

.bb-tpd-irctc-tiers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 16px;
}
@media (max-width: 767px) { .bb-tpd-irctc-tiers { grid-template-columns: 1fr; } }
@media (min-width: 768px) and (max-width: 991px) { .bb-tpd-irctc-tiers { grid-template-columns: 1fr 1fr; } }

.bb-tpd-irctc-tier {
  border: 2px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  padding: 16px;
  position: relative;
  transition: box-shadow .2s, transform .2s;
}
.bb-tpd-irctc-tier:hover { box-shadow: var(--bb-shadow-md); transform: translateY(-2px); }
.bb-tpd-irctc-tier--economy  { border-color: #d1d5db; }
.bb-tpd-irctc-tier--standard { border-color: var(--bb-primary); background: #fff7ed; }
.bb-tpd-irctc-tier--comfort  { border-color: #7c3aed; background: #fdf4ff; }

.bb-tpd-irctc-popular-tag {
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--bb-primary);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .6px;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: var(--bb-radius-pill);
  white-space: nowrap;
}

.bb-tpd-irctc-tier-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.bb-tpd-irctc-tier-badge {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--bb-primary);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}
.bb-tpd-irctc-tier--comfort .bb-tpd-irctc-tier-badge { background: #7c3aed; }
.bb-tpd-irctc-tier-head h5 { font-size: 15px; font-weight: 800; margin: 0 0 2px; }
.bb-tpd-irctc-tier-head small { font-size: 11px; color: var(--bb-text-muted); }

.bb-tpd-irctc-tier-price {
  display: flex;
  gap: 14px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px dashed var(--bb-border-light);
}
.bb-tpd-irctc-tier-price > div { display: flex; flex-direction: column; gap: 2px; }

.bb-tpd-irctc-incl { list-style: none; padding: 0; margin: 0 0 14px; font-size: 12.5px; }
.bb-tpd-irctc-incl li { display: flex; align-items: flex-start; gap: 6px; padding: 3px 0; color: var(--bb-text); }
.bb-tpd-irctc-incl li i { margin-top: 2px; flex-shrink: 0; }

.bb-tpd-irctc-stations { background: var(--bb-bg); border: 1px solid var(--bb-border-light); border-radius: var(--bb-radius); padding: 14px; }
.bb-tpd-stations-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.bb-tpd-stations-grid span {
  background: #fff;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-pill);
  padding: 4px 10px;
  font-size: 12px;
  color: var(--bb-text);
}

/* â”€â”€ Hotel cards (multi-day packages) â”€â”€ */
.bb-tpd-hotel-city-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--bb-text);
  padding: 8px 0;
  border-bottom: 2px solid var(--bb-primary);
  display: inline-block;
  margin-bottom: 12px;
}
.bb-tpd-hotel-card {
  border-radius: var(--bb-radius);
  border: 1px solid var(--bb-border-light);
  overflow: hidden;
  position: relative;
  height: 100%;
}
.bb-tpd-hotel-card--standard { border-top: 3px solid #6b7280; }
.bb-tpd-hotel-card--deluxe  { border-top: 3px solid var(--bb-primary); }

.bb-tpd-hotel-tier-tag {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 3px 8px;
  border-radius: var(--bb-radius-pill);
  background: #f3f4f6;
  color: #374151;
}
.bb-tpd-hotel-card--deluxe .bb-tpd-hotel-tier-tag { background: #fef3c7; color: #92400e; }

.bb-tpd-hotel-body { padding: 14px; }
.bb-tpd-hotel-body h6 { font-size: 14px; font-weight: 700; color: var(--bb-text); margin-bottom: 2px; }
.bb-tpd-hotel-amenities {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.bb-tpd-hotel-amenities span {
  font-size: 11.5px;
  color: var(--bb-text-muted);
  background: var(--bb-bg);
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius-pill);
  padding: 3px 8px;
}

/* â”€â”€ Important information grid â”€â”€ */
.bb-tpd-impinfo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 20px;
}
@media (max-width: 767px) { .bb-tpd-impinfo-grid { grid-template-columns: 1fr; } }

.bb-tpd-impinfo-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: var(--bb-bg);
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
  padding: 10px 12px;
  font-size: 13px;
  color: var(--bb-text);
  line-height: 1.5;
}
.bb-tpd-impinfo-item i { font-size: 16px; margin-top: 2px; flex-shrink: 0; }

/* â”€â”€ DO's & DON'Ts â”€â”€ */
.bb-tpd-dos-donts h6 { font-weight: 700; font-size: 14px; }
.bb-tpd-dos, .bb-tpd-donts {
  border-radius: var(--bb-radius);
  padding: 14px;
  height: 100%;
}
.bb-tpd-dos { background: #f0fdf4; border: 1px solid #bbf7d0; }
.bb-tpd-donts { background: #fff5f5; border: 1px solid #fed7d7; }
.bb-tpd-dos-head, .bb-tpd-donts-head {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
}
.bb-tpd-dos ul, .bb-tpd-donts ul {
  padding-left: 0;
  list-style: none;
  margin: 0;
}
.bb-tpd-dos ul li, .bb-tpd-donts ul li {
  font-size: 12.5px;
  color: var(--bb-text);
  padding: 4px 0;
  border-bottom: 1px dashed rgba(0,0,0,.06);
  line-height: 1.45;
}
.bb-tpd-dos ul li::before { content: 'âœ“ '; color: #16a34a; font-weight: 700; }
.bb-tpd-donts ul li::before { content: 'âœ— '; color: #dc2626; font-weight: 700; }

/* â”€â”€ Google Map placeholder â”€â”€ */
.bb-tpd-map-wrap { border-radius: var(--bb-radius); overflow: hidden; }
.bb-tpd-map-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--bb-text-muted);
  text-transform: uppercase;
  letter-spacing: .4px;
  margin-bottom: 6px;
}
.bb-tpd-map-placeholder {
  height: 200px;
  background: #f0f4f8;
  border: 1px dashed var(--bb-border-light);
  border-radius: var(--bb-radius);
  display: flex;
  align-items: center;
  justify-content: center;
}
.bb-tpd-map-loading { text-align: center; }

/* â”€â”€ "Have any Queries?" contact bar â”€â”€ */
.bb-tpd-queries-bar {
  background: linear-gradient(135deg, #1e3a5f 0%, #0d9488 100%);
  padding: 24px 0;
  margin-top: 16px;
}
.bb-tpd-queries-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.bb-tpd-queries-text {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #fff;
}
.bb-tpd-queries-text strong { font-size: 16px; font-weight: 700; display: block; }
.bb-tpd-queries-icon {
  font-size: 32px;
  opacity: .85;
  flex-shrink: 0;
}
.bb-tpd-queries-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.bb-tpd-queries-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.15);
  color: #fff;
  border: 1.5px solid rgba(255,255,255,.4);
  border-radius: var(--bb-radius-pill);
  padding: 9px 18px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s;
}
.bb-tpd-queries-phone:hover { background: rgba(255,255,255,.25); color: #fff; }
.bb-tpd-queries-wa {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #25d366;
  color: #fff;
  border-radius: var(--bb-radius-pill);
  padding: 9px 18px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s;
}
.bb-tpd-queries-wa:hover { background: #128c50; color: #fff; }
.bb-tpd-queries-bar .bb-tpd-book-btn {
  background: #fff;
  color: var(--bb-primary);
  border-radius: var(--bb-radius-pill);
  padding: 9px 20px;
  font-weight: 800;
  border: none;
}
@media (max-width: 767px) {
  .bb-tpd-queries-inner { flex-direction: column; align-items: flex-start; }
  .bb-tpd-queries-text strong { font-size: 14px; }
  .bb-tpd-irctc-tiers { grid-template-columns: 1fr; }
  .bb-tpd-dayavail-grid { grid-template-columns: repeat(7, 1fr); }
  .bb-tpd-dayavail-cell { padding: 6px 2px; font-size: 10px; }
  .bb-tpd-impinfo-grid { grid-template-columns: 1fr; }
}

/* ================================================================
   MHZ NEW THEME — v3.0   Orange + Teal + Dark Navy
   Appended 2026-05-22
================================================================ */

/* ── CSS Variables ──────────────────────────────────────────── */
:root {
  --mz-pr:       #f97316;
  --mz-pr-dk:    #ea6a0a;
  --mz-sc:       #0d9488;
  --mz-sc-dk:    #0b8177;
  --mz-dk:       #0a1525;
  --mz-dk2:      #111f36;
  --mz-dk3:      #1a2f4a;
  --mz-lt:       #f8fafc;
  --mz-text:     #1f2937;
  --mz-muted:    #6b7280;
  --mz-border:   #e5e7eb;
  --mz-radius:   12px;
  --mz-radius-s: 8px;
  --mz-shadow:   0 4px 24px rgba(10,21,37,.08);
  --mz-shadow-l: 0 8px 40px rgba(10,21,37,.15);
}

/* ── TOPBAR ─────────────────────────────────────────────────── */
.bb-topbar {
  background: var(--mz-dk) !important;
  padding: 6px 0 !important;
}
.bb-topbar-left a,
.bb-topbar-right a {
  color: rgba(255,255,255,.75) !important;
  font-size: .78rem !important;
  transition: color .2s !important;
}
.bb-topbar-left a:hover,
.bb-topbar-right a:hover { color: var(--mz-pr) !important; }
.bb-topbar-login {
  background: var(--mz-pr) !important;
  color: #fff !important;
  border-radius: 4px !important;
  padding: 3px 10px !important;
}
.bb-topbar-login:hover { background: var(--mz-pr-dk) !important; color: #fff !important; }
.bb-topbar-status { color: rgba(255,255,255,.55) !important; font-size: .75rem !important; }
.bb-live-dot--green {
  background: #22c55e !important;
  box-shadow: 0 0 0 3px rgba(34,197,94,.25) !important;
}

/* ── HEADER / NAV ───────────────────────────────────────────── */
.bb-header {
  background: #fff !important;
  box-shadow: 0 2px 12px rgba(10,21,37,.07) !important;
  border-bottom: none !important;
}
.bb-header.bb-header--scrolled {
  box-shadow: 0 4px 24px rgba(10,21,37,.12) !important;
}

/* Logo */
.bb-logo { text-decoration: none !important; gap: 10px !important; }
.bb-logo-mark {
  background: linear-gradient(135deg, var(--mz-pr), var(--mz-pr-dk)) !important;
  color: #fff !important;
  border-radius: 10px !important;
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.05rem !important;
  box-shadow: 0 3px 10px rgba(249,115,22,.35) !important;
}
.bb-logo-wm { color: var(--mz-dk) !important; font-size: 1.05rem !important; font-weight: 600 !important; }
.bb-logo-wm strong { color: var(--mz-pr) !important; }
.bb-logo-wm sup { color: var(--mz-sc) !important; font-size: .55em !important; }

/* Nav links */
.bb-nav-link {
  color: var(--mz-dk) !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  padding: 20px 12px !important;
  border-bottom: 3px solid transparent !important;
  transition: color .2s, border-color .2s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.bb-nav-link:hover,
.bb-nav-link.active {
  color: var(--mz-sc) !important;
  border-bottom-color: var(--mz-sc) !important;
}

/* Mega menu */
.bb-mega {
  background: #fff !important;
  border-radius: var(--mz-radius) !important;
  box-shadow: 0 12px 48px rgba(10,21,37,.14) !important;
  border: 1px solid var(--mz-border) !important;
  padding: 20px !important;
}
.bb-mega-col h6 {
  color: var(--mz-sc) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--mz-border) !important;
  padding-bottom: 6px !important;
  margin-bottom: 8px !important;
}
.bb-mega-col a {
  color: var(--mz-text) !important;
  font-size: .83rem !important;
  padding: 5px 0 !important;
  display: block !important;
  transition: color .18s, padding-left .18s !important;
}
.bb-mega-col a:hover { color: var(--mz-pr) !important; padding-left: 4px !important; }
.bb-mega-all {
  color: var(--mz-sc) !important;
  font-weight: 600 !important;
  margin-top: 6px !important;
}
.bb-mega-all:hover { color: var(--mz-pr) !important; }

/* Phone CTA in nav */
.bb-phone-cta {
  background: linear-gradient(135deg, var(--mz-pr), var(--mz-pr-dk)) !important;
  color: #fff !important;
  border-radius: var(--mz-radius-s) !important;
  padding: 7px 14px !important;
  gap: 8px !important;
  box-shadow: 0 3px 10px rgba(249,115,22,.3) !important;
  transition: transform .2s, box-shadow .2s !important;
  text-decoration: none !important;
}
.bb-phone-cta:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 16px rgba(249,115,22,.4) !important;
  color: #fff !important;
}
.bb-phone-cta small { color: rgba(255,255,255,.75) !important; }
.bb-phone-cta strong { color: #fff !important; }

/* Mobile compact phone CTA */
.bb-phone-cta--sm {
  padding: 7px 11px !important;
  gap: 6px !important;
  border-radius: var(--mz-radius-s) !important;
}
.bb-phone-cta--sm strong {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px;
}
.bb-phone-cta--sm i { font-size: 13px !important; }

/* Hamburger */
.bb-hamburger span { background: var(--mz-dk) !important; }
.bb-hamburger.is-active span { background: var(--mz-pr) !important; }

/* ── FOOTER ─────────────────────────────────────────────────── */
.bb-footer {
  background: var(--mz-dk) !important;
  color: rgba(255,255,255,.7) !important;
}
.bb-foot-top { border-bottom: 1px solid rgba(255,255,255,.08) !important; }
.bb-foot-links {
  background: #fff !important;
  border-top: none !important;
}
.bb-foot-links ul li a {
  color: #374151 !important;
  border-bottom-color: #e5e7eb !important;
}
.bb-foot-links ul li a:hover { color: var(--mz-pr) !important; }
.bb-foot-links ul li:last-child a { border-bottom: none !important; }

/* ── STATS STRIP — compact horizontal redesign ──────────────── */
.bb-foot-stats {
  padding: 0 !important;
  background: linear-gradient(120deg, #0f1c2e 0%, #0a2a2a 50%, #0f1c2e 100%) !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
.bb-foot-stats .container { padding-top: 0 !important; padding-bottom: 0 !important; }
.bb-foot-stats .row { --bs-gutter-x: 0 !important; --bs-gutter-y: 0 !important; }

/* Each stat — CSS grid: icon spans both rows, text stacks right */
.bb-foot-stat {
  display: grid !important;
  grid-template-columns: 46px 1fr !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 14px !important;
  row-gap: 2px !important;
  padding: 20px 28px !important;
  border-right: 1px solid rgba(255,255,255,.07) !important;
  transition: background .18s !important;
}
.bb-foot-stat:hover { background: rgba(255,255,255,.04) !important; }
.col-lg-3:last-child .bb-foot-stat { border-right: none !important; }

/* Icon — rounded square, teal gradient */
.bb-foot-stat-ico {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  align-self: center !important;
  background: linear-gradient(135deg, var(--mz-sc), var(--mz-sc-dk)) !important;
  color: #fff !important;
  border-radius: 12px !important;
  width: 46px !important; height: 46px !important; min-width: 46px !important;
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  font-size: 1.1rem !important;
  box-shadow: 0 4px 14px rgba(13,148,136,.35) !important;
}

/* Number */
.bb-foot-stat-num {
  grid-column: 2 !important; grid-row: 1 !important;
  color: #fff !important; font-weight: 800 !important;
  font-size: 1.25rem !important; line-height: 1.1 !important;
}

/* Description */
.bb-foot-stat p {
  grid-column: 2 !important; grid-row: 2 !important;
  font-size: .7rem !important; color: rgba(255,255,255,.5) !important;
  line-height: 1.3 !important; margin: 0 !important; opacity: 1 !important;
}
.bb-foot-stat-lbl { color: rgba(255,255,255,.5) !important; font-size: .7rem !important; }

/* sm–md: 2×2 grid — border between cols and rows */
@media (max-width: 991.98px) {
  .bb-foot-stat { padding: 16px 20px !important; border-right: 1px solid rgba(255,255,255,.07) !important; border-bottom: 1px solid rgba(255,255,255,.07) !important; }
  .bb-foot-stats .col-sm-6:nth-child(2n) .bb-foot-stat { border-right: none !important; }
  .bb-foot-stats .col-sm-6:nth-last-child(-n+2) .bb-foot-stat { border-bottom: none !important; }
}

/* xs: single column stacked */
@media (max-width: 575.98px) {
  .bb-foot-stat { padding: 14px 18px !important; border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.07) !important; }
  .bb-foot-stats .col-sm-6:last-child .bb-foot-stat { border-bottom: none !important; }
}

/* Footer columns */
.bb-foot-col-title {
  color: var(--mz-sc) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
}
.bb-foot-logo-wm { color: #fff !important; }
.bb-foot-logo-wm strong { color: var(--mz-pr) !important; }
.bb-foot-desc { color: rgba(255,255,255,.55) !important; font-size: .85rem !important; line-height: 1.65 !important; }
.bb-foot-links a {
  color: rgba(255,255,255,.6) !important;
  font-size: .85rem !important;
  text-decoration: none !important;
  display: block !important;
  padding: 3px 0 !important;
  transition: color .2s !important;
}
.bb-foot-links a:hover { color: var(--mz-pr) !important; }

/* Social */
.bb-foot-social a {
  color: rgba(255,255,255,.5) !important;
  font-size: 1rem !important;
  transition: color .2s, transform .2s !important;
}
.bb-foot-social a:hover { color: var(--mz-sc) !important; transform: translateY(-2px) !important; }

/* Footer bottom */
.bb-foot-bottom {
  background: rgba(0,0,0,.3) !important;
  border-top: 2px solid rgba(249,115,22,.2) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Trust badges strip */
.bb-foot-trust {
  display: flex !important;
  align-items: stretch !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  overflow-x: auto !important;
}
.bb-foot-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 14px 20px !important;
  flex: 1 !important;
  min-width: 140px !important;
  border-right: 1px solid rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.65) !important;
  font-size: .75rem !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}
.bb-foot-trust-item:last-child { border-right: none !important; }
.bb-foot-trust-item i {
  color: var(--mz-sc) !important;
  font-size: 1rem !important;
  flex-shrink: 0 !important;
}

/* Copyright + Social row */
.bb-foot-bottom-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 0 10px !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.bb-foot-brand-copy {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.bb-foot-mini-logo {
  color: #fff !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}
.bb-foot-mini-logo strong { color: var(--mz-pr) !important; }
.bb-foot-mini-logo sup { color: var(--mz-sc) !important; font-size: .5em !important; }
.bb-foot-mini-logo i { color: var(--mz-pr) !important; margin-right: 3px !important; }
.bb-foot-copy-text {
  color: rgba(255,255,255,.35) !important;
  font-size: .73rem !important;
}

/* Social icons — coloured circles */
.bb-foot-social { gap: 8px !important; }
.bb-foot-social a {
  width: 32px !important; height: 32px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .78rem !important;
  color: rgba(255,255,255,.6) !important;
  transition: background .2s, color .2s, transform .2s !important;
}
.bb-foot-social a:hover { transform: translateY(-2px) !important; }
.bb-social-wa:hover { background: #25d366 !important; border-color: #25d366 !important; color: #fff !important; }
.bb-social-fb:hover { background: #1877f2 !important; border-color: #1877f2 !important; color: #fff !important; }
.bb-social-tw:hover { background: #1da1f2 !important; border-color: #1da1f2 !important; color: #fff !important; }
.bb-social-yt:hover { background: #ff0000 !important; border-color: #ff0000 !important; color: #fff !important; }
.bb-social-ig:hover { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888) !important; border-color: #cc2366 !important; color: #fff !important; }

/* Quick links */
.bb-foot-quicklinks { padding: 10px 0 !important; border-bottom: 1px solid rgba(255,255,255,.06) !important; }
.bb-foot-copy { color: rgba(255,255,255,.4) !important; font-size: .78rem !important; }
.bb-foot-bottom-links a { color: rgba(255,255,255,.4) !important; font-size: .78rem !important; }
.bb-foot-bottom-links a:hover { color: var(--mz-pr) !important; }

/* Mobile: trust strip scrollable */
@media (max-width: 575px) {
  .bb-foot-trust { flex-wrap: nowrap !important; }
  .bb-foot-trust-item { min-width: 130px !important; padding: 10px 14px !important; }
  .bb-foot-bottom-row { justify-content: center !important; text-align: center !important; }
  .bb-foot-brand-copy { justify-content: center !important; }
  .bb-foot-social { justify-content: center !important; }
}

/* ── BACK TO TOP ────────────────────────────────────────────── */
.bb-totop {
  background: var(--mz-pr) !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 42px !important;
  height: 42px !important;
  box-shadow: 0 4px 14px rgba(249,115,22,.4) !important;
  transition: transform .2s, box-shadow .2s !important;
}
.bb-totop:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(249,115,22,.5) !important;
}

/* ── WHATSAPP FLOAT ─────────────────────────────────────────── */
.bb-wa-float {
  background: #25d366 !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 14px rgba(37,211,102,.4) !important;
}

/* ── MOBILE BOTTOM NAV ──────────────────────────────────────── */
.bb-mobnav {
  background: #fff !important;
  border-top: 1px solid #e5e7eb !important;
  box-shadow: 0 -2px 12px rgba(0,0,0,.08) !important;
}
.bb-mobnav-item { color: #6b7280 !important; font-size: .68rem !important; }
.bb-mobnav-item.active,
.bb-mobnav-item:hover { color: var(--mz-pr) !important; }
.bb-mobnav-circle {
  background: linear-gradient(135deg, var(--mz-pr), var(--mz-pr-dk)) !important;
  border: 4px solid #fff !important;
  box-shadow: 0 4px 16px rgba(249,115,22,.45) !important;
}

/* ── WHY-EMOJI FA icon colour ───────────────────────────────── */
.bb-why-emoji i {
  background: linear-gradient(135deg, var(--mz-pr), var(--mz-sc)) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ── DRAWER (mobile side-nav) ───────────────────────────────── */
.bb-drawer { background: #fff !important; }
.bb-drawer-header {
  background: var(--mz-dk) !important;
  color: #fff !important;
}
.bb-drawer-close { color: rgba(255,255,255,.7) !important; }
.bb-drawer-nav-link {
  color: var(--mz-dk) !important;
  font-size: .9rem !important;
  padding: 10px 20px !important;
  display: block !important;
  border-bottom: 1px solid var(--mz-border) !important;
  transition: color .18s, background .18s !important;
  text-decoration: none !important;
}
.bb-drawer-nav-link:hover { color: var(--mz-pr) !important; background: #fff8f5 !important; }
.bb-drawer-section-title {
  color: var(--mz-sc) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  padding: 12px 20px 6px !important;
}

/* ── GLOBAL BUTTONS ─────────────────────────────────────────── */
.bb-btn,
.btn-bb-primary {
  background: linear-gradient(135deg, var(--mz-pr), var(--mz-pr-dk)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--mz-radius-s) !important;
  font-weight: 600 !important;
  padding: 10px 22px !important;
  transition: transform .2s, box-shadow .2s !important;
  box-shadow: 0 3px 10px rgba(249,115,22,.3) !important;
}
.bb-btn:hover,
.btn-bb-primary:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 16px rgba(249,115,22,.4) !important;
  color: #fff !important;
}
.bb-btn-outline,
.btn-bb-outline {
  border: 2px solid var(--mz-pr) !important;
  color: var(--mz-pr) !important;
  background: transparent !important;
  border-radius: var(--mz-radius-s) !important;
  font-weight: 600 !important;
  padding: 9px 22px !important;
  transition: background .2s, color .2s !important;
}
.bb-btn-outline:hover,
.btn-bb-outline:hover { background: var(--mz-pr) !important; color: #fff !important; }

/* ── BADGES ─────────────────────────────────────────────────── */
.bb-badge-primary { background: var(--mz-pr) !important; color: #fff !important; border-radius: 4px !important; }
.bb-badge-teal    { background: var(--mz-sc) !important; color: #fff !important; border-radius: 4px !important; }
.bb-badge-dark    { background: var(--mz-dk) !important; color: #fff !important; border-radius: 4px !important; }

/* ── CARDS (global) ─────────────────────────────────────────── */
.bb-card {
  border: 1px solid var(--mz-border) !important;
  border-radius: var(--mz-radius) !important;
  box-shadow: var(--mz-shadow) !important;
  transition: box-shadow .2s, transform .2s !important;
  overflow: hidden !important;
}
.bb-card:hover {
  box-shadow: var(--mz-shadow-l) !important;
  transform: translateY(-2px) !important;
}

/* ── PACKAGE CARDS (listing pages) ─────────────────────────── */
.bb-pkg-card {
  border: 1px solid var(--mz-border) !important;
  border-radius: var(--mz-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--mz-shadow) !important;
  transition: box-shadow .25s, transform .25s !important;
}
.bb-pkg-card:hover {
  box-shadow: var(--mz-shadow-l) !important;
  transform: translateY(-3px) !important;
}
.bb-pkg-price { color: var(--mz-pr) !important; font-weight: 700 !important; }
.bb-pkg-title { color: var(--mz-dk) !important; font-weight: 600 !important; }
.bb-pkg-badge {
  background: var(--mz-pr) !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-size: .7rem !important;
}

/* ── HERO / BANNER ──────────────────────────────────────────── */
.bb-hero {
  background: linear-gradient(135deg, var(--mz-dk) 0%, var(--mz-dk3) 100%) !important;
  position: relative !important;
}
.bb-hero-title { color: #fff !important; }
.bb-hero-subtitle { color: rgba(255,255,255,.75) !important; }

/* ── SEARCH WIDGET ──────────────────────────────────────────── */
.bb-search-box {
  background: #fff !important;
  border-radius: var(--mz-radius) !important;
  box-shadow: 0 8px 40px rgba(10,21,37,.18) !important;
}
.bb-search-btn {
  background: linear-gradient(135deg, var(--mz-pr), var(--mz-pr-dk)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--mz-radius-s) !important;
  font-weight: 600 !important;
}
.bb-search-btn:hover { background: var(--mz-pr-dk) !important; color: #fff !important; }
.bb-search-swap {
  background: var(--mz-sc) !important;
  color: #fff !important;
  border-radius: 50% !important;
}

/* ── SECTION HEADINGS ───────────────────────────────────────── */
.bb-section-title { color: var(--mz-dk) !important; font-weight: 700 !important; }
.bb-section-subtitle { color: var(--mz-muted) !important; }
.bb-section-accent {
  display: inline-block !important;
  width: 40px !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--mz-pr), var(--mz-sc)) !important;
  border-radius: 2px !important;
  margin-bottom: 8px !important;
}

/* ── BREADCRUMB ─────────────────────────────────────────────── */
.bb-breadcrumb { font-size: .82rem !important; }
.bb-breadcrumb a { color: var(--mz-sc) !important; text-decoration: none !important; }
.bb-breadcrumb a:hover { color: var(--mz-pr) !important; }
.bb-breadcrumb-sep { color: var(--mz-muted) !important; }
.bb-breadcrumb-current { color: var(--mz-muted) !important; }

/* ── TABS ───────────────────────────────────────────────────── */
.bb-tabs .nav-link {
  color: var(--mz-muted) !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  font-weight: 500 !important;
  padding: 10px 16px !important;
  border-radius: 0 !important;
}
.bb-tabs .nav-link.active,
.bb-tabs .nav-link:hover {
  color: var(--mz-pr) !important;
  border-bottom-color: var(--mz-pr) !important;
  background: transparent !important;
}

/* ── ACCORDION ──────────────────────────────────────────────── */
.bb-accordion .accordion-button {
  background: var(--mz-lt) !important;
  color: var(--mz-dk) !important;
  font-weight: 600 !important;
}
.bb-accordion .accordion-button:not(.collapsed) {
  background: var(--mz-dk) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.bb-accordion .accordion-button:not(.collapsed)::after {
  filter: brightness(0) invert(1) !important;
}
.bb-accordion .accordion-body {
  border: 1px solid var(--mz-border) !important;
  border-top: none !important;
}

/* ── ALERTS / NOTICES ───────────────────────────────────────── */
.bb-alert-warn {
  background: #fff7ed !important;
  border-left: 4px solid var(--mz-pr) !important;
  border-radius: var(--mz-radius-s) !important;
  color: #9a3412 !important;
}
.bb-alert-success {
  background: #f0fdfa !important;
  border-left: 4px solid var(--mz-sc) !important;
  border-radius: var(--mz-radius-s) !important;
  color: #134e4a !important;
}
.bb-alert-info {
  background: #eff6ff !important;
  border-left: 4px solid #3b82f6 !important;
  border-radius: var(--mz-radius-s) !important;
  color: #1e3a8a !important;
}

/* ── RATING STARS ───────────────────────────────────────────── */
.bb-stars { color: #f59e0b !important; }
.bb-rating-bar-fill { background: linear-gradient(90deg, var(--mz-sc), var(--mz-pr)) !important; }

/* ── TABLE ──────────────────────────────────────────────────── */
.bb-table th {
  background: var(--mz-dk) !important;
  color: #fff !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}
.bb-table tr:hover td { background: #fff8f5 !important; }
.bb-table .highlight { color: var(--mz-pr) !important; font-weight: 600 !important; }

/* ── TOUR PACKAGE DETAILS PAGE ──────────────────────────────── */

/* Banner hero */
.bb-tpd-banner-hero {
  min-height: 360px !important;
  border-radius: var(--mz-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--mz-shadow-l) !important;
}
.bb-tpd-banner-overlay {
  background: linear-gradient(to bottom, rgba(10,21,37,.2) 0%, rgba(10,21,37,.75) 100%) !important;
}
.bb-tpd-banner-title { color: #fff !important; font-weight: 700 !important; }
.bb-tpd-banner-price { color: var(--mz-pr) !important; font-weight: 700 !important; }

/* TPD Tab strip */
.bb-tpd-tabs {
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(10,21,37,.08) !important;
  border-bottom: 1px solid var(--mz-border) !important;
}
.bb-tpd-tab-link {
  color: var(--mz-muted) !important;
  font-size: .82rem !important;
  font-weight: 500 !important;
  border-bottom: 3px solid transparent !important;
  transition: color .2s, border-color .2s !important;
  white-space: nowrap !important;
}
.bb-tpd-tab-link.active,
.bb-tpd-tab-link:hover {
  color: var(--mz-pr) !important;
  border-bottom-color: var(--mz-pr) !important;
}

/* Operator cards (opcard3) */
.bb-tpd-opcard3 {
  border: 1px solid var(--mz-border) !important;
  border-radius: var(--mz-radius) !important;
  box-shadow: var(--mz-shadow) !important;
  transition: box-shadow .2s, transform .2s !important;
  overflow: hidden !important;
}
.bb-tpd-opcard3:hover {
  box-shadow: var(--mz-shadow-l) !important;
  transform: translateY(-2px) !important;
}
.bb-tpd-opcard3-header {
  background: var(--mz-dk) !important;
  color: #fff !important;
  padding: 12px 16px !important;
}
.bb-tpd-opcard3--bus .bb-tpd-opcard3-header { border-top: 3px solid var(--mz-pr) !important; }
.bb-tpd-opcard3--car .bb-tpd-opcard3-header { border-top: 3px solid var(--mz-sc) !important; }
.bb-tpd-opcard3-price { color: var(--mz-pr) !important; font-size: 1.3rem !important; font-weight: 700 !important; }
.bb-tpd-opcard3-btn {
  background: linear-gradient(135deg, var(--mz-pr), var(--mz-pr-dk)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--mz-radius-s) !important;
  font-weight: 600 !important;
  width: 100% !important;
  padding: 10px !important;
  transition: transform .2s !important;
}
.bb-tpd-opcard3-btn:hover { transform: translateY(-1px) !important; color: #fff !important; }

/* Fare sidebar */
.bb-tpd-fare-box {
  border: 1px solid var(--mz-border) !important;
  border-radius: var(--mz-radius) !important;
  box-shadow: var(--mz-shadow) !important;
  overflow: hidden !important;
}
.bb-tpd-fare-head {
  background: linear-gradient(135deg, var(--mz-dk), var(--mz-dk2)) !important;
  color: #fff !important;
  padding: 14px 18px !important;
}
.bb-tpd-fare-price { color: var(--mz-pr) !important; font-size: 1.5rem !important; font-weight: 700 !important; }
.bb-tpd-book-btn {
  background: linear-gradient(135deg, var(--mz-pr), var(--mz-pr-dk)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--mz-radius-s) !important;
  font-weight: 700 !important;
  padding: 12px !important;
  width: 100% !important;
  font-size: 1rem !important;
  box-shadow: 0 4px 14px rgba(249,115,22,.35) !important;
  transition: transform .2s !important;
}
.bb-tpd-book-btn:hover { transform: translateY(-1px) !important; color: #fff !important; }

/* Trust badges (TPD sidebar) */
.bb-tpd-trust-ico { color: var(--mz-sc) !important; }

/* TPD enquiry/WhatsApp card */
.bb-tpd-enquiry-card {
  border: 1px solid var(--mz-border) !important;
  border-radius: var(--mz-radius) !important;
  box-shadow: var(--mz-shadow) !important;
}
.bb-tpd-wa-btn {
  background: #25d366 !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--mz-radius-s) !important;
  font-weight: 600 !important;
  width: 100% !important;
  padding: 10px !important;
}

/* TPD Cancellation / Important Info */
.bb-tpd-cancel-head { background: var(--mz-dk) !important; color: #fff !important; }
.bb-tpd-impinfo-item i { color: var(--mz-sc) !important; }

/* Day availability grid */
.bb-tpd-dayavail-head {
  background: var(--mz-dk) !important;
  color: #fff !important;
}
.bb-tpd-dayavail-cell--yes {
  background: #f0fdfa !important;
  color: var(--mz-sc) !important;
  border-color: var(--mz-sc) !important;
  font-weight: 600 !important;
}
.bb-tpd-dayavail-cell--no {
  background: #fef2f2 !important;
  color: #b91c1c !important;
  border-color: #fca5a5 !important;
}

/* Amenity chips */
.bb-amenity-chip {
  background: var(--mz-lt) !important;
  border: 1px solid var(--mz-border) !important;
  border-radius: var(--mz-radius-s) !important;
  color: var(--mz-text) !important;
  font-size: .82rem !important;
  padding: 5px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.bb-amenity-chip i { color: var(--mz-sc) !important; }

/* Places grid */
.bb-tpd-place-card {
  border-radius: var(--mz-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--mz-shadow) !important;
}
.bb-tpd-place-overlay {
  background: linear-gradient(to top, rgba(10,21,37,.75) 0%, transparent 60%) !important;
}
.bb-tpd-place-name { color: #fff !important; font-weight: 600 !important; }

/* Coupon cards */
.bb-coupon-card {
  border: 2px dashed var(--mz-sc) !important;
  border-radius: var(--mz-radius) !important;
  background: #f0fdfa !important;
}
.bb-coupon-code {
  background: var(--mz-sc) !important;
  color: #fff !important;
  font-weight: 700 !important;
  border-radius: var(--mz-radius-s) !important;
  letter-spacing: .08em !important;
}

/* Sticky mobile CTA */
.bb-mob-sticky-cta {
  background: #fff !important;
  box-shadow: 0 -4px 16px rgba(10,21,37,.1) !important;
  border-top: 1px solid var(--mz-border) !important;
}
.bb-mob-book-btn {
  background: linear-gradient(135deg, var(--mz-pr), var(--mz-pr-dk)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--mz-radius-s) !important;
  font-weight: 700 !important;
}
.bb-mob-enquiry-btn {
  background: var(--mz-dk) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--mz-radius-s) !important;
  font-weight: 600 !important;
}

/* Video cards */
.bb-video-card { border-radius: var(--mz-radius) !important; overflow: hidden !important; box-shadow: var(--mz-shadow) !important; }
.bb-video-play {
  background: rgba(249,115,22,.9) !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 52px !important;
  height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.2rem !important;
}

/* Similar package cards */
.bb-sim-pkg-card {
  border: 1px solid var(--mz-border) !important;
  border-radius: var(--mz-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--mz-shadow) !important;
  transition: box-shadow .25s, transform .25s !important;
}
.bb-sim-pkg-card:hover {
  box-shadow: var(--mz-shadow-l) !important;
  transform: translateY(-3px) !important;
}
.bb-sim-pkg-price { color: var(--mz-pr) !important; font-weight: 700 !important; }

/* ── LISTING PAGES ───────────────────────────────────────────── */
.bb-filter-sidebar {
  background: #fff !important;
  border: 1px solid var(--mz-border) !important;
  border-radius: var(--mz-radius) !important;
  box-shadow: var(--mz-shadow) !important;
}
.bb-filter-title {
  color: var(--mz-dk) !important;
  font-weight: 700 !important;
  font-size: .85rem !important;
  border-bottom: 1px solid var(--mz-border) !important;
  padding-bottom: 8px !important;
  margin-bottom: 10px !important;
}
.bb-sort-bar {
  background: var(--mz-lt) !important;
  border-radius: var(--mz-radius-s) !important;
  border: 1px solid var(--mz-border) !important;
}
.bb-sort-active { color: var(--mz-pr) !important; font-weight: 600 !important; }

/* ── BOOKING / CHECKOUT ─────────────────────────────────────── */
.bb-step-circle {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: var(--mz-border) !important;
  color: var(--mz-muted) !important;
  font-weight: 700 !important;
  font-size: .8rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.bb-step-circle.active { background: var(--mz-pr) !important; color: #fff !important; }
.bb-step-circle.done  { background: var(--mz-sc) !important; color: #fff !important; }
.bb-booking-summary {
  background: var(--mz-dk) !important;
  color: #fff !important;
  border-radius: var(--mz-radius) !important;
}
.bb-booking-summary-price { color: var(--mz-pr) !important; font-weight: 700 !important; }

/* ── HOME PAGE SPECIFICS ────────────────────────────────────── */
.bb-home-ticker {
  background: var(--mz-dk2) !important;
  color: rgba(255,255,255,.85) !important;
}
.bb-home-ticker-label {
  background: var(--mz-pr) !important;
  color: #fff !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  padding: 2px 8px !important;
  border-radius: 3px !important;
}
.bb-popular-route {
  border: 1px solid var(--mz-border) !important;
  border-radius: var(--mz-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--mz-shadow) !important;
  transition: box-shadow .2s, transform .2s !important;
}
.bb-popular-route:hover {
  box-shadow: var(--mz-shadow-l) !important;
  transform: translateY(-3px) !important;
}
.bb-route-price { color: var(--mz-pr) !important; font-weight: 700 !important; }

/* ── TESTIMONIALS ───────────────────────────────────────────── */
.bb-testimonial-card {
  background: #fff !important;
  border: 1px solid var(--mz-border) !important;
  border-radius: var(--mz-radius) !important;
  box-shadow: var(--mz-shadow) !important;
  border-top: 3px solid var(--mz-pr) !important;
}
.bb-testimonial-name { color: var(--mz-dk) !important; font-weight: 600 !important; }

/* ── LOGIN / AUTH PAGES ─────────────────────────────────────── */
.bb-auth-card {
  border: 1px solid var(--mz-border) !important;
  border-radius: var(--mz-radius) !important;
  box-shadow: var(--mz-shadow-l) !important;
}
.bb-auth-header {
  background: linear-gradient(135deg, var(--mz-dk), var(--mz-dk3)) !important;
  border-radius: var(--mz-radius) var(--mz-radius) 0 0 !important;
}
.bb-otp-input {
  border: 2px solid var(--mz-border) !important;
  border-radius: var(--mz-radius-s) !important;
  text-align: center !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--mz-dk) !important;
}
.bb-otp-input:focus {
  border-color: var(--mz-pr) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(249,115,22,.15) !important;
}

/* ── FORM INPUTS ────────────────────────────────────────────── */
.form-control:focus,
.form-select:focus {
  border-color: var(--mz-pr) !important;
  box-shadow: 0 0 0 3px rgba(249,115,22,.12) !important;
}
.bb-form-label { color: var(--mz-dk) !important; font-weight: 500 !important; font-size: .85rem !important; }

/* ── PAGINATION ─────────────────────────────────────────────── */
.bb-pagination .page-link {
  color: var(--mz-dk) !important;
  border-color: var(--mz-border) !important;
  border-radius: var(--mz-radius-s) !important;
  margin: 0 2px !important;
}
.bb-pagination .page-item.active .page-link {
  background: var(--mz-pr) !important;
  border-color: var(--mz-pr) !important;
  color: #fff !important;
}
.bb-pagination .page-link:hover { background: #fff8f5 !important; color: var(--mz-pr) !important; }

/* ── SCROLL PROGRESS ────────────────────────────────────────── */
.bb-scroll-progress { background: linear-gradient(90deg, var(--mz-pr), var(--mz-sc)) !important; height: 3px !important; }

/* ── PARTNER PAGE ───────────────────────────────────────────── */
.bb-partner-hero {
  background: linear-gradient(135deg, var(--mz-dk), var(--mz-dk3)) !important;
}
.bb-contact-info-ico {
  background: linear-gradient(135deg, var(--mz-sc), var(--mz-sc-dk)) !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ── MODALS ─────────────────────────────────────────────────── */
.modal-header {
  background: linear-gradient(135deg, var(--mz-dk), var(--mz-dk3)) !important;
  color: #fff !important;
}
.modal-title { color: #fff !important; }
.modal-footer .btn-primary {
  background: linear-gradient(135deg, var(--mz-pr), var(--mz-pr-dk)) !important;
  border-color: var(--mz-pr) !important;
}

/* ── TOASTS ─────────────────────────────────────────────────── */
.bb-toast-success { background: var(--mz-sc) !important; color: #fff !important; }
.bb-toast-error   { background: #ef4444 !important; color: #fff !important; }
.bb-toast-info    { background: var(--mz-pr) !important; color: #fff !important; }

/* ── SKELETON LOADERS ───────────────────────────────────────── */
.bb-skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 50%, #f0f0f0 75%) !important;
  background-size: 200% 100% !important;
  animation: bb-shimmer 1.5s infinite !important;
  border-radius: var(--mz-radius-s) !important;
}
@keyframes bb-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ── RESPONSIVE FIXES ───────────────────────────────────────── */
@media (max-width: 991.98px) {
  .bb-header { border-bottom-width: 2px !important; }
  body { padding-bottom: 64px !important; }
}
@media (max-width: 575.98px) {
  .bb-tpd-banner-hero { min-height: 260px !important; }
  .bb-pkg-card:hover,
  .bb-popular-route:hover,
  .bb-sim-pkg-card:hover { transform: none !important; }
}

/* ── UTILITY CLASSES ────────────────────────────────────────── */
.text-mz-pr  { color: var(--mz-pr) !important; }
.text-mz-sc  { color: var(--mz-sc) !important; }
.text-mz-dk  { color: var(--mz-dk) !important; }
.bg-mz-pr    { background: var(--mz-pr) !important; }
.bg-mz-sc    { background: var(--mz-sc) !important; }
.bg-mz-dk    { background: var(--mz-dk) !important; }
.bg-mz-lt    { background: var(--mz-lt) !important; }
.border-mz-pr { border-color: var(--mz-pr) !important; }
.border-mz-sc { border-color: var(--mz-sc) !important; }

/* === END MHZ NEW THEME v3.0 === */

/* ── POPULAR BUS ROUTES (index page) ───────────────────────── */
.bb-routes-acc { border: 1px solid var(--mz-border); border-radius: var(--mz-radius); overflow: hidden; }
.bb-routes-city { border-bottom: 1px solid var(--mz-border); }
.bb-routes-city:last-child { border-bottom: none; }
.bb-routes-city-btn {
  width: 100%; display: flex; align-items: center; gap: 12px;
  padding: 14px 20px; background: #fff; border: none; cursor: pointer;
  font-size: .9rem; font-weight: 600; color: var(--mz-dk);
  transition: background .18s;
}
.bb-routes-city-btn:hover { background: var(--mz-lt); }
.bb-routes-city-btn:not(.collapsed) { background: var(--mz-dk); color: #fff; }
.bb-routes-city-btn:not(.collapsed) .bb-routes-icon { transform: rotate(180deg); color: var(--mz-pr); }
.bb-routes-count { margin-left: auto; font-size: .75rem; font-weight: 400; color: var(--mz-sc); background: #f0fdfa; padding: 2px 8px; border-radius: 20px; }
.bb-routes-city-btn:not(.collapsed) .bb-routes-count { color: rgba(255,255,255,.75); background: rgba(255,255,255,.1); }
.bb-routes-icon { margin-left: 8px; transition: transform .25s; font-size: .75rem; color: var(--mz-muted); }
.bb-routes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 16px 20px 20px; }
.bb-routes-grid > div { padding: 0 12px; }
.bb-routes-grid > div:first-child { border-right: 1px solid var(--mz-border); }
.bb-routes-sub { font-size: .72rem; font-weight: 700; color: var(--mz-sc); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; padding-bottom: 4px; border-bottom: 1px solid var(--mz-border); }
.bb-routes-grid a { display: block; font-size: .83rem; color: var(--mz-text); text-decoration: none; padding: 4px 0; transition: color .18s; }
.bb-routes-grid a:hover { color: var(--mz-pr); padding-left: 4px; }

@media (max-width: 575.98px) {
  .bb-routes-grid { grid-template-columns: 1fr; }
  .bb-routes-grid > div:first-child { border-right: none; border-bottom: 1px solid var(--mz-border); padding-bottom: 12px; }
}

/* ── POPULAR BUS OPERATORS (index page) ────────────────────── */
.bb-ops-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
}
.bb-op-card {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; padding: 16px 10px;
  background: #fff; border: 1px solid var(--mz-border); border-radius: var(--mz-radius-s);
  box-shadow: var(--mz-shadow); text-decoration: none;
  transition: box-shadow .2s, transform .2s, border-color .2s;
  text-align: center; cursor: pointer;
}
.bb-op-card:hover { box-shadow: var(--mz-shadow-l); transform: translateY(-2px); border-color: var(--mz-pr); }
.bb-op-name { font-size: .85rem; font-weight: 700; color: var(--mz-dk); }
.bb-op-type { font-size: .72rem; color: var(--mz-muted); background: var(--mz-lt); padding: 2px 6px; border-radius: 3px; }

/* === END BUS ROUTES + OPERATORS === */

/* ===================================================================
   COMPACT CATEGORY TILE GRID (tour-packages.html — all categories)
=================================================================== */
.bb-cat-tile {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px;
  background: #fff;
  border: 1.5px solid #e9ecef;
  border-radius: 10px;
  color: var(--bb-dark);
  font-size: .85rem; font-weight: 600;
  text-decoration: none;
  transition: all .18s ease;
}
.bb-cat-tile:hover {
  border-color: var(--bb-primary);
  color: var(--bb-primary);
  background: #fff8f0;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(249,115,22,.12);
}
.bb-cat-tile i { font-size: .9rem; color: var(--bb-primary); width: 18px; flex-shrink: 0; }
.bb-att-ticket-gst { font-size:.72rem; color:#6b7280; text-align:right; margin-top:-6px; margin-bottom:6px; }

/* ============================================================
   BUS SEAT LAYOUT — matches live site screenshots
   Used in: tour-booking-seat-layout.html (modal popup)
============================================================ */

/* Modal wrapper */
.bb-seat-modal-content { border-radius:16px; overflow:hidden; }
.bb-seat-modal-hdr {
  background:linear-gradient(135deg,#1e3a5f,#0f2240);
  color:#fff; border:none; padding:.9rem 1.25rem;
}
.bb-seat-modal-hdr small { color:rgba(255,255,255,.72); font-size:.78rem; display:block; margin-top:.1rem; }
.bb-seat-modal-hdr .btn-close { filter:brightness(0) invert(1); align-self:flex-start; }

/* Step indicator */
.bb-seat-steps { display:flex; align-items:center; margin-top:.7rem; }
.bb-seat-step {
  display:flex; align-items:center; gap:.35rem;
  color:rgba(255,255,255,.4); font-size:.72rem; font-weight:600; transition:color .2s;
}
.bb-seat-step.active { color:#fff; }
.bb-seat-step.done   { color:rgba(255,255,255,.75); }
.bb-seat-step-num {
  width:22px; height:22px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,.3);
  display:flex; align-items:center; justify-content:center;
  font-size:.7rem; font-weight:700; flex-shrink:0; transition:all .2s;
}
.bb-seat-step.active .bb-seat-step-num { background:#f97316; border-color:#f97316; }
.bb-seat-step.done   .bb-seat-step-num { background:rgba(255,255,255,.25); border-color:rgba(255,255,255,.4); }
.bb-seat-step-label { white-space:nowrap; }
.bb-seat-step-line { flex:1; height:1.5px; background:rgba(255,255,255,.18); margin:0 .5rem; }

/* Panel 1: seat grid + summary (flex row) — display toggled via JS style.display */
.bb-seat-modal-body,
#bbSeatPanel1 {
  display:flex; flex-direction:row; flex-wrap:wrap; gap:1.25rem; padding:1.25rem;
  background:#f5f7fa; align-items:flex-start;
}

/* Deck tabs — pill style */
.bb-seat-deck-tabs {
  display:flex; background:#e9edf2; border-radius:30px;
  padding:3px; gap:0; margin-bottom:1rem; width:fit-content;
}
.bb-seat-deck-tab {
  padding:.35rem 1.1rem; border:none; background:transparent;
  border-radius:28px; font-size:.8rem; font-weight:600;
  color:#6b7280; cursor:pointer; transition:all .18s; white-space:nowrap;
}
.bb-seat-deck-tab.active {
  background:#1e3a5f; color:#fff;
  box-shadow:0 2px 8px rgba(30,58,95,.25);
}

/* Layout wrap */
.bb-seat-layout-wrap { flex:1; min-width:0; }

/* Bus frame */
.bb-seat-bus {
  background:#fff; border:1.5px solid #d1d5db;
  border-radius:20px 20px 14px 14px;
  padding:.85rem 1.25rem 1rem; display:inline-block;
  min-width:220px;
}

/* FRONT bar */
.bb-seat-front-bar {
  display:flex; align-items:center; justify-content:center;
  gap:.5rem; margin-bottom:.85rem; position:relative;
}
.bb-seat-front-label {
  font-size:.68rem; font-weight:700; color:#9ca3af;
  letter-spacing:2px; text-transform:uppercase;
}
.bb-seat-front-wheel {
  position:absolute; right:0; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border:2.5px solid #374151;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.bb-seat-front-wheel::after {
  content:''; width:6px; height:6px; background:#374151; border-radius:50%;
}

/* Seat grid */
.bb-seat-grid { display:flex; flex-direction:column; gap:8px; }
.bb-seat-row { display:flex; align-items:center; gap:0; }
.bb-seat-row--mixed { align-items:stretch; gap:0; } /* stretch so berth fills full height */
.bb-seat-col { display:flex; gap:6px; }
.bb-seat-col--berth { align-items:stretch; }          /* berth column stretches */
.bb-seat-col--stacked { flex-direction:column; gap:8px; } /* 2 seater rows stacked */
.bb-seat-subrow { display:flex; gap:6px; }
/* Mixed-layout berth — stretches to fill 2 seater rows height */
.bb-seat--mixed-berth { width:42px; height:auto !important; align-self:stretch; }
.bb-seat-aisle { width:30px; flex-shrink:0; }

/* Individual seat / berth — plain rounded square, NO headrest */
.bb-seat {
  width:44px; height:44px; border-radius:8px;
  border:1.5px solid #d1d5db; background:#fff;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:.7rem; font-weight:700; color:#374151;
  transition:all .15s; flex-shrink:0; user-select:none;
}
.bb-seat:hover:not(.bb-seat--booked):not(.bb-seat--ladies-booked) {
  border-color:#f97316; background:#fff7ed; transform:scale(1.06);
}
.bb-seat--selected {
  background:#f97316 !important; border-color:#ea580c !important; color:#fff !important;
}
.bb-seat--booked {
  background:#9ca3af; border-color:#9ca3af; color:#fff; cursor:not-allowed;
}
.bb-seat--ladies {
  background:#fff; border-color:#ec4899; color:#ec4899;
}
.bb-seat--ladies-booked {
  background:#fbcfe8; border-color:#db2777; color:#be185d; cursor:not-allowed;
}

/* Seat types — seater (square) vs sleeper (portrait tall) */
.bb-seat--seater  { width:44px; height:44px; }
.bb-seat--sleeper { width:42px; height:66px; font-size:.68rem; }

/* Section divider for mixed bus (marks Seater → Sleeper transition) */
.bb-seat-section-divider {
  display:flex; align-items:center; gap:.4rem;
  font-size:.64rem; font-weight:700; color:#9ca3af;
  text-transform:uppercase; letter-spacing:1px; margin:.5rem 0;
}
.bb-seat-section-divider::before,
.bb-seat-section-divider::after { content:''; flex:1; height:1px; background:#e5e7eb; }

/* Legend — full-width row below bus + summary in all 3 layouts */
.bb-seat-legend {
  display:flex; flex-wrap:wrap; gap:.4rem .85rem;
  flex-basis:100%; width:100%;
  padding-top:.75rem; border-top:1px solid #e5e7eb;
  margin-top:0;
}
.bb-seat-legend-item { display:flex; align-items:center; gap:5px; font-size:.73rem; color:#4b5563; }
.bb-sl-dot {
  display:inline-block; width:14px; height:14px;
  border-radius:50%; border:1.5px solid; flex-shrink:0;
}
.bb-sl-avail        { background:#fff;     border-color:#d1d5db; }
.bb-sl-booked-gents { background:#9ca3af;  border-color:#9ca3af; }
.bb-sl-ladies-res   { background:#fff;     border-color:#ec4899; }
.bb-sl-selected     { background:#f97316;  border-color:#ea580c; }
.bb-sl-ladies-bkd   { background:#fbcfe8;  border-color:#db2777; }

/* Summary panel */
.bb-seat-summary {
  width:250px; flex-shrink:0; background:#fff; border-radius:14px;
  padding:1rem; border:1px solid #e5e7eb; display:flex; flex-direction:column;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.bb-seat-summary-title {
  font-weight:700; font-size:.88rem; color:#111827;
  margin-bottom:.65rem; padding-bottom:.5rem; border-bottom:2px solid #f3f4f6;
}
.bb-seat-selected-list { flex:1; min-height:90px; }
.bb-seat-none-msg { font-size:.77rem; color:#9ca3af; text-align:center; padding-top:1rem; }
.bb-seat-chip {
  display:inline-flex; align-items:center; gap:4px;
  background:#fff7ed; border:1px solid #fed7aa; color:#f97316;
  border-radius:20px; padding:3px 10px 3px 8px;
  font-size:.75rem; font-weight:600; margin:2px;
}
.bb-seat-chip-del {
  background:none; border:none; padding:0; cursor:pointer;
  color:#f97316; font-size:.8rem; line-height:1; margin-left:3px;
}
.bb-seat-chip-del:hover { color:#ea580c; }
.bb-seat-summary-fare {
  margin-top:.85rem; padding-top:.75rem; border-top:2px solid #f3f4f6;
}
.bb-seat-fare-row {
  display:flex; justify-content:space-between;
  font-size:.83rem; color:#6b7280; margin-bottom:.2rem;
}
.bb-seat-fare-total {
  font-size:.92rem; color:#111827; margin-top:.25rem;
  padding-top:.25rem; border-top:1px dashed #e5e7eb;
}
.bb-seat-max-note { font-size:.71rem; color:#9ca3af; margin-top:.4rem; }

/* Panels 2 & 3: Boarding / Dropping point selection */
#bbSeatPanel2, #bbSeatPanel3 { min-height:460px; background:#fff; }
.bb-seat-pts-wrap { display:flex; flex-direction:column; height:100%; }
.bb-seat-pts-hd {
  display:flex; align-items:flex-start; gap:.75rem;
  padding:1.25rem 1.5rem 1rem; border-bottom:1px solid #f0f2f5; background:#fafbfc;
}
.bb-seat-pts-hd i { margin-top:.1rem; font-size:1.2rem; }
.bb-seat-pts-hd h6 { font-size:.95rem; color:#1e3a5f; margin-bottom:.12rem; font-weight:700; }
.bb-seat-pts-hd small { font-size:.78rem; color:#9ca3af; }
.bb-seat-pts-list {
  flex:1; overflow-y:auto; padding:.75rem 1.5rem;
  display:flex; flex-direction:column; gap:.4rem; max-height:340px;
}
.bb-seat-point {
  display:flex; align-items:center; gap:.75rem;
  padding:.65rem 1rem; border:1.5px solid #e5e7eb;
  border-radius:10px; cursor:pointer; background:#fff; transition:all .15s;
}
.bb-seat-point:hover    { border-color:#f97316; background:#fff9f5; }
.bb-seat-point.selected { border-color:#f97316; background:#fff4ee; }
.bb-seat-pt-time {
  font-size:.76rem; font-weight:700; color:#f97316;
  min-width:68px; background:#fff4ee; border-radius:6px;
  padding:.22rem .45rem; text-align:center; flex-shrink:0;
}
.bb-seat-point.selected .bb-seat-pt-time { background:#f97316; color:#fff; }
.bb-seat-pt-name { flex:1; }
.bb-seat-pt-name strong { display:block; font-size:.86rem; color:#1e3a5f; font-weight:700; }
.bb-seat-pt-name span   { font-size:.75rem; color:#9ca3af; }
.bb-seat-pt-radio {
  width:18px; height:18px; border-radius:50%; border:2px solid #d1d5db;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all .15s;
}
.bb-seat-point.selected .bb-seat-pt-radio { border-color:#f97316; background:#f97316; }
.bb-seat-point.selected .bb-seat-pt-radio::after { content:''; width:7px; height:7px; border-radius:50%; background:#fff; }
.bb-seat-pts-foot {
  display:flex; align-items:center; gap:.75rem;
  padding:1rem 1.5rem; border-top:1px solid #f0f2f5; background:#fafbfc; flex-shrink:0;
}
.bb-seat-back-btn {
  border:1.5px solid #d1d5db; background:#fff; color:#6b7280;
  padding:.5rem 1rem; border-radius:8px; font-size:.84rem; font-weight:600;
  cursor:pointer; transition:all .15s; white-space:nowrap;
}
.bb-seat-back-btn:hover { border-color:#f97316; color:#f97316; }
.bb-seat-pts-foot .bb-tpd-book-btn { flex:1; font-size:.84rem; padding:.55rem 1rem; }
.bb-seat-pts-foot .bb-tpd-book-btn:disabled { opacity:.5; cursor:not-allowed; pointer-events:none; }

@media (max-width:767px) {
  .bb-seat-modal-body, #bbSeatPanel1 { flex-direction:column; }
  .bb-seat-summary { width:100%; }
  .bb-seat--sleeper { width:38px; height:58px; font-size:.62rem; }
  .bb-seat--seater  { width:38px; height:38px; font-size:.63rem; }
  .bb-seat-pts-list { max-height:240px; }
}

/* ================================================================
   TOUR PACKAGE DETAILS — PACKAGE STICKY BAR
   Page body gets .bb-page-tpd
   Header becomes static (scrolls away); pkgbar is the sticky anchor
================================================================ */

/* 1. Make header non-sticky on this page */
.bb-page-tpd .bb-header {
  position: static !important;
}

/* 2. Package sticky bar — dark gradient */
.bb-tpd-pkgbar {
  position: sticky;
  top: 0;
  z-index: 100;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 60%, #0f3460 100%);
  border-bottom: none;
  box-shadow: 0 4px 20px rgba(10,15,40,.35);
}
.bb-tpd-pkgbar .container { padding-top: 0; padding-bottom: 0; }
.bb-tpd-pkgbar-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 58px;
}
.bb-tpd-pkgbar-name {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.bb-tpd-pkgbar-icon {
  flex-shrink: 0;
  width: 34px; height: 34px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  color: #fbbf24;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
  backdrop-filter: blur(4px);
}
.bb-tpd-pkgbar-title {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: .01em;
  text-shadow: 0 1px 3px rgba(0,0,0,.3);
}
.bb-tpd-pkgbar-cta {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}
.bb-tpd-pkgbar-price {
  font-size: 12px;
  color: rgba(255,255,255,.7);
  white-space: nowrap;
}
.bb-tpd-pkgbar-price strong {
  font-size: 17px;
  font-weight: 800;
  color: #fbbf24;
}
.bb-tpd-pkgbar-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 22px;
  background: linear-gradient(135deg, #f97316, #ea580c);
  color: #fff;
  font-size: 13.5px;
  font-weight: 800;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 0 0 0 rgba(249,115,22,.5);
  animation: bb-btn-pulse 2.2s infinite;
  transition: transform .15s, box-shadow .15s;
}
.bb-tpd-pkgbar-btn:hover { transform: translateY(-1px) scale(1.03); color: #fff; box-shadow: 0 6px 20px rgba(249,115,22,.55); }
@keyframes bb-btn-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(249,115,22,.45); }
  50%      { box-shadow: 0 0 0 8px rgba(249,115,22,.0); }
}

/* 3. Tabs bar sits below pkgbar (58px) instead of below main header */
.bb-page-tpd .bb-tpd-tabs-bar {
  top: 58px;
  background: #fffbf5;
  border-bottom: 2px solid #fed7aa;
}
.bb-page-tpd .bb-tpd-tab { color: #92400e; }
.bb-page-tpd .bb-tpd-tab:hover { color: var(--bb-primary); }
.bb-page-tpd .bb-tpd-tab.is-active {
  color: var(--bb-primary);
  border-bottom-color: var(--bb-primary);
  background: linear-gradient(180deg, transparent, #fff7ed);
}

/* 4. Hide mobile bottom nav on tpd + all booking flow pages */
.bb-page-tpd .bb-mobnav,
.bb-page-booking .bb-mobnav {
  display: none !important;
}

/* 5. Mobile bottom CTA — move flush to bottom since mobnav is hidden */
.bb-page-tpd .bb-tpd-mobcta,
.bb-page-booking .bb-tpd-mobcta {
  bottom: 0;
  padding-bottom: max(10px, env(safe-area-inset-bottom));
}

/* Mobile tweaks */
@media (max-width: 767px) {
  .bb-tpd-pkgbar-inner { height: 52px; gap: 8px; }
  .bb-tpd-pkgbar-icon  { display: none; }
  .bb-tpd-pkgbar-price { display: none; }
  .bb-tpd-pkgbar-title { font-size: 13px; }
  .bb-tpd-pkgbar-btn   { padding: 8px 14px; font-size: 12.5px; }
  .bb-page-tpd .bb-tpd-tabs-bar { top: 52px; }
}

/* ── SECTION HEADINGS — all center aligned ──────────────────── */
.bb-section-head {
  text-align: center !important;
}
.bb-section-divider {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── TREND CARD + ROUTE CARD — fixed height + internal scroll ── */
.bb-trend-body,
.bb-route-body {
  max-height: 460px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
/* Thin branded scrollbar */
.bb-trend-body::-webkit-scrollbar,
.bb-route-body::-webkit-scrollbar { width: 4px; }
.bb-trend-body::-webkit-scrollbar-track,
.bb-route-body::-webkit-scrollbar-track { background: #f8fafc; border-radius: 4px; }
.bb-trend-body::-webkit-scrollbar-thumb,
.bb-route-body::-webkit-scrollbar-thumb { background: var(--mz-pr); border-radius: 4px; }
.bb-trend-body::-webkit-scrollbar-thumb:hover,
.bb-route-body::-webkit-scrollbar-thumb:hover { background: var(--mz-pr-dk); }

/* ── MEGA MENU — prevent right-side overflow ────────────────── */
/* Make .bb-nav the positioning context so 4-col menus
   always stay centered within the viewport */
.bb-nav {
  position: relative !important;
}
.bb-has-mega {
  position: static !important;
}
/* 4-col menus: centered within the full nav width */
.bb-mega--4col {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) translateY(8px) !important;
}
.bb-has-mega:hover .bb-mega--4col,
.bb-has-mega:focus-within .bb-mega--4col {
  transform: translateX(-50%) translateY(0) !important;
}
/* Simple dropdown: right-anchored to stay within viewport */
.bb-mega--simple {
  left: auto !important;
  right: 0 !important;
  transform: translateY(8px) !important;
}
.bb-has-mega:hover .bb-mega--simple,
.bb-has-mega:focus-within .bb-mega--simple {
  transform: translateY(0) !important;
}

/* ── LIVE STRIP — center on desktop ────────────────────────── */
@media (min-width: 992px) {
  .bb-live-strip {
    margin-inline: auto !important;
    max-width: 560px !important;
    justify-content: center !important;
  }
}

/* ── OPERATORS V2 — leaderboard cards ──────────────────────── */
.bb-operators-v2 {
  background: linear-gradient(180deg, #f0f4ff 0%, #f8fafc 100%) !important;
  position: relative !important;
}
.bb-operators-v2::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23f97316' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
  pointer-events: none !important;
}

/* Card base */
.bb-op-card {
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.07) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  transition: transform .25s, box-shadow .25s !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.bb-op-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.13) !important;
}

/* Card accent borders */
.bb-op-card--gold { border-top: 4px solid #f59e0b !important; }
.bb-op-card--teal { border-top: 4px solid #0d9488 !important; }
.bb-op-card--purple { border-top: 4px solid #8b5cf6 !important; }

/* Card header */
.bb-op-head2 {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 18px 20px 16px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  position: relative !important;
}
.bb-op-head2-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
  flex-shrink: 0 !important;
}
.bb-op-card--gold .bb-op-head2-icon { background: #fef3c7 !important; color: #d97706 !important; }
.bb-op-card--teal .bb-op-head2-icon { background: #ccfbf1 !important; color: #0d9488 !important; }
.bb-op-card--purple .bb-op-head2-icon { background: #ede9fe !important; color: #7c3aed !important; }

.bb-op-head2-title {
  font-size: .95rem !important;
  font-weight: 800 !important;
  color: #1a202c !important;
  line-height: 1.2 !important;
}
.bb-op-head2-sub {
  font-size: .72rem !important;
  color: #94a3b8 !important;
  margin-top: 1px !important;
}
.bb-op-head2-num {
  margin-left: auto !important;
  font-size: 1.8rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  opacity: .08 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Operator list */
.bb-op-list2 {
  list-style: none !important;
  padding: 8px 16px 4px !important;
  margin: 0 !important;
  flex: 1 !important;
}
.bb-op-list2 li {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 9px 0 !important;
  border-bottom: 1px solid #f8fafc !important;
  transition: background .15s !important;
}
.bb-op-list2 li:last-child { border-bottom: none !important; }
.bb-op-list2 li:hover { background: #f8fafc !important; margin: 0 -16px !important; padding-left: 16px !important; padding-right: 16px !important; border-radius: 8px !important; }

/* Rank number */
.bb-op-rank {
  font-size: .65rem !important;
  font-weight: 800 !important;
  color: #cbd5e1 !important;
  width: 16px !important;
  flex-shrink: 0 !important;
  text-align: center !important;
}

/* Avatar circle */
.bb-op-avatar {
  width: 30px !important;
  height: 30px !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #e2e8f0, #cbd5e1) !important;
  color: #475569 !important;
  font-size: .6rem !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  letter-spacing: .03em !important;
}
.bb-op-card--gold .bb-op-list2 .bb-op-avatar { background: linear-gradient(135deg, #fef3c7, #fde68a) !important; color: #92400e !important; }
.bb-op-card--teal .bb-op-list2 .bb-op-avatar { background: linear-gradient(135deg, #ccfbf1, #99f6e4) !important; color: #0f766e !important; }
.bb-op-card--purple .bb-op-list2 .bb-op-avatar { background: linear-gradient(135deg, #ede9fe, #ddd6fe) !important; color: #6d28d9 !important; }

/* Operator name */
.bb-op-name2 {
  font-size: .82rem !important;
  font-weight: 600 !important;
  color: #334155 !important;
  text-decoration: none !important;
  flex: 1 !important;
  transition: color .15s !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.bb-op-name2:hover { color: var(--mz-pr) !important; }

/* Rating badge */
.bb-op-rating {
  font-size: .72rem !important;
  font-weight: 700 !important;
  background: #fef9ee !important;
  color: #92400e !important;
  padding: 3px 8px !important;
  border-radius: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  white-space: nowrap !important;
  border: 1px solid #fde68a !important;
  flex-shrink: 0 !important;
}
.bb-op-rating i { color: #f59e0b !important; font-size: 9px !important; }
.bb-op-rating--top {
  background: #fef3c7 !important;
  color: #78350f !important;
  border-color: #fbbf24 !important;
}

/* Card footer link */
.bb-op-footer-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 12px 20px !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  color: var(--mz-pr) !important;
  border-top: 1px solid #f1f5f9 !important;
  text-decoration: none !important;
  transition: background .15s, gap .15s !important;
  letter-spacing: .02em !important;
}
.bb-op-footer-link:hover { background: #fff7ed !important; gap: 10px !important; color: var(--mz-pr-dk) !important; }

/* ── WHY CHOOSE US — center tabs ───────────────────────────── */
.bb-why-tabs {
  justify-content: center !important;
}
@media (max-width: 575.98px) {
  .bb-why-tabs { justify-content: flex-start !important; }
}

/* ── DESTINATIONS OWL CAROUSEL ─────────────────────────────── */
/* Card fills the owl-item width (owl controls the width) */
.bb-idx-dest-owl .bb-idx-dest-card {
  flex: none !important;
  width: 100% !important;
  height: 210px !important;
}

/* Nav arrow buttons — branded orange */
.bb-idx-dest-owl.owl-carousel .owl-nav button.owl-prev,
.bb-idx-dest-owl.owl-carousel .owl-nav button.owl-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: #fff !important;
  color: var(--mz-pr) !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.15) !important;
  transition: background .18s, color .18s !important;
  font-size: .75rem !important;
  margin: 0 !important;
}
.bb-idx-dest-owl.owl-carousel .owl-nav button.owl-prev { left: -18px !important; }
.bb-idx-dest-owl.owl-carousel .owl-nav button.owl-next { right: -18px !important; }
.bb-idx-dest-owl.owl-carousel .owl-nav button:hover {
  background: var(--mz-pr) !important;
  color: #fff !important;
}
.bb-idx-dest-owl.owl-carousel .owl-nav button span { display: none !important; }

/* Dots */
.bb-idx-dest-owl.owl-carousel .owl-dots {
  margin-top: 14px !important;
}
.bb-idx-dest-owl.owl-carousel .owl-dot span {
  background: #d1d5db !important;
  width: 8px !important;
  height: 8px !important;
  margin: 0 4px !important;
  transition: background .2s, width .2s !important;
  border-radius: 4px !important;
}
.bb-idx-dest-owl.owl-carousel .owl-dot.active span,
.bb-idx-dest-owl.owl-carousel .owl-dot:hover span {
  background: var(--mz-pr) !important;
  width: 22px !important;
}

/* Container needs overflow:visible for nav arrows to show outside */
.bb-idx-dest-owl.owl-carousel { overflow: visible !important; }

/* On small screens, clip the outside-cards peek cleanly */
@media (max-width: 575.98px) {
  .bb-idx-dest-owl.owl-carousel .owl-nav { display: none !important; }
}

/* ============================================================
   BUS DATE CALENDAR MODAL  (MZ)
   ============================================================ */
.bb-cal-modal-card {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #fff;
  border-radius: 24px 24px 0 0;
  box-shadow: 0 -8px 40px rgba(0,0,0,.18);
  z-index: 301;
  transform: translateY(110%);
  transition: transform .35s cubic-bezier(.34,1.2,.64,1);
  max-width: 480px;
  margin: 0 auto;
  overflow: hidden;
  padding-bottom: env(safe-area-inset-bottom, 0);
}
.bb-modal.is-open .bb-cal-modal-card {
  transform: translateY(0);
}
/* Header */
.bb-cal-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px 14px;
  background: linear-gradient(135deg, #ff6b00, #e05000);
  color: #fff;
}
.bb-cal-head-left { display: flex; align-items: center; gap: 12px; }
.bb-cal-head-left .fas { font-size: 22px; opacity: .9; }
.bb-cal-head-left small { display: block; font-size: 11px; opacity: .8; letter-spacing: .6px; text-transform: uppercase; }
.bb-cal-head-left strong { display: block; font-size: 17px; font-weight: 700; margin-top: 1px; }
.bb-cal-close {
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,.2); border: 0; color: #fff;
  font-size: 15px; display: flex; align-items: center; justify-content: center;
  cursor: pointer; flex-shrink: 0;
  transition: background .2s;
}
.bb-cal-close:hover { background: rgba(255,255,255,.35); }
/* Quick chips */
.bb-cal-quick {
  display: flex; gap: 8px; padding: 12px 16px 4px;
  overflow-x: auto; scrollbar-width: none;
}
.bb-cal-quick::-webkit-scrollbar { display: none; }
.bb-cal-chip {
  flex-shrink: 0;
  padding: 7px 14px;
  border-radius: 20px;
  border: 1.5px solid #ff6b00;
  background: #fff;
  color: #ff6b00;
  font-size: 12.5px; font-weight: 600;
  cursor: pointer;
  transition: all .2s;
  display: flex; align-items: center; gap: 5px;
}
.bb-cal-chip:hover, .bb-cal-chip.is-active {
  background: #ff6b00; color: #fff;
}
/* Month nav */
.bb-cal-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 16px 6px;
}
.bb-cal-nav-btn {
  width: 36px; height: 36px; border-radius: 50%;
  border: 0; background: #f5f5f5; color: #333;
  font-size: 13px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s;
}
.bb-cal-nav-btn:hover { background: #ff6b00; color: #fff; }
.bb-cal-nav-btn:disabled { opacity: .35; cursor: default; pointer-events: none; }
.bb-cal-month-label {
  font-size: 15px; font-weight: 700; color: #1a1a2e;
  letter-spacing: .2px;
}
/* Day grid */
.bb-cal-grid {
  display: grid; grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  padding: 0 10px;
}
.bb-cal-grid--head {
  padding-top: 4px; padding-bottom: 4px;
}
.bb-cal-grid--head span {
  text-align: center; font-size: 11px; font-weight: 700;
  color: #888; text-transform: uppercase; letter-spacing: .5px;
  padding: 4px 0;
}
.bb-cal-grid--days { gap: 3px; padding-bottom: 6px; }
.bb-cal-day {
  aspect-ratio: 1 / 1;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  font-size: 13.5px; font-weight: 500;
  cursor: pointer;
  border: 0; background: transparent;
  transition: all .15s;
  color: #1a1a2e;
  position: relative;
}
.bb-cal-day:hover:not(:disabled):not(.bb-cal-day--past) {
  background: #fff2e8; color: #ff6b00;
}
.bb-cal-day--past { color: #ccc !important; cursor: default; pointer-events: none; }
.bb-cal-day--today {
  background: #fff2e8;
  color: #ff6b00 !important;
  font-weight: 700;
}
.bb-cal-day--today::after {
  content: '';
  position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%);
  width: 4px; height: 4px;
  background: #ff6b00; border-radius: 50%;
}
.bb-cal-day--selected {
  background: #ff6b00 !important;
  color: #fff !important;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(255,107,0,.4);
}
.bb-cal-day--selected::after { display: none; }
.bb-cal-day--empty { pointer-events: none; }
/* Foot / Done */
.bb-cal-foot {
  padding: 10px 16px 16px;
  display: flex; justify-content: flex-end;
}
.bb-cal-done {
  background: linear-gradient(135deg, #ff6b00, #e05000);
  color: #fff; border: 0;
  padding: 11px 28px; border-radius: 24px;
  font-size: 14px; font-weight: 700;
  cursor: pointer; display: flex; align-items: center; gap: 8px;
  box-shadow: 0 4px 14px rgba(255,107,0,.35);
  transition: transform .15s, box-shadow .15s;
}
.bb-cal-done:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(255,107,0,.45); }
/* Desktop — center as floating card */
@media (min-width: 576px) {
  .bb-cal-modal-card {
    bottom: auto; left: 50%; top: 50%;
    transform: translate(-50%, -40%) scale(.92);
    border-radius: 20px;
    transition: transform .3s cubic-bezier(.34,1.2,.64,1), opacity .25s;
    opacity: 0;
    pointer-events: none;
  }
  .bb-modal.is-open .bb-cal-modal-card {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    pointer-events: all;
  }
}

/* ============================================================
   ANNOUNCEMENT POPUP — "What's New"  (MZ)
   ============================================================ */
.bb-announce-wrap {
  position: fixed;
  bottom: 24px; right: 20px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

/* --- Bell trigger (collapsed state) --- */
.bb-ann-trigger {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff6b00, #e05000);
  border: 0; color: #fff;
  font-size: 20px;
  box-shadow: 0 4px 20px rgba(255,107,0,.45);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  position: relative;
  animation: bbAnnPulse 2.5s ease-in-out infinite;
  transition: transform .2s;
}
.bb-ann-trigger:hover { transform: scale(1.1); }
@keyframes bbAnnPulse {
  0%,100% { box-shadow: 0 4px 20px rgba(255,107,0,.45); }
  50%      { box-shadow: 0 4px 28px rgba(255,107,0,.75), 0 0 0 8px rgba(255,107,0,.12); }
}
.bb-ann-trigger-badge {
  position: absolute; top: -4px; right: -4px;
  width: 20px; height: 20px; border-radius: 50%;
  background: #e53e3e; color: #fff;
  font-size: 11px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid #fff;
}

/* Both hidden by default — JS controls visibility */
#bbAnnCard    { display: none; }
#bbAnnTrigger { display: none; }

/* --- Expanded card --- */
.bb-ann-card {
  width: 340px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 8px 40px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.08);
  overflow: hidden;
  transform-origin: bottom right;
  animation: bbAnnSlideIn .4s cubic-bezier(.34,1.2,.64,1);
  border: 1px solid rgba(255,107,0,.12);
}
@keyframes bbAnnSlideIn {
  from { opacity: 0; transform: scale(.85) translateY(20px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
.bb-ann-card.is-hiding {
  animation: bbAnnSlideOut .3s ease forwards;
}
@keyframes bbAnnSlideOut {
  from { opacity: 1; transform: scale(1) translateY(0); }
  to   { opacity: 0; transform: scale(.85) translateY(20px); }
}

/* Header */
.bb-ann-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px 12px;
  background: linear-gradient(135deg, #1e1b4b 0%, #1a3a4a 100%);
  color: #fff;
}
.bb-ann-head-left { display: flex; align-items: center; gap: 10px; }
.bb-ann-head-icon { font-size: 22px; line-height: 1; }
.bb-ann-head-left strong { display: block; font-size: 14px; font-weight: 700; color: #fff; }
.bb-ann-head-sub  { display: block; font-size: 11px; color: rgba(255,255,255,.65); margin-top: 1px; }
.bb-ann-head-right { display: flex; align-items: center; gap: 8px; }
.bb-ann-head-badge {
  background: #ff6b00; color: #fff;
  font-size: 11px; font-weight: 700;
  padding: 2px 7px; border-radius: 10px;
}
.bb-ann-close {
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(255,255,255,.15); border: 0; color: #fff;
  font-size: 12px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.bb-ann-close:hover { background: rgba(255,255,255,.3); }

/* List */
.bb-ann-list { padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; max-height: 320px; overflow-y: auto; scrollbar-width: thin; }
.bb-ann-list::-webkit-scrollbar { width: 4px; }
.bb-ann-list::-webkit-scrollbar-thumb { background: #e2e2e2; border-radius: 4px; }

/* Item */
.bb-ann-item {
  display: flex; gap: 10px;
  padding: 11px 12px;
  border-radius: 12px;
  background: #fafafa;
  border-left: 3px solid transparent;
  transition: background .2s;
}
.bb-ann-item:hover { background: #f5f5f5; }
.bb-ann-item--orange { border-left-color: #ff6b00; }
.bb-ann-item--teal   { border-left-color: #0d9488; }
.bb-ann-item--purple { border-left-color: #7c3aed; }
.bb-ann-item-icon { font-size: 20px; line-height: 1; flex-shrink: 0; margin-top: 1px; }
.bb-ann-item-body { flex: 1; min-width: 0; }
.bb-ann-item-body strong { display: block; font-size: 12.5px; font-weight: 700; color: #1a1a2e; margin-bottom: 3px; }
.bb-ann-item-body p { font-size: 11.5px; color: #555; line-height: 1.4; margin: 0 0 7px; }
.bb-ann-btn {
  display: inline-flex; align-items: center;
  font-size: 11px; font-weight: 700;
  color: #ff6b00; text-decoration: none;
  background: rgba(255,107,0,.08);
  padding: 4px 10px; border-radius: 20px;
  transition: all .2s;
}
.bb-ann-btn:hover { background: #ff6b00; color: #fff; }

/* Footer */
.bb-ann-foot {
  padding: 8px 16px 12px;
  border-top: 1px solid #f0f0f0;
  display: flex; justify-content: center;
}
.bb-ann-dismiss {
  background: none; border: 0;
  font-size: 11.5px; color: #999;
  cursor: pointer; display: flex; align-items: center; gap: 5px;
  transition: color .2s;
}
.bb-ann-dismiss:hover { color: #333; }

/* Mobile: full-width, slightly higher */
@media (max-width: 575.98px) {
  .bb-announce-wrap { bottom: 76px; right: 12px; left: 12px; align-items: stretch; }
  .bb-ann-card { width: 100%; }
  .bb-ann-trigger { align-self: flex-end; }
}

/* ============================================================
   HERO GAP FIX  (MZ)
   Desktop: nav is sticky (in document flow) → no padding needed.
   Mobile:  nav is fixed 60px → hero needs padding-top to clear it.
   ============================================================ */

/* Desktop: no padding needed — headers are in the flow, reduce min-height */
.bb-idx-hero      { padding-top: 0 !important; min-height: auto !important; }
.bb-idx-hero-wrap { padding-top: 1.5rem !important; padding-bottom: 2rem !important; }

/* Mobile / tablet: fixed nav — keep clearance */
@media (max-width: 991.98px) {
  .bb-idx-hero      { padding-top: 60px !important; }
  .bb-idx-hero-wrap { padding-top: 0.5rem !important; padding-bottom: 1rem !important; }
}

/* ================================================================
   BOOKING FLOW PAGES — Package sticky name bar + mobile CTA
   Body gets .bb-page-booking on all tour booking / passenger pages
================================================================ */

/* 1. Header non-sticky so pkgbar can be the sticky anchor */
.bb-page-booking .bb-header {
  position: static !important;
}

/* 1b. Bus page's trip bar must anchor at the very top (0), not at
   var(--header-h) — the header is static here (scrolls away), so the old
   64px offset left a gap above the sticky bar (bus-passenger-details).
   NOTE: tour pages' .bb-tpx-tripbar intentionally stays at var(--header-h)
   because it sits BELOW the sticky .bb-tpd-pkgbar (2-tier), so don't touch it. */
.bb-page-booking .bb-trip-bar {
  top: 0;
}

/* 1c. Hotel "ribbon" (hotel name bar) — full-width sticky bar flush at the top,
   like the tour pages' bb-tpd-pkgbar (not a rounded floating card). The ribbon is
   now a full-width wrapper with an inner .container holding the flex content. */
.bb-htl-ribbon--sticky {
  display: block;            /* override base flex — inner handles the flex row */
  position: sticky;
  top: 0;
  z-index: 50;
  border-radius: 0;          /* square edges — full-width bar */
  margin: 0 0 16px;
  padding: 0;                /* vertical padding moves to the inner row */
  box-shadow: 0 6px 18px -6px rgba(249, 115, 22, .35);
}
.bb-htl-ribbon--sticky::after { display: none; }   /* drop the decorative circle for a clean bar */
.bb-htl-ribbon--sticky .bb-htl-ribbon-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 0;           /* horizontal alignment handled by .container */
}
/* Mobile: keep the sticky ribbon a clean, compact row — stop the wide rating
   pill from collapsing the title (which caused word-by-word wrap + overlap) */
@media (max-width: 575px) {
  .bb-htl-ribbon--sticky .bb-htl-ribbon-inner { gap: 10px; }
  .bb-htl-ribbon--sticky .bb-htl-ribbon-body { flex: 1 1 auto; min-width: 0; }
  .bb-htl-ribbon--sticky .bb-htl-ribbon-title {
    font-size: 15px; line-height: 1.25;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  }
  .bb-htl-ribbon--sticky .bb-htl-ribbon-rating {
    flex: 0 0 auto; width: auto; align-self: center;
    padding: 5px 10px; font-size: 12.5px; white-space: nowrap;
  }
  .bb-htl-ribbon--sticky .bb-htl-ribbon-rating small { display: none; }  /* compact → just the score */
}

/* 2. Mobile bottom CTA flush to bottom (no bb-mobnav on booking pages) */
.bb-page-booking .bb-tpd-mobcta {
  bottom: 0;
  padding-bottom: max(10px, env(safe-area-inset-bottom));
}

/* 3. Step badge text style */
.bb-tpd-pkgbar-step {
  font-size: 11px;
  font-weight: 700;
  color: rgba(255,255,255,.65);
  white-space: nowrap;
  letter-spacing: .2px;
}
.bb-tpd-pkgbar-step strong {
  color: #fbbf24;
  font-size: 13px;
}

/* 4. Confirmation/failed pkgbar status colors */
.bb-tpd-pkgbar-status--ok   { color: #4ade80 !important; }
.bb-tpd-pkgbar-status--fail { color: #f87171 !important; }

/* ================================================================
   MOBILE FILTER DRAWER — tour-packages-search
   Slide-up bottom sheet with overlay, triggered by Filter button
================================================================ */

/* Overlay backdrop */
.bb-tps-filter-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10,15,40,.55);
  z-index: 1040;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.bb-tps-filter-overlay.is-open { display: block; }

/* Drawer panel */
.bb-tps-filter-drawer {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1050;
  background: #fff;
  border-radius: 16px 16px 0 0;
  box-shadow: 0 -8px 40px rgba(10,15,40,.20);
  transform: translateY(100%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  display: flex;
  flex-direction: column;
  max-height: 82vh;
}
.bb-tps-filter-drawer.is-open { transform: translateY(0); }

/* Drag handle hint */
.bb-tps-filter-drawer::before {
  content: '';
  display: block;
  width: 36px; height: 4px;
  background: #d1d5db;
  border-radius: 2px;
  margin: 10px auto 0;
  flex-shrink: 0;
}

/* Drawer header */
.bb-tps-filter-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px 12px;
  border-bottom: 1px solid #e8eaf0;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #1a2040;
  flex-shrink: 0;
}
.bb-tps-filter-drawer-head i { color: #0f2d6b; margin-right: 6px; }
.bb-tps-filter-drawer-close {
  background: none;
  border: none;
  font-size: 24px;
  line-height: 1;
  color: #64748b;
  padding: 0 2px;
  cursor: pointer;
}
.bb-tps-filter-drawer-close:hover { color: #1a2040; }

/* Drawer scrollable body */
.bb-tps-filter-drawer-body {
  overflow-y: auto;
  flex: 1;
  padding: 4px 16px 12px;
  -webkit-overflow-scrolling: touch;
}

/* Drawer footer / apply button */
.bb-tps-filter-drawer-foot {
  padding: 12px 16px;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
  border-top: 1px solid #e8eaf0;
  flex-shrink: 0;
}
.bb-tps-filter-drawer-foot .bb-tps-filter-apply {
  width: 100%;
  justify-content: center;
  border-radius: 8px;
  padding: 12px;
  font-size: 15px;
}

/* Mobile Filter trigger button (in resbar-sort, d-lg-none) */
.bb-tps-mob-filterbtn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: #0f2d6b;
  color: #fff;
  border: none;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
.bb-tps-mob-filterbtn:hover,
.bb-tps-mob-filterbtn:active { background: #1a3d7c; }
.bb-tps-mob-filterbtn-badge {
  background: #fbbf24;
  color: #1a2040;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 800;
  padding: 1px 5px;
  line-height: 1.4;
  min-width: 18px;
  text-align: center;
}

/* Body scroll lock when drawer is open */
body.bb-filter-open { overflow: hidden; }

/* ================================================================
   FARE BREAKUP POPUP — tour-passenger-details (+ variants)
   Mobile  : slide-up bottom sheet (full width, max 80vh)
   Desktop : floating card, fixed bottom-right, 380px wide
================================================================ */

/* Dim overlay */
.bb-fare-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10,15,40,.48);
  z-index: 1040;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.bb-fare-overlay.is-open { display: block; }

/* ── Drag pill (mobile only) ── */
.bb-fare-popup::before {
  content: '';
  display: block;
  width: 36px; height: 4px;
  background: rgba(255,255,255,.55);
  border-radius: 2px;
  margin: 10px auto 0;
  flex-shrink: 0;
}

/* Popup base */
.bb-fare-popup {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1055;
  background: #fff;
  border-radius: 20px 20px 0 0;
  box-shadow: 0 -12px 50px rgba(10,15,40,.22);
  transform: translateY(100%);
  transition: transform .30s cubic-bezier(.4,0,.2,1);
  display: flex;
  flex-direction: column;
  max-height: 80vh;
}
.bb-fare-popup.is-open { transform: translateY(0); }

/* Desktop — floating card, bottom-right */
@media (min-width: 992px) {
  .bb-fare-popup {
    left: auto;
    right: 28px;
    bottom: 28px;
    width: 380px;
    border-radius: 16px;
    transform: scale(.93) translateY(16px);
    opacity: 0;
    pointer-events: none;
    transition: transform .26s cubic-bezier(.4,0,.2,1), opacity .22s ease;
    max-height: calc(100vh - 120px);
  }
  .bb-fare-popup.is-open {
    transform: scale(1) translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  .bb-fare-popup::before { display: none; }
}

/* ── Header — orange gradient ── */
.bb-fare-popup-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #c94b0a 0%, #e85d1a 40%, #f97316 80%, #fb923c 100%);
  border-radius: 20px 20px 0 0;
  color: #fff;
  flex-shrink: 0;
}
@media (min-width: 992px) {
  .bb-fare-popup-head { border-radius: 16px 16px 0 0; }
}
.bb-fare-popup-head-icon {
  width: 42px; height: 42px;
  background: rgba(255,255,255,.18);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.bb-fare-popup-head > div strong {
  display: block;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
}
.bb-fare-popup-head > div small {
  font-size: 11px;
  color: rgba(255,255,255,.72);
}
.bb-fare-popup-close {
  margin-left: auto;
  background: rgba(255,255,255,.18);
  border: none;
  color: #fff;
  font-size: 20px;
  width: 30px; height: 30px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  line-height: 1;
}
.bb-fare-popup-close:hover { background: rgba(255,255,255,.32); }

/* ── Scrollable body ── */
.bb-fare-popup-body {
  overflow-y: auto;
  flex: 1;
  padding: 14px 16px 10px;
  -webkit-overflow-scrolling: touch;
}

/* Package name line */
.bb-fare-popup-pkg {
  font-size: 12.5px;
  color: #64748b;
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.bb-fare-popup-pkg i { color: #0f2d6b; }
.bb-fare-popup-pkg span { font-weight: 600; color: #374151; }

/* Line items */
.bb-fare-popup-list {
  list-style: none;
  margin: 0 0 0;
  padding: 0;
}
.bb-fare-popup-list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px dashed #efefef;
  font-size: 13.5px;
  color: #4b5563;
}
.bb-fare-popup-list li:last-child { border-bottom: none; }
.bb-fare-popup-list li span em { font-style: normal; color: #0f2d6b; font-weight: 700; }
.bb-fare-popup-list li strong { font-weight: 700; color: #1a2040; }
.bb-fare-popup-zero { color: #9ca3af !important; }

/* Subtotal divider row */
.bb-fare-popup-subtotal {
  background: #f8faff;
  margin: 2px -16px !important;
  padding: 8px 16px !important;
  border-bottom: none !important;
  font-weight: 600;
  color: #374151;
}
.bb-fare-popup-subtotal strong { color: #0f2d6b !important; }

/* Coupon discount row */
.bb-fare-popup-disc { border-bottom: none !important; }
.bb-fare-popup-disc span,
.bb-fare-popup-disc strong { color: #16a34a !important; }
.bb-fare-popup-disc.is-hidden { display: none; }

/* Total payable row */
.bb-fare-popup-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
  padding: 12px 0 4px;
  border-top: 2px solid #fde8d0;
}
.bb-fare-popup-total span {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #1a2040;
}
.bb-fare-popup-total strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 24px;
  font-weight: 800;
  color: #e85d1a;
}

/* ── Footer — pay button ── */
.bb-fare-popup-foot {
  padding: 12px 16px;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
  border-top: 1px solid #f0f0f0;
  flex-shrink: 0;
}
.bb-fare-popup-paybtn {
  width: 100%;
  background: linear-gradient(135deg, #c94b0a, #e85d1a, #f97316);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 13px 16px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: opacity .18s;
}
.bb-fare-popup-paybtn:hover { opacity: .88; }

/* ── "Break Up" pill in mobile CTA bar ── */
.bb-fare-breakup-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: 1px solid rgba(255,255,255,.38);
  color: rgba(255,255,255,.82);
  border-radius: 12px;
  padding: 2px 9px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 4px;
  white-space: nowrap;
  transition: background .15s;
}
.bb-fare-breakup-btn:hover { background: rgba(255,255,255,.14); }

/* ── "Fare Break Up" button in pkgbar (desktop) ── */
.bb-fare-breakup-pkgbarbtn {
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.28);
  color: rgba(255,255,255,.88);
  border-radius: 16px;
  padding: 5px 13px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  margin-left: 12px;
  white-space: nowrap;
  transition: background .18s;
  vertical-align: middle;
}
.bb-fare-breakup-pkgbarbtn:hover { background: rgba(255,255,255,.24); }

/* Body scroll lock */
body.bb-fare-open { overflow: hidden; }


/* =====================================================================
   TOUR-PASSENGER-DETAILS · "YOUR PLAN" STYLE FARE BREAKDOWN
   Used in:
     1) Right sidebar sticky card  (.bb-tpx-summary-body > .bb-tpx-plan-list)
     2) Fare break-up popup body   (.bb-fare-popup-body > .bb-tpx-plan-list)
     3) Mobile bottom CTA          (.bb-tpd-mobcta--v2)
===================================================================== */

/* ---------- Icon-list of fare items ---------- */
.bb-tpx-plan-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}
.bb-tpx-plan-row {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px dashed #f1d9c4;
  font-size: 13px;
  color: var(--bb-text);
}
.bb-tpx-plan-row:last-child { border-bottom: 0; }

.bb-tpx-plan-ico {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 14px;
  color: #fff;
  background: linear-gradient(135deg, #f97316, #ea580c);
  box-shadow: 0 4px 10px -3px rgba(249,115,22,.45);
  flex: 0 0 36px;
}
.bb-tpx-plan-ico--rose   { background: linear-gradient(135deg, #f43f5e, #e11d48); box-shadow: 0 4px 10px -3px rgba(244,63,94,.45); }
.bb-tpx-plan-ico--amber  { background: linear-gradient(135deg, #f59e0b, #d97706); box-shadow: 0 4px 10px -3px rgba(245,158,11,.45); }
.bb-tpx-plan-ico--blue   { background: linear-gradient(135deg, #3b82f6, #2563eb); box-shadow: 0 4px 10px -3px rgba(59,130,246,.45); }
.bb-tpx-plan-ico--green  { background: linear-gradient(135deg, #10b981, #059669); box-shadow: 0 4px 10px -3px rgba(16,185,129,.45); }
.bb-tpx-plan-ico--violet { background: linear-gradient(135deg, #8b5cf6, #7c3aed); box-shadow: 0 4px 10px -3px rgba(139,92,246,.45); }

.bb-tpx-plan-name {
  font-size: 13.5px;
  font-weight: 700;
  color: #1f2937;
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
}
.bb-tpx-plan-mult {
  font-style: normal;
  font-size: 11.5px;
  font-weight: 600;
  color: #9ca3af;
}
.bb-tpx-plan-mult em {
  font-style: normal;
  font-weight: 800;
  color: var(--bb-primary);
}

.bb-tpx-plan-amt {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: #1f2937;
  text-align: right;
  line-height: 1.15;
  white-space: nowrap;
}
.bb-tpx-plan-amt small {
  display: block;
  font-size: 10px;
  font-weight: 600;
  color: #9ca3af;
  margin-top: 1px;
  letter-spacing: .2px;
}
.bb-tpx-plan-amt--zero { color: #9ca3af; }

/* ---------- Cream subtotal block + Total Payable ---------- */
.bb-tpx-plan-sub {
  margin: 14px -16px -14px;          /* break out of .bb-tpx-summary-body padding */
  padding: 14px 16px 16px;
  background: linear-gradient(135deg, #fff7ed 0%, #fff1e6 100%);
  border-top: 1px dashed #fdba74;
}
.bb-tpx-plan-sub-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: #4b5563;
  padding: 4px 0;
}
.bb-tpx-plan-sub-row strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  color: #1f2937;
  font-size: 13.5px;
}
.bb-tpx-plan-sub-row--disc {
  color: #047857;
  font-weight: 700;
}
.bb-tpx-plan-sub-row--disc strong { color: #047857; }
.bb-tpx-plan-sub-row--disc i { margin-right: 4px; }
.bb-tpx-plan-sub-row--disc em {
  font-style: normal;
  font-weight: 700;
  color: #047857;
}
.bb-tpx-plan-sub-divider {
  height: 1px;
  background-image: linear-gradient(to right, #fdba74 50%, transparent 50%);
  background-size: 8px 1px;
  margin: 10px 0 8px;
}
.bb-tpx-plan-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: 4px;
}
.bb-tpx-plan-total span {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: #1f2937;
}
.bb-tpx-plan-total strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--bb-danger, #dc2626);
  letter-spacing: -.3px;
}

/* When the plan-list is used inside the fare popup body, the popup body
   may have different padding — adjust the break-out negative margin */
.bb-fare-popup-body .bb-tpx-plan-sub {
  margin-left: -18px;
  margin-right: -18px;
  margin-bottom: -18px;
}

/* Hide existing popup classes that we are no longer using inside the popup body */
.bb-fare-popup-body > .bb-tpx-plan-list + .bb-tpx-plan-sub { border-radius: 0; }


/* =====================================================================
   STICKY BOTTOM CTA · v2  (single row layout)
   Layout: [Total Payable · ₹amount · Break Up]   [Proceed to Payment]
===================================================================== */
.bb-tpd-mobcta.bb-tpd-mobcta--v2 {
  display: block;
  padding: 10px 12px;
  bottom: 0;
  border-radius: 18px 18px 0 0;
}
.bb-tpd-mobcta--v2 .bb-tpd-mobcta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

/* LEFT cluster — label on top, amount + breakup pill on the row below */
.bb-tpd-mobcta-totbox {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
}
.bb-tpd-mobcta-totbox small {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-weight: 700;
  color: #6b7280;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.bb-tpd-mobcta-totbox small i { color: var(--bb-primary); }
.bb-tpd-mobcta-totrow {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bb-tpd-mobcta-totbox strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 21px;
  font-weight: 800;
  color: var(--bb-danger, #dc2626);
  line-height: 1;
  letter-spacing: -.3px;
}

/* SAVE pill — inline next to the "Total Payable" label, shown only when applied */
.bb-tpd-mobcta-save {
  background: linear-gradient(135deg, #10b981, #059669);
  color: #fff;
  font-size: 9.5px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 999px;
  letter-spacing: .3px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.bb-tpd-mobcta-save em { font-style: normal; font-weight: 800; }

/* Break Up pill */
.bb-tpd-mobcta-bu {
  background: #fff;
  border: 1.5px solid var(--bb-primary);
  color: var(--bb-primary);
  font-weight: 800;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.bb-tpd-mobcta-bu:hover { background: #fff7ed; }

/* RIGHT — Proceed to Payment button */
.bb-tpd-mobcta-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  background: linear-gradient(135deg, #ef4444 0%, #f97316 50%, #f59e0b 100%);
  color: #fff !important;
  border: 0;
  border-radius: 999px;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .2px;
  cursor: pointer;
  box-shadow: 0 8px 18px -6px rgba(249,115,22,.55);
  white-space: nowrap;
  flex-shrink: 0;
}
.bb-tpd-mobcta-cta:hover { transform: translateY(-1px); opacity: .96; }
.bb-tpd-mobcta-cta i { font-size: 13px; }

/* Tighter values on very narrow phones */
@media (max-width: 380px) {
  .bb-tpd-mobcta-totbox strong { font-size: 19px; }
  .bb-tpd-mobcta-cta { font-size: 13px; padding: 11px 14px; }
  .bb-tpd-mobcta-bu  { font-size: 10.5px; padding: 4px 9px; }
}


/* =====================================================================
   FULL-PAGE LAYOUT (no right sidebar) · DESKTOP STICKY STRIP
===================================================================== */

/* Body padding so fixed bottom strip never covers form content
   (applies to all main containers used by booking pages: .bb-tpx-main, .bb-pd-main, .bb-htl-main) */
.bb-page-booking .bb-tpx-main,
.bb-page-booking .bb-pd-main,
.bb-page-booking .bb-htl-main { padding-bottom: 100px; }   /* mobile single-row strip */
@media (min-width: 992px) {
  .bb-page-booking .bb-tpx-main,
  .bb-page-booking .bb-pd-main,
  .bb-page-booking .bb-htl-main { padding-bottom: 90px; }   /* desktop single-row strip */
}

/* ---------- Coupon card · inline variant (inside .bb-tpx-paxcard) ---------- */
.bb-tpx-coupon.bb-tpx-coupon--inline {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
}
.bb-tpx-coupon--inline .bb-tpx-coupon-row .bb-tpx-input {
  border-radius: var(--bb-radius);
}
.bb-tpx-coupon--inline .bb-tpx-coupon-apply {
  padding: 12px 28px;
}
.bb-tpx-coupon--inline .bb-tpx-coupon-suggest {
  margin-top: 12px;
}
@media (min-width: 768px) {
  .bb-tpx-coupon--inline .bb-tpx-coupon-row {
    max-width: 480px;
  }
}

/* ---------- Payment methods · grid variant (2 cols on lg) ---------- */
.bb-tpx-paymethods.bb-tpx-paymethods--grid {
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media (min-width: 768px) {
  .bb-tpx-paymethods--grid { grid-template-columns: 1fr 1fr; }
}
.bb-tpx-paymethods--grid .bb-tpx-paymethod { margin: 0; }

/* ---------- Trust badges · inline (inside payment card) ---------- */
.bb-tpx-trustbar.bb-tpx-trustbar--inline {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed var(--bb-border);
  justify-content: center;
  font-size: 12px;
  color: var(--bb-text-muted);
}
.bb-tpx-trustbar--inline span {
  display: inline-flex; align-items: center; gap: 5px;
  font-weight: 600;
}
.bb-tpx-trustbar--inline i { color: #16a34a; font-size: 13px; }
.bb-tpx-paxcard-body > .bb-tpx-tos {
  margin: 10px 0 0;
  font-size: 11.5px;
  color: var(--bb-text-muted);
  text-align: center;
}

/* ---------- Cancellation list · grid variant (2 cols on md+) ---------- */
.bb-tpx-cancelprev-list.bb-tpx-cancelprev-list--grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  font-size: 13px;
  color: var(--bb-text);
}
@media (min-width: 768px) {
  .bb-tpx-cancelprev-list--grid { grid-template-columns: 1fr 1fr; }
}
.bb-tpx-cancelprev-list--grid li {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  background: #f9fafb;
  border: 1px solid var(--bb-border-light);
  border-radius: var(--bb-radius);
}
.bb-tpx-cancelprev-list--grid .bb-tpx-cancel-pct {
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 56px;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
  color: #fff;
}
.bb-tpx-cancel-pct--green  { background: #16a34a; }
.bb-tpx-cancel-pct--yellow { background: #ca8a04; }
.bb-tpx-cancel-pct--orange { background: #ea580c; }
.bb-tpx-cancel-pct--red    { background: #dc2626; }


/* ---------- Desktop bottom sticky strip (single horizontal row) ---------- */
@media (min-width: 992px) {
  .bb-tpd-mobcta.bb-tpd-mobcta--v2 {
    padding: 14px 32px;
    border-radius: 0;
    box-shadow: 0 -8px 28px -10px rgba(15, 23, 42, .22);
  }
  .bb-tpd-mobcta--v2 .bb-tpd-mobcta-row {
    gap: 24px;
  }
  .bb-tpd-mobcta--v2 .bb-tpd-mobcta-totbox small {
    font-size: 11.5px;
  }
  .bb-tpd-mobcta--v2 .bb-tpd-mobcta-totbox strong {
    font-size: 28px;
  }
  .bb-tpd-mobcta--v2 .bb-tpd-mobcta-totrow {
    gap: 16px;
  }
  .bb-tpd-mobcta--v2 .bb-tpd-mobcta-bu {
    padding: 6px 14px;
    font-size: 12.5px;
  }
  .bb-tpd-mobcta--v2 .bb-tpd-mobcta-cta {
    min-width: 260px;
    padding: 14px 32px;
    font-size: 15px;
  }
}


/* =====================================================================
   STICKY SHELL · breakup panel (accordion) + action bar, anchored bottom
   The shell stays fixed at bottom; the panel's max-height transitions
   from 0 → 62vh, so the panel APPEARS TO GROW UPWARD out of the bar.
===================================================================== */

.bb-tpx-stickyshell {
  position: fixed;
  left: 0; right: 0;
  bottom: 0;
  z-index: 60;
  pointer-events: none;                  /* let stray clicks pass; children re-enable */
}
.bb-tpx-stickyshell > * { pointer-events: auto; }

/* ---------- The collapsible panel ---------- */
.bb-tpx-breakup {
  background: #fff;
  max-height: 0;                          /* COLLAPSED */
  overflow: hidden;
  transition: max-height .35s cubic-bezier(.4,0,.2,1), box-shadow .25s ease;
  display: flex;
  flex-direction: column;
}
.bb-tpx-breakup.is-open {
  max-height: 62vh;                       /* EXPANDED — grows upward from the bar */
  border-top: 1px solid var(--bb-border-light, #f0e2c4);
  box-shadow: 0 -14px 30px rgba(0, 0, 0, .10);
}

/* Desktop: panel becomes a 420-px LEFT-aligned card with rounded top corners
   (aligned to the same edge as the Break Up button, which is on the left of the bar) */
@media (min-width: 992px) {
  .bb-tpx-breakup {
    max-width: 420px;
    margin-right: auto;
    margin-left: max(24px, calc((100vw - 1140px) / 2 + 12px));
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    border-left: 1px solid var(--bb-border-light, #f0e2c4);
    border-right: 1px solid var(--bb-border-light, #f0e2c4);
  }
  .bb-tpx-breakup.is-open {
    box-shadow: 0 -18px 36px rgba(0, 0, 0, .14);
    border-top: 1px solid var(--bb-border-light, #f0e2c4);
  }
}

/* Header — orange gradient, mirrors the rest of the page's accent */
.bb-tpx-breakup-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 20px;
  background: linear-gradient(135deg, var(--bb-primary, #f97316) 0%, var(--bb-primary-dark, #ea580c) 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.bb-tpx-breakup-head::after {
  content: "";
  position: absolute;
  top: -30px; right: -30px;
  width: 110px; height: 110px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .10);
  z-index: 0;
}
.bb-tpx-breakup-head > * { position: relative; z-index: 1; }
.bb-tpx-breakup-head-ico {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .22);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.bb-tpx-breakup-head-text { flex: 1; min-width: 0; }
.bb-tpx-breakup-head-text strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: 16px;
  color: #fff;
  margin: 0;
  display: block;
  line-height: 1.15;
}
.bb-tpx-breakup-head-text small {
  color: rgba(255, 255, 255, .88);
  font-size: 12px;
  display: block;
  margin-top: 2px;
}
.bb-tpx-breakup-close {
  margin-left: auto;
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, .18);
  color: #fff;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px;
  transition: background .15s;
}
.bb-tpx-breakup-close:hover { background: rgba(255, 255, 255, .32); }

/* Scrollable body */
.bb-tpx-breakup-body {
  padding: 4px 16px 16px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.bb-tpx-breakup-body .bb-tpx-plan-sub {
  /* The cream block uses negative-margin breakout sized to the body's 16px padding */
  margin: 14px -16px -16px;
}

/* Sticky action bar now sits inside the shell (no longer position:fixed itself) */
.bb-tpd-mobcta.bb-tpd-mobcta--v2 {
  position: static;                       /* was fixed; the shell handles fixed positioning */
  bottom: auto;
  box-shadow: 0 -8px 22px -6px rgba(15, 23, 42, .14);
}

/* Chevron on the Break Up button rotates 180° when the panel is open */
.bb-tpd-mobcta-bu i { transition: transform .25s ease; }
.bb-tpx-stickyshell.panel-open .bb-tpd-mobcta-bu i { transform: rotate(180deg); }
.bb-tpd-mobcta-bu[aria-expanded="true"] { background: #fff7ed; }

/* Hide floating WhatsApp button on tour-passenger-details page —
   keeps the bottom sticky strip / panel area clean (no overlap, no distraction). */
.bb-page-tpx .bb-wa-float { display: none !important; }

/* Coupon Remove button (red, replaces Apply once a coupon is locked in) */
.bb-tpx-coupon-apply.bb-tpx-coupon-apply--remove {
  background: var(--bb-danger, #dc2626);
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bb-tpx-coupon-apply.bb-tpx-coupon-apply--remove:hover {
  background: #b91c1c;
}
.bb-tpx-coupon-apply.bb-tpx-coupon-apply--remove i { font-size: 11px; }

/* When a coupon is applied, the input becomes read-only-styled */
.bb-tpx-coupon-row .bb-tpx-input:disabled {
  background: #f3f4f6;
  color: #1f2937;
  font-weight: 700;
  letter-spacing: .3px;
  cursor: not-allowed;
  text-transform: uppercase;
}


/* =====================================================================
   FORM ROW / FIELD LAYOUT (used on car / entry / irctc passenger pages)
   These classes were referenced in HTML but never had CSS rules — caused
   the car page form to look unstyled.
===================================================================== */
.bb-tpx-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 14px;
}
.bb-tpx-row:last-child { margin-bottom: 0; }

.bb-tpx-field {
  flex: 1 1 220px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bb-tpx-field--sm    { flex: 0 0 110px; }
.bb-tpx-field--full  { flex: 1 1 100%; }

.bb-tpx-field > label {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--bb-text);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bb-tpx-field > label em {
  color: var(--bb-danger, #dc2626);
  font-style: normal;
  font-weight: 800;
}
.bb-tpx-field > label i { color: var(--bb-primary); font-size: 12px; }
.bb-tpx-field > label small {
  font-weight: 500;
  color: var(--bb-text-muted);
}

/* Inline gender radio pills */
.bb-tpx-gender {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 2px;
}
.bb-tpx-gender label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 1.5px solid var(--bb-border-light, #e5e7eb);
  border-radius: var(--bb-radius);
  font-size: 13px;
  font-weight: 600;
  color: var(--bb-text);
  cursor: pointer;
  transition: all .15s;
  background: #fff;
}
.bb-tpx-gender label:has(input:checked) {
  background: var(--bb-primary);
  border-color: var(--bb-primary);
  color: #fff;
  box-shadow: 0 4px 10px -3px rgba(249, 115, 22, .45);
}
.bb-tpx-gender label:hover { border-color: var(--bb-primary); }
.bb-tpx-gender input { position: absolute; opacity: 0; pointer-events: none; }

/* "Change" link in pickup/boarding card headers */
.bb-tpx-edit {
  margin-left: auto;
  font-size: 12px;
  font-weight: 700;
  color: var(--bb-primary);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.bb-tpx-edit:hover { text-decoration: underline; color: var(--bb-primary-dark, #ea580c); }
.bb-tpx-edit i { font-size: 11px; }


/* ============================================================
   EXTRACTED UTILITIES — generated from former inline style="" attributes
   (auto-extracted; identical inline styles collapsed to shared classes)
============================================================ */
.bb-u100nu8z.bb-u100nu8z.bb-u100nu8z{--c:#f97316}
.bb-u101geo4.bb-u101geo4.bb-u101geo4{color:var(--bb-success)}
.bb-u104lrso.bb-u104lrso.bb-u104lrso{background:#0d9488}
.bb-u10lo2if.bb-u10lo2if.bb-u10lo2if{left:0;width:32%}
.bb-u10vuxfm.bb-u10vuxfm.bb-u10vuxfm{background:linear-gradient(90deg,#0f766e,#14b8a6)}
.bb-u115py5h.bb-u115py5h.bb-u115py5h{--d:.1s}
.bb-u11cxun.bb-u11cxun.bb-u11cxun{color:var(--bb-text-muted)}
.bb-u11htkny.bb-u11htkny.bb-u11htkny{text-align:center}
.bb-u11ocfk5.bb-u11ocfk5.bb-u11ocfk5{background:#8b5cf6}
.bb-u11uk7a4.bb-u11uk7a4.bb-u11uk7a4{background-image:url('../images/blr-lalbagh-320x180.jpg')}
.bb-u11wx655.bb-u11wx655.bb-u11wx655{display:flex; gap:6px; flex-wrap:wrap}
.bb-u12nmt9r.bb-u12nmt9r.bb-u12nmt9r{font-size:11px; opacity:.8}
.bb-u12ph9sh.bb-u12ph9sh.bb-u12ph9sh{text-align:center; font-weight:700; color:var(--bb-accent); margin:10px 0 0}
.bb-u13an7wz.bb-u13an7wz.bb-u13an7wz{background:#fff; border:1px solid var(--bb-border-light); border-radius:var(--bb-radius-lg); padding:20px; margin-bottom:30px}
.bb-u13s35t0.bb-u13s35t0.bb-u13s35t0{display:flex; align-items:center; gap:18px; color:#fff}
.bb-u13xh0yq.bb-u13xh0yq.bb-u13xh0yq{--c:#0d9488}
.bb-u13xnv55.bb-u13xnv55.bb-u13xnv55{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.2);border:1.5px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center}
.bb-u145ck1.bb-u145ck1.bb-u145ck1{background:linear-gradient(90deg,#1d4ed8,#3b82f6)}
.bb-u1489wfa.bb-u1489wfa.bb-u1489wfa{margin-top:40px; text-align:center; padding:30px; background:linear-gradient(135deg,#fff7ed,#fef3c7); border-radius:var(--bb-radius-lg)}
.bb-u148k8jw.bb-u148k8jw.bb-u148k8jw{color:var(--bb-text-muted); margin-bottom:24px}
.bb-u14pvo1y.bb-u14pvo1y.bb-u14pvo1y{background:#e0f2fe; color:#0891b2}
.bb-u14stxlw.bb-u14stxlw.bb-u14stxlw{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.bb-u14vh8om.bb-u14vh8om.bb-u14vh8om{color:var(--bb-accent); margin-right:6px}
.bb-u152vxqe.bb-u152vxqe.bb-u152vxqe{font-size:14px}
.bb-u156g6eo.bb-u156g6eo.bb-u156g6eo{background:linear-gradient(135deg,#1e293b,#0a1525); padding:40px 0}
.bb-u15bgkov.bb-u15bgkov.bb-u15bgkov{--d:.05s}
.bb-u15it3xa.bb-u15it3xa.bb-u15it3xa{font-size:11px;font-weight:700;color:var(--bb-text-muted);white-space:nowrap}
.bb-u15lt1qy.bb-u15lt1qy.bb-u15lt1qy{--d:.2s}
.bb-u15nil1b.bb-u15nil1b.bb-u15nil1b{color:#f97316;font-size:1.1rem}
.bb-u15vt3im.bb-u15vt3im.bb-u15vt3im{color:var(--bb-text-muted); text-decoration:underline}
.bb-u15w6az3.bb-u15w6az3.bb-u15w6az3{background:#e0f2fe;color:#0c4a6e}
.bb-u15xsbf1.bb-u15xsbf1.bb-u15xsbf1{margin-top:30px; font-size:13px; color:var(--bb-text-muted)}
.bb-u163thhj.bb-u163thhj.bb-u163thhj{background:#f3e8ff; color:#7c3aed; border-color:#c4b5fd}
.bb-u16dozjq.bb-u16dozjq.bb-u16dozjq{color:#1d4ed8}
.bb-u16p3qcm.bb-u16p3qcm.bb-u16p3qcm{background:transparent; border:0; color:var(--bb-accent); cursor:pointer}
.bb-u178adcs.bb-u178adcs.bb-u178adcs{--c:#3b82f6}
.bb-u17c6rrq.bb-u17c6rrq.bb-u17c6rrq{width:auto; padding:10px 22px; background:#25d366}
.bb-u17fwttn.bb-u17fwttn.bb-u17fwttn{background:linear-gradient(90deg,#15803d,#22c55e)}
.bb-u17wf02i.bb-u17wf02i.bb-u17wf02i{background-image:url('../images/dest-hyderabad-600.jpg')}
.bb-u1815l0s.bb-u1815l0s.bb-u1815l0s{width:56px; height:56px; border-radius:50%; background:#fff7ed; color:#f97316; display:inline-flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:10px; border:2px solid #fed7aa}
.bb-u18eqkol.bb-u18eqkol.bb-u18eqkol{left:32%;width:30%}
.bb-u18hrmu9.bb-u18hrmu9.bb-u18hrmu9{background:#ede9fe;color:#7c3aed}
.bb-u18oyhvw.bb-u18oyhvw.bb-u18oyhvw{color:#f97316}
.bb-u18w5s3q.bb-u18w5s3q.bb-u18w5s3q{text-align:left}
.bb-u18yrxdk.bb-u18yrxdk.bb-u18yrxdk{background:#fff; border-radius:0 0 14px 14px; padding:16px}
.bb-u19cyg9q.bb-u19cyg9q.bb-u19cyg9q{font-size:.8rem}
.bb-u19cz595.bb-u19cz595.bb-u19cz595{font-size:13px;color:var(--bb-text)}
.bb-u19ioaun.bb-u19ioaun.bb-u19ioaun{text-align:center; margin-bottom:22px}
.bb-u19nwlqj.bb-u19nwlqj.bb-u19nwlqj{width:80px; height:80px; border-radius:50%; background:var(--bb-primary); display:flex; align-items:center; justify-content:center; font-size:32px; font-weight:800; font-family:'Plus Jakarta Sans',sans-serif}
.bb-u19nzdgd.bb-u19nzdgd.bb-u19nzdgd{background:#fff; border:1px solid var(--bb-border-light); border-radius:20px; padding:6px 14px; font-size:13px; color:var(--bb-primary); text-decoration:none}
.bb-u19qr662.bb-u19qr662.bb-u19qr662{background-image:url('../images/unsplash-1598899134739-24c46f58b8c0-400.jpg');background-size:cover;background-position:center}
.bb-u19r1odp.bb-u19r1odp.bb-u19r1odp{padding:0; margin:0; list-style:none}
.bb-u19y8l4f.bb-u19y8l4f.bb-u19y8l4f{color:#14b8a6}
.bb-u1a0jwah.bb-u1a0jwah.bb-u1a0jwah{color:var(--bb-primary); pointer-events:none; opacity:.5}
.bb-u1aeso4v.bb-u1aeso4v.bb-u1aeso4v{margin-bottom:3px}
.bb-u1aiumu7.bb-u1aiumu7.bb-u1aiumu7{background:linear-gradient(135deg,#f59e0b,#d97706); position:relative; overflow:hidden}
.bb-u1bb628f.bb-u1bb628f.bb-u1bb628f{background:#d1fae5;color:#065f46}
.bb-u1c1ewf6.bb-u1c1ewf6.bb-u1c1ewf6{background-image:url('../images/kol-victoria-320x180.jpg')}
.bb-u1c3l4r9.bb-u1c3l4r9.bb-u1c3l4r9{margin-top:16px; font-size:13px; color:var(--bb-text-muted)}
.bb-u1cacvc5.bb-u1cacvc5.bb-u1cacvc5{--c:#8b5cf6}
.bb-u1cbyeop.bb-u1cbyeop.bb-u1cbyeop{background:#fce7f3;color:#831843}
.bb-u1cndtec.bb-u1cndtec.bb-u1cndtec{color:#10b981}
.bb-u1cptmrz.bb-u1cptmrz.bb-u1cptmrz{background:#fff; border:1px solid var(--bb-border-light); border-radius:var(--bb-radius-lg); padding:28px}
.bb-u1cvsy2d.bb-u1cvsy2d.bb-u1cvsy2d{background:linear-gradient(90deg,#d97706,#fbbf24)}
.bb-u1d39hzc.bb-u1d39hzc.bb-u1d39hzc{font-size:90px; margin-bottom:14px}
.bb-u1daayes.bb-u1daayes.bb-u1daayes{background-image:url('../images/taj-lake-palace-hero-1600x560.jpg')}
.bb-u1dgwp20.bb-u1dgwp20.bb-u1dgwp20{background-image:url('../images/unsplash-1558618666-fcd25c85cd64-400.jpg');background-size:cover;background-position:center}
.bb-u1eaiofr.bb-u1eaiofr.bb-u1eaiofr{color:#f97316; font-size:18px; margin-top:1px; flex-shrink:0}
.bb-u1eccmr4.bb-u1eccmr4.bb-u1eccmr4{color:#3b82f6}
.bb-u1ed8p24.bb-u1ed8p24.bb-u1ed8p24{font-size:13px; line-height:1.5}
.bb-u1ee789m.bb-u1ee789m.bb-u1ee789m{background-image:url('../images/unsplash-1592659762303-90081d34b277-600.jpg')}
.bb-u1efu8t5.bb-u1efu8t5.bb-u1efu8t5{--w:4%}
.bb-u1err424.bb-u1err424.bb-u1err424{background:var(--bb-success); padding:3px 10px; border-radius:var(--bb-radius-pill); font-size:12px; font-weight:700}
.bb-u1facnn.bb-u1facnn.bb-u1facnn{background:#fff; border:1px solid var(--bb-border-light); border-radius:var(--bb-radius-lg); padding:30px; box-shadow:var(--bb-shadow-sm); margin-bottom:18px}
.bb-u1fe9xx9.bb-u1fe9xx9.bb-u1fe9xx9{font-size:13px}
.bb-u1fisbhw.bb-u1fisbhw.bb-u1fisbhw{background-image:url('../images/ramoji-hero-1600x560.jpg')}
.bb-u1fukjrk.bb-u1fukjrk.bb-u1fukjrk{padding:8px 0; font-size:13.5px}
.bb-u1gg2w04.bb-u1gg2w04.bb-u1gg2w04{color:#fff;font-size:15px}
.bb-u1gn98mv.bb-u1gn98mv.bb-u1gn98mv{padding:40px 0 60px; background:#f8fafc}
.bb-u1go4vhw.bb-u1go4vhw.bb-u1go4vhw{width:80px; height:80px; border-radius:14px; background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:32px; font-weight:800; font-family:'Plus Jakarta Sans',sans-serif}
.bb-u1gwa3ex.bb-u1gwa3ex.bb-u1gwa3ex{background:#f8f9fa}
.bb-u1h264ql.bb-u1h264ql.bb-u1h264ql{width:50%}
.bb-u1hkjvbg.bb-u1hkjvbg.bb-u1hkjvbg{background:rgba(255,255,255,.25);color:#fff;font-size:10px;font-weight:700;padding:2px 9px;border-radius:20px;letter-spacing:.06em;border:1px solid rgba(255,255,255,.4)}
.bb-u1hmm9k7.bb-u1hmm9k7.bb-u1hmm9k7{font-size:28px; color:#fff; margin:0 0 6px}
.bb-u1hrvs4r.bb-u1hrvs4r.bb-u1hrvs4r{--w:2%}
.bb-u1i4tbak.bb-u1i4tbak.bb-u1i4tbak{background:#fff7ed; border-color:#fdba74; color:#ea580c}
.bb-u1ia7xx7.bb-u1ia7xx7.bb-u1ia7xx7{background-image:url('../images/taj-mahal-hero-1600x560.jpg')}
.bb-u1iyemln.bb-u1iyemln.bb-u1iyemln{background-image:url('../images/koc-fortkochi-320x180.jpg')}
.bb-u1j2g59.bb-u1j2g59.bb-u1j2g59{background-image:url('../images/agr-tajmahal-320x180.jpg')}
.bb-u1jgd4i4.bb-u1jgd4i4.bb-u1jgd4i4{background:#e0f2fe;color:#0369a1}
.bb-u1jwqay6.bb-u1jwqay6.bb-u1jwqay6{background-image:url('../images/chn-marina-320x180.jpg')}
.bb-u1k0mcot.bb-u1k0mcot.bb-u1k0mcot{background:linear-gradient(135deg,#0d9488,#134e4a)}
.bb-u1kixmds.bb-u1kixmds.bb-u1kixmds{background-image:url('../images/dest-hyderabad-400.jpg');background-size:cover;background-position:center}
.bb-u1kkfjds.bb-u1kkfjds.bb-u1kkfjds{padding:11px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:transparent; border-bottom:none}
.bb-u1l705od.bb-u1l705od.bb-u1l705od{color:rgba(255,255,255,.85);font-size:11.5px;margin-top:4px;display:block}
.bb-u1lkqqcs.bb-u1lkqqcs.bb-u1lkqqcs{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:20px;padding:6px 14px;font-size:12px;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:6px;white-space:nowrap}
.bb-u1m88k0b.bb-u1m88k0b.bb-u1m88k0b{background:#dbeafe; color:#1d4ed8}
.bb-u1mlw40m.bb-u1mlw40m.bb-u1mlw40m{width:auto; padding:11px 24px; display:inline-block; background:#0d9488}
.bb-u1mxsie1.bb-u1mxsie1.bb-u1mxsie1{text-align:right; margin-bottom:14px}
.bb-u1mz4je9.bb-u1mz4je9.bb-u1mz4je9{color:#8b5cf6}
.bb-u1n2f8il.bb-u1n2f8il.bb-u1n2f8il{width:auto; padding:11px 24px; display:inline-block}
.bb-u1n4j1yk.bb-u1n4j1yk.bb-u1n4j1yk{width:auto; padding:10px 22px; background:var(--bb-dark)}
.bb-u1n6w72b.bb-u1n6w72b.bb-u1n6w72b{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px}
.bb-u1nbaidv.bb-u1nbaidv.bb-u1nbaidv{color:#15803d}
.bb-u1niu4jb.bb-u1niu4jb.bb-u1niu4jb{color:var(--bb-success); margin-right:6px}
.bb-u1noxi0v.bb-u1noxi0v.bb-u1noxi0v{opacity:1}
.bb-u1nx2pj7.bb-u1nx2pj7.bb-u1nx2pj7{background-image:url('../images/unsplash-1474487548417-781cb71495f3-600.jpg')}
.bb-u1nyl8pj.bb-u1nyl8pj.bb-u1nyl8pj{font-size:13px; color:var(--bb-text)}
.bb-u1nz08aw.bb-u1nz08aw.bb-u1nz08aw{color:#cbd5e1}
.bb-u1o35vql.bb-u1o35vql.bb-u1o35vql{color:#d97706}
.bb-u1o60dwc.bb-u1o60dwc.bb-u1o60dwc{background-image:url('../images/mys-palace-320x180.jpg')}
.bb-u1ocfm3p.bb-u1ocfm3p.bb-u1ocfm3p{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.bb-u1of1hjl.bb-u1of1hjl.bb-u1of1hjl{margin-right:6px}
.bb-u1ohewr5.bb-u1ohewr5.bb-u1ohewr5{margin-bottom:18px}
.bb-u1oj7phw.bb-u1oj7phw.bb-u1oj7phw{margin-top:30px; padding-top:20px; border-top:1px solid var(--bb-border-light); color:var(--bb-text-muted); font-size:13px}
.bb-u1okhlr5.bb-u1okhlr5.bb-u1okhlr5{background-image:url('../images/unsplash-1602216056096-3b40cc0c9944-400.jpg');background-size:cover;background-position:center}
.bb-u1on326g.bb-u1on326g.bb-u1on326g{background:#ffe4e6;color:#9f1239}
.bb-u1oqbs3m.bb-u1oqbs3m.bb-u1oqbs3m{background:#dbeafe;color:#1e3a8a}
.bb-u1paowbr.bb-u1paowbr.bb-u1paowbr{display:flex; gap:8px; flex-wrap:wrap}
.bb-u1pky3x7.bb-u1pky3x7.bb-u1pky3x7{background-image:url('../images/ap-tourism-hero-1600x520.jpg')}
.bb-u1pq9ix1.bb-u1pq9ix1.bb-u1pq9ix1{background:linear-gradient(90deg,#e74c3c,#f87171)}
.bb-u1pr9eba.bb-u1pr9eba.bb-u1pr9eba{--c:#f43f5e}
.bb-u1pxxcg8.bb-u1pxxcg8.bb-u1pxxcg8{color:var(--bb-danger)}
.bb-u1qrbbcg.bb-u1qrbbcg.bb-u1qrbbcg{font-size:1.5rem;display:block;margin-bottom:6px;color:#d1d5db}
.bb-u1qugsnd.bb-u1qugsnd.bb-u1qugsnd{color:var(--bb-danger)}
.bb-u1r0xbb7.bb-u1r0xbb7.bb-u1r0xbb7{background-image:url('../images/goa-beach-city-320x180.jpg')}
.bb-u1r9r2r6.bb-u1r9r2r6.bb-u1r9r2r6{color:#9ca3af;font-weight:400}
.bb-u1rfk8dd.bb-u1rfk8dd.bb-u1rfk8dd{background:#fef3c7;color:#78350f}
.bb-u1rjcico.bb-u1rjcico.bb-u1rjcico{font-size:18px; margin-bottom:14px}
.bb-u1rvtuqp.bb-u1rvtuqp.bb-u1rvtuqp{font-size:24px; color:#fff; margin:0}
.bb-u1sevnuv.bb-u1sevnuv.bb-u1sevnuv{background:rgba(255,255,255,.95);border-radius:10px;padding:10px;margin-top:10px}
.bb-u1sitsc1.bb-u1sitsc1.bb-u1sitsc1{background:#ccfbf1; color:#0f766e}
.bb-u1t4wfx5.bb-u1t4wfx5.bb-u1t4wfx5{background:#fce7f3;color:#be185d}
.bb-u1t8fczz.bb-u1t8fczz.bb-u1t8fczz{background-image:url('../images/sedan4-big-1600x900.jpg')}
.bb-u1tbj0t8.bb-u1tbj0t8.bb-u1tbj0t8{--w:78%}
.bb-u1tjf4bl.bb-u1tjf4bl.bb-u1tjf4bl{background-image:url('../images/unsplash-1544551763-46a013bb70d5-600.jpg')}
.bb-u1tsznib.bb-u1tsznib.bb-u1tsznib{background:#dcfce7;color:#15803d}
.bb-u1ttbaw1.bb-u1ttbaw1.bb-u1ttbaw1{background:#fee2e2; color:#e74c3c; border-color:#fca5a5}
.bb-u1u3mi0i.bb-u1u3mi0i.bb-u1u3mi0i{color:#eab308}
.bb-u1u6prej.bb-u1u6prej.bb-u1u6prej{color:var(--bb-danger); margin-right:6px}
.bb-u1ung43j.bb-u1ung43j.bb-u1ung43j{text-align:center; margin-top:12px; font-size:12px; color:var(--bb-text-muted)}
.bb-u1uswcj8.bb-u1uswcj8.bb-u1uswcj8{background-image:url('../images/tourist-places-hero-1600x440.jpg')}
.bb-u1vyychz.bb-u1vyychz.bb-u1vyychz{color:var(--bb-accent)}
.bb-u1w68j71.bb-u1w68j71.bb-u1w68j71{background-image:url('../images/jai-hawamahal-320x180.jpg')}
.bb-u1wim53d.bb-u1wim53d.bb-u1wim53d{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.2);border:1.5px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center}
.bb-u1wlcjam.bb-u1wlcjam.bb-u1wlcjam{background:#fef3c7; color:#92400e; border-color:#fcd34d}
.bb-u1wrcyii.bb-u1wrcyii.bb-u1wrcyii{color:rgba(255,255,255,.8)}
.bb-u1x39psf.bb-u1x39psf.bb-u1x39psf{--w:15%}
.bb-u1xg5c6y.bb-u1xg5c6y.bb-u1xg5c6y{background-image:url('../images/ooty-hills-320x180.jpg')}
.bb-u1xg9l3h.bb-u1xg9l3h.bb-u1xg9l3h{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
.bb-u1xgxors.bb-u1xgxors.bb-u1xgxors{max-width:590px}
.bb-u1xjcfhh.bb-u1xjcfhh.bb-u1xjcfhh{color:#7c3aed}
.bb-u1yaqpzt.bb-u1yaqpzt.bb-u1yaqpzt{color:var(--bb-text-muted); margin-bottom:18px}
.bb-u1ydpwaa.bb-u1ydpwaa.bb-u1ydpwaa{width:1%}
.bb-u1yp3dad.bb-u1yp3dad.bb-u1yp3dad{color:rgba(255,255,255,.7); font-size:12px; margin-left:6px}
.bb-u1yql0sa.bb-u1yql0sa.bb-u1yql0sa{color:var(--bb-primary); font-weight:700; font-size:13px}
.bb-u1ywcb5p.bb-u1ywcb5p.bb-u1ywcb5p{background:#fff; border:1px solid #e2e8f0; border-left:4px solid #f97316; border-radius:12px; padding:14px 18px; margin-bottom:8px; display:flex; align-items:flex-start; gap:12px}
.bb-u1yzma4u.bb-u1yzma4u.bb-u1yzma4u{background:linear-gradient(135deg,#ecfdf5,#d1fae5); border:1px solid #6ee7b7; border-radius:var(--bb-radius-lg); padding:24px}
.bb-u22r50x.bb-u22r50x.bb-u22r50x{background:#fff; border:1px solid var(--bb-border-light); border-radius:var(--bb-radius-lg); padding:12px; box-shadow:var(--bb-shadow-sm)}
.bb-u234n0q.bb-u234n0q.bb-u234n0q{margin-top:30px; padding:18px; background:var(--bb-bg); border-radius:var(--bb-radius); display:inline-block}
.bb-u2p37m2.bb-u2p37m2.bb-u2p37m2{display:flex; gap:10px; justify-content:center; flex-wrap:wrap}
.bb-u2qxxnu.bb-u2qxxnu.bb-u2qxxnu{background:#fee2e2;color:#b91c1c}
.bb-u3lbxud.bb-u3lbxud.bb-u3lbxud{color:#6366f1}
.bb-u44lguk.bb-u44lguk.bb-u44lguk{background:linear-gradient(90deg,#7c3aed,#a78bfa)}
.bb-u4cvx2l.bb-u4cvx2l.bb-u4cvx2l{font-size:.72rem}
.bb-u4etuff.bb-u4etuff.bb-u4etuff{width:auto; padding:11px 28px}
.bb-u4k0npq.bb-u4k0npq.bb-u4k0npq{background:#dcfce7; color:#15803d; border-color:#86efac}
.bb-u4slmod.bb-u4slmod.bb-u4slmod{font-family:'JetBrains Mono', monospace; color:var(--bb-danger); font-size:14px}
.bb-u4smdsj.bb-u4smdsj.bb-u4smdsj{color:#f59e0b}
.bb-u4uy14g.bb-u4uy14g.bb-u4uy14g{background:#fef9c3;color:#854d0e}
.bb-u53xlni.bb-u53xlni.bb-u53xlni{width:auto; padding:10px 22px}
.bb-u5d5i1g.bb-u5d5i1g.bb-u5d5i1g{justify-content:center; margin-bottom:20px}
.bb-u5d60yq.bb-u5d60yq.bb-u5d60yq{position:relative; overflow:hidden}
.bb-u5f9gtl.bb-u5f9gtl.bb-u5f9gtl{font-size:26px; font-weight:800; margin-bottom:8px}
.bb-u5wuj2g.bb-u5wuj2g.bb-u5wuj2g{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:var(--bb-radius-lg); box-shadow:var(--bb-shadow-md)}
.bb-u610nc.bb-u610nc.bb-u610nc{background:#fee2e2; color:#e74c3c}
.bb-u6k076e.bb-u6k076e.bb-u6k076e{--c:#eab308}
.bb-u733ro9.bb-u733ro9.bb-u733ro9{background:#fff}
.bb-u7hv4f4.bb-u7hv4f4.bb-u7hv4f4{background:var(--bb-accent); color:var(--bb-dark); padding:3px 10px; border-radius:var(--bb-radius-pill); font-size:11px; font-weight:800}
.bb-u7mt8w3.bb-u7mt8w3.bb-u7mt8w3{background-image:url('../images/sedan4-card-600x400.jpg')}
.bb-u7ssmef.bb-u7ssmef.bb-u7ssmef{margin-right:4px}
.bb-u801tx3.bb-u801tx3.bb-u801tx3{background-image:url('../images/dest-bangalore-mysore-600.jpg')}
.bb-u81j45v.bb-u81j45v.bb-u81j45v{color:#eab308; margin-right:4px}
.bb-u851toi.bb-u851toi.bb-u851toi{padding:0; margin:14px 0 0; list-style:none}
.bb-u853es5.bb-u853es5.bb-u853es5{width:100%;margin-top:4px}
.bb-u8e40fh.bb-u8e40fh.bb-u8e40fh{background:#ccfbf1; color:#0f766e; border-color:#5eead4}
.bb-u8hsi65.bb-u8hsi65.bb-u8hsi65{color:#94a3b8}
.bb-u8t1bqd.bb-u8t1bqd.bb-u8t1bqd{color:#ec4899}
.bb-u8u03cs.bb-u8u03cs.bb-u8u03cs{border-radius:6px; padding:10px 24px}
.bb-u8w7ylg.bb-u8w7ylg.bb-u8w7ylg{color:var(--bb-primary); font-weight:700}
.bb-u8xx9vj.bb-u8xx9vj.bb-u8xx9vj{background:#fff; border-radius:0 0 14px 14px}
.bb-u8z1egw.bb-u8z1egw.bb-u8z1egw{--d:.15s}
.bb-u95g652.bb-u95g652.bb-u95g652{border:1px solid rgba(0,0,0,.10); border-radius:16px; overflow:hidden; box-shadow:0 2px 14px rgba(0,0,0,.08); background:linear-gradient(135deg,#fb923c 0%,#f97316 100%); margin-bottom:14px; padding:0}
.bb-u98fwby.bb-u98fwby.bb-u98fwby{margin-left:4px}
.bb-u99c5v9.bb-u99c5v9.bb-u99c5v9{width:60px; height:60px; border-radius:12px; background:var(--bb-primary-soft); color:var(--bb-primary); display:flex; align-items:center; justify-content:center; font-size:24px}
.bb-u9j5qcv.bb-u9j5qcv.bb-u9j5qcv{color:#f97316;margin-top:2px;flex-shrink:0}
.bb-u9wn035.bb-u9wn035.bb-u9wn035{font-size:18px;color:#fff}
.bb-ua2ky3g.bb-ua2ky3g.bb-ua2ky3g{color:var(--bb-primary);margin-right:8px}
.bb-uakjizx.bb-uakjizx.bb-uakjizx{width:100%}
.bb-uapesz4.bb-uapesz4.bb-uapesz4{--c:#7c3aed}
.bb-ub2r17g.bb-ub2r17g.bb-ub2r17g{background:linear-gradient(135deg,#eab308,#a16207); padding:40px 0}
.bb-ubcgx49.bb-ubcgx49.bb-ubcgx49{font-weight:400; color:var(--bb-text-muted); font-size:12px}
.bb-ubfbckb.bb-ubfbckb.bb-ubfbckb{background:#f97316}
.bb-ubu4gq.bb-ubu4gq.bb-ubu4gq{display:inline-flex; align-items:center; gap:6px}
.bb-ubyhf10.bb-ubyhf10.bb-ubyhf10{color:#f97316;font-weight:700}
.bb-uc738md.bb-uc738md.bb-uc738md{background:#dbeafe; color:#1d4ed8; border-color:#93c5fd}
.bb-ucfq9pj.bb-ucfq9pj.bb-ucfq9pj{background:#f3e8ff; color:#7c3aed}
.bb-uci78o.bb-uci78o.bb-uci78o{font-weight:700; margin-top:30px; font-size:13px; text-transform:uppercase; letter-spacing:1px; color:var(--bb-text-muted)}
.bb-ucucbzg.bb-ucucbzg.bb-ucucbzg{width:78%}
.bb-ucv1cqg.bb-ucv1cqg.bb-ucv1cqg{border:1px solid rgba(0,0,0,.10); border-radius:16px; overflow:hidden; box-shadow:0 2px 14px rgba(0,0,0,.08); background:linear-gradient(135deg,#fb923c 0%,#f97316 100%)}
.bb-ucykl4i.bb-ucykl4i.bb-ucykl4i{font-size:1rem; color:#e74c3c}
.bb-udnk8f9.bb-udnk8f9.bb-udnk8f9{width:auto; padding:11px 24px; display:inline-block; background:var(--bb-dark)}
.bb-udsakzp.bb-udsakzp.bb-udsakzp{padding:8px 0; border-bottom:1px dashed var(--bb-border-light); font-size:13.5px}
.bb-udtsocg.bb-udtsocg.bb-udtsocg{--w:1%}
.bb-uduso0k.bb-uduso0k.bb-uduso0k{background-image:url('../images/mum-gateway-320x180.jpg')}
.bb-udyqz50.bb-udyqz50.bb-udyqz50{font-size:20px; margin-top:24px; color:#e74c3c}
.bb-udzbs3a.bb-udzbs3a.bb-udzbs3a{font-size:15px;font-weight:600}
.bb-udzv0wq.bb-udzv0wq.bb-udzv0wq{font-size:20px; margin-bottom:6px}
.bb-ue95095.bb-ue95095.bb-ue95095{display:flex; gap:10px; justify-content:center; font-size:48px}
.bb-uesyigp.bb-uesyigp.bb-uesyigp{height:180px;object-fit:cover}
.bb-uf1liqv.bb-uf1liqv.bb-uf1liqv{color:var(--bb-primary)}
.bb-uf8qx2d.bb-uf8qx2d.bb-uf8qx2d{width:4%}
.bb-ufaci8w.bb-ufaci8w.bb-ufaci8w{margin-bottom:8px}
.bb-ufmibh.bb-ufmibh.bb-ufmibh{text-align:center;margin-top:8px}
.bb-ufqbx5v.bb-ufqbx5v.bb-ufqbx5v{background:linear-gradient(135deg,#f97316,#c2410c)}
.bb-uft2wf3.bb-uft2wf3.bb-uft2wf3{background-image:url('../images/dest-kanyakumari-400.jpg');background-size:cover;background-position:center}
.bb-ug2rnps.bb-ug2rnps.bb-ug2rnps{flex:1}
.bb-ug36dcy.bb-ug36dcy.bb-ug36dcy{background:#fef3c7;color:#92400e}
.bb-ugd7pnf.bb-ugd7pnf.bb-ugd7pnf{background:#dbeafe;color:#1d4ed8}
.bb-ugkc744.bb-ugkc744.bb-ugkc744{background:var(--bb-success); color:#fff; padding:4px 10px; border-radius:var(--bb-radius-pill); font-size:11px; font-weight:800}
.bb-ugnb385.bb-ugnb385.bb-ugnb385{background-image:url('../images/unsplash-1602216056096-3b40cc0c9944-600.jpg')}
.bb-ugqm4ze.bb-ugqm4ze.bb-ugqm4ze{background:#ede9fe;color:#4c1d95}
.bb-ugrp1jl.bb-ugrp1jl.bb-ugrp1jl{font-weight:700; margin-bottom:12px}
.bb-uh18avz.bb-uh18avz.bb-uh18avz{font-size:22px; margin-bottom:14px}
.bb-uh66u19.bb-uh66u19.bb-uh66u19{color:red}
.bb-uh6d0lt.bb-uh6d0lt.bb-uh6d0lt{max-width:600px; margin:20px auto 0; position:relative}
.bb-uhqczrq.bb-uhqczrq.bb-uhqczrq{background:#ef4444}
.bb-uhtos2n.bb-uhtos2n.bb-uhtos2n{display:flex; gap:14px; align-items:center}
.bb-ui5vv12.bb-ui5vv12.bb-ui5vv12{width:100%;border-radius:6px;border:1px solid #cbd5e1;padding:8px 12px;font-size:0.92rem;resize:vertical;min-height:64px}
.bb-uijc3j6.bb-uijc3j6.bb-uijc3j6{font-size:16px; display:block}
.bb-uiquue3.bb-uiquue3.bb-uiquue3{position:absolute;top:0;right:0;overflow:hidden;width:80px;height:80px}
.bb-uiu9hwg.bb-uiu9hwg.bb-uiu9hwg{font-weight:700;color:var(--bb-primary);margin-bottom:12px}
.bb-uiw5yc9.bb-uiw5yc9.bb-uiw5yc9{--c:#06b6d4}
.bb-uiy84um.bb-uiy84um.bb-uiy84um{color:#0f766e}
.bb-uj3af80.bb-uj3af80.bb-uj3af80{color:var(--bb-accent); font-size:24px}
.bb-ujpct6j.bb-ujpct6j.bb-ujpct6j{color:var(--bb-text-muted); display:block}
.bb-uk6tmzd.bb-uk6tmzd.bb-uk6tmzd{position:relative}
.bb-ukqm00l.bb-ukqm00l.bb-ukqm00l{background-image:url('../images/india-tourism-hero-1600x560.jpg')}
.bb-ukxtjnt.bb-ukxtjnt.bb-ukxtjnt{background:transparent; border:0; color:var(--bb-text-muted); cursor:pointer}
.bb-ukxuz95.bb-ukxuz95.bb-ukxuz95{background:#dbeafe; border-color:#93c5fd; color:#1d4ed8}
.bb-ul0dqgg.bb-ul0dqgg.bb-ul0dqgg{background-image:url('../images/wonderla-hero-1600x560.jpg')}
.bb-ul9k232.bb-ul9k232.bb-ul9k232{margin-top:6px}
.bb-uldyi70.bb-uldyi70.bb-uldyi70{color:#0ea5e9}
.bb-ulk6joc.bb-ulk6joc.bb-ulk6joc{position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2260%22 height=%2260%22><circle cx=%2230%22 cy=%2230%22 r=%2220%22 fill=%22none%22 stroke=%22rgba(255,255,255,.08)%22 stroke-width=%221%22/></svg>') repeat}
.bb-ulma7nt.bb-ulma7nt.bb-ulma7nt{color:var(--bb-info)}
.bb-uln5ts8.bb-uln5ts8.bb-uln5ts8{color:#ef4444}
.bb-ulsfoze.bb-ulsfoze.bb-ulsfoze{display:flex; flex-wrap:wrap; gap:10px}
.bb-umn5j5m.bb-umn5j5m.bb-umn5j5m{flex:1 1 100%}
.bb-umvjn0n.bb-umvjn0n.bb-umvjn0n{justify-content:center; margin-bottom:30px}
.bb-umyh6hu.bb-umyh6hu.bb-umyh6hu{background:linear-gradient(90deg,#d97706,#f59e0b)}
.bb-un5izcv.bb-un5izcv.bb-un5izcv{color:#f97316}
.bb-un6ly7r.bb-un6ly7r.bb-un6ly7r{background-image:url('../images/dest-mysore-400.jpg');background-size:cover;background-position:center}
.bb-unghc1i.bb-unghc1i.bb-unghc1i{color:#0891b2}
.bb-uobkrst.bb-uobkrst.bb-uobkrst{background-image:url('../images/resorts-hero-1600x440.jpg')}
.bb-uowzggg.bb-uowzggg.bb-uowzggg{background-image:url('../images/unsplash-1592659762303-90081d34b277-400.jpg');background-size:cover;background-position:center}
.bb-up3ecfk.bb-up3ecfk.bb-up3ecfk{background:linear-gradient(160deg,#fff7ed 0%,#fef3c7 50%,#ecfdf5 100%); min-height:100vh; display:flex; align-items:center; justify-content:center; padding:30px}
.bb-upmot67.bb-upmot67.bb-upmot67{background:linear-gradient(90deg,#1d4ed8,#60a5fa)}
.bb-upt9v3l.bb-upt9v3l.bb-upt9v3l{background:#e0f2fe; color:#0891b2; border-color:#7dd3fc}
.bb-uq3fytj.bb-uq3fytj.bb-uq3fytj{background:#f3e8ff; border-color:#c4b5fd; color:#7c3aed}
.bb-uqans95.bb-uqans95.bb-uqans95{margin-top:14px;display:flex;align-items:flex-start;gap:10px;background:#fff7ed;border:1.5px solid #fed7aa;border-left:4px solid #f97316;border-radius:8px;padding:12px 14px;font-size:13px;color:#92400e;line-height:1.6}
.bb-uqtf3m8.bb-uqtf3m8.bb-uqtf3m8{color:var(--bb-info); margin-right:6px}
.bb-uqwmv9b.bb-uqwmv9b.bb-uqwmv9b{padding:64px 0; background:#f8fafc}
.bb-uqx5v4y.bb-uqx5v4y.bb-uqx5v4y{background:#fff7ed; color:#f97316}
.bb-uqxvb1k.bb-uqxvb1k.bb-uqxvb1k{width:16%}
.bb-urd53k4.bb-urd53k4.bb-urd53k4{--c:#ef4444}
.bb-urhgsa1.bb-urhgsa1.bb-urhgsa1{background-image:url('../images/hyd-charminar-320x180.jpg')}
.bb-urxyxuu.bb-urxyxuu.bb-urxyxuu{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:20px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.bb-us1qtrd.bb-us1qtrd.bb-us1qtrd{background:var(--bb-primary-soft); color:var(--bb-primary); border-radius:var(--bb-radius); margin-bottom:4px}
.bb-usb4wkh.bb-usb4wkh.bb-usb4wkh{color:#64748b;margin-bottom:1.5rem;line-height:1.7}
.bb-uspmo6q.bb-uspmo6q.bb-uspmo6q{background:var(--bb-primary);color:#fff;border-radius:6px}
.bb-uswd9qi.bb-uswd9qi.bb-uswd9qi{color:var(--bb-text-muted); margin-bottom:24px; font-size:14.5px}
.bb-ut46b0k.bb-ut46b0k.bb-ut46b0k{background:linear-gradient(135deg,#1e293b,#0a1525); padding:36px 0 50px}
.bb-ut4uyin.bb-ut4uyin.bb-ut4uyin{margin:0; color:var(--bb-text); font-size:14.5px; line-height:1.7}
.bb-utb4em8.bb-utb4em8.bb-utb4em8{--c:#10b981}
.bb-utk5jgs.bb-utk5jgs.bb-utk5jgs{font-size:22px; margin-bottom:6px}
.bb-utkuwfz.bb-utkuwfz.bb-utkuwfz{background:#ccfbf1;color:#134e4a}
.bb-utv6ggw.bb-utv6ggw.bb-utv6ggw{background:#dcfce7; border-color:#86efac; color:#15803d}
.bb-uu3xhy1.bb-uu3xhy1.bb-uu3xhy1{margin-top:14px}
.bb-uu4sq4c.bb-uu4sq4c.bb-uu4sq4c{text-align:center; font-size:12.5px; color:var(--bb-text-muted); margin-bottom:14px}
.bb-uuam0ya.bb-uuam0ya.bb-uuam0ya{background:#fef3c7; border-color:#fcd34d; color:#92400e}
.bb-uub6xeu.bb-uub6xeu.bb-uub6xeu{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:800;color:#fff;letter-spacing:.01em}
.bb-uuv0gbi.bb-uuv0gbi.bb-uuv0gbi{color:#f97316; margin-right:6px}
.bb-uv3v18r.bb-uv3v18r.bb-uv3v18r{background-image:url('../images/unsplash-1512343879784-a960bf40e7f2-400.jpg');background-size:cover;background-position:center}
.bb-uv8owns.bb-uv8owns.bb-uv8owns{background:#f8fafc; border:1px solid var(--bb-border-light); border-radius:var(--bb-radius-lg); padding:20px 24px; margin-bottom:28px}
.bb-uve8d8t.bb-uve8d8t.bb-uve8d8t{background:#ccfbf1; border-color:#5eead4; color:#0f766e}
.bb-uvgl326.bb-uvgl326.bb-uvgl326{color:var(--bb-text-muted)}
.bb-uvkqk1t.bb-uvkqk1t.bb-uvkqk1t{position:absolute; left:18px; top:50%; transform:translateY(-50%); color:var(--bb-text-muted); z-index:2}
.bb-uvs67hj.bb-uvs67hj.bb-uvs67hj{color:var(--bb-text-muted); font-size:14px; margin:0}
.bb-uvtjamd.bb-uvtjamd.bb-uvtjamd{background:#dcfce7; color:#15803d}
.bb-uw1n4hm.bb-uw1n4hm.bb-uw1n4hm{color:#f59e0b}
.bb-uw48xaz.bb-uw48xaz.bb-uw48xaz{font-size:16px;color:#fff}
.bb-uwpj4s9.bb-uwpj4s9.bb-uwpj4s9{width:25%}
.bb-uwsr0ag.bb-uwsr0ag.bb-uwsr0ag{background:#fef3c7; color:#92400e}
.bb-uwswzk9.bb-uwswzk9.bb-uwswzk9{background:linear-gradient(90deg,#0891b2,#22d3ee)}
.bb-ux40801.bb-ux40801.bb-ux40801{--d:.25s}
.bb-uxne5bp.bb-uxne5bp.bb-uxne5bp{background-image:url('../images/unsplash-1544551763-46a013bb70d5-400.jpg');background-size:cover;background-position:center}
.bb-uxqudzr.bb-uxqudzr.bb-uxqudzr{background:rgba(255,255,255,.15); padding:3px 10px; border-radius:var(--bb-radius-pill); font-size:12px}
.bb-uxusoqq.bb-uxusoqq.bb-uxusoqq{left:62%;width:38%}
.bb-uxzvwz0.bb-uxzvwz0.bb-uxzvwz0{background-image:url('../images/del-redfort-320x180.jpg')}
.bb-uybih1.bb-uybih1.bb-uybih1{background:#fef3c7; color:#d97706}
.bb-uyn7d9n.bb-uyn7d9n.bb-uyn7d9n{display:flex;flex-direction:column;align-items:center;gap:4px}
.bb-uyrycg1.bb-uyrycg1.bb-uyrycg1{padding:64px 0; background:#fff}
.bb-uzar930.bb-uzar930.bb-uzar930{width:100%; padding:14px 18px 14px 46px; border:0; border-radius:var(--bb-radius-pill); font-size:15px; box-shadow:var(--bb-shadow-md); font-family:inherit; outline:none}
.bb-uziees6.bb-uziees6.bb-uziees6{color:#0d9488}
.bb-uzk1opl.bb-uzk1opl.bb-uzk1opl{color:#e74c3c}
.bb-uzvjgjv.bb-uzvjgjv.bb-uzvjgjv{font-size:18px; color:#047857; margin-bottom:8px}
