/* ==========================================================================
   MGPL dark layer (loads after main.css).
   Full black pages, wide layout, lime accent, Bebas Neue + Inter.
   To change colours or width, edit the variables right below.
   ========================================================================== */
:root{
  --black:#0a0a0a; --ink:#111214; --panel:#0e1317; --line:rgba(255,255,255,.1);
  --lime:#d7ff00; --white:#fff; --muted:#a9aeb5;
  --font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-display:'Bebas Neue','Oswald','Arial Narrow',Impact,sans-serif;
  --mg-max:1560px;                                  /* widest the content gets */
  --mg-pad:clamp(1.25rem,4.4vw,4.75rem);           /* side margin */

  /* re-point the older homepage variables to the dark palette */
  --hp-dark:#0a0a0a; --hp-blue:#d7ff00; --hp-accent:#d7ff00; --hp-ink:#fff; --hp-text:#b4b9c0;
  --hp-overlay:rgba(0,0,0,.55); --hp-tint:#0e1012; --hp-crumb:#0e1012; --hp-banner:rgba(0,0,0,.55);
  --hp-green:#d7ff00; --hp-cyan:#d7ff00; --hp-w:1560px; --hp-page-w:1560px;
}

/* ---- Everything black, edge to edge ---------------------------------- */
html,body,body.mgpl{background:#0a0a0a!important;color:#fff}
body.mgpl{font-family:var(--font);overflow-x:clip}
body.mgpl #page,body.mgpl .site,body.mgpl .site-content,body.mgpl #content,body.mgpl .ast-container{background:transparent!important;max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
body.mgpl main#main{display:block;width:100%;background:#0a0a0a}
.wrap,.hp-wrap,.hp-wrap--page,.mg-wrap{width:min(100% - 2*var(--mg-pad),var(--mg-max))!important;margin-inline:auto}
.mgpl h1,.mgpl h2,.mgpl h3{font-family:var(--font-display);font-weight:400;letter-spacing:.01em;line-height:1.02;text-transform:uppercase}
.mgpl p{max-width:none}

/* ---- Old white / navy areas become black ------------------------------ */
.hp-light,.hp-story,.hp-amb,.hp-amb--tint,.gal,.on-light{background:#0a0a0a!important;color:var(--hp-text)}
.hp-story__text{background:#0a0a0a}
.hp-amb--tint{background:#0e1012!important}
.hp-amb--tint .hp-amb__card,.hp-n__txt,.nm-card,.pr-card,.grant,.hp-light .card{background:#111214!important;border-color:var(--line)!important;color:var(--hp-text)}
body.mgpl .hp-amb__name{color:#fff!important}
.hp-amb__card{color:#fff}
body.mgpl .hp-n__txt h3,body.mgpl .nm-card h3 a,body.mgpl .grant h3 a,body.mgpl .job h3 a{color:#fff}
.hp-nums{background:#0a0a0a;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hp-news{background:#0a0a0a;color:#fff}
.hp-n__more,.job__more,.nm-card__more,.ses__links a{color:var(--lime)!important;border-color:var(--lime)}
.ses__links a:hover,.hp-page .ses__links a:hover{background:var(--lime);color:#000!important}
.hp-quote,.mgpl .hp-quote p{color:#e8e8e8}
.hp-quote::before,.hp-quote::after{color:#1c1e21}
.hp-quote cite{color:var(--lime)}
.mgpl .ppl__title{color:var(--lime)}
.ppl__links{color:#c9ccd0}
.mgpl .ppl__img{background:#16181b}
.hp-amb__photo,.nm-card__img,.pr-card__img{background:#16181b}
.hp-test__slide{background-color:#0a0a0a}
.btn--lime,.mgpl .btn--lime{background:var(--lime);color:#0a0a0a!important;border-color:var(--lime)}
.btn--lime:hover{background:#fff;border-color:#fff}
.btn-more{background:var(--lime);color:#000}
.hp-dots button{border-color:#fff}
.hp-dots--dark button{border-color:#fff}.hp-dots--dark button[aria-current="true"]{background:#fff}
.hp-arrow{color:#fff}.hp-arrow:hover{color:var(--lime)}
.hp-page,.hp-page p,.hp-page li{color:var(--hp-text)}
.hp-page h1,.hp-page h2,.hp-page h3,.hp-page h4{color:#fff}
.hp-page a{color:var(--lime)}
.hp-page .btn--lime{color:#0a0a0a!important}
.hp-light .meta,.mgpl .hp-page .meta{color:var(--lime)}
.hp-light .postnav,.hp-light .pager .page-numbers{border-color:var(--line);color:#fff}
.hp-light .pager .current{background:var(--lime);border-color:var(--lime);color:#000}
.hp-page table{border-collapse:collapse}.hp-page td,.hp-page th{border:1px solid var(--line);padding:.6rem .8rem}
.hp-empty-dark{color:var(--muted)}
.job{border-color:var(--line)}.ses{border-color:var(--line)}
.ses__date{background:#16181b;border:1px solid var(--line)}
.mgpl .job__meta,.mgpl .grant__date,.pr-card__meta{color:var(--muted)}
.hp-page .grant h3 a,.hp-page .job h3 a{color:#fff}

/* Banner + breadcrumb bar */
.banner{background-color:#0a0a0a}
.banner::before{background:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.82))}
.crumbbar{background:#0e1012;color:var(--muted);border-bottom:1px solid var(--line);font-size:.8rem}
.crumbs a{color:var(--lime)}
.crumbs [aria-current]{color:#fff}

/* Headings: small line is a lime label, big line is condensed display */
.mgpl .hp-h{line-height:.98}
.hp-h__sm{font-family:var(--font);font-size:clamp(.78rem,1.4vw,.95rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin-bottom:.5em}
.hp-h__lg{font-family:var(--font-display);font-size:clamp(2.6rem,6.2vw,5rem);font-weight:400;letter-spacing:.01em;text-transform:uppercase}
.hp-h::after{background:var(--lime);width:64px;height:4px}
.mgpl .banner .hp-h{color:#fff}

/* ---- Header ------------------------------------------------------------ */
.site-header{background:rgba(10,10,10,.94);border-bottom:1px solid var(--line)}
.site-header .site-header__inner{width:min(100% - 2*var(--mg-pad),var(--mg-max))}
.nav__list a{font-family:var(--font);font-weight:600;font-size:.92rem;letter-spacing:.02em}
.nav__donate{border-radius:6px}

/* Logo lockup */
.mg-logo{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff}
.mg-logo__mark{display:grid;place-items:center;width:40px;height:40px;border-radius:6px;background:var(--lime);color:#0a0a0a;font-family:var(--font-display);font-size:1.7rem;line-height:1}
.mg-logo__txt{display:flex;flex-direction:column;line-height:1.05}
.mg-logo__txt strong{font-family:var(--font-display);font-size:1.5rem;font-weight:400;letter-spacing:.04em}
.mg-logo__txt small{font-size:.55rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* ---- Shared section styling -------------------------------------------- */
.mg-sec{padding:clamp(3.25rem,8vw,6.5rem) 0;background:#0a0a0a}
.mg-head{margin-bottom:clamp(1.75rem,4vw,3rem)}
.mg-eyebrow{display:flex;align-items:center;gap:1rem;margin:0 0 1.1rem;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c9ccd0}
.mg-eyebrow__num{color:var(--lime);font-weight:800}
.mg-eyebrow__line{width:clamp(44px,5vw,64px);height:2px;background:var(--lime)}
.mg-eyebrow__txt{color:#c9ccd0}
.mgpl .mg-title{margin:0 0 1rem;font-size:clamp(3rem,8.4vw,7rem);line-height:.95;color:#fff}
.mgpl .mg-title--sm{font-size:clamp(2.2rem,4.6vw,3.6rem)}
.mgpl .mg-title--italic{font-style:italic;font-weight:400;transform:skewX(-6deg);transform-origin:left}
.mg-head__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.mgpl .mg-sub,.mgpl .mg-lead{margin:0;color:var(--muted);font-size:clamp(.95rem,1.4vw,1.05rem)}
.mgpl .mg-lead{margin-bottom:2.5rem;max-width:62ch;font-size:clamp(1rem,1.7vw,1.2rem)}
.mg-viewall{display:inline-flex;align-items:center;gap:.5rem;color:var(--lime);font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--lime);padding-bottom:.2rem;transition:gap .2s,color .2s}
.mg-viewall:hover{gap:.9rem;color:#fff;border-color:#fff}
.mgpl .mg-empty{color:var(--muted)}
.mg-arrow{display:block}

/* ---- Focus Areas ------------------------------------------------------- */
.fa-grid{display:grid;gap:clamp(.7rem,1.4vw,1.5rem)}
.fa-grid--mosaic{grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(260px,29vw,470px)}
.fa-grid--mosaic .fa-card:nth-child(7n+1){grid-column:span 7}
.fa-grid--mosaic .fa-card:nth-child(7n+2){grid-column:span 5}
.fa-grid--mosaic .fa-card:nth-child(7n+3),.fa-grid--mosaic .fa-card:nth-child(7n+4),.fa-grid--mosaic .fa-card:nth-child(7n+5){grid-column:span 4}
.fa-grid--mosaic .fa-card:nth-child(7n+6),.fa-grid--mosaic .fa-card:nth-child(7n){grid-column:span 6}
.fa-grid--grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(260px,26vw,400px)}
.fa-card{position:relative;display:block;overflow:hidden;border-radius:14px;background:#15181b;color:#fff;text-decoration:none;isolation:isolate}
.fa-card__bg{position:absolute;inset:0;z-index:-2;background:#1a1d20 center/cover no-repeat;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.fa-card__bg:not([style]){background-image:radial-gradient(circle at 70% 30%,rgba(215,255,0,.16),transparent 55%),linear-gradient(135deg,#1c2024,#0f1113)}
.fa-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(0,0,0,.82) 100%)}
.fa-card:hover .fa-card__bg,.fa-card:focus-visible .fa-card__bg{transform:scale(1.06)}
.fa-card__num{position:absolute;top:clamp(.8rem,1.6vw,1.4rem);left:clamp(.8rem,1.6vw,1.4rem);padding:.25rem .55rem;border-radius:6px;background:rgba(10,10,10,.78);color:var(--lime);font-size:.72rem;font-weight:800;letter-spacing:.06em}
.fa-card__title{position:absolute;left:clamp(1rem,2vw,1.9rem);right:4.5rem;bottom:clamp(1rem,2vw,1.7rem);font-family:var(--font-display);font-size:clamp(1.6rem,2.7vw,2.7rem);line-height:1;text-transform:uppercase;letter-spacing:.01em;text-wrap:balance}
.fa-card__go{position:absolute;right:clamp(1rem,2vw,1.9rem);bottom:clamp(1.1rem,2vw,1.9rem);color:var(--lime);transition:transform .25s}
.fa-card:hover .fa-card__go{transform:translate(4px,-4px)}
.mg-focus--list .mg-head,.mg-committees-page .mg-lead{margin-bottom:2rem}

/* Focus area detail */
.fa-hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(380px,56vh,620px);background:#15181b center/cover no-repeat;isolation:isolate}
.fa-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,10,.35) 0%,rgba(10,10,10,.9) 100%)}
.fa-hero__inner{padding:clamp(2.5rem,6vw,4.5rem) 0}
.fa-hero .mg-title{max-width:16ch}
.fa-hero .mg-lead{margin-bottom:0}
.fa-body{max-width:860px}
.fa-body img{border-radius:12px;margin:1.5rem 0}
.fa-body p,.fa-body li{font-size:1.05rem;line-height:1.85}
.fa-pn{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.75rem;border-top:1px solid var(--line)}
.fa-pn__a{display:flex;flex-direction:column;gap:.2rem;color:#fff;text-decoration:none}
.fa-pn__a small{color:var(--lime);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.fa-pn__a span{font-family:var(--font-display);font-size:1.5rem;line-height:1.05;text-transform:uppercase}
.fa-pn__a--next{text-align:right;align-items:flex-end}
.fa-pn__a:hover span{color:var(--lime)}
.mg-focus--more{border-top:1px solid var(--line)}

/* ---- Committees (homepage) -------------------------------------------- */
.mg-committees{position:relative;background:#0a0a0a;isolation:isolate}
.mg-committees::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--cm-bg,none) center/cover no-repeat;opacity:.16;filter:grayscale(1)}
.mg-head--inline{display:flex;align-items:flex-start;gap:clamp(.9rem,2vw,1.6rem)}
.mg-head__num{margin-top:.55rem;color:var(--lime);font-size:.85rem;font-weight:800;letter-spacing:.06em}
.mg-head--inline .mg-title{margin-bottom:.35rem}
.cm-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(1rem,2vw,1.75rem)}
.cm-panel{display:flex;flex-direction:column;padding:clamp(1.25rem,2.4vw,2rem);border:1px solid var(--line);border-radius:14px;background:rgba(10,16,20,.88);backdrop-filter:blur(6px)}
.mgpl .cm-panel__title{margin:0 0 .5rem;font-family:var(--font);font-size:1.05rem;font-weight:800;letter-spacing:.06em}
.mgpl .cm-panel__desc{margin:0 0 1.4rem;color:var(--muted);font-size:.9rem;line-height:1.55;max-width:46ch}
.cm-faces{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(.4rem,1vw,.75rem)}
.cm-faces a{position:relative;display:block;aspect-ratio:1/1.12;overflow:hidden;border-radius:8px;background:#1b1f23;transition:transform .25s,box-shadow .25s}
.cm-faces a:hover,.cm-faces a:focus-visible{transform:translateY(-4px);box-shadow:0 0 0 2px var(--lime)}
.mgpl .cm-faces img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.cm-faces__init{display:grid;place-items:center;height:100%;font-family:var(--font-display);font-size:2rem;color:var(--lime)}
.cm-panel__link{margin-top:auto;align-self:flex-start;color:var(--lime);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-decoration:none}
.cm-panel__link:hover{color:#fff}

/* Committees (list pages) */
.cm-block{margin-bottom:clamp(2.5rem,6vw,4.5rem)}
.cm-block__head{margin-bottom:1.5rem;padding-left:1rem;border-left:4px solid var(--lime)}
.mgpl .cm-block__head h2{margin:0 0 .3rem;font-size:clamp(1.9rem,3.6vw,2.8rem)}
.mgpl .cm-block__head p{margin:0;color:var(--muted)}
.cm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:clamp(.9rem,2vw,1.5rem)}
.cm-card{display:block;text-decoration:none;color:#fff}
.cm-card__photo{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:12px;background:#15181b;margin-bottom:.8rem;transition:box-shadow .25s}
.mgpl .cm-card__photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .5s}
.cm-card:hover .cm-card__photo{box-shadow:0 0 0 2px var(--lime)}
.cm-card:hover img{transform:scale(1.05)}
.cm-card__init{display:grid;place-items:center;height:100%;font-family:var(--font-display);font-size:4rem;color:var(--lime)}
.cm-card__name{display:block;font-weight:800;font-size:1.05rem;line-height:1.25}
.cm-card__role{display:block;margin-top:.2rem;color:var(--lime);font-size:.85rem;font-weight:600}

/* ---- Footer ------------------------------------------------------------ */
.mg-footer{background:#0a0a0a;border-top:1px solid var(--line);padding:clamp(2.75rem,6vw,4.5rem) 0 0;margin:0}
.mg-footer__grid{display:grid;grid-template-columns:1.3fr .8fr 1.1fr 1.1fr 1.5fr;gap:clamp(1.5rem,3vw,3rem);align-items:start}
.mg-footer .brand{display:inline-block}
.mg-footer .brand__img{max-height:56px;width:auto}
.mgpl .mg-footer__tag{margin:1.2rem 0 .7rem;font-family:var(--font-display);font-size:1.9rem;line-height:1;text-transform:uppercase;letter-spacing:.01em;color:#fff}
.mgpl .mg-footer__about{margin:0;max-width:34ch;color:var(--muted);font-size:.84rem;line-height:1.65}
.mg-footer__col h3{margin:0 0 1rem;font-family:var(--font);font-size:.7rem;font-weight:800;letter-spacing:.12em;color:var(--lime)}
.mg-footer__col ul{list-style:none;margin:0 0 1rem;padding:0}
.mg-footer__col li{margin-bottom:.6rem;color:#d4d7db;font-size:.84rem;line-height:1.45}
.mg-footer__col a{color:#d4d7db;text-decoration:none;transition:color .2s}
.mg-footer__col a:hover{color:var(--lime)}
.mg-footer .social{display:flex;gap:.55rem;margin-top:1.1rem}
.mg-footer .social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.28);color:#fff}
.mg-footer .social a:hover{background:var(--lime);border-color:var(--lime);color:#000}
.mg-footer .social svg{width:17px;height:17px}
.mg-footer__slogan{justify-self:end;text-align:left}
.mgpl .mg-footer__big{margin:0;font-family:var(--font-display);font-size:clamp(2.8rem,5.2vw,5rem);line-height:.95;text-transform:uppercase;color:#fff}
.mg-footer__rule{display:block;width:clamp(120px,12vw,190px);height:5px;margin-top:1.1rem;background:var(--lime)}
.mg-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1.5rem;margin-top:clamp(2rem,5vw,3.5rem);padding:1.35rem 0 1.6rem;border-top:1px solid var(--line);color:var(--muted);font-size:.74rem}
.mgpl .mg-footer__bottom p{margin:0}
.mg-footer__legal{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.mg-footer__bottom a{color:var(--muted);text-decoration:none}.mg-footer__bottom a:hover{color:var(--lime)}

/* Condensed display type for card/list titles (Bebas has one weight) */
.mgpl .ppl__name,.mgpl .job h3,.mgpl .grant h3,.mgpl .ses h3,.mgpl .nm-card h3,.mgpl .hp-n__txt h3,.mgpl .detail-title,.mgpl .ses-h,.mgpl .nm__h{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.02em}
.mgpl .ppl__name{font-size:clamp(2rem,3.8vw,2.7rem)}
.mgpl .job h3,.mgpl .grant h3,.mgpl .ses h3{font-size:clamp(1.5rem,2.6vw,1.9rem)}
.mgpl .nm-card h3,.mgpl .hp-n__txt h3{font-size:1.35rem}
.mgpl .detail-title{font-size:clamp(2.2rem,5vw,3.4rem)}
.mgpl .hero__title{font-size:clamp(3.2rem,9vw,4rem);line-height:.95}
.mgpl .hero__sub{font-family:var(--font)}
.hp-inv__item:hover::after,.hp-inv__item:focus-visible::after{background:rgba(0,0,0,.2)}
.hp-stat__num{font-family:var(--font-display);font-weight:400;font-size:clamp(2.6rem,5.2vw,3.6rem)}
.hp-test__quote{font-family:var(--font)}

/* Full width template */
.mg-full{background:#0a0a0a;color:var(--hp-text);min-height:40vh}
.mg-full>*{max-width:none}
.mg-full .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.mg-full .alignwide{width:min(100% - 2*var(--mg-pad),var(--mg-max));margin-inline:auto}
.mg-full h1,.mg-full h2,.mg-full h3,.mg-full h4{color:#fff}
.mg-full p,.mg-full li{color:var(--hp-text)}
.mg-full a{color:var(--lime)}
.hp-page .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}

/* Photos inside the Sport-for-Good style cards (white card on black section) keep working */
.mg-page .wp-block-group.has-black-background-color{background:#0a0a0a}

/* ---- Responsive -------------------------------------------------------- */
@media(max-width:1100px){
  .mg-footer__grid{grid-template-columns:1.2fr 1fr 1fr 1fr}
  .mg-footer__slogan{grid-column:1/-1;justify-self:start;order:-1}
}
@media(max-width:900px){
  .fa-grid--mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(230px,44vw,360px)}
  .fa-grid--mosaic .fa-card:nth-child(n){grid-column:auto}
  .fa-grid--mosaic .fa-card:nth-child(7n+1){grid-column:1/-1}
  .fa-grid--grid{grid-template-columns:repeat(2,1fr)}
  .mg-footer__grid{grid-template-columns:1fr 1fr}
  .mg-footer__brand{grid-column:1/-1}
}
@media(max-width:600px){
  .fa-grid--mosaic,.fa-grid--grid{grid-template-columns:1fr;grid-auto-rows:clamp(230px,62vw,330px)}
  .fa-grid--mosaic .fa-card:nth-child(n){grid-column:auto}
  .cm-faces{grid-template-columns:repeat(3,1fr)}
  .fa-pn{grid-template-columns:1fr 1fr}
  .fa-pn .mg-viewall{grid-column:1/-1;order:3;justify-self:start}
  .mg-footer__grid{grid-template-columns:1fr}
  .mg-footer__bottom{flex-direction:column;align-items:flex-start}
  .mg-head--inline{flex-direction:column;gap:.3rem}
  .mg-head__num{margin-top:0}
}

/* ---- Forms (Contact Us and Get Involved "Apply now") --------------------- */
.ct-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.ct-info__text,.ct-info__text p{color:var(--muted);font-size:1.05rem;line-height:1.75}
.ct-list{list-style:none;margin:2rem 0 1.5rem;padding:0;display:grid;gap:1.1rem}
.ct-list li{display:flex;flex-direction:column;gap:.15rem;padding-left:1rem;border-left:3px solid var(--lime)}
.ct-list strong{color:var(--lime);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ct-list span,.ct-list a{color:#fff;text-decoration:none;font-size:1.05rem}
.ct-list a:hover{color:var(--lime)}
.ct-social{display:flex;gap:.55rem;list-style:none;margin:0;padding:0}
.ct-social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff}
.ct-social a:hover{background:var(--lime);border-color:var(--lime);color:#000}
.ct-social svg{width:17px;height:17px}

.mg-formcard{padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--line);border-radius:14px;background:rgba(14,19,23,.92);scroll-margin-top:110px}
.mgpl .mg-formcard__title{margin:0 0 .4rem;font-size:clamp(1.8rem,3vw,2.4rem)}
.mgpl .mg-formcard__intro{margin:0 0 1.4rem;color:var(--muted)}
.mg-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.mg-field{display:grid;gap:.4rem;grid-column:span 2;min-width:0}
.mg-field--half{grid-column:span 1}
.mg-field label{color:#d4d7db;font-size:.82rem;font-weight:600}
.mg-form input[type=text],.mg-form input[type=email],.mg-form input[type=tel],.mg-form input[type=number],.mg-form input[type=date],.mg-form select,.mg-form textarea{width:100%;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#0a0a0a;color:#fff;font:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s;color-scheme:dark}
.mg-form textarea{resize:vertical;min-height:130px}
.mg-form ::placeholder{color:#6f757d}
.mg-form input:focus,.mg-form select:focus,.mg-form textarea:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px rgba(215,255,0,.18)}
.mg-form select option{background:#0a0a0a;color:#fff}
.mg-field--check label{display:flex;align-items:flex-start;gap:.6rem;font-weight:400}
.mg-field--check input{margin-top:.2rem;accent-color:var(--lime)}
.mg-form .btn{justify-self:start;cursor:pointer;border:0;padding:.95rem 2rem;font-size:.9rem}
.mg-trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.mg-note{margin-bottom:1.25rem;padding:.9rem 1.1rem;border-radius:8px;font-size:.95rem;font-weight:600}
.mg-note--ok{background:rgba(215,255,0,.12);border:1px solid var(--lime);color:var(--lime)}
.mg-note--err{background:rgba(255,80,80,.12);border:1px solid #ff5c5c;color:#ff8a8a}

/* Get Involved detail page */
.inv-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.inv-grid--single{grid-template-columns:minmax(0,860px)}
.inv-body p,.inv-body li{font-size:1.05rem;line-height:1.85}
.inv-body img{border-radius:12px}
.inv-form{position:sticky;top:110px}
.fa-hero .btn{margin-top:1.4rem}

@media(max-width:900px){.ct-grid,.inv-grid{grid-template-columns:1fr}.inv-form{position:static}}
@media(max-width:560px){.mg-form{grid-template-columns:1fr}.mg-field,.mg-field--half{grid-column:auto}}

/* ---- Events ----------------------------------------------------------------- */
.mg-events{background:#0a0a0a}
.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:clamp(1rem,2vw,1.75rem)}
.ev-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#0e1317;transition:border-color .25s,transform .25s}
.ev-card:hover{border-color:rgba(215,255,0,.5);transform:translateY(-3px)}
.ev-card__img{position:relative;display:block;aspect-ratio:16/10;background:#1a1d20 center/cover no-repeat}
.ev-card__img:not([style]){background-image:radial-gradient(circle at 70% 30%,rgba(215,255,0,.16),transparent 55%),linear-gradient(135deg,#1c2024,#0f1113)}
.ev-card__date{position:absolute;top:.9rem;left:.9rem;display:flex;flex-direction:column;align-items:center;min-width:52px;padding:.4rem .6rem;border-radius:8px;background:var(--lime);color:#0a0a0a;line-height:1}
.ev-card__date b{font-family:var(--font-display);font-weight:400;font-size:1.7rem}
.ev-card__date i{font-style:normal;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ev-card__tag{position:absolute;top:.9rem;right:.9rem;padding:.3rem .65rem;border-radius:6px;background:rgba(10,10,10,.85);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ev-card--soldout .ev-card__tag,.ev-card--closed .ev-card__tag{color:#ffb86b}
.ev-card--ended .ev-card__img{filter:grayscale(1);opacity:.75}
.ev-card__body{display:flex;flex-direction:column;flex:1;padding:1.25rem 1.35rem 1.4rem}
.mgpl .ev-card__title{margin:0 0 .6rem;font-size:clamp(1.6rem,2.4vw,2rem)}
.ev-card__title a{color:#fff;text-decoration:none}.ev-card__title a:hover{color:var(--lime)}
.ev-meta{list-style:none;margin:0 0 1.1rem;padding:0;display:grid;gap:.35rem;color:var(--muted);font-size:.88rem}
.ev-card__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
.ev-price,.ev-price .amount,.ev-price bdi{color:#fff;font-weight:800;font-size:1.05rem}
.ev-price del{opacity:.5;font-weight:400;margin-right:.3rem}.ev-price ins{text-decoration:none}
.ev-card__off{color:var(--muted);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ev-card .btn{padding:.7rem 1.3rem;font-size:.82rem;white-space:nowrap}
.mg-events-page--past .ev-card{opacity:.9}

/* Event page (a WooCommerce product) */
.ev-single{margin:0 0 1.4rem}
.ev-pill{display:inline-block;margin-bottom:.9rem;padding:.3rem .7rem;border-radius:6px;background:rgba(215,255,0,.14);border:1px solid var(--lime);color:var(--lime);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ev-pill--soldout,.ev-pill--closed,.ev-pill--ended,.ev-pill--soon{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.25);color:#cfd2d6}
.ev-meta--big{gap:.75rem;margin-bottom:1rem}
.ev-meta--big li{display:flex;flex-direction:column;gap:.1rem;padding-left:1rem;border-left:3px solid var(--lime)}
.ev-meta--big strong{color:var(--lime);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ev-meta--big span{color:#fff;font-size:1.05rem}
.ev-cal{color:var(--lime);font-size:.82rem;font-weight:700;text-decoration:none;border-bottom:1px solid var(--lime)}
.ev-cal:hover{color:#fff;border-color:#fff}
.ev-about{clear:both;max-width:860px;padding-top:2.5rem}

/* ---- WooCommerce in the dark theme ----------------------------------------- */
.mg-shop .woocommerce-notices-wrapper{margin-bottom:1rem}
.woocommerce div.product{display:block}
.woocommerce div.product div.images{width:46%}
.woocommerce div.product div.summary{width:49%}
.woocommerce div.product div.images img{border-radius:12px}
.woocommerce div.product .product_title{margin:0 0 1rem;font-family:var(--font-display);font-weight:400;font-size:clamp(2.4rem,5vw,4rem);line-height:.98;text-transform:uppercase;color:#fff}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--lime);font-size:1.6rem;font-weight:800}
.woocommerce div.product .woocommerce-product-details__short-description,.woocommerce div.product .woocommerce-product-details__short-description p{color:var(--muted)}
.woocommerce div.product form.cart{margin:1.2rem 0;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.woocommerce div.product form.cart .variations{width:100%;margin:0 0 .6rem}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{padding:.3rem 0;color:#fff;background:transparent;border:0;display:block;text-align:left}
.woocommerce .quantity .qty{width:80px;padding:.8rem;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#0a0a0a;color:#fff;text-align:center}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #payment #place_order{background:var(--lime)!important;color:#0a0a0a!important;border:0;border-radius:8px;padding:.95rem 1.8rem;font-family:var(--font);font-weight:800;font-size:.9rem;letter-spacing:.02em;transition:background .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #payment #place_order:hover{background:#fff!important}
.woocommerce button.button:disabled,.woocommerce button.button.disabled{opacity:.45}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error,.woocommerce-noreviews,p.no-comments{background:#0e1317;color:#e6e8ea;border:1px solid var(--line);border-top:3px solid var(--lime);border-radius:8px}
.woocommerce .woocommerce-error{border-top-color:#ff5c5c}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:var(--lime)}
.woocommerce .woocommerce-message a,.woocommerce .woocommerce-info a{color:var(--lime)}
.woocommerce table.shop_table,.woocommerce table.shop_table td,.woocommerce table.shop_table th,.woocommerce-cart table.cart td.actions .coupon .input-text{border-color:var(--line)!important;color:#e6e8ea;background:transparent}
.woocommerce table.shop_table{border-radius:10px}
.woocommerce a{color:var(--lime)}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce .woocommerce-billing-fields h3,.woocommerce #order_review_heading,.woocommerce h2{font-family:var(--font-display);font-weight:400;text-transform:uppercase;color:#fff}
.woocommerce form .form-row label,.woocommerce-checkout label{color:#d4d7db}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .input-text{background:#0a0a0a;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:.8rem .9rem}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--lime);outline:0;box-shadow:0 0 0 3px rgba(215,255,0,.18)}
.woocommerce-checkout #payment{background:#0e1317;border-radius:12px;border:1px solid var(--line)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line)}
.woocommerce-checkout #payment div.payment_box{background:#161b20;color:#cfd2d6;border-radius:8px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#161b20}
.woocommerce-checkout #payment div.form-row{padding:1rem}
.select2-container--default .select2-selection--single{height:auto;padding:.55rem .6rem;background:#0a0a0a;border:1px solid rgba(255,255,255,.22);border-radius:8px}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff}
.select2-dropdown{background:#0a0a0a;border-color:rgba(255,255,255,.22);color:#fff}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--lime);color:#000}
.select2-search--dropdown .select2-search__field{background:#161b20;color:#fff;border-color:rgba(255,255,255,.22)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation a{color:#fff}
.woocommerce-order-received .woocommerce-thankyou-order-received{color:var(--lime);font-weight:700}

/* WooCommerce block Cart / Checkout */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{color:#e6e8ea}
.wc-block-components-text-input input,.wc-block-components-text-input textarea,.wc-block-components-combobox .components-combobox-control__input,.wc-blocks-components-select__select,.wc-block-components-textarea,.wc-block-components-form .wc-block-components-text-input.is-active input{background:#0a0a0a!important;color:#fff!important;border-color:rgba(255,255,255,.25)!important}
.wc-block-components-text-input label,.wc-blocks-components-select__label,.wc-block-components-combobox .components-form-field label{color:#9aa0a6!important}
.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:var(--lime)!important;color:#0a0a0a!important;border-radius:8px!important;font-weight:800!important}
.wc-block-components-title,.wc-block-components-product-name,.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,.wc-block-components-order-summary-item__total-price,.wc-block-components-product-price,.wc-block-cart-item__prices,.wc-block-components-radio-control__label,.wc-block-components-radio-control__description{color:#e6e8ea!important}
.wc-block-components-totals-wrapper,.wc-block-components-sidebar-layout .wc-block-components-main,.wc-block-components-panel,.wc-block-components-radio-control--highlight-checked::after,.wc-block-components-radio-control__option{border-color:rgba(255,255,255,.15)!important}
.wc-block-components-checkbox__mark,.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{background:#0a0a0a;border-color:rgba(255,255,255,.35)}
.wc-block-cart-items th,.wc-block-cart-items td{border-color:rgba(255,255,255,.15)!important;color:#e6e8ea}
.wc-block-components-quantity-selector{background:#0a0a0a;border-color:rgba(255,255,255,.25)}
.wc-block-components-quantity-selector input,.wc-block-components-quantity-selector button{color:#fff!important}

@media(max-width:800px){.woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%;float:none}}
.woocommerce div.product .product_title,.ev-card__title,.mgpl .mg-title{overflow-wrap:break-word;word-break:normal;hyphens:auto}
.mgpl .ev-card__title a{color:#fff}.mgpl .ev-card__title a:hover{color:var(--lime)}
.mgpl .ev-card .btn--lime{color:#0a0a0a!important}

/* Event details panel */
.ev-details{margin:1.6rem 0 0;padding:1.4rem 1.5rem;border:1px solid var(--line);border-radius:12px;background:#0e1317}
.woocommerce .ev-details__title{margin:0 0 1rem;font-size:1.6rem}
.ev-details__list{margin:0;display:grid;gap:.9rem}
.ev-details__row{display:grid;grid-template-columns:minmax(110px,.4fr) 1fr;gap:.4rem 1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.ev-details__row:last-child{border-bottom:0;padding-bottom:0}
.ev-details dt{color:var(--lime);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin:0}
.ev-details dd{margin:0;color:#e6e8ea;font-size:.98rem;line-height:1.6}
.woocommerce .ev-btn2{display:inline-block;margin-top:1.1rem;padding:.8rem 1.5rem;border:2px solid var(--lime);border-radius:8px;color:var(--lime);font-size:.85rem;font-weight:800;text-decoration:none;transition:background .2s,color .2s}
.woocommerce .ev-btn2:hover{background:var(--lime);color:#0a0a0a}
.ev-meta--big a{color:#fff;text-decoration:none;border-bottom:1px solid var(--lime)}.ev-meta--big a:hover{color:var(--lime)}
@media(max-width:560px){.ev-details__row{grid-template-columns:1fr}}

/* ---- Fix: event / product page layout (floats from WooCommerce + Astra collapsed the section) ---- */
.mg-shop,.mg-shop .mg-wrap{display:flow-root}
.mg-footer,.site-footer{clear:both}
.woocommerce div.product::after{content:"";display:table;clear:both}
@media(min-width:801px){
  .woocommerce div.product{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,4vw,4rem);align-items:start}
  .woocommerce div.product div.images,.woocommerce div.product div.summary,.woocommerce div.product .woocommerce-product-gallery{float:none!important;width:100%!important;margin:0!important;max-width:100%}
  .woocommerce div.product .ev-about,.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}
}
.woocommerce div.product div.summary .product_meta{margin-top:1.2rem;color:var(--muted);font-size:.85rem}
.woocommerce div.product div.summary .product_meta a{color:var(--lime)}
.woocommerce .woocommerce-breadcrumb{color:var(--muted);font-size:.8rem;margin:0 0 1rem}
.woocommerce .woocommerce-breadcrumb a{color:var(--lime)}

/* ---- Fix: Cart and Checkout tables (a page-table rule shrank them; Astra painted headers white) ---- */
.hp-page .woocommerce table.shop_table,.woocommerce table.shop_table,.woocommerce-cart table.cart{display:table!important;width:100%!important;max-width:100%;overflow:visible;border-collapse:separate;border-spacing:0;background:transparent!important;border:1px solid var(--line)!important;border-radius:10px;margin:0 0 1.5rem}
.woocommerce table.shop_table th,.woocommerce table.shop_table thead th,.woocommerce-cart table.cart th{background:#111418!important;color:#fff!important;border:0!important;border-bottom:1px solid var(--line)!important;font-weight:700;padding:.9rem 1rem;text-align:left}
.woocommerce table.shop_table td,.woocommerce-cart table.cart td{background:transparent!important;color:#e6e8ea!important;border:0!important;border-top:1px solid var(--line)!important;padding:.9rem 1rem}
.woocommerce table.shop_table tbody tr:first-child td{border-top:0!important}
.woocommerce table.shop_table tfoot th,.woocommerce table.shop_table tfoot td{border-top:1px solid var(--line)!important}
.woocommerce table.shop_table td.product-name a,.woocommerce-cart table.cart td.product-name a{color:var(--lime);font-weight:700;text-decoration:none}
.woocommerce a.remove{color:#ff6b6b!important;border:1px solid rgba(255,107,107,.5);background:transparent}
.woocommerce a.remove:hover{background:#ff6b6b!important;color:#0a0a0a!important}
.woocommerce table.cart td.actions{padding:1rem}
.woocommerce-cart table.cart td.actions .coupon .input-text{width:170px!important;padding:.8rem .9rem!important}
.woocommerce-page table.shop_table_responsive tr td::before,.woocommerce table.shop_table_responsive tr td::before{color:#cfd2d6!important}

/* Cart totals and order review boxes */
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{float:right;width:48%;padding:1.5rem;border:1px solid var(--line)!important;border-radius:12px;background:#0e1317!important}
.woocommerce .cart_totals>h2,.woocommerce .cart-collaterals .cart_totals>h2,.woocommerce-page .cart-collaterals .cart_totals>h2{margin:0 0 1rem!important;padding:0!important;background:transparent!important;border:0!important;color:#fff!important;font-family:var(--font-display)!important;font-weight:400!important;font-size:2rem!important;line-height:1}
.woocommerce .cart_totals table.shop_table{border:0!important;border-radius:0}
.woocommerce .cart_totals table.shop_table th{background:transparent!important}
.woocommerce-checkout #order_review{padding:1.5rem;border:1px solid var(--line)!important;border-radius:12px;background:#0e1317!important}
.woocommerce-checkout #order_review table.shop_table{border:0!important;border-radius:0}
.woocommerce-checkout #order_review table.shop_table th{background:transparent!important}
.woocommerce-checkout #payment{border:0;background:transparent}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text,.woocommerce-checkout #payment .woocommerce-privacy-policy-text p{color:var(--muted)}
.woocommerce-checkout .woocommerce-info{margin-bottom:1.5rem}
.woocommerce-checkout .col2-set{margin-bottom:1.5rem}
@media(max-width:800px){.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{float:none;width:100%}}

/* Admin-only hint on the homepage (visitors never see it) */
.mg-adminnote{width:min(100% - 2*var(--mg-pad),var(--mg-max));margin:2rem auto;padding:1rem 1.25rem;border:1px dashed var(--lime);border-radius:10px;background:rgba(215,255,0,.06);color:#e6e8ea;font-size:.92rem;line-height:1.6}
.mg-adminnote strong{color:var(--lime)}
.mg-adminnote small{display:block;margin-top:.4rem;color:var(--muted)}
