/* ==========================================================================
   Magic Show Magician for Party Pune — custom styles (Bootstrap 5 build)
   Colors: Gold #ffd700 | Purple #6a0dad | Red #ff3b3b | Cyan #00c2ff
   ========================================================================== */

:root{
  --bg:            #111111;
  --bg-dark:       #0d0d1a;
  --gold:          #ffd700;
  --gold-light:    #ffec60;
  --purple:        #6a0dad;
  --red:           #ff3b3b;
  --cyan:          #00c2ff;
  --font-body:     'Poppins', sans-serif;
  --font-serif:    'Cinzel', serif;
}

body{
  background-color: var(--bg);
  font-family: var(--font-body);
  color: #e5e5e5;
  overflow-x: hidden;
}

h1, h2, h3, h4, .font-serif{
  font-family: var(--font-serif);
}

a{ text-decoration: none; }

::selection{ background: var(--gold); color:#000; }

/* ---------- backgrounds & sections ---------- */
.stage-bg{
  background:
    radial-gradient(at top, rgba(106,13,173,0.25) 0%, transparent 60%),
    radial-gradient(at 100% 100%, rgba(255,59,59,0.10) 0%, transparent 50%),
    #111111;
}

.bg-gradient-dark{
  background: linear-gradient(to bottom, var(--bg), var(--bg-dark));
}

.section-pad{ padding: 3rem 0; }
@media (min-width: 768px){
  .section-pad{ padding: 5rem 0; }
}

/* ---------- header / navbar ---------- */
.site-header{
  /* position: fixed; */
  top: 0; left: 0; right: 0;
  z-index: 1050;
  background: linear-gradient(135deg, #0d001a 0%, #1a0030 50%, #0d001a 100%);
}

.navbar-brand-title{
  color: var(--gold);
  letter-spacing: .12em;
  text-shadow: 0 0 18px rgba(255,215,0,.9), 0 0 36px rgba(255,215,0,.5);
  font-weight: 700;
}

.navbar-brand-sub{
  color: #fff;
  letter-spacing: .18em;
  font-size: .72rem;
  font-weight: 600;
  padding-left: 30px;
}

.nav-link-glow{
  color: #e0e0e0 !important;
  font-weight: 500;
  position: relative;
  transition: color .2s ease;
}
.nav-link-glow::after{
  content:"";
  position:absolute; left:0; bottom:-2px;
  width:0; height:1px; background: var(--gold);
  transition: width .3s ease;
}
.nav-link-glow:hover{ color: var(--gold) !important; }
.nav-link-glow:hover::after{ width:100%; }

.btn-gold{
  background-color: var(--gold);
  color: #111 !important;
  font-weight: 700;
  border-radius: 50rem;
  border: none;
  transition: background-color .2s ease;
}
.btn-gold:hover{ background-color: var(--gold-light); color:#111; }

.btn-outline-gold{
  border: 2px solid var(--gold);
  color: #fff;
  border-radius: 50rem;
  font-weight: 700;
  background: transparent;
  transition: background-color .2s ease;
}
.btn-outline-gold:hover{ background: rgba(106,13,173,.2); color:#fff; }

.btn-outline-cyan{
  border: 2px solid var(--cyan);
  color: #fff;
  border-radius: 50rem;
  font-weight: 700;
  background: transparent;
  transition: background-color .2s ease;
}
.btn-outline-cyan:hover{ background: rgba(0,194,255,.2); color:#fff; }

/* pulse glow animation on CTA buttons */
.pulse-glow-anim{ animation: pulse-glow 2s ease-in-out infinite; }
@keyframes pulse-glow{
  0%, 100% { box-shadow: 0 0 15px rgba(255,215,0,.4); }
  50%      { box-shadow: 0 0 35px rgba(255,215,0,.8), 0 0 60px rgba(255,215,0,.4); }
}

/* ---------- hero ---------- */
.hero-badge{
  background: rgba(106,13,173,.3);
  border: 1px solid rgba(255,215,0,.5);
  color: var(--gold);
  border-radius: 50rem;
  padding: .5rem 1rem;
  font-weight: 600;
  display: inline-block;
}

.hero-img-frame{ position: relative; }
.hero-img-frame::before{
  content:"";
  position:absolute; inset:-1.25rem;
  background: linear-gradient(90deg, rgba(106,13,173,.3), rgba(255,215,0,.2), rgba(255,59,59,.2));
  border-radius: 1.25rem;
  filter: blur(28px);
  z-index: 0;
}
.hero-img-frame img{
  position: relative;
  z-index: 1;
  border: 1px solid rgba(106,13,173,.3);
  border-radius: 1rem;
}

.stat-number{ font-size: 2.2rem; font-weight: 700; }
@media (min-width: 768px){ .stat-number{ font-size: 2.6rem; } }

/* ---------- cards ---------- */
.card-magic{
  background: linear-gradient(135deg, rgba(26,26,46,.9) 0%, rgba(30,10,50,.9) 100%);
  border: 1px solid rgba(106,13,173,.3);
  border-radius: 1rem;
  padding: 2rem;
  height: 100%;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.card-magic:hover{
  border-color: rgba(255,215,0,.6);
  box-shadow: 0 0 25px rgba(255,215,0,.15);
}
.card-icon{
  font-size: 2.75rem;
  margin-bottom: 1rem;
  display: inline-block;
  transition: transform .3s ease;
}
.card-magic:hover .card-icon{ transform: scale(1.1); }

.why-card{
  background: linear-gradient(135deg, rgba(106,13,173,.10) 0%, #1a1a2e 60%, rgba(255,59,59,.05) 100%);
  border: 1px solid rgba(106,13,173,.2);
  border-radius: 1rem;
  padding: 2rem;
  height: 100%;
  transition: border-color .3s ease;
}
.why-card:hover{ border-color: rgba(255,215,0,.4); }

.area-card{
  background: linear-gradient(135deg, rgba(255,215,0,.2), transparent);
  border: 1px solid rgba(255,215,0,.3);
  border-radius: .75rem;
  padding: 1.25rem;
  text-align: center;
  transition: border-color .3s ease;
}
.area-card:hover{ border-color: rgba(255,215,0,.6); }
.area-card:hover .bi{ transform: scale(1.1); }
.area-card .bi{ color: var(--gold); font-size: 1.5rem; transition: transform .3s ease; }

/* ---------- gallery ---------- */
.gallery-item{
  position: relative;
  border-radius: .75rem;
  overflow: hidden;
  border: 1px solid rgba(106,13,173,.3);
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
}
.gallery-item img{
  width: 100%;
  height: 16rem;
  object-fit: cover;
  transition: transform .3s ease;
}
.gallery-item:hover img{ transform: scale(1.1); }
.gallery-overlay{
  position: absolute; inset:0;
  background: rgba(0,0,0,.4);
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transition: opacity .3s ease;
}
.gallery-item:hover .gallery-overlay{ opacity: 1; }
.gallery-overlay i{ font-size: 3rem; color:#fff; }

/* ---------- testimonials ---------- */
.stars i{ color: var(--gold); font-size: .95rem; }
.testimonial-avatar{
  width: 44px; height: 44px; object-fit: cover; border-radius: 50%;
}

/* ---------- contact ---------- */
.contact-icon{ color: var(--gold); }
.form-control-magic{
  background: rgba(17,17,17,.5);
  border: 1px solid rgba(106,13,173,.3);
  color: #fff;
  border-radius: .5rem;
}
.form-control-magic:focus{
  background: rgba(17,17,17,.5);
  color: #fff;
  border-color: rgba(255,215,0,.6);
  box-shadow: none;
}
.form-control-magic::placeholder{ color: #6b7280; }

/* ---------- floating action buttons ---------- */
.fab-stack{
  position: fixed;
  bottom: 1.5rem; right: 1.5rem;
  z-index: 1040;
  display: flex; flex-direction: column; gap: .75rem;
}
.fab{
  width: 56px; height: 56px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  font-size: 1.5rem;
  box-shadow: 0 6px 16px rgba(0,0,0,.4);
  transition: transform .2s ease, background-color .2s ease;
}
.fab:hover{ transform: scale(1.1); }
.fab-whatsapp{ background-color: #25d366; }
.fab-whatsapp:hover{ background-color: #1ebe57; color:#fff; }
.fab-call{ background-color: var(--gold); color:#111; }
.fab-call:hover{ background-color: var(--gold-light); color:#111; }

/* ---------- footer & social icons ---------- */
.site-footer{
  background: var(--bg-dark);
  border-top: 1px solid rgba(106,13,173,.2);
  padding: 2.5rem 0;
}

.social-icons{
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.social-icons a{
  width: 46px; height: 46px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(106,13,173,.15);
  border: 1px solid rgba(255,215,0,.35);
  color: var(--gold);
  font-size: 1.2rem;
  transition: all .25s ease;
}
.social-icons a:hover{
  background: var(--gold);
  color: #111;
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(255,215,0,.35);
}
.social-icons a.facebook:hover{ background:#1877f2; color:#fff; box-shadow:0 6px 16px rgba(24,119,242,.4); }
.social-icons a.instagram:hover{ background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); color:#fff; }
.social-icons a.youtube:hover{ background:#ff0000; color:#fff; box-shadow:0 6px 16px rgba(255,0,0,.4); }
.social-icons a.whatsapp:hover{ background:#25d366; color:#fff; box-shadow:0 6px 16px rgba(37,211,102,.4); }
.social-icons a.twitter:hover{ background:#000; color:#fff; }

/* ---------- utility ---------- */
.text-gold{ color: var(--gold) !important; }
.text-purple{ color: var(--purple) !important; }
.text-red{ color: var(--red) !important; }
.text-cyan{ color: var(--cyan) !important; }
.cu-lgimg{
	width:150px;
}
.cu-mt-78{

}
#cu-bnre{
	padding-top:90px; padding-bottom:60px; min-height:750px;
}
#enu-st{
	    background-color: var(--gold);
    color: #111 !important;
    font-weight: 700;
    border-radius: 50rem;
    border: none;
    transition: background-color .2s ease;
	display:block;
	width:100%;
}
@media(max-width:767px)
{
	section{
		overflow-x:hidden
	}
	footer {
		overflow-x:hidden
	}
}
