/* ============================================================
   COMEFASA — Modern medical theme (blue / teal)
   Loaded last so it layers over Bootstrap + legacy styles.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@500;600;700;800&display=swap');

:root{
  --cmf-primary:#1565c0;
  --cmf-primary-dark:#0d3d91;
  --cmf-primary-soft:#e8f1fb;
  --cmf-teal:#0d9488;
  --cmf-teal-light:#14b8a6;
  --cmf-accent:#06b6d4;
  --cmf-bg:#f4f8fc;
  --cmf-surface:#ffffff;
  --cmf-ink:#15293d;
  --cmf-muted:#5b7186;
  --cmf-border:#e4edf5;
  --cmf-shadow:0 12px 34px rgba(13,61,145,.10);
  --cmf-shadow-sm:0 4px 14px rgba(13,61,145,.08);
  --cmf-radius:16px;
  --cmf-radius-sm:11px;
  --cmf-grad:linear-gradient(135deg,#1565c0 0%,#0d9488 100%);
}

/* ---------- base ---------- */
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  color:var(--cmf-ink);
  background:var(--cmf-bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,.nav-tit,.navbar-brand{
  font-family:'Poppins',sans-serif !important;
  color:var(--cmf-ink);
  letter-spacing:-.01em;
}
p{color:var(--cmf-muted);}
a{color:var(--cmf-primary);transition:.2s ease;}
a:hover{color:var(--cmf-primary-dark);text-decoration:none;}
img{max-width:100%;}
section{position:relative;}

/* ---------- navbar (public + admin) ---------- */
.navbar.navbar-fixed-top,
#navbars.navbar-fixed-top{
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:saturate(160%) blur(10px);
  -webkit-backdrop-filter:saturate(160%) blur(10px);
  border:0 !important;
  border-bottom:1px solid var(--cmf-border) !important;
  box-shadow:var(--cmf-shadow-sm);
  min-height:64px;
}
.navbar .navbar-brand,
.navbar .nav-tit{
  color:var(--cmf-primary-dark) !important;
  font-weight:800 !important;
  font-size:1.35rem !important;
  letter-spacing:.5px;
  line-height:64px;
  padding:0 16px !important;
  height:auto;
}
.navbar .nav-tit .haiti,.haiti{color:var(--cmf-teal) !important;}
.navbar .navbar-brand:hover,.navbar .nav-tit:hover{color:var(--cmf-primary) !important;}

.navbar-nav>li>a.nav-link,
.navbar-nav>li>a{
  color:var(--cmf-ink) !important;
  font-weight:600 !important;
  font-size:.95rem;
  padding:10px 16px !important;
  margin:11px 3px;
  border-radius:999px;
  background:transparent !important;
  transition:.2s ease;
}
.navbar-nav>li>a:hover,
.navbar-nav>li>a.nav-link:hover{
  background:var(--cmf-primary-soft) !important;
  color:var(--cmf-primary-dark) !important;
}
.navbar-nav>li.active>a,
.navbar-nav>li.active>a.nav-link{
  background:var(--cmf-grad) !important;
  color:#fff !important;
  box-shadow:var(--cmf-shadow-sm);
}
.navbar .glyphicon{color:inherit;}
.navbar-toggle{border-color:var(--cmf-border) !important;}
.navbar-toggle .icon-bar{background:var(--cmf-primary) !important;color:var(--cmf-primary) !important;}

/* ---------- buttons ---------- */
.btn{
  border-radius:999px !important;
  font-weight:600 !important;
  font-family:'Inter',sans-serif !important;
  padding:10px 24px !important;
  border:0 !important;
  transition:transform .15s ease,box-shadow .2s ease,background .2s ease !important;
  box-shadow:var(--cmf-shadow-sm);
}
.btn:hover{transform:translateY(-2px);}
.btn-primary,.btn.menn{
  background:var(--cmf-grad) !important;
  color:#fff !important;
}
.btn-primary:hover,.btn.menn:hover{
  background:linear-gradient(135deg,#0d3d91 0%,#0b7d72 100%) !important;
  color:#fff !important;
}
.btn-outline{
  background:#fff !important;color:var(--cmf-primary) !important;
  box-shadow:inset 0 0 0 2px var(--cmf-primary);
}
.btn-outline:hover{background:var(--cmf-primary) !important;color:#fff !important;}
.btn-ghost{background:rgba(255,255,255,.15) !important;color:#fff !important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7);}
.btn-ghost:hover{background:#fff !important;color:var(--cmf-primary-dark) !important;}

/* ---------- cards / panels ---------- */
.card,.panel,.cmf-card{
  background:var(--cmf-surface);
  border:1px solid var(--cmf-border) !important;
  border-radius:var(--cmf-radius) !important;
  box-shadow:var(--cmf-shadow-sm);
  overflow:hidden;
}
.panel-heading{border-radius:0 !important;background:var(--cmf-primary-soft) !important;border:0 !important;color:var(--cmf-primary-dark);font-weight:600;}
.cmf-card{padding:30px;transition:transform .2s ease,box-shadow .2s ease;}
.cmf-card:hover{transform:translateY(-6px);box-shadow:var(--cmf-shadow);}

/* ---------- forms ---------- */
.form-control{
  border-radius:var(--cmf-radius-sm) !important;
  border:1.5px solid var(--cmf-border) !important;
  box-shadow:none !important;
  padding:10px 14px !important;
  height:auto !important;
  color:var(--cmf-ink);
  transition:.2s ease;
}
.form-control:focus{
  border-color:var(--cmf-primary) !important;
  box-shadow:0 0 0 4px rgba(21,101,192,.12) !important;
}
label{color:var(--cmf-ink);font-weight:600;}

/* ---------- tables (admin lists) ---------- */
.table{background:var(--cmf-surface);border-radius:var(--cmf-radius);overflow:hidden;}
.table>thead>tr>th{
  background:var(--cmf-primary-soft);
  color:var(--cmf-primary-dark);
  border-bottom:2px solid var(--cmf-border) !important;
  font-weight:600;
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.04em;
}
.table>tbody>tr>td{border-color:var(--cmf-border) !important;vertical-align:middle;}
.table-hover>tbody>tr:hover{background:var(--cmf-primary-soft) !important;}

/* ============================================================
   Reusable layout components (used by restructured pages)
   ============================================================ */
.cmf-section{padding:84px 0;}
.cmf-section.alt{background:var(--cmf-surface);}
.cmf-container{max-width:1140px;margin:0 auto;padding:0 20px;}
.cmf-eyebrow{
  display:inline-block;color:var(--cmf-teal);font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin-bottom:12px;
}
.cmf-title{font-size:2.1rem;font-weight:700;margin:0 0 14px;color:var(--cmf-ink);}
.cmf-lead{font-size:1.08rem;color:var(--cmf-muted);max-width:760px;margin:0 auto;}
.cmf-center{text-align:center;}
.cmf-head{margin-bottom:52px;}

/* hero */
.cmf-hero .slider-item,.cmf-hero-slide{
  position:relative;min-height:88vh;display:flex;align-items:center;
  background-size:cover !important;background-position:center !important;
}
.cmf-hero .slider-item .overlay,.cmf-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(120deg,rgba(13,61,145,.86) 0%,rgba(13,148,136,.72) 100%);
}
.cmf-hero-inner{position:relative;z-index:2;color:#fff;max-width:760px;padding:0 22px;margin:0 auto;text-align:center;}
.cmf-hero-inner h1{color:#fff !important;font-size:3rem;font-weight:800;line-height:1.12;margin:0 0 18px;text-shadow:0 2px 18px rgba(0,0,0,.25);}
.cmf-hero-inner p{color:rgba(255,255,255,.92);font-size:1.25rem;margin:0 auto 28px;max-width:620px;}
.cmf-hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
@media(max-width:768px){.cmf-hero-inner h1{font-size:2.1rem;}.cmf-hero .slider-item,.cmf-hero-slide{min-height:78vh;}}

/* service cards grid */
.cmf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;}
.cmf-service{
  background:var(--cmf-surface);border:1px solid var(--cmf-border);
  border-radius:var(--cmf-radius);padding:34px 28px;text-align:left;
  box-shadow:var(--cmf-shadow-sm);transition:transform .2s ease,box-shadow .2s ease;
}
.cmf-service:hover{transform:translateY(-8px);box-shadow:var(--cmf-shadow);}
.cmf-service .ic{
  width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:var(--cmf-primary-soft);color:var(--cmf-primary);font-size:1.6rem;margin-bottom:20px;
}
.cmf-service h4{font-size:1.18rem;margin:0 0 10px;}
.cmf-service p{margin:0;font-size:.97rem;}

/* stats band */
.cmf-stats{background:var(--cmf-grad);color:#fff;}
.cmf-stats .cmf-grid{gap:18px;}
.cmf-stat{text-align:center;color:#fff;padding:14px;}
.cmf-stat .num{font-family:'Poppins',sans-serif;font-size:2.6rem;font-weight:800;line-height:1;}
.cmf-stat .lab{opacity:.92;font-size:.98rem;margin-top:8px;}

/* split / about */
.cmf-split{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;}
@media(max-width:900px){.cmf-split{grid-template-columns:1fr;gap:30px;}}
.cmf-split img{border-radius:var(--cmf-radius);box-shadow:var(--cmf-shadow);width:100%;object-fit:cover;}
.cmf-list{list-style:none;padding:0;margin:18px 0 0;}
.cmf-list li{position:relative;padding:7px 0 7px 30px;color:var(--cmf-ink);}
.cmf-list li:before{content:"\2713";position:absolute;left:0;top:7px;color:var(--cmf-teal);font-weight:800;}

/* CTA band */
.cmf-cta{background:var(--cmf-primary-soft);}
.cmf-cta .box{
  background:var(--cmf-grad);color:#fff;border-radius:24px;padding:54px 40px;text-align:center;
  box-shadow:var(--cmf-shadow);
}
.cmf-cta h2{color:#fff !important;font-size:2rem;margin:0 0 12px;}
.cmf-cta p{color:rgba(255,255,255,.92);margin:0 auto 24px;max-width:560px;}

/* footer */
.cmf-footer{background:#0c2238;color:#cdd9e6;padding:56px 0 24px;}
.cmf-footer h5{color:#fff;font-size:1.05rem;margin:0 0 16px;}
.cmf-footer a{color:#cdd9e6;display:block;padding:5px 0;}
.cmf-footer a:hover{color:#fff;}
.cmf-footer .brand{font-family:'Poppins',sans-serif;font-weight:800;font-size:1.5rem;color:#fff;}
.cmf-footer .brand span{color:var(--cmf-teal-light);}
.cmf-footer .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:18px;font-size:.88rem;color:#8ea3b8;text-align:center;}

/* simple page banner for inner pages */
.cmf-banner{
  background:var(--cmf-grad);color:#fff;padding:120px 0 56px;text-align:center;
}
.cmf-banner h1{color:#fff !important;font-size:2.4rem;margin:0;}
.cmf-banner p{color:rgba(255,255,255,.9);margin:10px 0 0;}

/* scroll reveal */
.cmf-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.cmf-reveal.in{opacity:1;transform:none;}

/* utility */
.cmf-mt{margin-top:64px;}
.cmf-pad-top{padding-top:64px;}

/* ============================================================
   Responsive / mobile
   ============================================================ */

/* Tablet and below: stack two-column layouts (overrides inline grid styles) */
@media (max-width: 991px){
  .cmf-split{grid-template-columns:1fr !important;gap:30px;}
  .cmf-section{padding:64px 0;}
  .cmf-hero-inner h1{font-size:2.4rem;}
}

/* Phones */
@media (max-width: 767px){
  /* Navbar: show hamburger, stack the menu in a white panel */
  .navbar.navbar-fixed-top{min-height:58px;}
  .navbar .container{padding-left:14px;padding-right:14px;}
  .navbar .navbar-header{display:flex;align-items:center;justify-content:space-between;}
  .navbar .navbar-brand{line-height:58px !important;font-size:1.2rem !important;padding:0 6px !important;}
  .navbar-toggle{display:block;float:none;margin:0;padding:8px 10px;background:var(--cmf-primary-soft) !important;border-radius:10px;}
  .navbar-collapse{
    background:#fff;border-top:1px solid var(--cmf-border);
    box-shadow:var(--cmf-shadow-sm);margin:0 -14px;padding:8px 14px 14px;
    max-height:80vh;overflow-y:auto;
  }
  .navbar-nav{margin:6px 0;}
  .navbar-nav>li{width:100%;float:none;}
  .navbar-nav>li>a,
  .navbar-nav>li>a.nav-link{display:block;margin:5px 0;border-radius:10px;text-align:left;}

  body{padding-top:58px !important;}

  /* Sections / typography */
  .cmf-section{padding:46px 0;}
  .cmf-head{margin-bottom:34px;}
  .cmf-title{font-size:1.55rem;}
  .cmf-lead{font-size:1rem;}
  .cmf-banner{padding:84px 0 38px;}
  .cmf-banner h1{font-size:1.75rem;}

  /* Hero */
  .cmf-hero .slider-item,.cmf-hero-slide{min-height:78vh;}
  .cmf-hero-inner h1{font-size:1.95rem;}
  .cmf-hero-inner p{font-size:1.05rem;}
  .cmf-hero-cta{flex-direction:column;}
  .cmf-hero-cta .btn{width:100%;}

  /* Grids */
  .cmf-grid{grid-template-columns:1fr;gap:18px;}
  .cmf-stats .cmf-grid{grid-template-columns:1fr 1fr;}
  .cmf-stat .num{font-size:2.1rem;}
  .cmf-service{padding:26px 22px;}

  /* CTA */
  .cmf-cta .box{padding:34px 20px;}
  .cmf-cta h2{font-size:1.5rem;}

  /* Footer: stack columns with spacing */
  .cmf-footer{padding:44px 0 22px;}
  .cmf-footer [class*="col-md-"]{margin-bottom:24px;}
}

/* Very small phones */
@media (max-width: 400px){
  .cmf-stats .cmf-grid{grid-template-columns:1fr;}
  .cmf-hero-inner h1{font-size:1.7rem;}
}
