/* ===================================================================
   Nepal Trekking Co. — Design System
   Palette:  --ridge (deep glacier navy) / --snow / --rhodo (accent red)
             --prayer-blue / --stone / --ink
   Type:     Fraunces (display) · Inter (body) · JetBrains Mono (data)
   Signature: elevation-profile line — a real jagged mountain silhouette
              used as a recurring structural device across the site.
   =================================================================== */

:root{
  --ridge:#1B2A3A;      /* deep glacier navy - dark sections */
  --ridge-2:#243549;
  --snow:#F7F6F2;        /* warm snow white background */
  --rhodo:#C8443D;       /* rhododendron red - primary accent */
  --rhodo-dark:#A6362F;
  --prayer-blue:#4A7A96; /* prayer-flag blue - secondary accent */
  --stone:#D9C9A8;       /* sand/stone - warm neutral */
  --ink:#23282D;         /* body text */
  --ink-soft:#5B6570;
  --line:#E1DCD0;

  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Inter', -apple-system, sans-serif;
  --font-mono:'JetBrains Mono', monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--snow);
  line-height:1.65;
}
h1,h2,h3,h4,.display-font{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--ridge);
}
a{color:var(--rhodo); text-decoration:none;}
a:hover{color:var(--rhodo-dark);}
.text-mono{font-family:var(--font-mono);}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

/* ---------- Skip link / focus ---------- */
.skip-link{position:absolute;left:-999px;top:0;background:var(--rhodo);color:#fff;padding:.6rem 1rem;z-index:2000;}
.skip-link:focus{left:0;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--prayer-blue); outline-offset:2px;
}

/* ---------- Eyebrow / labels ---------- */
.eyebrow{
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.75rem;
  color:var(--rhodo);
  font-weight:600;
}
.eyebrow.on-dark{color:var(--stone);}

/* ---------- Navbar ---------- */
.navbar-nt{
  background:var(--snow);
  border-bottom:1px solid var(--line);
  padding:.9rem 0;
}
.navbar-nt .navbar-brand{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.4rem;
  color:var(--ridge);
}
.navbar-nt .navbar-brand span{color:var(--rhodo);}
.navbar-nt .nav-link{
  font-weight:600;
  font-size:.92rem;
  color:var(--ink);
  margin:0 .5rem;
}
.navbar-nt .nav-link.active,.navbar-nt .nav-link:hover{color:var(--rhodo);}
.btn-rhodo{
  background:var(--rhodo); border-color:var(--rhodo); color:#fff; font-weight:600;
  padding:.55rem 1.3rem; border-radius:2px;
}
.btn-rhodo:hover{background:var(--rhodo-dark); border-color:var(--rhodo-dark); color:#fff;}
.btn-outline-ridge{
  border:1.5px solid var(--ridge); color:var(--ridge); font-weight:600; border-radius:2px;
}
.btn-outline-ridge:hover{background:var(--ridge); color:#fff;}
.btn-outline-snow{border:1.5px solid var(--snow); color:var(--snow); font-weight:600; border-radius:2px;}
.btn-outline-snow:hover{background:var(--snow); color:var(--ridge);}

/* ---------- Elevation profile signature (SVG) ---------- */
.elevation-divider{display:block; width:100%; height:auto; margin:0; line-height:0;}
.elevation-divider path.profile{fill:none; stroke:var(--rhodo); stroke-width:2;}
.elevation-divider path.fill{fill:var(--ridge); opacity:.06;}
.elevation-strip{background:var(--ridge); overflow:hidden;}

/* ---------- Hero ---------- */
.hero{
  background:var(--ridge);
  color:var(--snow);
  position:relative;
  padding:5.5rem 0 0;
  overflow:hidden;
}
.hero h1{color:#fff; font-size:clamp(2.3rem,4.5vw,3.6rem); line-height:1.05;}
.hero .lead{color:#C9D2DA; font-size:1.15rem; max-width:38rem;}
.hero-stats{border-top:1px solid rgba(255,255,255,.15); margin-top:2.5rem;}
.hero-stats .stat{padding:1.1rem 0;}
.hero-stats .stat .num{font-family:var(--font-mono); font-size:1.6rem; color:var(--stone); font-weight:700;}
.hero-stats .stat .label{font-size:.78rem; color:#9FB0BE; text-transform:uppercase; letter-spacing:.08em;}

/* ---------- Trek cards ---------- */
.trek-card{
  background:#fff; border:1px solid var(--line); border-radius:3px; overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease; height:100%;
}
.trek-card:hover{transform:translateY(-4px); box-shadow:0 14px 30px rgba(27,42,58,.12);}
.trek-card .art{background:var(--ridge); height:150px; position:relative;}
.trek-card .art svg{position:absolute; bottom:0; left:0; width:100%; height:100%;}
.trek-card .body{padding:1.3rem 1.4rem 1.5rem;}
.trek-card h3{font-size:1.2rem; margin-bottom:.35rem;}
.trek-meta{display:flex; gap:1rem; font-family:var(--font-mono); font-size:.78rem; color:var(--ink-soft); margin:.7rem 0;}
.trek-meta span{display:flex; align-items:center; gap:.3rem;}
.difficulty-badge{
  font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.06em;
  padding:.2rem .55rem; border-radius:2px; font-weight:700;
}
.diff-moderate{background:#EAF2E9; color:#3E7A44;}
.diff-strenuous{background:#FBEAE5; color:var(--rhodo-dark);}
.diff-challenging{background:#231B1B; color:var(--stone);}
.price-tag{font-family:var(--font-mono); font-weight:700; color:var(--ridge); font-size:1.15rem;}

/* ---------- Section rhythm ---------- */
.section{padding:5rem 0;}
.section-tight{padding:3.5rem 0;}
.bg-ridge{background:var(--ridge); color:var(--snow);}
.bg-ridge h2,.bg-ridge h3{color:#fff;}
.bg-stone{background:#FBF7EF;}

/* ---------- Contour background texture ---------- */
.contour-bg{
  background-image:radial-gradient(circle at 20% 30%, rgba(74,122,150,.08) 0, transparent 55%),
                    radial-gradient(circle at 80% 70%, rgba(200,68,61,.06) 0, transparent 50%);
}

/* ---------- Blog cards ---------- */
.blog-card{border:1px solid var(--line); border-radius:3px; background:#fff; height:100%;}
.blog-card .cover{height:140px; background:linear-gradient(135deg,var(--prayer-blue),var(--ridge));}
.blog-card .body{padding:1.3rem 1.4rem;}
.blog-card .meta{font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.05em;}

/* ---------- FAQ / AEO accordion ---------- */
.accordion-nt .accordion-button{
  font-family:var(--font-display); font-weight:600; color:var(--ridge);
  background:#fff;
}
.accordion-nt .accordion-button:not(.collapsed){color:var(--rhodo); background:#FBF3F2; box-shadow:none;}
.accordion-nt .accordion-item{border:1px solid var(--line); margin-bottom:.6rem; border-radius:3px !important; overflow:hidden;}
.direct-answer{
  background:#FBF7EF; border-left:3px solid var(--rhodo); padding:1rem 1.3rem; border-radius:0 3px 3px 0;
  font-size:1.02rem;
}

/* ---------- Stats / trust bar ---------- */
.trust-bar{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff;}
.trust-bar .item{padding:1.4rem 0; text-align:center;}
.trust-bar .num{font-family:var(--font-mono); font-weight:700; color:var(--rhodo); font-size:1.5rem;}
.trust-bar .label{font-size:.78rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em;}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--ridge); color:#C9D2DA; padding:3.5rem 0 1.5rem;}
footer.site-footer h5{color:#fff; font-family:var(--font-display); font-size:1.05rem;}
footer.site-footer a{color:#C9D2DA;}
footer.site-footer a:hover{color:var(--stone);}
footer.site-footer .bottom{border-top:1px solid rgba(255,255,255,.12); margin-top:2rem; padding-top:1.2rem; font-size:.82rem; color:#8FA0AF;}

/* ---------- Breadcrumb ---------- */
.breadcrumb-nt{font-family:var(--font-mono); font-size:.78rem;}

/* ---------- Author / E-E-A-T box ---------- */
.author-box{background:#fff; border:1px solid var(--line); border-radius:3px; padding:1.2rem 1.4rem; display:flex; gap:1rem; align-items:flex-start;}
.author-avatar{width:52px; height:52px; border-radius:50%; background:var(--prayer-blue); flex:none; display:flex; align-items:center; justify-content:center; color:#fff; font-family:var(--font-display); font-weight:700;}

/* ---------- Itinerary table ---------- */
.itinerary-day{border-left:2px solid var(--line); padding:0 0 1.6rem 1.4rem; position:relative;}
.itinerary-day::before{content:''; position:absolute; left:-6px; top:2px; width:11px; height:11px; border-radius:50%; background:var(--rhodo);}
.itinerary-day .day-num{font-family:var(--font-mono); color:var(--rhodo); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.06em;}

/* ---------- Utility ---------- */
.rounded-nt{border-radius:3px;}
.card-flat{border:1px solid var(--line); border-radius:3px; background:#fff;}


/* ==========================================
   Multi-level Dropdown Styling
   ========================================== */

/* Desktop screens (Large devices) */
@media (min-width: 992px) {
  .dropdown-submenu {
    position: relative;
  }

  /* Positions the submenu to the right of the main dropdown menu */
  .dropdown-submenu .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
    margin-left: 0px;
    border-radius: 0.25rem;
  }
  
  /* Shows the submenu on hover for a smoother desktop experience */
  .dropdown-submenu:hover .dropdown-menu {
    display: block;
  }
}

/* Mobile & Tablet screens (Collapsible Nav) */
@media (max-width: 991.98px) {
  /* Indents the submenu slightly so the user understands the hierarchy */
  .dropdown-submenu .dropdown-menu {
    position: static;
    margin-left: 1rem;
    background-color: rgba(0, 0, 0, 0.03); /* Subtle background shift */
    border: none;
    box-shadow: none;
  }
  
  /* Always displays the mobile sub-items nested underneath the parent */
  .dropdown-submenu .dropdown-menu {
    display: block; 
  }
}
