/* =========================================================
   Sama Alghad — Theme Styles
   نظام التصميم منقول من الموكاب المرجعي بدقة (RTL / Mobile-first)
   ========================================================= */

/* ---------- Local Fonts (Alexandria, variable, self-hosted) ---------- */
/* الخط مرخّص برخصة SIL Open Font License 1.1 — انظر assets/fonts/OFL.txt */
@font-face{
  font-family:"Alexandria";
  font-style:normal;font-weight:300 800;font-display:swap;
  src:url("../fonts/alexandria-arabic.woff2") format("woff2");
  unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+08A0-08FF,U+200C-200E,U+FB50-FDFF,U+FE70-FEFC;
}
@font-face{
  font-family:"Alexandria";
  font-style:normal;font-weight:300 800;font-display:swap;
  src:url("../fonts/alexandria-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193;
}

/* ---------- Design Tokens ---------- */
:root{
  --green:#137b42;--green-dark:#083f2a;--green-deep:#052d20;
  --orange:#e48a21;--orange-light:#f3a43f;
  --cream:#f7f2e8;--paper:#fffdf9;--ink:#13241c;--muted:#6e756f;--line:#dfe4de;
  --radius:22px;--shadow:0 24px 60px rgba(7,54,34,.13);
}

/* ---------- Reset / Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{margin:0;font-family:"Alexandria",Tahoma,sans-serif;color:var(--ink);background:var(--paper);line-height:1.75}
body,button,input,select,textarea{font-family:"Alexandria",Tahoma,sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block;height:auto}
button{cursor:pointer}
h1,h2,h3,h4{font-weight:700}

/* SVG icon helper — يرث حجم ولون النص فيحل محل Font Awesome */
.sama-icon{width:1em;height:1em;display:inline-block;vertical-align:-.125em;flex:none}
.sama-icon.solid{fill:currentColor}

/* ---------- Accessibility ---------- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}
.skip-link{position:absolute;right:-999px;top:0;z-index:100000;background:#fff;color:var(--green);padding:12px 20px;border-radius:0 0 12px 12px;font-weight:700}
.skip-link:focus{right:12px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:4px}

/* ---------- Layout helpers ---------- */
.section{padding:110px max(6vw,24px)}

/* ---------- Header ---------- */
.site-header{position:absolute;z-index:20;top:0;right:0;left:0;height:100px;padding:0 max(4vw,22px);display:flex;align-items:center;gap:42px;border-bottom:1px solid rgba(255,255,255,.2);color:#fff;transition:.35s}
.site-header.scrolled,.site-header.solid{position:fixed;background:rgba(255,253,249,.96);color:var(--ink);box-shadow:0 12px 40px rgba(0,0,0,.07);backdrop-filter:blur(12px);border:0;height:82px}
.admin-bar .site-header{top:32px}
.brand{display:flex;align-items:center;gap:12px;margin-left:auto}
.brand img{width:62px;height:62px;object-fit:contain;background:#fff;border-radius:12px;padding:3px}
.brand span{display:flex;flex-direction:column;line-height:1.35}
.brand b{font-size:15px}
.brand small{font-size:10px;opacity:.76}
.main-nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:500}
.main-nav ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.main-nav li{position:relative}
.main-nav a{position:relative;padding:12px 0;display:inline-block}
.main-nav a:after{content:"";position:absolute;right:0;bottom:4px;width:0;height:2px;background:var(--orange);transition:.3s}
.main-nav a:hover:after,.main-nav a.active:after,.main-nav .current-menu-item>a:after{width:100%}

/* --- القائمة المنسدلة --- */
.main-nav .menu-item-has-children>a{padding-left:18px}
.main-nav .menu-item-has-children>a::before{content:"";position:absolute;left:2px;top:50%;width:7px;height:7px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(-45deg);opacity:.65;transition:.25s}
.main-nav .menu-item-has-children:hover>a::before,.main-nav .menu-item-has-children:focus-within>a::before{transform:translateY(-40%) rotate(135deg);opacity:1;border-color:var(--orange)}
.main-nav .sub-menu{position:absolute;top:100%;right:-14px;min-width:230px;display:block;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 55px rgba(7,54,34,.16);padding:10px;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s,transform .25s,visibility .25s;z-index:40}
.main-nav .sub-menu::before{content:"";position:absolute;top:-9px;right:26px;width:16px;height:16px;background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);transform:rotate(-45deg);border-radius:3px 0 0 0}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(6px)}
.main-nav .sub-menu li{width:100%}
.main-nav .sub-menu a{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;border-radius:10px;font-size:13px;font-weight:500;color:var(--ink);transition:.2s}
.main-nav .sub-menu a::after{content:none}
.main-nav .sub-menu a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);opacity:0;transform:scale(.4);transition:.2s;flex:none}
.main-nav .sub-menu a:hover,.main-nav .sub-menu .current-menu-item>a{background:rgba(19,123,66,.07);color:var(--green)}
.main-nav .sub-menu a:hover::before,.main-nav .sub-menu .current-menu-item>a::before{opacity:1;transform:scale(1)}
.header-cta{border:1px solid currentColor;border-radius:99px;padding:11px 18px;font-size:12px;display:flex;gap:10px;align-items:center}
.header-cta:hover{background:var(--orange);border-color:var(--orange);color:#fff}
.menu-toggle{display:none;border:0;background:none;color:inherit;font-size:22px;padding:6px}

/* ---------- Hero ---------- */
.hero{height:100vh;min-height:730px;position:relative;overflow:hidden;color:#fff;background:var(--green-deep)}
.hero video,.hero>img.hero-media{width:100%;height:100%;object-fit:cover}
.hero>img.hero-media{position:absolute;inset:0}
/* خلفية يوتيوب: iframe مكبّر ليغطي السيكشن مثل object-fit:cover */
.hero-embed{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-embed iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100vw,calc(1.7778 * max(100vh,730px)));height:max(max(100vh,730px),56.25vw);border:0;pointer-events:none}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,26,18,.3),rgba(3,30,20,.72) 66%,rgba(3,29,19,.86)),linear-gradient(0deg,rgba(2,30,19,.5),transparent 45%)}
.hero-mobile-media{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:680px){.hero.no-mobile-video video,.hero.no-mobile-video .hero-embed{display:none}.hero.no-mobile-video .hero-mobile-media{display:block}}
@media(prefers-reduced-motion:reduce){.hero video,.hero-embed{display:none}}
.hero-content{position:absolute;top:50%;right:max(8vw,30px);transform:translateY(-43%);max-width:760px}
.hero-content.pos-center{right:0;left:0;text-align:center;margin:0 auto;padding:0 max(8vw,30px)}
.hero-content.pos-left{right:auto;left:max(8vw,30px)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);padding:8px 14px;border-radius:99px;margin-bottom:22px}
.hero h1,.page-hero h1,.course-hero h1,.register-side h1{font-size:clamp(48px,6.3vw,92px);line-height:1.14;margin:0 0 24px;letter-spacing:-3px}
.hero h1 em,.page-hero h1 em,.course-hero h1 em,.register-side h1 em{font-style:normal;color:var(--orange-light)}
.hero-content>p{max-width:630px;color:rgba(255,255,255,.82);font-size:17px}
.hero-content.pos-center>p{margin-inline:auto}
.hero-actions{display:flex;gap:14px;margin-top:34px}
.hero-content.pos-center .hero-actions{justify-content:center}
.hero-note{position:absolute;right:max(4vw,20px);bottom:36px;display:flex;gap:12px;align-items:center;font-size:10px}
.hero-note i,.hero-note .sama-icon{animation:bounce 1.5s infinite}
.hero-count{position:absolute;left:max(5vw,25px);bottom:42px;text-align:left}
.hero-count b{display:block;font-size:28px;color:var(--orange-light)}
.hero-count span{font-size:11px}
@keyframes bounce{50%{transform:translateY(8px)}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 23px;border-radius:99px;border:0;font-size:13px;font-weight:600;transition:.3s}
.btn.primary{background:var(--orange);color:#fff}
.btn.primary:hover{background:var(--orange-light);transform:translateY(-3px)}
.btn.ghost{border:1px solid rgba(255,255,255,.55);color:#fff}
.btn.ghost i,.btn.ghost .sama-icon{width:28px;height:28px;border-radius:50%;background:#fff;color:var(--green);display:grid;place-items:center;font-size:9px;padding:7px}
.btn.outline{border:1px solid var(--green);color:var(--green)}
.btn.outline:hover{background:var(--green);color:#fff}
.btn.light{background:#fff;color:var(--green)}

/* ---------- Section headings ---------- */
.section-tag,.center-heading>span,.split-heading>div>span,.page-hero>div>span,.register-side>div>span{color:var(--orange);font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;display:block}

/* ---------- Intro / About ---------- */
.intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:9vw;align-items:end;margin:24px 0 70px}
.intro-grid.media-left{direction:ltr}
.intro-grid.media-left>*{direction:rtl}
.intro h2,.center-heading h2,.split-heading h2,.course-main>h2{font-size:clamp(38px,4.8vw,70px);line-height:1.25;margin:0;letter-spacing:-2px}
.intro h2 span,.center-heading h2 em,.split-heading h2 em,.course-main>h2 em{font-style:normal;color:var(--green)}
.intro-copy{border-right:1px solid var(--line);padding-right:38px;color:var(--muted);font-size:15px}
.intro-figure img{border-radius:var(--radius);width:100%;object-fit:cover}
.text-link{color:var(--green);font-weight:700;display:inline-flex;gap:12px;align-items:center;margin-top:18px}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.values-grid article{padding:38px 32px;position:relative;border-left:1px solid var(--line)}
.values-grid article:last-child{border:0}
.values-grid article>span{position:absolute;left:28px;top:26px;color:#a9b0ab;font-size:11px}
.values-grid i,.values-grid .sama-icon{color:var(--orange);font-size:30px}
.values-grid h3{font-size:18px;margin:32px 0 10px}
.values-grid p{color:var(--muted);font-size:13px;margin:0}

/* ---------- Dark section / Facilities rail ---------- */
.dark{background:var(--green-deep);color:#fff}
.center-heading{text-align:center;max-width:780px;margin:0 auto 58px}
.center-heading h2 em{color:var(--orange-light)}
.center-heading p{color:rgba(255,255,255,.65);font-size:14px}
.facility-rail{display:flex;gap:8px;height:480px;overflow:hidden}
.facility-rail article{position:relative;flex:1;min-width:90px;border-radius:14px;overflow:hidden;background-image:linear-gradient(0deg,rgba(2,28,18,.82),transparent 65%),var(--bg);background-size:cover;background-position:center;transition:flex .65s cubic-bezier(.22,.78,.27,1);cursor:pointer}
.facility-rail article:hover,.facility-rail article.open{flex:3.3}
.facility-rail article>div{position:absolute;right:25px;left:25px;bottom:24px;min-width:250px}
.facility-rail small{color:var(--orange-light)}
.facility-rail h3{font-size:20px;margin:5px 0}
.facility-rail p{margin:0;color:rgba(255,255,255,.7);font-size:12px;opacity:0;transform:translateY(8px);transition:.3s}
.facility-rail article:hover p,.facility-rail article.open p{opacity:1;transform:none}

/* ---------- Partners ---------- */
.partners .center-heading h2 em{color:var(--green)}
.partners .center-heading p{color:var(--muted)}
.logo-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}
.logo-strip .partner-cell{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-left:1px solid var(--line);color:#7a817c;transition:.3s;padding:18px;text-align:center}
.logo-strip .partner-cell:last-child{border-left:0}
.logo-strip i,.logo-strip .sama-icon{font-size:33px}
.logo-strip img{max-height:60px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:.3s}
.logo-strip b{font-size:12px}
.logo-strip .partner-cell:hover{background:var(--cream);color:var(--green)}
.logo-strip .partner-cell:hover img{filter:none;opacity:1}
/* Partners slider variant */
.logo-strip.as-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-right:1px solid var(--line);border-left:1px solid var(--line)}
.logo-strip.as-slider .partner-cell{flex:0 0 clamp(160px,20%,220px);scroll-snap-align:start}

/* ---------- Programs ---------- */
.warm{background:var(--cream)}
.split-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}
.split-heading p{max-width:440px;color:var(--muted)}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.program-card{background:#fff;border-radius:var(--radius);overflow:hidden;position:relative;transition:.35s;display:block}
.program-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.program-card img{width:100%;height:330px;object-fit:cover}
.card-body{padding:26px}
.card-body small{color:var(--orange);font-size:11px;font-weight:700}
.card-body h3{font-size:22px;line-height:1.45;margin:8px 0}
.card-body p{font-size:12px;color:var(--muted);min-height:45px}
.card-body>span{color:var(--green);font-size:12px;font-weight:700;display:inline-flex;gap:8px;align-items:center}
.card-badge{position:absolute;top:18px;right:18px;background:var(--orange);color:#fff;padding:7px 12px;border-radius:99px;font-size:10px;z-index:2}
.card-status{position:absolute;top:18px;left:18px;padding:6px 11px;border-radius:99px;font-size:10px;z-index:2;background:rgba(0,0,0,.55);color:#fff}
.card-status.status-open{background:var(--green)}
.card-status.status-soon{background:var(--orange)}
.card-status.status-closed{background:#8a8f8b}

/* ---------- Awards ---------- */
.awards .split-heading{align-items:center}
.award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.award-grid article{background:#fff;border:1px solid var(--line);padding:14px 14px 26px;border-radius:var(--radius)}
.award-img{height:310px;display:grid;place-items:center;border-radius:14px;color:#fff;font-size:86px;overflow:hidden;position:relative}
.award-img img{width:100%;height:100%;object-fit:cover}
.award-img.one{background:linear-gradient(135deg,#084b34,#159356)}
.award-img.two{background:linear-gradient(135deg,#b86611,#f2a23b)}
.award-img.three{background:linear-gradient(135deg,#17251e,#56685f)}
.award-grid small{display:block;color:var(--orange);margin:18px 10px 2px}
.award-grid h3{margin:0 10px;font-size:16px}

/* ---------- Numbers / Stats ---------- */
.numbers{padding:75px max(6vw,24px);background:var(--green);color:#fff;display:grid;grid-template-columns:repeat(4,1fr)}
.numbers>div{text-align:center;border-left:1px solid rgba(255,255,255,.2)}
.numbers>div:last-child{border:0}
.numbers i,.numbers .sama-icon{font-size:24px;color:var(--orange-light);display:block;margin:0 auto 16px}
.numbers b{font-size:38px;display:block}
.numbers span{font-size:11px;opacity:.75}

/* ---------- News ---------- */
.news .split-heading{align-items:center}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.news-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.news-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.news-card .news-thumb{height:210px;overflow:hidden}
.news-card .news-thumb img{width:100%;height:100%;object-fit:cover}
.news-card .news-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.news-card time{color:var(--orange);font-size:11px;font-weight:700}
.news-card h3{font-size:18px;margin:0;line-height:1.5}
.news-card p{font-size:12px;color:var(--muted);margin:0}
.news-card .text-link{margin-top:auto}

/* ---------- CTA ---------- */
.cta-banner{margin:0;background:linear-gradient(120deg,rgba(4,54,35,.95),rgba(15,124,66,.91)),var(--cta-bg,none) center/cover;background-color:var(--green-deep);padding:80px max(8vw,28px);display:flex;align-items:center;justify-content:space-between;color:#fff;gap:30px}
.cta-banner span{color:var(--orange-light);font-size:12px}
.cta-banner h2{font-size:clamp(36px,5vw,66px);margin:4px 0}
.cta-banner p{margin:0;color:rgba(255,255,255,.7)}

/* ---------- Footer ---------- */
.site-footer{background:#061f16;color:#fff;padding:80px max(6vw,24px) 30px;display:grid;grid-template-columns:1.5fr .7fr 1fr 1.2fr;gap:55px}
.footer-brand img{width:95px;height:95px;object-fit:contain;background:#fff;border-radius:16px}
.site-footer h3{margin-bottom:8px}
.site-footer h4{color:var(--orange-light);font-size:14px}
.site-footer p,.site-footer a{color:rgba(255,255,255,.61);font-size:11px;display:block;margin:10px 0}
.site-footer nav a{margin:10px 0}
.footer-social{display:flex;gap:14px;margin-top:14px}
.footer-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;margin:0;font-size:14px}
.footer-social a:hover{background:var(--orange);border-color:var(--orange);color:#fff}
.newsletter form{display:flex;border-bottom:1px solid rgba(255,255,255,.35)}
.newsletter input{flex:1;background:none;border:0;padding:12px 0;color:#fff;outline:0}
.newsletter button{background:none;color:var(--orange-light);border:0}
.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);margin-top:20px;padding-top:25px;display:flex;justify-content:space-between;color:rgba(255,255,255,.4);font-size:10px}
.copyright div{display:flex;gap:24px}

/* ---------- Floating contact ---------- */
.floating-contact{position:fixed;z-index:50;bottom:24px;display:flex;flex-direction:column;gap:9px}
.floating-contact.pos-left{left:18px}
.floating-contact.pos-right{right:18px}
.floating-contact a{width:48px;height:48px;background:var(--green);color:#fff;border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 25px rgba(0,0,0,.22);transition:.25s;font-size:18px}
.floating-contact a:hover{transform:scale(1.08)}
.floating-contact .whatsapp{background:#25d366}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(25px);transition:.7s}
.reveal.visible{opacity:1;transform:none}

/* ---------- Inner pages ---------- */
.inner-page{padding-top:82px}
.page-hero{min-height:560px;padding:100px max(8vw,28px);display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(3,43,28,.65),rgba(3,45,29,.93) 65%),var(--hero-bg,none) center/cover;background-color:var(--green-deep)}
.page-hero>div{max-width:770px}
.page-hero h1{font-size:clamp(50px,6vw,82px)}
.page-hero p{max-width:610px;color:rgba(255,255,255,.76)}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;font-size:12px;color:rgba(255,255,255,.72);margin-bottom:18px}
.breadcrumbs a{color:var(--orange-light);transition:.2s}
.breadcrumbs a:hover{color:#fff}
.breadcrumbs span,.breadcrumbs a{display:inline-flex;font-weight:500;letter-spacing:0;margin:0}
.breadcrumbs [aria-current=page]{color:rgba(255,255,255,.9)}
.breadcrumbs .sep{margin:0 10px;opacity:.45}
.entry-content .breadcrumbs{color:var(--muted)}
.entry-content .breadcrumbs a{color:var(--green)}
.entry-content .breadcrumbs a:hover{color:var(--orange)}
.entry-content .breadcrumbs [aria-current=page]{color:var(--ink)}

/* Filter bar */
.filter-bar{display:flex;gap:10px;justify-content:center;margin-bottom:50px;flex-wrap:wrap}
.filter-bar a,.filter-bar button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:11px 20px;color:var(--muted);font-size:13px}
.filter-bar a.active,.filter-bar a:hover,.filter-bar button.active,.filter-bar button:hover{background:var(--green);border-color:var(--green);color:#fff}

.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.course-tile{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:.3s;display:block}
.course-tile:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.course-tile.hidden{display:none}
.course-tile img{height:260px;width:100%;object-fit:cover}
.course-tile>div{padding:25px}
.course-tile small{color:var(--orange);font-weight:600}
.course-tile h3{font-size:20px;margin:8px 0}
.course-tile p{font-size:12px;color:var(--muted);min-height:45px}
.course-tile span{font-size:12px;color:var(--green);font-weight:700;display:inline-flex;gap:8px;align-items:center}

/* Pagination */
.sama-pagination{display:flex;gap:8px;justify-content:center;margin-top:55px;flex-wrap:wrap}
.sama-pagination .page-numbers{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 16px;color:var(--muted);font-size:13px;display:inline-block}
.sama-pagination .page-numbers.current,.sama-pagination .page-numbers:hover{background:var(--green);border-color:var(--green);color:#fff}

/* Simple footer */
.simple-footer{background:var(--green-deep);color:#fff;padding:28px max(5vw,22px);display:flex;align-items:center;gap:25px}
.simple-footer img{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:10px}
.simple-footer p{font-size:11px;opacity:.6;margin-left:auto}
.simple-footer a{font-size:12px;color:var(--orange-light)}

/* ---------- Single Program (course) ---------- */
.course-hero{min-height:690px;background:var(--green-deep);color:#fff;display:grid;grid-template-columns:1.05fr .95fr}
.course-hero-copy{padding:100px max(6vw,35px)}
.course-hero h1{font-size:clamp(45px,5.4vw,76px)}
.course-hero-copy>p{color:rgba(255,255,255,.7);max-width:620px}
.back-link{font-size:11px;color:rgba(255,255,255,.6);display:block;margin-bottom:35px}
.course-meta{display:flex;gap:32px;margin:35px 0;flex-wrap:wrap}
.course-meta>div{display:flex;align-items:center;gap:10px}
.course-meta i,.course-meta .sama-icon{color:var(--orange);font-size:20px}
.course-meta span{font-size:9px;color:rgba(255,255,255,.5);display:flex;flex-direction:column}
.course-meta b{font-size:11px;color:#fff}
.course-hero-media{position:relative;overflow:hidden}
.course-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(5,45,32,.3))}
.course-hero-media img{width:100%;height:100%;object-fit:cover}
.course-hero-media>span{position:absolute;z-index:2;bottom:28px;left:28px;background:var(--orange);padding:10px 17px;border-radius:99px;font-size:11px}
.course-content{display:grid;grid-template-columns:1fr 340px;gap:8vw;align-items:start}
.course-main .lead{font-size:16px;color:var(--muted);max-width:800px}
.course-main>h3{font-size:24px;margin:55px 0 22px}
.course-main .entry-content{font-size:15px;color:var(--ink)}
.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.learning-grid>div{display:flex;gap:12px;border:1px solid var(--line);padding:17px;border-radius:12px;font-size:12px}
.learning-grid i,.learning-grid .sama-icon{color:var(--orange);margin-top:5px}
.accordion{border-top:1px solid var(--line)}
.accordion button{width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:20px 0;display:flex;align-items:center;justify-content:space-between;text-align:right;font-size:15px}
.accordion button span{display:flex;align-items:center;gap:18px;font-weight:600}
.accordion button b{color:var(--orange)}
.program-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:10px 0 30px}
.program-gallery figure{margin:0;border-radius:14px;overflow:hidden}
.program-gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}
.program-gallery figure:hover img{transform:scale(1.05)}
.accordion .acc-panel{display:none;padding:0 45px 20px;color:var(--muted);font-size:13px}
.accordion button[aria-expanded="true"]+.acc-panel{display:block}
.accordion button[aria-expanded="true"] .acc-ico{transform:rotate(45deg)}
.acc-ico{transition:.3s}
.enroll-card{position:sticky;top:110px;background:var(--cream);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.enroll-card>span{color:var(--orange);font-size:11px}
.enroll-card h3{font-size:24px;margin:5px 0 22px}
.price{border-top:1px solid #d9d2c6;border-bottom:1px solid #d9d2c6;padding:20px 0}
.price small{display:block;color:var(--muted)}
.price b{font-size:30px;color:var(--green)}
.price em{font-style:normal;font-size:12px}
.enroll-card ul{list-style:none;padding:0;margin:24px 0}
.enroll-card li{font-size:11px;margin:12px 0}
.enroll-card li i,.enroll-card li .sama-icon{color:var(--orange);margin-left:8px}
.enroll-card .btn{width:100%}
.enroll-card>small{display:block;color:var(--muted);text-align:center;margin-top:12px;font-size:9px}

/* ---------- Registration ---------- */
.register-page{background:var(--cream);padding-top:82px}
.back-home{font-size:12px;color:var(--green)}
.register-wrap{min-height:calc(100vh - 82px);display:grid;grid-template-columns:.82fr 1.18fr}
.register-side{background:linear-gradient(135deg,rgba(4,50,33,.96),rgba(14,118,63,.9)),var(--side-bg,none) center/cover;background-color:var(--green-deep);color:#fff;padding:90px 7vw;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.register-side h1{font-size:clamp(44px,5vw,72px)}
.register-side p{color:rgba(255,255,255,.7)}
.support-box{display:flex;gap:14px;align-items:center}
.support-box i,.support-box .sama-icon{width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;color:var(--orange-light);padding:14px}
.support-box span{font-size:10px;display:flex;flex-direction:column}
.support-box b{font-size:13px}
.form-panel{padding:60px 8vw;background:#fff}
.form-head small{color:var(--orange)}
.form-head h2{font-size:36px;margin:6px 0}
.form-head p{color:var(--muted);font-size:12px}
.register-form{margin-top:38px}
.register-form label{display:block;margin-bottom:20px}
.register-form label[hidden]{display:none!important}
.register-form label>span{display:block;font-size:11px;font-weight:600;margin-bottom:8px}
.register-form input,.register-form select,.register-form textarea{width:100%;border:1px solid var(--line);background:#fafbf9;padding:14px 16px;border-radius:10px;outline:0;font-size:12px;font-family:inherit}
.register-form input:focus,.register-form select:focus,.register-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(19,123,66,.08)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.check{display:flex!important;gap:9px;align-items:center}
.check input{width:auto}
.check span{margin:0!important;color:var(--muted)}
.submit-btn{width:100%;border-radius:10px}
.form-note{text-align:center;color:var(--muted);font-size:9px}
.form-note i,.form-note .sama-icon{color:var(--green)}
/* honeypot — إخفاء بأسلوب clip حتى لا يمدد الصفحة أفقيًا في RTL */
.sama-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}
/* field errors */
.field-error{color:#c0392b;font-size:11px;margin-top:6px;display:block}
.register-form .has-error input,.register-form .has-error select,.register-form .has-error textarea{border-color:#c0392b}
.pay-note{display:flex;gap:14px;align-items:flex-start;background:#eef7f1;border:1px solid #bfdccb;border-radius:12px;padding:14px 16px;margin-bottom:18px}
.pay-note .sama-icon{color:var(--green);font-size:20px;margin-top:3px;flex:none}
.pay-note b{display:block;color:var(--green);font-size:13px;margin-bottom:3px}
.pay-note div>span{font-size:12px;color:var(--muted)}
.pay-note .pay-guide{display:block;background:#fff;border:1px dashed #bfdccb;border-radius:8px;padding:10px 12px;margin:8px 0 10px;line-height:1.9;color:var(--ink)}
.pay-note .pay-choice-title{display:block;font-weight:700;color:var(--ink);margin-bottom:6px}
.register-form .pay-note label.pay-choice{display:flex;gap:9px;align-items:flex-start;margin:0 0 8px;cursor:pointer}
.register-form .pay-note label.pay-choice input{width:auto;margin-top:3px;accent-color:var(--green)}
.register-form .pay-note label.pay-choice span{margin:0;font-size:12px;color:var(--ink)}
.pay-note .bank-box{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:10px}
.pay-note .bank-box[hidden]{display:none!important}
.pay-note .bank-box>b{color:var(--ink);margin-bottom:6px}
.pay-note .bank-details{display:block;background:var(--cream);border-radius:8px;padding:10px 12px;line-height:2;font-size:12px;color:var(--ink);margin-bottom:12px}
.register-form .pay-note .receipt-field{margin:0}
.register-form .receipt-field>span{font-size:11px;font-weight:600;margin-bottom:6px}
.register-form .receipt-field input[type=file]{padding:10px;background:#fafbf9;font-size:11px}
.register-form .receipt-field small{display:block;color:var(--muted);font-size:10px;margin-top:5px}
.form-alert{padding:14px 18px;border-radius:10px;font-size:13px;margin-bottom:20px}
.form-alert.error{background:#fdecea;color:#c0392b;border:1px solid #f5c6cb}
.success-message{text-align:center;padding-top:60px}
.success-message i,.success-message .sama-icon{font-size:66px;color:var(--green)}
.success-message h2{font-size:34px}
.success-message p{color:var(--muted)}
.success-message .btn{margin-top:20px}

/* ---------- Branches list (register) ---------- */
.branches-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:28px}
.branch-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}
.branch-card h3{font-size:15px;margin:0 0 8px}
.branch-card p,.branch-card a{font-size:11px;color:var(--muted);margin:4px 0;display:flex;gap:8px;align-items:center}

/* ---------- Accreditations ---------- */
.accreditation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.accreditation-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-align:center}
.accreditation-card .acc-thumb{height:200px;border-radius:14px;overflow:hidden;margin-bottom:16px}
.accreditation-card .acc-thumb img{width:100%;height:100%;object-fit:cover}
.accreditation-card h3{font-size:17px;margin:0 0 8px}
.accreditation-card .acc-authority{color:var(--muted);font-size:12px;margin:0 0 4px}
.accreditation-card small{color:var(--orange);display:block;margin-bottom:12px}
.accreditation-card .text-link{justify-content:center}
@media(max-width:1000px){.accreditation-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.accreditation-grid{grid-template-columns:1fr}}

/* ---------- Generic entry content (pages/posts) ---------- */
.entry-wrap{padding:70px max(6vw,24px);max-width:900px;margin:0 auto}
.entry-content{font-size:16px;line-height:1.9}
.entry-content h2{font-size:30px;margin:40px 0 16px}
.entry-content h3{font-size:22px;margin:32px 0 14px}
.entry-content p{margin:0 0 18px}
.entry-content img{border-radius:14px;margin:20px 0}
.entry-content a{color:var(--green);text-decoration:underline}
.entry-content ul,.entry-content ol{padding-right:22px}
.entry-content blockquote{border-right:4px solid var(--orange);padding:8px 20px;margin:20px 0;background:var(--cream);border-radius:0 12px 12px 0}
.alignwide{width:min(1100px,100%)}
.aligncenter{margin-inline:auto}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .main-nav{position:fixed;top:82px;right:18px;left:18px;background:#fff;color:var(--ink);padding:20px;border-radius:16px;box-shadow:var(--shadow);display:none;flex-direction:column;gap:5px}
  .main-nav.open{display:flex}
  .main-nav ul{flex-direction:column;align-items:stretch;gap:5px}
  .main-nav a{display:block;padding:10px 4px}
  .main-nav .menu-item-has-children>a{padding-left:18px}
  .main-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;min-width:0;padding:0 14px 4px 0;margin-right:8px;border-right:2px solid rgba(19,123,66,.25)}
  .main-nav .sub-menu::before{display:none}
  .main-nav .sub-menu a{padding:9px 12px;font-size:13px}
  .main-nav .menu-item-has-children>a::before{transform:translateY(-40%) rotate(135deg)}
  .menu-toggle{display:block}
  .header-cta{display:none}
  .values-grid,.program-grid,.award-grid,.catalog-grid,.news-grid{grid-template-columns:1fr 1fr}
  .site-footer{grid-template-columns:1fr 1fr}
  .course-hero{grid-template-columns:1fr}
  .course-hero-media{height:430px}
  .course-content{grid-template-columns:1fr}
  .enroll-card{position:relative;top:auto}
  .register-wrap{grid-template-columns:1fr}
  .register-side{min-height:560px}
  .logo-strip{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:680px){
  .section{padding:78px 20px}
  .site-header{height:82px;padding:0 18px;gap:16px}
  .brand img{width:52px;height:52px}
  .brand b{font-size:12px}
  .hero{min-height:720px}
  .hero-content{right:22px;left:22px;max-width:none}
  .hero h1,.page-hero h1,.course-hero h1,.register-side h1{letter-spacing:-1.5px}
  .hero-content>p{font-size:13px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-count{display:none}
  .intro-grid{grid-template-columns:1fr;gap:30px}
  .intro-copy{padding:0;border:0}
  .values-grid,.program-grid,.award-grid,.catalog-grid,.news-grid{grid-template-columns:1fr}
  .values-grid article{border-left:0;border-bottom:1px solid var(--line)}
  .facility-rail{height:auto;flex-direction:column}
  .facility-rail article{min-height:70px}
  .facility-rail article:hover,.facility-rail article.open{flex:none;min-height:260px}
  .facility-rail article>div{min-width:auto}
  .facility-rail p{opacity:1;transform:none}
  .logo-strip{grid-template-columns:1fr 1fr}
  .logo-strip .partner-cell{min-height:110px}
  .split-heading,.cta-banner{align-items:flex-start;flex-direction:column}
  .numbers{grid-template-columns:1fr 1fr;gap:28px}
  .numbers>div{border:0}
  .site-footer{grid-template-columns:1fr}
  .copyright{flex-direction:column;gap:12px}
  .page-hero{min-height:500px}
  .course-meta{flex-direction:column;gap:14px}
  .course-content{padding-top:65px}
  .learning-grid,.form-row{grid-template-columns:1fr}
  .simple-footer{flex-wrap:wrap}
  .simple-footer p{order:3;width:100%}
  .register-side{padding:70px 25px}
  .form-panel{padding:45px 22px}
  .course-hero-copy{padding:70px 22px}
}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .hero-note i,.hero-note .sama-icon{animation:none}
}
