/* =====================================================================
   MFM Kempton Park — Public Stylesheet
   Brand: deep purple (#5b2a86) + fire red (#c1121f)
   ===================================================================== */
:root{
    --mfm-primary:#5b2a86;
    --mfm-primary-dark:#43205f;
    --mfm-secondary:#c1121f;
    --mfm-secondary-dark:#9d0e18;
    --mfm-gold:#f4b400;
    --mfm-dark:#1c1230;
    --mfm-light:#f7f5fb;
}
*{scroll-behavior:smooth;}
body{font-family:'Open Sans',system-ui,sans-serif;color:#2b2b3a;overflow-x:hidden;}
h1,h2,h3,h4,h5,h6,.navbar-brand{font-family:'Montserrat',sans-serif;font-weight:700;}
a{text-decoration:none;}
.text-primary-mfm{color:var(--mfm-primary)!important;}
.bg-primary-mfm{background:var(--mfm-primary)!important;}
.bg-light-mfm{background:var(--mfm-light)!important;}

/* ---------- Buttons ---------- */
.btn-give{background:var(--mfm-secondary);color:#fff;font-weight:700;border-radius:50px;padding:.5rem 1.4rem;border:none;}
.btn-give:hover{background:var(--mfm-secondary-dark);color:#fff;}
.btn-live{background:transparent;color:#fff;font-weight:700;border-radius:50px;padding:.5rem 1.4rem;border:2px solid #fff;}
.btn-live:hover{background:#fff;color:var(--mfm-primary);}
.btn-mfm{background:var(--mfm-primary);color:#fff;font-weight:700;border-radius:50px;padding:.7rem 2rem;border:none;}
.btn-mfm:hover{background:var(--mfm-primary-dark);color:#fff;}
.btn-outline-mfm{border:2px solid var(--mfm-primary);color:var(--mfm-primary);font-weight:700;border-radius:50px;padding:.65rem 1.9rem;background:transparent;}
.btn-outline-mfm:hover{background:var(--mfm-primary);color:#fff;}

/* ---------- Top bar ---------- */
.topbar{background:var(--mfm-primary-dark);color:#e9e2f5;font-size:.85rem;padding:.45rem 0;}
.topbar a{color:#e9e2f5;}
.topbar a:hover{color:#fff;}
.topbar-social a{margin-left:.6rem;font-size:1rem;}

/* ---------- Navbar ---------- */
.main-nav{background:var(--mfm-primary);box-shadow:0 2px 16px rgba(0,0,0,.15);padding:.6rem 0;z-index:1030;}
.main-nav .navbar-brand{display:flex;align-items:center;gap:.6rem;color:#fff;}
.brand-mark{background:var(--mfm-secondary);color:#fff;font-weight:800;border-radius:8px;padding:.35rem .6rem;font-size:1.3rem;letter-spacing:1px;}
.brand-text{font-size:1.05rem;line-height:1.1;color:#fff;}
.main-nav .nav-link{color:#fff!important;font-weight:600;padding:.5rem .9rem!important;}
.main-nav .nav-link:hover,.main-nav .nav-link.active{color:var(--mfm-gold)!important;}
.main-nav .dropdown-menu{border:none;box-shadow:0 10px 30px rgba(0,0,0,.15);border-radius:.6rem;padding:.5rem;}
.main-nav .dropdown-item{border-radius:.4rem;font-weight:600;padding:.5rem .8rem;}
.main-nav .dropdown-item:hover{background:var(--mfm-light);color:var(--mfm-primary);}
.navbar-toggler{border-color:rgba(255,255,255,.5);}
.navbar-toggler-icon{filter:invert(1);}

/* ---------- Hero slider ---------- */
.hero{position:relative;}
.hero .swiper-slide{position:relative;min-height:88vh;display:flex;align-items:center;background-size:cover;background-position:center;}
.hero .swiper-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(67,32,95,.92),rgba(28,18,48,.6));}
.hero-content{position:relative;z-index:2;color:#fff;max-width:720px;}
.hero-content .eyebrow{color:var(--mfm-gold);font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:.9rem;}
.hero-content h1{font-size:clamp(2rem,5vw,3.6rem);font-weight:800;line-height:1.1;margin:.6rem 0 1rem;}
.hero-content p{font-size:1.15rem;opacity:.95;}
.hero .swiper-pagination-bullet{background:#fff;opacity:.6;}
.hero .swiper-pagination-bullet-active{background:var(--mfm-gold);opacity:1;}

/* ---------- Sections ---------- */
section{padding:5rem 0;}
.section-title{position:relative;margin-bottom:2.5rem;}
.section-title .eyebrow{color:var(--mfm-secondary);font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:.85rem;}
.section-title h2{font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--mfm-dark);}
.section-title.text-center h2::after{content:"";display:block;width:70px;height:4px;background:var(--mfm-secondary);margin:.9rem auto 0;border-radius:3px;}

/* ---------- Page banner ---------- */
.page-banner{background:linear-gradient(120deg,var(--mfm-primary),var(--mfm-primary-dark));color:#fff;padding:6.5rem 0 3.5rem;text-align:center;}
.page-banner h1{font-size:clamp(2rem,4vw,3rem);}
.page-banner .breadcrumb{justify-content:center;}
.page-banner .breadcrumb a{color:var(--mfm-gold);}
.page-banner .breadcrumb-item.active{color:#e9e2f5;}

/* ---------- Cards ---------- */
.card-mfm{border:none;border-radius:1rem;overflow:hidden;box-shadow:0 8px 30px rgba(91,42,134,.08);transition:transform .3s,box-shadow .3s;height:100%;background:#fff;}
.card-mfm:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(91,42,134,.18);}
.card-mfm .card-img-top{height:220px;object-fit:cover;}
.icon-circle{width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--mfm-primary),var(--mfm-secondary));color:#fff;font-size:1.8rem;margin-bottom:1rem;}

/* ---------- Service list ---------- */
.service-item{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem;border-radius:.8rem;background:#fff;box-shadow:0 6px 20px rgba(91,42,134,.07);height:100%;}
.service-item .bi{color:var(--mfm-secondary);font-size:1.6rem;}

/* ---------- Watch live band ---------- */
.live-band{background:linear-gradient(120deg,var(--mfm-secondary),var(--mfm-secondary-dark));color:#fff;}
.ratio-video iframe{border:0;width:100%;border-radius:1rem;}

/* ---------- Stats ---------- */
.stat-box{text-align:center;color:#fff;}
.stat-box .num{font-size:2.6rem;font-weight:800;font-family:'Montserrat';}

/* ---------- Testimonies ---------- */
.testimony-card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 8px 30px rgba(91,42,134,.08);height:100%;}
.testimony-card .bi-quote{font-size:2.5rem;color:var(--mfm-secondary);opacity:.4;}

/* ---------- Gallery ---------- */
.gallery-thumb{overflow:hidden;border-radius:.8rem;position:relative;display:block;aspect-ratio:4/3;}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.gallery-thumb:hover img{transform:scale(1.08);}

/* ---------- Footer ---------- */
.site-footer{background:var(--mfm-dark);color:#cfc6e0;padding:4rem 0 1.5rem;}
.site-footer h5,.site-footer h6{color:#fff;}
.footer-brand{font-weight:800;}
.footer-links{list-style:none;padding:0;}
.footer-links li{margin-bottom:.5rem;}
.footer-links a{color:#cfc6e0;}
.footer-links a:hover{color:var(--mfm-gold);}
.footer-contact{list-style:none;padding:0;}
.footer-contact li{margin-bottom:.6rem;}
.footer-contact a{color:#cfc6e0;}
.footer-social a{color:#fff;font-size:1.3rem;margin-right:.8rem;}
.footer-social a:hover{color:var(--mfm-gold);}
.footer-divider{border-color:rgba(255,255,255,.15);margin:2rem 0 1rem;}

/* ---------- Back to top ---------- */
.back-to-top{position:fixed;right:20px;bottom:20px;width:46px;height:46px;background:var(--mfm-secondary);color:#fff;border-radius:50%;display:none;align-items:center;justify-content:center;z-index:1040;}
.back-to-top.show{display:flex;}

/* ---------- Forms ---------- */
.form-card{background:#fff;border-radius:1rem;box-shadow:0 10px 40px rgba(91,42,134,.1);padding:2.5rem;}
.auth-wrap{min-height:80vh;display:flex;align-items:center;background:var(--mfm-light);}

/* ---------- Utilities ---------- */
.bg-pattern{background:var(--mfm-light);}
/* ---------- Responsive / mobile ---------- */
@media (max-width:1199px){
    section{padding:4rem 0;}
}
@media (max-width:991px){
    .hero .swiper-slide{min-height:68vh;}
    .main-nav .navbar-collapse{background:var(--mfm-primary-dark);border-radius:.75rem;margin-top:.6rem;padding:.75rem 1rem;}
    .main-nav .navbar-nav{padding-top:.25rem;}
    .main-nav .nav-item{border-bottom:1px solid rgba(255,255,255,.08);}
    .main-nav .nav-item:last-child{border-bottom:none;}
    .main-nav .dropdown-menu{background:transparent;box-shadow:none;padding-left:1rem;}
    .main-nav .dropdown-item{color:#e9e2f5;}
    .main-nav .dropdown-item:hover{background:rgba(255,255,255,.08);color:#fff;}
    .btn-live,.btn-give{display:inline-block;margin:.45rem .4rem 0 0;}
    .page-banner{padding:5.5rem 0 2.5rem;}
}
@media (max-width:767px){
    section{padding:3rem 0;}
    .section-title{margin-bottom:1.75rem;}
    .hero .swiper-slide{min-height:78vh;}
    .hero-content h1{font-size:2rem;}
    .hero-content p{font-size:1rem;}
    .hero-content .btn{display:block;width:100%;margin:.5rem 0 0;}
    .card-mfm .card-img-top{height:200px;}
    .form-card{padding:1.5rem;}
    .stat-box .num{font-size:2rem;}
    .footer-social{margin-bottom:1rem;}
    .back-to-top{right:14px;bottom:14px;width:42px;height:42px;}
}
@media (max-width:575px){
    .brand-text{font-size:.95rem;max-width:60vw;}
    .hero-content h1{font-size:1.7rem;}
    .section-title h2{font-size:1.55rem;}
    .gallery-thumb{aspect-ratio:1/1;}
    .testimony-card,.service-item{padding:1.25rem;}
    .table-responsive{font-size:.9rem;}
}
/* Prevent horizontal overflow from wide embeds/iframes */
iframe{max-width:100%;}
img{max-width:100%;height:auto;}
