
:root{--green:#006b43;--green-dark:#004b34;--red:#ed1c24;--gold:#d69a24;--soft:#f5e8c9;--ink:#13231c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Cairo",sans-serif;color:var(--ink);background:#fbf3e0;line-height:1.75}a{text-decoration:none;color:inherit}.container{width:min(1160px,94%);margin:auto}
.topbar{background:#ce9d4b;color:#3a2a08;font-size:13px}
.topbar-social{display:flex;gap:10px;align-items:center;font-size:15px}
.topbar-social img{width:18px;height:18px;object-fit:contain;border-radius:4px;vertical-align:middle}
.topbar-contact{display:flex;align-items:center;gap:5px}
.topbar-contact img{width:15px;height:15px;object-fit:contain;vertical-align:middle}
.topbar-social a{opacity:.9}
.topbar-social a:hover{opacity:1}.topbar .container{width:100%;max-width:none;margin:0;padding:0 28px;min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:15px}.langs{display:flex;gap:10px;align-items:center}.langs a{padding:3px 9px;border-radius:16px}.langs a.active{background:#fff;color:var(--green-dark);font-weight:700}
.header{background:#fbf3e0;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px #00000012}.header-row{width:100%;max-width:none;margin:0;padding:0 28px;min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;min-width:300px}.brand img{width:62px;height:75px;object-fit:contain}.brand strong{display:block;color:var(--green);font-size:20px}.brand small{font-size:11px;color:#74837c}
.menu{display:flex;flex:1;flex-wrap:wrap;align-items:center;justify-content:space-evenly;gap:8px 11px;font-weight:700;font-size:19px}.menu a{padding:8px 16px;white-space:nowrap;color:#7a4a00;background:linear-gradient(180deg,#fff7e3,#fbe9c2);border:2px solid var(--gold);border-radius:12px;box-shadow:0 3px 8px rgba(214,154,36,.25)}.menu a:hover,.menu a.active{background:linear-gradient(180deg,var(--gold),#b97e12);color:#fff;border-color:#8f5f0d}.menu .school{border:1px solid #e7b748;background:#fff7e3;padding:9px 13px;border-radius:10px;color:#835900}
.menu-toggle{display:none;border:0;background:var(--green);color:#fff;border-radius:8px;padding:8px 11px;font-size:20px}
.hero{position:relative;overflow:hidden;width:100%;aspect-ratio:4.031/1;color:#fff;display:flex;align-items:flex-end;text-shadow:0 2px 14px #000000a3}.hero-wave{position:absolute;inset-inline:0;bottom:-1px;z-index:2;line-height:0;pointer-events:none}.hero-wave svg{width:100%;height:26px;display:block}.hero .container.hero-content{padding-bottom:44px}.hero-slides{position:absolute;inset:0;z-index:0}.hero-slide{position:absolute;inset:0;background:url("../images/hero2.jpg") center/cover;opacity:0;transition:opacity 1.4s ease}.hero-slide.active{opacity:1}.hero .container.hero-content{position:relative;z-index:1}.hero-content{max-width:780px}.eyebrow{display:inline-block;border:1px solid #ffffff66;border-radius:20px;padding:5px 12px;font-weight:700;background:#00000040}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.25;margin:18px 0}.hero p{font-size:18px}.btns{display:flex;gap:14px;margin-top:25px}.btn{padding:12px 22px;border-radius:11px;font-weight:700;display:inline-block}.btn-primary{background:var(--red);color:#fff}.btn-light{background:#fff;color:var(--green)}
.section{padding:70px 0}.soft{background:var(--soft)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.section-title h2{font-size:34px;color:var(--green);margin:0;position:relative}.section-title h2:after{content:"";display:block;width:64px;height:4px;background:var(--red);margin-top:10px;border-radius:3px}
.feature-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px}.feature-main{position:relative;min-height:390px;border-radius:18px;overflow:hidden}.feature-main img{width:100%;height:100%;object-fit:cover;position:absolute}.overlay{position:absolute;inset:0;background:linear-gradient(transparent,#000b);display:flex;align-items:flex-end;padding:28px;color:#fff}.overlay h3{font-size:30px;margin:8px 0}.mini{background:#fff;border-radius:16px;padding:12px;display:flex;gap:12px;margin-bottom:14px;box-shadow:0 8px 25px #0000000c}.mini img{width:120px;height:92px;object-fit:cover;border-radius:12px}.meta{font-size:13px;color:#6f7d77}
.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid #dfe8e4;border-radius:18px;overflow:hidden;box-shadow:0 9px 28px #0000000a}.card img{width:100%;height:210px;object-fit:cover}.card-body{padding:22px}.card h3{margin:4px 0 10px;color:var(--green)}
.stats{background:var(--green);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.stat strong{display:block;font-size:36px}.stat span{opacity:.9}
.page-hero{background:#ce9d4b;color:#fff;padding:58px 0}.page-hero h1{font-size:44px;margin:8px 0}.breadcrumbs{opacity:.85}.content-wrap{display:grid;grid-template-columns:2fr 1fr;gap:28px;align-items:start}.prose,.sidebar{background:#fff;border-radius:18px;padding:30px;box-shadow:0 8px 25px #0000000b}.prose h2,.sidebar h3{color:var(--green)}.icon-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.icon-item{background:var(--soft);padding:16px;border-radius:12px}
.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.partner-card{background:#fffaf3;border:1px solid #f0e6d6;border-radius:20px;box-shadow:0 8px 25px #0000000f;padding:34px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.partner-card img{width:130px !important;height:130px !important;max-width:130px !important;object-fit:contain !important;display:block}.partner-card h3{color:var(--green);font-size:15px;line-height:1.7;margin:0;font-weight:700}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.field{padding:14px;border:1px solid #ccd9d3;border-radius:10px;font:inherit;width:100%}.map iframe{width:100%;height:330px;border:0;border-radius:18px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery img{width:100%;height:250px;object-fit:cover;border-radius:16px}.video-box{aspect-ratio:16/9;background:#082f23;color:#fff;border-radius:18px;display:grid;place-items:center;font-size:50px}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;margin:18px 0;background:#082f23}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.footer{background:#ce9d4b;color:#fff;padding:45px 0 18px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer-brand{display:flex;gap:14px}.footer img{width:70px}.copyright{border-top:1px solid #ffffff40;margin-top:30px;padding-top:15px;text-align:center;font-size:13px}.empty{background:#fff;padding:28px;border-radius:16px;text-align:center;color:#68756f}
.header-row{flex-wrap:wrap;row-gap:10px}
@media(max-width:1300px){.header-row{min-height:70px}.brand{min-width:0;flex:1}.brand strong{font-size:15px}.brand img{width:46px;height:55px}.menu-toggle{display:block}.menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fbf3e0;padding:18px;box-shadow:0 10px 25px #0002;z-index:60}.menu.open{display:flex;flex-direction:column;align-items:stretch}}
@media(max-width:900px){.feature-grid,.content-wrap{grid-template-columns:1fr}.grid-3,.grid-4,.partners-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:43px}.topbar .container{flex-wrap:wrap;padding:5px 0}.footer-grid{grid-template-columns:1fr}}
@media(max-width:560px){.grid-3,.grid-4,.gallery,.stats-grid,.partners-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.hero h1{font-size:36px}.section{padding:48px 0}.page-hero h1{font-size:34px}}


/* ===== OSCMAROC Footer V2 ===== */
.footer{
    background:#ce9d4b;
    color:#fff;
    padding:52px 0 18px;
}
.footer .container{
    width:min(1160px,94%);
    margin-inline:auto;
}
.footer-grid{
    display:grid;
    grid-template-columns:minmax(280px,1.4fr) minmax(180px,.8fr) minmax(230px,1fr);
    gap:48px;
    align-items:start;
}
.footer-brand{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    gap:18px;
    align-items:start;
}
.footer-brand img,
.footer img{
    width:82px !important;
    height:100px !important;
    max-width:82px !important;
    max-height:100px !important;
    object-fit:contain !important;
    display:block;
    margin:0;
}
.footer h3{
    margin:0 0 14px;
    font-size:19px;
    line-height:1.5;
    color:#fff;
}
.footer p{
    margin:0 0 10px;
    color:#fff;
    line-height:1.8;
}
.footer a{
    color:#fff;
    transition:.2s ease;
}
.footer a:hover{
    color:#eafff0;
}
.footer .copyright{
    border-top:1px solid rgba(255,255,255,.3);
    margin-top:38px;
    padding-top:17px;
    text-align:center;
    font-size:13px;
    color:#fff;
}

@media(max-width:900px){
    .footer-grid{
        grid-template-columns:1fr 1fr;
        gap:34px;
    }
    .footer-brand{
        grid-column:1/-1;
    }
}
@media(max-width:580px){
    .footer{
        padding-top:40px;
    }
    .footer-grid{
        grid-template-columns:1fr;
        gap:28px;
        text-align:center;
    }
    .footer-brand{
        grid-template-columns:1fr;
        justify-items:center;
        text-align:center;
    }
    .footer-brand img,
    .footer img{
        width:72px !important;
        height:88px !important;
        max-width:72px !important;
        max-height:88px !important;
    }
}


/* ===== Recruitment / Application Portal ===== */
.application-intro{
    background:linear-gradient(135deg,#006b43,#004b34);
    color:#fff;
    border-radius:20px;
    padding:32px;
    margin-bottom:28px;
}
.application-types{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin:22px 0 30px;
}
.application-type{
    background:#fff;
    border:1px solid #dce8e3;
    border-radius:16px;
    padding:20px;
    text-align:center;
    cursor:pointer;
    transition:.2s ease;
}
.application-type:hover,
.application-type.active{
    transform:translateY(-3px);
    border-color:#d69a24;
    box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.application-type span{
    font-size:34px;
    display:block;
    margin-bottom:8px;
}
.application-form{
    background:#fff;
    border-radius:20px;
    padding:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.form-section{
    border:0;
    padding:0;
    margin:0 0 28px;
}
.form-section legend{
    color:#006b43;
    font-weight:800;
    font-size:20px;
    margin-bottom:15px;
}
.form-grid-3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
.form-note{
    background:#fff8e6;
    border:1px solid #edc96d;
    color:#765500;
    border-radius:12px;
    padding:14px 16px;
    margin:18px 0;
}
.checkbox-row{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin:12px 0;
}
.application-success{
    display:none;
    text-align:center;
    background:#fff;
    border-radius:20px;
    padding:42px 24px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.application-success.show{display:block}
.application-success .success-icon{
    width:82px;height:82px;border-radius:50%;
    background:#e7f6ef;color:#006b43;
    display:grid;place-items:center;
    margin:0 auto 18px;
    font-size:42px;font-weight:900;
}
.reference-box{
    display:inline-block;
    background:#f2f7f5;
    border:1px dashed #006b43;
    color:#004b34;
    font-size:22px;
    font-weight:800;
    letter-spacing:1px;
    padding:12px 18px;
    border-radius:12px;
    margin:14px 0;
}
@media(max-width:900px){
    .application-types{grid-template-columns:repeat(2,1fr)}
    .form-grid-3{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
    .application-types,.form-grid-3{grid-template-columns:1fr}
    .application-form{padding:20px}
}


/* ===== Application document upload V4 ===== */
.document-upload-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.document-upload{
    display:block;
    background:#f7faf8;
    border:1px dashed #9eb8ac;
    border-radius:14px;
    padding:18px;
}
.document-upload strong{
    display:block;
    color:#006b43;
    margin-bottom:6px;
}
.document-upload small{
    display:block;
    color:#6d7d75;
    margin-bottom:12px;
}
.document-upload input[type="file"]{
    width:100%;
    background:#fff;
    border:1px solid #d5e1db;
    border-radius:10px;
    padding:10px;
}
.file-help{
    background:#eef7f3;
    border-inline-start:4px solid #006b43;
    padding:14px 16px;
    border-radius:10px;
    margin-top:16px;
    color:#29483b;
}
@media(max-width:700px){
    .document-upload-grid{grid-template-columns:1fr}
}


/* ===== Dynamic extra documents V5 ===== */
.extra-documents-wrap{
    margin-top:18px;
}
.extra-documents-list{
    display:grid;
    gap:12px;
    margin-top:14px;
}
.extra-document-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    background:#f7faf8;
    border:1px dashed #9eb8ac;
    border-radius:12px;
    padding:12px;
}
.add-document-btn{
    display:inline-flex;
    align-items:center;
    gap:9px;
    border:0;
    background:#006b43;
    color:#fff;
    font-weight:800;
    border-radius:11px;
    padding:12px 17px;
    cursor:pointer;
    transition:.2s ease;
}
.add-document-btn:hover{
    background:#004b34;
    transform:translateY(-2px);
}
.add-document-btn .plus-icon{
    width:25px;
    height:25px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#fff;
    color:#006b43;
    font-size:19px;
    line-height:1;
}
.remove-document-btn{
    border:0;
    width:38px;
    height:38px;
    border-radius:9px;
    background:#fee9e9;
    color:#b60000;
    font-size:19px;
    cursor:pointer;
}
.remove-document-btn:hover{
    background:#ffd2d2;
}
@media(max-width:560px){
    .extra-document-row{
        grid-template-columns:1fr;
    }
    .remove-document-btn{
        width:100%;
    }
}

.other-profession{display:none;margin-top:16px}


/* ===== Professional news metadata V7 ===== */
.news-meta-bar{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    align-items:center;
    background:#ffffff;
    border:1px solid #dce7e2;
    border-radius:14px;
    padding:14px 16px;
    margin:18px 0 24px;
    box-shadow:0 6px 20px rgba(0,0,0,.05);
    font-size:14px;
}
.news-meta-item{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#42554d;
    white-space:nowrap;
}
.news-meta-item strong{
    color:#006b43;
}
.news-share{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 24px;
}
.news-share a,
.news-share button{
    border:1px solid #cfdcd6;
    background:#fff;
    color:#006b43;
    border-radius:9px;
    padding:9px 13px;
    font-weight:700;
    cursor:pointer;
}
.news-share a:hover,
.news-share button:hover{
    background:#006b43;
    color:#fff;
}
@media(max-width:560px){
    .news-meta-bar{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
    }
}


/* ===== Full official news article V8 ===== */
.prose > img[src*="news-royal-throne-2026"]{
    display:block;
    width:min(100%,760px) !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    margin:0 auto 24px;
    background:#fff;
    border:1px solid #dce7e2;
    border-radius:14px;
    padding:8px;
}
.prose h2{
    margin-top:30px;
    padding-bottom:8px;
    border-bottom:2px solid #e4eee9;
    font-size:24px;
}
.prose p{
    text-align:justify;
    line-height:2.05;
    font-size:17px;
}


/* V12 volunteer interests */
.volunteer-fields-section{margin-top:10px}.volunteer-hint{margin:-5px 0 16px;color:#64756d}.volunteer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.volunteer-option{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid #d8e5df;border-radius:12px;background:#f8fbfa;cursor:pointer;line-height:1.55;transition:.2s}.volunteer-option:hover{border-color:#087b53;background:#f0f8f5}.volunteer-option input{margin-top:5px;accent-color:#087b53;flex:0 0 auto}.volunteer-option:has(input:checked){border-color:#087b53;background:#eaf7f1}.other-volunteer-field{display:none;margin-top:14px}.other-volunteer-field.show{display:block}@media(max-width:720px){.volunteer-options{grid-template-columns:1fr}}

.other-profession{display:none;margin:16px 0 22px}
.other-profession.show{display:block}
.other-profession label{display:block;font-weight:800;color:#006b43;margin-bottom:8px}
.other-profession .field,.volunteer-other .field{width:100%;min-height:50px;padding:12px 14px;border:1px solid #cfded7;border-radius:12px;background:#fff;font-size:16px}
.volunteer-fields{margin:22px 0 28px}
.volunteer-fields h3{margin:0 0 8px;color:#006b43;font-size:22px}
.volunteer-help{margin:0 0 16px;color:#5d6f67}
.volunteer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.volunteer-option{display:flex;align-items:flex-start;gap:11px;min-height:58px;padding:14px 15px;border:1px solid #d8e6df;border-radius:13px;background:#fff;cursor:pointer;line-height:1.65}
.volunteer-option:hover{border-color:#d9a238;box-shadow:0 7px 20px rgba(0,0,0,.06)}
.volunteer-option:has(input:checked){border-color:#006b43;background:#edf8f3}
.volunteer-option input{width:18px;height:18px;margin-top:4px;accent-color:#006b43}
.volunteer-other{margin-top:14px}
.volunteer-other label{display:block;font-weight:700;margin-bottom:8px;color:#006b43}
@media(max-width:760px){.volunteer-grid{grid-template-columns:1fr}}


/* ===== V16 Footer final fix ===== */
.footer{
    background:#ce9d4b;
    color:#fff;
    padding:34px 0 18px;
}
.footer .footer-grid{
    display:grid;
    grid-template-columns:minmax(280px,1.45fr) minmax(180px,.8fr) minmax(230px,1fr);
    gap:44px;
    align-items:start;
}
.footer .footer-brand{
    display:flex;
    align-items:flex-start;
    gap:18px;
}
.footer .footer-brand img{
    width:84px !important;
    max-width:84px !important;
    height:auto !important;
    max-height:110px !important;
    object-fit:contain !important;
    flex:0 0 84px;
    display:block;
}
.footer .footer-brand > div{
    min-width:0;
}
.footer h3{
    margin:0 0 14px;
    color:#fff;
    font-size:18px;
}
.footer p{
    margin:0 0 12px;
    line-height:1.75;
    color:#fff;
}
.footer a{
    color:#fff;
    text-decoration:none;
}
.footer a:hover{
    color:#eafff0;
    text-decoration:underline;
}
.footer .copyright{
    margin-top:24px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.3);
    text-align:center;
    font-size:14px;
    color:#fff;
    opacity:.95;
}

/* Arabic alignment */
html[dir="rtl"] .footer .footer-brand{
    text-align:right;
}
html[dir="rtl"] .footer .footer-grid{
    direction:rtl;
}

/* French and English */
html[dir="ltr"] .footer .footer-brand{
    text-align:left;
}

@media (max-width:900px){
    .footer .footer-grid{
        grid-template-columns:1fr 1fr;
        gap:30px;
    }
    .footer .footer-brand{
        grid-column:1 / -1;
    }
}

@media (max-width:640px){
    .footer{
        padding:28px 0 16px;
    }
    .footer .footer-grid{
        grid-template-columns:1fr;
        gap:24px;
        text-align:center;
    }
    .footer .footer-brand{
        grid-column:auto;
        flex-direction:column;
        align-items:center;
        text-align:center !important;
    }
    .footer .footer-brand img{
        width:76px !important;
        max-width:76px !important;
        flex-basis:76px;
    }
}


/* ===== V19 admin API submission status ===== */
.application-submit-status{
  display:none;
  margin-top:18px;
  padding:14px 16px;
  border-radius:12px;
  font-weight:700;
  line-height:1.7;
}
.application-submit-status.loading,
.application-submit-status.success,
.application-submit-status.error{display:block}
.application-submit-status.loading{
  background:#eef6f3;
  color:#006b43;
  border:1px solid #cfe3da;
}
.application-submit-status.success{
  background:#e7f8ef;
  color:#087746;
  border:1px solid #bfe5d1;
}
.application-submit-status.error{
  background:#fdeaea;
  color:#a52222;
  border:1px solid #efc4c4;
}
.application-form button[disabled]{
  opacity:.65;
  cursor:not-allowed;
}
.application-success{display:none}
.application-success.show{display:block}
