/* ==========================================================================
   Incredible Uttarakhand — custom styles (works alongside Tailwind CDN)
   ========================================================================== */

:root{
  --navy:#16324a;
  --navy-deep:#0e2438;
  --olive:#4c6b3c;
  --terracotta:#b5602f;
  --tan:#efe3c8;
  --tan-dark:#d9bb84;
  --purple:#5b3b6b;
  --brown:#7a4a2b;
  --cream:#faf6ec;
  --ink:#2c2a24;
}

html{scroll-behavior:smooth;}

body{
  font-family:'Poppins',sans-serif;
  background:var(--cream);
  color:var(--ink);
}

.font-display{font-family:'Playfair Display',serif;}
.font-hand{font-family:'Caveat',cursive;}

/* ---------- Preloader ---------- */
#preloader{
  position:fixed;inset:0;z-index:9999;
  background:var(--cream);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .6s ease, visibility .6s ease;
}
#preloader.loaded{opacity:0;visibility:hidden;}
.loader-ring{
  width:64px;height:64px;border-radius:50%;
  border:4px solid #e4d9bd;
  border-top-color:var(--olive);
  animation:spin 1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}

/* ---------- Navbar ---------- */
#navbar{transition:box-shadow .35s ease, padding .35s ease, background-color .35s ease;}
#navbar.scrolled{
  box-shadow:0 8px 24px rgba(22,50,74,.10);
  padding-top:.55rem;padding-bottom:.55rem;
  background-color:rgba(250,246,236,.85);
  backdrop-filter:blur(14px);
}
.nav-link{position:relative;}
.nav-link::after{
  content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;
  background:var(--olive);transition:width .3s ease;
}
.nav-link:hover::after,.nav-link.active::after{width:100%;}

/* ---------- Buttons ---------- */
.btn-ripple{position:relative;overflow:hidden;}
.ripple-el{
  position:absolute;border-radius:50%;
  background:rgba(255,255,255,.55);
  transform:scale(0);animation:ripple .6s ease-out;
  pointer-events:none;
}
@keyframes ripple{to{transform:scale(3);opacity:0;}}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;}
.reveal-delay-4{transition-delay:.4s;}

/* ---------- Polaroids ---------- */
.polaroid{
  background:#fff;padding:10px 10px 32px;border-radius:4px;
  box-shadow:0 14px 30px rgba(20,30,20,.22);
  transition:transform .4s ease, box-shadow .4s ease;
}
.polaroid:hover{transform:translateY(-10px) rotate(0deg) scale(1.03) !important;box-shadow:0 22px 40px rgba(20,30,20,.30);z-index:20;}
.polaroid .cap{font-family:'Caveat',cursive;font-size:1.25rem;text-align:center;margin-top:6px;color:var(--ink);}
.rot-6{transform:rotate(-6deg);}
.rot-2{transform:rotate(-2deg);}
.rot3{transform:rotate(3deg);}
.rot6{transform:rotate(6deg);}
.rot-3{transform:rotate(-3deg);}

/* ---------- Glassmorphism ---------- */
.glass{
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.5);
}
.glass-dark{
  background:rgba(22,50,74,.55);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.15);
}

/* ---------- Hover zoom media ---------- */
.media-zoom{overflow:hidden;}
.media-zoom svg,.media-zoom img{transition:transform .6s ease;}
.media-zoom:hover svg,.media-zoom:hover img{transform:scale(1.08);}

/* ---------- Feature / info cards ---------- */
.info-card{transition:transform .4s ease, box-shadow .4s ease;}
.info-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(20,30,20,.14);}

/* ---------- Tag pill ---------- */
.tag-pill{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.8rem;letter-spacing:.5px;color:#fff;padding:6px 16px;border-radius:999px;}

/* ---------- Parallax hero mountain layers ---------- */
.parallax-layer{will-change:transform;}

/* ---------- Counter section ---------- */
.counter-num{font-family:'Playfair Display',serif;font-weight:900;}

/* ---------- Lightbox ---------- */
#lightbox{position:fixed;inset:0;z-index:9998;background:rgba(14,20,16,.92);display:none;align-items:center;justify-content:center;padding:24px;}
#lightbox.open{display:flex;}
#lightbox .lb-inner{max-width:900px;width:100%;position:relative;}
#lightbox .lb-close{position:absolute;top:-44px;right:0;color:#fff;font-size:1.8rem;cursor:pointer;}
#lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:2rem;cursor:pointer;user-select:none;padding:10px;}
#lightbox .lb-prev{left:-50px;}
#lightbox .lb-next{right:-50px;}

/* ---------- Gallery filter ---------- */
.filter-btn.active{background:var(--olive);color:#fff;}

/* ---------- Back to top ---------- */
#backToTop{opacity:0;pointer-events:none;transition:opacity .35s ease, transform .35s ease;}
#backToTop.show{opacity:1;pointer-events:auto;}

/* ---------- Accordion ---------- */
.faq-item.open .faq-answer{grid-template-rows:1fr;padding-top:.5rem;}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;overflow:hidden;}
.faq-answer > div{overflow:hidden;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-icon{transition:transform .3s ease;}

/* ---------- Illustration placeholders (stand in for real photography) ---------- */
.art{position:relative;overflow:hidden;}
.art svg{display:block;width:100%;height:100%;}
.art .art-label{
  position:absolute;left:0;right:0;bottom:0;
  font-family:'Caveat',cursive;color:#fff;font-size:1.15rem;
  padding:8px 12px;text-shadow:0 2px 6px rgba(0,0,0,.6);
}

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--cream);}
::-webkit-scrollbar-thumb{background:var(--tan-dark);border-radius:8px;}

@media (max-width:768px){
  .rot-6,.rot-2,.rot3,.rot6,.rot-3{transform:rotate(0deg);}
}

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