/* flytreknepal/assets/css/custom.css */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');

:root {
  --primary-navy: #0b192c;
  --secondary-navy: #1e3e62;
  --brand-orange: #ff6500;
  --brand-orange-hover: #e05800;
  --sky-blue: #0284c7;
  --himalayan-emerald: #059669;
}

html, body {
  font-size: 16px !important;
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: #1e293b;
  background-color: #f8fafc;
}

/* Ensure standard minimum font size of 16px for main body and content */
main *,
.site-main *,
footer *,
input, select, textarea, button, label {
  font-size: max(16px, 1rem);
}

/* Header & Topbar specific refinement: minimum font size 14px for proportional elegance */
.xena-topbar,
.xena-topbar *,
header,
header *,
.xena-desktop-nav *,
.xena-mobile-nav * {
  min-font-size: 14px;
}

/* Header utility font sizes */
.xena-topbar,
.xena-topbar span,
.xena-topbar a,
.xena-topbar select,
.xena-topbar select option,
.xena-topbar .text-sm,
header .text-sm,
.xena-nav-menu .sub-menu a,
.xena-nav-menu .sub-menu span,
.xena-mobile-nav .text-sm,
.xena-mobile-submenu a {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

/* Micro badges & logo subtitle */
.brand-tagline,
header .text-xs,
.xena-mobile-nav .text-xs {
  font-size: 13.5px !important;
  min-font-size: 13px !important;
  line-height: 1.3 !important;
}

/* Force body content classes outside header to stay >= 16px */
main .text-xs,
main .text-sm,
footer .text-xs,
footer .text-sm,
small, sub, sup {
  font-size: 16px !important;
  line-height: 1.5 !important;
}

h1, h2, h3, h4, h5, h6, .font-heading {
  font-family: 'Outfit', sans-serif;
}

/* Glassmorphism card effects */
.glass-panel {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.glass-dark {
  background: rgba(11, 25, 44, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* InterServer style crisp border highlights */
.feature-card {
  transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid #e2e8f0;
}
.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 30px -10px rgba(11, 25, 44, 0.12);
  border-color: #0284c7;
}

/* Tab Active states */
.search-tab-btn.active {
  background-color: #ffffff;
  color: #0b192c;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}
.search-tab-btn:not(.active) {
  color: #64748b;
  background-color: transparent;
}
.search-tab-btn:not(.active):hover {
  color: #0b192c;
  background-color: rgba(255, 255, 255, 0.5);
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Animations */
@keyframes pulseSubtle {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.95; transform: scale(1.02); }
}

.pulse-badge {
  animation: pulseSubtle 3s infinite ease-in-out;
}

/* Itinerary timeline styling */
.itinerary-step::before {
  content: '';
  position: absolute;
  left: 19px;
  top: 36px;
  bottom: -20px;
  width: 2px;
  background: #e2e8f0;
}
.itinerary-step:last-child::before {
  display: none;
}

/* =========================================================
   Multi-Level Navigation Dropdown (Up to 4 Levels Deep)
   Developed by Rajan Neupane | Xenatech Nepal Pvt Ltd
   ========================================================= */

.xena-desktop-nav,
.xena-nav-menu {
  position: relative;
}

.xena-nav-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Top-level menu item container */
.xena-nav-menu > li {
  position: relative;
}

/* Base Submenu styling */
.xena-nav-menu .sub-menu {
  position: absolute;
  min-width: 260px;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  padding: 0.5rem;
  z-index: 50;
  list-style: none;
  margin: 0;
  display: none;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

/* Level 2 Submenu (Drops down from Level 1) */
.xena-nav-menu > li > .sub-menu,
.xena-nav-menu .sub-menu.level-2 {
  top: 100%;
  left: 0;
  margin-top: 0.35rem;
}

/* Level 3 Submenu (Flies out to the right of Level 2) */
.xena-nav-menu > li > .sub-menu > li > .sub-menu,
.xena-nav-menu .sub-menu.level-3 {
  top: -0.5rem;
  left: 100%;
  margin-left: 0.35rem;
}

/* Level 4 Submenu (Flies out to the right of Level 3) */
.xena-nav-menu > li > .sub-menu > li > .sub-menu > li > .sub-menu,
.xena-nav-menu .sub-menu.level-4 {
  top: -0.5rem;
  left: 100%;
  margin-left: 0.35rem;
}

/* Reveal dropdown on hover & focus-within */
.xena-nav-menu li:hover > .sub-menu,
.xena-nav-menu li:focus-within > .sub-menu {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

/* Submenu list item */
.xena-nav-menu .sub-menu li {
  position: relative;
  margin-bottom: 2px;
}
.xena-nav-menu .sub-menu li:last-child {
  margin-bottom: 0;
}

/* Submenu links */
.xena-nav-menu .sub-menu li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 0.95rem;
  border-radius: 0.75rem;
  color: #334155;
  font-weight: 600;
  font-size: 16px !important;
  text-decoration: none;
  transition: all 0.15s ease-in-out;
  white-space: nowrap;
}

.xena-nav-menu .sub-menu li a:hover,
.xena-nav-menu .sub-menu li.current-menu-item > a {
  background-color: #f1f5f9;
  color: #0f172a;
}

/* Hover bridge to keep mouse interaction smooth when moving to flyouts */
.xena-nav-menu > li::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 12px;
}
.xena-nav-menu .sub-menu li::after {
  content: '';
  position: absolute;
  top: 0;
  left: 100%;
  width: 14px;
  height: 100%;
}

/* Chevron indicator rotation */
.xena-dropdown-indicator {
  transition: transform 0.2s ease;
}
.xena-nav-menu > li:hover > a .xena-dropdown-indicator {
  transform: rotate(180deg);
}

/* Mobile Accordion Styles */
.xena-mobile-submenu {
  transition: max-height 0.25s ease-out;
}
.xena-mobile-accordion-btn.is-active i {
  transform: rotate(180deg);
}
