@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:8px 0;border-bottom:3px double var(--gold);}
.masthead .mh-inner{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;}
.masthead .mh-left,.masthead .mh-right-col{flex:1 1 0;min-width:0;display:flex;align-items:center;}
.masthead .mh-left{justify-content:flex-start;}
.masthead .mh-right-col{justify-content:flex-end;}
.masthead .mh-center{flex:0 1 auto;text-align:center;max-width:min(52%,34rem);min-width:0;}
.masthead .mh-logo{flex:0 0 auto;}
.masthead .mh-logo img{height:72px;}
.mh-headline{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.25rem .6rem;line-height:1.2;}
.mh-headline .mh-name{margin:0;}
.mh-name{font-family:'Cinzel',serif;font-size:1.25rem;font-weight:700;color:var(--maroon);letter-spacing:1.5px;text-transform:uppercase;line-height:1.1;}
.mh-sub{font-family:'EB Garamond',serif;font-size:.72rem;color:var(--muted);letter-spacing:1px;margin-top:2px;line-height:1.25;}
.mh-rule{width:4.5rem;height:1px;background:var(--border);margin:4px auto;}
.masthead .mh-prayer-times,.masthead .mh-right{text-align:right;font-family:'Source Sans 3',sans-serif;font-size:.7rem;color:var(--muted);line-height:1.4;}
.masthead .mh-prayer-times strong,.masthead .mh-right strong{display:block;color:var(--charcoal);font-size:.74rem;margin-bottom:1px;}
.btn-ticket{display:inline-block;margin-top:4px;font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:1.5px;text-transform:uppercase;padding:4px 12px;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:1050;border-bottom:2px solid var(--gold);width:100%;}
.main-nav ul{list-style:none;display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;margin:0;padding:0;}
.main-nav ul li{position:relative;display:flex;align-items:center;flex-shrink:0;}
.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);width:2.75rem;height:2.75rem;padding:0;font-size:1.25rem;cursor:pointer;border-radius:0.35rem;flex-shrink:0;align-items:center;justify-content:center;}
.nav-mob-btn[aria-expanded="true"]{background:rgba(184,144,42,0.15);border-color:var(--gold-lt);}
@media(max-width:991.98px){
  .nav-mob-btn{display:inline-flex;}
}

/* ─── 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;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);font-family:'EB Garamond',serif;margin-bottom:.8rem;}
.hero-split .hero-copy{unicode-bidi:isolate;}
.home-hero-content{width:100%;max-width:560px;}
html[dir='ltr'] .home-hero-content{direction:ltr;text-align:left;}
html[dir='rtl'] .home-hero-content{direction:rtl;text-align:right;}
.home-hero-content .hs-ornament,
.home-hero-content .hs-ar,
.home-hero-content .hero-copy,
.home-hero-content h1,
.home-hero-content p,
.home-hero-content .inst-label{direction:inherit;text-align:inherit;unicode-bidi:isolate;}
.home-hero-actions{display:flex;flex-wrap:wrap;gap:14px;}
html[dir='ltr'] .home-hero-actions{justify-content:flex-start;}
html[dir='rtl'] .home-hero-actions{justify-content:flex-end;}
.hero-split .hs-rule{width:50px;height:3px;background:var(--gold);margin:1rem 0;}
html[dir='rtl'] .home-hero-content .hs-rule{margin-inline-start:auto;margin-inline-end: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-row.strip-row--centered{justify-content:center;}
.strip-row.strip-row--centered .strip-cell{flex:0 1 auto;}
.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;}
.strip-cell .sc-val .rich-content,.strip-cell .sc-val .rich-content p{color:inherit;}

/* ─── 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);}
a.nc{display:block;text-decoration:none;color:inherit;}
a.nc:hover{color:inherit;}
.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 .nc-more{font-family:'Source Sans 3',sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--gold);}
a.nc:hover .nc-more{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;}
.si .sl .rich-content,.si .sl .rich-content p{color:inherit;}
.home-donation-cta__desc .rich-content,.home-donation-cta__desc .rich-content p{color:inherit;}
.about-page-pillar__content .rich-content,.about-page-pillar__content .rich-content p{color:inherit;}

/* ─── 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;}

/* ─── COURSE DETAIL PAGE ─── */
.course-detail-container{width:100%;}
.course-detail-back{color:var(--muted);font-size:.85rem;}
.course-detail-summary{color:var(--muted);font-size:1.05rem;}
.course-detail-meta{gap:1rem;display:flex;flex-wrap:wrap;}
.course-detail-main-image__img{object-fit:cover;max-height:420px;}
.course-detail-main-image__placeholder{min-height:220px;}
.course-detail-main-image__placeholder i{font-size:4rem;opacity:.5;}

/* Instructors: full-width sibling of .course-detail-top (never inside .col-lg-7) */
.course-instructors-row{width:100%;margin-inline:0 !important;}
.course-instructors-row > .col-12{
  flex:0 0 100% !important;
  max-width:100% !important;
  width:100% !important;
  padding-inline:0 !important;
  min-width:0;
}
.course-instructors-section{
  width:100%;
  max-width:none;
  margin-top:4rem;
  padding-bottom:48px;
  display:block;
  min-width:0;
}
.course-instructors-section__header{margin-bottom:1.75rem;width:100%;}

/* Desktop default (≥768px): image | info | schedules */
.course-instructor-item{
  display:grid;
  grid-template-columns:210px minmax(0, 1fr) minmax(220px, 380px);
  gap:40px;
  align-items:start;
  width:100%;
  max-width:100%;
  min-width:0;
  padding:48px 0;
  border-bottom:1px solid var(--cream-xdk);
  box-sizing:border-box;
}
.course-instructor-item:not(:last-child){
  border-bottom:1px solid var(--cream-xdk);
}
.course-instructor-item:last-child{border-bottom:none;padding-bottom:0;}
.course-instructor-item--no-image{
  grid-template-columns:minmax(0, 1fr) minmax(220px, 380px);
}
.course-instructor-item--no-schedules{
  grid-template-columns:210px minmax(0, 1fr);
}
.course-instructor-item--no-image.course-instructor-item--no-schedules{
  grid-template-columns:minmax(0, 1fr);
}

.course-instructor-media{
  width:210px;
  max-width:100%;
  background:var(--cream-dk);
  min-width:0;
}
.course-instructor-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
}

.course-instructor-info{
  min-width:0;
  max-width:100%;
  width:100%;
  text-align:start;
}
.course-instructor-name{
  font-family:'Cinzel',serif;
  font-size:1.35rem;
  font-weight:600;
  letter-spacing:.5px;
  color:var(--charcoal);
  margin:0 0 .35rem;
  line-height:1.3;
  word-wrap:break-word;
  overflow-wrap:anywhere;
}
.course-instructor-course-title{
  font-family:'Source Sans 3',sans-serif;
  font-size:1rem;
  font-weight:600;
  color:var(--gold);
  margin:0 0 1rem;
  line-height:1.4;
  word-wrap:break-word;
  overflow-wrap:anywhere;
}
.course-instructor-biography{
  font-family:'EB Garamond',Georgia,serif;
  font-size:1.05rem;
  color:var(--muted);
  line-height:1.75;
  margin:0;
  white-space:pre-line;
  word-wrap:break-word;
  overflow-wrap:anywhere;
  max-width:none;
  width:100%;
}

.course-instructor-schedules{
  width:100%;
  min-width:0;
  max-width:100%;
}
.course-instructor-schedules__heading{
  font-family:'Cinzel',serif;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 .85rem;
  text-align:start;
}
.course-instructor-schedule{
  display:block;
  width:100%;
  padding:12px 0;
  border-bottom:1px solid var(--cream-dk);
}
.course-instructor-schedule:last-child{border-bottom:none;padding-bottom:0;}
.course-instructor-schedule__main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
}
.course-instructor-schedule__day{
  flex:1 1 auto;
  min-width:0;
  font-family:'Cinzel',serif;
  font-size:.78rem;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--charcoal);
  text-align:start;
}
.course-instructor-schedule__time{
  flex:0 0 auto;
  font-family:'Source Sans 3',sans-serif;
  font-size:.92rem;
  color:var(--text);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  direction:ltr;
  unicode-bidi:isolate;
  text-align:start;
}
.course-instructor-schedule__label{
  width:100%;
  margin-top:6px;
  font-family:'Source Sans 3',sans-serif;
  font-size:.85rem;
  color:var(--muted);
  min-width:0;
  word-wrap:break-word;
  overflow-wrap:anywhere;
  text-align:start;
}

@media (min-width:1200px){
  .course-instructor-item{
    grid-template-columns:210px minmax(0, 1fr) minmax(260px, 380px);
  }
  .course-instructor-item--no-image{
    grid-template-columns:minmax(0, 1fr) minmax(260px, 380px);
  }
  .course-instructor-item--no-schedules{
    grid-template-columns:210px minmax(0, 1fr);
  }
  .course-instructor-item--no-image.course-instructor-item--no-schedules{
    grid-template-columns:minmax(0, 1fr);
  }
}

@media (min-width:768px) and (max-width:1199.98px){
  .course-instructor-item{
    grid-template-columns:170px minmax(0, 1fr);
    gap:28px;
  }
  .course-instructor-item--no-image,
  .course-instructor-item--no-schedules,
  .course-instructor-item--no-image.course-instructor-item--no-schedules{
    grid-template-columns:minmax(0, 1fr);
  }
  .course-instructor-media{width:170px;}
  .course-instructor-schedules{
    grid-column:2;
    margin-top:24px;
  }
  .course-instructor-item--no-image .course-instructor-schedules{
    grid-column:1;
  }
}

@media (max-width:767.98px){
  .course-detail-page .container,
  .course-instructors-section{
    width:min(100% - 24px, 100%);
    margin-inline:auto;
    max-width:100%;
  }
  .course-instructors-section{
    margin-top:2.5rem;
    padding-bottom:48px;
  }
  .course-instructors-section__header .inst-title{
    font-size:clamp(1.75rem, 7vw, 2rem);
  }
  .course-instructor-item,
  .course-instructor-item--no-image,
  .course-instructor-item--no-schedules,
  .course-instructor-item--no-image.course-instructor-item--no-schedules{
    display:flex;
    flex-direction:column;
    grid-template-columns:none;
    grid-template-rows:none;
    grid-column:auto;
    grid-row:auto;
    position:static;
    align-items:stretch;
    align-self:auto;
    justify-content:flex-start;
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:0;
    height:auto;
    gap:16px;
    margin:0;
    padding:28px 0;
    transform:none;
  }
  .course-instructor-item:not(:last-child){
    border-bottom:1px solid var(--cream-xdk);
  }
  .course-instructor-item:last-child{
    border-bottom:none;
    padding-bottom:0;
  }
  .course-instructor-media,
  .course-instructor-info,
  .course-instructor-schedules{
    grid-column:auto;
    grid-row:auto;
    position:static;
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:0;
    height:auto;
    margin:0;
    transform:none;
    align-self:auto;
  }
  .course-instructor-media{
    width:140px;
    max-width:100%;
    margin-inline:auto;
    background:var(--cream-dk);
  }
  .course-instructor-media img{
    width:100%;
    height:140px;
    aspect-ratio:auto;
    object-fit:cover;
    display:block;
  }
  .course-instructor-info{
    text-align:center;
  }
  .course-instructor-name{
    font-size:clamp(1.25rem, 5vw, 1.5rem);
    margin-bottom:.4rem;
  }
  .course-instructor-course-title{
    font-size:clamp(.95rem, 3.8vw, 1.05rem);
    margin-bottom:.75rem;
  }
  .course-instructor-biography{
    font-size:clamp(.95rem, 3.8vw, 1rem);
    line-height:1.65;
    text-align:start;
  }
  .course-instructor-schedules{
    margin-top:8px;
  }
  .course-instructor-schedules__heading{
    text-align:center;
    margin-bottom:.65rem;
  }
  .course-instructor-schedule{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    padding:12px 0;
    border-bottom:1px solid rgba(30, 107, 66, .12);
  }
  .course-instructor-schedule__main{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    width:100%;
  }
  .course-instructor-schedule__day{
    flex:1 1 auto;
    text-align:start;
    font-size:.78rem;
  }
  .course-instructor-schedule__time{
    flex:0 0 auto;
    direction:ltr;
    unicode-bidi:isolate;
    white-space:nowrap;
    text-align:start;
    font-size:.9rem;
  }
  .course-instructor-schedule__label{
    width:100%;
    margin-top:6px;
    text-align:start;
  }
  .course-registration-cta{
    margin-top:2.5rem;
  }
}

@media (max-width:420px){
  .course-instructor-media{
    width:120px;
  }
  .course-instructor-media img{
    height:120px;
  }
  .course-instructor-schedule__main{
    gap:10px;
  }
  .course-instructor-item,
  .course-instructor-item--no-image,
  .course-instructor-item--no-schedules,
  .course-instructor-item--no-image.course-instructor-item--no-schedules{
    padding:24px 0;
    gap:14px;
  }
}

/* ─── COURSE DETAIL REGISTER CTA ─── */
.course-registration-cta{
  width:100%;
  margin-top:4rem;
  padding:3.5rem 2rem;
  text-align:center;
  background:var(--charcoal);
  border:1px solid rgba(184,144,42,.3);
  border-top:3px solid var(--gold);
}
.course-registration-cta__inner{
  max-width:900px;
  margin:0 auto;
  width:100%;
}
.course-registration-cta__title{
  font-family:'Cinzel',serif;
  font-size:clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight:600;
  letter-spacing:.5px;
  color:var(--cream);
  margin:0 0 .85rem;
  line-height:1.3;
}
.course-registration-cta__description{
  font-family:'EB Garamond',Georgia,serif;
  font-size:1.05rem;
  color:rgba(248,244,238,.7);
  margin:0 0 1.75rem;
  line-height:1.65;
}
.course-registration-cta__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
@media (max-width:576px){
  .course-registration-cta{
    margin-top:2.5rem;
    padding:2.5rem 1.15rem;
  }
  .course-registration-cta__button{
    width:100%;
    box-sizing:border-box;
  }
}

/* ─── COURSE REGISTRATION FORM ─── */
.course-registration-page{
  text-align:start;
  overflow-x:clip;
}
.course-registration-shell{
  width:min(100% - 32px, 980px);
  margin-inline:auto;
}
.course-registration-header{
  text-align:center;
  margin-bottom:2rem;
}
.course-registration-header__lead{
  max-width:36rem;
  margin-block:.75rem 0;
  margin-inline:auto;
  color:var(--muted);
  line-height:1.65;
}
.course-registration-course-summary{
  display:flex;
  gap:1.25rem;
  align-items:center;
  width:100%;
  margin-bottom:2rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid var(--cream-xdk);
}
.course-registration-course-summary__image{
  width:110px;
  height:110px;
  object-fit:cover;
  flex:0 0 110px;
  background:var(--cream-dk);
}
.course-registration-course-summary__content{
  flex:1 1 auto;
  min-width:0;
  text-align:start;
}
.course-registration-course-summary__title{
  font-family:'Cinzel',serif;
  font-size:1.25rem;
  color:var(--charcoal);
  margin:0 0 .4rem;
}
.course-registration-course-summary__meta{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1.25rem;
  color:var(--muted);
  font-size:.92rem;
}
.course-registration-closed{
  text-align:center;
  padding:2.5rem 1rem;
  border-top:3px solid var(--gold);
  background:var(--charcoal);
  color:var(--cream);
}
.course-registration-closed .btn-m-fill{margin-top:1rem;}
.course-registration-errors{margin-bottom:1.5rem;}
.course-registration-honeypot{
  position:absolute !important;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
  padding:0;
  margin:-1px;
}
.course-registration-progress{
  margin-bottom:1.75rem;
  padding-bottom:1.25rem;
  border-bottom:1px solid var(--cream-xdk);
}
.course-registration-progress__mobile{
  display:none;
  margin:0 0 .85rem;
  font-family:'Source Sans 3',sans-serif;
  font-size:.9rem;
  color:var(--green, #1E6B42);
  text-align:start;
}
.course-registration-progress__list{
  list-style:none;
  display:flex;
  align-items:flex-start;
  gap:0;
  padding:0;
  margin:0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.course-registration-progress__item{
  position:relative;
  display:flex;
  flex:1 1 0;
  min-width:7.5rem;
  flex-direction:column;
  align-items:center;
  gap:.45rem;
  padding-inline:.35rem;
  font-family:'Source Sans 3',sans-serif;
  font-size:.72rem;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:var(--muted);
  text-align:center;
}
.course-registration-progress__item:not(.is-hidden):not(.is-last-visible)::after{
  content:"";
  position:absolute;
  inset-block-start:.85rem;
  inset-inline-start:calc(50% + 1.05rem);
  width:calc(100% - 2.1rem);
  height:1px;
  background:var(--cream-xdk);
}
.course-registration-progress__item.is-hidden{
  display:none !important;
}
.course-registration-progress__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.7rem;
  height:1.7rem;
  border:1px solid var(--cream-xdk);
  color:var(--muted);
  background:#fff;
  z-index:1;
}
.course-registration-progress__item em{
  font-style:normal;
  line-height:1.25;
  max-width:8.5rem;
}
.course-registration-progress__item.is-active,
.course-registration-progress__item.is-complete{
  color:var(--green, #1E6B42);
}
.course-registration-progress__item.is-active .course-registration-progress__num{
  border-color:var(--green, #1E6B42);
  background:var(--green, #1E6B42);
  color:#fff;
}
.course-registration-progress__item.is-complete .course-registration-progress__num{
  border-color:var(--green, #1E6B42);
  background:transparent;
  color:var(--green, #1E6B42);
}
.course-registration-progress__item.is-complete:not(.is-hidden):not(.is-last-visible)::after{
  background:rgba(30, 107, 66, .45);
}
.course-registration-form{
  position:relative;
  width:100%;
  padding:1.5rem 0 0;
  text-align:start;
}
.course-registration-step{
  /* Keep inactive steps in the accessibility tree for form submission.
     display:none can cause some browsers to omit field values from POST. */
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
  pointer-events:none;
}
.course-registration-step.is-active{
  position:static;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
  overflow:visible;
  clip:auto;
  white-space:normal;
  pointer-events:auto;
}
.course-registration-step[hidden]{
  /* Prefer the clipped inactive style above; only force-hide when not active. */
  display:block !important;
}
.course-registration-step.is-active[hidden]{
  display:block !important;
}
.course-registration-step__title{
  font-family:'Cinzel',serif;
  font-size:1.35rem;
  color:var(--charcoal);
  margin:0 0 .85rem;
  padding-bottom:.65rem;
  border-bottom:1px solid var(--cream-xdk);
  text-align:start;
}
.course-registration-step__help{
  color:var(--muted);
  margin:0 0 1.25rem;
  line-height:1.6;
  text-align:start;
}
.course-registration-fields{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
  width:100%;
}
.course-registration-field{
  min-width:0;
  width:100%;
}
.course-registration-field--full{
  grid-column:1 / -1;
}
.course-registration-field > label,
.course-registration-fieldset legend{
  display:block;
  float:none;
  width:auto;
  font-family:'Source Sans 3',sans-serif;
  font-size:.72rem;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.45rem;
  padding:0;
  text-align:start;
}
.course-registration-field .req{
  color:var(--gold);
  margin-inline-start:.15rem;
}
.course-registration-control{
  display:block;
  width:100%;
  max-width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid rgba(30, 107, 66, .28);
  border-radius:2px;
  background:#fffef9;
  color:var(--charcoal);
  font:inherit;
  line-height:1.4;
  box-shadow:none;
  box-sizing:border-box;
}
.course-registration-control--textarea{
  min-height:140px;
  resize:vertical;
}
.course-registration-control:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201, 168, 76, .22);
  background:#fff;
}
.course-registration-control.is-invalid,
.course-registration-option:has(input.is-invalid){
  border-color:#b42318;
}
.course-registration-error{
  display:block;
  margin-top:.35rem;
  color:#b42318;
  font-size:.875rem;
  text-align:start;
}
.course-registration-ltr-value{
  direction:ltr;
  text-align:start;
  unicode-bidi:isolate;
}
.course-registration-fieldset{
  border:0;
  margin:0;
  padding:0;
  min-width:0;
  width:100%;
}
.course-registration-options{
  display:grid;
  gap:.65rem;
  width:100%;
}
.course-registration-options--inline{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.course-registration-options--stack{
  grid-template-columns:1fr;
}
.course-registration-option{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  margin:0;
  padding:.8rem 1rem;
  border:1px solid rgba(30, 107, 66, .22);
  background:#fffef9;
  cursor:pointer;
  color:var(--charcoal);
  line-height:1.45;
  text-align:start;
  transition:border-color .2s ease, background .2s ease;
}
.course-registration-group-options{
  display:grid;
  gap:12px;
  width:100%;
}
.course-registration-group-options.is-invalid{
  outline:2px solid rgba(180, 35, 24, .35);
  outline-offset:4px;
}
.course-registration-group-option{
  display:flex;
  align-items:center;
  gap:18px;
  margin:0;
  padding:18px 22px;
  min-height:0;
  height:auto;
  max-height:none;
  border:1px solid rgba(30, 107, 66, .22);
  border-radius:12px;
  background:#fffef9;
  cursor:pointer;
  color:var(--charcoal);
  line-height:1.35;
  text-align:start;
  transition:border-color .2s ease, background .2s ease;
}
.course-registration-group-option:hover{
  border-color:var(--green, #1E6B42);
}
.course-registration-group-option:has(input:focus-visible){
  outline:2px solid var(--gold);
  outline-offset:2px;
}
.course-registration-group-option.is-selected,
.course-registration-group-option:has(input:checked){
  border-color:var(--green, #1E6B42);
  background:rgba(201,168,76,.12);
}
.course-registration-group-option__control{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  margin:0;
}
.course-registration-group-option__control input{
  width:1.1rem;
  height:1.1rem;
  margin:0;
  accent-color:var(--green, #1E6B42);
}
.course-registration-group-option__content{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  flex:1 1 auto;
}
.course-registration-group-option__title{
  display:block;
  margin:0;
  font-size:1.125rem;
  font-weight:600;
  line-height:1.3;
  color:var(--green, #1E6B42);
}
.course-registration-group-option__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 12px;
  margin:0;
  color:rgba(30, 107, 66, .78);
  font-size:.9375rem;
  line-height:1.35;
}
.course-registration-group-option__sep{
  color:rgba(30, 107, 66, .45);
  line-height:1;
}
.course-registration-success__groups{
  list-style:none;
  margin:.5rem 0 0;
  padding:0;
  text-align:start;
}
.course-registration-success__groups li{
  margin:0 0 .85rem;
  padding-bottom:.85rem;
  border-bottom:1px solid var(--cream-xdk);
}
.course-registration-success__groups li:last-child{
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:0;
}
.course-registration-success__groups strong{
  display:block;
  color:var(--green, #1E6B42);
  margin-bottom:.2rem;
}
.course-registration-option:hover{
  border-color:var(--green, #1E6B42);
}
.course-registration-option:has(input:focus-visible){
  outline:2px solid var(--gold);
  outline-offset:2px;
}
.course-registration-option:has(input:checked){
  border-color:var(--green, #1E6B42);
  background:rgba(201,168,76,.12);
}
.course-registration-option input{
  margin-block-start:.2rem;
  flex:0 0 auto;
  accent-color:var(--green, #1E6B42);
}
.course-registration-option > span,
.course-registration-option__body{
  flex:1 1 auto;
  min-width:0;
}
.course-registration-option__body{
  display:flex;
  flex-direction:column;
  gap:.25rem;
}
.course-registration-option__body strong{color:var(--green, #1E6B42);}
.course-registration-option__body em{
  color:var(--muted);
  font-style:normal;
  font-size:.9rem;
}
.course-registration-check{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:.95rem !important;
  color:var(--text) !important;
  line-height:1.5;
  padding:.85rem 0;
  text-align:start;
}
.course-registration-check input{
  margin-block-start:.2rem;
  accent-color:var(--green, #1E6B42);
}
.course-registration-finance{
  margin-bottom:1.35rem;
  padding:1.1rem 0;
  border-top:1px solid var(--cream-dk);
  border-bottom:1px solid var(--cream-dk);
  text-align:start;
}
.course-registration-finance p{margin:0 0 .65rem;line-height:1.65;}
.course-registration-finance p:last-child{margin-bottom:0;}
.course-registration-finance__description{color:var(--charcoal);}
.course-registration-finance__note{color:var(--muted);font-size:.92rem;}
.course-registration-terms{
  margin:1.5rem 0;
  padding:1.35rem 1.25rem;
  background:var(--cream-dk);
  border-top:2px solid var(--gold);
  text-align:start;
}
.course-registration-terms h3{
  font-family:'Cinzel',serif;
  font-size:1.05rem;
  margin:0 0 .85rem;
  color:var(--charcoal);
}
.course-registration-terms__body,
.course-registration-terms__list{
  margin:0;
  padding-inline-start:1.2rem;
  color:var(--text);
  line-height:1.65;
}
.course-registration-terms__list li{margin-bottom:.45rem;}
.course-registration-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:2rem;
  padding-top:1.35rem;
  border-top:1px solid var(--cream-xdk);
}
.course-registration-actions__end{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-inline-start:auto;
}
.course-registration-actions .btn-m,
.course-registration-actions .btn-m-fill{
  min-height:48px;
  min-width:140px;
  padding-inline:1.4rem;
}
.course-registration-actions [data-registration-submit]:disabled,
.course-registration-actions [data-registration-submit].is-loading{
  opacity:.55;
  cursor:not-allowed;
}
.course-registration-success{
  max-width:760px;
  margin-inline:auto;
  text-align:center;
}
.course-registration-success__lead,
.course-registration-success__note{color:var(--muted);line-height:1.7;}
.course-registration-success__summary{
  text-align:start;
  margin:2rem auto;
  padding:1.25rem 0;
  border-top:1px solid var(--cream-xdk);
  border-bottom:1px solid var(--cream-xdk);
}
.course-registration-success__summary > div{margin-bottom:1rem;}
.course-registration-success__summary dt{
  font-family:'Source Sans 3',sans-serif;
  font-size:.72rem;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--gold);
}
.course-registration-success__summary dd{margin:.2rem 0 0;color:var(--charcoal);}
.course-registration-success__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  justify-content:center;
}
.course-registration-option--disabled{
  opacity:.72;
  cursor:not-allowed;
}
.course-registration-option__hint{
  display:block;
  font-style:normal;
  font-size:.85em;
  color:var(--muted);
  margin-top:.15rem;
}
.course-registration-payment-summary{
  margin-bottom:1.5rem;
  padding:1.1rem 1.25rem;
  border:1px solid rgba(201,168,76,.35);
  background:#fffef9;
}
.course-registration-payment-summary__heading{
  margin:0 0 .85rem;
  font-family:'Cinzel',serif;
  font-size:1.05rem;
  color:var(--green, #1E6B42);
}
.course-registration-payment-summary__list{
  margin:0;
  display:grid;
  gap:.75rem;
}
.course-registration-payment-summary__list dt{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}
.course-registration-payment-summary__list dd{margin:.15rem 0 0;color:var(--charcoal);}
.course-registration-payment-summary__groups{
  margin:.25rem 0 0;
  padding-inline-start:1.1rem;
}
.course-registration-payment-page__lead{
  color:var(--muted);
  line-height:1.7;
  margin-bottom:1.25rem;
}
.course-registration-payment-meta{
  display:grid;
  gap:.85rem;
  margin-bottom:1.5rem;
}
.course-registration-payment-meta dt{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}
.course-registration-payment-meta dd{margin:.15rem 0 0;}
.course-registration-payment-badge{
  display:inline-flex;
  padding:.25rem .65rem;
  border-radius:999px;
  background:rgba(30,107,66,.1);
  color:var(--green, #1E6B42);
  font-size:.85rem;
  font-weight:600;
}
.course-registration-payment-groups{margin-bottom:1.5rem;}
.course-registration-payment-groups__title{
  font-size:1rem;
  margin-bottom:.5rem;
  color:var(--green, #1E6B42);
}
.course-registration-pix{
  display:grid;
  gap:1.25rem;
  margin-bottom:1.5rem;
  padding:1.25rem;
  border:1px solid rgba(30,107,66,.2);
  background:#fff;
}
.course-card-payment-panel {
  margin-top: 32px;
}
.course-card-payment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.course-card-payment-grid .course-registration-field--full {
  grid-column: 1 / -1;
}
.course-card-payment-panel .course-registration-control,
.course-card-payment-panel select.course-registration-control {
  width: 100%;
  min-height: 50px;
}
.course-pix-payment-panel {
  margin-top: 1.25rem;
}
@media (max-width: 768px) {
  .course-card-payment-grid {
    grid-template-columns: 1fr;
  }
  .course-card-payment-grid .course-registration-field--full {
    grid-column: auto;
  }
}
.course-registration-checkout-methods{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-bottom:1.5rem;
}
.course-registration-checkout-method{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:7.5rem;
  padding:1.25rem 1rem;
  border:1px solid rgba(30,107,66,.22);
  background:#fff;
  color:var(--charcoal);
  font-weight:600;
  cursor:pointer;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.course-registration-checkout-method i{font-size:1.75rem;color:var(--green, #1E6B42);}
.course-registration-checkout-method.is-active,
.course-registration-checkout-method:hover{
  border-color:var(--green, #1E6B42);
  box-shadow:0 8px 24px rgba(30,107,66,.12);
  transform:translateY(-1px);
}
.course-registration-checkout-methods--inline{
  grid-template-columns:1fr;
}
.course-registration-checkout-methods--inline .course-registration-checkout-method{
  flex-direction:row;
  min-height:auto;
  justify-content:flex-start;
}
.course-registration-card-number-wrap{position:relative;}
.course-registration-card-brand{
  position:absolute;
  inset-inline-end:.85rem;
  top:50%;
  transform:translateY(-50%);
  font-size:.8rem;
  font-weight:700;
  color:var(--green, #1E6B42);
}
.course-registration-card-checkout{
  padding:1.25rem;
  border:1px solid rgba(30,107,66,.2);
  background:#fff;
  margin-bottom:1.5rem;
}
@media (max-width: 640px){
  .course-registration-checkout-methods{grid-template-columns:1fr;}
}
.course-registration-pix__qr{
  display:flex;
  justify-content:center;
  background:#fff;
  padding:1rem;
}
.course-registration-pix__copy label{
  display:block;
  margin-bottom:.4rem;
  font-weight:600;
}
.course-registration-pix__copied{
  margin-top:.5rem;
  color:var(--green, #1E6B42);
  font-weight:600;
}
.course-registration-pix__expires{color:var(--muted);margin:0;}
.course-registration-pix__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}
.course-registration-test-payment,
.course-payment-test{
  margin-top:1.5rem;
  padding:1rem 1.1rem;
  border:1px dashed rgba(201,168,76,.55);
  background:rgba(30,107,66,.06);
}
.course-registration-test-payment__note,
.course-payment-test__note,
.course-payment-test-note{
  margin:0 0 .75rem;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.5;
}
.course-registration-test-payment__button,
.course-payment-test__button,
.course-payment-test-button{
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:48px;
  padding:.7rem 1rem;
  border:2px solid var(--gold, #C9A84C);
  background:transparent;
  color:var(--green, #1E6B42);
  font-family:'Source Sans 3',sans-serif;
  font-weight:600;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.course-registration-test-payment__button:hover,
.course-registration-test-payment__button:focus-visible,
.course-payment-test__button:hover,
.course-payment-test__button:focus-visible,
.course-payment-test-button:hover,
.course-payment-test-button:focus-visible{
  background:var(--green, #1E6B42);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(27,58,45,.22);
  outline:2px solid var(--gold, #C9A84C);
  outline-offset:2px;
}
.course-registration-test-payment__button:disabled,
.course-payment-test__button:disabled,
.course-payment-test-button:disabled{
  opacity:.7;
  cursor:wait;
  transform:none;
}
.course-registration-test-payment__badge,
.course-payment-test__badge{
  display:inline-flex;
  padding:.15rem .45rem;
  border-radius:4px;
  background:rgba(201,168,76,.25);
  border:1px solid var(--gold, #C9A84C);
  color:var(--green, #1E6B42);
  font-size:.72rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.course-payment-test__button:hover .course-payment-test__badge,
.course-payment-test-button:hover .course-payment-test__badge,
.course-payment-test__button:focus-visible .course-payment-test__badge{
  color:#fff;
}
.course-registration-success__test-badge{
  display:inline-flex;
  margin-inline-start:.5rem;
  padding:.2rem .55rem;
  border-radius:999px;
  background:rgba(201,168,76,.2);
  border:1px solid var(--gold, #C9A84C);
  color:var(--green, #1E6B42);
  font-size:.75rem;
  font-weight:700;
  vertical-align:middle;
}
.course-registration-method-panel{margin-top:1rem;}
.course-registration-card-panel__title{
  margin:0 0 .85rem;
  font-family:'Cinzel',serif;
  font-size:1.05rem;
  color:var(--green, #1E6B42);
}
.course-registration-card-panel__notice{margin-bottom:1rem;}
.course-registration-card-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  margin-bottom:1rem;
}
.course-registration-hosted-field{
  min-height:48px;
  display:flex;
  align-items:center;
  background:#fff;
  color:var(--muted);
  cursor:not-allowed;
}
.course-registration-hosted-field__placeholder{
  font-size:.9rem;
}
.course-registration-card-panel__feedback{
  margin:.75rem 0;
  color:var(--green, #1E6B42);
  font-weight:600;
}
.course-registration-card-panel__feedback.is-error{
  color:#8a1f1a;
}
@media (min-width:768px){
  .course-registration-card-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .course-registration-card-grid .course-registration-field--full{
    grid-column:1 / -1;
  }
  .course-registration-pix{
    grid-template-columns:220px 1fr;
    align-items:start;
  }
  .course-registration-pix__expires,
  .course-registration-pix__actions{grid-column:1 / -1;}
}
@media (max-width:767.98px){
  .course-registration-card-grid{grid-template-columns:1fr;}
}
@media (min-width:768px){
  .course-registration-pix{
    grid-template-columns:220px 1fr;
    align-items:start;
  }
  .course-registration-pix__expires,
  .course-registration-pix__actions{grid-column:1 / -1;}
}
@media (max-width:768px){
  .course-registration-course-summary{
    flex-direction:column;
    align-items:flex-start;
  }
  .course-registration-fields{
    grid-template-columns:1fr;
  }
  .course-registration-field--full{
    grid-column:auto;
  }
  .course-registration-options--inline{
    grid-template-columns:1fr;
  }
  .course-registration-group-option{
    align-items:flex-start;
    gap:14px;
    padding:14px 16px;
  }
  .course-registration-group-option__control{
    margin-block-start:.2rem;
  }
  .course-registration-group-option__title{
    font-size:1.05rem;
  }
  .course-registration-group-option__meta{
    gap:4px 10px;
    font-size:.9rem;
  }
  .course-registration-progress__mobile{
    display:block;
  }
  .course-registration-progress__list{
    gap:.65rem;
  }
  .course-registration-progress__item{
    flex:0 0 auto;
    min-width:6.5rem;
  }
  .course-registration-progress__item em{
    font-size:.65rem;
  }
  .course-registration-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .course-registration-actions__end{
    width:100%;
    margin-inline-start:0;
    flex-direction:column;
  }
  .course-registration-actions .btn-m,
  .course-registration-actions .btn-m-fill,
  .course-registration-success__actions .btn-m-fill,
  .course-registration-success__actions .btn-g{
    width:100%;
    text-align:center;
  }
}

/* ─── 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(244,249,245,.72);transition:var(--trans);}
.fl a:hover{color:var(--gold-lt);}
.footer-brand-desc{font-family:'Source Sans 3',sans-serif;font-size:.82rem;color:rgba(244,249,245,.72);line-height:1.8;}
.fc p{font-family:'Source Sans 3',sans-serif;font-size:.82rem;color:rgba(244,249,245,.72);margin-bottom:8px;display:flex;align-items:flex-start;gap:8px;}
.fc a.footer-contact-link{color:rgba(244,249,245,.72);text-decoration:none;border-bottom:1px solid rgba(201,168,76,.28);transition:var(--trans);}
.fc a.footer-contact-link:hover{color:var(--gold-lt);border-color:var(--gold-lt);}
.fc i{color:var(--gold);margin-top:3px;flex-shrink:0;}
.footer-date{margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(184,144,42,.18);font-family:'Source Sans 3',sans-serif;font-size:.8rem;color:rgba(244,249,245,.78);text-transform:capitalize;}
.footer-date .date-pt{color:rgba(244,249,245,.82);}
.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(244,249,245,.72);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(244,249,245,.72);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);}

/* ─── COURSE FLOATING WHATSAPP ─── */
@keyframes whatsappPulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.06);}
}
.course-floating-whatsapp{
  position:fixed;
  inset-inline-end:24px;
  inset-block-end:84px;
  z-index:1000;
  pointer-events:none;
}
.course-floating-whatsapp__link{
  pointer-events:auto;
  position:relative;
  width:60px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  border:2px solid var(--gold, #C9A84C);
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  text-decoration:none;
  cursor:pointer;
  transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
  animation:whatsappPulse 3s ease-in-out infinite;
}
.course-floating-whatsapp__link:hover,
.course-floating-whatsapp__link:focus-visible{
  animation:none;
  background:#20bd5a;
  color:#fff;
  transform:translateY(-3px) scale(1.06);
  box-shadow:0 14px 36px rgba(0,0,0,.24);
  outline:none;
}
.course-floating-whatsapp__link:focus-visible{
  box-shadow:0 0 0 2px rgba(201,168,76,.55), 0 14px 36px rgba(0,0,0,.24);
}
.course-floating-whatsapp__link:active{
  animation:none;
  transform:scale(.96);
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}
.course-floating-whatsapp__icon{
  font-size:30px;
  line-height:1;
  display:block;
  color:#fff;
  pointer-events:none;
}
.course-floating-whatsapp__tooltip{
  position:absolute;
  inset-block-start:50%;
  inset-inline-end:calc(100% + 14px);
  transform:translateY(-50%);
  padding:.4rem .75rem;
  border-radius:8px;
  background:rgba(27,58,45,.94);
  color:#fff;
  font-family:'Source Sans 3',sans-serif;
  font-size:.8rem;
  font-weight:500;
  letter-spacing:.15px;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .3s ease, visibility .3s ease;
  box-shadow:0 8px 20px rgba(0,0,0,.14);
}
.course-floating-whatsapp__tooltip::after{
  content:"";
  position:absolute;
  inset-block-start:50%;
  inset-inline-start:100%;
  transform:translateY(-50%);
  border:5px solid transparent;
  border-inline-start-color:rgba(27,58,45,.94);
}
.course-floating-whatsapp__link:hover .course-floating-whatsapp__tooltip,
.course-floating-whatsapp__link:focus-visible .course-floating-whatsapp__tooltip{
  opacity:1;
  visibility:visible;
}
.course-registration-page .course-floating-whatsapp{
  inset-block-end:calc(92px + env(safe-area-inset-bottom, 0px));
}
@media (max-width:767.98px){
  .course-floating-whatsapp{
    inset-inline-end:16px;
    inset-block-end:calc(76px + env(safe-area-inset-bottom, 0px));
  }
  .course-floating-whatsapp__link{
    width:54px;
    height:54px;
  }
  .course-floating-whatsapp__icon{
    font-size:28px;
  }
  .course-floating-whatsapp__tooltip{
    display:none;
  }
  .course-registration-page .course-floating-whatsapp{
    inset-block-end:calc(100px + env(safe-area-inset-bottom, 0px));
  }
}

/* ─── 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:0;flex:0 0 100%;padding:6px 12px;}
  .inst-title{font-size:1.6rem;}
  .hero-split .hs-img{min-height:240px;}
  .hero-split .hs-img img{min-height:240px;}
  .hero-split .hs-text{padding:32px 20px;}
}

/* =============================================
   UNIVERSAL IMAGE STANDARDIZATION (Grid Fix)
   Ensures all card-style images have uniform height
   and professional aspect ratio.
   ============================================= */
.course-card img,
.event-card img,
.blog-card img,
.shop-card img,
.card img,
.blog figure img,
.witr_pslide_image img,
.witr_team_thumb15 img,
.team-card img,
.campaign-card img,
.service-item img,
.tawhid-event-thumb_adn img,
.txbd_event_schedule_thumb img,
.witr_single_pslide img,
.img-navigating img,
.join-our-img img,
.event-img img,
.course-img img,
.team-img img {
    height: 250px !important;
    width: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Specific Adjustments for smaller/different aspect ratios if needed */
.shop-card img {
    height: 280px !important;
}

.blog figure img, .blog-card img {
    height: 300px !important;
}

.team-card img, .witr_team_thumb15 img {
    height: 350px !important;
}
