/* ===================== Maharana Foundation — Master Stylesheet ===================== */
:root{
  --saffron:#FF6A00;
  --royal-orange:#FF8C32;
  --dark-brown:#2A1505;
  --brown-2:#3D1F0A;
  --gold:#D4AF37;
  --gold-light:#F4E2A1;
  --white:#FFFFFF;
  --black:#0B0703;
  --glass-bg:rgba(255,255,255,0.06);
  --glass-border:rgba(255,255,255,0.18);
  --text-light:#F5EDE0;
  --shadow-soft:0 10px 30px rgba(0,0,0,0.35);
  --transition:0.4s cubic-bezier(.4,0,.2,1);
  --font-display:'Hind','Noto Sans Devanagari',serif;
  --font-body:'Hind','Noto Sans Devanagari',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:var(--font-body);
  background:var(--black);
  color:var(--text-light);
  overflow-x:hidden;
  line-height:1.7;
}

h1,h2,h3,h4,h5{
  font-family:var(--font-display);
  font-weight:700;
  color:var(--gold-light);
}

a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;display:block;}

.section-pad{padding:90px 0;}
.text-saffron{color:var(--saffron)!important;}
.text-gold{color:var(--gold)!important;}

.bg-royal-gradient{
  background:linear-gradient(135deg,var(--dark-brown) 0%, var(--black) 60%, var(--brown-2) 100%);
}

/* ===== Loading Screen ===== */
#loader{
  position:fixed;inset:0;background:var(--black);
  display:flex;align-items:center;justify-content:center;
  z-index:9999;transition:opacity .6s ease, visibility .6s ease;
}
#loader.hide{opacity:0;visibility:hidden;}
.loader-crest{
  width:90px;height:90px;border:4px solid var(--gold);
  border-top-color:var(--saffron);border-radius:50%;
  animation:spin 1.1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}

/* ===== Navbar ===== */
.navbar-royal{
  background:rgba(11,7,3,0.75);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--glass-border);
  transition:var(--transition);
  padding:14px 0;
}
.navbar-royal.scrolled{
  background:rgba(11,7,3,0.95);
  padding:8px 0;
  box-shadow:var(--shadow-soft);
}
.navbar-brand-royal{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-display);
  font-size:1.4rem;font-weight:800;color:var(--gold)!important;
}
.navbar-brand-royal .crest{
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,var(--saffron),var(--gold));
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;box-shadow:0 0 18px rgba(255,106,0,0.55);
}
.nav-link-royal{
  color:var(--text-light)!important;
  font-weight:600;margin:0 6px;position:relative;
  transition:var(--transition);
}
.nav-link-royal::after{
  content:'';position:absolute;left:0;bottom:-4px;height:2px;width:0;
  background:linear-gradient(90deg,var(--saffron),var(--gold));
  transition:var(--transition);
}
.nav-link-royal:hover::after,.nav-link-royal.active::after{width:100%;}
.nav-link-royal:hover{color:var(--gold)!important;}
.btn-join{
  background:linear-gradient(135deg,var(--saffron),#FF8C32);
  color:#fff!important;font-weight:700;padding:8px 26px;border-radius:30px;
  box-shadow:0 0 18px rgba(255,106,0,0.5);transition:var(--transition);
}
.btn-join:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 0 28px rgba(255,106,0,0.8);}

/* ===== Buttons ===== */
.btn-royal{
  background:linear-gradient(135deg,var(--saffron),var(--gold));
  border:none;color:#fff;font-weight:700;padding:13px 32px;border-radius:40px;
  position:relative;overflow:hidden;transition:var(--transition);
  box-shadow:0 8px 22px rgba(255,106,0,0.4);
}
.btn-royal:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(255,106,0,0.6);color:#fff;}
.btn-outline-royal{
  border:2px solid var(--gold);color:var(--gold-light);background:transparent;
  font-weight:700;padding:11px 30px;border-radius:40px;transition:var(--transition);
}
.btn-outline-royal:hover{background:var(--gold);color:var(--black);}
.btn-ripple{position:relative;overflow:hidden;}
.ripple-circle{
  position:absolute;border-radius:50%;background:rgba(255,255,255,0.5);
  transform:scale(0);animation:ripple 0.6s linear;pointer-events:none;
}
@keyframes ripple{to{transform:scale(4);opacity:0;}}

/* ===== Hero ===== */
.hero{
  height:100vh;min-height:680px;position:relative;
  display:flex;align-items:center;justify-content:center;text-align:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  animation:slowzoom 24s ease-in-out infinite alternate;
  filter:brightness(0.55) saturate(1.1);
}
@keyframes slowzoom{from{transform:scale(1);}to{transform:scale(1.15);}}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,7,3,0.55) 0%,rgba(11,7,3,0.75) 55%,var(--black) 100%);
}
.hero-content{position:relative;z-index:3;max-width:900px;padding:0 20px;}
.hero-content h1{
  font-size:clamp(2.6rem,6vw,5.2rem);color:#fff;text-shadow:0 4px 30px rgba(255,106,0,0.5);
  letter-spacing:2px;
}
.hero-content p.lead{
  font-size:clamp(1.1rem,2vw,1.5rem);color:var(--gold-light);margin:18px 0 36px;
}
.hero-buttons .btn{margin:6px;}
.hero-particle{
  position:absolute;border-radius:50%;background:rgba(255,200,120,0.7);
  pointer-events:none;animation:floatUp linear infinite;
}
@keyframes floatUp{
  0%{transform:translateY(0) translateX(0);opacity:0;}
  10%{opacity:.8;}
  100%{transform:translateY(-110vh) translateX(20px);opacity:0;}
}
.hero-rays{
  position:absolute;inset:0;z-index:2;
  background:conic-gradient(from 200deg at 50% 30%, rgba(255,200,100,0.0) 0deg, rgba(255,180,80,0.18) 30deg, rgba(255,200,100,0.0) 70deg);
  mix-blend-mode:screen;animation:rayspin 30s linear infinite;
}
@keyframes rayspin{to{transform:rotate(360deg);}}
.scroll-indicator{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  color:var(--gold);font-size:1.7rem;animation:bounce 2s infinite;z-index:3;
}
@keyframes bounce{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,10px);}}

/* ===== Page Banner (inner pages) ===== */
.page-banner{
  padding:160px 0 70px;text-align:center;position:relative;
  background:linear-gradient(135deg,var(--dark-brown),var(--black));
  border-bottom:1px solid var(--glass-border);
}
.page-banner h1{font-size:clamp(2rem,4vw,3.2rem);}
.breadcrumb-royal a{color:var(--saffron);}
.breadcrumb-royal span{color:#a89;}

/* ===== Glass Card ===== */
.glass-card{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:18px;backdrop-filter:blur(10px);
  padding:34px 28px;height:100%;
  transition:var(--transition);
  transform-style:preserve-3d;
}
.glass-card:hover{
  transform:translateY(-10px) rotateX(3deg) rotateY(-3deg);
  box-shadow:0 20px 45px rgba(255,106,0,0.25);
  border-color:var(--saffron);
}
.glass-card .icon-circle{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,var(--saffron),var(--gold));
  display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#fff;
  margin-bottom:18px;box-shadow:0 0 22px rgba(255,106,0,0.5);
}

/* ===== Section heading ===== */
.section-heading{text-align:center;margin-bottom:55px;}
.section-heading .tag{
  display:inline-block;color:var(--saffron);font-weight:700;letter-spacing:3px;
  text-transform:uppercase;font-size:0.85rem;margin-bottom:10px;
}
.section-heading h2{font-size:clamp(1.8rem,3.4vw,2.7rem);}
.section-heading .underline{
  width:80px;height:4px;margin:14px auto 0;
  background:linear-gradient(90deg,var(--saffron),var(--gold));border-radius:5px;
}

/* ===== Counters ===== */
.counter-box{text-align:center;padding:20px;}
.counter-box .num{
  font-size:clamp(2.2rem,4vw,3.3rem);font-weight:800;color:var(--gold);
  font-family:var(--font-display);
}
.counter-box .label{color:var(--text-light);font-weight:600;}

/* ===== Floating icons ===== */
.float-icon{position:absolute;color:var(--gold);opacity:.35;animation:floaty 6s ease-in-out infinite;}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0);}50%{transform:translateY(-20px) rotate(10deg);}}

/* ===== Timeline (events) ===== */
.timeline{position:relative;padding-left:40px;}
.timeline::before{content:'';position:absolute;left:9px;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--saffron),var(--gold));}
.timeline-item{position:relative;margin-bottom:40px;}
.timeline-item::before{
  content:'';position:absolute;left:-40px;top:4px;width:20px;height:20px;border-radius:50%;
  background:var(--saffron);box-shadow:0 0 0 4px rgba(255,106,0,0.25);
}

/* ===== Gallery ===== */
.gallery-item{
  overflow:hidden;border-radius:16px;position:relative;cursor:pointer;
  border:1px solid var(--glass-border);
}
.gallery-item img{transition:transform .6s ease;}
.gallery-item:hover img{transform:scale(1.12);}
.gallery-caption{
  position:absolute;inset:auto 0 0 0;padding:14px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,0.85));
  font-weight:700;color:#fff;transform:translateY(110%);transition:var(--transition);
}
.gallery-item:hover .gallery-caption{transform:translateY(0);}
.filter-btn{
  border:1px solid var(--gold);color:var(--gold-light);background:transparent;border-radius:30px;
  padding:8px 22px;margin:4px;font-weight:600;transition:var(--transition);
}
.filter-btn.active,.filter-btn:hover{background:var(--saffron);color:#fff;border-color:var(--saffron);}

/* ===== Forms ===== */
.form-royal label{font-weight:600;color:var(--gold-light);margin-bottom:6px;}
.form-royal .form-control,.form-royal .form-select{
  background:rgba(255,255,255,0.05);border:1px solid var(--glass-border);
  color:var(--text-light);border-radius:10px;padding:11px 14px;
}
.form-royal .form-control:focus,.form-royal .form-select:focus{
  background:rgba(255,255,255,0.08);border-color:var(--saffron);box-shadow:0 0 0 3px rgba(255,106,0,0.25);color:#fff;
}
.form-royal .form-control::placeholder{color:#bba;}
.form-card{
  background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:22px;
  padding:40px;backdrop-filter:blur(12px);
}

/* ===== Team ===== */
.team-card{text-align:center;border-radius:18px;overflow:hidden;background:var(--glass-bg);border:1px solid var(--glass-border);transition:var(--transition);}
.team-card:hover{transform:translateY(-8px);border-color:var(--gold);}
.team-card .photo{height:280px;overflow:hidden;}
.team-card .photo img{width:100%;height:100%;object-fit:cover;}
.team-card .info{padding:20px;}
.team-card .role{color:var(--saffron);font-weight:700;}

/* ===== Testimonial ===== */
.testimonial-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;padding:30px;}
.testimonial-card .quote{font-size:2rem;color:var(--gold);}

/* ===== Profile cards (matrimonial) ===== */
.profile-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;overflow:hidden;transition:var(--transition);}
.profile-card:hover{transform:translateY(-8px);box-shadow:0 16px 35px rgba(255,106,0,0.25);}
.profile-card .photo{height:230px;background:linear-gradient(135deg,#3d1f0a,#0b0703);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--gold);}
.badge-gotra{background:rgba(212,175,55,0.18);color:var(--gold);border:1px solid var(--gold);border-radius:20px;padding:4px 12px;font-size:.8rem;}

/* ===== Footer ===== */
.footer-royal{background:var(--black);border-top:1px solid var(--glass-border);padding-top:60px;}
.footer-royal h5{color:var(--gold);margin-bottom:18px;}
.footer-royal a{color:#cbb;transition:var(--transition);}
.footer-royal a:hover{color:var(--saffron);padding-right:4px;}
.social-circle{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;color:var(--gold);
  transition:var(--transition);margin-right:8px;
}
.social-circle:hover{background:var(--saffron);color:#fff;border-color:var(--saffron);}
.footer-bottom{border-top:1px solid var(--glass-border);padding:18px 0;margin-top:40px;font-size:.9rem;color:#998;}

/* ===== Donation banner ===== */
.donate-banner{
  background:linear-gradient(135deg,var(--saffron),var(--brown-2));
  border-radius:24px;padding:50px;position:relative;overflow:hidden;
}

/* ===== AOS-like reveal ===== */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease, transform .8s ease;}
.reveal.show{opacity:1;transform:translateY(0);}

/* ===== Back to top ===== */
#backToTop{
  position:fixed;bottom:26px;right:26px;width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,var(--saffron),var(--gold));color:#fff;border:none;
  display:none;align-items:center;justify-content:center;font-size:1.3rem;z-index:999;
  box-shadow:0 8px 20px rgba(255,106,0,0.5);
}

/* ===== Misc utility ===== */
.divider-gold{height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:30px 0;}
.badge-soft{background:rgba(255,106,0,0.15);color:var(--saffron);border-radius:20px;padding:5px 16px;font-weight:700;font-size:.85rem;}

@media (max-width:767px){
  .section-pad{padding:60px 0;}
  .hero-content h1{letter-spacing:0;}
}
