/* =========================================================
   MISKOM CAREBRIDGE SUPPORT FOUNDATION — Brand overrides
   Loaded after master.css / responsive.css
   ========================================================= */

:root{
  --mcsf-blue: #0202F2;
  --mcsf-blue-dark: #010196;
  --mcsf-red: #FE0000;
  --mcsf-red-dark: #B60000;
  --mcsf-ink: #16181d;
  /* Kept as aliases so any old references still resolve to the real brand colors */
  --mcsf-teal: var(--mcsf-blue);
  --mcsf-teal-dark: var(--mcsf-blue-dark);
  --mcsf-amber: var(--mcsf-red);
  --mcsf-amber-dark: var(--mcsf-red-dark);
}

/* ---- Brand color remaps (drives most of the template) ---- */
.default-bg{background-color: var(--mcsf-blue) !important;}
.default-color{color: var(--mcsf-blue) !important;}
.secondary-bg{background-color: var(--mcsf-red) !important;}
.secondary-color{color: var(--mcsf-red) !important;}

.btn-color{background-color: var(--mcsf-blue); color:#fff;}
.btn-color:hover, .btn-color:active, .btn-color:focus{background-color: var(--mcsf-blue-dark); color:#fff;}

.btn-amber{background-color: var(--mcsf-red); color:#fff; border-color: var(--mcsf-red);}
.btn-amber:hover, .btn-amber:active, .btn-amber:focus{background-color: var(--mcsf-red-dark); color:#fff; border-color: var(--mcsf-red-dark);}

a{color: var(--mcsf-blue);}
a:hover{color: var(--mcsf-red);}

/* ---- Logo (real MISKOM CareBridge mark: blue "M" with red raised-arms figure) ---- */
.brand-logo{display:flex; align-items:center; text-decoration:none; height:80px;}
.brand-logo-mark{width:46px; height:auto; margin-right:12px; flex:0 0 auto; filter: drop-shadow(0 1px 2px rgba(0,0,0,.15));}
.brand-logo-text{font-family:'Montserrat', sans-serif; font-weight:600; font-size:15px; line-height:1.15; color:#fff; letter-spacing:.2px; transition:color .3s ease;}
.brand-logo-text strong{color: var(--mcsf-red); font-weight:800;}
.brand-logo-text small{display:block; font-size:9.5px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; opacity:.85; color:#fff;}

nav.navbar:not(.navbar-transparent) .brand-logo-text,
nav.navbar.sticked .brand-logo-text{ color: var(--mcsf-blue); }
nav.navbar:not(.navbar-transparent) .brand-logo-text small,
nav.navbar.sticked .brand-logo-text small{ color: var(--mcsf-ink); opacity:.75; }

/* Safety net: the nav is styled for white text (it normally sits over a
   dark hero image), so give it a faint dark backdrop of its own. This
   keeps the menu readable even on a page with no hero image behind it,
   or if a hero photo is slow to load. */
nav.navbar.navbar-transparent{background: linear-gradient(180deg, rgba(8,20,18,.55) 0%, rgba(8,20,18,0) 100%);}

/* Mobile dropdown menu needs its own solid background — without this it
   sits transparently over whatever hero content is behind it. */
@media (max-width: 991px){
  nav.navbar.bootsnav .navbar-collapse.in{
    background-color:#ffffff;
    box-shadow:0 16px 30px rgba(9,20,18,.18);
    border-radius:0 0 10px 10px;
    padding-bottom:10px;
  }
  nav.navbar.bootsnav .navbar-collapse.in .navbar-nav > li > a{
    color: var(--mcsf-ink) !important;
  }
  nav.navbar.bootsnav .navbar-collapse.in .navbar-nav > li > a:hover,
  nav.navbar.bootsnav .navbar-collapse.in .navbar-nav > li.active > a{
    color: var(--mcsf-teal) !important;
  }
  nav.navbar.bootsnav .navbar-collapse.in .donate-mobile-link{
    color: var(--mcsf-amber) !important;
  }
}

.nav-donate-btn{margin-left:15px; padding:8px 20px !important;}
.donate-mobile-link{color: var(--mcsf-amber) !important; font-weight:700;}

/* ---- Global type scale ----
   The template's default headings (h1 58px / h2 40px / h3 26px) read as
   oversized "writeups" once real copy is dropped in, especially for
   section headings and inner-page banner titles. Scale them down to a
   more normal editorial size site-wide. */
h1{font-size:40px;}
h2{font-size:28px;}
h3{font-size:22px;}
.section-heading h2{font-size:28px;}
.section-heading h5{font-size:15px;}
.page-title h1{font-size:36px;}
.page-title h4{font-size:15px;}

/* ---- Hero banners (inner pages) ---- */
.title-hero-bg-sm{min-height:300px;}
.title-hero-bg::before{background: linear-gradient(180deg, rgba(9,20,18,.55) 0%, rgba(9,20,18,.78) 100%);}
.page-title .breadcrumb-tag{display:inline-block; background: rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.4); color:#fff; text-transform:uppercase; letter-spacing:2px; font-size:11px; padding:5px 14px; border-radius:30px; margin-bottom:16px;}

/* ---- Home hero slider (Torneo .home-slider / .default-slider, real Slick carousel) ---- */
.home-slider{height:92vh; min-height:560px; padding:0; position:relative;}
.home-slider .default-slider, .home-slider .slick-list, .home-slider .slick-track,
.home-slider .slide, .home-slider .slide-img, .home-slider .hero-text-wrap{height:92vh; min-height:560px; width:100%;}
.home-slider .hero-text-wrap{background:linear-gradient(100deg, rgba(2,2,40,.82) 0%, rgba(2,2,60,.55) 45%, rgba(2,2,80,.28) 100%);}
.home-slider .hero-text .container{position:relative; z-index:2;}
/* The hero text is vertically centered (see master.css .hero-text), which
   on shorter screens can put the eyebrow tag right under the fixed nav's
   logo, and push the buttons down into the dots/stats row. This padding
   keeps a guaranteed gap at both the top (clear of the nav) and the
   bottom (clear of the dots + stats bar) no matter the viewport height. */
.home-slider .hero-text{padding:100px 0 80px;}
/* Higher-specificity selector + !important: master.css's ".hero-text h1"
   rule (78px) and responsive.css's breakpoint rules (70px / 40px, several
   marked !important) both out-rank a plain ".hero-slide-title" class
   selector, so this has to out-specify and out-important all of them to
   actually take effect at every screen width. */
.hero-text h1.hero-slide-title{font-size:26px !important; line-height:1.3 !important; font-weight:700; max-width:520px; letter-spacing:normal !important;}
.home-slider p.lead{font-size:14px; line-height:1.6; max-width:480px;}
.home-slider .breadcrumb-tag{margin-bottom:12px;}
@media (max-width:991px){
  .home-slider .hero-text{padding:100px 0 80px;}
}

/* The dots list renders as a full-width <ul> even though the visible dots
   sit in a small centered strip — without this, the empty ends of that
   full-width bar silently swallow clicks meant for anything underneath
   them (this is what made the hero's Donate/See Our Work buttons
   unclickable whenever they landed in that vertical band). Turning off
   pointer-events on the bar and back on for each dot fixes that while
   keeping the dots themselves fully clickable. */
.home-slider .slick-dots{bottom:26px; z-index:20; pointer-events:none;}
.home-slider .slick-dots li{pointer-events:auto;}
.home-slider .slick-dots li button{background: rgba(255,255,255,.45);}
.home-slider .slick-dots li.slick-active button{background: var(--mcsf-red);}
.home-slider .slick-prev, .home-slider .slick-next{z-index:20; opacity:.85; width:46px; height:46px; border:2px solid rgba(255,255,255,.6); border-radius:100px;}
.home-slider .slick-prev:hover, .home-slider .slick-next:hover{opacity:1; background:rgba(255,255,255,.15);}
.home-slider .slick-prev:before, .home-slider .slick-next:before{font-family:'icofont' !important; font-size:20px; line-height:1; opacity:1; color:#fff;}
.home-slider .slick-prev{left:20px;}
.home-slider .slick-next{right:20px;}

/* Static stats strip anchored to the bottom of the hero, on top of every slide */
.hero-stats-bar{position:absolute; left:0; right:0; bottom:0; z-index:15; padding-bottom:0;}
.hero-stats{margin:0; border-top:1px solid rgba(255,255,255,.25); padding:22px 0;}
.hero-stats .stat-num{font-size:28px; font-weight:700; color:var(--mcsf-red); display:block;}
.hero-stats .stat-label{font-size:11px; text-transform:uppercase; letter-spacing:1px; color:#fff; opacity:.9;}

@media (max-width: 991px){
  .home-slider, .home-slider .default-slider, .home-slider .slick-list, .home-slider .slick-track,
  .home-slider .slide, .home-slider .slide-img, .home-slider .hero-text-wrap{height:auto; min-height:640px;}
  .hero-stats-bar{position:relative; margin-top:-6px;}
}
@media (max-width: 767px){
  .hero-text h1.hero-slide-title{font-size:20px !important; max-width:100%;}
  .home-slider p.lead{font-size:13px; max-width:100%;}
  .home-slider, .home-slider .default-slider, .home-slider .slick-list, .home-slider .slick-track,
  .home-slider .slide, .home-slider .slide-img, .home-slider .hero-text-wrap{min-height:600px;}
  .hero-stats{padding:16px 0;}
  .hero-stats .stat-num{font-size:20px;}
}

/* ---- Safe row alignment helper (avoids the template's .row-flex,
   which forces every column's children into a horizontal flex row
   unless wrapped in .col-inner — we don't use that markup) ---- */
.row-align{display:flex; flex-wrap:wrap;}
.row-align.flex-middle{align-items:center;}
.row-align.flex-center{align-items:center; justify-content:center;}
@media (max-width:767px){
  .row-align > [class*="col-"]{width:100%;}
}

/* ---- Section heading helper ---- */
.eyebrow{display:inline-block; color: var(--mcsf-amber); text-transform:uppercase; letter-spacing:2px; font-size:12px; font-weight:700; margin-bottom:10px;}

/* ---- Program / icon cards ---- */
.program-card{background:#fff; border:1px solid #eef1f0; border-radius:10px; padding:35px 28px; height:100%; transition: all .25s ease; box-shadow:0 2px 8px rgba(10,30,25,.04);}
.program-card:hover{box-shadow:0 14px 30px rgba(10,30,25,.10); transform:translateY(-4px); border-color: rgba(13,110,92,.25);}
.program-card .program-icon{width:64px; height:64px; border-radius:14px; background: rgba(13,110,92,.1); display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
.program-card .program-icon i{font-size:28px; color: var(--mcsf-teal);}
.program-card h4{font-weight:700; margin-bottom:12px;}
.program-card a.card-link{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color: var(--mcsf-teal);}

/* ---- Impact counters ---- */
.counter-wrap i{color: var(--mcsf-amber);}
.counter-wrap h2 .counter{color: var(--mcsf-teal);}

/* ---- Impact counters (parallax band) ---- */
.impact-counter-section{position:relative; padding:80px 0;}
.impact-counter-section .section-heading .eyebrow{color:#fff;}
.impact-counter-section .counter-wrap{overflow:hidden; clear:both;}
.impact-counter-section .counter-wrap i{color:#fff !important;}
.impact-counter-section .counter-wrap > .pull-left:first-child{width:50px; text-align:center;}
.impact-counter-section .counter-wrap > .pull-left.pl-20{width:calc(100% - 50px);}
@media (max-width:767px){
  .impact-counter-section{padding:55px 0;}
  .impact-counter-section .counter-wrap{text-align:center;}
  .impact-counter-section .counter-wrap .pull-left{float:none !important; display:inline-block;}
}

/* ---- CTA band ---- */
.cta-band{position:relative;}
.cta-band .btn{margin:4px;}

/* ---- Voices / quotes (illustrative, not attributed testimonials) ---- */
.voice-card{background:#fff; border-radius:10px; padding:34px 30px; box-shadow:0 2px 10px rgba(10,30,25,.06); height:100%; position:relative;}
.voice-card i.icofont-quote-left{font-size:26px; color: rgba(13,110,92,.25); margin-bottom:14px; display:block;}
.voice-card p{font-style:italic; color:#4a5a58; line-height:1.8;}
.voice-card .voice-attrib{margin-top:18px; font-style:normal; font-weight:600; color: var(--mcsf-teal); font-size:13px; text-transform:uppercase; letter-spacing:.5px;}

/* ---- Team / people role cards ---- */
.people-card{text-align:center;}
.people-card .people-avatar{width:96px; height:96px; border-radius:50%; background: linear-gradient(135deg, var(--mcsf-teal), var(--mcsf-teal-dark)); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; box-shadow:0 6px 16px rgba(13,110,92,.25);}
.people-card .people-avatar i{font-size:34px; color:#fff;}
.people-card h5{font-weight:700; margin-bottom:4px;}
.people-card span.role{color: var(--mcsf-amber); font-size:12px; text-transform:uppercase; letter-spacing:1px; font-weight:600;}

/* ---- Value cards (About page) ---- */
.value-item{display:flex; gap:18px; margin-bottom:30px; align-items:flex-start;}
.value-item .value-icon{flex:0 0 auto; width:52px; height:52px; border-radius:50%; background: rgba(240,152,43,.12); display:flex; align-items:center; justify-content:center;}
.value-item .value-icon i{color: var(--mcsf-amber); font-size:22px;}
.value-item h5{font-weight:700; margin-bottom:6px;}

/* ---- Our Outreach (listing cards) ---- */
.outreach-card{display:block; background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 2px 10px rgba(10,30,25,.06); text-decoration:none; height:100%; transition:.25s;}
.outreach-card:hover{box-shadow:0 16px 32px rgba(10,30,25,.14); transform:translateY(-4px);}
.outreach-card-img{position:relative; height:220px; background-size:cover; background-position:center; overflow:hidden;}
.outreach-card-img::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(2,2,20,.35), rgba(2,2,20,0) 55%);}
.outreach-photo-count{position:absolute; right:12px; bottom:12px; z-index:2; background:rgba(2,2,40,.65); color:#fff; font-size:12px; font-weight:600; padding:5px 11px; border-radius:30px;}
.outreach-photo-count i{margin-right:4px;}
.outreach-card-body{padding:24px;}
.outreach-card-body h4{font-weight:700; margin-bottom:10px; color:var(--mcsf-ink);}
.outreach-card-body p{color:#5b6a68; margin-bottom:14px;}
.outreach-card-body .card-link{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color: var(--mcsf-blue);}
.outreach-card:hover .card-link{color: var(--mcsf-red);}

/* ---- Outreach event detail slider ---- */
.outreach-slider-wrap{border-radius:10px; overflow:hidden;}
.outreach-slider-wrap .default-slider{height:520px;}
.outreach-slider-wrap .default-slider .slide{height:520px; position:relative;}
.outreach-slider-wrap .slide-img{border-radius:10px;}
.outreach-slider-wrap .slide-caption{position:absolute; left:0; right:0; bottom:0; z-index:5; padding:20px 26px; background:linear-gradient(0deg, rgba(2,2,20,.82), rgba(2,2,20,0)); color:#fff; font-size:14px; font-weight:500;}
.outreach-slider-wrap .slick-dots{bottom:16px; pointer-events:none;}
.outreach-slider-wrap .slick-dots li{pointer-events:auto;}
.outreach-slider-wrap .slick-dots li button{background: rgba(255,255,255,.55);}
.outreach-slider-wrap .slick-dots li.slick-active button{background: var(--mcsf-red);}
.outreach-slider-wrap .slick-prev, .outreach-slider-wrap .slick-next{z-index:20; width:46px; height:46px; border:2px solid rgba(255,255,255,.75); border-radius:100px; background:rgba(2,2,40,.25);}
.outreach-slider-wrap .slick-prev:hover, .outreach-slider-wrap .slick-next:hover{background:rgba(2,2,40,.55);}
.outreach-slider-wrap .slick-prev:before, .outreach-slider-wrap .slick-next:before{font-family:'icofont' !important; font-size:20px; line-height:1; opacity:1; color:#fff;}
.outreach-slider-wrap .slick-prev{left:16px;}
.outreach-slider-wrap .slick-next{right:16px;}
@media (max-width:767px){
  .outreach-slider-wrap .default-slider{height:320px;}
  .outreach-slider-wrap .default-slider .slide{height:320px;}
}

/* ---- News / articles ---- */
.news-card{background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 2px 10px rgba(10,30,25,.06); height:100%; display:flex; flex-direction:column;}
.news-card img{width:100%; height:210px; object-fit:cover;}
.news-card .news-card-body{padding:26px; flex:1; display:flex; flex-direction:column;}
.news-card .news-meta{font-size:11px; text-transform:uppercase; letter-spacing:1px; color: var(--mcsf-teal); font-weight:700; margin-bottom:10px;}
.news-card h4{font-weight:700; margin-bottom:12px;}
.news-card p{color:#5b6a68; flex:1;}

/* ---- Donate page ---- */
.donate-option{background:#fff; border:1px solid #eef1f0; border-radius:10px; padding:30px; text-align:center; height:100%; transition:.25s;}
.donate-option:hover{box-shadow:0 14px 30px rgba(10,30,25,.1); transform:translateY(-4px);}
.donate-option .amount{font-size:28px; font-weight:700; color: var(--mcsf-teal); margin-bottom:6px;}
.bank-detail-box{background:#fff; border:1px dashed rgba(13,110,92,.4); border-radius:10px; padding:30px;}
.bank-detail-box .row-line{display:flex; justify-content:space-between; border-bottom:1px solid #eef1f0; padding:12px 0;}
.bank-detail-box .row-line:last-child{border-bottom:0;}
.bank-detail-box .row-line span.label{color:#7a8a88; font-size:13px; text-transform:uppercase; letter-spacing:.5px;}
.bank-detail-box .row-line span.value{font-weight:700; color:var(--mcsf-ink);}

/* ---- Contact page ---- */
.contact-info-item{display:flex; gap:16px; align-items:flex-start; margin-bottom:26px;}
.contact-info-item i{font-size:22px; color: var(--mcsf-amber); flex:0 0 auto; margin-top:3px;}
.map-frame{width:100%; height:420px; border:0; border-radius:10px;}

/* ---- Get Involved & Contact: Reach Us cards ---- */
.reach-us-card{background:#fff; border-radius:14px; padding:40px 28px; text-align:center; height:100%; box-shadow:0 10px 30px rgba(13,42,38,.06); transition:.25s ease;}
.reach-us-card:hover{transform:translateY(-4px); box-shadow:0 16px 36px rgba(13,42,38,.1);}
.reach-us-icon{width:64px; height:64px; margin:0 auto 18px; border-radius:50%; background:rgba(196,30,58,.08); color: var(--mcsf-red); display:flex; align-items:center; justify-content:center; font-size:26px;}
.reach-us-card h5{margin-bottom:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; font-size:13px; color:#7a8a88;}
.reach-us-value{display:block; font-size:22px; font-weight:700; color: var(--mcsf-ink); word-break:break-word;}
.reach-us-value:hover{color: var(--mcsf-red);}
.reach-us-value-sub{font-size:16px; margin-top:4px; font-weight:600; color:#5b6a68;}
.reach-us-address{color:#5b6a68; margin-bottom:8px;}
.reach-us-hours{color:#5b6a68; font-size:13px; margin-bottom:0;}
.social-media-inline{display:inline-flex !important; justify-content:center;}
.social-media-light li a{background: rgba(196,30,58,.08); color: var(--mcsf-red); width:44px; height:44px; font-size:17px;}
.social-media-light li a:hover{background: var(--mcsf-red); color:#fff;}

/* ---- Footer polish ---- */
.footer .widget-title{color:#fff; font-weight:700;}
.footer a{color:#c7d6d3;}
.footer a:hover{color: var(--mcsf-amber);}

/* ---- Social icons (footer + header) ----
   Neither template ships a base rule for a bare <ul class="social-media">
   (only scoped variants for markup we don't use), so with nothing to
   turn the <li>s inline they were stacking one per line like a plain
   list. These rules make every social icon cluster on the site a tidy
   horizontal row of round buttons. */
.social-media, .social-media-dark{display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none;}
.social-media li, .social-media-dark li{display:block; margin:0;}
.social-media li a{display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08); color:#fff; font-size:15px; transition:.25s ease;}
.social-media li a:hover{background: var(--mcsf-red); color:#fff; transform:translateY(-2px);}
.social-media-dark li a{display:flex; align-items:center; justify-content:center; width:30px; height:30px; color:#fff; font-size:14px; transition:.25s ease;}
.social-media-dark li a:hover{color: var(--mcsf-red);}
nav.navbar:not(.navbar-transparent) .social-media-dark li a,
nav.navbar.sticked .social-media-dark li a{color: var(--mcsf-ink);}

/* Contact-style round outlined icons (Get Involved / Contact page): make
   sure this row is horizontal too and matches the same round-button feel. */
ul.social-default{display:flex; align-items:center; flex-wrap:wrap; gap:10px;}
ul.social-default li{margin-right:0 !important;}

/* ---- Misc ---- */
.text-center-xs{text-align:center;}
@media (max-width:767px){ .text-right{text-align:center !important;} .mt-20-xs{margin-top:20px;} }
.bg-soft{background-color:#F6F9F8;}
.badge-soft{display:inline-block; background:rgba(13,110,92,.1); color:var(--mcsf-teal); padding:6px 16px; border-radius:30px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px;}
