/* ============================================================
   Theme — colours are driven by CSS variables set inline in the
   header from the tenant's settings (admin-editable).
   ============================================================ */
:root{
  --brand-primary:#0d6efd;
  --brand-secondary:#6610f2;
}

body{font-family:"Segoe UI",system-ui,-apple-system,sans-serif;color:#212529;}

/* Navbar */
.brand-nav{
  background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));
  box-shadow:0 2px 10px rgba(0,0,0,.15);
}
.brand-nav .nav-link{font-weight:500;}
.nav-spacer{height:62px;}

/* Buttons / text helpers */
.brand-btn{
  background:var(--brand-primary);
  border-color:var(--brand-primary);
  color:#fff;
}
.brand-btn:hover{filter:brightness(.92);color:#fff;}
.brand-text{color:var(--brand-primary);}

.section-title{
  font-weight:700;position:relative;display:inline-block;padding-bottom:.5rem;
}
.section-title::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:60px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));
}

/* Hero */
.hero-section{
  background:linear-gradient(120deg,var(--brand-primary),var(--brand-secondary));
  padding-top:1rem;
}
.hero-photo{
  border-radius:50%;max-width:340px;width:100%;
  border:8px solid rgba(255,255,255,.25);
  box-shadow:0 10px 40px rgba(0,0,0,.25);
}

/* About */
.achievement-box{background:#f8f9fa;border-radius:12px;border:1px solid #eee;}

/* Services */
.service-card{
  background:#fff;border-radius:14px;border:1px solid #eee;transition:.25s;
}
.service-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.1);}
.service-icon{
  font-size:2.4rem;width:72px;height:72px;line-height:72px;margin:0 auto;border-radius:50%;
  color:#fff;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));
}

/* Gallery */
.gallery-item{position:relative;overflow:hidden;border-radius:10px;}
.gallery-item img{width:100%;height:200px;object-fit:cover;transition:.35s;}
.gallery-item:hover img{transform:scale(1.08);}
.gallery-caption{
  position:absolute;left:0;right:0;bottom:0;padding:.4rem .6rem;font-size:.85rem;color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.7));
}

/* Testimonials */
.testimonial-card{max-width:680px;padding:1rem;}
.testimonial-photo{width:90px;height:90px;border-radius:50%;object-fit:cover;
  border:4px solid var(--brand-primary);}
#testiCarousel .carousel-control-prev-icon,
#testiCarousel .carousel-control-next-icon{filter:invert(1);}

/* Contact */
.contact-box{background:#fff;border:1px solid #eee;border-radius:14px;}
.contact-ic{font-size:2rem;color:var(--brand-primary);}

/* Register */
.register-card{border:1px solid #eee;}

/* Sticky register button */
.sticky-register{
  position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:1040;
  background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));
  color:#fff;padding:.7rem 1.6rem;border-radius:50px;font-weight:600;
  text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.3);
  animation:pulse 2s infinite;
}
.sticky-register:hover{color:#fff;filter:brightness(.95);}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(0,0,0,.25);}
  70%{box-shadow:0 0 0 14px rgba(0,0,0,0);}
  100%{box-shadow:0 0 0 0 rgba(0,0,0,0);}
}

/* Footer */
.brand-footer{
  background:linear-gradient(90deg,var(--brand-secondary),var(--brand-primary));
}

/* Admin */
.admin-sidebar{min-height:100vh;background:#1f2937;}
.admin-sidebar a{color:#cbd5e1;text-decoration:none;display:block;padding:.65rem 1rem;border-radius:8px;}
.admin-sidebar a:hover,.admin-sidebar a.active{background:#374151;color:#fff;}
.stat-card{border-radius:14px;border:none;color:#fff;}
