:root{
  --gh-blue:#7c3aed;
  --gh-blue-dark:#5b21b6;
  --gh-green:#10b981;
  --gh-green-dark:#059669;
  --gh-orange:#f59e0b;
  --gh-orange-dark:#d97706;
  --gh-dark:#20242c;
  --gh-purple:#c026d3;
  --gh-bg:#f7f3ff;
  --gh-card:#fff;
  --gh-text:#20242c;
  --gh-muted:#667085;
  --gh-border:#e6eaf0;
  --gh-shadow:0 12px 34px rgba(15,23,42,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:radial-gradient(circle at 10% 0%,rgba(139,92,246,.12),transparent 28%),radial-gradient(circle at 95% 18%,rgba(236,72,153,.10),transparent 24%),linear-gradient(180deg,#fbf9ff 0,#f3f0fa 100%)!important;
  color:var(--gh-text)!important;
  font-family:'Noto Sans Bengali','Segoe UI',sans-serif!important;
  overflow-x:hidden;
}
.container{max-width:1240px}
.topbar{
  background:linear-gradient(90deg,#5b21b6,#7c3aed,#c026d3)!important;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px!important;
  font-size:14px!important;
  letter-spacing:.1px;
}
.navbar-custom{
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(12px);
  box-shadow:0 4px 18px rgba(15,23,42,.08)!important;
  border-bottom:1px solid #edf0f5;
  padding:10px 0!important;
}
.navbar-brand{color:#172033!important;font-weight:800!important}
.navbar-custom .nav-link{color:#344054!important}
.navbar-custom .nav-link:hover{background:#eef4ff!important;color:var(--gh-blue)!important}
.logo-icon{background:linear-gradient(135deg,#7c3aed,#ec4899)!important;color:#fff!important}
.page-header,.page-banner,.header{
  background:
   radial-gradient(circle at 85% 15%,rgba(255,255,255,.22),transparent 28%),
   linear-gradient(135deg,#5b21b6 0%,#7c3aed 48%,#ec4899 100%)!important;
  padding:42px 18px 74px!important;
  color:#fff!important;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-header:after,.page-banner:after,.header:after{
  content:"";position:absolute;left:-8%;right:-8%;bottom:-52px;height:90px;
  background:var(--gh-bg);border-radius:50% 50% 0 0/100% 100% 0 0;
}
.page-header h1,.page-banner h1,.header h1{font-size:clamp(28px,5vw,46px)!important;font-weight:800!important;position:relative;z-index:1}
.page-header p,.page-banner p,.header p{font-size:17px;opacity:.92;position:relative;z-index:1}
.search-box,.filter-box,.main-card,.sidebar-card,.contact-box{
  background:var(--gh-card)!important;
  border:1px solid rgba(230,234,240,.9)!important;
  border-radius:22px!important;
  box-shadow:var(--gh-shadow)!important;
}
.search-box,.filter-box{padding:20px!important;margin-top:-46px!important;position:relative;z-index:8}
.form-control,.form-select,select.form-control{
  min-height:50px;border:1px solid #dfe4ec!important;border-radius:14px!important;
  padding:11px 15px!important;box-shadow:none!important;
}
.form-control:focus,.form-select:focus{border-color:var(--gh-blue)!important;box-shadow:0 0 0 4px rgba(23,105,246,.12)!important}
.section-title{
  color:#172033!important;font-size:clamp(22px,3vw,29px)!important;font-weight:800!important;
  display:flex;align-items:center;gap:10px;margin:0 0 18px!important;
}
.section-title i{color:var(--gh-blue)!important}
.category-card,.service-card{
  background:#fff!important;border:1px solid var(--gh-border)!important;border-radius:20px!important;
  padding:20px 15px!important;box-shadow:0 8px 22px rgba(15,23,42,.07)!important;
  height:100%;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease!important;
}
.category-card:before,.service-card:before{
  content:"";position:absolute;left:0;top:0;width:100%;height:5px;
  background:linear-gradient(90deg,#7c3aed,#ec4899);
}
.category-card:nth-child(4n+2):before,.row>div:nth-child(4n+2) .service-card:before{background:linear-gradient(90deg,#10b981,#34d399)}
.category-card:nth-child(4n+3):before,.row>div:nth-child(4n+3) .service-card:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.category-card:nth-child(4n+4):before,.row>div:nth-child(4n+4) .service-card:before{background:linear-gradient(90deg,#8b5cf6,#d946ef)}
.category-card:hover,.service-card:hover{transform:translateY(-6px)!important;box-shadow:0 18px 36px rgba(15,23,42,.13)!important}
.category-card i,.service-card>i{
  width:72px;height:72px;border-radius:18px;display:inline-flex!important;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#ede9fe,#fae8ff);color:#7c3aed!important;font-size:32px!important;margin:4px auto 14px!important;
}
.service-card img,.category-card img{
  width:78px!important;height:78px!important;object-fit:contain!important;border-radius:18px!important;
  padding:7px;background:#f8fafc;border:1px solid #e7ebf1;margin-bottom:14px!important;
}
.service-card h6,.category-card h6,.service-title{font-size:17px!important;line-height:1.55;font-weight:750!important;color:#172033!important}
.btn-theme,.btn-view,.btn-warning{
  background:linear-gradient(135deg,#5b21b6 0%,#7c3aed 48%,#ec4899 100%)!important;color:#fff!important;
  border:0!important;border-radius:12px!important;padding:10px 17px!important;font-weight:700!important;
  box-shadow:0 10px 22px rgba(124,58,237,.26);transition:.2s!important;
}
.btn-theme:hover,.btn-view:hover,.btn-warning:hover{transform:translateY(-2px);filter:brightness(.98);color:#fff!important}
.main-card{padding:26px!important;margin-top:-42px!important}
.service-logo,.sub-logo,.sub_service_logo{
  width:128px!important;height:128px!important;object-fit:contain!important;border-radius:24px!important;
  padding:8px;background:#fff;border:5px solid #fff!important;box-shadow:0 12px 28px rgba(15,23,42,.16)!important;
}
.service-banner-wrapper,.sub-banner-wrapper{margin:24px 0!important;padding:8px;background:#f8fafc;border:1px solid #e7ebf1;border-radius:20px}
.service-banner,.sub-banner{border-radius:15px!important;box-shadow:none!important;width:100%!important;height:auto!important;object-fit:contain!important}
.main-card .section-title,.detail-section h2{
  padding:16px 18px!important;border-radius:16px 16px 0 0!important;color:#fff!important;
  background:linear-gradient(135deg,#5b21b6 0%,#7c3aed 48%,#ec4899 100%)!important;
  margin:24px 0 0!important;font-size:21px!important;
}
.main-card .section-title i,.detail-section h2 i{color:#fff!important}
.main-card .section-title:nth-of-type(4n+2),.detail-section:nth-of-type(4n+2) h2{background:linear-gradient(135deg,var(--gh-green-dark),var(--gh-green))!important}
.main-card .section-title:nth-of-type(4n+3),.detail-section:nth-of-type(4n+3) h2{background:linear-gradient(135deg,var(--gh-orange-dark),var(--gh-orange))!important}
.main-card .section-title:nth-of-type(4n+4),.detail-section:nth-of-type(4n+4) h2{background:linear-gradient(135deg,#312e81,#6d28d9)!important}
.info-box{
  background:#fff!important;border:1px solid var(--gh-border)!important;border-left:1px solid var(--gh-border)!important;
  border-radius:0 0 16px 16px!important;padding:20px!important;margin:0 0 22px!important;
  box-shadow:0 7px 20px rgba(15,23,42,.06)!important;line-height:1.95!important;
}
.sidebar-card h5{color:#172033!important;border-bottom:2px solid #edf1f7;padding-bottom:12px}
.sidebar-link{border-radius:10px!important;border-bottom:0!important;margin-bottom:5px}
.sidebar-link:hover{background:#eef4ff!important;color:var(--gh-blue)!important}
.alert-warning{border:1px solid #f5d98e!important;background:#fff8df!important;color:#6d5312!important;border-radius:16px!important;padding:20px!important}
.pagination .page-link{border:0;margin:0 4px;border-radius:10px!important;color:#344054;box-shadow:0 3px 10px rgba(15,23,42,.06)}
.pagination .active .page-link{background:var(--gh-blue)!important}
.footer,.footer-main,footer[style]{background:linear-gradient(135deg,#3b0764,#6b21a8 52%,#be185d)!important;color:#fff!important}
.disclaimer{background:#2e1065!important}
.whatsapp-btn,a[href*="wa.me"][style*="position:fixed"]{bottom:22px!important;right:18px!important;box-shadow:0 10px 25px rgba(37,211,102,.35)!important}
@media(max-width:767px){
  .container{padding-left:16px!important;padding-right:16px!important}
  .page-header,.page-banner,.header{padding:34px 15px 64px!important}
  .main-card{padding:16px!important;border-radius:20px!important}
  .search-box,.filter-box{padding:14px!important;border-radius:18px!important}
  .category-card,.service-card{padding:15px 10px!important;border-radius:17px!important}
  .service-card img,.category-card img{width:66px!important;height:66px!important}
  .category-card i,.service-card>i{width:62px;height:62px;font-size:27px!important}
  .service-card h6,.category-card h6{font-size:14px!important}
  .btn-theme,.btn-view{font-size:13px!important;padding:8px 11px!important}
  .main-card .section-title,.detail-section h2{font-size:18px!important;padding:14px!important}
  .info-box{font-size:15px;padding:16px!important}
  .service-logo,.sub-logo{width:105px!important;height:105px!important}
}


/* Premium Admin purple-pink theme refinement */
.page-header,.page-banner,.header{
  border-radius:0 0 34px 34px;
  box-shadow:0 22px 55px rgba(109,40,217,.22);
}
.page-header:before,.page-banner:before,.header:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.28),transparent 25%),
             radial-gradient(circle at 18% 92%,rgba(255,255,255,.14),transparent 30%);
}
.category-card,.service-card,.main-card,.sidebar-card,.search-box,.filter-box{
  box-shadow:0 14px 38px rgba(88,28,135,.10)!important;
}
.category-card:hover,.service-card:hover{
  box-shadow:0 22px 46px rgba(124,58,237,.18)!important;
}
.btn-theme,.btn-view,.btn-warning{
  background:linear-gradient(135deg,#6d28d9 0%,#8b5cf6 48%,#ec4899 100%)!important;
}
.main-card .section-title,.detail-section h2{
  background:linear-gradient(135deg,#5b21b6 0%,#8b5cf6 50%,#ec4899 100%)!important;
}
.main-card .section-title:nth-of-type(4n+2),.detail-section:nth-of-type(4n+2) h2{
  background:linear-gradient(135deg,#059669,#10b981,#34d399)!important;
}
.main-card .section-title:nth-of-type(4n+3),.detail-section:nth-of-type(4n+3) h2{
  background:linear-gradient(135deg,#d97706,#f59e0b,#fbbf24)!important;
}
.main-card .section-title:nth-of-type(4n+4),.detail-section:nth-of-type(4n+4) h2{
  background:linear-gradient(135deg,#312e81,#6d28d9,#a21caf)!important;
}
@media(max-width:767px){
  .page-header,.page-banner,.header{border-radius:0 0 26px 26px}
}
