/* ============================================================
   BeMyTraveler Version - Main Stylesheet
   Modern Travel Theme inspired by Airbnb & Booking.com
   ============================================================ */

/* === CSS Variables — Professional Travel Palette === */
/*
 * Primary (#1E3A8A)         → Royal Navy — premium, trust
 * Secondary (#EA580C)       → Sunset Orange — CTAs, Book Now, urgency
 * Accent (#0D9488)          → Deep Teal — icons, badges
 * Sky (#0EA5E9)             → Sky Blue — info, secondary
 * Gold (#D97706)            → Amber Gold — stars, offers
 * Text (#0F172A)            → Deep Slate
 * Background (#FFFFFF)      → Clean white
 */
:root {
  /* Fixed-UI layout tokens.
       --bmt-bottom-stack = height occupied by fixed bars at the bottom edge.
       It is 0 on desktop and grows on mobile, so floating controls can offset
       themselves with calc() instead of hardcoding magic numbers. */
  --bmt-bottom-nav-h: 64px;
  --bmt-book-bar-h: 60px;
  --bmt-bottom-stack: 0px;
  --bmt-fab-gap: 12px;
  --bmt-ai-launcher-h: 48px;
  --bmt-header-h: 78px;

  --bmt-primary: #1e3a8a;
  --bmt-primary-rgb: 30, 58, 138;
  --bmt-primary-light: #3b5cc4;
  --bmt-primary-dark: #152d6e;
  --bmt-primary-gradient: linear-gradient(135deg, #1e3a8a 0%, #3b5cc4 100%);
  --bmt-secondary: #ea580c;
  --bmt-secondary-rgb: 234, 88, 12;
  --bmt-secondary-light: #f97316;
  --bmt-secondary-dark: #c2410c;
  --bmt-accent: #0d9488;
  --bmt-accent-rgb: 13, 148, 136;
  --bmt-success: #059669;
  --bmt-danger: #dc2626;
  --bmt-warning: #d97706;
  --bmt-teal: #0d9488;
  --bmt-sky: #0ea5e9;
  --bmt-gold: #d97706;
  --bmt-gold-light: rgba(217, 119, 6, 0.1);
  --bmt-gold-gradient: linear-gradient(135deg, #ea580c 0%, #d97706 100%);
  --bmt-star: #f59e0b;

  --bmt-text: #0f172a;
  --bmt-text-light: #334155;
  --bmt-text-muted: #64748b;
  --bmt-white: #ffffff;
  --bmt-bg: #f8fafc;
  --bmt-bg-dark: #0f172a;
  --bmt-card-bg: #ffffff;
  --bmt-border: #e2e8f0;

  /* Button-specific overrides */
  --bmt-btn-secondary-text: #ffffff;

  --bmt-font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --bmt-font-heading: "Plus Jakarta Sans", "Inter", sans-serif;

  --bmt-radius: 12px;
  --bmt-radius-sm: 8px;
  --bmt-radius-lg: 16px;
  --bmt-radius-xl: 24px;
  --bmt-radius-full: 9999px;

  --bmt-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --bmt-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
  --bmt-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.04);
  --bmt-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.04);

  --bmt-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --bmt-transition-fast: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  --bmt-container: 1280px;

  /* Focus ring for accessibility */
  --bmt-focus-ring: 0 0 0 3px rgba(30, 58, 138, 0.3);
}

/* === Reset & Base === */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Fix jQuery UI datepicker rendering at bottom of body */
#ui-datepicker-div {
  display: none;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}
html,
body {
  margin: 0;
  padding: 0;
}

html {
  scroll-padding-top: calc(var(--bmt-header-h) + 12px);
}

body {
  font-family: var(--bmt-font);
  font-size: 15px;
  line-height: 1.6;
  color: var(--bmt-text);
  background: var(--bmt-white);
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}
a {
  color: var(--bmt-primary);
  text-decoration: none;
  transition: var(--bmt-transition);
}
a:hover {
  color: var(--bmt-primary-dark);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--bmt-font-heading);
  font-weight: 700;
  line-height: 1.3;
  color: var(--bmt-text);
}
.bmt-hero h1,
.bmt-hero h2,
.bmt-hero h3,
.bmt-cta h1,
.bmt-cta h2,
.bmt-cta h3,
.bmt-page-header h1,
.bmt-page-header h2,
.bmt-page-header h3,
.bmt-newsletter h1,
.bmt-newsletter h2,
.bmt-newsletter h3,
.bmt-footer h1,
.bmt-footer h2,
.bmt-footer h3,
.bmt-footer h4,
.bmt-footer h5,
.bmt-stats h2,
.bmt-section--dark h1,
.bmt-section--dark h2,
.bmt-section--dark h3 {
  color: #fff !important;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.skip-link:focus {
  clip: auto;
  position: fixed;
  top: 5px;
  left: 5px;
  z-index: 100000;
  background: var(--bmt-primary);
  color: #fff;
  padding: 10px 20px;
  border-radius: var(--bmt-radius-sm);
}

/* === Container === */
.bmt-container {
  width: 100%;
  max-width: var(--bmt-container);
  margin: 0 auto;
  padding: 0 20px;
}

/* === Topbar === */
.bmt-topbar {
  background: var(--bmt-bg-dark);
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  padding: 8px 0;
}
.bmt-topbar .bmt-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bmt-topbar__left,
.bmt-topbar__right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.bmt-topbar__item {
  color: #fff;
  display: flex;
  align-items: center;
  gap: 6px;
}
.bmt-topbar__item:hover {
  color: #fff;
  opacity: 0.85;
}
.bmt-topbar__social {
  display: flex;
  align-items: center;
  gap: 12px;
}
.bmt-topbar__social a {
  color: #fff;
  font-size: 14px;
  transition: color 0.2s;
}
.bmt-topbar__social a i {
  color: #fff;
}
.bmt-topbar__social a:hover,
.bmt-topbar__social a:hover i {
  color: var(--bmt-secondary, #ea580c);
}

@media (max-width: 768px) {
  .bmt-topbar {
    display: none;
  }
}

/* === Header — Smart Sticky with Scroll Shrink === */
.bmt-header {
  background: var(--bmt-white);
  box-shadow: var(--bmt-shadow);
  position: sticky;
  top: 0;
  z-index: 1000;
  transition:
    padding 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}
.bmt-header.scrolled {
  box-shadow: 0 4px 20px rgba(var(--bmt-primary-rgb, 30, 58, 138), 0.08);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid rgba(var(--bmt-primary-rgb, 30, 58, 138), 0.06);
}
.bmt-header.scrolled .bmt-header__inner {
  padding: 8px 0;
}
.bmt-header.scrolled .bmt-header__logo img,
.bmt-header.scrolled .bmt-logo {
  max-height: 60px;
}
.bmt-header.scrolled .bmt-header__site-name {
  font-size: 19px;
}

/* Auto-hide header on scroll-down (re-appear on scroll-up) */
.bmt-header--hidden {
  transform: translateY(-100%);
}

.bmt-header--transparent {
  background: transparent;
  box-shadow: none;
  position: absolute;
  width: 100%;
}
.bmt-header--transparent .bmt-nav__menu > li > a,
.bmt-header--transparent .bmt-header__site-name {
  color: #fff;
}
.bmt-header--transparent.scrolled {
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 4px 20px rgba(var(--bmt-primary-rgb, 30, 58, 138), 0.08);
  position: sticky;
}
.bmt-header--transparent.scrolled .bmt-nav__menu > li > a,
.bmt-header--transparent.scrolled .bmt-header__site-name {
  color: var(--bmt-text);
}

.bmt-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  gap: 24px;
  transition: padding 0.3s ease;
}

.bmt-header__logo-wrap {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.bmt-header__logo-wrap .custom-logo-link {
  display: contents;
}
.bmt-header__logo img,
.bmt-logo {
  max-height: 120px;
  width: auto;
  transition: max-height 0.3s ease;
}
.bmt-header__site-name {
  font-family: var(--bmt-font-heading);
  font-size: 22px;
  font-weight: 800;
  color: var(--bmt-secondary);
  text-decoration: none;
}
.bmt-header__site-name:hover {
  color: var(--bmt-secondary-dark);
}

/* Navigation */
.bmt-nav__menu {
  display: flex;
  list-style: none;
  gap: 4px;
  align-items: center;
}
.bmt-nav__menu li {
  position: relative;
}
.bmt-nav__menu > li > a {
  display: block;
  padding: 10px 16px;
  font-size: 15px;
  font-weight: 500;
  color: var(--bmt-text) !important;
  border-radius: var(--bmt-radius-sm);
  transition: var(--bmt-transition);
}
.bmt-nav__menu > li > a:hover,
.bmt-nav__menu > li.current-menu-item > a {
  color: var(--bmt-secondary) !important;
  background: var(--bmt-gold-light);
}
.bmt-nav__menu > li.current-menu-item > a {
  font-weight: 600;
}
.bmt-nav__menu > li > a:focus-visible {
  outline: none;
  box-shadow: var(--bmt-focus-ring);
}

/* Dropdown */
.bmt-nav__menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--bmt-white);
  border-radius: var(--bmt-radius);
  box-shadow: var(--bmt-shadow-xl);
  min-width: 220px;
  padding: 8px;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: var(--bmt-transition);
  z-index: 100;
}
.bmt-nav__menu li:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.bmt-nav__menu .sub-menu a {
  display: block;
  padding: 10px 14px;
  font-size: 14px;
  color: var(--bmt-text);
  border-radius: var(--bmt-radius-sm);
}
.bmt-nav__menu .sub-menu a:hover {
  background: var(--bmt-bg);
  color: var(--bmt-primary);
}

/* Header Actions */
.bmt-header__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bmt-header__search-toggle {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-full);
  cursor: pointer;
  font-size: 16px;
  color: var(--bmt-text);
  transition: var(--bmt-transition);
}
.bmt-header__search-toggle:hover {
  background: var(--bmt-primary);
  color: #fff;
}
.bmt-header__search-toggle:focus-visible {
  outline: none;
  box-shadow: var(--bmt-focus-ring);
}

/* Mobile Toggle */
.bmt-mobile-toggle {
  display: none;
  width: 40px;
  height: 40px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
}
.bmt-mobile-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--bmt-text);
  border-radius: 2px;
  transition: var(--bmt-transition);
}

@media (max-width: 992px) {
  .bmt-nav {
    display: none;
  }
  .bmt-mobile-toggle {
    display: flex;
  }
}

/* Search Overlay */
.bmt-search-overlay {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bmt-white);
  padding: 20px 0;
  box-shadow: var(--bmt-shadow-lg);
  display: none;
  z-index: 99;
}
.bmt-search-overlay.active {
  display: block;
}
.bmt-search-form {
  display: flex;
  gap: 12px;
  max-width: 600px;
  margin: 0 auto;
}
.bmt-search-form__input {
  flex: 1;
  padding: 12px 20px;
  border: 2px solid var(--bmt-border);
  border-radius: var(--bmt-radius-full);
  font-size: 16px;
  outline: none;
  transition: var(--bmt-transition);
}
.bmt-search-form__input:focus {
  border-color: var(--bmt-primary);
}
.bmt-search-form__submit,
.bmt-search-form__close {
  width: 48px;
  height: 48px;
  border: none;
  border-radius: var(--bmt-radius-full);
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bmt-search-form__submit {
  background: var(--bmt-primary);
  color: #fff;
}
.bmt-search-form__close {
  background: var(--bmt-bg);
  color: var(--bmt-text);
}

/* Mobile Nav */
.bmt-mobile-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  pointer-events: none;
}
.bmt-mobile-nav.active {
  pointer-events: auto;
}
.bmt-mobile-nav__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.bmt-mobile-nav.active .bmt-mobile-nav__overlay {
  opacity: 1;
}
.bmt-mobile-nav__drawer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 320px;
  max-width: 85%;
  background: var(--bmt-white);
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.15);
}
.bmt-mobile-nav.active .bmt-mobile-nav__drawer {
  transform: translateX(0);
}
.bmt-mobile-nav__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid var(--bmt-border);
}
.bmt-mobile-nav__close {
  width: 36px;
  height: 36px;
  border: none;
  background: var(--bmt-bg);
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
  color: var(--bmt-text);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--bmt-transition);
}
.bmt-mobile-nav__close:hover {
  background: var(--bmt-danger);
  color: #fff;
}
.bmt-mobile-nav__menu {
  list-style: none;
  padding: 12px;
}
.bmt-mobile-nav__menu li a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  font-size: 15px;
  color: var(--bmt-text);
  border-radius: var(--bmt-radius-sm);
  transition: var(--bmt-transition-fast);
}
.bmt-mobile-nav__menu li a:hover {
  background: var(--bmt-bg);
  color: var(--bmt-secondary);
}
.bmt-mobile-nav__menu li.current-menu-item > a {
  color: var(--bmt-secondary);
  background: var(--bmt-gold-light);
  font-weight: 600;
}
.bmt-mobile-nav__menu .sub-menu {
  list-style: none;
  padding-left: 16px;
  display: none;
}
.bmt-mobile-nav__menu .sub-menu.open {
  display: block;
}
.bmt-mobile-nav__menu .menu-item-has-children > a::after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 12px;
  margin-left: auto;
  transition: transform 0.2s ease;
}
.bmt-mobile-nav__menu .menu-item-has-children > a.open::after {
  transform: rotate(180deg);
}

/* === Hero Section === */
.bmt-hero {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--bmt-primary-gradient);
}
.bmt-hero__bg {
  position: absolute;
  inset: 0;
  background: url("") center/cover no-repeat;
}
.bmt-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(10, 18, 35, 0.75) 0%, rgba(20, 60, 160, 0.55) 100%);
}
.bmt-hero .bmt-container {
  position: relative;
  z-index: 2;
}
.bmt-hero__content {
  text-align: center;
  margin: 0 auto;
}
.bmt-hero__title {
  font-family: var(--bmt-font-heading);
  font-size: clamp(32px, 5vw, 60px);
  font-weight: 800;
  color: #fff !important;
  margin-bottom: 16px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
  animation: bmt-hero-in 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.bmt-hero__subtitle {
  font-size: clamp(14px, 1.4vw, 18px);
  color: rgba(255, 255, 255, 0.95) !important;
  margin-bottom: 40px;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
  animation: bmt-hero-in 0.6s 0.08s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
@keyframes bmt-hero-in {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .bmt-hero__title,
  .bmt-hero__subtitle {
    animation: none;
  }
}

/* Hero Search */
.bmt-hero-search {
  background: var(--bmt-white);
  border-radius: var(--bmt-radius-lg);
  box-shadow: var(--bmt-shadow-xl);
  overflow: hidden;
  max-width: 900px;
  margin: 0 auto;
}
.bmt-hero-search__tabs {
  display: flex;
  border-bottom: 1px solid var(--bmt-border);
}
.bmt-hero-search__tab {
  flex: 1;
  padding: 15px 20px;
  border: none;
  background: none;
  font-size: 14px;
  font-weight: 600;
  color: #888;
  cursor: pointer;
  transition: var(--bmt-transition);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.bmt-hero-search__tab.active,
.bmt-hero-search__tab:hover {
  color: var(--bmt-secondary, #c9a227);
  background: rgba(201, 162, 39, 0.08);
}
.bmt-hero-search__tab.active {
  border-bottom: 3px solid var(--bmt-secondary, #c9a227);
  color: var(--bmt-secondary, #c9a227);
}
.bmt-hero-search__tab:focus-visible {
  outline: none;
  box-shadow: inset var(--bmt-focus-ring);
}

.bmt-hero-search__form {
  display: flex;
  align-items: flex-end;
  padding: 20px 24px 24px;
  gap: 14px;
}
.bmt-hero-search__field {
  flex: 1;
}
.bmt-hero-search__field label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #999;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.bmt-hero-search__field label i {
  color: var(--bmt-secondary, #c9a227);
  font-size: 12px;
}
.bmt-hero-search__field select,
.bmt-hero-search__field input {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: var(--bmt-radius-sm);
  font-size: 14px;
  color: #1e293b;
  background: #f8fafc;
  outline: none;
  transition: var(--bmt-transition);
  font-weight: 500;
}
.bmt-hero-search__field select:focus,
.bmt-hero-search__field input:focus {
  border-color: var(--bmt-secondary, #c9a227);
  box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
  background: #fff;
}

.bmt-hero-search__submit {
  white-space: nowrap;
  height: 46px;
  padding: 0 28px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.3px;
  gap: 8px;
}

/* === Buttons === */
.bmt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 24px;
  font-size: 14px;
  font-weight: 600;
  font-family: var(--bmt-font);
  border: 2px solid transparent;
  border-radius: var(--bmt-radius-sm);
  cursor: pointer;
  transition: var(--bmt-transition);
  text-decoration: none;
  line-height: 1.4;
}
.bmt-btn--primary {
  background: var(--bmt-btn-primary-bg, var(--bmt-primary));
  color: var(--bmt-btn-primary-text, #fff);
  border-color: var(--bmt-btn-primary-bg, var(--bmt-primary));
}
.bmt-btn--primary:hover {
  background: var(--bmt-primary-dark, #020617);
  border-color: var(--bmt-primary-dark, #020617);
  color: var(--bmt-btn-primary-text, #fff);
}
.bmt-btn--secondary {
  background: var(--bmt-btn-secondary-bg, var(--bmt-secondary));
  color: #fff;
  border-color: var(--bmt-btn-secondary-bg, var(--bmt-secondary));
  font-weight: 600;
}
.bmt-btn--secondary:hover {
  background: var(--bmt-secondary-dark, #b8911f);
  border-color: var(--bmt-secondary-dark, #b8911f);
  color: #fff;
  transform: translateY(-1px);
}
.bmt-btn--outline {
  background: transparent;
  color: var(--bmt-secondary, #c9a227);
  border-color: var(--bmt-secondary, #c9a227);
}
.bmt-btn--outline:hover,
.bmt-btn--outline:focus-visible {
  background: var(--bmt-secondary, #c9a227);
  color: #fff;
  border-color: var(--bmt-secondary, #c9a227);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(201, 162, 39, 0.35);
}
.bmt-btn--outline-secondary {
  background: transparent;
  color: var(--bmt-secondary, #c9a227);
  border-color: var(--bmt-secondary, #c9a227);
}
.bmt-btn--outline-secondary:hover,
.bmt-btn--outline-secondary:focus-visible {
  background: var(--bmt-secondary, #c9a227);
  color: #fff;
  border-color: var(--bmt-secondary, #c9a227);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(201, 162, 39, 0.35);
}
.bmt-btn:focus-visible {
  outline: none;
  box-shadow: var(--bmt-focus-ring);
}
.bmt-btn:active {
  transform: scale(0.97);
}
.bmt-btn--sm {
  padding: 6px 16px;
  font-size: 13px;
}
.bmt-btn--lg {
  padding: 14px 32px;
  font-size: 16px;
}
.bmt-btn--block {
  width: 100%;
}
.bmt-btn:disabled,
.bmt-btn[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

/* === Form Elements === */
.bmt-input {
  width: 100%;
  padding: 10px 14px;
  border: 2px solid var(--bmt-border);
  border-radius: var(--bmt-radius-sm);
  font-size: 14px;
  font-family: var(--bmt-font);
  color: var(--bmt-text);
  background: var(--bmt-white);
  outline: none;
  transition: var(--bmt-transition);
}
.bmt-input:focus {
  border-color: var(--bmt-secondary);
  box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.12);
}
.bmt-input::placeholder {
  color: var(--bmt-text-muted);
}
.bmt-input--sm {
  padding: 6px 12px;
  font-size: 13px;
}
textarea.bmt-input {
  resize: vertical;
  min-height: 100px;
}

.bmt-form-group {
  margin-bottom: 16px;
}
.bmt-form-group label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--bmt-text);
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.bmt-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* === Sections === */
.bmt-section {
  padding: 60px 0;
  background: var(--bmt-bg);
}
.bmt-section--white {
  background: var(--bmt-white);
}
.bmt-section--gray {
  background: #f1f5f9;
}
.bmt-section__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 40px;
  gap: 12px;
}
.bmt-section__header-text {
  text-align: center;
}
.bmt-section__header .bmt-btn--outline {
  margin-top: 4px;
}
.bmt-section__subtitle {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  color: var(--bmt-secondary);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 10px;
}
.bmt-section__title {
  font-size: 32px;
  margin: 0;
  letter-spacing: -0.3px;
  color: var(--bmt-text);
}

/* === Card Slider (Swiper) for Listing Sections === */
/* .bmt-card-slider IS the swiper container (has class="bmt-card-slider swiper") */
.bmt-card-slider.swiper {
  overflow: hidden;
  padding-bottom: 48px; /* Space for pagination dots below cards */
}
.bmt-card-slider .swiper-wrapper {
  align-items: stretch;
}
.bmt-card-slider .swiper-slide {
  height: auto;
}
.bmt-destination-hero {
  padding: 54px 0 64px;
  color: #fff;
  background: linear-gradient(135deg, var(--bmt-primary-dark), var(--bmt-primary));
}
.bmt-destination-hero__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
  align-items: center;
  gap: 48px;
}
.bmt-destination-hero h1 {
  margin: 8px 0 12px;
  color: #fff;
  font-size: clamp(32px, 5vw, 56px);
}
.bmt-destination-hero p {
  max-width: 640px;
  margin: 0 0 24px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 17px;
}
.bmt-destination-counts {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.bmt-destination-counts span {
  padding: 7px 12px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: var(--bmt-radius-full);
  color: rgba(255, 255, 255, 0.88);
  font-size: 12px;
}
.bmt-destination-counts strong {
  color: #fff;
}
.bmt-destination-hero .bmt-btn--outline {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.8);
}
.bmt-destination-hero__image {
  overflow: hidden;
  border-radius: var(--bmt-radius);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.2);
}
.bmt-destination-hero__image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.bmt-destination-section {
  padding: 52px 0 12px;
}
.bmt-destination-section + .bmt-destination-section {
  padding-top: 28px;
}
.bmt-destination-section .bmt-section__title i {
  margin-right: 8px;
  color: var(--bmt-primary);
}
.bmt-destination-details {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  gap: 32px;
  align-items: center;
  padding: 44px 0 12px;
}
.bmt-destination-details__image {
  overflow: hidden;
  border-radius: var(--bmt-radius);
  box-shadow: var(--bmt-shadow);
}
.bmt-destination-details__image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.bmt-destination-details__content h2 {
  margin: 0 0 12px;
  color: var(--bmt-text);
}
.bmt-destination-details__content p {
  margin: 0 0 20px;
  color: var(--bmt-text-light);
  line-height: 1.7;
}
.bmt-destination-details__meta {
  display: flex;
  gap: 24px;
  margin: 0;
}
.bmt-destination-details__meta div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.bmt-destination-details__meta dt {
  color: var(--bmt-text-muted);
  font-size: 12px;
  font-weight: 600;
}
.bmt-destination-details__meta dd {
  margin: 0;
  color: var(--bmt-text);
  font-weight: 600;
}
@media (max-width: 768px) {
  .bmt-destination-hero__content {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .bmt-destination-details {
    grid-template-columns: 1fr;
  }
}
.bmt-tour-places .bmt-section__title i {
  margin-right: 8px;
  color: var(--bmt-primary);
}
.bmt-card-slider .swiper-slide .bmt-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.bmt-card-slider > .swiper-pagination {
  bottom: 8px !important;
  top: auto !important;
  display: flex;
  justify-content: center;
  gap: 6px;
  z-index: 5;
  left: 0;
  width: 100%;
}
.bmt-card-slider .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--bmt-border);
  opacity: 1;
  border-radius: 50%;
  margin: 0 !important;
  cursor: pointer;
  transition: var(--bmt-transition);
}
.bmt-card-slider .swiper-pagination-bullet:hover {
  background: var(--bmt-text-muted);
}
.bmt-card-slider .swiper-pagination-bullet-active {
  background: var(--bmt-secondary);
  width: 28px;
  border-radius: 5px;
}

/* Card Grid Layout */
.bmt-card-grid {
  display: grid;
  gap: 24px;
}
.bmt-card-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
.bmt-card-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
.bmt-card-grid__item .bmt-card {
  height: 100%;
}

/* Swiper Nav Arrows */
.bmt-card-slider .swiper-button-prev,
.bmt-card-slider .swiper-button-next {
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  color: var(--bmt-primary);
  top: 45%;
}
.bmt-card-slider .swiper-button-prev::after,
.bmt-card-slider .swiper-button-next::after {
  font-size: 16px;
  font-weight: 700;
}
.bmt-card-slider .swiper-button-prev {
  left: -8px;
}
.bmt-card-slider .swiper-button-next {
  right: -8px;
}

/* === Page Header === */
.bmt-page-header {
  background: var(--bmt-primary-gradient);
  padding: 50px 0 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.bmt-page-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 50%, rgba(234, 88, 12, 0.08) 0%, transparent 60%);
  pointer-events: none;
}
.bmt-page-header .bmt-container {
  position: relative;
  z-index: 1;
}
.bmt-page-header__title {
  color: #fff !important;
  font-size: 36px;
  margin-bottom: 8px;
  letter-spacing: -0.3px;
}
.bmt-page-header__subtitle {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 16px;
  max-width: 600px;
  margin-inline: auto;
}
.bmt-page-header--listing {
  padding: 40px 0 30px;
}

/* Breadcrumbs */
.bmt-breadcrumbs {
  margin-top: 12px;
}
.bmt-breadcrumb-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  justify-content: center;
}
.bmt-breadcrumb-list,
.bmt-breadcrumb-list a {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
}
.bmt-breadcrumb-list a:hover {
  color: #fff;
}
.bmt-breadcrumb-list a {
  text-decoration: none;
}
.bmt-breadcrumb-sep {
  margin: 0 8px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.4);
}
.bmt-breadcrumb-item {
  display: inline-flex;
  align-items: center;
}
.bmt-breadcrumb-current span {
  color: #fff;
  font-weight: 500;
}

/* === Listing Grid === */
.bmt-listing-grid {
  display: grid;
  gap: 24px;
}
.bmt-listing-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
.bmt-listing-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
.bmt-listing-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}

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

/* === Card Component === */
.bmt-card {
  background: var(--bmt-white);
  border-radius: var(--bmt-radius);
  overflow: hidden;
  box-shadow: var(--bmt-shadow);
  border: 1px solid transparent;
  transition:
    transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.3s ease,
    border-color 0.3s ease;
  position: relative;
  display: flex;
  flex-direction: column;
}
.bmt-card:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
  transform: translateY(-6px);
  border-color: rgba(234, 88, 12, 0.15);
}
.bmt-card:focus-within {
  box-shadow: var(--bmt-shadow-lg);
  border-color: rgba(234, 88, 12, 0.15);
}

.bmt-card__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
}
.bmt-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.bmt-card:hover .bmt-card__image img {
  transform: scale(1.05);
}

.bmt-card__placeholder {
  width: 100%;
  height: 100%;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--bmt-bg) 0%, var(--bmt-border) 100%);
  color: var(--bmt-text-muted);
  font-size: 32px;
}

.bmt-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--bmt-primary);
  color: #fff;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.3px;
  display: inline-flex;
  align-items: flex-start;
  gap: 5px;
  text-transform: uppercase;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  max-width: calc(100% - 24px);
  white-space: normal;
  overflow: visible;
  line-height: 1.4;
  word-break: break-word;
}
.bmt-card__badge i {
  font-size: 10px;
}
.bmt-card__badge--sale {
  background: linear-gradient(135deg, var(--bmt-danger), #b91c1c);
  animation: bmt-pulse-badge 2s ease-in-out infinite;
}
.bmt-card__badge--bestseller {
  background: linear-gradient(135deg, var(--bmt-gold, #d97706), #b45309);
}
.bmt-card__badge--trending {
  background: linear-gradient(135deg, var(--bmt-secondary), #c2410c);
}
.bmt-card__badge--new {
  background: linear-gradient(135deg, var(--bmt-accent, #0d9488), #0f766e);
}

@keyframes bmt-pulse-badge {
  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.25);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.4);
  }
}

/* Card Actions — wishlist + quick-view */
.bmt-card__actions {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  opacity: 1;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}
.bmt-card__wishlist,
.bmt-card__quickview {
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.92);
  border: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--bmt-text-muted);
  font-size: 14px;
  transition: var(--bmt-transition);
  backdrop-filter: blur(6px);
  text-decoration: none;
  transform: translateX(8px);
  opacity: 0;
}
.bmt-card:hover .bmt-card__wishlist,
.bmt-card:hover .bmt-card__quickview,
.bmt-card__wishlist.active,
.bmt-card:focus-within .bmt-card__wishlist,
.bmt-card:focus-within .bmt-card__quickview {
  transform: translateX(0);
  opacity: 1;
}
.bmt-card__wishlist.active {
  transform: translateX(0);
  opacity: 1;
}
.bmt-card__wishlist:hover,
.bmt-card__wishlist.active {
  color: var(--bmt-danger);
  background: #fff;
  transform: scale(1.08);
}
.bmt-card__quickview:hover {
  color: var(--bmt-primary);
  background: #fff;
  transform: scale(1.08);
}
.bmt-card__wishlist i,
.bmt-card__quickview i {
  pointer-events: none;
}
.bmt-card__wishlist.active {
  animation: heartPulse 0.3s ease;
}
@keyframes heartPulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.25);
  }
  100% {
    transform: scale(1);
  }
}

.bmt-card__duration {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 4px 10px;
  border-radius: var(--bmt-radius-full);
  font-size: 12px;
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  gap: 4px;
}

.bmt-card__stars {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(0, 0, 0, 0.6);
  color: var(--bmt-star);
  padding: 4px 10px;
  border-radius: var(--bmt-radius-full);
  font-size: 11px;
  backdrop-filter: blur(4px);
}

.bmt-card__body {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.bmt-card__location {
  font-size: 13px;
  color: var(--bmt-text-light);
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.bmt-card__location i {
  color: var(--bmt-primary);
  font-size: 12px;
}
.bmt-card__brand {
  font-size: 12px;
  color: var(--bmt-primary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.bmt-card__title a {
  color: var(--bmt-text);
}
.bmt-card__title a:hover {
  color: var(--bmt-primary);
}
.bmt-card__agent {
  font-size: 12px;
  color: var(--bmt-text-muted);
  margin: -4px 0 6px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.bmt-card__agent i {
  color: var(--bmt-teal, var(--bmt-accent));
  font-size: 11px;
}
.bmt-card__excerpt {
  font-size: 13px;
  color: var(--bmt-text-light);
  margin-bottom: 12px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.bmt-card__title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bmt-card__rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}
.bmt-card__rating-text {
  font-size: 13px;
  color: var(--bmt-text-light);
}

.bmt-card__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.bmt-card__spec {
  font-size: 12px;
  color: var(--bmt-text-light);
  background: var(--bmt-gold-light);
  padding: 4px 10px;
  border-radius: var(--bmt-radius-full);
  display: flex;
  align-items: center;
  gap: 4px;
}
.bmt-card__spec i {
  color: var(--bmt-primary);
  font-size: 11px;
}

.bmt-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 12px;
  border-top: 1px solid var(--bmt-border);
  margin-top: 0;
  gap: 8px;
}
.bmt-card__price {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bmt-card__price-old {
  text-decoration: line-through;
  color: var(--bmt-text-muted);
  font-size: 12px;
  line-height: 1;
}
.bmt-card__price-current {
  font-size: 20px;
  font-weight: 700;
  color: var(--bmt-primary);
  line-height: 1.1;
}
.bmt-card__price-inline {
  display: flex;
  align-items: baseline;
  gap: 3px;
  flex-wrap: nowrap;
}
.bmt-card__price-unit {
  font-size: 13px;
  color: var(--bmt-text-muted);
  font-weight: 400;
}
.bmt-card__footer .bmt-btn {
  white-space: nowrap;
  flex-shrink: 0;
  font-size: 13px;
  padding: 8px 18px;
  font-weight: 600;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.bmt-card__footer .bmt-btn.bmt-btn--outline {
  color: var(--bmt-secondary, #c9a227);
  border-color: var(--bmt-secondary, #c9a227);
  background: transparent;
}
.bmt-card__footer .bmt-btn.bmt-btn--outline:hover {
  color: #fff;
  background: var(--bmt-secondary, #c9a227);
  border-color: var(--bmt-secondary, #c9a227);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(201, 162, 39, 0.3);
}

/* Stars — Amazon-style orange (#FFA41C) */
.bmt-stars {
  display: inline-flex;
  gap: 2px;
  color: var(--bmt-star);
  font-size: 14px;
}

/* === Single Page === */
.bmt-single__gallery {
  margin-bottom: 0;
}
.bmt-gallery-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 4px;
  max-height: 500px;
  overflow: hidden;
}
.bmt-gallery-grid__item {
  position: relative;
  overflow: hidden;
}
.bmt-gallery-grid__item:first-child {
  grid-row: 1 / 3;
}
.bmt-gallery-grid__item--full {
  grid-column: 1 / -1;
  grid-row: 1 / 3;
}
.bmt-gallery-grid__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.bmt-gallery-grid__item:hover img {
  transform: scale(1.03);
}
.bmt-gallery-grid__more {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 600;
}

@media (max-width: 768px) {
  .bmt-gallery-grid {
    display: block;
    max-height: none;
  }
  .bmt-gallery-grid.swiper {
    overflow: hidden;
    position: relative;
  }
  .bmt-gallery-grid.swiper .swiper-wrapper {
    display: flex;
  }
  .bmt-gallery-grid.swiper .bmt-gallery-grid__item {
    flex-shrink: 0;
    width: 100%;
    height: 260px;
  }
  .bmt-gallery-grid.swiper .bmt-gallery-grid__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .bmt-gallery-grid .swiper-pagination {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 6px;
  }
  .bmt-gallery-grid .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    cursor: pointer;
  }
  .bmt-gallery-grid .swiper-pagination-bullet-active {
    background: #fff;
  }
  .bmt-gallery-grid .bmt-gallery-counter {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    z-index: 10;
  }
}

.bmt-single__layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  padding: 40px 0;
  align-items: start;
}

@media (max-width: 992px) {
  .bmt-single__layout {
    grid-template-columns: 1fr;
  }
}

.bmt-single__header {
  margin-bottom: 24px;
}
.bmt-single__location {
  font-size: 14px;
  color: var(--bmt-text-light);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.bmt-single__location i {
  color: var(--bmt-primary);
}
.bmt-single__brand {
  font-size: 13px;
  color: var(--bmt-primary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}
.bmt-single__title {
  font-size: 38px;
  line-height: 1.15;
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}
@media (max-width: 768px) {
  .bmt-single__title {
    font-size: 28px;
  }
}
.bmt-single__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
.bmt-single__meta-item {
  font-size: 14px;
  color: var(--bmt-text-light);
  display: flex;
  align-items: center;
  gap: 6px;
}
.bmt-single__rating {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--bmt-text-light);
}
.bmt-single__stars {
  color: var(--bmt-star);
  font-size: 14px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.bmt-single__description {
  font-size: 15px;
  line-height: 1.8;
  color: var(--bmt-text);
}
.bmt-single__description p {
  margin-bottom: 16px;
}
.bmt-car-content-section {
  margin-top: 34px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--bmt-text);
}
.bmt-car-content-section p {
  margin: 0 0 16px;
}
.bmt-car-content-section .bmt-feature-list {
  margin-top: 12px;
}
.bmt-car-content-sections .bmt-container {
  max-width: var(--bmt-container);
}
.bmt-car-content-sections--booking {
  background: var(--bmt-primary-dark);
  color: #fff;
}
.bmt-car-content-sections--booking .bmt-car-content-section {
  color: rgba(255, 255, 255, 0.88);
}
.bmt-car-content-sections--booking .bmt-faq-page__heading {
  color: #fff;
}
.bmt-car-content-sections--booking .bmt-faq-page__desc {
  color: rgba(255, 255, 255, 0.72);
}
.bmt-car-content-sections .bmt-car-content-section {
  margin-top: 0;
  padding: 28px 0;
}
.bmt-car-content-sections .bmt-car-content-section + .bmt-car-content-section {
  border-top: 1px solid var(--bmt-border);
}
.bmt-car-content-sections .bmt-faq-page__heading,
.bmt-car-content-sections .bmt-faq-page__desc {
  text-align: left;
}
.bmt-car-content-sections .bmt-faq-page__heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
}
.bmt-car-content-sections .bmt-faq-page__heading i {
  color: var(--bmt-secondary);
  font-size: 22px;
}
.bmt-car-content-sections .bmt-faq-page__desc {
  margin-bottom: 18px;
}
.bmt-car-book-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.bmt-car-book-cta__price {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.bmt-car-book-cta__price-label {
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
}
.bmt-car-book-cta__price strong {
  color: #fff;
  font-size: 28px;
}
.bmt-car-book-cta__price span:last-child {
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
}
.bmt-car-book-cta .bmt-btn {
  flex-shrink: 0;
}
.bmt-car-feature-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
  margin: 18px 0 24px;
  padding: 0;
}
.bmt-car-feature-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 18px;
  background: var(--bmt-bg);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  color: var(--bmt-text);
  font-weight: 600;
  transition: var(--bmt-transition);
}
.bmt-car-feature-card:hover {
  border-color: var(--bmt-secondary);
  box-shadow: var(--bmt-shadow);
  transform: translateY(-2px);
}
.bmt-car-feature-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--bmt-success);
  color: #fff;
  font-size: 13px;
}
@media (max-width: 767px) {
  .bmt-car-feature-cards {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .bmt-car-book-cta {
    align-items: stretch;
    flex-direction: column;
  }
  .bmt-car-book-cta .bmt-btn {
    width: 100%;
  }
}

/* Sticky sidebar on desktop — booking widget follows scroll. */
@media (min-width: 993px) {
  .bmt-single__sidebar {
    position: sticky;
    top: 90px;
    max-height: calc(100vh - 110px);
    max-height: calc(100dvh - 110px);
    overflow-y: auto;
    scrollbar-width: thin;
  }
}

/* Tabs — Card-style professional container */
.bmt-tabs {
  margin-top: 32px;
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  box-shadow: var(--bmt-shadow);
  overflow: hidden;
}
.bmt-tabs__nav {
  display: flex;
  gap: 4px;
  padding: 6px;
  background: var(--bmt-bg);
  border-bottom: 1px solid var(--bmt-border);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.bmt-tabs__nav::-webkit-scrollbar {
  display: none;
}
.bmt-tabs__btn {
  flex: 1;
  min-width: fit-content;
  height: 46px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 600;
  color: var(--bmt-text-light);
  border: none;
  background: transparent;
  border-radius: calc(var(--bmt-radius) - 4px);
  cursor: pointer;
  transition:
    background 0.2s ease,
    color 0.2s ease;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  box-sizing: border-box;
}
.bmt-tabs__btn i {
  font-size: 14px;
  opacity: 0.7;
  transition: transform 0.2s ease;
}
.bmt-tabs__btn:hover {
  color: var(--bmt-primary);
  background: rgba(var(--bmt-primary-rgb, 30, 58, 138), 0.06);
}
.bmt-tabs__btn:hover i {
  transform: scale(1.08);
}
.bmt-tabs__btn.active {
  color: #fff;
  background: var(--bmt-primary);
  box-shadow: inset 0 0 0 2px var(--bmt-primary);
}
.bmt-tabs__btn.active i {
  opacity: 1;
}
.bmt-tabs__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(0, 0, 0, 0.06);
  color: var(--bmt-text-light);
  border-radius: 11px;
  line-height: 1;
}
.bmt-tabs__btn.active .bmt-tabs__count {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}

.bmt-tabs__content {
  padding: 0;
}
.bmt-tabs__pane {
  display: none;
  padding: 28px;
  animation: bmt-fade-in 0.3s ease;
}
.bmt-tabs__pane.active {
  display: block;
}

@keyframes bmt-fade-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 640px) {
  .bmt-tabs__nav {
    padding: 4px;
    gap: 2px;
  }
  .bmt-tabs__btn {
    height: 42px;
    padding: 0 12px;
    font-size: 13px;
    flex: 0 0 auto;
  }
  .bmt-tabs__pane {
    padding: 20px 16px;
  }
}

/* Quick Facts Strip — used in single listing overview */
.bmt-quick-facts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
  padding: 20px;
  background: linear-gradient(135deg, rgba(var(--bmt-primary-rgb, 30, 58, 138), 0.04), rgba(var(--bmt-secondary-rgb, 234, 88, 12), 0.04));
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  margin-bottom: 28px;
}
.bmt-quick-fact {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px;
}
.bmt-quick-fact__icon {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--bmt-white);
  color: var(--bmt-primary);
  font-size: 16px;
  border: 1px solid var(--bmt-border);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
.bmt-quick-fact__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.bmt-quick-fact__label {
  font-size: 11px;
  font-weight: 500;
  color: var(--bmt-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.bmt-quick-fact__value {
  font-size: 14px;
  font-weight: 600;
  color: var(--bmt-text);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Content Heading — section label inside tab panes */
.bmt-content-heading {
  font-size: 18px;
  font-weight: 700;
  color: var(--bmt-text);
  margin: 28px 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.3;
}
.bmt-content-heading:first-child {
  margin-top: 0;
}
.bmt-content-heading i {
  color: var(--bmt-secondary);
  font-size: 18px;
}
.bmt-specs-panel {
  margin-bottom: 32px;
  padding: 22px;
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}
.bmt-specs-panel .bmt-content-heading {
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--bmt-border);
}
.bmt-content-intro {
  font-size: 14px;
  color: var(--bmt-text-light);
  margin: -6px 0 18px;
  line-height: 1.6;
}

/* Feature List — used in overview highlights */
.bmt-feature-list {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  display: grid;
  gap: 10px;
}
.bmt-feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  background: var(--bmt-bg);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-sm);
  font-size: 14px;
  color: var(--bmt-text);
  line-height: 1.5;
  transition: var(--bmt-transition);
}
.bmt-feature-list li:hover {
  border-color: var(--bmt-secondary);
  transform: translateX(2px);
}
.bmt-feature-list li i {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--bmt-success);
  color: #fff;
  font-size: 10px;
  margin-top: 1px;
}

@media (max-width: 640px) {
  .bmt-quick-facts {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 14px;
  }
  .bmt-quick-fact__icon {
    width: 38px;
    height: 38px;
    font-size: 14px;
  }
  .bmt-quick-fact__value {
    font-size: 13px;
  }
  .bmt-content-heading {
    font-size: 16px;
  }
}

/* Itinerary — collapsible accordion (native <details>/<summary>). */
.bmt-itinerary {
  position: relative;
}
.bmt-itinerary__day {
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  margin-bottom: 12px;
  background: var(--bmt-card-bg);
  overflow: hidden;
  transition: var(--bmt-transition);
}
.bmt-itinerary__day[open] {
  border-color: var(--bmt-primary);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}
.bmt-itinerary__summary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.bmt-itinerary__summary::-webkit-details-marker {
  display: none;
}
.bmt-itinerary__summary::marker {
  content: "";
}
.bmt-itinerary__number {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: var(--bmt-bg);
  color: var(--bmt-primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  border: 2px solid var(--bmt-primary);
  transition: var(--bmt-transition);
}
.bmt-itinerary__day[open] .bmt-itinerary__number {
  background: var(--bmt-primary);
  color: #fff;
}
.bmt-itinerary__title {
  flex: 1;
  font-size: 15px;
  font-weight: 600;
  color: var(--bmt-text);
}
.bmt-itinerary__chevron {
  font-size: 12px;
  color: var(--bmt-text-light);
  transition: transform 0.25s ease;
}
.bmt-itinerary__day[open] .bmt-itinerary__chevron {
  transform: rotate(180deg);
  color: var(--bmt-primary);
}
.bmt-itinerary__body {
  padding: 0 20px 18px 72px;
}
.bmt-itinerary__body p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--bmt-text-light);
  margin: 0;
}
@media (max-width: 576px) {
  .bmt-itinerary__body {
    padding: 0 20px 18px 20px;
  }
}

/* Trust signals row under booking button. */
.bmt-trust-signals {
  list-style: none;
  padding: 16px 0 0;
  margin: 16px 0 0;
  border-top: 1px dashed var(--bmt-border);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bmt-trust-signals li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: var(--bmt-text-light);
}
.bmt-trust-signals li i {
  color: var(--bmt-primary);
  width: 14px;
  text-align: center;
  flex-shrink: 0;
}

/* Places Covered Tab */
.bmt-places-section h4 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--bmt-text);
}
.bmt-places-section h4 i {
  color: var(--bmt-primary);
}
.bmt-places-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.bmt-place-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-sm);
  font-size: 14px;
  color: var(--bmt-text);
}
.bmt-place-item i {
  color: var(--bmt-primary);
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}
.bmt-place-card {
  display: flex;
  min-height: 138px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-sm);
  background: #fff;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}
.bmt-place-card:hover {
  transform: translateY(-2px);
  border-color: var(--bmt-primary);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.1);
}
.bmt-place-card__image {
  flex: 0 0 120px;
  background: #eef2f7;
}
.bmt-place-card__image img {
  width: 100%;
  height: 100%;
  min-height: 138px;
  object-fit: cover;
}
.bmt-place-card__placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: var(--bmt-primary);
  font-size: 24px;
}
.bmt-place-card__body {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  padding: 14px;
}
.bmt-place-card__body h5 {
  margin: 0;
  color: var(--bmt-text);
  font-size: 15px;
  line-height: 1.3;
}
.bmt-place-card__meta,
.bmt-place-card__details,
.bmt-place-card__link {
  color: var(--bmt-muted);
  font-size: 11px;
  line-height: 1.4;
}
.bmt-place-card__meta,
.bmt-place-card__details {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.bmt-place-card__meta i,
.bmt-place-card__details i {
  color: var(--bmt-primary);
}
.bmt-place-card__link {
  margin-top: auto;
  color: var(--bmt-primary);
  font-weight: 600;
}
.bmt-place-card__link i {
  margin-left: 3px;
}
.bmt-sightseeing-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.bmt-sightseeing-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--bmt-text-light);
  padding: 8px 12px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-sm);
}
.bmt-sightseeing-list li i {
  color: var(--bmt-secondary);
  font-size: 13px;
}
@media (max-width: 768px) {
  .bmt-places-grid,
  .bmt-sightseeing-list {
    grid-template-columns: 1fr;
  }
  .bmt-place-card__image {
    flex-basis: 104px;
  }
}

/* Includes Grid */
.bmt-includes-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.bmt-includes-col h4 {
  font-size: 16px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.bmt-includes-list {
  list-style: none;
}
.bmt-includes-list li {
  padding: 8px 0;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--bmt-border);
}
.bmt-includes-list--included i {
  color: var(--bmt-success);
}
.bmt-includes-list--excluded i {
  color: var(--bmt-danger);
}

/* Map */
.bmt-map {
  width: 100%;
  height: 400px;
  border-radius: var(--bmt-radius);
  overflow: hidden;
}

/* Specs Grid (Car) */
.bmt-specs-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
.bmt-spec-item {
  background: var(--bmt-gold-light);
  padding: 16px;
  border: 1px solid transparent;
  border-radius: var(--bmt-radius);
  text-align: center;
  transition: var(--bmt-transition);
  width: calc(100% / 3 - 20px);
}
.bmt-spec-item:hover {
  border-color: var(--bmt-secondary);
  transform: translateY(-2px);
}
.bmt-spec-item i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 0;
  border-radius: 50%;
  background: rgba(30, 58, 138, 0.08);
  color: var(--bmt-primary);
  font-size: 24px;
}
.bmt-spec-item__label {
  display: block;
  font-size: 12px;
  color: var(--bmt-text-muted);
  margin-bottom: 0;
}
.bmt-spec-item__value {
  font-size: 15px;
  font-weight: 600;
  color: var(--bmt-text);
}
.bmt-car-faq-section {
  padding: 60px 0;
  background: var(--bmt-white);
}
.bmt-car-faq-section .bmt-faq-page__heading,
.bmt-car-faq-content .bmt-faq-page__heading {
  color: var(--bmt-secondary);
}
.bmt-car-faq-content {
  padding: 20px 0;
  max-width: 800px;
  margin: 0 auto;
}
.bmt-car-faq-section .text-primary {
  color: var(--bmt-secondary);
}

/* Amenities Grid */
.bmt-amenities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.bmt-amenity-item {
  font-size: 14px;
  padding: 10px 14px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-sm);
  display: flex;
  align-items: center;
  gap: 8px;
}
.bmt-amenity-item i {
  color: var(--bmt-success);
}

@media (max-width: 768px) {
  .bmt-specs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .bmt-amenities-grid {
    grid-template-columns: 1fr 1fr;
  }
  .bmt-includes-grid {
    grid-template-columns: 1fr;
  }
}

/* Hotel Times */
.bmt-hotel-times {
  display: flex;
  gap: 24px;
  margin-top: 20px;
  padding: 16px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-sm);
}
.bmt-hotel-times__item {
  font-size: 14px;
}
.bmt-hotel-times__item strong {
  margin-right: 6px;
}

.bmt-destination-intro {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  gap: 36px;
  align-items: center;
  padding: 46px 0 20px;
}
.bmt-destination-intro__image {
  overflow: hidden;
  border-radius: var(--bmt-radius);
  box-shadow: var(--bmt-shadow);
}
.bmt-destination-intro__image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.bmt-destination-intro__content h2 {
  margin: 6px 0 14px;
  color: var(--bmt-text);
}
.bmt-destination-intro__content p {
  margin: 0 0 14px;
  color: var(--bmt-text-light);
  line-height: 1.7;
}
/* === Booking Widget === */
.bmt-booking-widget {
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  padding: 24px;
  position: sticky;
  top: 100px;
  box-shadow: var(--bmt-shadow-md);
  .bmt-destination-intro {
    grid-template-columns: 1fr;
  }
}

/* === Urgency Signals === */
.bmt-urgency-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: linear-gradient(135deg, rgba(5, 150, 105, 0.08), rgba(5, 150, 105, 0.14));
  border: 1px solid rgba(5, 150, 105, 0.22);
  border-radius: var(--bmt-radius-sm);
  font-size: 13px;
  color: #065f46;
  margin-bottom: 18px;
  line-height: 1.3;
}
.bmt-urgency-banner strong {
  color: var(--bmt-success, #059669);
  font-weight: 700;
}
.bmt-urgency-banner__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--bmt-success, #10b981);
  box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.25);
  animation: bmt-live-pulse 1.5s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes bmt-live-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.25);
  }
  50% {
    box-shadow: 0 0 0 7px rgba(5, 150, 105, 0.12);
  }
}

.bmt-urgency-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 16px 0 20px;
  padding: 12px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-sm);
}
.bmt-urgency-strip__item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--bmt-text-light);
  line-height: 1.3;
}
.bmt-urgency-strip__item i {
  color: var(--bmt-text-muted);
  font-size: 11px;
}
.bmt-urgency-strip__item--warn {
  color: var(--bmt-danger);
  font-weight: 600;
}
.bmt-urgency-strip__item--warn i {
  color: var(--bmt-danger);
  animation: bmt-fire-flicker 2s ease-in-out infinite;
}
@keyframes bmt-fire-flicker {
  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.12);
    opacity: 0.85;
  }
}

@media (max-width: 480px) {
  .bmt-urgency-strip {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

/* === Micro-interactions === */

/* Button Ripple */
.bmt-btn,
.bmt-book-now-btn,
.bmt-tabs__btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.bmt-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  pointer-events: none;
  transform: scale(0);
  animation: bmt-ripple-anim 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  z-index: 0;
}
.bmt-btn--outline .bmt-ripple,
.bmt-tabs__btn .bmt-ripple {
  background: rgba(var(--bmt-primary-rgb, 30, 58, 138), 0.18);
}
@keyframes bmt-ripple-anim {
  to {
    transform: scale(2.6);
    opacity: 0;
  }
}
/* Keep inner button content above the ripple layer */
.bmt-btn > *:not(.bmt-ripple),
.bmt-book-now-btn > *:not(.bmt-ripple),
.bmt-tabs__btn > *:not(.bmt-ripple) {
  position: relative;
  z-index: 1;
}

/* Wishlist Confetti */
.bmt-confetti {
  position: fixed;
  width: 0;
  height: 0;
  z-index: 100000;
  pointer-events: none;
}
.bmt-confetti__particle {
  position: absolute;
  width: 8px;
  height: 8px;
  left: 0;
  top: 0;
  border-radius: 2px;
  transform: translate(-50%, -50%);
  animation: bmt-confetti-burst 0.8s cubic-bezier(0.25, 1, 0.35, 1) forwards;
}
@keyframes bmt-confetti-burst {
  0% {
    transform: translate(-50%, -50%) scale(0.5) rotate(0deg);
    opacity: 1;
  }
  100% {
    transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(0.8) rotate(360deg);
    opacity: 0;
  }
}

/* Scroll Reveal */
.bmt-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity, transform;
}
.bmt-reveal--in {
  opacity: 1;
  transform: translateY(0);
}

/* Disable scroll-reveal on slick carousels/sliders (they manage their own visibility) */
.swiper-slide .bmt-reveal,
.swiper-slide.bmt-reveal {
  opacity: 1;
  transform: none;
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  .bmt-ripple,
  .bmt-confetti,
  .bmt-reveal {
    display: none !important;
  }
  .bmt-reveal {
    opacity: 1;
    transform: none;
  }
}

/* === Hero Trust Badges === */
.bmt-hero__trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 36px;
  max-width: 100%;
}
.bmt-hero-trust {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: var(--bmt-radius);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  transition: var(--bmt-transition);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
.bmt-hero-trust:hover {
  background: rgba(255, 255, 255, 0.26);
  transform: translateY(-3px);
  border-color: rgba(255, 255, 255, 0.45);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}
.bmt-hero-trust > i {
  font-size: 22px;
  color: #fff;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bmt-secondary, #c9a227);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.bmt-hero-trust div {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  min-width: 0;
}
.bmt-hero-trust__num {
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.5px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.bmt-hero-trust__suffix {
  font-size: 13px;
  font-weight: 600;
  opacity: 0.85;
  margin-left: 2px;
}
.bmt-hero-trust__label {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.95);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin-top: 3px;
}

@media (max-width: 768px) {
  .bmt-hero__trust {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 24px;
  }
  .bmt-hero-trust {
    padding: 10px 12px;
  }
  .bmt-hero-trust > i {
    font-size: 16px;
    width: 34px;
    height: 34px;
  }
  .bmt-hero-trust__num {
    font-size: 15px;
  }
  .bmt-hero-trust__label {
    font-size: 10px;
  }
}
.bmt-booking-widget__price {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--bmt-border);
}
.bmt-booking-widget__price-old {
  text-decoration: line-through;
  color: var(--bmt-text-muted);
  font-size: 16px;
  margin-right: 6px;
}
.bmt-booking-widget__price-current {
  font-size: 28px;
  font-weight: 700;
  color: var(--bmt-primary);
}
.bmt-booking-widget__price-unit {
  font-size: 14px;
  color: var(--bmt-text-muted);
}

.bmt-booking-widget__info {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--bmt-border);
}
.bmt-booking-widget__info-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  font-size: 14px;
  color: var(--bmt-text-light);
}
.bmt-booking-widget__info-item i {
  color: var(--bmt-primary);
  width: 20px;
  text-align: center;
}

/* === Agent Card (Sidebar) === */
.bmt-agent-card {
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  padding: 20px;
  margin-bottom: 16px;
}
.bmt-agent-card__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.bmt-agent-card__avatar-img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--bmt-primary);
}
.bmt-agent-card__name {
  font-size: 15px;
  font-weight: 700;
  color: var(--bmt-text);
  margin: 0 0 2px;
  line-height: 1.3;
}
.bmt-agent-card__role {
  font-size: 12px;
  font-weight: 600;
  color: var(--bmt-secondary);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.bmt-agent-card__role i {
  font-size: 11px;
}
.bmt-agent-card__bio {
  font-size: 13px;
  color: var(--bmt-text-light);
  line-height: 1.5;
  margin: 0 0 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.bmt-agent-card__stats {
  display: flex;
  gap: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--bmt-border);
}
.bmt-agent-card__stat {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--bmt-text-muted);
}
.bmt-agent-card__stat i {
  color: var(--bmt-primary);
  font-size: 13px;
  width: 14px;
  text-align: center;
}
/* Agent card clickable name + avatar */
.bmt-agent-card__name a,
.bmt-agent-card__avatar {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}
.bmt-agent-card__name a:hover {
  color: var(--bmt-primary);
}
.bmt-agent-card__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--bmt-border);
  font-size: 13px;
  font-weight: 600;
  color: var(--bmt-primary);
  text-decoration: none;
  transition: color 0.2s;
}
.bmt-agent-card__link:hover {
  color: var(--bmt-secondary);
}
.bmt-agent-card__link i {
  font-size: 11px;
  transition: transform 0.2s;
}
.bmt-agent-card__link:hover i {
  transform: translateX(3px);
}

/* === Agent Profile Page === */
.bmt-agent-profile {
  padding: 40px 0;
}

/* Header Card */
.bmt-agent-profile__header {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  padding: 32px;
  background: linear-gradient(135deg, var(--bmt-white) 0%, #f8fafc 100%);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-lg);
  box-shadow: var(--bmt-shadow-md);
  margin-bottom: 20px;
  position: relative;
}
.bmt-agent-profile__avatar {
  position: relative;
  flex-shrink: 0;
}
.bmt-agent-profile__avatar-img {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid var(--bmt-white);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.bmt-agent-profile__rating-badge {
  position: absolute;
  bottom: 0;
  right: -4px;
  background: var(--bmt-secondary);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 3px;
  box-shadow: 0 2px 6px rgba(249, 115, 22, 0.3);
}
.bmt-agent-profile__rating-badge i {
  font-size: 10px;
}
.bmt-agent-profile__title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.bmt-agent-profile__name {
  font-size: 26px;
  font-weight: 800;
  color: var(--bmt-text);
  margin: 0;
  line-height: 1.2;
}
.bmt-agent-profile__role-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--bmt-white);
  background: var(--bmt-secondary);
  padding: 4px 12px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.bmt-agent-profile__role-badge i {
  font-size: 11px;
}
.bmt-agent-profile__bio {
  font-size: 15px;
  color: var(--bmt-text-light);
  line-height: 1.7;
  margin: 0 0 14px;
  max-width: 600px;
}
.bmt-agent-profile__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  font-size: 13px;
  color: var(--bmt-text-muted);
}
.bmt-agent-profile__meta span {
  display: flex;
  align-items: center;
  gap: 6px;
}
.bmt-agent-profile__meta i {
  color: var(--bmt-primary);
  width: 16px;
  text-align: center;
}
.bmt-agent-profile__meta .fa-check-circle {
  color: #10b981;
}

/* Stats Bar — icon + number side by side */
.bmt-agent-profile__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--bmt-border);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  overflow: hidden;
  margin-bottom: 32px;
}
.bmt-agent-profile__stat {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 22px 16px;
  background: var(--bmt-white);
}
.bmt-agent-profile__stat > i {
  font-size: 24px;
  color: var(--bmt-primary);
  opacity: 0.6;
  width: 28px;
  text-align: center;
}
.bmt-agent-profile__stat-num {
  display: block;
  font-size: 26px;
  font-weight: 800;
  color: var(--bmt-text);
  line-height: 1.2;
}
.bmt-agent-profile__stat-num small {
  font-size: 13px;
  font-weight: 400;
  color: var(--bmt-text-muted);
}
.bmt-agent-profile__stat-label {
  font-size: 11px;
  color: var(--bmt-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-weight: 600;
  display: block;
}

/* Section Title with count badge */
.bmt-agent-profile__section-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--bmt-text);
  margin: 0 0 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.bmt-agent-profile__section-title i {
  color: var(--bmt-primary);
  font-size: 18px;
}
.bmt-agent-profile__count-badge {
  background: var(--bmt-primary);
  color: var(--bmt-white);
  font-size: 12px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 20px;
  margin-left: auto;
}
.bmt-agent-profile__listings {
  margin-bottom: 40px;
}

/* Empty State */
.bmt-empty-state {
  text-align: center;
  padding: 60px 20px;
  color: var(--bmt-text-muted);
}
.bmt-empty-state i {
  font-size: 48px;
  color: var(--bmt-border);
  margin-bottom: 16px;
  display: block;
}
.bmt-empty-state h3 {
  font-size: 20px;
  color: var(--bmt-text-light);
  margin: 0 0 8px;
}
.bmt-empty-state p {
  font-size: 14px;
}

/* Non-agent author archive */
.bmt-author-archive {
  padding: 40px 0;
}
.bmt-author-archive__header {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 32px;
}
.bmt-author-archive__header img {
  border-radius: 50%;
}
.bmt-author-archive__header h2 {
  margin: 0 0 4px;
}
.bmt-author-archive__header p {
  color: var(--bmt-text-light);
  margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .bmt-agent-profile__header {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px 20px;
  }
  .bmt-agent-profile__title-row {
    justify-content: center;
  }
  .bmt-agent-profile__meta {
    justify-content: center;
  }
  .bmt-agent-profile__bio {
    max-width: 100%;
  }
  .bmt-agent-profile__stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .bmt-agent-profile__section-title {
    font-size: 18px;
  }
  .bmt-agent-profile__count-badge {
    display: none;
  }
}

/* Non-agent author archive */
.bmt-author-archive {
  padding: 40px 0;
}
.bmt-author-archive__header {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 32px;
}
.bmt-author-archive__header img {
  border-radius: 50%;
}
.bmt-author-archive__header h2 {
  margin: 0 0 4px;
}
.bmt-author-archive__header p {
  color: var(--bmt-text-light);
  margin: 0;
}

@media (max-width: 768px) {
  .bmt-agent-profile__header {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px;
  }
  .bmt-agent-profile__meta {
    justify-content: center;
  }
  .bmt-agent-profile__stats {
    flex-direction: column;
  }
  .bmt-agent-profile__stat {
    border-right: none;
    border-bottom: 1px solid var(--bmt-border);
    padding: 16px;
  }
  .bmt-agent-profile__stat:last-child {
    border-bottom: none;
  }
}

/* === Info Card (Sidebar Widget for Single CPT Pages) === */
.bmt-info-card {
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-lg);
  padding: 28px;
  position: sticky;
  top: 100px;
  box-shadow: var(--bmt-shadow-md);
}
.bmt-info-card__title {
  font-family: var(--bmt-font-heading);
  font-size: 18px;
  font-weight: 700;
  color: var(--bmt-text);
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--bmt-bg);
  display: flex;
  align-items: center;
  gap: 8px;
}
.bmt-info-card__title i {
  color: var(--bmt-secondary);
}
.bmt-info-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.bmt-info-card__item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid var(--bmt-border);
  gap: 12px;
}
.bmt-info-card__item:last-child {
  border-bottom: none;
}
.bmt-info-card__label {
  font-size: 13px;
  font-weight: 600;
  color: var(--bmt-text-light);
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.bmt-info-card__label i {
  color: var(--bmt-secondary);
  font-size: 14px;
  width: 18px;
  text-align: center;
}
.bmt-info-card__value {
  font-size: 14px;
  font-weight: 500;
  color: var(--bmt-text);
  text-align: right;
}
.bmt-info-card__value small {
  display: block;
  font-size: 12px;
  color: var(--bmt-text-muted);
  font-weight: 400;
}
.bmt-info-card__tags {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--bmt-border);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.bmt-info-card__tags-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--bmt-text-light);
}
.bmt-info-card__tag {
  display: inline-block;
  padding: 4px 14px;
  background: var(--bmt-secondary, #c9a227);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  border-radius: var(--bmt-radius-full);
  transition: var(--bmt-transition);
  border: 1.5px solid var(--bmt-secondary, #c9a227);
}
.bmt-info-card__tag:hover {
  background: var(--bmt-primary, #1d3557);
  border-color: var(--bmt-primary, #1d3557);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.bmt-info-card .bmt-btn {
  margin-top: 20px;
}

/* === Highlights === */
.bmt-highlights__list {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.bmt-highlights__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--bmt-text);
  padding: 12px 16px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-sm);
  line-height: 1.5;
}
.bmt-highlights__item i {
  color: var(--bmt-success);
  margin-top: 3px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .bmt-highlights__list {
    grid-template-columns: 1fr;
  }
}

/* === Comments / Reviews Section === */
.bmt-comments__title {
  font-family: var(--bmt-font-heading);
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
}
.bmt-comments__rating-summary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius);
  margin-bottom: 28px;
}
.bmt-comments__rating-number {
  font-family: var(--bmt-font-heading);
  font-size: 36px;
  font-weight: 800;
  color: var(--bmt-text);
  line-height: 1;
}
.bmt-comments__rating-max {
  font-size: 16px;
  color: var(--bmt-text-muted);
  font-weight: 400;
}
.bmt-comments__rating-stars {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.bmt-comments__rating-count {
  font-size: 13px;
  color: var(--bmt-text-muted);
}
.bmt-comments__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.bmt-comments__closed {
  padding: 16px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-sm);
  color: var(--bmt-text-muted);
  font-size: 14px;
}

/* Individual Comment / Review */
.bmt-comment {
  margin-bottom: 24px;
  list-style: none;
}
.bmt-comment__body {
  display: flex;
  gap: 16px;
  padding: 20px;
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  transition: var(--bmt-transition);
}
.bmt-comment__body:hover {
  border-color: rgba(234, 88, 12, 0.2);
  box-shadow: var(--bmt-shadow);
}
.bmt-comment__avatar {
  flex-shrink: 0;
}
.bmt-comment__avatar-img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}
.bmt-comment__content {
  flex: 1;
  min-width: 0;
}
.bmt-comment__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
  gap: 12px;
  flex-wrap: wrap;
}
.bmt-comment__author {
  font-size: 15px;
  font-weight: 600;
  margin: 0;
  color: var(--bmt-text);
}
.bmt-comment__date {
  font-size: 12px;
  color: var(--bmt-text-muted);
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
}
.bmt-comment__rating {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bmt-comment__rating .bmt-stars {
  font-size: 13px;
}
.bmt-comment__rating-value {
  font-size: 13px;
  font-weight: 600;
  color: var(--bmt-text);
  background: var(--bmt-bg);
  padding: 2px 8px;
  border-radius: var(--bmt-radius-full);
}
.bmt-comment__moderation {
  padding: 8px 12px;
  background: #fef3c7;
  color: #92400e;
  border-radius: var(--bmt-radius-sm);
  font-size: 13px;
  margin-bottom: 10px;
}
.bmt-comment__text {
  font-size: 14px;
  line-height: 1.7;
  color: var(--bmt-text-light);
  margin-bottom: 10px;
}
.bmt-comment__text p {
  margin-bottom: 8px;
}
.bmt-comment__text p:last-child {
  margin-bottom: 0;
}
.bmt-comment__actions {
  display: flex;
  gap: 16px;
}
.bmt-comment__reply a,
.bmt-comment__edit a {
  font-size: 13px;
  font-weight: 500;
  color: var(--bmt-text-muted);
  display: flex;
  align-items: center;
  gap: 4px;
  transition: var(--bmt-transition);
}
.bmt-comment__reply a:hover,
.bmt-comment__edit a:hover {
  color: var(--bmt-secondary);
}

/* Comment Form */
.bmt-comment-form {
  margin-top: 32px;
}
.bmt-comment-form__title {
  font-family: var(--bmt-font-heading);
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
}
.bmt-comment-form__notes {
  font-size: 13px;
  color: var(--bmt-text-muted);
  margin-bottom: 20px;
}
.bmt-comment-form__form {
  background: var(--bmt-bg);
  padding: 24px;
  border-radius: var(--bmt-radius);
}
.bmt-comment-form__group {
  margin-bottom: 16px;
}
.bmt-comment-form__group--half {
  display: inline-block;
  width: calc(50% - 8px);
  vertical-align: top;
}
.bmt-comment-form__group--half:nth-child(even) {
  margin-left: 12px;
}
.bmt-comment-form__label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--bmt-text);
  margin-bottom: 6px;
}
.bmt-comment-form__input,
.bmt-comment-form__textarea {
  width: 100%;
  padding: 10px 14px;
  border: 2px solid var(--bmt-border);
  border-radius: var(--bmt-radius-sm);
  font-size: 14px;
  font-family: var(--bmt-font);
  color: var(--bmt-text);
  background: var(--bmt-white);
  outline: none;
  transition: var(--bmt-transition);
}
.bmt-comment-form__input:focus,
.bmt-comment-form__textarea:focus {
  border-color: var(--bmt-secondary);
  box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.1);
}
.bmt-comment-form__textarea {
  resize: vertical;
  min-height: 120px;
}
.bmt-comment-form__group--cookies {
  margin-top: 8px;
}
.bmt-comment-form__checkbox {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: var(--bmt-text-light);
  cursor: pointer;
}
.bmt-comment-form__checkbox input {
  margin-top: 2px;
  accent-color: var(--bmt-secondary);
}
.bmt-comment-form__submit-wrap {
  margin-top: 20px;
}
.bmt-comment-form__submit {
  font-size: 15px;
}
.bmt-comment-form__cancel a {
  font-size: 13px;
  color: var(--bmt-text-muted);
  margin-left: 12px;
}

/* Logged-in user notice */
.logged-in-as {
  font-size: 13px;
  color: var(--bmt-text-muted);
  margin-bottom: 16px;
}
.logged-in-as a {
  color: var(--bmt-secondary);
}

/* Related Section */
.bmt-section--related {
  padding: 40px 0;
  margin-top: 20px;
  border-top: 1px solid var(--bmt-border);
  background: transparent;
}
.bmt-section--related .bmt-section__title {
  font-size: 24px;
  margin-bottom: 24px;
}
.bmt-nearby-places .bmt-section__title i {
  margin-right: 8px;
  color: var(--bmt-primary);
}

@media (max-width: 768px) {
  .bmt-comment__body {
    flex-direction: column;
    gap: 12px;
    padding: 16px;
  }
  .bmt-comment__header {
    flex-direction: column;
  }
  .bmt-comments__rating-summary {
    flex-direction: column;
    text-align: center;
  }
  .bmt-comment-form__group--half {
    display: block;
    width: 100%;
  }
  .bmt-comment-form__group--half:nth-child(even) {
    margin-left: 0;
  }
  .bmt-info-card {
    position: static;
    margin-top: 24px;
  }
}

/* === Listing Layout (Archive) === */
.bmt-listing-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
  align-items: start;
}

@media (max-width: 992px) {
  .bmt-listing-layout {
    grid-template-columns: 1fr;
  }
  .bmt-filters {
    display: none;
  }
  .bmt-filters.active {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: var(--bmt-white);
    overflow-y: auto;
    padding: 20px;
  }
}

.bmt-filters {
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  padding: 20px;
  position: sticky;
  top: 90px;
}
.bmt-filters__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.bmt-filters__header h3 {
  font-size: 18px;
}
.bmt-filters__reset {
  border: none;
  background: none;
  color: var(--bmt-primary);
  font-size: 13px;
  cursor: pointer;
}

.bmt-filter-group {
  margin-bottom: 20px;
}
.bmt-filter-group label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--bmt-text);
  margin-bottom: 8px;
}

.bmt-price-slider {
  margin: 16px 8px 8px;
}
.bmt-price-inputs {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--bmt-text-light);
  margin-top: 8px;
}

/* Listing Toolbar */
.bmt-listing-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 12px;
}
.bmt-listing-toolbar__count {
  font-size: 14px;
  color: var(--bmt-text-light);
}
.bmt-listing-toolbar__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.bmt-view-toggles {
  display: flex;
  gap: 4px;
}
.bmt-view-toggle {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bmt-border);
  background: var(--bmt-white);
  border-radius: var(--bmt-radius-sm);
  cursor: pointer;
  color: var(--bmt-text-muted);
  transition: var(--bmt-transition);
}
.bmt-view-toggle.active,
.bmt-view-toggle:hover {
  background: var(--bmt-primary);
  color: #fff;
  border-color: var(--bmt-primary);
}
.bmt-filter-toggle-mobile {
  display: none;
}

@media (max-width: 992px) {
  .bmt-filter-toggle-mobile {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 1px solid var(--bmt-border);
    background: var(--bmt-white);
    border-radius: var(--bmt-radius-sm);
    cursor: pointer;
    font-size: 14px;
  }
}

/* List View */
.bmt-listing-grid.bmt-listing-grid--list {
  grid-template-columns: 1fr;
}
.bmt-listing-grid--list .bmt-card {
  display: grid;
  grid-template-columns: 300px 1fr;
}
.bmt-listing-grid--list .bmt-card__image {
  aspect-ratio: auto;
  height: 100%;
}

@media (max-width: 768px) {
  .bmt-listing-grid--list .bmt-card {
    grid-template-columns: 1fr;
  }
}

/* === Layout with Sidebar === */
.bmt-layout {
  display: grid;
  gap: 32px;
}
.bmt-layout--sidebar {
  grid-template-columns: 1fr 320px;
}
.bmt-layout__content {
  min-width: 0;
}
.bmt-layout__sidebar {
  min-width: 0;
}

/* Sidebar container */
.bmt-sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 100px;
}

/* Sidebar Widgets */
.bmt-sidebar .widget,
.bmt-layout__sidebar .widget {
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.bmt-sidebar .widget-title,
.bmt-layout__sidebar .widget-title {
  font-family: var(--bmt-font-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--bmt-text);
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--bmt-secondary);
  line-height: 1.3;
}
.bmt-sidebar .widget ul,
.bmt-layout__sidebar .widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.bmt-sidebar .widget ul li,
.bmt-layout__sidebar .widget ul li {
  padding: 9px 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 14px;
}
.bmt-sidebar .widget ul li:last-child,
.bmt-layout__sidebar .widget ul li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.bmt-sidebar .widget ul li:first-child,
.bmt-layout__sidebar .widget ul li:first-child {
  padding-top: 0;
}
.bmt-sidebar .widget ul li a,
.bmt-layout__sidebar .widget ul li a {
  color: var(--bmt-text-light);
  text-decoration: none;
  transition:
    color 0.2s,
    padding-left 0.2s;
  display: block;
}
.bmt-sidebar .widget ul li a:hover,
.bmt-layout__sidebar .widget ul li a:hover {
  color: var(--bmt-secondary);
  padding-left: 4px;
}

/* Search widget */
.bmt-sidebar .widget_search form,
.bmt-layout__sidebar .widget_search form {
  display: flex;
  gap: 0;
}
.bmt-sidebar .widget_search input[type="search"],
.bmt-layout__sidebar .widget_search input[type="search"] {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid var(--bmt-border);
  border-radius: 8px 0 0 8px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}
.bmt-sidebar .widget_search input[type="search"]:focus,
.bmt-layout__sidebar .widget_search input[type="search"]:focus {
  border-color: var(--bmt-secondary);
}
.bmt-sidebar .widget_search input[type="submit"],
.bmt-layout__sidebar .widget_search input[type="submit"] {
  background: var(--bmt-secondary);
  color: var(--bmt-primary);
  border: none;
  padding: 10px 16px;
  border-radius: 0 8px 8px 0;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.2s;
}
.bmt-sidebar .widget_search input[type="submit"]:hover,
.bmt-layout__sidebar .widget_search input[type="submit"]:hover {
  background: var(--bmt-secondary-light);
}

/* Tag cloud widget */
.bmt-sidebar .tagcloud a,
.bmt-layout__sidebar .tagcloud a {
  display: inline-block;
  padding: 4px 12px;
  margin: 0 4px 6px 0;
  background: #f1f5f9;
  color: var(--bmt-text-light) !important;
  font-size: 13px !important;
  border-radius: 20px;
  text-decoration: none;
  transition: all 0.2s;
}
.bmt-sidebar .tagcloud a:hover,
.bmt-layout__sidebar .tagcloud a:hover {
  background: var(--bmt-secondary);
  color: #fff !important;
}

/* Calendar widget */
.bmt-sidebar .widget_calendar table,
.bmt-layout__sidebar .widget_calendar table {
  width: 100%;
  text-align: center;
  font-size: 13px;
}
.bmt-sidebar .widget_calendar caption,
.bmt-layout__sidebar .widget_calendar caption {
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--bmt-text);
}
.bmt-sidebar .widget_calendar th,
.bmt-layout__sidebar .widget_calendar th {
  font-weight: 600;
  color: var(--bmt-text-muted);
  padding: 6px 0;
}
.bmt-sidebar .widget_calendar td,
.bmt-layout__sidebar .widget_calendar td {
  padding: 4px 0;
}
.bmt-sidebar .widget_calendar td a,
.bmt-layout__sidebar .widget_calendar td a {
  color: var(--bmt-secondary);
  font-weight: 600;
}

/* Recent posts widget */
.bmt-sidebar .widget_recent_entries li span,
.bmt-layout__sidebar .widget_recent_entries li span {
  display: block;
  font-size: 12px;
  color: var(--bmt-text-muted);
  margin-top: 2px;
}

@media (max-width: 992px) {
  .bmt-layout--sidebar {
    grid-template-columns: 1fr;
  }
  .bmt-layout__sidebar {
    order: 2;
  }
  .bmt-sidebar {
    position: static;
  }
}

/* === Single Article === */

/* Article wrapper */
.bmt-article {
  background: var(--bmt-white);
  border-radius: var(--bmt-radius-lg);
  overflow: hidden;
  box-shadow: var(--bmt-shadow-md);
}

/* Featured image */
.bmt-article__thumbnail {
  width: 100%;
  overflow: hidden;
  border-radius: var(--bmt-radius-lg) var(--bmt-radius-lg) 0 0;
}

.bmt-article__featured-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  max-height: 520px;
}

/* Header: title + meta */
.bmt-article__header {
  padding: 32px 40px 0;
}

.bmt-article__title {
  font-family: var(--bmt-font-heading);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--bmt-primary);
  margin: 0 0 16px;
}

.bmt-article__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 20px;
  font-size: 14px;
  color: var(--bmt-text-muted);
  padding-bottom: 24px;
  border-bottom: 1px solid var(--bmt-border);
}

.bmt-article__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.bmt-article__meta-item i {
  color: var(--bmt-secondary);
  font-size: 13px;
}

.bmt-article__meta-item a {
  color: var(--bmt-text-muted);
  text-decoration: none;
  transition: var(--bmt-transition);
}

.bmt-article__meta-item a:hover {
  color: var(--bmt-secondary);
}

.bmt-article__meta-item + .bmt-article__meta-item::before {
  content: "\00b7";
  margin-right: 0;
  font-weight: 700;
  color: var(--bmt-border);
}

/* Content area typography */
.bmt-article__content {
  padding: 32px 40px;
  font-size: 17px;
  line-height: 1.8;
  color: var(--bmt-text);
}

.bmt-article__content p {
  margin: 0 0 1.5em;
}

.bmt-article__content h2 {
  font-family: var(--bmt-font-heading);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--bmt-primary);
  margin: 2em 0 0.75em;
  line-height: 1.3;
}

.bmt-article__content h3 {
  font-family: var(--bmt-font-heading);
  font-size: 22px;
  font-weight: 600;
  color: var(--bmt-primary);
  margin: 1.75em 0 0.6em;
  line-height: 1.35;
}

.bmt-article__content h4 {
  font-family: var(--bmt-font-heading);
  font-size: 19px;
  font-weight: 600;
  color: var(--bmt-primary);
  margin: 1.5em 0 0.5em;
  line-height: 1.4;
}

.bmt-article__content h5,
.bmt-article__content h6 {
  font-family: var(--bmt-font-heading);
  font-size: 16px;
  font-weight: 600;
  color: var(--bmt-primary);
  margin: 1.25em 0 0.5em;
  line-height: 1.45;
}

.bmt-article__content ul,
.bmt-article__content ol {
  margin: 0 0 1.5em;
  padding-left: 1.5em;
}

.bmt-article__content li {
  margin-bottom: 0.5em;
}

.bmt-article__content li::marker {
  color: var(--bmt-secondary);
}

.bmt-article__content blockquote {
  margin: 1.5em 0;
  padding: 20px 24px;
  border-left: 4px solid var(--bmt-secondary);
  background: var(--bmt-gold-light);
  border-radius: 0 var(--bmt-radius-sm) var(--bmt-radius-sm) 0;
  font-style: italic;
  color: var(--bmt-text-light);
}

.bmt-article__content blockquote p:last-child {
  margin-bottom: 0;
}

.bmt-article__content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--bmt-radius-sm);
  margin: 1em 0;
}

.bmt-article__content figure {
  margin: 1.5em 0;
}

.bmt-article__content figcaption {
  font-size: 13px;
  color: var(--bmt-text-muted);
  text-align: center;
  margin-top: 8px;
}

.bmt-article__content pre {
  background: var(--bmt-primary);
  color: #e2e8f0;
  padding: 20px 24px;
  border-radius: var(--bmt-radius-sm);
  overflow-x: auto;
  font-size: 14px;
  line-height: 1.6;
  margin: 1.5em 0;
}

.bmt-article__content code {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 0.9em;
}

.bmt-article__content :not(pre) > code {
  background: var(--bmt-gold-light);
  padding: 2px 6px;
  border-radius: 4px;
  color: var(--bmt-primary);
}

.bmt-article__content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
  font-size: 15px;
}

.bmt-article__content th,
.bmt-article__content td {
  padding: 10px 14px;
  border: 1px solid var(--bmt-border);
  text-align: left;
}

.bmt-article__content th {
  background: var(--bmt-primary);
  color: var(--bmt-white);
  font-weight: 600;
}

.bmt-article__content tbody tr:nth-child(even) {
  background: var(--bmt-gold-light);
}

.bmt-article__content a {
  color: var(--bmt-secondary);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: var(--bmt-transition);
}

.bmt-article__content a:hover {
  color: var(--bmt-primary);
}

/* Page links (paginated posts) */
.bmt-page-links {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 16px;
  border-top: 1px solid var(--bmt-border);
  font-size: 14px;
}

.bmt-page-links__label {
  font-weight: 600;
  color: var(--bmt-text);
  margin-right: 4px;
}

.bmt-page-links__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  border-radius: var(--bmt-radius-sm);
  background: var(--bmt-gold-light);
  color: var(--bmt-primary);
  font-weight: 600;
  text-decoration: none;
  transition: var(--bmt-transition);
}

.bmt-page-links__item:hover {
  background: var(--bmt-secondary);
  color: var(--bmt-white);
}

/* Footer: tags + share */
.bmt-article__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 40px;
  border-top: 1px solid var(--bmt-border);
}

/* Tags */
.bmt-article__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.bmt-article__tags-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--bmt-text);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.bmt-article__tags-label i {
  color: var(--bmt-secondary);
}

.bmt-article__tag {
  display: inline-block;
  padding: 4px 12px;
  font-size: 13px;
  font-weight: 500;
  color: var(--bmt-primary);
  background: var(--bmt-gold-light);
  border-radius: 20px;
  text-decoration: none;
  transition: var(--bmt-transition);
}

.bmt-article__tag:hover {
  background: var(--bmt-secondary);
  color: var(--bmt-white);
}

/* Share */
.bmt-article__share {
  display: flex;
  align-items: center;
  gap: 10px;
}

.bmt-article__share-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--bmt-text);
}

.bmt-article__share-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bmt-gold-light);
  color: var(--bmt-primary);
  font-size: 14px;
  text-decoration: none;
  transition: var(--bmt-transition);
}

.bmt-article__share-link:hover {
  background: var(--bmt-secondary);
  color: var(--bmt-white);
  transform: translateY(-2px);
  box-shadow: var(--bmt-shadow);
}

/* Author box */
.bmt-author-box {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin: 0 40px;
  padding: 28px;
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  background: var(--bmt-bg);
}

.bmt-author-box__avatar {
  flex-shrink: 0;
}

.bmt-author-box__image {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--bmt-secondary);
}

.bmt-author-box__content {
  flex: 1;
  min-width: 0;
}

.bmt-author-box__name {
  font-family: var(--bmt-font-heading);
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 6px;
  color: var(--bmt-primary);
}

.bmt-author-box__name a {
  color: inherit;
  text-decoration: none;
  transition: var(--bmt-transition);
}

.bmt-author-box__name a:hover {
  color: var(--bmt-secondary);
}

.bmt-author-box__bio {
  font-size: 14px;
  line-height: 1.6;
  color: var(--bmt-text-light);
  margin: 0;
}

/* Post navigation */
.bmt-post-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 32px 40px;
}

.bmt-post-nav__link {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px;
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  text-decoration: none;
  transition: var(--bmt-transition);
  background: var(--bmt-white);
}

.bmt-post-nav__link:hover {
  border-color: var(--bmt-secondary);
  box-shadow: var(--bmt-shadow);
  transform: translateY(-2px);
}

.bmt-post-nav__link--prev {
  grid-column: 1;
  text-align: left;
}

.bmt-post-nav__link--next {
  grid-column: 2;
  text-align: right;
}

.bmt-post-nav__label {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--bmt-secondary);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.bmt-post-nav__title {
  font-size: 15px;
  font-weight: 600;
  color: var(--bmt-primary);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Comments wrapper */
.bmt-article__comments {
  padding: 32px 40px 40px;
  border-top: 1px solid var(--bmt-border);
}

.bmt-article__comments .comment-reply-title,
.bmt-article__comments .comments-title {
  font-family: var(--bmt-font-heading);
  font-size: 22px;
  font-weight: 700;
  color: var(--bmt-primary);
  margin-bottom: 20px;
}

/* === Single Article Responsive === */
@media (max-width: 768px) {
  .bmt-article__header {
    padding: 20px 20px 0;
  }

  .bmt-article__title {
    font-size: 24px;
  }

  .bmt-article__meta {
    gap: 4px 14px;
    font-size: 13px;
  }

  .bmt-article__content {
    padding: 24px 20px;
    font-size: 16px;
  }

  .bmt-article__content h2 {
    font-size: 22px;
  }

  .bmt-article__content h3 {
    font-size: 19px;
  }

  .bmt-article__content pre {
    padding: 16px;
    font-size: 13px;
  }

  .bmt-article__footer {
    padding: 16px 20px;
    flex-direction: column;
    align-items: flex-start;
  }

  .bmt-author-box {
    margin: 0 20px;
    padding: 20px;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .bmt-post-nav {
    grid-template-columns: 1fr;
    margin: 24px 20px;
  }

  .bmt-post-nav__link--prev,
  .bmt-post-nav__link--next {
    grid-column: 1;
  }

  .bmt-post-nav__link--next {
    text-align: left;
  }

  .bmt-article__comments {
    padding: 24px 20px;
  }
}

/* === Blog Cards === */
.bmt-posts-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
.bmt-post-card {
  background: var(--bmt-white);
  border-radius: var(--bmt-radius-lg);
  overflow: hidden;
  box-shadow: var(--bmt-shadow);
  border: 1px solid var(--bmt-border);
  display: grid;
  grid-template-columns: 280px 1fr;
  transition:
    box-shadow 0.3s,
    transform 0.3s;
}
.bmt-post-card:hover {
  box-shadow: var(--bmt-shadow-lg);
  transform: translateY(-2px);
}
.bmt-post-card__image {
  overflow: hidden;
  position: relative;
}
.bmt-post-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}
.bmt-post-card:hover .bmt-post-card__image img {
  transform: scale(1.05);
}
.bmt-post-card__body {
  padding: 24px;
  display: flex;
  flex-direction: column;
}
.bmt-post-card__meta {
  display: flex;
  gap: 16px;
  font-size: 13px;
  color: var(--bmt-text-muted);
  margin-bottom: 10px;
}
.bmt-post-card__meta i {
  color: var(--bmt-secondary);
  margin-right: 4px;
}
.bmt-post-card__title {
  font-family: var(--bmt-font-heading);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 10px;
}
.bmt-post-card__title a {
  color: var(--bmt-text);
  text-decoration: none;
  transition: color 0.2s;
}
.bmt-post-card__title a:hover {
  color: var(--bmt-secondary);
}
.bmt-post-card__excerpt {
  font-size: 14px;
  line-height: 1.6;
  color: var(--bmt-text-light);
  margin-bottom: 16px;
  flex: 1;
}
.bmt-post-card .bmt-btn--outline {
  align-self: flex-start;
  font-size: 13px;
  padding: 8px 20px;
  border-color: var(--bmt-primary-dark);
  color: var(--bmt-btn-primary-text);
  background: var(--bmt-primary-dark);
}
.bmt-post-card .bmt-btn--outline:hover {
  background: var(--bmt-secondary);
  color: var(--bmt-btn-primary-text);
  border-color: var(--bmt-secondary);
}

/* No results */
.bmt-no-results {
  text-align: center;
  padding: 60px 20px;
  background: var(--bmt-white);
  border-radius: var(--bmt-radius-lg);
  border: 1px solid var(--bmt-border);
}
.bmt-no-results__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: rgba(var(--bmt-secondary-rgb), 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: var(--bmt-secondary);
}
.bmt-no-results h2 {
  font-size: 20px;
  margin: 0 0 8px;
  color: var(--bmt-text);
}
.bmt-no-results p {
  color: var(--bmt-text-muted);
  font-size: 14px;
  margin: 0;
}

@media (max-width: 768px) {
  .bmt-post-card {
    grid-template-columns: 1fr;
  }
  .bmt-post-card__image {
    max-height: 200px;
  }
  .bmt-post-card__body {
    padding: 20px;
  }
}

/* === Pagination === */
.bmt-pagination {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}
.bmt-pagination .nav-links,
.bmt-pagination .page-numbers {
  display: flex;
  gap: 4px;
  list-style: none;
  align-items: center;
}
.bmt-pagination .page-numbers a,
.bmt-pagination .page-numbers span,
.bmt-pagination a.page-numbers,
.bmt-pagination span.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: var(--bmt-radius-sm);
  font-size: 14px;
  font-weight: 500;
  color: var(--bmt-text);
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  transition: var(--bmt-transition);
}
.bmt-pagination .page-numbers a:hover,
.bmt-pagination a.page-numbers:hover {
  border-color: var(--bmt-secondary);
  color: var(--bmt-secondary);
  background: var(--bmt-gold-light);
}
.bmt-pagination .page-numbers.current,
.bmt-pagination span.current {
  background: var(--bmt-primary);
  color: #fff;
  border-color: var(--bmt-primary);
  font-weight: 700;
}
.bmt-pagination .page-numbers a:focus-visible,
.bmt-pagination a.page-numbers:focus-visible {
  outline: none;
  box-shadow: var(--bmt-focus-ring);
}

/* === Destinations Grid === */
.bmt-destinations-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.bmt-destination-card {
  position: relative;
  border-radius: var(--bmt-radius);
  overflow: hidden;
  aspect-ratio: 3/4;
  cursor: pointer;
}
.bmt-destination-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.bmt-destination-card:hover img {
  transform: scale(1.08);
}
.bmt-destination-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 60%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
}
.bmt-destination-card__name {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}
.bmt-destination-card__count {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
}

@media (max-width: 768px) {
  .bmt-destinations-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* === Why Choose Us === */
.bmt-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.bmt-feature-card {
  text-align: center;
  padding: 36px 24px;
  background: var(--bmt-white);
  border-radius: var(--bmt-radius-lg);
  border: 1px solid var(--bmt-border);
  box-shadow: var(--bmt-shadow);
  transition: var(--bmt-transition);
  position: relative;
}
.bmt-feature-card:hover {
  box-shadow: var(--bmt-shadow-lg);
  transform: translateY(-4px);
  border-color: var(--bmt-secondary);
}
.bmt-feature-card__icon {
  width: 64px;
  height: 64px;
  background: var(--bmt-gold-light);
  border-radius: var(--bmt-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  font-size: 26px;
  color: var(--bmt-secondary);
  transition: var(--bmt-transition);
}
.bmt-feature-card:hover .bmt-feature-card__icon {
  transform: scale(1.1);
  background: var(--bmt-secondary);
  color: #fff;
}
.bmt-feature-card__title {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
}
.bmt-feature-card__description {
  font-size: 14px;
  color: var(--bmt-text-light);
  line-height: 1.6;
}

@media (max-width: 768px) {
  .bmt-features-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* === Testimonials === */
.bmt-testimonial-card {
  background: var(--bmt-white);
  border-radius: var(--bmt-radius-lg, 12px);
  padding: 28px;
  box-shadow: var(--bmt-shadow);
  border: 1px solid var(--bmt-border);
  position: relative;
  transition: var(--bmt-transition);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.bmt-testimonials .swiper-slide {
  height: auto;
}
.bmt-testimonial-card__text {
  flex: 1;
}
.bmt-testimonial-card:hover {
  box-shadow: var(--bmt-shadow-lg);
  border-color: rgba(234, 88, 12, 0.2);
}
.bmt-testimonial-card::before {
  content: "\201C";
  position: absolute;
  top: 16px;
  right: 20px;
  font-size: 48px;
  font-family: Georgia, serif;
  color: var(--bmt-secondary);
  opacity: 0.15;
  line-height: 1;
}
.bmt-testimonial-card__text {
  font-size: 14px;
  color: var(--bmt-text-light);
  line-height: 1.7;
  margin-bottom: 16px;
  font-style: italic;
}
.bmt-testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 12px;
}
.bmt-testimonial-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
}
.bmt-testimonial-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bmt-testimonial-card__name {
  font-size: 14px;
  font-weight: 600;
  display: block;
}
.bmt-testimonial-card__date {
  font-size: 12px;
  color: var(--bmt-text-muted);
  display: block;
}
.bmt-testimonial-card__rating {
  margin-bottom: 12px;
}
.bmt-testimonial-card__info {
  display: flex;
  flex-direction: column;
}

/* Testimonials Slider */
.bmt-testimonials__wrap {
  position: relative;
}
.bmt-testimonials__slider {
  overflow: hidden;
}
.bmt-testimonials__pagination {
  position: static !important;
  bottom: auto !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  transform: none !important;
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 24px;
}
.bmt-testimonials__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--bmt-border);
  opacity: 1;
  border-radius: 50%;
  cursor: pointer;
  transition: var(--bmt-transition);
}
.bmt-testimonials__pagination .swiper-pagination-bullet:hover {
  background: var(--bmt-text-muted);
}
.bmt-testimonials__pagination .swiper-pagination-bullet-active {
  background: var(--bmt-secondary);
  width: 28px;
  border-radius: 5px;
}

/* === Newsletter === */
.bmt-newsletter {
  background: var(--bmt-primary-gradient);
  padding: 60px 0;
  position: relative;
  overflow: hidden;
}
.bmt-newsletter::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -10%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(234, 88, 12, 0.1) 0%, transparent 70%);
  border-radius: 50%;
}
.bmt-newsletter__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.bmt-newsletter__title {
  font-size: 28px;
  color: #fff !important;
  margin-bottom: 8px;
  font-family: var(--bmt-font-heading);
}
.bmt-newsletter__text {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 15px;
}
.bmt-newsletter__form {
  display: flex;
  gap: 12px;
  min-width: 420px;
  position: relative;
  z-index: 1;
}
.bmt-newsletter__input {
  flex: 1;
  padding: 14px 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--bmt-radius-sm);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 15px;
  outline: none;
  backdrop-filter: blur(8px);
}
.bmt-newsletter__input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.bmt-newsletter__input:focus {
  border-color: var(--bmt-secondary);
  box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.25);
  background: rgba(255, 255, 255, 0.18);
}
.bmt-newsletter__btn {
  white-space: nowrap;
  background: var(--bmt-btn-secondary-bg, var(--bmt-secondary));
  color: var(--bmt-btn-secondary-text, var(--bmt-primary));
  border-color: var(--bmt-btn-secondary-bg, var(--bmt-secondary));
  padding: 14px 28px;
  font-weight: 600;
  border-radius: var(--bmt-radius-sm);
}
.bmt-newsletter__btn:hover {
  background: var(--bmt-secondary-dark, #d4af37);
  border-color: var(--bmt-secondary-dark, #d4af37);
  transform: translateY(-1px);
}

/* === Welcome Popup === */
.bmt-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: bmtFadeIn 0.3s ease;
}
@keyframes bmtFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes bmtSlideUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.bmt-popup {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  max-width: 520px;
  width: 92%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
  animation: bmtSlideUp 0.4s ease 0.1s both;
  position: relative;
}
.bmt-popup__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  border: none;
  font-size: 20px;
  line-height: 32px;
  text-align: center;
  cursor: pointer;
  transition: background 0.2s;
}
.bmt-popup__close:hover {
  background: rgba(0, 0, 0, 0.8);
}
.bmt-popup__header {
  background: var(--bmt-primary-gradient);
  padding: 32px 28px 24px;
  text-align: center;
  position: relative;
  background-size: cover;
  background-position: center;
}
.bmt-popup__header::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.7) 0%, rgba(15, 23, 42, 0.85) 100%);
}
.bmt-popup__badge {
  display: inline-block;
  position: relative;
  z-index: 1;
  background: var(--bmt-secondary);
  color: var(--bmt-primary);
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}
.bmt-popup__title {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 26px;
  font-family: var(--bmt-font-heading);
  margin: 0 0 6px;
  line-height: 1.3;
}
.bmt-popup__subtitle {
  position: relative;
  z-index: 1;
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  margin: 0;
}
.bmt-popup__body {
  padding: 24px 28px 28px;
  text-align: center;
}
.bmt-popup__tagline {
  font-size: 16px;
  font-weight: 600;
  color: var(--bmt-text);
  margin: 0 0 20px;
  line-height: 1.4;
}
.bmt-popup__destinations {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-bottom: 20px;
}
.bmt-popup__dest-card {
  width: 120px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  text-align: center;
}
.bmt-popup__dest-card img {
  width: 100%;
  height: 80px;
  object-fit: cover;
  display: block;
}
.bmt-popup__dest-card span {
  display: block;
  padding: 6px 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--bmt-text);
}
.bmt-popup__services {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.bmt-popup__service {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.bmt-popup__service i {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--bmt-gold-light);
  color: var(--bmt-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.bmt-popup__service span {
  font-size: 11px;
  font-weight: 600;
  color: var(--bmt-text-light);
}
.bmt-popup__cta-text {
  font-size: 15px;
  font-weight: 700;
  color: var(--bmt-secondary-dark);
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.bmt-popup__description {
  font-size: 13px;
  color: var(--bmt-text-light);
  margin: 0 0 18px;
  line-height: 1.5;
}
.bmt-popup__whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #25d366;
  color: #fff;
  padding: 12px 28px;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
  margin-bottom: 14px;
}
.bmt-popup__whatsapp:hover {
  background: #1da851;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
  color: #fff;
}
.bmt-popup__whatsapp i {
  font-size: 20px;
}
.bmt-popup__bottom-text {
  font-size: 12px;
  color: var(--bmt-text-muted);
  margin: 0;
}
@media (max-width: 768px) {
  .bmt-popup {
    max-width: 95%;
  }
  .bmt-popup__header {
    padding: 24px 20px 20px;
  }
  .bmt-popup__title {
    font-size: 22px;
  }
  .bmt-popup__body {
    padding: 20px;
  }
  .bmt-popup__destinations {
    gap: 8px;
  }
  .bmt-popup__dest-card {
    width: 100px;
  }
  .bmt-popup__dest-card img {
    height: 65px;
  }
  .bmt-popup__services {
    gap: 10px;
  }
}

/* === Footer === */
.bmt-footer {
  background: var(--bmt-bg-dark);
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0;
}
.bmt-footer__bottom p {
  margin: 0;
}
.bmt-footer__main {
  padding: 64px 0 40px;
}
.bmt-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
}
.bmt-footer__col {
  min-width: 0;
}
.bmt-footer__logo {
  margin-bottom: 18px;
}
.bmt-footer__logo img {
  max-height: 120px;
  filter: brightness(0) invert(1);
}
.bmt-footer__logo h3 {
  color: #fff !important;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.3px;
  margin: 0;
}
.bmt-footer__about {
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 20px;
  color: rgba(255, 255, 255, 0.75) !important;
  max-width: 380px;
}
.bmt-footer__socials {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.bmt-footer__socials a {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: var(--bmt-radius-sm);
  color: #fff !important;
  font-size: 14px;
  transition: var(--bmt-transition);
}
.bmt-footer__socials a i {
  color: #fff !important;
}
.bmt-footer__socials a:hover {
  background: var(--bmt-secondary);
  border-color: var(--bmt-secondary);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(var(--bmt-secondary-rgb, 234, 88, 12), 0.35);
}

/* Footer widgets (Quick Links, Support, etc.) */
.bmt-footer-widget {
  min-width: 0;
}
.bmt-footer-widget__title,
.bmt-footer .widget-title,
.bmt-footer .widgettitle,
.bmt-footer h3,
.bmt-footer h4 {
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 18px;
  padding-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  position: relative;
}
.bmt-footer-widget__title::after,
.bmt-footer .widget-title::after,
.bmt-footer h3::after,
.bmt-footer h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 32px;
  height: 2px;
  background: var(--bmt-secondary);
  border-radius: 2px;
}
.bmt-footer-widget ul,
.bmt-footer .menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.bmt-footer-widget li,
.bmt-footer .menu li {
  margin-bottom: 10px;
}
.bmt-footer-widget a,
.bmt-footer .menu a {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 14px;
  text-decoration: none;
  transition:
    color 0.2s ease,
    padding-left 0.25s ease;
  display: inline-block;
  position: relative;
}
.bmt-footer-widget a:hover,
.bmt-footer .menu a:hover {
  color: #fff !important;
  padding-left: 4px;
}

/* Footer bottom bar */
.bmt-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 20px 0;
  overflow: visible;
  background: rgba(0, 0, 0, 0.18);
}
.bmt-footer__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.bmt-footer__copyright {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75) !important;
}
.bmt-footer__links {
  display: flex;
  list-style: none;
  gap: 22px;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}
.bmt-footer__links a {
  color: rgba(255, 255, 255, 0.65) !important;
  font-size: 13px;
  text-decoration: none;
  transition: color 0.2s ease;
}
.bmt-footer__links a:hover {
  color: #fff !important;
}

/* === Modal === */
.bmt-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
}
.bmt-modal.active {
  display: flex;
}
.bmt-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
}
.bmt-modal__content {
  position: relative;
  background: var(--bmt-white);
  border-radius: var(--bmt-radius-lg);
  max-width: 600px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 32px;
  z-index: 1;
  animation: modalIn 0.3s ease;
}
.bmt-modal__content--booking {
  max-width: 780px;
  width: 95%;
  padding: 0;
}
.bmt-modal__content--booking .bmt-modal__body {
  padding: 28px 32px;
  max-height: 80vh;
  overflow-y: auto;
}
.bmt-modal__content--booking > .bmt-modal__close {
  top: 12px;
  right: 12px;
  z-index: 10;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
@media (max-width: 640px) {
  .bmt-modal__content--booking {
    max-width: 100vw;
    width: 100vw;
    max-height: 100vh;
    max-height: 100dvh;
    border-radius: 0;
  }
  .bmt-modal__content--booking .bmt-modal__body {
    padding: 16px;
  }
}
.bmt-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  background: var(--bmt-bg);
  border: none;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bmt-text);
  transition: var(--bmt-transition);
}
.bmt-modal__close:hover {
  background: var(--bmt-danger);
  color: #fff;
}
.bmt-modal__close:focus-visible {
  outline: none;
  box-shadow: var(--bmt-focus-ring);
}

@keyframes modalIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
@keyframes modalOverlayIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.bmt-modal.active .bmt-modal__overlay {
  animation: modalOverlayIn 0.2s ease;
}

/* === Toast === */
.bmt-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: var(--bmt-text);
  color: #fff;
  padding: 14px 24px;
  border-radius: var(--bmt-radius-sm);
  font-size: 14px;
  font-weight: 500;
  box-shadow: var(--bmt-shadow-xl);
  transform: translateY(120%);
  opacity: 0;
  transition:
    transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.4s ease;
  z-index: 100001;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 400px;
}
.bmt-toast.active {
  transform: translateY(0);
  opacity: 1;
}
.bmt-toast--success {
  background: var(--bmt-success);
}
.bmt-toast--error {
  background: var(--bmt-danger);
}
.bmt-toast--warning {
  background: var(--bmt-warning);
}

/* === Loader / Spinner === */
.bmt-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
}
.bmt-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid var(--bmt-border);
  border-top-color: var(--bmt-primary);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* === No Results === */
.bmt-no-results {
  text-align: center;
  padding: 60px 20px;
}
.bmt-no-results__icon {
  font-size: 48px;
  color: var(--bmt-text-muted);
  margin-bottom: 16px;
}
.bmt-no-results h2,
.bmt-no-results h3 {
  font-size: 22px;
  margin-bottom: 8px;
}
.bmt-no-results p {
  color: var(--bmt-text-light);
  font-size: 15px;
}

/* === Star Ratings - Amazon-style orange across entire site === */
.bmt-stars {
  color: #16a34a !important;
}
.bmt-stars i {
  color: #16a34a !important;
}
.bmt-comment-rating {
  margin-bottom: 8px;
}
.bmt-comment-rating .bmt-stars {
  color: var(--bmt-star);
}
.bmt-card__stars {
  color: var(--bmt-star);
}

/* Rating Input (Review form) */
.bmt-comment-form__group--rating {
  margin-bottom: 16px;
}
#bmt-review-stars {
  display: flex;
  gap: 6px;
  align-items: center;
}
.bmt-comment-form__star {
  font-size: 28px;
  color: var(--bmt-border);
  cursor: pointer;
  transition:
    color 0.2s ease,
    transform 0.15s ease;
  line-height: 1;
  user-select: none;
}
.bmt-comment-form__star:hover {
  transform: scale(1.15);
}
.bmt-comment-form__star.active,
.bmt-comment-form__star:hover {
  color: var(--bmt-star);
}
.bmt-comment-form__star.active i,
.bmt-comment-form__star:hover i {
  font-weight: 900;
}

/* === 404 === */
.bmt-404 {
  text-align: center;
  padding: 80px 20px;
  max-width: 600px;
  margin: 0 auto;
}
.bmt-404__number {
  font-size: 140px;
  font-weight: 800;
  color: var(--bmt-primary);
  line-height: 1;
  margin-bottom: 16px;
  opacity: 0.08;
  font-family: var(--bmt-font-heading);
  letter-spacing: -4px;
  background: var(--bmt-gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  opacity: 0.3;
}
.bmt-404__title {
  font-size: 28px;
  margin-bottom: 12px;
}
.bmt-404__text {
  color: var(--bmt-text-light);
  margin-bottom: 24px;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
}
.bmt-404__illustration {
  margin-bottom: 16px;
  position: relative;
}
.bmt-404__code {
  font-size: 140px;
  font-weight: 800;
  font-family: var(--bmt-font-heading);
  letter-spacing: -4px;
  background: var(--bmt-gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  opacity: 0.3;
  line-height: 1;
}
.bmt-404__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 48px;
  color: var(--bmt-secondary);
  opacity: 0.6;
}
.bmt-404__search {
  margin-bottom: 24px;
}
.bmt-404__search-form {
  display: flex;
  gap: 8px;
  max-width: 400px;
  margin: 0 auto;
}
.bmt-404__search-input {
  flex: 1;
}
.bmt-404__search-btn {
  min-width: 48px;
}
.bmt-404__actions {
  margin-bottom: 40px;
}
.bmt-404__explore {
  border-top: 1px solid var(--bmt-border);
  padding-top: 32px;
}
.bmt-404__explore-title {
  font-size: 16px;
  color: var(--bmt-text-muted);
  margin-bottom: 16px;
  font-weight: 500;
}
.bmt-404__explore-grid {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.bmt-404__explore-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: var(--bmt-bg);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-sm);
  color: var(--bmt-text);
  font-size: 14px;
  font-weight: 500;
  transition: var(--bmt-transition);
}
.bmt-404__explore-card i {
  color: var(--bmt-secondary);
}
.bmt-404__explore-card:hover {
  border-color: var(--bmt-secondary);
  background: var(--bmt-gold-light);
  color: var(--bmt-secondary);
  transform: translateY(-2px);
}

/* === noUiSlider Overrides === */
.noUi-connect {
  background: var(--bmt-primary) !important;
}
.noUi-handle {
  border-radius: 50% !important;
  box-shadow: var(--bmt-shadow-md) !important;
  border: 2px solid var(--bmt-primary) !important;
  width: 20px !important;
  height: 20px !important;
  right: -10px !important;
  top: -6px !important;
}
.noUi-handle::before,
.noUi-handle::after {
  display: none !important;
}
.noUi-target {
  border: none !important;
  box-shadow: none !important;
  background: var(--bmt-border) !important;
  height: 6px !important;
}

/* === Blog Preview Grid === */
.bmt-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.bmt-blog-card {
  background: var(--bmt-white);
  border-radius: var(--bmt-radius);
  overflow: hidden;
  box-shadow: var(--bmt-shadow);
  transition: var(--bmt-transition);
}
.bmt-blog-card:hover {
  box-shadow: var(--bmt-shadow-lg);
  transform: translateY(-4px);
}
.bmt-blog-card__image {
  aspect-ratio: 16/10;
  overflow: hidden;
}
.bmt-blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.bmt-blog-card:hover .bmt-blog-card__image img {
  transform: scale(1.05);
}
.bmt-blog-card__body {
  padding: 20px;
}
.bmt-blog-card__date {
  font-size: 13px;
  color: var(--bmt-text-muted);
  margin-bottom: 8px;
}
.bmt-blog-card__title {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 8px;
}
.bmt-blog-card__title a {
  color: var(--bmt-text);
}
.bmt-blog-card__title a:hover {
  color: var(--bmt-primary);
}
.bmt-blog-card__excerpt {
  font-size: 14px;
  color: var(--bmt-text-light);
  margin-bottom: 12px;
}

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

/* === Status Badges (Admin) === */
.bmt-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--bmt-radius-full);
  font-size: 12px;
  font-weight: 600;
}
.bmt-status--pending {
  background: #fef3c7;
  color: #92400e;
}
.bmt-status--confirmed {
  background: #d1fae5;
  color: #065f46;
}
.bmt-status--completed {
  background: #d1fae5;
  color: #065f46;
}
.bmt-status--cancelled {
  background: #fee2e2;
  color: #991b1b;
}
.bmt-status--publish {
  background: #d1fae5;
  color: #065f46;
}
.bmt-status--draft {
  background: #f1f5f9;
  color: #64748b;
}
.bmt-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: var(--bmt-radius-full);
  font-size: 11px;
  font-weight: 600;
  background: var(--bmt-bg);
}

/* === Stats Counter Section === */
.bmt-stats {
  background: var(--bmt-primary-gradient);
  padding: 60px 0;
}
/* Light variant for Stats (used on homepage to avoid dark-on-dark stacking) */
.bmt-stats--light {
  background: var(--bmt-bg) !important;
}
.bmt-stats--light .bmt-stats__item {
  color: var(--bmt-text);
}
.bmt-stats--light .bmt-stats__icon {
  background: var(--bmt-bg);
  color: var(--bmt-secondary);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
}
.bmt-stats--light .bmt-stats__icon i {
  color: var(--bmt-secondary);
  font-size: 28px;
}
.bmt-stats--light .bmt-stats__number {
  color: var(--bmt-primary);
}
.bmt-stats--light .bmt-stats__label {
  color: var(--bmt-text-light);
  opacity: 1;
}
.bmt-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  text-align: center;
}
.bmt-stats__item {
  color: #fff;
}
.bmt-stats__icon {
  font-size: 36px;
  margin-bottom: 12px;
  opacity: 0.9;
}
.bmt-stats__number {
  font-family: var(--bmt-font-heading);
  font-size: 42px;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 4px;
}
.bmt-stats__label {
  font-size: 14px;
  opacity: 0.85;
  font-weight: 500;
}
.bmt-stats__breakdown {
  font-size: 11px;
  opacity: 0.55;
  font-weight: 400;
  margin-top: 4px;
  letter-spacing: 0.3px;
}
.bmt-stats--light .bmt-stats__breakdown {
  color: var(--bmt-text-light);
  opacity: 0.6;
}

/* === CTA Banner === */
.bmt-cta {
  position: relative;
  background: var(--bmt-primary-gradient);
  background-size: cover;
  background-position: center;
  padding: 80px 0;
  text-align: center;
  overflow: hidden;
}
.bmt-cta__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.85) 0%, rgba(30, 41, 59, 0.8) 50%, rgba(234, 88, 12, 0.3) 100%);
}
.bmt-cta .bmt-container {
  position: relative;
  z-index: 2;
}
.bmt-cta__content {
  max-width: 650px;
  margin: 0 auto;
}
.bmt-cta__title {
  font-size: 36px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 16px;
  letter-spacing: -0.5px;
}
.bmt-cta__text {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.9) !important;
  margin-bottom: 32px;
  line-height: 1.7;
}
.bmt-btn--white {
  background: #fff;
  color: var(--bmt-primary);
  border-color: #fff;
  font-weight: 700;
}
.bmt-btn--white:hover {
  background: var(--bmt-secondary);
  color: #fff;
  border-color: var(--bmt-secondary);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(234, 88, 12, 0.3);
}

/* === How It Works === */
.bmt-hiw__grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.bmt-hiw__step {
  flex: 1;
  max-width: 300px;
  text-align: center;
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-lg);
  padding: 32px 24px;
  position: relative;
  transition: var(--bmt-transition);
}
.bmt-hiw__step:hover {
  box-shadow: var(--bmt-shadow-lg);
  transform: translateY(-4px);
}
.bmt-hiw__number {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
  height: 28px;
  background: var(--bmt-primary);
  color: #fff;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bmt-hiw__icon {
  font-size: 40px;
  color: var(--bmt-primary);
  margin-bottom: 16px;
}
.bmt-hiw__title {
  font-size: 18px;
  margin-bottom: 8px;
}
.bmt-hiw__desc {
  font-size: 14px;
  color: var(--bmt-text-light);
  line-height: 1.6;
}
.bmt-hiw__connector {
  color: var(--bmt-primary);
  font-size: 20px;
  opacity: 0.5;
}

/* === Partners === */
.bmt-partners {
  padding: 40px 0;
  border-top: 1px solid var(--bmt-border);
  border-bottom: 1px solid var(--bmt-border);
}
.bmt-partners__header {
  text-align: center;
  margin-bottom: 24px;
}
.bmt-partners__label {
  font-size: 14px;
  color: var(--bmt-text-muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.bmt-partners__placeholder {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}
.bmt-partners__name {
  font-size: 18px;
  font-weight: 700;
  color: var(--bmt-border);
  opacity: 0.6;
  letter-spacing: 1px;
}
.bmt-partners__item img {
  max-height: 40px;
  width: auto;
  filter: grayscale(100%);
  opacity: 0.5;
  transition: var(--bmt-transition);
}
.bmt-partners__item img:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* === App Download === */
.bmt-app-download {
  background: var(--bmt-bg);
}
.bmt-app-download__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.bmt-app-download__text {
  font-size: 16px;
  color: var(--bmt-text-light);
  margin-bottom: 24px;
  line-height: 1.7;
}
.bmt-app-download__features {
  list-style: none;
  margin-bottom: 32px;
}
.bmt-app-download__features li {
  padding: 6px 0;
  font-size: 15px;
  color: var(--bmt-text);
}
.bmt-app-download__features i {
  color: var(--bmt-success);
  margin-right: 8px;
}
.bmt-app-download__badges {
  display: flex;
  gap: 12px;
}
.bmt-app-download__badge {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  background: var(--bmt-bg-dark);
  color: #fff;
  border-radius: var(--bmt-radius-sm);
  text-decoration: none;
  transition: var(--bmt-transition);
}
.bmt-app-download__badge:hover {
  background: var(--bmt-primary);
  color: #fff;
}
.bmt-app-download__badge i {
  font-size: 24px;
}
.bmt-app-download__badge small {
  display: block;
  font-size: 10px;
  opacity: 0.7;
  line-height: 1;
}
.bmt-app-download__badge span {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}
.bmt-app-download__image img {
  max-width: 100%;
  border-radius: var(--bmt-radius-lg);
}

@media (max-width: 768px) {
  .bmt-app-download__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* === Share Buttons === */
.bmt-share {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  border-top: 1px solid var(--bmt-border);
  margin-top: 16px;
}
.bmt-share__label {
  font-size: 14px;
  font-weight: 600;
  color: var(--bmt-text);
}
.bmt-share__buttons {
  display: flex;
  gap: 8px;
}
.bmt-share__btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--bmt-radius-full);
  font-size: 14px;
  color: #fff;
  transition: var(--bmt-transition);
  text-decoration: none;
  border: none;
  cursor: pointer;
}
.bmt-share__btn--facebook {
  background: #1877f2;
}
.bmt-share__btn--twitter {
  background: #000;
}
.bmt-share__btn--whatsapp {
  background: #25d366;
}
.bmt-share__btn--pinterest {
  background: #e60023;
}
.bmt-share__btn--email {
  background: var(--bmt-text-light);
}
.bmt-share__btn--copy {
  background: var(--bmt-bg);
  color: var(--bmt-text);
  border: 1px solid var(--bmt-border);
}
.bmt-share__btn:hover {
  opacity: 0.85;
  transform: translateY(-2px);
}
.bmt-share__btn--copy:hover {
  background: var(--bmt-primary);
  color: #fff;
  border-color: var(--bmt-primary);
}

/* === FAQ Accordion === */
.bmt-faq__item {
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-sm);
  margin-bottom: 8px;
  overflow: hidden;
}
.bmt-faq__question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: none;
  border: none;
  font-size: 15px;
  font-weight: 600;
  color: var(--bmt-text);
  cursor: pointer;
  text-align: left;
  font-family: var(--bmt-font);
  transition: var(--bmt-transition);
}
.bmt-faq__question:hover {
  background: var(--bmt-bg);
}
.bmt-faq__question i {
  transition: transform 0.3s ease;
  font-size: 12px;
  color: var(--bmt-text-light);
}
.bmt-faq__item.active .bmt-faq__question i {
  transform: rotate(180deg);
}
.bmt-faq__answer {
  display: none;
  padding: 0 20px 16px;
  font-size: 14px;
  color: var(--bmt-text-light);
  line-height: 1.7;
}

/* === Back to Top Button === */
.bmt-back-to-top {
  position: fixed;
  /* clears the fixed bottom bars, then the AI chat launcher above them */
  bottom: calc(var(--bmt-bottom-stack) + 20px + var(--bmt-ai-launcher-h) + var(--bmt-fab-gap));
  right: 20px;
  width: 44px;
  height: 44px;
  border-radius: var(--bmt-radius-full);
  background: var(--bmt-primary);
  color: #fff;
  border: none;
  font-size: 16px;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: var(--bmt-shadow-lg);
  transition: var(--bmt-transition);
  z-index: 10001;
}
.bmt-back-to-top.visible {
  display: flex;
}
.bmt-back-to-top:hover {
  background: var(--bmt-primary-dark);
  transform: translateY(-3px);
}

/* === Cookie Consent Banner === */
.bmt-cookie-consent {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--bmt-bg-dark);
  padding: 16px 0;
  z-index: 9999;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
}
.bmt-cookie-consent__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.bmt-cookie-consent__text {
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  margin: 0;
}
.bmt-cookie-consent__text i {
  color: var(--bmt-accent);
  margin-right: 8px;
}
.bmt-cookie-consent__actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

/* ============================================================
   Scroll Reveal Animations (WOW-like)
   ============================================================ */
[data-animate] {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}
[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}

/* Animation Variants */
[data-animate="fade-up"] {
  transform: translateY(40px);
}
[data-animate="fade-down"] {
  transform: translateY(-40px);
}
[data-animate="fade-left"] {
  transform: translateX(40px);
}
[data-animate="fade-right"] {
  transform: translateX(-40px);
}
[data-animate="fade-in"] {
  transform: none;
}
[data-animate="zoom-in"] {
  transform: scale(0.9);
}
[data-animate="zoom-out"] {
  transform: scale(1.1);
}
[data-animate="slide-up"] {
  transform: translateY(60px);
}
[data-animate="flip-up"] {
  transform: perspective(1000px) rotateX(10deg) translateY(30px);
}

/* Stagger delays for grid children */
[data-animate-stagger] > [data-animate]:nth-child(1) {
  transition-delay: 0s;
}
[data-animate-stagger] > [data-animate]:nth-child(2) {
  transition-delay: 0.1s;
}
[data-animate-stagger] > [data-animate]:nth-child(3) {
  transition-delay: 0.2s;
}
[data-animate-stagger] > [data-animate]:nth-child(4) {
  transition-delay: 0.3s;
}
[data-animate-stagger] > [data-animate]:nth-child(5) {
  transition-delay: 0.4s;
}
[data-animate-stagger] > [data-animate]:nth-child(6) {
  transition-delay: 0.5s;
}
[data-animate-stagger] > [data-animate]:nth-child(7) {
  transition-delay: 0.6s;
}
[data-animate-stagger] > [data-animate]:nth-child(8) {
  transition-delay: 0.7s;
}
[data-animate-stagger] > .is-visible:nth-child(n) {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}

/* Delay classes */
[data-delay="100"] {
  transition-delay: 0.1s;
}
[data-delay="200"] {
  transition-delay: 0.2s;
}
[data-delay="300"] {
  transition-delay: 0.3s;
}
[data-delay="400"] {
  transition-delay: 0.4s;
}
[data-delay="500"] {
  transition-delay: 0.5s;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  [data-animate] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ============================================================
   Services Section (Homepage)
   ============================================================ */
.bmt-services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.bmt-service-card {
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-lg);
  padding: 32px 24px;
  text-align: center;
  transition: var(--bmt-transition);
  position: relative;
  overflow: hidden;
}
.bmt-service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--bmt-gold-gradient);
  transform: scaleX(0);
  transition: transform 0.4s ease;
}
.bmt-service-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--bmt-shadow-xl);
  border-color: transparent;
}
.bmt-service-card:focus-visible {
  box-shadow: var(--bmt-focus-ring);
  outline: none;
}
.bmt-service-card:hover::before {
  transform: scaleX(1);
}
.bmt-service-card__icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: 24px;
  transition: var(--bmt-transition);
}
.bmt-service-card:hover .bmt-service-card__icon {
  transform: scale(1.1);
}
.bmt-service-card__icon--tour {
  background: rgba(249, 115, 22, 0.1);
  color: var(--bmt-secondary);
}
.bmt-service-card__icon--hotel {
  background: rgba(20, 184, 166, 0.1);
  color: var(--bmt-teal);
}
.bmt-service-card__icon--place {
  background: rgba(56, 189, 248, 0.1);
  color: var(--bmt-sky);
}
.bmt-service-card__icon--car {
  background: rgba(30, 64, 175, 0.08);
  color: var(--bmt-primary);
}
.bmt-service-card__title {
  font-family: var(--bmt-font-heading);
  font-size: 18px;
  font-weight: 700;
  color: var(--bmt-text);
  margin-bottom: 8px;
}
.bmt-service-card__desc {
  font-size: 14px;
  color: var(--bmt-text-light);
  line-height: 1.6;
  margin-bottom: 16px;
}
.bmt-service-card__count {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--bmt-secondary);
}
/* ============================================================
   Offers / Deals Section
   ============================================================ */
.bmt-offers-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.bmt-offer-card {
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-lg);
  overflow: hidden;
  transition: var(--bmt-transition);
  position: relative;
}
.bmt-offer-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--bmt-shadow-xl);
}
.bmt-offer-card__image {
  position: relative;
  height: 200px;
  overflow: hidden;
}
.bmt-offer-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.bmt-offer-card:hover .bmt-offer-card__image img {
  transform: scale(1.08);
}
.bmt-offer-card__discount {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--bmt-danger);
  color: #fff;
  padding: 4px 12px;
  border-radius: var(--bmt-radius-full);
  font-size: 12px;
  font-weight: 700;
}
.bmt-offer-card__type {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(15, 23, 42, 0.8);
  color: #fff;
  padding: 4px 10px;
  border-radius: var(--bmt-radius-full);
  font-size: 11px;
  font-weight: 600;
  backdrop-filter: blur(4px);
}
.bmt-offer-card__body {
  padding: 20px;
}
.bmt-offer-card__title {
  font-family: var(--bmt-font-heading);
  font-size: 17px;
  font-weight: 700;
  color: var(--bmt-text);
  margin-bottom: 8px;
}
.bmt-offer-card__title a {
  color: inherit;
}
.bmt-offer-card__title a:hover {
  color: var(--bmt-secondary);
}
.bmt-offer-card__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: var(--bmt-text-light);
  margin-bottom: 12px;
}
.bmt-offer-card__meta i {
  color: var(--bmt-secondary);
}
.bmt-offer-card__price {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.bmt-offer-card__price-old {
  font-size: 14px;
  color: var(--bmt-text-muted);
  text-decoration: line-through;
}
.bmt-offer-card__price-new {
  font-size: 22px;
  font-weight: 800;
  color: var(--bmt-secondary);
  font-family: var(--bmt-font-heading);
}
.bmt-offer-card__price-unit {
  font-size: 13px;
  color: var(--bmt-text-light);
  font-weight: 400;
}
/* ============================================================
   Section Header Gold Accent Line
   ============================================================ */

/* ============================================================
   AUTH - Login Modal / Register / Account
   ============================================================ */

/* --- Header Auth Buttons --- */
.bmt-header__icon-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--bmt-bg);
  border: none;
  color: var(--bmt-text);
  font-size: 16px;
  cursor: pointer;
  position: relative;
  transition: var(--bmt-transition);
}
.bmt-header__icon-btn:hover {
  background: var(--bmt-border);
  color: var(--bmt-secondary);
}
.bmt-header__badge {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 18px;
  height: 18px;
  background: var(--bmt-danger);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.bmt-header__auth-btn {
  white-space: nowrap;
}

/* --- User Menu Dropdown (logged in) --- */
.bmt-user-menu {
  position: relative;
}
.bmt-user-menu__trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-full);
  padding: 4px 12px 4px 4px;
  cursor: pointer;
  transition: var(--bmt-transition);
}
.bmt-user-menu__trigger:hover {
  border-color: var(--bmt-secondary);
}
.bmt-user-menu__trigger img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}
.bmt-user-menu__name {
  font-size: 14px;
  font-weight: 500;
  color: var(--bmt-text);
}
.bmt-user-menu__trigger i {
  font-size: 10px;
  color: var(--bmt-text-muted);
  transition: var(--bmt-transition);
}
.bmt-user-menu.open .bmt-user-menu__trigger i {
  transform: rotate(180deg);
}

.bmt-user-menu__dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 240px;
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: all 0.2s ease;
  z-index: 9999;
  padding: 0;
  overflow: hidden;
}
.bmt-user-menu.open .bmt-user-menu__dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.bmt-user-menu__header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--bmt-border);
  background: var(--bmt-bg);
}
.bmt-user-menu__header img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}
.bmt-user-menu__header div {
  display: flex;
  flex-direction: column;
}
.bmt-user-menu__header strong {
  display: block;
  font-size: 14px;
  color: var(--bmt-text);
  line-height: 1.3;
}
.bmt-user-menu__header small {
  font-size: 12px;
  color: var(--bmt-text-muted);
  line-height: 1.3;
}

.bmt-user-menu__dropdown a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  font-size: 14px;
  color: var(--bmt-text);
  text-decoration: none;
  transition: var(--bmt-transition);
}
.bmt-user-menu__dropdown a:hover {
  background: var(--bmt-bg);
  color: var(--bmt-secondary);
  text-decoration: none;
}
.bmt-user-menu__dropdown a i {
  width: 18px;
  text-align: center;
  color: var(--bmt-text-muted);
  font-size: 14px;
}
.bmt-user-menu__dropdown hr {
  border: none;
  border-top: 1px solid var(--bmt-border);
  margin: 4px 0;
}

/* --- Auth Modal --- */
.bmt-modal__content--auth {
  max-width: 580px;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.bmt-auth-tabs {
  display: flex;
  border-bottom: 2px solid var(--bmt-border);
  background: var(--bmt-bg);
}
.bmt-auth-tab {
  flex: 1;
  padding: 16px;
  border: none;
  background: none;
  font-size: 15px;
  font-weight: 600;
  color: var(--bmt-text-muted);
  cursor: pointer;
  transition: var(--bmt-transition);
  position: relative;
}
.bmt-auth-tab.active {
  color: var(--bmt-secondary);
}
.bmt-auth-tab.active::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--bmt-secondary);
}

.bmt-auth-panel {
  display: none;
  padding: 28px 32px 32px;
}
.bmt-auth-panel.active {
  display: block;
}

.bmt-auth-header {
  text-align: center;
  margin-bottom: 24px;
}
.bmt-auth-header h3 {
  font-size: 22px;
  margin-bottom: 6px;
}
.bmt-auth-header p {
  font-size: 14px;
  color: var(--bmt-text-muted);
}

.bmt-auth-field {
  margin-bottom: 16px;
}
.bmt-auth-field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--bmt-text);
  margin-bottom: 6px;
}
.bmt-auth-field label i {
  color: var(--bmt-text-muted);
  margin-right: 4px;
}

.bmt-auth-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.bmt-input-group {
  position: relative;
  display: flex;
}
.bmt-input-group .bmt-input {
  padding-right: 44px;
}
.bmt-toggle-password {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 44px;
  background: none;
  border: none;
  color: var(--bmt-text-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bmt-toggle-password:hover {
  color: var(--bmt-text);
}

.bmt-auth-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.bmt-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--bmt-text-light);
  cursor: pointer;
}
.bmt-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--bmt-secondary);
  border-radius: 4px;
  cursor: pointer;
}

.bmt-auth-link {
  font-size: 13px;
  color: var(--bmt-secondary);
  font-weight: 500;
}
.bmt-auth-link:hover {
  text-decoration: underline;
}

.bmt-auth-error {
  margin-top: 16px;
  padding: 12px 16px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: var(--bmt-radius-sm);
  color: #dc2626;
  font-size: 13px;
  line-height: 1.5;
}
.bmt-auth-error--success {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #16a34a;
}
.bmt-auth-error i {
  margin-right: 6px;
}

.bmt-auth-footer {
  text-align: center;
  padding-top: 16px;
  margin-top: 16px;
  border-top: 1px solid var(--bmt-border);
  font-size: 14px;
  color: var(--bmt-text-muted);
}
.bmt-auth-footer a {
  color: var(--bmt-secondary);
  font-weight: 600;
}

/* --- Auth Social Login --- */
.bmt-auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 18px 0;
  color: var(--bmt-text-muted);
  font-size: 13px;
}
.bmt-auth-divider::before,
.bmt-auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--bmt-border);
}
.bmt-btn--google {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #fff;
  color: #3c4043;
  border: 1px solid #dadce0;
  font-size: 14px;
  font-weight: 500;
  padding: 11px 16px;
  border-radius: var(--bmt-radius-sm);
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}
.bmt-btn--google:hover {
  background: #f8f9fa;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-color: #c6c6c6;
  color: #3c4043;
}
.bmt-btn--google svg {
  flex-shrink: 0;
}

/* --- Role Selector --- */
.bmt-role-selector {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.bmt-role-option {
  cursor: pointer;
}
.bmt-role-option input {
  display: none;
}
.bmt-role-option__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 12px 8px;
  border: 2px solid var(--bmt-border);
  border-radius: var(--bmt-radius-sm);
  font-size: 11px;
  font-weight: 600;
  color: var(--bmt-text-muted);
  transition: var(--bmt-transition);
  text-align: center;
}
.bmt-role-option__card i {
  font-size: 20px;
}
.bmt-role-option.active .bmt-role-option__card,
.bmt-role-option input:checked + .bmt-role-option__card {
  border-color: var(--bmt-secondary);
  background: var(--bmt-gold-light);
  color: var(--bmt-secondary);
}

/* --- Account Page --- */
.bmt-account {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
  padding: 40px 0;
  min-height: 600px;
}

.bmt-account__sidebar {
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-lg);
  padding: 24px;
  height: fit-content;
  position: sticky;
  top: 100px;
  box-shadow: var(--bmt-shadow);
}

.bmt-account__user {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--bmt-border);
  margin-bottom: 16px;
}
.bmt-account__avatar img {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--bmt-gold-light);
}
.bmt-account__name {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 2px;
  color: var(--bmt-text);
}
.bmt-account__role {
  font-size: 12px;
  color: var(--bmt-secondary);
  font-weight: 600;
  background: var(--bmt-gold-light);
  padding: 2px 8px;
  border-radius: var(--bmt-radius-full);
}

.bmt-account__nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bmt-account__nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 500;
  color: var(--bmt-text);
  border-radius: var(--bmt-radius-sm);
  transition: var(--bmt-transition);
}
.bmt-account__nav-item:hover {
  background: var(--bmt-bg);
  color: var(--bmt-secondary);
}
.bmt-account__nav-item:focus-visible {
  box-shadow: var(--bmt-focus-ring);
  outline: none;
}
.bmt-account__nav-item.active {
  background: var(--bmt-gold-light);
  color: var(--bmt-secondary);
  font-weight: 600;
  border-left: 3px solid var(--bmt-secondary);
}
.bmt-account__nav-item:last-child {
  color: var(--bmt-danger);
}
.bmt-account__nav-item:last-child:hover {
  background: rgba(239, 68, 68, 0.06);
  color: var(--bmt-danger);
}
.bmt-account__nav-item i {
  width: 18px;
  text-align: center;
}
.bmt-account__nav-item .bmt-nav-badge {
  margin-left: auto;
  background: var(--bmt-danger);
  color: #fff;
  font-size: 10px;
  padding: 2px 6px;
  border-radius: var(--bmt-radius-full);
  font-weight: 700;
  min-width: 20px;
  text-align: center;
}

.bmt-account__content {
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-lg);
  padding: 32px;
  box-shadow: var(--bmt-shadow);
  min-height: 400px;
}

.bmt-account__title {
  font-size: 22px;
  margin-bottom: 6px;
}
.bmt-account__subtitle {
  font-size: 14px;
  color: var(--bmt-text-muted);
  margin-bottom: 28px;
}

/* Dashboard Stats */
.bmt-dashboard__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 32px;
}
.bmt-dash-stat {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px;
  background: var(--bmt-white);
  border-radius: var(--bmt-radius);
  border: 1px solid var(--bmt-border);
  transition: var(--bmt-transition);
}
.bmt-dash-stat:hover {
  box-shadow: var(--bmt-shadow-md);
  border-color: var(--bmt-secondary);
  transform: translateY(-2px);
}
.bmt-dash-stat__icon {
  width: 48px;
  height: 48px;
  background: var(--bmt-gold-light);
  color: var(--bmt-secondary);
  border-radius: var(--bmt-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.bmt-dash-stat__icon--heart {
  background: rgba(239, 68, 68, 0.1);
  color: var(--bmt-danger);
}
.bmt-dash-stat__icon--user {
  background: rgba(16, 185, 129, 0.1);
  color: var(--bmt-success);
}
.bmt-dash-stat__icon--date {
  background: rgba(99, 102, 241, 0.1);
  color: #6366f1;
}
.bmt-dash-stat__icon--reward {
  background: rgba(234, 179, 8, 0.1);
  color: #eab308;
}
.bmt-dash-stat__number {
  font-size: 18px;
  font-weight: 700;
  display: block;
}
.bmt-dash-stat__label {
  font-size: 12px;
  color: var(--bmt-text-muted);
}

/* === Rewards Page === */
.bmt-rewards__summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 32px;
}
.bmt-rewards__points-card,
.bmt-rewards__value-card,
.bmt-rewards__rate-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
}
.bmt-rewards__points-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  background: rgba(234, 179, 8, 0.1);
  color: #eab308;
  flex-shrink: 0;
}
.bmt-rewards__points-value {
  font-size: 24px;
  font-weight: 800;
  color: var(--bmt-text);
  display: block;
  line-height: 1.2;
}
.bmt-rewards__points-label {
  font-size: 13px;
  color: var(--bmt-text-muted);
  display: block;
}
.bmt-rewards__history {
  margin-top: 8px;
}
.bmt-rewards__history h3 {
  font-size: 18px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.bmt-rewards__table-wrap {
  overflow-x: auto;
}
.bmt-rewards__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.bmt-rewards__table th {
  text-align: left;
  padding: 12px 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--bmt-text-muted);
  border-bottom: 2px solid var(--bmt-border);
}
.bmt-rewards__table td {
  padding: 12px 8px;
  border-bottom: 1px solid var(--bmt-border);
  color: var(--bmt-text-light);
}
.bmt-rewards__points-earned {
  font-weight: 700;
  color: var(--bmt-success);
}
.bmt-rewards__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
  background: #f1f5f9;
  color: #475569;
}
.bmt-rewards__badge--booking {
  background: #ecfdf5;
  color: #059669;
}
.bmt-rewards__badge--bonus {
  background: #fef3c7;
  color: #b45309;
}
.bmt-rewards__empty {
  text-align: center;
  padding: 48px 20px;
}
.bmt-rewards__empty i {
  font-size: 48px;
  color: var(--bmt-border);
  margin-bottom: 16px;
  display: block;
}
.bmt-rewards__empty h3 {
  font-size: 20px;
  margin-bottom: 8px;
}
.bmt-rewards__empty p {
  color: var(--bmt-text-muted);
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .bmt-rewards__summary {
    grid-template-columns: 1fr;
  }
}

/* Dashboard Sections */
.bmt-dashboard__section {
  margin-top: 32px;
}
.bmt-dashboard__section h3 {
  font-size: 18px;
  margin-bottom: 16px;
}
.bmt-dashboard__section h3 i {
  color: var(--bmt-secondary);
  margin-right: 6px;
}
.bmt-dashboard__section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.bmt-dashboard__section-header h3 {
  margin-bottom: 0;
}

/* Quick Actions */
.bmt-quick-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}
.bmt-quick-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 20px 14px;
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-lg);
  text-decoration: none;
  color: var(--bmt-text);
  transition: all 0.2s ease;
  text-align: center;
}
.bmt-quick-action:hover {
  border-color: var(--bmt-secondary);
  color: var(--bmt-secondary);
  transform: translateY(-3px);
  box-shadow: var(--bmt-shadow-md);
}
.bmt-quick-action:hover i {
  color: var(--bmt-secondary);
}
.bmt-quick-action:focus-visible {
  box-shadow: var(--bmt-focus-ring);
  outline: none;
}
.bmt-quick-action i {
  font-size: 24px;
  color: var(--bmt-primary);
  transition: var(--bmt-transition);
}
.bmt-quick-action span {
  font-size: 13px;
  font-weight: 600;
}

/* Empty Bookings */
.bmt-dashboard__empty-bookings {
  text-align: center;
  padding: 40px 20px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-lg);
  border: 2px dashed var(--bmt-border);
}
.bmt-dashboard__empty-bookings i {
  font-size: 48px;
  color: var(--bmt-primary);
  opacity: 0.5;
  margin-bottom: 16px;
}
.bmt-dashboard__empty-bookings h3 {
  font-size: 20px;
  margin-bottom: 8px;
  color: var(--bmt-heading);
}
.bmt-dashboard__empty-bookings p {
  color: var(--bmt-text-muted);
  margin-bottom: 20px;
  max-width: 400px;
  margin-inline: auto;
}
.bmt-dashboard__empty-bookings .bmt-btn {
  margin-bottom: 0;
}

/* Bookings Table */
.bmt-bookings-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.bmt-bookings-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.bmt-bookings-table thead {
  background: var(--bmt-bg);
}
.bmt-bookings-table th {
  padding: 12px 14px;
  text-align: left;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--bmt-text-muted);
  border-bottom: 2px solid var(--bmt-border);
  white-space: nowrap;
}
.bmt-bookings-table td {
  padding: 14px;
  vertical-align: middle;
  border-bottom: 1px solid var(--bmt-border);
}
.bmt-bookings-table tbody tr {
  transition: var(--bmt-transition-fast);
}
.bmt-bookings-table tbody tr:hover {
  background: var(--bmt-gold-light);
}
.bmt-booking-ref {
  font-size: 12px;
  background: var(--bmt-bg);
  padding: 3px 10px;
  border-radius: var(--bmt-radius-sm);
  font-family: monospace;
  letter-spacing: 0.5px;
}

.bmt-service-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--bmt-radius-full);
  font-size: 11px;
  font-weight: 600;
}
.bmt-service-badge--tour {
  background: rgba(249, 115, 22, 0.1);
  color: var(--bmt-secondary);
}
.bmt-service-badge--hotel {
  background: rgba(20, 184, 166, 0.1);
  color: var(--bmt-teal);
}
.bmt-service-badge--car {
  background: rgba(30, 64, 175, 0.08);
  color: var(--bmt-primary);
}

/* Pagination */
.bmt-account-pagination {
  display: flex;
  gap: 6px;
  justify-content: center;
  margin-top: 24px;
}
.bmt-account-pagination__link,
.bmt-account-pagination__current {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--bmt-radius-sm);
  font-size: 14px;
  font-weight: 500;
  transition: var(--bmt-transition);
}
.bmt-account-pagination__link {
  color: var(--bmt-text);
  background: var(--bmt-bg);
}
.bmt-account-pagination__link:hover {
  background: var(--bmt-secondary);
  color: #fff;
}
.bmt-account-pagination__current {
  background: var(--bmt-secondary);
  color: #fff;
}

/* Empty State */
.bmt-empty-state {
  text-align: center;
  padding: 60px 20px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-lg);
  border: 2px dashed var(--bmt-border);
}
.bmt-empty-state__icon {
  font-size: 52px;
  color: var(--bmt-text-muted);
  margin-bottom: 16px;
  opacity: 0.5;
}
.bmt-empty-state h3 {
  font-size: 20px;
  margin-bottom: 8px;
}
.bmt-empty-state p {
  color: var(--bmt-text-muted);
  margin-bottom: 20px;
  max-width: 400px;
  margin-inline: auto;
  margin-bottom: 20px;
}

/* Profile Form */
.bmt-profile-avatar {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-lg);
  margin-bottom: 32px;
  border: 1px solid var(--bmt-border);
}
.bmt-profile-avatar img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 3px solid var(--bmt-gold-light);
}
.bmt-profile-avatar .bmt-text-muted {
  font-size: 13px;
  margin-bottom: 8px;
}

.bmt-profile-section {
  margin-bottom: 32px;
}
.bmt-profile-section h3 {
  font-size: 16px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--bmt-border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.bmt-profile-actions {
  padding-top: 20px;
  border-top: 1px solid var(--bmt-border);
}

.bmt-text-muted {
  color: var(--bmt-text-muted);
  font-size: 13px;
}

/* Guest Account Page */
.bmt-account-guest {
  text-align: center;
  padding: 80px 20px;
  max-width: 480px;
  margin: 0 auto;
}
.bmt-account-guest__icon {
  font-size: 56px;
  color: var(--bmt-secondary);
  margin-bottom: 20px;
  width: 100px;
  height: 100px;
  background: var(--bmt-gold-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
}
.bmt-account-guest h2 {
  font-size: 24px;
  margin-bottom: 8px;
}
.bmt-account-guest p {
  color: var(--bmt-text-muted);
  margin-bottom: 24px;
}
.bmt-account-guest__register {
  margin-top: 16px;
  font-size: 14px;
  color: var(--bmt-text-muted);
}
.bmt-account-guest__register a {
  color: var(--bmt-secondary);
  font-weight: 600;
}
.bmt-account-guest__register a:hover {
  text-decoration: underline;
}

/* ============================================================
   COMPREHENSIVE MOBILE RESPONSIVENESS
   ============================================================ */

/* ---------- Tablet (max-width: 992px) ---------- */
@media (max-width: 992px) {
  .bmt-hero-search {
    max-width: 100%;
  }
  .bmt-hero-search__form {
    flex-wrap: wrap;
  }
  .bmt-hero-search__field {
    flex: 1 1 45%;
  }
  .bmt-hero-search__submit {
    flex: 1 1 100%;
  }
}

/* ---------- Mobile (max-width: 768px) ---------- */
@media (max-width: 768px) {
  /* Container */
  .bmt-container {
    padding: 0 16px;
  }

  /* === HERO SECTION === */
  .bmt-hero {
    min-height: auto;
    padding: 60px 0 30px;
  }
  .bmt-hero__content {
    padding: 0 4px;
  }
  .bmt-hero__title {
    font-size: 28px;
    margin-bottom: 10px;
    line-height: 1.2;
  }
  .bmt-hero__subtitle {
    font-size: 14px;
    margin-bottom: 24px;
    line-height: 1.5;
  }

  /* Hero Search Form - stacked on mobile */
  .bmt-hero-search {
    border-radius: 12px;
    margin: 0 -4px;
  }
  .bmt-hero-search__tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 0;
  }
  .bmt-hero-search__tab {
    white-space: nowrap;
    font-size: 13px;
    padding: 12px 16px;
    gap: 6px;
  }
  .bmt-hero-search__tab i {
    font-size: 13px;
  }
  .bmt-hero-search__form {
    flex-direction: column;
    padding: 16px;
    gap: 14px;
  }
  .bmt-hero-search__field {
    flex: none;
    width: 100%;
  }
  .bmt-hero-search__field label {
    font-size: 12px;
    margin-bottom: 4px;
  }
  .bmt-hero-search__field select,
  .bmt-hero-search__field input {
    padding: 10px 12px;
    font-size: 14px;
  }
  .bmt-hero-search__submit {
    width: 100%;
    height: 48px;
    font-size: 15px;
  }

  /* === SECTIONS === */
  .bmt-section {
    padding: 40px 0;
  }
  .bmt-section__header {
    margin-bottom: 28px;
    gap: 8px;
  }
  .bmt-section__subtitle {
    font-size: 12px;
    letter-spacing: 1.2px;
  }
  .bmt-section__title {
    font-size: 24px;
    line-height: 1.25;
  }
  .bmt-section__header .bmt-btn--outline {
    font-size: 13px;
    padding: 8px 16px;
  }

  /* === SERVICES GRID === */
  .bmt-services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .bmt-service-card {
    padding: 20px 14px;
  }
  .bmt-service-card__icon {
    width: 48px;
    height: 48px;
    font-size: 18px;
    margin-bottom: 12px;
  }
  .bmt-service-card__title {
    font-size: 14px;
  }
  .bmt-service-card__desc {
    font-size: 12px;
    line-height: 1.5;
  }

  /* === CARDS === */
  .bmt-card__body {
    padding: 14px;
  }
  .bmt-card__title {
    font-size: 15px;
    line-height: 1.3;
  }
  .bmt-card__footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
  }
  .bmt-card__price-current {
    font-size: 18px;
  }
  .bmt-card:hover {
    transform: none;
  } /* disable lift on mobile - causes jank */
  .bmt-card__image {
    height: 180px;
  }

  /* Card slider - smaller padding */
  .bmt-card-slider {
    padding-bottom: 32px;
  }

  /* === FEATURES (WHY CHOOSE US) === */
  .bmt-features-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .bmt-feature-card {
    padding: 20px 14px;
    text-align: center;
  }
  .bmt-feature-card__icon {
    width: 48px;
    height: 48px;
    font-size: 20px;
    margin: 0 auto 12px;
  }
  .bmt-feature-card__title {
    font-size: 14px;
  }
  .bmt-feature-card__desc {
    font-size: 12px;
  }

  /* === STATS COUNTER === */
  .bmt-stats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .bmt-stats__number {
    font-size: 30px;
  }
  .bmt-stats__label {
    font-size: 13px;
  }
  .bmt-stats--light .bmt-stats__icon {
    width: 52px;
    height: 52px;
    font-size: 20px;
  }

  /* === CTA BANNER === */
  .bmt-cta {
    padding: 50px 0;
  }
  .bmt-cta__title {
    font-size: 24px;
    line-height: 1.25;
  }
  .bmt-cta__text {
    font-size: 15px;
    margin-bottom: 24px;
  }

  /* === HOW IT WORKS === */
  .bmt-hiw__grid {
    flex-direction: column;
    gap: 20px;
  }
  .bmt-hiw__connector {
    transform: rotate(90deg);
  }
  .bmt-hiw__step {
    max-width: 100%;
    padding: 24px 20px;
  }

  /* === TESTIMONIALS === */
  .bmt-testimonials__nav {
    display: none;
  }
  .bmt-testimonial-card {
    padding: 20px;
  }
  .bmt-testimonial-card__text {
    font-size: 13px;
  }

  /* === OFFERS === */
  .bmt-offers-grid {
    grid-template-columns: 1fr;
  }
  .bmt-offer-card__image {
    height: 180px;
  }

  /* === NEWSLETTER === */
  .bmt-newsletter {
    padding: 40px 0;
  }
  .bmt-newsletter__inner {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }
  .bmt-newsletter__title {
    font-size: 22px;
  }
  .bmt-newsletter__text {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
  }
  .bmt-newsletter__form {
    min-width: auto;
    flex-direction: column;
    width: 100%;
    gap: 10px;
  }
  .bmt-newsletter__input {
    text-align: center;
  }
  .bmt-newsletter__btn {
    width: 100%;
    justify-content: center;
  }

  /* === FOOTER === */
  .bmt-footer__main {
    padding: 40px 0;
  }
  .bmt-footer__grid {
    grid-template-columns: 1fr;
    gap: 32px;
    text-align: center;
  }
  .bmt-footer__socials {
    justify-content: center;
  }
  .bmt-footer__about {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .bmt-footer-widget {
    text-align: center;
  }
  .bmt-footer-widget__title::after,
  .bmt-footer .widget-title::after,
  .bmt-footer h3::after,
  .bmt-footer h4::after {
    left: 50%;
    transform: translateX(-50%);
  }
  .bmt-footer-widget a:hover,
  .bmt-footer .menu a:hover {
    padding-left: 0;
  }
  .bmt-footer__bottom-inner {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
  .bmt-footer__links {
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }

  /* === LISTING PAGES === */
  .bmt-page-header {
    padding: 30px 0 24px;
  }
  .bmt-page-header__title {
    font-size: 24px;
  }
  .bmt-page-header__subtitle {
    font-size: 14px;
  }
  .bmt-listing-layout {
    grid-template-columns: 1fr;
  }
  .bmt-listing-toolbar {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
  }
  .bmt-listing-toolbar__actions {
    flex-wrap: wrap;
    gap: 8px;
  }
  .bmt-filters {
    position: fixed;
    top: 0;
    left: -100%;
    width: 85%;
    max-width: 340px;
    height: 100vh;
    height: 100dvh;
    background: var(--bmt-white);
    z-index: 10001;
    overflow-y: auto;
    transition: left 0.3s ease;
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
  }
  .bmt-filters.active {
    left: 0;
  }
  .bmt-filter-toggle-mobile {
    display: inline-flex !important;
  }

  /* === SINGLE PAGE === */
  .bmt-single__gallery-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .bmt-booking-widget {
    position: static;
    margin-top: 24px;
  }

  /* === BUTTONS - Touch Friendly === */
  .bmt-btn {
    padding: 12px 20px;
    min-height: 44px;
    font-size: 14px;
  }
  .bmt-btn--sm {
    padding: 8px 14px;
    min-height: 38px;
  }
  .bmt-btn--lg {
    padding: 14px 24px;
  }

  /* === COOKIE CONSENT === */
  .bmt-cookie-consent {
    padding: 12px 16px;
  }
  .bmt-cookie-consent__inner {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
  .bmt-cookie-consent__text {
    font-size: 13px;
  }
  .bmt-cookie-consent__actions {
    width: 100%;
    justify-content: center;
  }
  .bmt-cookie-consent__actions .bmt-btn {
    flex: 1;
    min-width: 100px;
  }

  /* === MOBILE NAV IMPROVEMENTS === */
  .bmt-mobile-nav__drawer {
    width: 85%;
    max-width: 340px;
  }
  .bmt-mobile-nav__menu li a {
    padding: 14px 16px;
    font-size: 15px;
    border-bottom: 1px solid var(--bmt-border);
  }

  /* === AUTH & ACCOUNT MOBILE === */
  .bmt-header__auth-btn {
    display: none;
  } /* hide Sign Up text button on mobile */
  .bmt-user-menu__name {
    display: none;
  }
  .bmt-user-menu__trigger {
    padding: 4px;
    border: none;
  }

  .bmt-auth-panel {
    padding: 20px;
  }
  .bmt-auth-row {
    grid-template-columns: 1fr;
  }
  .bmt-role-selector {
    grid-template-columns: repeat(2, 1fr);
  }

  .bmt-account {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px 0;
  }
  .bmt-account__sidebar {
    position: static;
  }
  .bmt-account__content {
    padding: 20px;
  }
  .bmt-account__nav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px;
  }
  .bmt-account__nav-item {
    padding: 8px 12px;
    font-size: 13px;
  }
  .bmt-account__nav-item span {
    display: none;
  }
  .bmt-account__nav-item i {
    margin: 0;
  }
  .bmt-account__user {
    flex-direction: column;
    text-align: center;
  }

  .bmt-dashboard__stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .bmt-quick-actions {
    grid-template-columns: repeat(2, 1fr);
  }
  .bmt-quick-action {
    padding: 14px 10px;
  }
  .bmt-quick-action i {
    font-size: 20px;
  }
  .bmt-bookings-table {
    font-size: 12px;
  }
  .bmt-bookings-table th,
  .bmt-bookings-table td {
    padding: 8px 6px;
  }

  .bmt-profile-avatar {
    flex-direction: column;
    text-align: center;
  }
}

/* ---------- Small Mobile (max-width: 480px) ---------- */
@media (max-width: 480px) {
  /* Hero even more compact */
  .bmt-hero {
    padding: 50px 0 24px;
  }
  .bmt-hero__title {
    font-size: 24px;
  }
  .bmt-hero__subtitle {
    font-size: 13px;
    margin-bottom: 20px;
  }
  .bmt-hero-search__form {
    padding: 12px;
    gap: 12px;
  }

  /* Grids - keep services 2-col on mobile */
  .bmt-services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .bmt-features-grid {
    grid-template-columns: 1fr;
  }
  .bmt-stats__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .bmt-listing-grid--4,
  .bmt-listing-grid--3,
  .bmt-listing-grid--2 {
    grid-template-columns: 1fr;
  }

  /* Service cards compact for 2-col mobile */
  .bmt-service-card {
    padding: 14px 10px;
  }
  .bmt-service-card__icon {
    width: 40px;
    height: 40px;
    font-size: 16px;
    margin-bottom: 8px;
    border-radius: 10px;
  }
  .bmt-service-card__title {
    font-size: 13px;
    margin-bottom: 4px;
  }
  .bmt-service-card__desc {
    display: none;
  }
  .bmt-service-card__count {
    font-size: 11px;
  }
  .bmt-service-card::before {
    display: none;
  }
  .bmt-service-card:hover {
    transform: none;
  }

  /* Feature cards compact */
  .bmt-feature-card {
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: left;
  }
  .bmt-feature-card__icon {
    margin: 0;
    flex-shrink: 0;
  }

  /* Sections less padding */
  .bmt-section {
    padding: 32px 0;
  }
  .bmt-section__header {
    margin-bottom: 24px;
  }
  .bmt-section__title {
    font-size: 22px;
  }

  /* Footer columns single */
  .bmt-footer__grid {
    gap: 28px;
  }

  /* Booking form fields stack */
  .bmt-form-row {
    grid-template-columns: 1fr;
  }

  /* CTA tighter */
  .bmt-cta {
    padding: 40px 0;
  }
  .bmt-cta__title {
    font-size: 22px;
  }
  .bmt-cta__text {
    font-size: 14px;
  }
}

/* ---------- Tiny screens (max-width: 360px) ---------- */
@media (max-width: 360px) {
  .bmt-container {
    padding: 0 12px;
  }
  .bmt-hero {
    padding: 40px 0 20px;
  }
  .bmt-hero__title {
    font-size: 22px;
  }
  .bmt-hero__subtitle {
    font-size: 12px;
  }
  .bmt-section__title {
    font-size: 20px;
  }
  .bmt-hero-search__tab {
    font-size: 12px;
    padding: 10px 12px;
  }
  .bmt-hero-search__form {
    padding: 10px;
  }
  .bmt-card__body {
    padding: 12px;
  }
  .bmt-card__title {
    font-size: 14px;
  }

  /* Services: still 2-col on tiny, just tighter */
  .bmt-services-grid {
    gap: 8px;
  }
  .bmt-service-card {
    padding: 12px 8px;
  }
  .bmt-service-card__icon {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }
  .bmt-service-card__title {
    font-size: 12px;
  }
}

/* ============================================================
   Agent Listing Form (Frontend)
   ============================================================ */
.bmt-account__header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.bmt-listing-actions {
  display: flex;
  gap: 6px;
}
.bmt-btn--xs {
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 6px;
}
.bmt-btn--danger {
  background: var(--bmt-danger);
  color: #fff;
  border: 1px solid var(--bmt-danger);
}
.bmt-btn--danger:hover {
  background: #dc2626;
  border-color: #dc2626;
}
.bmt-btn--lg {
  padding: 14px 32px;
  font-size: 16px;
  border-radius: 10px;
}

/* Listing Form */
.bmt-listing-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.bmt-form-section {
  background: #fff;
  border: 1px solid var(--bmt-border);
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 20px;
}
.bmt-form-section__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--bmt-secondary);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--bmt-border);
  display: flex;
  align-items: center;
  gap: 10px;
}
.bmt-form-section__title i {
  color: var(--bmt-gold);
  font-size: 18px;
}
.bmt-form-section__desc {
  font-size: 13px;
  color: var(--bmt-text-muted);
  margin-bottom: 16px;
  margin-top: -8px;
}
.bmt-form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.bmt-form-group {
  width: 100%;
  margin-bottom: 16px;
}
.bmt-form-group--half {
  width: calc(50% - 8px);
}
.bmt-form-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--bmt-secondary);
  margin-bottom: 6px;
}
.bmt-form-label i {
  color: var(--bmt-gold);
  margin-right: 4px;
  width: 16px;
  text-align: center;
}
.bmt-form-label .required {
  color: var(--bmt-danger);
}
.bmt-form-input,
.bmt-form-select,
.bmt-form-textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--bmt-border);
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  color: var(--bmt-text);
  background: #fff;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}
.bmt-form-input:focus,
.bmt-form-select:focus,
.bmt-form-textarea:focus {
  outline: none;
  border-color: var(--bmt-gold);
  box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.12);
}
.bmt-form-textarea {
  resize: vertical;
  min-height: 80px;
}
.bmt-form-hint {
  font-size: 12px;
  color: var(--bmt-text-muted);
  margin-top: 4px;
}

/* Toggle Switch */
.bmt-form-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}
.bmt-form-toggle input[type="checkbox"] {
  display: none;
}
.bmt-form-toggle__slider {
  width: 40px;
  height: 22px;
  background: #cbd5e1;
  border-radius: 11px;
  position: relative;
  transition: background 0.3s;
}
.bmt-form-toggle__slider::after {
  content: "";
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 2px;
  left: 2px;
  transition: transform 0.3s;
}
.bmt-form-toggle input:checked + .bmt-form-toggle__slider {
  background: var(--bmt-gold);
}
.bmt-form-toggle input:checked + .bmt-form-toggle__slider::after {
  transform: translateX(18px);
}
.bmt-form-toggle__label {
  font-size: 13px;
  color: var(--bmt-text-muted);
}

/* Image Upload */
.bmt-image-upload {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bmt-image-preview {
  position: relative;
  display: inline-block;
}
.bmt-image-preview img {
  max-width: 300px;
  border-radius: 8px;
  border: 1px solid var(--bmt-border);
}
.bmt-image-remove {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  cursor: pointer;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.bmt-image-remove:hover {
  background: var(--bmt-danger);
}

/* Gallery Upload */
.bmt-gallery-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}
.bmt-gallery-thumb {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--bmt-border);
}
.bmt-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bmt-gallery-thumb-remove {
  position: absolute;
  top: 2px;
  right: 2px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  cursor: pointer;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bmt-gallery-thumb-remove:hover {
  background: var(--bmt-danger);
}

/* Itinerary Days */
.bmt-itinerary-day {
  background: var(--bmt-bg);
  border: 1px solid var(--bmt-border);
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 12px;
}
.bmt-itinerary-day__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.bmt-itinerary-day__badge {
  font-size: 13px;
  font-weight: 700;
  color: var(--bmt-gold);
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Form Actions */
.bmt-form-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  background: transparent;
  border: none;
  padding: 0;
}

/* Alert Messages */
.bmt-alert {
  padding: 14px 18px;
  border-radius: 10px;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.bmt-alert--success {
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
}
.bmt-alert--danger {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

@media (min-width: 768px) and (max-width: 1279px) {
  .bmt-card-grid--3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .bmt-card-grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .bmt-card-grid--3,
  .bmt-card-grid--4 {
    grid-template-columns: 1fr;
  }
  .bmt-form-group--half {
    width: 100%;
  }
  .bmt-account__header-row {
    flex-direction: column;
  }
  .bmt-form-actions {
    flex-direction: column;
  }
  .bmt-form-actions .bmt-btn--lg {
    width: 100%;
    text-align: center;
  }
}

/* ============================================================
   UI IMPROVEMENTS - Animations, Micro-interactions, Mobile UX
   ============================================================ */

/* === Scroll Fade-Up Animation === */
.bmt-animate {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.bmt-animate.bmt-visible {
  opacity: 1;
  transform: translateY(0);
}
/* Stagger children */
.bmt-stagger > * {
  transition-delay: calc(var(--bmt-stagger-i, 0) * 80ms);
}

/* === Scroll Progress Bar === */
.bmt-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background: var(--bmt-gold-gradient);
  z-index: 10001;
  transition: width 0.1s linear;
}

/* === Skeleton Loaders === */
.bmt-skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: bmtShimmer 1.5s infinite;
  border-radius: var(--bmt-radius);
}
@keyframes bmtShimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.bmt-skeleton-card {
  height: 380px;
  border-radius: var(--bmt-radius);
}
.bmt-skeleton-card__image {
  height: 200px;
  border-radius: var(--bmt-radius) var(--bmt-radius) 0 0;
}
.bmt-skeleton-card__body {
  padding: 16px;
}
.bmt-skeleton-card__line {
  height: 14px;
  margin-bottom: 10px;
  border-radius: 4px;
}
.bmt-skeleton-card__line--short {
  width: 60%;
}
.bmt-skeleton-card__line--medium {
  width: 80%;
}

/* === Password Strength Meter === */
.bmt-password-strength {
  margin-top: 6px;
  height: 4px;
  border-radius: 2px;
  background: var(--bmt-border);
  overflow: hidden;
}
.bmt-password-strength__bar {
  height: 100%;
  width: 0%;
  border-radius: 2px;
  transition:
    width 0.3s ease,
    background 0.3s ease;
}
.bmt-password-strength__bar--weak {
  width: 25%;
  background: #ef4444;
}
.bmt-password-strength__bar--fair {
  width: 50%;
  background: #f97316;
}
.bmt-password-strength__bar--good {
  width: 75%;
  background: #eab308;
}
.bmt-password-strength__bar--strong {
  width: 100%;
  background: #22c55e;
}
.bmt-password-strength__text {
  font-size: 11px;
  margin-top: 4px;
  font-weight: 600;
  position: absolute;
  right: 0;
  top: -18px;
}
.bmt-auth-field {
  position: relative;
}
.bmt-password-strength__text--weak {
  color: #ef4444;
}
.bmt-password-strength__text--fair {
  color: #f97316;
}
.bmt-password-strength__text--good {
  color: #eab308;
}
.bmt-password-strength__text--strong {
  color: #22c55e;
}

/* === Inline Form Validation === */
.bmt-field-error {
  font-size: 12px;
  color: var(--bmt-danger);
  margin-top: 4px;
  display: none;
  align-items: center;
  gap: 4px;
  animation: bmtSlideDown 0.2s ease;
}
.bmt-field-error.visible {
  display: flex;
}
.bmt-field-error i {
  font-size: 11px;
}
@keyframes bmtSlideDown {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.bmt-input--error,
input.bmt-input--error,
select.bmt-input--error {
  border-color: var(--bmt-danger) !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}
.bmt-input--valid,
input.bmt-input--valid {
  border-color: var(--bmt-success) !important;
}

/* === Textarea Character Counter === */
.bmt-char-counter {
  font-size: 11px;
  color: var(--bmt-text-muted);
  text-align: right;
  margin-top: 4px;
}
.bmt-char-counter--warn {
  color: var(--bmt-warning);
}
.bmt-char-counter--over {
  color: var(--bmt-danger);
  font-weight: 600;
}

/* === Rating Distribution Bar === */
.bmt-rating-distribution {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 24px;
}
.bmt-rating-dist__row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.bmt-rating-dist__label {
  width: 48px;
  text-align: right;
  color: var(--bmt-text-light);
  font-weight: 500;
  white-space: nowrap;
}
.bmt-rating-dist__bar {
  flex: 1;
  height: 8px;
  background: var(--bmt-border);
  border-radius: 4px;
  overflow: hidden;
}
.bmt-rating-dist__fill {
  height: 100%;
  background: var(--bmt-star);
  border-radius: 4px;
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.bmt-rating-dist__count {
  width: 28px;
  font-size: 12px;
  color: var(--bmt-text-muted);
}

/* === Search Autocomplete === */
.bmt-autocomplete {
  position: relative;
}
.bmt-autocomplete__list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-top: none;
  border-radius: 0 0 var(--bmt-radius-sm) var(--bmt-radius-sm);
  box-shadow: var(--bmt-shadow-lg);
  max-height: 240px;
  overflow-y: auto;
  z-index: 100;
  display: none;
}
.bmt-autocomplete__list.active {
  display: block;
}
.bmt-autocomplete__item {
  padding: 10px 14px;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: var(--bmt-transition-fast);
}
.bmt-autocomplete__item:hover,
.bmt-autocomplete__item.focused {
  background: var(--bmt-gold-light);
  color: var(--bmt-secondary);
}
.bmt-autocomplete__item i {
  color: var(--bmt-text-muted);
  font-size: 12px;
}
.bmt-autocomplete__empty {
  padding: 12px 14px;
  font-size: 13px;
  color: var(--bmt-text-muted);
  text-align: center;
}

/* === Booking Confirmation Modal === */
.bmt-confirm {
  text-align: center;
  padding: 32px 20px;
}
.bmt-confirm__icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #f0fdf4;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}
.bmt-confirm__icon i {
  font-size: 32px;
  color: var(--bmt-success);
}
.bmt-confirm__icon--animated i {
  animation: bmtCheckBounce 0.5s ease;
}
@keyframes bmtCheckBounce {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.bmt-confirm__title {
  font-family: var(--bmt-font-heading);
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 8px;
}
.bmt-confirm__text {
  font-size: 14px;
  color: var(--bmt-text-light);
  margin-bottom: 24px;
}
.bmt-confirm__details {
  text-align: left;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius-sm);
  padding: 16px;
  margin-bottom: 24px;
}
.bmt-confirm__detail {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
  border-bottom: 1px solid var(--bmt-border);
}
.bmt-confirm__detail:last-child {
  border-bottom: none;
}
.bmt-confirm__detail-label {
  color: var(--bmt-text-light);
}
.bmt-confirm__detail-value {
  font-weight: 600;
}
.bmt-confirm__ref {
  font-size: 13px;
  color: var(--bmt-text-muted);
  margin-bottom: 20px;
}
.bmt-confirm__ref strong {
  color: var(--bmt-primary);
  font-family: monospace;
  font-size: 14px;
}

/* === Smooth Tab Transitions === */
.bmt-tabs__pane {
  animation: bmtFadeTab 0.3s ease;
}
@keyframes bmtFadeTab {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.bmt-auth-panel {
  animation: bmtFadeTab 0.25s ease;
}

/* === Filter Result Count Badge === */
.bmt-results-count[aria-live] {
  font-weight: 600;
}
.bmt-results-count__number {
  color: var(--bmt-primary);
  font-weight: 700;
}

/* === Success Checkmark SVG Animation === */
.bmt-success-check {
  width: 56px;
  height: 56px;
  margin: 0 auto;
}
.bmt-success-check circle {
  stroke: var(--bmt-success);
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  animation: bmtStrokeCircle 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}
.bmt-success-check path {
  stroke: var(--bmt-success);
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
  animation: bmtStrokePath 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.6s forwards;
}
@keyframes bmtStrokeCircle {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes bmtStrokePath {
  to {
    stroke-dashoffset: 0;
  }
}

/* === Mobile Bottom Navigation Bar === */
.bmt-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--bmt-white);
  border-top: 1px solid var(--bmt-border);
  z-index: 9999;
  padding: 6px 0;
  padding-bottom: calc(6px + env(safe-area-inset-bottom));
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.06);
}
.bmt-bottom-nav__inner {
  display: flex;
  justify-content: space-around;
  align-items: center;
  max-width: 480px;
  margin: 0 auto;
}
.bmt-bottom-nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 4px 12px;
  color: var(--bmt-text-muted);
  text-decoration: none;
  font-size: 10px;
  font-weight: 600;
  transition: var(--bmt-transition-fast);
  position: relative;
}
.bmt-bottom-nav__item i {
  font-size: 18px;
}
.bmt-bottom-nav__item.active,
.bmt-bottom-nav__item:hover {
  color: var(--bmt-secondary);
}
.bmt-bottom-nav__item.active::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 3px;
  background: var(--bmt-secondary);
  border-radius: 0 0 3px 3px;
}
.bmt-bottom-nav__badge {
  position: absolute;
  top: 0;
  right: 4px;
  min-width: 16px;
  height: 16px;
  background: var(--bmt-danger);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}

@media (max-width: 768px) {
  .bmt-bottom-nav {
    display: block;
  }

  /* The bottom nav is now part of the fixed stack. */
  :root {
    --bmt-bottom-stack: var(--bmt-bottom-nav-h);
  }

  /* Tour and activity singles also render .bmt-mobile-book-bar above it. */
  body.bmt-single-tour,
  body.bmt-single-activity {
    --bmt-bottom-stack: calc(var(--bmt-bottom-nav-h) + var(--bmt-book-bar-h));
  }

  /* One source of clearance. The old rule padded the body AND gave the
       footer a 64px margin, leaving a 128px gap below the page. */
  body {
    padding-bottom: var(--bmt-bottom-stack);
  }
}

/* === Mobile Filters Bottom Sheet === */
@media (max-width: 992px) {
  .bmt-filters.active {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: auto;
    max-height: 80vh;
    z-index: 10001;
    background: var(--bmt-white);
    border-radius: var(--bmt-radius-lg) var(--bmt-radius-lg) 0 0;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.15);
    overflow-y: auto;
    padding: 20px;
    animation: bmtSlideUp 0.3s ease;
  }
  .bmt-filters-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(4px);
    z-index: 10000;
    display: none;
  }
  .bmt-filters-overlay.active {
    display: block;
  }
  .bmt-filters__drag-handle {
    width: 40px;
    height: 4px;
    background: var(--bmt-border);
    border-radius: 2px;
    margin: 0 auto 16px;
    display: block;
  }
}
@media (min-width: 993px) {
  .bmt-filters__drag-handle {
    display: none;
  }
  .bmt-filters-overlay {
    display: none !important;
  }
}
@keyframes bmtSlideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

/* === Mobile Booking Table → Card View === */
@media (max-width: 768px) {
  .bmt-account-table {
    display: block;
  }
  .bmt-account-table thead {
    display: none;
  }
  .bmt-account-table tbody {
    display: block;
  }
  .bmt-account-table tr {
    display: block;
    background: var(--bmt-white);
    border: 1px solid var(--bmt-border);
    border-radius: var(--bmt-radius);
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: var(--bmt-shadow);
  }
  .bmt-account-table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border: none;
    border-bottom: 1px solid var(--bmt-border);
    font-size: 14px;
  }
  .bmt-account-table td:last-child {
    border-bottom: none;
  }
  .bmt-account-table td::before {
    content: attr(data-label);
    font-weight: 600;
    color: var(--bmt-text);
    font-size: 13px;
    margin-right: 12px;
  }
}

/* === Rating Star Hover Glow === */
.bmt-comment-form__star {
  transition:
    transform 0.15s ease,
    color 0.15s ease;
}
.bmt-comment-form__star:hover {
  transform: scale(1.2);
}
.bmt-comment-form__star.active i {
  filter: drop-shadow(0 0 3px rgba(255, 164, 28, 0.4));
}

/* === ARIA Tab Styling === */
[role="tab"] {
  cursor: pointer;
}
[role="tab"][aria-selected="true"] {
  font-weight: 600;
}
[role="tabpanel"][aria-hidden="true"] {
  display: none;
}

/* === Toast Enhancement with role=alert === */
.bmt-toast[role="alert"] {
  /* Ensure proper stacking */
  z-index: 100001;
}

/* === Sightseeing Grid (Places) === */
.bmt-sightseeing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.bmt-sightseeing-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: var(--bmt-bg);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-sm);
  transition: var(--bmt-transition);
}
.bmt-sightseeing-item:hover {
  border-color: var(--bmt-secondary);
  box-shadow: var(--bmt-shadow);
  transform: translateY(-2px);
}
.bmt-sightseeing-item__icon {
  width: 40px;
  height: 40px;
  background: var(--bmt-gold-light);
  border-radius: var(--bmt-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--bmt-secondary);
  font-size: 16px;
}
.bmt-sightseeing-item__name {
  font-size: 14px;
  font-weight: 500;
  color: var(--bmt-text);
}
@media (max-width: 768px) {
  .bmt-sightseeing-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .bmt-sightseeing-grid {
    grid-template-columns: 1fr;
  }
}

/* === Auto-Rating Badge (Single CPT Pages) === */
.bmt-auto-rating-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: var(--bmt-radius-full);
  font-size: 12px;
  color: #166534;
  font-weight: 500;
}
.bmt-auto-rating-badge i {
  color: var(--bmt-star);
  font-size: 11px;
}

/* === Review Moderation UI === */
.bmt-review-warning {
  display: none;
  align-items: flex-start;
  gap: 8px;
  padding: 12px 16px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: var(--bmt-radius-sm);
  color: #991b1b;
  font-size: 13px;
  line-height: 1.6;
  margin-top: 8px;
  animation: bmtSlideDown 0.3s ease;
}
.bmt-review-warning i {
  color: #ef4444;
  margin-top: 2px;
  flex-shrink: 0;
}
.bmt-review-blocked-word {
  background: rgba(239, 68, 68, 0.15);
  color: #dc2626;
  padding: 1px 6px;
  border-radius: 3px;
  font-weight: 700;
}
.bmt-review-auto-rating {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: var(--bmt-radius-sm);
  color: #166534;
  font-size: 13px;
  margin-top: 6px;
  animation: bmtSlideDown 0.2s ease;
}
.bmt-review-auto-rating i.fa-magic {
  color: var(--bmt-secondary);
}
.bmt-review-auto-rating .fas.fa-star {
  color: var(--bmt-star);
  font-size: 13px;
}
.bmt-review-auto-rating .far.fa-star {
  color: #d1d5db;
  font-size: 13px;
}
.bmt-review-auto-rating span {
  font-weight: 600;
  margin-left: 4px;
}

/* === Mobile Sticky Book Now Bar === */
.bmt-mobile-book-bar {
  display: none;
  position: fixed;
  bottom: 64px;
  left: 0;
  right: 0;
  background: var(--bmt-white);
  border-top: 1px solid var(--bmt-border);
  padding: 10px 16px;
  z-index: 9998;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08);
}
.bmt-mobile-book-bar__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: var(--bmt-container);
  margin: 0 auto;
}
.bmt-mobile-book-bar__price {
  font-size: 20px;
  font-weight: 700;
  color: var(--bmt-primary);
}
.bmt-mobile-book-bar__price small {
  font-size: 13px;
  font-weight: 400;
  color: var(--bmt-text-muted);
}
@media (max-width: 992px) {
  .bmt-mobile-book-bar {
    display: block;
  }
  .bmt-single .bmt-booking-widget {
    display: none;
  }
}

/* === Gallery Image Zoom on Hover === */
.bmt-gallery-grid__item {
  cursor: zoom-in;
}
.bmt-gallery-grid__item img {
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.bmt-gallery-grid__item:hover img {
  transform: scale(1.08);
}

/* === Filter Loading Skeleton === */
.bmt-listing-results[style*="opacity: 0.5"] .bmt-card {
  opacity: 0.5;
  pointer-events: none;
}
.bmt-listing-results[style*="opacity: 0.5"]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  margin: -16px 0 0 -16px;
  border: 3px solid var(--bmt-border);
  border-top-color: var(--bmt-secondary);
  border-radius: 50%;
  animation: bmtSpin 0.7s linear infinite;
}
.bmt-listing-results {
  position: relative;
}

/* === Share Buttons Styling === */
.bmt-share {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 0;
  border-top: 1px solid var(--bmt-border);
  margin-top: 24px;
}
.bmt-share__label {
  font-size: 14px;
  font-weight: 600;
  color: var(--bmt-text);
}
.bmt-share__btn {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--bmt-bg);
  color: var(--bmt-text-light);
  font-size: 14px;
  text-decoration: none;
  transition: var(--bmt-transition);
  border: none;
  cursor: pointer;
}
.bmt-share__btn:hover {
  background: var(--bmt-secondary);
  color: var(--bmt-white);
  transform: translateY(-2px);
}
.bmt-share__btn--whatsapp:hover {
  background: #25d366;
}
.bmt-share__btn--facebook:hover {
  background: #1877f2;
}
.bmt-share__btn--twitter:hover {
  background: #1da1f2;
}
.bmt-share__btn--copy:hover {
  background: var(--bmt-primary);
}

/* === Contact Page Layout === */
.bmt-contact-page {
  padding: 20px 0;
}
.bmt-contact-page__grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 48px;
  align-items: start;
}
.bmt-contact-page__heading {
  font-size: 28px;
  margin-bottom: 8px;
  font-family: var(--bmt-font-heading);
}
.bmt-contact-page__desc {
  color: var(--bmt-text-muted);
  font-size: 15px;
  margin-bottom: 28px;
  line-height: 1.7;
}

.bmt-contact-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.bmt-contact-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 20px;
  background: var(--bmt-bg);
  border-radius: var(--bmt-radius);
  border: 1px solid var(--bmt-border);
  transition: var(--bmt-transition);
}
.bmt-contact-card:hover {
  border-color: var(--bmt-secondary);
  transform: translateX(4px);
}
.bmt-contact-card__icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bmt-secondary);
  color: var(--bmt-primary);
  border-radius: 10px;
  font-size: 18px;
}
.bmt-contact-card h4 {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 600;
}
.bmt-contact-card a {
  color: var(--bmt-secondary);
  text-decoration: none;
  font-size: 14px;
}
.bmt-contact-card a:hover {
  text-decoration: underline;
}
.bmt-contact-card p {
  margin: 0;
  font-size: 13px;
  color: var(--bmt-text-muted);
  line-height: 1.6;
}

.bmt-contact-social {
  margin-top: 28px;
}
.bmt-contact-social h4 {
  font-size: 14px;
  margin-bottom: 12px;
  color: var(--bmt-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.bmt-contact-social__links {
  display: flex;
  gap: 10px;
}
.bmt-contact-social__links a {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bmt-bg);
  border: 1px solid var(--bmt-border);
  border-radius: 10px;
  color: var(--bmt-text-muted);
  font-size: 16px;
  transition: var(--bmt-transition);
}
.bmt-contact-social__links a:hover {
  background: var(--bmt-secondary);
  color: var(--bmt-primary);
  border-color: var(--bmt-secondary);
  transform: translateY(-2px);
}

.bmt-contact-page__form-card {
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius-lg);
  padding: 32px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
.bmt-contact-page__form-card h3 {
  font-size: 20px;
  margin: 0 0 6px;
}
.bmt-contact-page__form-card h3 i {
  color: var(--bmt-secondary);
  margin-right: 6px;
}
.bmt-contact-page__form-desc {
  color: var(--bmt-text-muted);
  font-size: 14px;
  margin-bottom: 24px;
}

@media (max-width: 768px) {
  .bmt-contact-page__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* === Contact Form === */
.bmt-contact-form {
  max-width: 100%;
}
.bmt-contact-form .bmt-form-group {
  margin-bottom: 16px;
}
.bmt-contact-form .bmt-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* === FAQ Page === */
.bmt-faq-page {
  padding: 20px 0;
  max-width: 800px;
  margin: 0 auto;
}
.bmt-faq-page__heading {
  font-size: 28px;
  text-align: center;
  margin-bottom: 8px;
}
.bmt-faq-page__desc {
  text-align: center;
  color: var(--bmt-text-muted);
  font-size: 15px;
  margin-bottom: 32px;
}
.bmt-faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bmt-faq-item {
  background: var(--bmt-white);
  border: 1px solid var(--bmt-border);
  border-radius: var(--bmt-radius);
  overflow: hidden;
  transition: var(--bmt-transition);
}
.bmt-faq-item.active {
  border-color: var(--bmt-secondary);
  box-shadow: 0 4px 16px rgba(234, 88, 12, 0.08);
}
.bmt-faq-item__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  cursor: pointer;
  font-weight: 600;
  font-size: 15px;
  color: var(--bmt-text);
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  gap: 12px;
  transition: var(--bmt-transition);
}
.bmt-faq-item__q:hover {
  color: var(--bmt-secondary);
}
.bmt-faq-item__q i.fa-chevron-down {
  font-size: 12px;
  color: var(--bmt-text-muted);
  transition: transform 0.3s ease;
}
.bmt-faq-item.active .bmt-faq-item__q i.fa-chevron-down {
  transform: rotate(180deg);
  color: var(--bmt-secondary);
}
.bmt-faq-item__a {
  display: none;
  padding: 0 20px 18px;
  font-size: 14px;
  color: var(--bmt-text-light);
  line-height: 1.7;
  border-top: 1px solid var(--bmt-border);
  padding-top: 14px;
  margin: 0 20px;
}
.bmt-faq-item.active .bmt-faq-item__a {
  display: block;
}
.bmt-faq-item__num {
  width: 28px;
  height: 28px;
  min-width: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bmt-bg);
  color: var(--bmt-text-muted);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
}
.bmt-faq-item.active .bmt-faq-item__num {
  background: var(--bmt-secondary);
  color: var(--bmt-primary);
}
@media (max-width: 480px) {
  .bmt-contact-form .bmt-form-row {
    grid-template-columns: 1fr;
  }
}

/* === Breadcrumbs on Single Pages === */
.bmt-single__content > .bmt-breadcrumbs {
  margin-bottom: 16px;
}
.bmt-single__content > .bmt-breadcrumbs .bmt-breadcrumb-list {
  justify-content: flex-start;
}
.bmt-single__content > .bmt-breadcrumbs .bmt-breadcrumb-list,
.bmt-single__content > .bmt-breadcrumbs .bmt-breadcrumb-list a {
  color: var(--bmt-text-muted);
}
.bmt-single__content > .bmt-breadcrumbs .bmt-breadcrumb-list a:hover {
  color: var(--bmt-secondary);
}
.bmt-single__content > .bmt-breadcrumbs .bmt-breadcrumb-current span {
  color: var(--bmt-text);
}

/* === UI Polish & Modern Enhancements === */

/* Wishlist heart animation */
.bmt-wishlist-btn.active i {
  animation: bmtHeartPop 0.4s ease;
}
@keyframes bmtHeartPop {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.3);
  }
  60% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}

/* Fade-in animation (.visible alias for .bmt-visible) */
.bmt-animate.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger animation for cards in grids */
.bmt-listing-grid .bmt-card:nth-child(1) {
  transition-delay: 0s;
}
.bmt-listing-grid .bmt-card:nth-child(2) {
  transition-delay: 0.05s;
}
.bmt-listing-grid .bmt-card:nth-child(3) {
  transition-delay: 0.1s;
}
.bmt-listing-grid .bmt-card:nth-child(4) {
  transition-delay: 0.15s;
}
.bmt-listing-grid .bmt-card:nth-child(5) {
  transition-delay: 0.2s;
}
.bmt-listing-grid .bmt-card:nth-child(6) {
  transition-delay: 0.25s;
}

/* Better button press effect */
.bmt-btn:active {
  transform: scale(0.97);
}

/* Input focus glow */
.bmt-input:focus,
.bmt-form-input:focus,
.bmt-form-select:focus,
.bmt-form-textarea:focus {
  border-color: var(--bmt-secondary);
  box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.12);
  outline: none;
}

/* Scroll progress bar (top of page) */
.bmt-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--bmt-secondary), var(--bmt-accent));
  z-index: 100001;
  transition: width 0.1s linear;
  border-radius: 0 2px 2px 0;
}

/* Smooth page header gradient overlay */
.bmt-page-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.15), transparent);
  pointer-events: none;
}

/* Tab active indicator animation */
.bmt-tabs__tab {
  position: relative;
}
.bmt-tabs__tab::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--bmt-secondary);
  transition:
    width 0.3s ease,
    left 0.3s ease;
}
.bmt-tabs__tab.active::after {
  width: 100%;
  left: 0;
}

/* Badge pulse for notifications */
@keyframes bmtPulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
}
.bmt-badge--pulse {
  animation: bmtPulse 2s infinite;
}

/* Loading shimmer for skeleton */
@keyframes bmtShimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
.bmt-skeleton {
  background: linear-gradient(90deg, var(--bmt-border) 25%, var(--bmt-bg) 50%, var(--bmt-border) 75%);
  background-size: 200% 100%;
  animation: bmtShimmer 1.5s infinite;
  border-radius: var(--bmt-radius-sm);
}

/* Card placeholder — merged into .bmt-card__placeholder above */
.bmt-card__placeholder-extra {
  font-size: 32px;
}

/* Better toast notification */
.bmt-toast {
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

/* Sidebar sticky on desktop — align-self:start is required for sticky inside CSS grid */
@media (min-width: 993px) {
  .bmt-single__sidebar {
    align-self: start;
    position: sticky;
    top: 90px;
  }
}

/* Better mobile bottom nav */
@media (max-width: 768px) {
  .bmt-bottom-nav {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
  }
}

/* Improved pagination */
.bmt-pagination .page-numbers {
  transition: var(--bmt-transition);
}
.bmt-pagination .page-numbers:hover {
  transform: translateY(-2px);
}
.bmt-pagination .page-numbers.current {
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.3);
}

/* Card price tag enhancement */
.bmt-card__price-current {
  position: relative;
}
.bmt-card__price-sale {
  text-decoration: line-through;
  opacity: 0.5;
}

/* Smooth link hover underline */
.bmt-footer-widget a {
  position: relative;
  transition:
    color 0.3s ease,
    padding-left 0.3s ease;
}

/* Booking Modal + Package Builder CSS → assets/css/booking.css (loaded on single CPT pages only) */

/* === Print === */
/* === Print === */
@media print {
  .bmt-topbar,
  .bmt-header,
  .bmt-footer,
  .bmt-newsletter,
  .bmt-booking-widget,
  .bmt-modal,
  .bmt-toast,
  .bmt-back-to-top,
  .bmt-cookie-consent,
  .bmt-share,
  .bmt-bottom-nav,
  .bmt-scroll-progress {
    display: none !important;
  }
}

/* ===================================================
 * Accessibility: Global Focus States
 * =================================================== */
:focus-visible {
  outline: 2px solid var(--bmt-secondary, #ea580c);
  outline-offset: 2px;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--bmt-secondary, #ea580c);
  outline-offset: 3px;
  border-radius: 3px;
}
/* Remove outline for mouse users */
:focus:not(:focus-visible) {
  outline: none;
}

/* Account nav focus */
.bmt-account__nav-item:focus-visible {
  outline: 2px solid var(--bmt-secondary);
  outline-offset: -2px;
  border-radius: var(--bmt-radius-sm);
}
/* Tab buttons focus */
.bmt-tabs__btn:focus-visible {
  outline: 2px solid var(--bmt-secondary);
  outline-offset: 2px;
}
/* Booking widget book button */
.bmt-btn:focus-visible {
  outline: 2px solid var(--bmt-secondary);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(234, 88, 12, 0.2);
}
/* Card links */
.bmt-card a:focus-visible,
.bmt-card__footer .bmt-btn:focus-visible {
  outline: 2px solid var(--bmt-secondary);
  outline-offset: 2px;
}
/* Nav menu items */
.bmt-nav__menu a:focus-visible,
.bmt-bottom-nav__item:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  border-radius: 4px;
}
/* Form inputs — already have box-shadow focus, keep consistent */
.bmt-input:focus-visible {
  outline: none;
  border-color: var(--bmt-secondary);
  box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.15);
}

/* ==============================================
   STICKY BOOKING BAR
   ============================================== */
.bmt-sticky-bar {
  position: fixed;
  bottom: var(--bmt-bottom-stack);
  left: 0;
  right: 0;
  background: #fff;
  border-top: 2px solid var(--bmt-secondary, #c9a227);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.12);
  transform: translateY(100%);
  transition: transform 0.3s ease;
  z-index: 10000; /* must beat .bmt-bottom-nav (9999) */
}
.bmt-sticky-bar.is-visible {
  transform: translateY(0);
}
.bmt-sticky-bar__inner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 12px 0;
  flex-wrap: wrap;
}
.bmt-sticky-bar__title {
  font-weight: 600;
  font-size: 15px;
  color: var(--bmt-dark, #1e293b);
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bmt-sticky-bar__title i {
  color: var(--bmt-secondary, #c9a227);
  flex-shrink: 0;
}
.bmt-sticky-bar__rating {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: #64748b;
  white-space: nowrap;
}
.bmt-sticky-bar__stars i {
  color: #f59e0b;
  font-size: 12px;
}
.bmt-sticky-bar__rating-val {
  font-weight: 600;
  color: #1e293b;
}
.bmt-sticky-bar__price {
  display: flex;
  align-items: baseline;
  gap: 5px;
  white-space: nowrap;
}
.bmt-sticky-bar__price-old {
  font-size: 13px;
  color: #94a3b8;
  text-decoration: line-through;
}
.bmt-sticky-bar__price-current {
  font-size: 22px;
  font-weight: 700;
  color: var(--bmt-secondary, #c9a227);
}
.bmt-sticky-bar__price-unit {
  font-size: 13px;
  color: #64748b;
}
.bmt-sticky-bar__btn {
  white-space: nowrap;
  flex-shrink: 0;
  padding: 10px 28px !important;
}
@media (max-width: 600px) {
  .bmt-sticky-bar__title,
  .bmt-sticky-bar__rating {
    display: none;
  }
  .bmt-sticky-bar__inner {
    justify-content: space-between;
  }
}

/* ==============================================
   RECENTLY VIEWED SECTION
   ============================================== */
.bmt-recently-viewed {
  padding: 60px 0 40px;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
}
.bmt-recently-viewed__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 24px;
}
.bmt-rv-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
  text-decoration: none;
  color: inherit;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
}
.bmt-rv-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.bmt-rv-card__img {
  position: relative;
  height: 150px;
  overflow: hidden;
  background: #e2e8f0;
}
.bmt-rv-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.bmt-rv-card:hover .bmt-rv-card__img img {
  transform: scale(1.05);
}
.bmt-rv-card__img-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #94a3b8;
  font-size: 32px;
}
.bmt-rv-card__type {
  position: absolute;
  top: 8px;
  left: 8px;
  background: var(--bmt-secondary, #c9a227);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 2px 8px;
  border-radius: 20px;
}
.bmt-rv-card__body {
  padding: 14px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.bmt-rv-card__title {
  font-size: 14px;
  font-weight: 600;
  color: #1e293b;
  margin: 0 0 6px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.bmt-rv-card__location {
  font-size: 12px;
  color: #64748b;
  margin: 0 0 8px;
}
.bmt-rv-card__location i {
  color: var(--bmt-secondary, #c9a227);
  margin-right: 3px;
}
.bmt-rv-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
}
.bmt-rv-card__rating {
  font-size: 12px;
  color: #f59e0b;
  font-weight: 600;
}
.bmt-rv-card__rating i {
  margin-right: 2px;
}
.bmt-rv-card__price {
  font-size: 15px;
  font-weight: 700;
  color: var(--bmt-secondary, #c9a227);
}
@media (max-width: 1024px) {
  .bmt-recently-viewed__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .bmt-recently-viewed__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* ==============================================
   TOP RATED SECTION
   ============================================== */
.bmt-top-rated {
  padding: 60px 0 50px;
  background: #fff;
  border-top: 1px solid #e2e8f0;
}
.bmt-top-rated__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 28px;
}
/* Card */
.bmt-tr-card {
  position: relative;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.bmt-tr-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
  border-color: var(--bmt-secondary, #c9a227);
}
/* Rank badge */
.bmt-tr-card__rank {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bmt-secondary, #c9a227);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.bmt-tr-card:nth-child(1) .bmt-tr-card__rank {
  background: #f59e0b;
}
.bmt-tr-card:nth-child(2) .bmt-tr-card__rank {
  background: #94a3b8;
}
.bmt-tr-card:nth-child(3) .bmt-tr-card__rank {
  background: #b45309;
}
/* Image */
.bmt-tr-card__img {
  position: relative;
  height: 170px;
  overflow: hidden;
  background: #f1f5f9;
}
.bmt-tr-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}
.bmt-tr-card:hover .bmt-tr-card__img img {
  transform: scale(1.06);
}
.bmt-tr-card__img-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #cbd5e1;
  font-size: 36px;
}
/* Rating overlay badge */
.bmt-tr-card__rating-badge {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: rgba(0, 0, 0, 0.65);
  color: #fbbf24;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 4px;
  backdrop-filter: blur(4px);
}
/* Body */
.bmt-tr-card__body {
  padding: 14px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.bmt-tr-card__type {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--bmt-secondary, #c9a227);
}
.bmt-tr-card__title {
  font-size: 14px;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.4;
  margin: 2px 0 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.bmt-tr-card__location,
.bmt-tr-card__duration {
  font-size: 12px;
  color: #64748b;
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
}
.bmt-tr-card__location i {
  color: var(--bmt-secondary, #c9a227);
  font-size: 11px;
}
.bmt-tr-card__duration i {
  color: #94a3b8;
  font-size: 11px;
}
.bmt-tr-card__stars {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-top: 6px;
}
.bmt-tr-card__stars .fas.fa-star {
  color: #f59e0b;
  font-size: 12px;
}
.bmt-tr-card__stars .far.fa-star {
  color: #d1d5db;
  font-size: 12px;
}
.bmt-tr-card__reviews {
  font-size: 12px;
  color: #64748b;
  margin-left: 4px;
}
.bmt-tr-card__price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #f1f5f9;
}
.bmt-tr-card__price-old {
  font-size: 12px;
  color: #94a3b8;
  text-decoration: line-through;
}
.bmt-tr-card__price-current {
  font-size: 16px;
  font-weight: 800;
  color: var(--bmt-secondary, #c9a227);
}
/* Arrow */
.bmt-tr-card__arrow {
  position: absolute;
  bottom: 14px;
  right: 14px;
  width: 28px;
  height: 28px;
  background: var(--bmt-secondary, #c9a227);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  opacity: 0;
  transform: translateX(-4px);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}
.bmt-tr-card:hover .bmt-tr-card__arrow {
  opacity: 1;
  transform: translateX(0);
}
/* Section header */
.bmt-top-rated .bmt-section-header__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 22px;
  font-weight: 700;
  color: #1e293b;
}
.bmt-top-rated .bmt-section-header__title i {
  color: #f59e0b;
}
.bmt-top-rated .bmt-section-header__sub {
  font-size: 14px;
  color: #64748b;
  margin: 4px 0 0;
}
/* Responsive */
@media (max-width: 1024px) {
  .bmt-top-rated__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .bmt-top-rated__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .bmt-top-rated {
    padding: 40px 0;
  }
}

/* =========================================================
   TOUCH TARGETS & SMALL TEXT (2.0.2)
   Small icon controls kept their 28-38px visual size, which is under the 44px
   recommended tap target. Rather than resizing them (which would change the
   design), a transparent 44px hit area is centred on each one, and only on
   coarse pointers so mouse users are unaffected.
   ========================================================= */
@media (pointer: coarse) {
  .bmt-mobile-nav__close,
  .bmt-card__quickview,
  .bmt-view-toggle,
  .bmt-footer__socials a,
  .bmt-share__btn,
  .bmt-user-menu__trigger {
    position: relative;
  }

  /* .bmt-popup__close and .bmt-modal__close are already positioned. */
  .bmt-mobile-nav__close::after,
  .bmt-card__quickview::after,
  .bmt-view-toggle::after,
  .bmt-footer__socials a::after,
  .bmt-share__btn::after,
  .bmt-user-menu__trigger::after,
  .bmt-popup__close::after,
  .bmt-modal__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    transform: translate(-50%, -50%);
    /* hit area only - never paints, never blocks the icon underneath */
    background: transparent;
    pointer-events: auto;
  }
}

@media (max-width: 768px) {
  /* 10px was too small for the two labels that carry real meaning on mobile.
       Decorative badges and pills are left at their designed size. */
  .bmt-bottom-nav__item {
    font-size: 11px;
  }
  .bmt-hero-trust__label {
    font-size: 11px;
  }
}
