/**
 * TravaMind / global frontend theme — edit :root to rebrand when you copy this project.
 * Loaded after footer.css; page-specific @yield('custom_css') can override.
 */
:root {
  --tm-font: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --tm-font-body: "Plus Jakarta Sans", "Lato", "Segoe UI", system-ui, sans-serif;
  --tm-primary: #7c3aed;
  --tm-primary-dark: #5b21b6;
  --tm-accent: #0d9488;
  --tm-accent-bright: #14b8a6;
  --tm-warm: #f59e0b;
  --tm-pink: #db2777;
  --tm-bg: #f8fafc;
  --tm-bg-soft: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 45%, #eef2ff 100%);
  --tm-text: #1e293b;
  --tm-muted: #64748b;
  --tm-radius: 12px;
  --tm-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
  --tm-ring: rgba(124, 58, 237, 0.35);
}

html {
  font-family: var(--tm-font-body);
}

body {
  font-family: var(--tm-font-body) !important;
  color: var(--tm-text) !important;
  background: var(--tm-bg-soft) !important;
  background-color: var(--tm-bg) !important;
  line-height: 1.5 !important;
}

body a {
  color: var(--tm-primary-dark);
}

body a:hover,
body a:focus {
  color: var(--tm-accent);
  text-decoration: none;
}

::selection {
  background: rgba(124, 58, 237, 0.22);
  color: var(--tm-text);
}

/* Bootstrap 3 primary → brand */
.btn-primary {
  background-color: var(--tm-primary) !important;
  border-color: var(--tm-primary-dark) !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
  background-color: var(--tm-primary-dark) !important;
  border-color: #4c1d95 !important;
}

.btn-info {
  background-color: var(--tm-accent) !important;
  border-color: #0f766e !important;
}
.btn-info:hover {
  background-color: #0f766e !important;
}

.form-control:focus {
  border-color: var(--tm-primary) !important;
  box-shadow: 0 0 0 2px var(--tm-ring) !important;
}

/* Global utility link class */
.link-color {
  color: var(--tm-primary) !important;
}
.link-color:hover,
.link-color:focus {
  color: var(--tm-accent) !important;
}

/* Top white bar under header */
.whiteBG {
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06);
}

/* Footer — richer than flat black overlay */
footer .footerBG,
.footerBG {
  background: linear-gradient(165deg, #1e1b4b 0%, #312e81 38%, #134e4a 72%, #0f172a 100%) !important;
  background-color: transparent !important;
}

.footerLeftPartSubTtl ul li:before {
  border-color: var(--tm-accent-bright) !important;
}

.copyRightCont h4 {
  color: #cbd5e1 !important;
}

/* Package cards — badge strips */
.dTourItemCard h4 {
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.92), rgba(13, 148, 136, 0.88)) !important;
}
.dTourItemCard p {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.88), rgba(219, 39, 119, 0.85)) !important;
}

/* Section titles on home */
.dPopularDestTtl h2 {
  background: linear-gradient(92deg, var(--tm-primary-dark) 0%, var(--tm-pink) 50%, var(--tm-accent) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 800 !important;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .dPopularDestTtl h2 {
    color: var(--tm-primary-dark) !important;
    background: none !important;
  }
}

/* Mobile bottom nav bar */
@media (max-width: 992px) {
  .mBar {
    background: linear-gradient(90deg, #1e1b4b 0%, #4c1d95 40%, #134e4a 100%) !important;
    box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.35);
  }
}

/* Bootstrap 3 helpers still used across package / enquiry pages */
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  background-color: var(--tm-primary) !important;
  border-color: var(--tm-primary-dark) !important;
}
.text-primary,
a.text-primary {
  color: var(--tm-primary) !important;
}
.label-primary {
  background-color: var(--tm-primary-dark) !important;
}
.badge {
  background-color: var(--tm-muted);
}
.panel-primary {
  border-color: rgba(124, 58, 237, 0.35) !important;
}
.panel-primary > .panel-heading {
  background: linear-gradient(90deg, var(--tm-primary-dark), var(--tm-primary)) !important;
  border-color: var(--tm-primary-dark) !important;
}

/* ------------------------------------------------------------------ Home: larger header logo */
@media (min-width: 992px) {
  .dNavCont .dLogoBox {
    width: auto;
    min-width: 200px;
    height: 52px;
    min-height: 52px;
  }

  .dNavCont .dLogoBox img {
    height: 52px;
    max-height: 56px;
    width: auto;
    max-width: min(320px, 42vw);
    object-fit: contain;
    object-position: left center;
  }
}

@media (max-width: 991px) {
  .dNavCont .dLogoBox {
    width: auto;
    min-width: 150px;
    height: 42px;
    min-height: 42px;
  }

  .dNavCont .dLogoBox img {
    width: auto;
    max-width: 220px;
    height: 42px;
    max-height: 44px;
    object-fit: contain;
    object-position: left center;
  }
}

/* ------------------------------------------------------------------ Home hero: Holiday Packages tab — glass (not solid white on gradient) */
@media (min-width: 992px) {
  .navHeaderWrapper.navClass:not(.makeStickyHeader) nav {
    background: rgba(255, 255, 255, 0.22) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.35);
    backdrop-filter: blur(16px) saturate(1.35);
    border: 1px solid rgba(255, 255, 255, 0.42) !important;
    box-shadow:
      0 4px 24px rgba(15, 23, 42, 0.12),
      inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
  }

  .navHeaderWrapper.navClass:not(.makeStickyHeader) .dSrvcCont {
    background: transparent !important;
  }

  .navHeaderWrapper.navClass:not(.makeStickyHeader) .dSvcIconName {
    color: #0f172a !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.45);
  }
}

@media (max-width: 991px) {
  .navHeaderWrapper.navClass:not(.makeStickyHeader) nav {
    background: rgba(255, 255, 255, 0.24) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.25);
    backdrop-filter: blur(14px) saturate(1.25);
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow:
      0 4px 20px rgba(15, 23, 42, 0.1),
      inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
  }

  .navHeaderWrapper.navClass:not(.makeStickyHeader) .dSrvcCont {
    background: transparent !important;
  }

  .navHeaderWrapper.navClass:not(.makeStickyHeader) .dSvcIconName {
    color: #0f172a !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
  }
}

/* Sticky header: restore solid surfaces for contrast on white bar */
.navHeaderWrapper.makeStickyHeader.navClass nav {
  background-color: #fff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1) !important;
}

.navHeaderWrapper.makeStickyHeader .dSrvcCont {
  background: #fff !important;
}

.navHeaderWrapper.makeStickyHeader .dSvcIconName {
  color: #4a4a4a !important;
  text-shadow: none !important;
}
