/* ============================================================
   Yash Film Entertainment World — Theme
   Palette drawn from the Gor Sindhu logo: deep maroon + gold
   ============================================================ */
:root{
  --maroon:        #4a0e2e;
  --maroon-deep:   #36071f;
  --maroon-soft:   #5e1838;
  --gold:          #e0a52e;
  --gold-light:    #f4cd6a;
  --gold-deep:     #b67d1a;
  --cream:         #f7f1e7;
  --ink:           #1a0a12;
  --muted:         #b8a9b0;
  --white:         #ffffff;
  --shadow:        0 18px 50px rgba(0,0,0,.35);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Jost', sans-serif;
  color:#2b2b2b;
  background:var(--cream);
  overflow-x:hidden;
  margin:0;
}
h1,h2,h3,h4,h5,.brand-text strong{ font-family:'Cinzel', serif; }
a{ text-decoration:none; transition:.25s ease; }
img{ max-width:100%; }
section{ position:relative; }

/* ---------- Buttons ---------- */
.btn-gold{
  background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-deep));
  color:var(--maroon-deep);
  font-weight:600;
  border:none;
  border-radius:50px;
  padding:.6rem 1.5rem;
  letter-spacing:.3px;
  box-shadow:0 8px 22px rgba(224,165,46,.35);
  transition:.3s ease;
}
.btn-gold:hover{ transform:translateY(-3px); box-shadow:0 12px 30px rgba(224,165,46,.55); color:var(--maroon-deep); }
.btn-outline-gold{
  border:2px solid var(--gold);
  color:var(--gold);
  background:transparent;
  border-radius:50px;
  padding:.55rem 1.5rem;
  font-weight:600;
}
.btn-outline-gold:hover{ background:var(--gold); color:var(--maroon-deep); }

/* ---------- Top bar ---------- */
.top-bar{
  background:var(--maroon-deep);
  color:var(--cream);
  font-size:.85rem;
  padding:.45rem 0;
  border-bottom:1px solid rgba(224,165,46,.2);
}
.top-bar i{ color:var(--gold); }
.top-bar-right a{ color:var(--cream); margin-left:1rem; font-size:1rem; }
.top-bar-right a:hover{ color:var(--gold); }

/* ---------- Navbar ---------- */
.main-nav{
  background:rgba(54,7,31,.96);
  backdrop-filter:blur(10px);
  padding:.6rem 0;
  box-shadow:0 6px 24px rgba(0,0,0,.25);
  z-index:1030;
}
.brand-logo{ height:52px; width:52px; object-fit:contain; border-radius:50%; background:var(--cream); padding:3px; }
.brand-text{ margin-left:.7rem; line-height:1; color:var(--cream); font-size:1.15rem; letter-spacing:1px; }
.brand-text strong{ color:var(--gold); }
.brand-text small{ display:block; font-size:.6rem; letter-spacing:3px; color:var(--muted); margin-top:2px; font-family:'Jost'; }
.main-nav .nav-link{
  color:var(--cream)!important;
  font-weight:500;
  margin:0 .35rem;
  position:relative;
  padding:.4rem .2rem!important;
}
.main-nav .nav-link::after{
  content:''; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--gold); transition:.3s ease;
}
.main-nav .nav-link:hover::after,
.main-nav .nav-link.active::after{ width:100%; }
.main-nav .nav-link.active{ color:var(--gold)!important; }
.navbar-toggler{ border-color:rgba(224,165,46,.5); }
.navbar-toggler-icon{ filter:invert(1); }
.btn-enquiry{ padding:.45rem 1.2rem; }

/* ---------- HERO SLIDER ---------- */
.hero-carousel{ position:relative; }
.hero-slide{ height:88vh; min-height:560px; position:relative; overflow:hidden; }
.hero-slide .slide-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transform:scale(1.12);
  transition:transform 7s ease;
}
.carousel-item.active .slide-bg{ transform:scale(1); }
.hero-slide::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(36,7,31,.92) 0%, rgba(36,7,31,.6) 45%, rgba(36,7,31,.25) 100%);
}
.hero-content{
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; justify-content:center;
}
.hero-eyebrow{
  color:var(--gold); letter-spacing:4px; font-weight:600;
  text-transform:uppercase; font-size:.8rem; margin-bottom:1rem;
  display:inline-flex; align-items:center; gap:.5rem;
}
.hero-eyebrow::before{ content:''; width:38px; height:2px; background:var(--gold); display:inline-block; }
.hero-title{
  color:#fff; font-size:clamp(2.2rem,5vw,4.2rem); font-weight:800;
  line-height:1.08; text-shadow:0 4px 30px rgba(0,0,0,.6); margin-bottom:1rem;
}
.hero-title .accent{ color:var(--gold); }
.hero-text{ color:#e9dde4; font-size:1.1rem; max-width:560px; margin-bottom:1.8rem; }
.hero-btns .btn{ margin-right:.8rem; margin-bottom:.6rem; }

.carousel-indicators{ z-index:5; margin-bottom:2rem; }
.carousel-indicators [data-bs-target]{
  width:42px; height:4px; border-radius:4px; background:rgba(255,255,255,.4);
  border:none;
}
.carousel-indicators .active{ background:var(--gold); }
.carousel-control-prev,.carousel-control-next{ width:6%; z-index:5; opacity:.7; }
.carousel-control-prev-icon,.carousel-control-next-icon{
  background-color:rgba(74,14,46,.7); border-radius:50%; padding:1.4rem; background-size:45%;
}

/* ---------- Section headings ---------- */
.section{ padding:90px 0; }
.section-head{ text-align:center; max-width:720px; margin:0 auto 3.5rem; }
.section-eyebrow{
  color:var(--gold-deep); font-weight:600; letter-spacing:4px;
  text-transform:uppercase; font-size:.8rem; display:block; margin-bottom:.6rem;
}
.section-title{
  font-size:clamp(1.8rem,3.5vw,2.6rem); color:var(--maroon); font-weight:700; margin-bottom:1rem;
}
.section-title .accent{ color:var(--gold-deep); }
.section-divider{
  width:70px; height:3px; margin:0 auto 1.2rem;
  background:linear-gradient(90deg,var(--gold),var(--gold-deep));
  border-radius:3px; position:relative;
}
.section-divider::after{
  content:'\F2B5'; font-family:'bootstrap-icons'; position:absolute; top:-13px; left:50%;
  transform:translateX(-50%); color:var(--gold-deep); background:var(--cream); padding:0 8px; font-size:.9rem;
}
.section-sub{ color:#6a5560; font-size:1.05rem; }
.bg-cream{ background:var(--cream); }
.bg-maroon{ background:var(--maroon-deep); color:var(--cream); }
.bg-pattern{ background:linear-gradient(135deg,#fbf6ec,#f2e8d6); }

/* ---------- Movie / Project Cards ---------- */
.movie-card{
  background:#fff; border-radius:18px; overflow:hidden; height:100%;
  box-shadow:var(--shadow); transition:.4s ease; border:1px solid rgba(74,14,46,.06);
}
.movie-card:hover{ transform:translateY(-10px); box-shadow:0 28px 60px rgba(74,14,46,.28); }
.movie-poster{ position:relative; overflow:hidden; aspect-ratio:16/9; }
.movie-poster img{ width:100%; height:100%; object-fit:cover; transition:.6s ease; }
.movie-card:hover .movie-poster img{ transform:scale(1.08); }
.movie-badge{
  position:absolute; top:14px; left:14px; z-index:2;
  background:var(--gold); color:var(--maroon-deep); font-weight:600;
  font-size:.72rem; letter-spacing:1px; padding:.3rem .8rem; border-radius:50px;
  text-transform:uppercase;
}
.movie-poster::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(36,7,31,.55), transparent 55%);
}
.movie-body{ padding:1.4rem 1.5rem 1.6rem; }
.movie-body h4{ color:var(--maroon); font-size:1.25rem; margin-bottom:.4rem; }
.movie-genre{ color:var(--gold-deep); font-weight:600; font-size:.8rem; letter-spacing:1px; text-transform:uppercase; }
.movie-body p{ color:#6a5560; font-size:.95rem; margin:.7rem 0 1rem; }
.movie-meta{ display:flex; gap:1.2rem; font-size:.85rem; color:#8a7680; border-top:1px solid #eee; padding-top:.9rem; }
.movie-meta i{ color:var(--gold-deep); }

/* ---------- Who We Are ---------- */
.who-img-wrap{ position:relative; }
.who-img-wrap .main-img{ border-radius:20px; box-shadow:var(--shadow); }
.who-badge{
  position:absolute; bottom:-25px; right:-15px;
  background:var(--maroon); color:var(--cream); border-radius:16px;
  padding:1.2rem 1.5rem; box-shadow:var(--shadow); text-align:center;
  border:2px solid var(--gold);
}
.who-badge .num{ font-family:'Cinzel'; font-size:2rem; color:var(--gold); font-weight:700; line-height:1; }
.who-badge .lbl{ font-size:.75rem; letter-spacing:1px; text-transform:uppercase; }
.who-content h2{ color:var(--maroon); }
.who-list{ list-style:none; padding:0; margin:1.5rem 0 0; }
.who-list li{ display:flex; gap:.8rem; margin-bottom:1rem; align-items:flex-start; }
.who-list i{ color:var(--gold-deep); font-size:1.3rem; margin-top:2px; }
.who-list strong{ color:var(--maroon); display:block; }
.who-list span{ color:#6a5560; font-size:.95rem; }

/* ---------- Why Choose Us ---------- */
.why-card{
  background:rgba(255,255,255,.04); border:1px solid rgba(224,165,46,.18);
  border-radius:16px; padding:2.2rem 1.6rem; height:100%; text-align:center;
  transition:.35s ease;
}
.why-card:hover{ background:rgba(224,165,46,.08); transform:translateY(-8px); border-color:var(--gold); }
.why-icon{
  width:74px; height:74px; margin:0 auto 1.3rem; border-radius:50%;
  display:grid; place-items:center; font-size:1.9rem; color:var(--maroon-deep);
  background:linear-gradient(135deg,var(--gold-light),var(--gold-deep));
  box-shadow:0 10px 26px rgba(224,165,46,.3);
}
.why-card h4{ color:var(--gold); font-size:1.2rem; margin-bottom:.7rem; }
.why-card p{ color:#cdbcc4; font-size:.93rem; margin:0; }

/* ---------- Stats strip ---------- */
.stats-strip{ background:var(--maroon); padding:55px 0; }
.stat-item{ text-align:center; color:var(--cream); }
.stat-item .num{ font-family:'Cinzel'; font-size:2.6rem; font-weight:700; color:var(--gold); }
.stat-item .lbl{ letter-spacing:1px; text-transform:uppercase; font-size:.82rem; color:#d8c6cf; }

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(135deg,var(--maroon),var(--maroon-soft));
  border-radius:24px; padding:3rem; position:relative; overflow:hidden;
  box-shadow:var(--shadow);
}
.cta-band::before{
  content:''; position:absolute; top:-60px; right:-40px; width:240px; height:240px;
  background:radial-gradient(circle,var(--gold) 0%,transparent 70%); opacity:.18;
}
.cta-band h2{ color:#fff; }
.cta-band p{ color:#e9dde4; }

/* ---------- Page banner ---------- */
.page-banner{
  background:linear-gradient(rgba(36,7,31,.86),rgba(36,7,31,.92)),
             url('../assets/images/maluki_poster-1.jpg') center/cover;
  padding:130px 0 80px; text-align:center; color:#fff;
}
.page-banner h1{ font-size:clamp(2rem,4vw,3rem); color:#fff; margin-bottom:.6rem; }
.page-banner .crumb{ color:var(--gold-light); letter-spacing:1px; }
.page-banner .crumb a{ color:#e9dde4; }
.page-banner .crumb a:hover{ color:var(--gold); }

/* ---------- About blocks ---------- */
.vm-card{
  background:#fff; border-radius:18px; padding:2.3rem; height:100%;
  box-shadow:0 12px 36px rgba(74,14,46,.08); border-top:4px solid var(--gold);
}
.vm-card .vm-icon{ font-size:2.4rem; color:var(--gold-deep); margin-bottom:1rem; }
.vm-card h3{ color:var(--maroon); }
.vm-card ul{ padding-left:1.1rem; color:#6a5560; }
.vm-card ul li{ margin-bottom:.5rem; }

.team-card{
  background:#fff; border-radius:18px; overflow:hidden; box-shadow:var(--shadow);
  height:100%; transition:.35s ease;
}
.team-card:hover{ transform:translateY(-8px); }
.team-top{
  background:linear-gradient(135deg,var(--maroon),var(--maroon-soft));
  padding:2rem; text-align:center; color:#fff; position:relative;
}
.team-avatar{
  width:96px; height:96px; border-radius:50%; margin:0 auto 1rem;
  background:linear-gradient(135deg,var(--gold-light),var(--gold-deep));
  display:grid; place-items:center; font-size:2.4rem; color:var(--maroon-deep);
  border:3px solid var(--gold-light); box-shadow:0 8px 20px rgba(0,0,0,.3);
}
.team-top h4{ color:#fff; margin:0; font-size:1.3rem; }
.team-role{ color:var(--gold-light); font-size:.85rem; letter-spacing:1px; text-transform:uppercase; }
.team-body{ padding:1.6rem 1.8rem 2rem; color:#6a5560; font-size:.95rem; }

/* ---------- Services ---------- */
.service-card{
  background:#fff; border-radius:18px; padding:2.2rem; height:100%;
  box-shadow:0 12px 36px rgba(74,14,46,.07); transition:.35s ease;
  position:relative; overflow:hidden; border:1px solid rgba(74,14,46,.05);
}
.service-card::before{
  content:''; position:absolute; left:0; top:0; height:100%; width:5px;
  background:linear-gradient(var(--gold),var(--gold-deep)); transform:scaleY(0);
  transform-origin:top; transition:.35s ease;
}
.service-card:hover{ transform:translateY(-8px); box-shadow:0 24px 50px rgba(74,14,46,.16); }
.service-card:hover::before{ transform:scaleY(1); }
.service-icon{
  width:66px; height:66px; border-radius:16px; display:grid; place-items:center;
  font-size:1.7rem; color:#fff; margin-bottom:1.3rem;
  background:linear-gradient(135deg,var(--maroon),var(--maroon-soft));
}
.service-card h4{ color:var(--maroon); font-size:1.25rem; }
.service-card p{ color:#6a5560; font-size:.95rem; margin:0; }

/* ---------- Contact ---------- */
.contact-info-card{
  background:#fff; border-radius:18px; padding:2rem; box-shadow:var(--shadow); height:100%;
}
.contact-line{ display:flex; gap:1rem; margin-bottom:1.5rem; align-items:flex-start; }
.contact-line .ci{
  width:48px; height:48px; min-width:48px; border-radius:12px; display:grid; place-items:center;
  background:linear-gradient(135deg,var(--gold-light),var(--gold-deep)); color:var(--maroon-deep); font-size:1.2rem;
}
.contact-line h6{ color:var(--maroon); margin:0 0 .25rem; font-family:'Jost'; font-weight:600; }
.contact-line p,.contact-line a{ color:#6a5560; margin:0; font-size:.95rem; }
.contact-line a:hover{ color:var(--gold-deep); }
.contact-form-card{ background:#fff; border-radius:18px; padding:2.3rem; box-shadow:var(--shadow); }
.map-wrap{ border-radius:18px; overflow:hidden; box-shadow:var(--shadow); line-height:0; }
.map-wrap iframe{ width:100%; height:340px; border:0; }

/* ---------- Forms ---------- */
.form-label{ font-weight:500; color:var(--maroon); font-size:.9rem; }
.form-label span{ color:#d6453c; }
.form-control{
  border-radius:10px; border:1.5px solid #e3dccd; padding:.7rem 1rem; background:#fdfbf6;
}
.form-control:focus{ border-color:var(--gold); box-shadow:0 0 0 .2rem rgba(224,165,46,.2); }
.form-feedback{ font-size:.92rem; font-weight:500; }
.form-feedback.ok{ color:#1d7d4f; }
.form-feedback.err{ color:#c0392b; }

/* ---------- Enquiry modal ---------- */
.enquiry-modal{ background:linear-gradient(160deg,var(--maroon),var(--maroon-deep)); color:var(--cream); border:1px solid rgba(224,165,46,.3); border-radius:18px; }
.enquiry-modal .modal-header{ border-bottom:1px solid rgba(224,165,46,.2); }
.enquiry-modal .modal-title{ color:var(--gold); }
.enquiry-modal .modal-sub{ color:#d8c6cf; font-size:.95rem; }
.enquiry-modal .form-label{ color:var(--gold-light); }
.enquiry-modal .form-control{ background:rgba(255,255,255,.06); border-color:rgba(224,165,46,.25); color:#fff; }
.enquiry-modal .form-control::placeholder{ color:#b99fac; }
.enquiry-modal .form-control:focus{ background:rgba(255,255,255,.1); color:#fff; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--maroon-deep); color:#cdbcc4; padding:70px 0 0; position:relative; overflow:hidden; }
.footer-glow{ position:absolute; top:-120px; left:50%; transform:translateX(-50%); width:600px; height:300px; background:radial-gradient(circle,var(--gold) 0%,transparent 70%); opacity:.08; }
.footer-brand{ display:flex; align-items:center; gap:.8rem; margin-bottom:1rem; }
.footer-logo{ height:50px; width:50px; border-radius:50%; background:var(--cream); padding:3px; object-fit:contain; }
.footer-brand h4{ color:var(--gold); font-size:1.1rem; margin:0; }
.footer-about{ font-size:.92rem; line-height:1.7; }
.footer-title{ color:#fff; font-size:1.05rem; margin-bottom:1.2rem; font-family:'Jost'; font-weight:600; position:relative; padding-bottom:.6rem; }
.footer-title::after{ content:''; position:absolute; left:0; bottom:0; width:34px; height:2px; background:var(--gold); }
.footer-links{ list-style:none; padding:0; margin:0; }
.footer-links li{ margin-bottom:.6rem; }
.footer-links a{ color:#cdbcc4; font-size:.93rem; }
.footer-links a i{ color:var(--gold); font-size:.75rem; margin-right:.3rem; }
.footer-links a:hover{ color:var(--gold); padding-left:5px; }
.footer-contact{ list-style:none; padding:0; margin:0; }
.footer-contact li{ display:flex; gap:.7rem; margin-bottom:1rem; font-size:.92rem; }
.footer-contact i{ color:var(--gold); font-size:1.05rem; margin-top:3px; }
.footer-contact a{ color:#cdbcc4; }
.footer-contact a:hover{ color:var(--gold); }
.footer-social a{
  display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%;
  background:rgba(224,165,46,.12); color:var(--gold); margin-right:.5rem; font-size:1rem;
}
.footer-social a:hover{ background:var(--gold); color:var(--maroon-deep); transform:translateY(-3px); }
.footer-divider{ border-color:rgba(224,165,46,.15); margin:2.5rem 0 1.2rem; }
.footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; padding-bottom:1.4rem; font-size:.85rem; }
.footer-bottom i{ color:var(--gold); }

/* ---------- Floating elements ---------- */
#backToTop{
  position:fixed; bottom:90px; right:24px; z-index:999; width:46px; height:46px; border-radius:50%;
  border:none; background:var(--maroon); color:var(--gold); font-size:1.1rem; box-shadow:var(--shadow);
  opacity:0; visibility:hidden; transition:.3s ease;
}
#backToTop.show{ opacity:1; visibility:visible; }
#backToTop:hover{ background:var(--gold); color:var(--maroon-deep); }
.float-whatsapp{
  position:fixed; bottom:24px; right:24px; z-index:999; width:54px; height:54px; border-radius:50%;
  background:#25D366; color:#fff; display:grid; place-items:center; font-size:1.6rem;
  box-shadow:0 8px 24px rgba(37,211,102,.5); animation:pulse 2.2s infinite;
}
.float-whatsapp:hover{ color:#fff; transform:scale(1.08); }
@keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(37,211,102,.5);} 70%{ box-shadow:0 0 0 16px rgba(37,211,102,0);} 100%{ box-shadow:0 0 0 0 rgba(37,211,102,0);} }

/* ---------- Responsive ---------- */
@media (max-width:991px){
  .main-nav{ background:var(--maroon-deep); }
  .navbar-collapse{ padding-top:1rem; }
  .btn-enquiry{ margin-top:.6rem; }
  .hero-slide{ height:78vh; }
  .who-badge{ right:10px; }
}
@media (max-width:767px){
  .section{ padding:64px 0; }
  .hero-text{ font-size:1rem; }
  .cta-band{ padding:2rem 1.4rem; text-align:center; }
  .footer-bottom{ justify-content:center; text-align:center; }
}
