
:root{
  --cb-primary:#0b5ed7;
  --cb-primary-dark:#073b86;
  --cb-accent:#14b8d4;
  --cb-dark:#102033;
  --cb-muted:#667085;
  --cb-soft:#f5f9ff;
  --cb-border:#e7eef8;
}
body.index-page{background:#ffffff;color:#26364a;}
.header{box-shadow:0 10px 30px rgba(16,32,51,.08);}
.header .branding{min-height:82px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);}
.logo img{filter:drop-shadow(0 8px 18px rgba(11,94,215,.14));}
.navmenu ul{gap:6px;align-items:center;}
.navmenu a,.navmenu a:focus{border-radius:999px;padding:10px 15px!important;font-weight:600;color:#22324a;transition:.25s ease;}
.navmenu a:hover,.navmenu .active,.navmenu .active:focus{background:linear-gradient(135deg,var(--cb-primary),var(--cb-accent));color:#fff!important;box-shadow:0 10px 22px rgba(11,94,215,.24);}
.navmenu .dropdown ul{border:0;border-radius:18px;padding:12px;box-shadow:0 18px 45px rgba(16,32,51,.16);}
.navmenu .dropdown ul a{border-radius:12px;color:#22324a!important;}
.hero{background:linear-gradient(180deg,#eef7ff 0,#fff 100%);padding-top:0;}
.hero .carousel-item{min-height:78vh;position:relative;overflow:hidden;}
.hero .carousel-item:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,28,58,.42),rgba(5,28,58,.06));pointer-events:none;}
.hero .carousel-item img{width:100%;height:78vh;object-fit:cover;object-position:center;filter:saturate(1.05) contrast(1.03);}
.section{padding:76px 0;}
.section-title h2{font-size:34px;font-weight:800;color:var(--cb-dark);letter-spacing:-.8px;}
.section-title h2:after{width:72px;height:4px;border-radius:10px;background:linear-gradient(90deg,var(--cb-primary),var(--cb-accent));}
.section-title p{max-width:850px;margin:auto;color:var(--cb-muted);line-height:1.8;}
.about .img-fluid{border-radius:26px;box-shadow:0 22px 55px rgba(16,32,51,.14);}
.about .content{background:#fff;border:1px solid var(--cb-border);border-radius:26px;padding:32px;box-shadow:0 18px 45px rgba(16,32,51,.08);}
.about .content h3{font-weight:800;color:var(--cb-dark);line-height:1.35;}
.about .content p{color:#4b5b70;line-height:1.9;font-size:16px;}
.call-to-action{background:linear-gradient(135deg,#08316f,#0b5ed7 55%,#12a9cc)!important;color:#fff;position:relative;overflow:hidden;}
.call-to-action:before{content:"";position:absolute;inset:-120px -80px auto auto;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12);}
.cb-section-heading{text-align:center;margin-bottom:32px;font-weight:800;color:#fff;letter-spacing:-.4px;}
.cb-course-card{border:0;border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(5,28,58,.18);transition:.25s ease;background:#fff;}
.cb-course-card:hover{transform:translateY(-7px);box-shadow:0 25px 60px rgba(5,28,58,.24);}
.cb-course-card .card-img-top{height:230px;object-fit:cover;}
.cb-course-card .card-body{padding:24px;}
.cb-course-card .card-title{font-weight:800;color:var(--cb-dark);font-size:22px;margin-bottom:14px;}
.cb-meta{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;color:#435268!important;line-height:1.55;}
.cb-meta i{color:var(--cb-primary);margin-top:3px;}
.cb-course-card .btn-primary,.php-email-form button[type=submit],.btn-primary{border:0;border-radius:999px;background:linear-gradient(135deg,var(--cb-primary),var(--cb-accent));padding:11px 24px;font-weight:700;box-shadow:0 12px 24px rgba(11,94,215,.22);}
.doctors.light-background{background:var(--cb-soft)!important;}
.team-member{border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--cb-border);box-shadow:0 14px 35px rgba(16,32,51,.08);transition:.25s ease;width:100%;}
.team-member:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(16,32,51,.13);}
.team-member .member-img img{height:280px!important;object-fit:cover;width:100%;}
.team-member .member-info{padding:20px;}
.team-member .member-info h4{font-weight:800;color:var(--cb-dark);}
.gallery .swiper-slide{border-radius:22px;overflow:hidden;box-shadow:0 16px 38px rgba(16,32,51,.14);background:#fff;}
.gallery .swiper-slide img{height:240px;width:100%;object-fit:cover;transition:.25s ease;}
.gallery .swiper-slide:hover img{transform:scale(1.04);}
.service-item{border:1px solid var(--cb-border)!important;border-radius:24px!important;box-shadow:0 14px 35px rgba(16,32,51,.08);transition:.25s ease;}
.service-item:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(16,32,51,.13);}
.image-container{border-radius:22px;overflow:hidden;box-shadow:0 16px 38px rgba(16,32,51,.14);}
.image-title{border-radius:999px!important;background:rgba(11,94,215,.86)!important;font-weight:700;}
.contact .info-item{min-height:190px;border:1px solid var(--cb-border);border-radius:24px;background:#fff;box-shadow:0 14px 35px rgba(16,32,51,.08);transition:.25s ease;padding:28px 18px!important;}
.contact .info-item:hover{transform:translateY(-5px);}
.contact .info-item i{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--cb-primary),var(--cb-accent));color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:14px;}
.php-email-form{border:1px solid var(--cb-border);border-radius:24px;box-shadow:0 18px 45px rgba(16,32,51,.08);padding:28px;background:#fff;}
.php-email-form .form-control{border-radius:16px;border:1px solid var(--cb-border);padding:13px 16px;}
.footer{border-top:1px solid var(--cb-border);}
@media(max-width:991px){.hero .carousel-item,.hero .carousel-item img{height:58vh;min-height:58vh}.section{padding:56px 0}.navmenu a,.navmenu a:focus{border-radius:12px}}

/* Fix long course names in the top menu and prevent horizontal page scroll */
html, body { max-width: 100%; overflow-x: hidden; }
.navmenu .dropdown ul{max-width:min(360px, calc(100vw - 32px));}
.navmenu .dropdown ul li{width:100%;}
.navmenu .dropdown ul a{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;line-height:1.45;max-width:100%;display:flex;align-items:flex-start;}
.navmenu > ul > li > a{white-space:normal;}

/* Hero slider: remove empty top area and make images sit correctly under navbar */
.hero.section{padding:0!important;margin:0!important;min-height:0!important;}
.hero #hero-carousel{margin:0!important;padding:0!important;line-height:0;}
.hero .carousel-item{height:calc(100vh - 82px);min-height:520px;margin:0!important;padding:0!important;}
.hero .carousel-item img{height:100%!important;display:block;object-position:center top;}
.hero .carousel-control-prev,.hero .carousel-control-next,.hero .carousel-indicators{line-height:1;}
@media(max-width:991px){.hero .carousel-item{height:58vh;min-height:360px}.hero .carousel-item img{height:100%!important}}

/* Final homepage fix: no $sliders variable required, no empty hero space */
.cb-home-hero,.cb-home-hero #hero-carousel{padding:0!important;margin:0!important;background:#fff!important;line-height:1!important;}
.cb-home-hero .carousel-item{height:calc(100vh - 82px)!important;min-height:520px!important;max-height:650px!important;position:relative!important;overflow:hidden!important;}
.cb-home-hero .carousel-item img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;}
.cb-home-hero .carousel-item:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,20,42,.78),rgba(3,20,42,.34),rgba(3,20,42,.12));z-index:1;}
.cb-home-hero .carousel-item:after{display:none!important;}
.cb-hero-caption{position:absolute;z-index:2;left:max(7vw,24px);top:50%;transform:translateY(-50%);max-width:620px;color:#fff;}
.cb-hero-caption span{display:inline-block;padding:8px 14px;border-radius:999px;background:linear-gradient(135deg,#0b5ed7,#14b8d4);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;margin-bottom:18px;}
.cb-hero-caption h1{font-size:clamp(38px,5vw,64px);line-height:1.12;font-weight:900;margin:0 0 18px;letter-spacing:-.05em;color:#fff;}
.cb-hero-caption h1 b{color:#1f86ff;font-weight:900;}
.cb-hero-caption p{font-size:18px;line-height:1.7;max-width:540px;margin:0 0 26px;color:rgba(255,255,255,.94);}
.cb-hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.cb-hero-btn{display:inline-flex;align-items:center;gap:9px;border-radius:10px;padding:13px 20px;font-size:14px;font-weight:900;text-decoration:none!important;transition:.22s ease;}
.cb-hero-btn.primary{background:linear-gradient(135deg,#0b5ed7,#14b8d4);color:#fff;box-shadow:0 14px 28px rgba(11,94,215,.28);}
.cb-hero-btn.secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.72);backdrop-filter:blur(8px);}
.cb-hero-btn:hover{transform:translateY(-2px);color:#fff;}
.cb-home-hero .carousel-control-prev,.cb-home-hero .carousel-control-next{z-index:3;width:72px;opacity:1;}
.cb-home-hero .carousel-control-prev-icon,.cb-home-hero .carousel-control-next-icon{width:54px;height:54px;border-radius:50%;background-color:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.28);background-size:42%;}
.cb-home-hero .carousel-indicators{z-index:4;margin-bottom:24px;gap:8px;}
.cb-home-hero .carousel-indicators button{width:24px;height:7px;border-radius:999px;border:0;background:#fff;opacity:.85;}
.cb-home-hero .carousel-indicators .active{background:#0b5ed7;opacity:1;}
@media(max-width:991px){.cb-home-hero .carousel-item{height:560px!important;min-height:560px!important}.cb-hero-caption{left:24px;right:24px}.cb-hero-caption p{font-size:16px}.cb-home-hero .carousel-control-prev,.cb-home-hero .carousel-control-next{display:none}}
@media(max-width:575px){.cb-home-hero .carousel-item{height:500px!important;min-height:500px!important}.cb-hero-caption h1{font-size:34px}.cb-hero-btn{width:100%;justify-content:center}.cb-hero-caption span{font-size:11px}}

/* Menu final polish */
.header .logo img{max-height:64px!important;width:auto!important;}
.navmenu .dropdown ul{width:300px!important;max-width:min(300px,calc(100vw - 28px))!important;}
.navmenu .dropdown ul a{white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;line-height:1.45!important;}
.navmenu > ul > li > a{font-size:14px!important;}

/* ===== CodeBlue final home fix 2026-05-30 ===== */
body.index-page{overflow-x:hidden!important;background:#f7fbff!important;}
.header .branding{min-height:86px!important;padding:8px 0!important;}
.header .logo img{max-height:68px!important;}

/* Make hero real height, not template absolute blank area */
.cb-home-hero{height:auto!important;min-height:0!important;padding:0!important;margin:0!important;background:#fff!important;}
.cb-home-hero #hero-carousel,
.cb-home-hero #hero-carousel .carousel-inner{
  height:450px!important;
  min-height:450px!important;
  max-height:450px!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  overflow:hidden!important;
}
.cb-home-hero #hero-carousel .carousel-item{
  position:relative!important;
  inset:auto!important;
  height:450px!important;
  min-height:450px!important;
  max-height:450px!important;
  display:none!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
}
.cb-home-hero #hero-carousel .carousel-item.active,
.cb-home-hero #hero-carousel .carousel-item-next,
.cb-home-hero #hero-carousel .carousel-item-prev{
  display:flex!important;
}
.cb-home-hero #hero-carousel .carousel-item img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  z-index:1!important;
  filter:none!important;
}
.cb-home-hero #hero-carousel .carousel-item:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background:linear-gradient(90deg,rgba(4,25,55,.72),rgba(4,25,55,.28),rgba(4,25,55,.08))!important;
}
.cb-home-hero .cb-hero-caption{
  z-index:3!important;
  top:50%!important;
  left:max(7vw,40px)!important;
  transform:translateY(-50%)!important;
  max-width:620px!important;
}
.cb-home-hero .cb-hero-caption h1{
  font-size:clamp(34px,4.3vw,58px)!important;
  line-height:1.12!important;
  margin-bottom:16px!important;
  color:#fff!important;
  text-shadow:0 8px 24px rgba(0,0,0,.25)!important;
}
.cb-home-hero .cb-hero-caption p{font-size:17px!important;max-width:520px!important;color:#fff!important;}
.cb-home-hero .carousel-control-prev,
.cb-home-hero .carousel-control-next,
.cb-home-hero .carousel-indicators{z-index:5!important;}

/* Upcoming section appears directly under slider */
#call-to-action.call-to-action{
  background:#f7fbff!important;
  color:#102033!important;
  padding:42px 0 56px!important;
  margin:0!important;
  overflow:visible!important;
}
#call-to-action.call-to-action:before{display:none!important;}
#call-to-action .cb-section-heading{
  color:#102033!important;
  text-align:left!important;
  margin-bottom:24px!important;
  font-size:28px!important;
}
#call-to-action .cb-course-card{
  border:1px solid #e6eef8!important;
  box-shadow:0 16px 38px rgba(16,32,51,.08)!important;
  border-radius:18px!important;
}
#call-to-action .cb-course-card .card-img-top{height:185px!important;}
#call-to-action .cb-course-card .card-body{padding:18px!important;}
#call-to-action .cb-course-card .card-title{
  font-size:18px!important;
  line-height:1.35!important;
  min-height:48px!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
#call-to-action .cb-meta{font-size:13px!important;}
#call-to-action .btn-primary{padding:10px 18px!important;font-size:13px!important;}

/* Dropdown long course titles */
.navmenu .dropdown ul{width:320px!important;max-width:calc(100vw - 28px)!important;}
.navmenu .dropdown ul a{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;line-height:1.45!important;}

@media(max-width:991px){
  .cb-home-hero #hero-carousel,
  .cb-home-hero #hero-carousel .carousel-inner,
  .cb-home-hero #hero-carousel .carousel-item{height:410px!important;min-height:410px!important;max-height:410px!important;}
  .cb-home-hero .cb-hero-caption{left:24px!important;right:24px!important;}
  .cb-home-hero .cb-hero-caption p{font-size:15px!important;}
}
@media(max-width:575px){
  .cb-home-hero #hero-carousel,
  .cb-home-hero #hero-carousel .carousel-inner,
  .cb-home-hero #hero-carousel .carousel-item{height:430px!important;min-height:430px!important;max-height:430px!important;}
  .cb-home-hero .cb-hero-caption h1{font-size:32px!important;}
  #call-to-action .cb-section-heading{text-align:center!important;}
}

/* ===== CodeBlue mobile menu fix 2026-05-30 ===== */
@media (max-width: 1199px){
  .header{z-index:9999!important;}
  .header .branding{min-height:72px!important;padding:8px 0!important;}
  .header .branding .container{justify-content:space-between!important;gap:12px!important;}
  .header .logo{max-width:170px!important;}
  .header .logo img{max-height:54px!important;width:auto!important;display:block!important;}

  .mobile-nav-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    border-radius:14px!important;
    color:#0b5ed7!important;
    background:#eef7ff!important;
    box-shadow:0 8px 22px rgba(11,94,215,.13)!important;
    font-size:26px!important;
    line-height:1!important;
    position:relative!important;
    z-index:10001!important;
  }

  .navmenu{margin-left:auto!important;position:static!important;}
  .navmenu ul{
    display:none!important;
    position:fixed!important;
    top:82px!important;
    left:14px!important;
    right:14px!important;
    bottom:auto!important;
    max-height:calc(100vh - 104px)!important;
    margin:0!important;
    padding:12px!important;
    border-radius:22px!important;
    background:#fff!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-shadow:0 24px 70px rgba(8,32,65,.26)!important;
    border:1px solid #e5eef9!important;
    z-index:10000!important;
  }

  .mobile-nav-active .navmenu{
    position:fixed!important;
    inset:0!important;
    background:rgba(5,23,48,.56)!important;
    backdrop-filter:blur(4px)!important;
    z-index:9998!important;
    overflow:hidden!important;
  }
  .mobile-nav-active .navmenu > ul{display:block!important;}
  .mobile-nav-active .mobile-nav-toggle{
    position:fixed!important;
    top:18px!important;
    right:18px!important;
    color:#fff!important;
    background:#0b5ed7!important;
    box-shadow:0 12px 26px rgba(11,94,215,.3)!important;
  }

  .navmenu ul li{width:100%!important;margin:0!important;}
  .navmenu a,
  .navmenu a:focus{
    width:100%!important;
    min-height:48px!important;
    padding:12px 14px!important;
    margin:3px 0!important;
    border-radius:14px!important;
    color:#17233c!important;
    font-size:14px!important;
    font-weight:700!important;
    text-transform:none!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    line-height:1.35!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .navmenu a:hover,
  .navmenu .active,
  .navmenu .active:focus{
    background:#eef7ff!important;
    color:#0b5ed7!important;
    box-shadow:none!important;
  }

  .navmenu a i,
  .navmenu a:focus i{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    margin-left:10px!important;
    background:#eef7ff!important;
    color:#0b5ed7!important;
  }

  .navmenu .dropdown ul{
    position:static!important;
    display:none!important;
    width:100%!important;
    max-width:100%!important;
    max-height:260px!important;
    margin:6px 0 8px 0!important;
    padding:8px!important;
    border-radius:16px!important;
    background:#f7fbff!important;
    border:1px solid #e5eef9!important;
    box-shadow:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .navmenu .dropdown > .dropdown-active{display:block!important;}
  .navmenu .dropdown ul li{min-width:0!important;width:100%!important;}
  .navmenu .dropdown ul a{
    padding:10px 12px!important;
    font-size:13px!important;
    font-weight:650!important;
    color:#22324a!important;
    background:#fff!important;
    border:1px solid #edf3fb!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  .navmenu .dropdown ul a:hover{background:#eef7ff!important;color:#0b5ed7!important;}
}

@media (max-width: 575px){
  .header .branding{min-height:66px!important;}
  .header .logo img{max-height:48px!important;}
  .navmenu ul{top:76px!important;left:10px!important;right:10px!important;max-height:calc(100vh - 92px)!important;border-radius:18px!important;}
  .mobile-nav-toggle{width:40px!important;height:40px!important;font-size:24px!important;border-radius:12px!important;}
}

/* ===== Final hard fix: mobile menu visibility ===== */
@media (max-width: 1199px){
  body.mobile-nav-active #header{z-index:10050!important;}
  body.mobile-nav-active #navmenu.navmenu{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    background:rgba(5,23,48,.58)!important;
    backdrop-filter:blur(4px)!important;
    z-index:10040!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
  }
  body.mobile-nav-active #navmenu.navmenu > ul{
    display:flex!important;
    flex-direction:column!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:fixed!important;
    top:82px!important;
    left:14px!important;
    right:14px!important;
    bottom:auto!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:calc(100vh - 104px)!important;
    transform:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    list-style:none!important;
    margin:0!important;
    padding:14px!important;
    background:#fff!important;
    border:1px solid #e5eef9!important;
    border-radius:22px!important;
    box-shadow:0 24px 70px rgba(8,32,65,.32)!important;
    z-index:10045!important;
  }
  body.mobile-nav-active #navmenu.navmenu > ul > li{
    display:block!important;
    width:100%!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body.mobile-nav-active #navmenu.navmenu > ul > li > a{
    display:flex!important;
    width:100%!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:48px!important;
    padding:12px 14px!important;
    margin:3px 0!important;
    border-radius:14px!important;
    color:#17233c!important;
    background:transparent!important;
    font-size:14px!important;
    font-weight:700!important;
    text-transform:none!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    box-shadow:none!important;
  }
  body.mobile-nav-active #navmenu.navmenu > ul > li > a:hover,
  body.mobile-nav-active #navmenu.navmenu > ul > li > a.active{
    background:#eef7ff!important;
    color:#0b5ed7!important;
  }
  body.mobile-nav-active #navmenu.navmenu .dropdown > ul.dropdown-active{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    max-height:260px!important;
    overflow-y:auto!important;
    margin:6px 0 8px!important;
    padding:8px!important;
    background:#f7fbff!important;
    border:1px solid #e5eef9!important;
    border-radius:16px!important;
    box-shadow:none!important;
  }
  body.mobile-nav-active .mobile-nav-toggle{
    display:flex!important;
    position:fixed!important;
    top:18px!important;
    right:18px!important;
    z-index:10060!important;
    width:44px!important;
    height:44px!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:14px!important;
    color:#fff!important;
    background:#0b5ed7!important;
  }
}

@media (max-width: 575px){
  body.mobile-nav-active #navmenu.navmenu > ul{
    top:76px!important;
    left:10px!important;
    right:10px!important;
    max-height:calc(100vh - 92px)!important;
  }
}
