/* ============================================================
   EXTRA STYLES — Shared across all pages
   Pandey Moorti Art — pandeymoortiarts.com
   ============================================================ */


/* ───────────────────────────────────────────────
   HERO SLIDER
─────────────────────────────────────────────── */
.hero-slider {
  position:relative;
  min-height:100vh;
  background:linear-gradient(135deg,#0a0a1a 0%,#0f1a35 40%,#1a0a0a 100%);
  overflow:hidden;
  display:flex;
  align-items:center;
}
/* Animated mandala BG */
.hero-slider::before {
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 50%, rgba(30,64,175,0.18) 0%, transparent 70%);
  animation:heroPulse 6s ease-in-out infinite alternate;
}
@keyframes heroPulse {
  from{opacity:.5} to{opacity:1}
}

.hero-slide {
  position:absolute;inset:0;
  display:flex;align-items:center;
  opacity:0;transition:opacity .8s ease;
  pointer-events:none;
}
.hero-slide.active {opacity:1;pointer-events:auto;}

.hero-text-col {
  flex:0 0 50%;
  padding:0 5% 0 6%;
  z-index:2;
}
.hero-badge {
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Cinzel',serif;font-size:.65rem;
  letter-spacing:.25em;text-transform:uppercase;
  color:#93c5fd;border:1px solid rgba(147,197,253,.3);
  padding:.45rem 1.1rem;border-radius:2rem;margin-bottom:1.4rem;
}
.hero-slide h1 {
  font-family:'Marcellus',serif;
  font-size:clamp(2.2rem,4.5vw,4rem);
  color:#fff;line-height:1.15;
  margin:0 0 .8rem;
}
.hero-slide h1 em {
  font-style:italic;color:#60a5fa;
}
.hero-slide p {
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;color:rgba(255,255,255,.75);
  font-style:italic;line-height:1.6;
  margin-bottom:2rem;max-width:480px;
}
.hero-btns {display:flex;gap:1rem;flex-wrap:wrap;}

/* Floating murti image */
.hero-img-col {
  flex:0 0 50%;
  display:flex;align-items:center;justify-content:center;
  position:relative;height:100vh;
  /* NO overflow:hidden — lets transparent PNG murtis show fully */
}
.hero-img-col {
  flex: 0 0 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100vh;
  /* Glow halo behind murti */
  background: transparent;
}
.hero-img-col::before {
  content: '';
  position: absolute;
  width: 460px; height: 460px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(59,130,246,.18) 0%, transparent 70%);
  top: 50%; left: 50%; transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
}
.hero-murti {
  position: relative;
  z-index: 2;
  max-height: 86vh;
  max-width: 88%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  /* IMPORTANT: mix-blend-mode makes the PNG transparent bg merge with dark hero */
  mix-blend-mode: lighten;
  filter:
    drop-shadow(0 0 50px rgba(96,165,250,.5))
    drop-shadow(0 30px 50px rgba(30,64,175,.35));
  animation: floatMurti 5s ease-in-out infinite alternate;
  transform-origin: bottom center;
  /* Ensure no background box */
  background: transparent !important;
}
@keyframes floatMurti {
  from{transform:translateY(0) scale(1)}
  to{transform:translateY(-18px) scale(1.02)}
}

/* Slider controls */
.slider-nav {
  position:absolute;bottom:2.5rem;left:6%;
  display:flex;gap:.7rem;z-index:10;
}
.slider-dot {
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,.3);cursor:pointer;
  transition:all .3s;border:none;padding:0;
}
.slider-dot.active {
  background:#60a5fa;
  width:28px;border-radius:4px;
}

/* Slide-in arrow */
.slider-arrows {
  position:absolute;right:2rem;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:.5rem;z-index:10;
}
.s-arrow {
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:#fff;font-size:1.1rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.s-arrow:hover{background:rgba(96,165,250,.3);}

/* Scrolling ticker */
.ticker-bar {
  background:var(--blue);
  padding:.55rem 0;overflow:hidden;white-space:nowrap;
}
.ticker-inner {
  display:inline-block;
  animation:ticker 28s linear infinite;
  font-family:'Cinzel',serif;font-size:.65rem;
  letter-spacing:.2em;text-transform:uppercase;
  color:#fff;
}
@keyframes ticker {
  from{transform:translateX(100vw)}
  to{transform:translateX(-100%)}
}

/* ───────────────────────────────────────────────
   STATS BAR
─────────────────────────────────────────────── */
.stats-bar {
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:2.2rem 2rem;
}
.stats-bar-inner {
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1rem;text-align:center;
}
.stat-item {}
.stat-num {
  font-family:'Cinzel',serif;font-size:2.2rem;
  color:var(--blue);font-weight:700;line-height:1;
}
.stat-lbl {
  font-family:'Cormorant Garamond',serif;
  font-size:.95rem;color:var(--ink-soft);
  font-style:italic;margin-top:.3rem;
}
@media(max-width:600px){
  .stats-bar-inner{grid-template-columns:repeat(2,1fr);}
}

/* ───────────────────────────────────────────────
   FEATURED PRODUCTS GRID
─────────────────────────────────────────────── */
.fp-grid {
  max-width:1200px;margin:0 auto;
  padding:0 1.5rem 2rem;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1.5rem;
}
.fp-card {
  border:1px solid var(--line);border-radius:10px;
  overflow:hidden;background:#fff;
  box-shadow:0 2px 12px rgba(15,42,107,.07);
  transition:transform .3s,box-shadow .3s;
  cursor:pointer;
}
.fp-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(15,42,107,.15);}
.fp-img {
  width:100%;aspect-ratio:1/1;object-fit:cover;
  background:#0a0a1a;display:block;
  transition:transform .5s;
}
.fp-card:hover .fp-img{transform:scale(1.04);}
.fp-body{padding:1rem 1.2rem 1.3rem;}
.fp-title{font-family:'Marcellus',serif;font-size:1.05rem;color:var(--black);margin:0 0 .2rem;}
.fp-meta{font-family:'Cormorant Garamond',serif;font-size:.9rem;color:var(--ink-soft);font-style:italic;}
.fp-link {
  display:inline-block;margin-top:.7rem;
  font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--blue);
  border-bottom:1px solid rgba(30,64,175,.3);text-decoration:none;
}

/* ───────────────────────────────────────────────
   ABOUT / WHY US
─────────────────────────────────────────────── */
.about-split {
  max-width:1100px;margin:0 auto;
  padding:0 1.5rem 4rem;
  display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;
}
.about-split img {
  width:100%;border-radius:10px;
  box-shadow:0 20px 60px rgba(15,42,107,.15);
}
.why-list-items li {
  display:flex;gap:1rem;align-items:flex-start;
  margin-bottom:1.2rem;
  font-family:'Cormorant Garamond',serif;font-size:1.1rem;
  color:var(--ink);
}
.why-bullet {
  width:28px;height:28px;border-radius:50%;
  background:var(--blue);color:#fff;
  font-family:'Cinzel',serif;font-size:.7rem;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:2px;
}
@media(max-width:768px){
  .about-split{grid-template-columns:1fr;}
  .hero-text-col,.hero-img-col{flex:0 0 100%;}
  .hero-img-col{display:none;}
}

/* ───────────────────────────────────────────────
   SERVICES STRIP
─────────────────────────────────────────────── */
.services-grid {
  max-width:1200px;margin:0 auto;
  padding:0 1.5rem 4rem;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:1rem;
}
.svc-card {
  background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:1.4rem 1rem;text-align:center;
  transition:box-shadow .25s,border-color .25s;
  text-decoration:none;
}
.svc-card:hover{box-shadow:0 8px 24px rgba(15,42,107,.1);border-color:var(--blue);}
.svc-icon{font-size:1.8rem;line-height:1;margin-bottom:.5rem;}
.svc-name{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-top:.3rem;}

/* ───────────────────────────────────────────────
   TESTIMONIALS
─────────────────────────────────────────────── */
.testi-grid {
  max-width:1100px;margin:0 auto;
  padding:0 1.5rem 4rem;
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
}
.testi-card {
  background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:1.8rem 1.5rem;
}
.testi-stars{color:#f59e0b;font-size:1rem;letter-spacing:.15rem;margin-bottom:.8rem;}
.testi-text{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.1rem;color:var(--ink);line-height:1.6;margin-bottom:1rem;}
.testi-name{font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);}
.testi-loc{font-family:'Cormorant Garamond',serif;font-size:.9rem;color:var(--ink-soft);}
@media(max-width:768px){.testi-grid{grid-template-columns:1fr;}}

/* ───────────────────────────────────────────────
   FOOTER MEGA
─────────────────────────────────────────────── */
.footer-mega {
  background:#0d1228;color:rgba(255,255,255,.85);
  padding:4rem 2rem 0;
}
.footer-mega-inner {
  max-width:1200px;margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1.2fr 1.2fr 1.4fr;
  gap:3rem;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.fm-brand .logo-mark {
  font-family:'Tiro Devanagari Hindi',serif;
  font-size:2rem;color:#60a5fa;margin-bottom:.6rem;display:block;
}
.fm-brand h3 {
  font-family:'Cinzel',serif;font-size:1.1rem;
  letter-spacing:.12em;color:#fff;text-transform:uppercase;margin:0 0 .4rem;
}
.fm-brand p {
  font-family:'Cormorant Garamond',serif;
  font-size:.95rem;font-style:italic;color:rgba(255,255,255,.6);
  line-height:1.6;margin:.8rem 0 1.2rem;
}
.fm-social {display:flex;gap:.6rem;margin-top:.8rem;}
.fm-social a {
  width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;color:rgba(255,255,255,.7);text-decoration:none;
  transition:all .2s;
}
.fm-social a:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff;}

.fm-col h4 {
  font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.2em;
  text-transform:uppercase;color:#93c5fd;
  margin:0 0 1.2rem;padding-bottom:.6rem;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.fm-col ul{list-style:none;padding:0;margin:0;}
.fm-col ul li{margin-bottom:.5rem;}
.fm-col ul li a {
  font-family:'Cormorant Garamond',serif;font-size:.98rem;
  color:rgba(255,255,255,.65);text-decoration:none;
  transition:color .2s;display:flex;align-items:center;gap:.4rem;
}
.fm-col ul li a::before{content:'→';font-size:.7rem;color:#3b82f6;}
.fm-col ul li a:hover{color:#93c5fd;}

.fm-contact-item {
  display:flex;gap:.8rem;align-items:flex-start;
  margin-bottom:1rem;
}
.fm-contact-icon {
  width:32px;height:32px;border-radius:6px;
  background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.25);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;flex-shrink:0;margin-top:2px;
}
.fm-contact-item p{
  font-family:'Cormorant Garamond',serif;
  font-size:.95rem;color:rgba(255,255,255,.7);
  margin:0;line-height:1.5;
}
.fm-contact-item a{color:#93c5fd;text-decoration:none;}
.fm-contact-item a:hover{text-decoration:underline;}

/* Mini map */
.footer-map {
  max-width:1200px;margin:0 auto;
  padding:2rem 0 0;
  display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:start;
}
.footer-map-embed {
  width:100%;height:220px;border:0;
  border-radius:8px;filter:invert(.05) hue-rotate(180deg) saturate(.8) brightness(.85);
}
.footer-map-info h4 {
  font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.15em;
  text-transform:uppercase;color:#93c5fd;margin:0 0 .8rem;
}
.footer-map-info p {
  font-family:'Cormorant Garamond',serif;font-size:.97rem;
  color:rgba(255,255,255,.65);line-height:1.6;margin-bottom:.6rem;
}
.footer-map-info .hours-row {
  display:flex;justify-content:space-between;
  font-family:'Cormorant Garamond',serif;font-size:.9rem;
  color:rgba(255,255,255,.5);
  border-top:1px solid rgba(255,255,255,.08);
  padding:.35rem 0;
}
@media(max-width:900px){
  .footer-mega-inner{grid-template-columns:1fr 1fr;}
  .footer-map{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .footer-mega-inner{grid-template-columns:1fr;}
}

.footer-bottom-bar {
  background:#080d1e;
  padding:1.2rem 2rem;
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-size:.9rem;color:rgba(255,255,255,.4);
}
.footer-bottom-bar a{color:rgba(255,255,255,.55);text-decoration:none;}
.footer-bottom-bar a:hover{color:#93c5fd;}

/* CTA Banner */
.cta-strip {
  background:linear-gradient(135deg,#0f2a6b 0%,#1e40af 100%);
  padding:4rem 2rem;text-align:center;
}
.cta-strip h2 {
  font-family:'Marcellus',serif;font-size:2.2rem;color:#fff;margin-bottom:.8rem;
}
.cta-strip p {
  font-family:'Cormorant Garamond',serif;font-size:1.15rem;
  color:rgba(255,255,255,.8);font-style:italic;margin-bottom:1.8rem;
  max-width:600px;margin-left:auto;margin-right:auto;
}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.btn-white {
  font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  background:#fff;color:var(--blue);padding:1rem 2rem;border-radius:2px;
  text-decoration:none;transition:all .2s;
}
.btn-white:hover{background:#eff4fb;}
.btn-outline-white {
  font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  background:transparent;color:#fff;padding:1rem 2rem;border-radius:2px;
  border:1px solid rgba(255,255,255,.5);text-decoration:none;transition:all .2s;
}
.btn-outline-white:hover{background:rgba(255,255,255,.1);}

/* Whatsapp float */
.wa-float {
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:500;
  width:54px;height:54px;border-radius:50%;
  background:#25d366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  text-decoration:none;font-size:1.6rem;
  animation:waPop 2s ease-in-out infinite;
}
@keyframes waPop{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

/* ───────────────────────────────────────────────
   VIDEO SECTIONS
─────────────────────────────────────────────── */
.video-section {
  padding:5rem 2rem;
}
.video-section-inner {
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:3rem;align-items:center;
}
.video-section-inner.reverse {direction:rtl;}
.video-section-inner.reverse > * {direction:ltr;}

.video-wrap {
  position:relative;
  border-radius:12px;overflow:hidden;
  box-shadow:0 24px 64px rgba(15,42,107,.18);
  background:#0a0a1a;
  aspect-ratio:16/9;
}
.video-wrap video,
.video-wrap iframe {
  width:100%;height:100%;border:0;display:block;
  border-radius:12px;
}
/* Placeholder shown before video is added */
.video-placeholder {
  width:100%;height:100%;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:1rem;
  background:linear-gradient(135deg,#0f1a35,#1a0a2e);
  border:2px dashed rgba(96,165,250,.35);
  border-radius:12px;cursor:pointer;
  text-align:center;padding:2rem;
}
.video-placeholder .play-icon {
  width:64px;height:64px;border-radius:50%;
  background:rgba(96,165,250,.2);border:2px solid rgba(96,165,250,.4);
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;
}
.video-placeholder p {
  font-family:'Cormorant Garamond',serif;
  color:rgba(255,255,255,.6);font-size:1rem;font-style:italic;margin:0;
}
.video-placeholder span {
  font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.15em;
  text-transform:uppercase;color:#60a5fa;
}

.video-text {}
.video-tag {
  display:inline-block;
  font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--blue);
  border:1px solid rgba(30,64,175,.3);
  padding:.35rem 1rem;border-radius:2rem;margin-bottom:1rem;
}
.video-text h2 {
  font-family:'Marcellus',serif;
  font-size:clamp(1.6rem,3vw,2.5rem);
  color:var(--black);line-height:1.2;
  margin:0 0 1rem;
}
.video-text h2 em {color:var(--blue);font-style:italic;}
.video-text p {
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;color:var(--ink-soft);
  font-style:italic;line-height:1.65;
  margin-bottom:1.5rem;
}
.how-to-change {
  background:var(--pale-blue);
  border-left:3px solid var(--blue);
  padding:.8rem 1rem;
  border-radius:0 6px 6px 0;
  font-family:'Cormorant Garamond',serif;
  font-size:.9rem;color:var(--ink-soft);
  margin-top:1.2rem;
}
.how-to-change code {
  background:rgba(30,64,175,.1);padding:.1rem .3rem;border-radius:3px;
  font-size:.8rem;color:var(--blue-deep);
}

@media(max-width:768px) {
  .video-section-inner,
  .video-section-inner.reverse { grid-template-columns:1fr; direction:ltr; }
}


/* ───────────────────────────────────────────────
   VIDEO CAROUSEL
─────────────────────────────────────────────── */
.vcarousel-outer {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 4rem;
  overflow: hidden;
}
.vcarousel-track {
  display: flex;
  gap: 1.5rem;
  transition: transform .45s cubic-bezier(.25,.46,.45,.94);
  cursor: grab;
  user-select: none;
}
.vcarousel-track.dragging { cursor: grabbing; transition: none; }

.vc-slide {
  flex: 0 0 calc(33.333% - 1rem);
  min-width: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 4px 20px rgba(15,42,107,.08);
  transition: box-shadow .3s, transform .3s;
}
.vc-slide:hover {
  box-shadow: 0 12px 40px rgba(15,42,107,.15);
  transform: translateY(-4px);
}

/* Thumb + play overlay */
.vc-thumb {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #0a0a1a;
  cursor: pointer;
}
.vc-poster {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s, opacity .3s;
}
.vc-thumb:hover .vc-poster { transform: scale(1.04); opacity: .85; }

.vc-play-btn {
  position: absolute;
  inset: 0;
  display: flex; align-items: center; justify-content: center;
  z-index: 3;
  pointer-events: none;
}
.vc-play-btn span {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
  transition: transform .2s;
  padding-left: 4px; /* optical centering for ▶ */
}
.vc-thumb:hover .vc-play-btn span { transform: scale(1.12); }

/* iframe fills the thumb once loaded */
.vc-iframe-wrap {
  position: absolute; inset: 0; z-index: 5;
}
.vc-iframe-wrap iframe {
  width: 100%; height: 100%; border: 0; display: block;
}

.vc-info {
  padding: .9rem 1.1rem 1.1rem;
}
.vc-title {
  font-family: 'Marcellus', serif;
  font-size: 1rem; color: var(--black);
  margin-bottom: .2rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.vc-sub {
  font-family: 'Cormorant Garamond', serif;
  font-size: .88rem; color: var(--ink-soft); font-style: italic;
}

/* Arrows */
.vc-arrow {
  position: absolute; top: 38%;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 4px 16px rgba(15,42,107,.12);
  font-size: 1.2rem; color: var(--blue);
  cursor: pointer; z-index: 10;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, box-shadow .2s;
}
.vc-arrow:hover { background: var(--blue); color: #fff; box-shadow: 0 6px 20px rgba(30,64,175,.3); }
.vc-prev { left: .5rem; }
.vc-next { right: .5rem; }
.vc-arrow:disabled { opacity: .35; cursor: default; }

/* Dots */
.vc-dots {
  display: flex; justify-content: center; gap: .5rem;
  margin-top: 1.8rem;
}
.vc-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(15,42,107,.2); border: none; cursor: pointer;
  transition: all .25s; padding: 0;
}
.vc-dot.active { background: var(--blue); width: 24px; border-radius: 4px; }

@media (max-width: 900px) {
  .vc-slide { flex: 0 0 calc(50% - .75rem); }
  .vcarousel-outer { padding: 0 3rem; }
}
@media (max-width: 600px) {
  .vc-slide { flex: 0 0 calc(90% - .5rem); }
  .vcarousel-outer { padding: 0 2.5rem; }
}

