@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Cinzel:wght@400;500;600;700&family=Source+Sans+3:wght@300;400;600&display=swap');
:root{
  --maroon:#6B0F1A; --maroon-dk:#4A0A12;
  --charcoal:#1C1A17; --charcoal-lt:#2E2B26;
  --gold:#B8902A; --gold-lt:#D4AF5A; --gold-pale:#F0E0A0;
  --green:#1B3A2D;
  --cream:#F8F4EE; --cream-dk:#EDE7DC; --cream-xdk:#DDD4C4;
  --white:#FFFFFF; --text:#1A0F00; --muted:#6B5D4A;
  --border:rgba(184,144,42,0.3); --border-dk:rgba(107,15,26,0.25);
  --trans:all 0.22s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'EB Garamond',Georgia,serif;font-size:17px;line-height:1.78;color:var(--text);background:var(--cream);}
img{max-width:100%;display:block;}
a{color:var(--maroon);text-decoration:none;transition:var(--trans);}
a:hover{color:var(--gold);}

/* ─── MASTHEAD TOP STRIP ─── */
.mh-strip{background:var(--maroon);padding:6px 0;border-bottom:1px solid rgba(212,175,90,0.3);}
.mh-strip .strip-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.mh-strip .ms-left,.mh-strip .ms-right{font-family:'Source Sans 3',sans-serif;font-size:.73rem;color:rgba(248,244,238,0.65);letter-spacing:.4px;display:flex;align-items:center;gap:16px;}
.mh-strip .ms-right a{color:rgba(248,244,238,0.65);transition:var(--trans);}
.mh-strip .ms-right a:hover{color:var(--gold-lt);}
.mh-strip i{color:var(--gold-lt);margin-right:4px;}

/* ─── MASTHEAD MAIN ─── */
.masthead{background:var(--white);padding:18px 0;border-bottom:4px double var(--gold);}
.masthead .mh-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.masthead .mh-logo img{height:70px;}
.masthead .mh-center{text-align:center;flex:1;}
.mh-name{font-family:'Cinzel',serif;font-size:1.5rem;font-weight:700;color:var(--maroon);letter-spacing:2px;text-transform:uppercase;line-height:1.15;}
.mh-sub{font-family:'EB Garamond',serif;font-size:.85rem;color:var(--muted);letter-spacing:1.5px;margin-top:3px;}
.mh-rule{width:200px;height:1px;background:var(--border);margin:6px auto;}
.masthead .mh-right{text-align:right;font-family:'Source Sans 3',sans-serif;font-size:.78rem;color:var(--muted);line-height:1.9;}
.masthead .mh-right strong{display:block;color:var(--charcoal);font-size:.82rem;}
.btn-ticket{display:inline-block;margin-top:8px;font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:2px;text-transform:uppercase;padding:7px 16px;border:1.5px solid var(--maroon);color:var(--maroon);transition:var(--trans);}
.btn-ticket:hover{background:var(--maroon);color:var(--white);}

/* ─── NAVIGATION BAR ─── */
.main-nav{background:var(--charcoal);position:sticky;top:0;z-index:999;border-bottom:2px solid var(--gold);}
.main-nav ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;margin:0;padding:0;}
.main-nav ul li{position:relative;}
.main-nav ul li a{display:block;font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:rgba(248,244,238,0.75);padding:14px 18px;transition:var(--trans);white-space:nowrap;}
.main-nav ul li a:hover,.main-nav ul li a.active{color:var(--gold-lt);background:rgba(184,144,42,0.12);}
.main-nav ul li.has-drop:hover .drop-menu{display:block;}
.drop-menu{display:none;position:absolute;top:100%;left:0;background:var(--charcoal-lt);border:1px solid var(--border);border-top:2px solid var(--gold);min-width:200px;z-index:1000;}
.drop-menu a{display:block;font-family:'Source Sans 3',sans-serif;font-size:.78rem;letter-spacing:.5px;color:rgba(248,244,238,0.7);padding:9px 18px;border-bottom:1px solid rgba(255,255,255,.05);text-transform:none;}
.drop-menu a:hover{background:rgba(184,144,42,.12);color:var(--gold-lt);}
.nav-mob-btn{display:none;background:none;border:1px solid var(--border);color:var(--gold-lt);padding:8px 14px;font-size:1.1rem;cursor:pointer;}
@media(max-width:768px){
  .main-nav ul{display:none;flex-direction:column;}
  .main-nav ul.open{display:flex;}
  .nav-mob-btn{display:block;}
  .main-nav .nav-inner{display:flex;align-items:center;justify-content:space-between;padding:0 16px;}
}

/* ─── PAGE HERO ─── */
.page-hero{background:var(--maroon);padding:40px 0;border-bottom:3px double var(--gold);}
.page-hero h1{font-family:'Cinzel',serif;font-size:1.6rem;font-weight:600;color:var(--cream);letter-spacing:2px;text-transform:uppercase;}
.page-hero .ph-sub{font-family:'Source Sans 3',sans-serif;font-size:.78rem;color:rgba(248,244,238,0.55);letter-spacing:.5px;margin-top:6px;}
.ph-bc{display:flex;gap:8px;align-items:center;margin-top:8px;font-family:'Source Sans 3',sans-serif;font-size:.78rem;color:rgba(248,244,238,0.5);}
.ph-bc a{color:var(--gold-lt);}.ph-bc span{color:rgba(248,244,238,0.35);}

/* ─── TYPOGRAPHY SYSTEM ─── */
.inst-label{display:block;font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;}
.inst-title{font-family:'EB Garamond',serif;font-size:2rem;font-weight:600;color:var(--text);line-height:1.2;margin-bottom:.5rem;}
.inst-title.on-dark{color:var(--cream);}
.section-rule{display:flex;align-items:center;gap:12px;margin:1rem 0 1.4rem;}
.section-rule::before,.section-rule::after{content:'';flex:1;height:1px;background:var(--border);}
.section-rule span{color:var(--gold);font-size:.9rem;}

/* ─── BUTTONS ─── */
.btn-m{display:inline-block;font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:2px;text-transform:uppercase;padding:11px 26px;border:2px solid var(--maroon);color:var(--maroon);background:transparent;transition:var(--trans);cursor:pointer;}
.btn-m:hover{background:var(--maroon);color:var(--white);}
.btn-m-fill{display:inline-block;font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:2px;text-transform:uppercase;padding:11px 26px;border:2px solid var(--maroon);color:var(--white);background:var(--maroon);transition:var(--trans);cursor:pointer;}
.btn-m-fill:hover{background:var(--maroon-dk);}
.btn-g{display:inline-block;font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:2px;text-transform:uppercase;padding:11px 26px;border:2px solid var(--gold);color:var(--gold);background:transparent;transition:var(--trans);cursor:pointer;}
.btn-g:hover{background:var(--gold);color:var(--charcoal);}
.btn-g-fill{display:inline-block;font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:2px;text-transform:uppercase;padding:11px 26px;border:2px solid var(--gold);color:var(--charcoal);background:var(--gold);transition:var(--trans);cursor:pointer;}
.btn-g-fill:hover{background:var(--gold-lt);}

/* ─── HERO SPLIT (homepage) ─── */
.hero-split{background:var(--cream-dk);}
.hero-split .hs-img{position:relative;min-height:500px;overflow:hidden;}
.hero-split .hs-img img{width:100%;height:100%;object-fit:cover;min-height:500px;}
.hero-split .hs-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 70%,var(--cream-dk));pointer-events:none;}
.hero-split .hs-text{background:var(--cream-dk);padding:64px 48px;display:flex;flex-direction:column;justify-content:center;}
.hero-split .hs-ornament{font-size:1.6rem;color:var(--gold);margin-bottom:1rem;direction:rtl;font-family:'EB Garamond',serif;}
.hero-split h1{font-family:'Cinzel',serif;font-size:2.2rem;font-weight:700;color:var(--maroon);line-height:1.2;margin-bottom:.3rem;}
.hero-split .hs-ar{font-size:1.3rem;color:var(--gold);direction:rtl;font-family:'EB Garamond',serif;margin-bottom:.8rem;}
.hero-split .hs-rule{width:50px;height:3px;background:var(--gold);margin:1rem 0;}
.hero-split p{font-size:1rem;color:var(--muted);line-height:1.85;margin-bottom:2rem;max-width:460px;}

/* ─── INFO STRIP ─── */
.info-strip{background:var(--maroon);border-top:1px solid rgba(212,175,90,.25);border-bottom:1px solid rgba(212,175,90,.25);padding:16px 0;}
.strip-row{display:flex;flex-wrap:wrap;gap:0;}
.strip-cell{flex:1;min-width:180px;padding:8px 20px;border-right:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:10px;}
.strip-cell:last-child{border-right:none;}
.strip-cell i{font-size:1.2rem;color:var(--gold-lt);}
.strip-cell .sc-label{font-family:'Source Sans 3',sans-serif;font-size:.72rem;color:rgba(248,244,238,.55);display:block;letter-spacing:.5px;}
.strip-cell .sc-val{font-family:'Source Sans 3',sans-serif;font-size:.84rem;color:var(--cream);font-weight:600;}

/* ─── SECTIONS ─── */
section{padding:68px 0;}
.bg-white{background:var(--white);}
.bg-cream{background:var(--cream);}
.bg-cream-dk{background:var(--cream-dk);}
.bg-charcoal{background:var(--charcoal);}
.bg-maroon{background:var(--maroon);}
.bg-green{background:var(--green);}

/* ─── FEATURE ITEM ─── */
.fi{display:flex;gap:14px;margin-bottom:1.2rem;align-items:flex-start;}
.fi .fi-ico{width:40px;height:40px;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--maroon);font-size:1.1rem;flex-shrink:0;}
.fi h6{font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:1px;text-transform:uppercase;color:var(--text);margin-bottom:3px;}
.fi p{font-size:.85rem;color:var(--muted);margin:0;line-height:1.6;}

/* ─── SERVICE CARD ─── */
.sc{background:var(--white);border:1px solid var(--cream-xdk);border-top:3px solid var(--maroon);padding:1.8rem;height:100%;transition:var(--trans);}
.sc:hover{border-top-color:var(--gold);box-shadow:0 4px 20px rgba(0,0,0,.07);}
.sc .sc-i{font-size:1.8rem;color:var(--maroon);margin-bottom:.8rem;}
.sc h4{font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--charcoal);margin-bottom:.6rem;}
.sc p{font-size:.87rem;color:var(--muted);line-height:1.7;margin:0;}

/* ─── NEWS CARD ─── */
.nc{background:var(--white);border:1px solid var(--cream-xdk);height:100%;transition:var(--trans);}
.nc:hover{box-shadow:0 4px 18px rgba(0,0,0,.08);}
.nc img{width:100%;height:195px;object-fit:cover;}
.nc .nb{padding:1.3rem;border-top:2px solid var(--maroon);}
.nc .nc-cat{font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:2px;text-transform:uppercase;color:var(--maroon);}
.nc .nc-date{float:right;font-family:'Source Sans 3',sans-serif;font-size:.72rem;color:var(--muted);}
.nc h5{font-family:'EB Garamond',serif;font-size:1.05rem;font-weight:600;color:var(--text);margin:.4rem 0 .5rem;line-height:1.35;}
.nc a.nc-more{font-family:'Source Sans 3',sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--gold);}
.nc a.nc-more:hover{color:var(--maroon);}

/* ─── GALLERY ─── */
.gi{overflow:hidden;position:relative;border:1px solid var(--cream-xdk);}
.gi img{width:100%;height:215px;object-fit:cover;transition:transform .5s ease;}
.gi:hover img{transform:scale(1.06);}
.gi .go{position:absolute;inset:0;background:rgba(107,15,26,.65);display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--trans);}
.gi:hover .go{opacity:1;}
.gi .go i{font-size:1.8rem;color:var(--gold-lt);}

/* ─── STATS ─── */
.si{border:1px solid rgba(212,175,90,.25);padding:2rem;text-align:center;}
.si .sn{font-family:'Cinzel',serif;font-size:2.5rem;font-weight:700;color:var(--gold-lt);}
.si .sl{font-family:'Source Sans 3',sans-serif;font-size:.68rem;text-transform:uppercase;letter-spacing:2px;color:rgba(248,244,238,.5);margin-top:4px;}

/* ─── HADITH ─── */
.hq{border-left:4px solid var(--gold);padding:1.3rem 1.7rem;background:var(--white);margin-bottom:1.2rem;}
.hq .h-ar{font-size:1.25rem;direction:rtl;text-align:right;color:var(--maroon);margin-bottom:.5rem;line-height:2;}
.hq .h-pt{font-style:italic;font-size:.95rem;margin-bottom:.3rem;line-height:1.8;}
.hq .h-src{font-family:'Source Sans 3',sans-serif;font-size:.7rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);}

/* ─── PRODUCT ─── */
.pi{border:1px solid var(--cream-xdk);background:var(--white);height:100%;transition:var(--trans);}
.pi:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(0,0,0,.07);}
.pi img,.pi .pp{width:100%;height:205px;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:3.2rem;color:var(--gold);}
.pi .pb{padding:1.2rem;border-top:2px solid var(--maroon);}
.pi .pc{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--maroon);}
.pi .pn{font-size:.98rem;font-weight:600;color:var(--text);margin:.3rem 0;line-height:1.35;}
.pi .pp2{font-family:'Cinzel',serif;font-size:.98rem;color:var(--text);margin-bottom:.7rem;}

/* ─── COURSE ─── */
.csi{border:1px solid var(--cream-xdk);background:var(--white);height:100%;}
.csi .csh{background:var(--charcoal);padding:1.4rem;border-bottom:2px solid var(--gold);}
.csi .csh i{font-size:1.7rem;color:var(--gold-lt);display:block;margin-bottom:.7rem;}
.csi .csh h4{font-family:'Cinzel',serif;font-size:.8rem;letter-spacing:1px;color:var(--white);margin-bottom:.2rem;}
.csi .csh small{font-family:'Source Sans 3',sans-serif;font-size:.7rem;color:rgba(248,244,238,.45);}
.csi .csb{padding:1.2rem;}
.csi .csm{font-family:'Source Sans 3',sans-serif;font-size:.78rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:.8rem;}
.csi ul.csl{list-style:none;padding:0;margin-bottom:.9rem;}
.csi ul.csl li{font-size:.85rem;padding:4px 0;border-bottom:1px solid var(--cream-dk);display:flex;align-items:center;gap:7px;}
.csi ul.csl li i{color:var(--gold);font-size:.7rem;}

/* ─── FILTER ─── */
.fi-btn{font-family:'Source Sans 3',sans-serif;font-size:.73rem;letter-spacing:.5px;text-transform:uppercase;padding:6px 16px;border:1px solid var(--cream-xdk);background:transparent;color:var(--muted);cursor:pointer;transition:var(--trans);}
.fi-btn:hover,.fi-btn.active{border-color:var(--maroon);background:var(--maroon);color:var(--white);}

/* ─── HOURS TABLE ─── */
.ht{width:100%;border-collapse:collapse;font-size:.9rem;}
.ht th{font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);padding:10px 14px;border-bottom:2px solid var(--gold);text-align:left;}
.ht td{padding:10px 14px;border-bottom:1px solid var(--cream-xdk);color:var(--text);}
.ht tr:hover td{background:rgba(184,144,42,.05);}
.ht .cl{color:var(--muted);}

/* ─── FORM ─── */
.form-v3 .form-control,.form-v3 select,.form-v3 textarea{border-radius:0;border:1px solid var(--cream-xdk);font-family:'EB Garamond',serif;font-size:.95rem;padding:10px 14px;background:var(--cream);}
.form-v3 .form-control:focus,.form-v3 select:focus,.form-v3 textarea:focus{border-color:var(--maroon);box-shadow:none;background:var(--white);}
.form-v3 label{font-family:'Source Sans 3',sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:5px;}

/* ─── NEWSLETTER ─── */
#newsletter{background:var(--charcoal);padding:48px 0;border-top:3px double var(--gold);}
#newsletter h3{font-family:'Cinzel',serif;font-size:1.1rem;color:var(--cream);margin-bottom:.3rem;}
#newsletter p{font-size:.87rem;color:rgba(248,244,238,.5);}
#newsletter .form-control{border-radius:0;border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--cream);font-family:'EB Garamond',serif;height:46px;}
#newsletter .form-control::placeholder{color:rgba(248,244,238,.35);}
#newsletter .form-control:focus{box-shadow:none;border-color:var(--gold);}
.btn-nl{font-family:'Cinzel',serif;font-size:.63rem;letter-spacing:2px;text-transform:uppercase;background:var(--gold);color:var(--charcoal);border:none;padding:0 22px;height:46px;transition:var(--trans);cursor:pointer;}
.btn-nl:hover{background:var(--gold-lt);}

/* ─── FOOTER ─── */
#main-footer{background:var(--charcoal-lt);padding:60px 0 0;border-top:4px double var(--gold);}
#main-footer h5{font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;padding-bottom:7px;border-bottom:1px solid rgba(184,144,42,.25);}
.fl{list-style:none;padding:0;}
.fl li{margin-bottom:7px;}
.fl a{font-family:'Source Sans 3',sans-serif;font-size:.82rem;color:rgba(248,244,238,.5);transition:var(--trans);}
.fl a:hover{color:var(--gold-lt);}
.fc p{font-family:'Source Sans 3',sans-serif;font-size:.82rem;color:rgba(248,244,238,.5);margin-bottom:8px;display:flex;align-items:flex-start;gap:8px;}
.fc i{color:var(--gold);margin-top:3px;flex-shrink:0;}
.soc{display:flex;gap:8px;margin-top:1.2rem;}
.soc a{width:34px;height:34px;border:1px solid rgba(184,144,42,.3);display:flex;align-items:center;justify-content:center;color:rgba(248,244,238,.5);font-size:.9rem;transition:var(--trans);}
.soc a:hover{border-color:var(--gold);color:var(--gold-lt);}
.footer-bot{margin-top:44px;padding:12px 0;border-top:1px solid rgba(184,144,42,.15);font-family:'Source Sans 3',sans-serif;font-size:.73rem;color:rgba(248,244,238,.3);text-align:center;}

/* ─── BACK TO TOP ─── */
#btt{position:fixed;bottom:24px;right:24px;width:42px;height:42px;background:var(--maroon);border:1px solid var(--gold);color:var(--gold-lt);font-size:1rem;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:999;transition:var(--trans);}
#btt.show{display:flex;}
#btt:hover{background:var(--gold);color:var(--charcoal);}

/* ─── STAT BADGE ─── */
.sb{position:absolute;bottom:-18px;right:-18px;background:var(--maroon);border:2px solid var(--gold);padding:14px 18px;text-align:center;}
.sb .sbn{display:block;font-family:'Cinzel',serif;font-size:1.7rem;font-weight:700;color:var(--gold-lt);}
.sb .sbl{display:block;font-family:'Source Sans 3',sans-serif;font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(248,244,238,.6);}

/* ─── RESPONSIVE ─── */
@media(max-width:991px){
  .masthead .mh-right{display:none;}
  .hero-split .hs-text{padding:40px 24px;}
  .hero-split h1{font-size:1.7rem;}
}
@media(max-width:767px){
  .strip-cell{min-width:140px;padding:6px 12px;}
  .inst-title{font-size:1.6rem;}
}
