/* ==========================================================================
   MJC base — fonts, tokens, side pattern and shared utility classes
   Colors follow the approved Demo palette. They read Elementor Global Colors
   first (Site Settings), with the Demo values as fallback.
   ========================================================================== */

/* ---- Font: IBM Plex Sans Arabic (OFL) ---- */
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EEFF}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EEFF}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EEFF}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---- Tokens (Demo palette) ---- */
:root{
  --mjc-ink:var(--e-global-color-primary,#183f3f);
  --mjc-deep:var(--e-global-color-secondary,#103232);
  --mjc-muted:var(--e-global-color-text,#657574);
  --mjc-gold:var(--e-global-color-mjcgold,#c99a63);
  --mjc-gold-dark:var(--e-global-color-mjcgolddark,#9b7346);
  --mjc-gold-light:var(--e-global-color-mjcgoldlight,#e0b785);
  --mjc-paper:var(--e-global-color-mjcpaper,#f7f5f1);
  --mjc-line:var(--e-global-color-mjcline,#deded4);
  --mjc-border:var(--e-global-color-mjcborder,#bac6bf);
  --mjc-sand:var(--e-global-color-mjcsand,#d9c1a1);
  --mjc-mint:var(--e-global-color-mjcmint,#b3c8c1);
  --mjc-darkest:var(--e-global-color-mjcdarkest,#0b2626);
  --mjc-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='160' viewBox='0 0 40 160'%3E%3Cg fill='none' stroke='%23c99a63' stroke-width='2'%3E%3Cpath d='M20 0L38 18 20 36 2 18Z M20 40L36 56 20 72 4 56Z M20 80L38 98 20 116 2 98Z M20 120L36 136 20 152 4 136Z'/%3E%3Cpath d='M20 8L30 18 20 28 10 18Z M20 48L28 56 20 64 12 56Z M20 88L30 98 20 108 10 98Z M20 128L28 136 20 144 12 136Z' fill='%23c99a63'/%3E%3C/g%3E%3C/svg%3E");
  --mjc-radius:8px;
}

/* ---- Base ---- */
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{background:var(--mjc-paper);color:var(--mjc-ink)}
a,button{transition:background .25s,color .25s,transform .25s,border-color .25s}
::selection{background:var(--mjc-gold);color:var(--mjc-deep)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.elementor-button:focus-visible{outline:3px solid var(--mjc-gold);outline-offset:4px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Side gold diamond pattern (Demo) */
body::before,body::after{content:"";position:fixed;top:126px;bottom:0;width:28px;background:var(--mjc-pattern) center top/28px 112px repeat-y;opacity:.2;pointer-events:none;z-index:-1}
body::before{right:13px}body::after{left:13px}
@media (max-width:600px){body::before,body::after{width:10px;opacity:.15;background-size:10px 40px;top:100px}body::before{right:3px}body::after{left:3px}}

/* ---- Utilities used by the Elementor templates (add as "CSS Classes") ---- */

/* Eyebrow: small gold label with a line before it — on a Heading widget */
.mjc-eyebrow .elementor-heading-title{display:flex;align-items:center;gap:9px}
.mjc-eyebrow .elementor-heading-title::before{content:"";width:22px;height:1px;background:currentColor;flex:none}

/* Buttons — on a Button widget (default Button = Ink, from the Kit) */
.elementor-widget.mjc-btn .elementor-button{display:inline-flex;align-items:center;gap:18px;min-height:46px;border:1px solid var(--mjc-ink);border-radius:5px;font-weight:600}
.elementor-widget.mjc-btn .elementor-button:hover{transform:translateY(-2px)}
.elementor-widget.mjc-btn-gold .elementor-button{background:var(--mjc-gold);border-color:var(--mjc-gold);color:var(--mjc-deep)}
.elementor-widget.mjc-btn-gold .elementor-button:hover,.elementor-widget.mjc-btn-gold .elementor-button:focus{background:var(--mjc-gold-light);border-color:var(--mjc-gold-light);color:var(--mjc-deep)}
.elementor-widget.mjc-btn-light .elementor-button{background:transparent;border-color:#ffffff60;color:#fff}
.elementor-widget.mjc-btn-light .elementor-button:hover,.elementor-widget.mjc-btn-light .elementor-button:focus{background:#ffffff14;color:#fff}
.elementor-widget.mjc-btn-outline .elementor-button{background:transparent;border-color:var(--mjc-border);color:var(--mjc-ink)}
.elementor-widget.mjc-btn-outline .elementor-button:hover,.elementor-widget.mjc-btn-outline .elementor-button:focus{background:var(--mjc-ink);border-color:var(--mjc-ink);color:#fff}
.elementor-widget.mjc-btn-small .elementor-button{min-height:38px;padding:7px 15px;font-size:12px}

/* Link with underline (section headings "عرض الكل ←") */
.mjc-more a,.mjc-more .elementor-heading-title a{font-size:13px;border-bottom:1px solid #c0b7a7;padding-bottom:4px;white-space:nowrap;color:var(--mjc-ink)}

/* Card: white box + hover lift — on a Container */
.mjc-card{background:#fff;border:1px solid var(--mjc-line);border-radius:var(--mjc-radius);transition:transform .35s,box-shadow .35s}
.mjc-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #183f3f12}

/* Page header (breadcrumb + H1): container with the gold pattern on the end side */
.mjc-pagehead{position:relative;border-bottom:1px solid var(--mjc-line)}
.mjc-pagehead::after{content:"";position:absolute;inset-inline-end:0;top:30px;width:120px;height:135px;background:var(--mjc-pattern) center/40px 160px;opacity:.22;pointer-events:none}
.mjc-breadcrumb{font-size:11px;color:var(--mjc-muted)}

/* Lists coming from ACF WYSIWYG fields — on a Text Editor widget */
.mjc-list ul,.mjc-list ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.mjc-list li{position:relative;padding-inline-start:26px;font-size:14px;color:var(--mjc-muted)}
.mjc-list ul li::before{content:"";position:absolute;inset-inline-start:4px;top:.75em;width:7px;height:7px;transform:rotate(45deg);background:var(--mjc-gold)}
.mjc-list ol{counter-reset:mjc}
.mjc-list ol li{counter-increment:mjc;padding-inline-start:38px}
.mjc-list ol li::before{content:counter(mjc);position:absolute;inset-inline-start:0;top:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--mjc-gold);color:var(--mjc-deep);font-size:12px;font-weight:700}
.mjc-list.on-dark li{color:#d0ddda}

/* Chips (e.g. المجالات المعرفية) — ul from WYSIWYG */
.mjc-chips ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:chip}
.mjc-chips li{counter-increment:chip;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--mjc-line);border-inline-start:3px solid var(--mjc-gold);border-radius:6px;padding:12px 16px;font-size:14px;font-weight:600;color:var(--mjc-ink)}
.mjc-chips li::after{content:counter(chip,decimal-leading-zero);font-size:11px;color:var(--mjc-gold-dark);font-weight:700}

/* Big faded number (01, 02 …) */
.mjc-ghost-num .elementor-heading-title{font-size:42px;font-weight:700;color:#e8e8df;line-height:1}

/* Utility: dark section text colors */
.mjc-on-dark,.mjc-on-dark p{color:#d0ddda}
.mjc-on-dark .elementor-heading-title{color:#fff}

/* ==========================================================================
   HEADER (MJC Header template)
   ========================================================================== */
.mjc-tb-text,.mjc-tb-text p{color:#fff;font-size:12px;margin:0;line-height:1.4}
.mjc-tb-sub{color:var(--mjc-sand)}
@media (max-width:850px){.mjc-tb-sub{display:none}}
@media (max-width:600px){.mjc-tb-text,.mjc-tb-text p{font-size:10px}}
.mjc-mainbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.e-con.mjc-tools{--width:auto;width:auto;flex:none}
.mjc-logo img{height:auto;max-height:78px;object-fit:contain}
/* main nav: dropdown panel like the HTML (.ddm) */
.mjc-mainnav .elementor-nav-menu--main .elementor-nav-menu a{white-space:nowrap}
.mjc-mainnav .elementor-nav-menu--main .sub-menu,.mjc-svc .elementor-nav-menu--main .sub-menu{min-width:250px!important;padding:8px;border:1px solid #e3e8e4;border-radius:12px;background:#fff}
.mjc-mainnav .elementor-nav-menu--main .sub-menu a,.mjc-svc .elementor-nav-menu--main .sub-menu a{border-radius:8px;border-inline-start:0!important}
.mjc-mainnav .elementor-nav-menu--main .sub-menu .sub-menu{margin-inline-start:6px}
.mjc-mainnav .elementor-nav-menu--main .sub-menu li:last-child>a[href$="/programs/"],
.mjc-mainnav .elementor-nav-menu--main .sub-menu li:first-child>a[href$="/about/"]{color:var(--mjc-gold-dark)!important;font-size:13px!important}
/* mobile dropdown */
.mjc-mainnav .elementor-nav-menu--dropdown{background:var(--mjc-paper);border-top:1px solid var(--mjc-line);box-shadow:0 18px 30px #10323222}
.mjc-mainnav .elementor-nav-menu--dropdown a{color:var(--mjc-ink)!important;font-weight:600;padding:12px 18px!important;border-bottom:1px solid #e8e8df}
.mjc-mainnav .elementor-nav-menu--dropdown a:hover,.mjc-mainnav .elementor-nav-menu--dropdown a.elementor-item-active{background:#eef3f1!important}
.mjc-mainnav .elementor-menu-toggle{border:1px solid var(--mjc-line);padding:7px}
/* e-services button with dropdown */
.mjc-svc .elementor-nav-menu--main>.elementor-nav-menu>li>a{background:var(--mjc-ink);border-radius:8px;gap:10px}
.mjc-svc .elementor-nav-menu--main>.elementor-nav-menu>li>a:hover{background:var(--mjc-deep)}
.mjc-svc .elementor-nav-menu--main>.elementor-nav-menu>li>a::before{content:""!important;display:block!important;position:static!important;opacity:1!important;transform:none!important;width:14px;height:14px;flex:none;background:currentColor!important;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") center/contain no-repeat}
.mjc-svc .elementor-nav-menu--main .sub-menu{inset-inline-end:0;inset-inline-start:auto!important}
.mjc-search .elementor-search-form__toggle i,.mjc-search .elementor-search-form__toggle .e-font-icon-svg{color:var(--mjc-ink)}
.mjc-search .elementor-search-form__toggle{border-color:var(--mjc-line)!important}

/* ==========================================================================
   FOOTER (MJC Footer template)
   ========================================================================== */
.mjc-footer{position:relative;isolation:isolate}
.mjc-footer::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;z-index:0;background:
 linear-gradient(135deg,transparent 48.5%,#ffffff14 49%,#ffffff14 50%,transparent 50.5%) 0 100%/380px 260px no-repeat,
 linear-gradient(45deg,transparent 48.5%,#ffffff12 49%,#ffffff12 50%,transparent 50.5%) 32% 100%/300px 220px no-repeat,
 linear-gradient(135deg,transparent 48.5%,#ffffff10 49%,#ffffff10 50%,transparent 50.5%) 70% 100%/340px 240px no-repeat}
.mjc-nf-main,.mjc-nf-bar{position:relative;z-index:1}
.mjc-nf-mark{position:absolute!important;inset-inline-end:2%;top:46%;transform:translateY(-50%) rotate(-10deg);height:135%;max-height:640px;width:auto!important;opacity:.09;pointer-events:none;z-index:0}
.mjc-nf-mark img{height:100%;width:auto;max-height:640px}
@media (max-width:850px){.mjc-nf-mark{height:70%;inset-inline-end:-30px;opacity:.05}}
.mjc-nf-logo img{filter:brightness(0) invert(1)}
.mjc-nf-text p{color:var(--mjc-mint);font-size:13px;max-width:270px;margin:0}
.mjc-fhead .elementor-heading-title{color:#fff}
.mjc-fmenu .elementor-nav-menu a{display:flex!important;align-items:center;gap:9px;transition:color .2s,transform .2s}
.mjc-fmenu .elementor-nav-menu a:hover{transform:translateX(-3px)}
[dir=ltr] .mjc-fmenu .elementor-nav-menu a:hover{transform:translateX(3px)}
.mjc-fmenu .elementor-nav-menu a::before{content:""!important;display:block!important;position:static!important;opacity:1!important;width:16px;height:16px;flex:none;border-radius:50%;background:var(--mjc-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9.5 5 6.5 8l3 3' fill='none' stroke='%23103232' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat!important}
[dir=ltr] .mjc-fmenu .elementor-nav-menu a::before{transform:scaleX(-1)}
.mjc-fmenu .elementor-nav-menu a::after{display:none!important}
.mjc-fmenu a[href*="wa.me"]{color:#fff!important;font-weight:700;background:#25d36622;border:1px solid #25d36655;border-radius:20px;padding:6px 12px!important;width:max-content}
.mjc-fmenu a[href*="wa.me"]::before{background:#25d366 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M17.5 14.4c-.3-.1-1.8-.9-2-1-.3-.1-.5-.1-.7.1-.2.3-.8 1-.9 1.2-.2.2-.3.2-.6.1-1.6-.8-2.7-1.4-3.7-3.2-.3-.5.3-.5.8-1.6.1-.2 0-.4 0-.5l-.9-2.2c-.2-.6-.5-.5-.7-.5h-.6c-.2 0-.5.1-.8.4-.3.3-1 1-1 2.5s1.1 2.9 1.2 3.1c.1.2 2.1 3.2 5.1 4.5 1.9.8 2.6.9 3.6.7.6-.1 1.8-.7 2-1.4.3-.7.3-1.3.2-1.4-.1-.2-.3-.2-.6-.4z'/%3E%3C/svg%3E") center/12px no-repeat!important}
.mjc-nf-acc-label p{color:#d0ddda;font-size:13px;margin:0}
.mjc-social .elementor-social-icon{width:32px;height:32px}
.mjc-nf-bar{background:linear-gradient(180deg,var(--mjc-deep) 0,var(--mjc-gold-dark) 55%,var(--mjc-gold) 100%)}
.mjc-nf-bar .elementor-heading-title{color:#fff}
@media (max-width:850px){.mjc-nf-brand{grid-column:1/-1}}
@media (max-width:600px){.mjc-nf-acc{grid-column:1/-1}}

/* ==========================================================================
   INNER PAGES (MJC Page – About / Admissions / Services / Media / Default)
   ========================================================================== */
.mjc-pagebanner{position:relative;overflow:hidden;isolation:isolate;border-bottom:4px solid var(--mjc-gold);background-color:var(--mjc-deep);
 background-image:linear-gradient(90deg,#c99a6310 1px,transparent 1px),linear-gradient(#c99a6310 1px,transparent 1px),radial-gradient(ellipse 50% 90% at 85% 10%,#2f6d6d66,transparent 70%),linear-gradient(180deg,#123a3a,var(--mjc-darkest));
 background-size:56px 56px,56px 56px,100% 100%,100% 100%}
.mjc-pb-inner{position:relative;z-index:1}
.mjc-pb-mark{position:absolute!important;inset-inline-end:3%;top:-30px;bottom:-30px;width:230px!important;opacity:.08;transform:rotate(-10deg);pointer-events:none;z-index:0}
.mjc-pb-mark img{width:100%;height:100%;object-fit:contain}
@media (max-width:600px){.mjc-pb-mark{width:140px!important;opacity:.07}}
.mjc-pb-title .elementor-heading-title{color:#fff}
.mjc-pb-sub .elementor-heading-title{max-width:680px}
.mjc-pb-sub:has(.elementor-heading-title:empty){display:none}
.mjc-crumbs .elementor-icon-list-items{gap:0}
.mjc-crumbs .elementor-icon-list-item:not(:last-child)::after{content:"/";position:static!important;border:0!important;width:auto!important;height:auto!important;margin:0 8px;color:#6f9a92;font-size:12px}
.mjc-crumbs .elementor-icon-list-item a .elementor-icon-list-text{color:var(--mjc-gold-light)!important}
.mjc-crumbs .elementor-icon-list-text{color:#b9cbc6}
/* sidebar */
.mjc-sx{align-items:flex-start}
.e-con.mjc-side{position:sticky;top:110px;background:#fff;border:1px solid var(--mjc-line);border-radius:16px;box-shadow:0 10px 26px #0b26260a}
.mjc-side-back .elementor-button{display:flex;justify-content:center;width:100%;background:#f7faf9!important;color:var(--mjc-ink)!important;border:1px solid #d9e3e0;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:700}
.mjc-side-back .elementor-button:hover{border-color:var(--mjc-deep);color:var(--mjc-deep)!important}
.mjc-side-label .elementor-heading-title{display:block;font-size:12px;color:var(--mjc-muted);margin:16px 6px 8px;font-weight:700;letter-spacing:.3px}
.mjc-sidenav .elementor-nav-menu a{border-radius:10px;border-inline-start:3px solid transparent!important;transition:background .2s,color .2s}
.mjc-sidenav .elementor-nav-menu a:hover{background:#f2f6f5}
.mjc-sidenav .elementor-nav-menu a.elementor-item-active{background:var(--mjc-deep);color:#fff!important;border-inline-start-color:var(--mjc-gold)!important;box-shadow:0 8px 18px #10323230}
.mjc-sidenav .elementor-nav-menu a::before,.mjc-sidenav .elementor-nav-menu a::after{display:none!important}
.mjc-side-main{min-width:0}
@media (max-width:1100px){
 .e-con.mjc-side{position:static;border-radius:12px}
 .mjc-side-back,.mjc-side-label{display:none}
 .mjc-sidenav .elementor-nav-menu{display:flex!important;flex-direction:row!important;overflow-x:auto;gap:6px;scrollbar-width:none}
 .mjc-sidenav .elementor-nav-menu::-webkit-scrollbar{display:none}
 .mjc-sidenav .elementor-nav-menu>li{flex:none}
 .mjc-sidenav .elementor-nav-menu a{white-space:nowrap;border:1px solid #e4ebe8!important;font-size:13px}
 .mjc-sidenav .elementor-nav-menu a.elementor-item-active{border-color:var(--mjc-deep)!important}
}

/* ==========================================================================
   Loop items (Phase 2) — the cards used inside Loop Grid / Loop Carousel
   ========================================================================== */
.elementor-loop-container .e-loop-item>.e-con{height:100%}
.mjc-lift{transition:transform .35s,box-shadow .35s,border-color .25s}
.mjc-lift:hover{transform:translateY(-5px);box-shadow:0 12px 40px #183f3f12}
.mjc-lift-gold{transition:transform .25s,box-shadow .25s,border-color .25s}
.mjc-lift-gold:hover{transform:translateY(-3px);border-color:var(--mjc-gold)!important;box-shadow:0 12px 30px #10323212}
.e-con.mjc-push{margin-top:auto}
a.e-con{color:inherit}
/* Photo box: Image widget fills it + dark gradient on top + text above */
.e-con.mjc-media{position:relative;overflow:hidden;isolation:isolate}
.mjc-media>.mjc-media-img{position:absolute!important;inset:0;width:100%!important;max-width:none!important;margin:0!important;z-index:0}
.mjc-media>.mjc-media-img .elementor-widget-container,.mjc-media>.mjc-media-img img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block}
.mjc-media>.mjc-media-img img{transition:transform .7s}
.e-loop-item:hover .mjc-media>.mjc-media-img img{transform:scale(1.055)}
.mjc-media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,#10323299,transparent 65%)}
.mjc-media>.elementor-element:not(.mjc-media-img){position:relative;z-index:2}
.mjc-media--deep::after{background:linear-gradient(0deg,#0b2626e6,#0b262622 70%)}
.mjc-media--news::after{background:none}
.mjc-media--news::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--mjc-pattern) right center/30px 120px repeat-y;opacity:.25}
.mjc-media--news>.mjc-media-img img{object-fit:contain!important;background:#edf2ef;opacity:.85}
.mjc-code .elementor-heading-title{direction:ltr;letter-spacing:2px}
.mjc-ltr .elementor-heading-title{direction:ltr;unicode-bidi:plaintext}
/* Program card */
.mjc-pcard-meta .elementor-heading-title{white-space:nowrap}
/* Plan card: 4px ink bar on top */
.e-con.mjc-plancard{position:relative}
.e-con.mjc-plancard::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--mjc-ink);z-index:3}
/* Pills (news category, grad degree) */
.mjc-pill .elementor-heading-title{display:inline-block}
.mjc-pill a{color:inherit!important;pointer-events:none}
/* clamp text to 3 lines */
.mjc-clamp3 .elementor-heading-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* Partner tile */
.mjc-plogo img{max-height:66px!important;max-width:170px!important;width:auto!important;object-fit:contain;filter:grayscale(.15);transition:filter .25s}
.e-loop-item:hover .mjc-plogo img{filter:none}
/* Graduate card: big faded number */
.e-con.mjc-gcard{position:relative;overflow:hidden}
.mjc-gnum{position:absolute!important;inset-inline-end:20px;top:10px;width:auto!important;pointer-events:none;z-index:0}
.mjc-gcard>.elementor-element:not(.mjc-gnum){position:relative;z-index:1}
.mjc-gbtn .elementor-button{gap:8px}
.mjc-gbtn .elementor-button-icon svg{width:18px;height:18px}

/* ---- Course rows (study plan table) ---- */
.e-con.mjc-crow{border-bottom:1px solid #ebe9e1;background:#fff;transition:background .2s}
.e-loop-item:nth-child(odd)>.mjc-crow{background:#f7f6f2}
.e-loop-item>.mjc-crow:hover{background:#eef4f2}
.mjc-ct-elective>.mjc-crow,.mjc-ct-free>.mjc-crow{background:#fdfaf1!important}
.mjc-ct-elective .mjc-c-name .elementor-heading-title,.mjc-ct-free .mjc-c-name .elementor-heading-title{font-weight:700}
.mjc-c-en .elementor-heading-title{direction:ltr;text-align:right}
.mjc-c-en:has(.elementor-heading-title:empty){display:none}
.mjc-no-prereq .mjc-c-pre .elementor-heading-title,.mjc-ct-elective .mjc-c-code .elementor-heading-title,.mjc-ct-free .mjc-c-code .elementor-heading-title{color:#a3aea8}
@media (max-width:600px){
 .e-con.mjc-crow{grid-template-columns:auto 1fr auto!important;padding:12px 16px!important;gap:2px 12px!important}
 .mjc-crow>.elementor-element,.mjc-crow>.e-con{padding:0!important}
 .mjc-crow .mjc-c-code{grid-area:1/1}
 .mjc-crow .mjc-c-name{grid-area:1/2}
 .mjc-crow .mjc-c-h{grid-area:1/3}
 .mjc-crow .mjc-c-pre{grid-area:2/2}
 .mjc-crow .mjc-c-pre .elementor-heading-title{font-size:12px!important;white-space:normal!important}
 .mjc-crow .mjc-c-pre .elementor-heading-title::before{content:"المتطلب: ";color:var(--mjc-muted)}
 .mjc-no-prereq .mjc-c-pre{display:none}
}
/* grad plan rows */
.e-con.mjc-grow{border-bottom:1px solid #ecebe4;background:#fff}
.e-loop-item:nth-child(even)>.mjc-grow{background:#f8f7f3}
.mjc-ct-elective_option .mjc-g-type .elementor-heading-title,.mjc-ct-elective .mjc-g-type .elementor-heading-title{color:var(--mjc-gold-dark);font-weight:600}
.mjc-g-code .elementor-heading-title{direction:ltr;text-align:right}
@media (max-width:600px){.e-con.mjc-grow{grid-template-columns:90px 1fr 50px!important}.mjc-g-type{display:none}}

/* ---- Academic calendar rows ---- */
.e-con.mjc-calrow{min-width:780px;background:#fff}
.mjc-calrow>.elementor-element{border-inline-start:1px solid #e7e1cd;border-bottom:1px solid #e7e1cd;display:flex;align-items:center;justify-content:center}
.mjc-calrow>.elementor-element:first-child{border-inline-start:0;justify-content:flex-start}
.mjc-calrow .elementor-heading-title{white-space:nowrap;font-variant-numeric:tabular-nums}
.mjc-calrow .mjc-cal-ev .elementor-heading-title{white-space:normal}
.mjc-ek-holiday>.mjc-calrow{background:#f6eedb}
.mjc-ek-national>.mjc-calrow{background:#dcebe6}
.mjc-ek-exam>.mjc-calrow{background:#eef0f1}
.mjc-st-now>.mjc-calrow{box-shadow:inset 0 0 0 9999px #183f3f0d}
.mjc-st-now .mjc-cal-ev .elementor-heading-title::after,.mjc-st-next .mjc-cal-ev .elementor-heading-title::after,.mjc-st-done .mjc-cal-ev .elementor-heading-title::after{display:inline-block;font-size:10.5px;font-weight:700;border-radius:10px;padding:1px 8px;margin-inline-start:6px;vertical-align:middle;line-height:1.7}
.mjc-st-now .mjc-cal-ev .elementor-heading-title::after{content:"جارٍ الآن";background:var(--mjc-ink);color:#fff}
.mjc-st-next .mjc-cal-ev .elementor-heading-title::after{content:"القادم";background:var(--mjc-gold);color:var(--mjc-deep)}
.mjc-st-done .mjc-cal-ev .elementor-heading-title::after{content:"منتهٍ";background:#e3e6e4;color:#7d8a83}
html[lang^="en"] .mjc-st-now .mjc-cal-ev .elementor-heading-title::after{content:"Now"}
html[lang^="en"] .mjc-st-next .mjc-cal-ev .elementor-heading-title::after{content:"Next"}
html[lang^="en"] .mjc-st-done .mjc-cal-ev .elementor-heading-title::after{content:"Ended"}
html[lang^="en"] .mjc-crow .mjc-c-pre .elementor-heading-title::before{content:"Prerequisite: "}
.e-con.mjc-auto{--width:auto;width:auto}
.elementor-loop-container>.e-loop-item{min-width:0}
.mjc-plogo img{max-width:min(170px,100%)!important}
.mjc-ptile{min-width:0}
/* calendar table scrolls sideways on small screens */
.elementor-widget-loop-grid:has(.mjc-calrow){overflow-x:auto;border:1px solid #d9cfae;border-radius:12px}
.e-con.mjc-flex1{--width:auto;flex:1 1 0;min-width:0}

/* ==========================================================================
   Single Program (Phase 3)
   ========================================================================== */
.mjc-num,.mjc-num .elementor-heading-title{font-variant-numeric:tabular-nums}
/* dark panels with the faint gold grid (fees card, outcomes, CTA) */
.e-con.mjc-darkgrid{position:relative;overflow:hidden;background:linear-gradient(#103232,#0b2626)}
.e-con.mjc-darkgrid::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#c99a6310 1px,transparent 1px) 0 0/44px 44px,linear-gradient(#c99a6310 1px,transparent 1px) 0 0/44px 44px;z-index:0}
.e-con.mjc-darkgrid>.elementor-element{position:relative;z-index:1}
/* hero */
.e-con.mjc-pghero{position:relative;overflow:hidden;isolation:isolate}
.e-con.mjc-pghero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(270deg,#0b2626f5 0%,#103232e6 42%,#10323299 70%,#10323333 100%) 0 0/100% 100%,linear-gradient(90deg,#c99a6312 1px,transparent 1px) 0 0/56px 56px,linear-gradient(#c99a6312 1px,transparent 1px) 0 0/56px 56px}
.e-con.mjc-pghero::after{content:"";position:absolute;inset:auto 0 0;height:4px;z-index:2;background:linear-gradient(90deg,var(--mjc-gold),#4e8c85,var(--mjc-gold))}
.mjc-pghero>.e-con{position:relative;z-index:1}
.mjc-pgcode{position:absolute!important;inset-inline-end:4%;bottom:42px;width:auto!important;pointer-events:none;z-index:1}
.mjc-pgcode .elementor-heading-title{color:transparent!important;-webkit-text-stroke:1.5px #e0b78555;letter-spacing:4px;direction:ltr}
@media (max-width:600px){.mjc-pgcode{bottom:64px;opacity:.7}}
.mjc-pill-line .elementor-heading-title{display:inline-block;border:1px solid #e0b78580;border-radius:30px;padding:5px 16px}
.mjc-crumbs--hero .elementor-icon-list-text{color:#cfdcd8!important}
/* facts bar */
.e-con.mjc-pgfacts{box-shadow:0 18px 44px #0b26261f}
.mjc-pgfacts>.e-con{border-inline-start:1px solid var(--mjc-line)}
.mjc-pgfacts>.e-con:first-child{border-inline-start:0}
@media (max-width:1100px){.mjc-pgfacts>.e-con:nth-child(3){border-inline-start:0}.mjc-pgfacts>.e-con:nth-child(n+3){border-top:1px solid var(--mjc-line)}}
.mjc-fact-ic .elementor-icon{border-radius:12px!important}
/* section title with a gradient bar */
.mjc-ovh .elementor-heading-title{display:flex;align-items:center;gap:12px}
.mjc-ovh .elementor-heading-title::before{content:"";width:6px;height:24px;border-radius:3px;background:linear-gradient(180deg,var(--mjc-gold),var(--mjc-ink));flex:none}
.mjc-ovp p{margin:0 0 14px}
.mjc-ovp p:last-child{margin-bottom:0}
@media (min-width:601px){.mjc-ovp{text-align:justify}}
.mjc-badge-num .elementor-heading-title{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#103232;color:var(--mjc-gold-light)}
/* outcomes (dark aside) */
.e-con.mjc-pgout{position:sticky;top:110px}
@media (max-width:1100px){.e-con.mjc-pgout{position:relative;top:0}}
.mjc-outlist ol{list-style:none;margin:0;padding:0;counter-reset:o;display:grid;gap:10px}
.mjc-outlist li{counter-increment:o;display:flex;gap:12px;align-items:flex-start;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;padding:12px 14px;font-size:14.5px;line-height:1.75;color:#fff}
.mjc-outlist li::before{content:counter(o);flex:none;width:26px;height:26px;border-radius:50%;background:var(--mjc-gold-light);color:#0b2626;display:grid;place-items:center;font-size:13px;font-weight:700;margin-top:1px}
.mjc-outlist ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
/* skills list (WYSIWYG ul) */
.mjc-skills ul,.mjc-skills ol{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:sk}
.mjc-skills li{counter-increment:sk;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--mjc-line);border-inline-start:4px solid var(--mjc-ink);border-radius:12px;padding:14px 18px;font-weight:700;font-size:16px;color:var(--mjc-ink)}
.mjc-skills li:nth-child(2){border-inline-start-color:var(--mjc-gold)}
.mjc-skills li::before{content:counter(sk,decimal-leading-zero);font-size:13px;font-weight:700;color:var(--mjc-gold)}
/* plan ring */
.mjc-ring{--g:#ddd 0 100%;width:190px;height:190px;border-radius:50%;margin:8px auto 22px;background:conic-gradient(var(--g));display:grid;place-items:center}
.mjc-ring>div{width:128px;height:128px;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center;box-shadow:inset 0 0 0 1px var(--mjc-line)}
.mjc-ring b{font-size:38px;font-weight:800;line-height:1;color:var(--mjc-ink)}
.mjc-ring small{font-size:12px;color:var(--mjc-muted);margin-top:4px}
.mjc-legend{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.mjc-legend li{display:flex;align-items:center;gap:10px;font-size:14px}
.mjc-legend i{width:12px;height:12px;border-radius:4px;flex:none}
.mjc-legend span{flex:1;color:#3d4a48}
.mjc-legend b{color:var(--mjc-ink)}
.mjc-legend em{font-style:normal;font-size:12px;color:var(--mjc-muted)}
/* level cards */
.mjc-lvn{position:absolute!important;inset-inline-end:16px;top:12px;width:auto!important;pointer-events:none}
.mjc-bar{height:8px;background:#eef3f2;border-radius:8px;overflow:hidden}
.mjc-bar i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--mjc-ink),#4e8c85);border-radius:8px}
.mjc-dot-sep>.elementor-element+.elementor-element .elementor-heading-title::before{content:"·";margin-inline-end:6px}
.mjc-link-under .elementor-heading-title{border-bottom:2px solid var(--mjc-gold);padding-bottom:4px}
/* market */
.mjc-ic-box .elementor-icon{border-radius:10px!important}
.mjc-mktbars ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mjc-mktbars li{--w:50%;position:relative;z-index:0;height:44px;border-radius:8px;background:#f0efe9;overflow:hidden;display:flex;align-items:center;padding:0 33px 0 16px;color:#fff;font-size:14px;font-weight:600;white-space:nowrap}
.mjc-mktbars li::before{content:"";position:absolute;inset:0 0 0 auto;width:var(--w);z-index:-1;border-radius:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Crect x='2' y='2' width='6' height='6' fill='%23c99a63' transform='rotate(45 5 5)'/%3E%3C/svg%3E") no-repeat right 14px center/10px,linear-gradient(270deg,#103232,#183f3f);transform-origin:right center;animation:mjcgrow .9s cubic-bezier(.2,.7,.2,1) both}
.mjc-mktbars li:nth-child(1){--w:100%}.mjc-mktbars li:nth-child(2){--w:93%}.mjc-mktbars li:nth-child(3){--w:85%}.mjc-mktbars li:nth-child(4){--w:78%}.mjc-mktbars li:nth-child(5){--w:70%}.mjc-mktbars li:nth-child(6){--w:63%}.mjc-mktbars li:nth-child(7){--w:55%}
.mjc-mktbars li:nth-child(2)::before{animation-delay:70ms}.mjc-mktbars li:nth-child(3)::before{animation-delay:140ms}.mjc-mktbars li:nth-child(4)::before{animation-delay:210ms}.mjc-mktbars li:nth-child(5)::before{animation-delay:280ms}.mjc-mktbars li:nth-child(6)::before{animation-delay:350ms}.mjc-mktbars li:nth-child(7)::before{animation-delay:420ms}
@keyframes mjcgrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (max-width:600px){.mjc-mktbars li{height:40px;font-size:13px}.mjc-mktbars li::before{width:max(var(--w),75%)}}
@media (prefers-reduced-motion:reduce){.mjc-mktbars li::before{animation:none}}
html[dir="ltr"] .mjc-mktbars li{padding:0 16px 0 33px}
html[dir="ltr"] .mjc-mktbars li::before{inset:0 auto 0 0;transform-origin:left center;background-position:left 14px center,0 0}
.mjc-mktjobs ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.mjc-mktjobs li{display:flex;align-items:center;gap:14px;background:var(--mjc-paper);border:1px solid var(--mjc-line);border-radius:12px;padding:12px 16px;font-size:15px;font-weight:600;color:#24332c;transition:border-color .2s,transform .2s,background .2s}
.mjc-mktjobs li:hover{border-color:var(--mjc-gold);background:#fff;transform:translateX(-4px)}
.mjc-mktjobs li::before{content:"";width:34px;height:34px;flex:none;border-radius:9px;background:#103232 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e0b785' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 13h18'/%3E%3C/svg%3E") center/17px no-repeat}
.e-con.mjc-vision{position:relative;overflow:hidden}
.e-con.mjc-vision::after{content:"";position:absolute;left:-6px;top:0;bottom:0;width:50px;background:var(--mjc-pattern) center/28px 112px;opacity:.15;pointer-events:none}
.mjc-em-gold em{font-style:normal;color:var(--mjc-gold-dark)}
.mjc-lead b{color:var(--mjc-ink)}
/* checks list */
.mjc-checks .elementor-icon-list-item{padding:13px 0!important;border-bottom:1px dashed var(--mjc-line)}
.mjc-checks .elementor-icon-list-item::after{display:none!important}
.mjc-checks .elementor-icon-list-icon{width:22px;height:22px;border-radius:50%;background:var(--mjc-ink);display:grid!important;place-items:center;flex:none}
.mjc-checks .elementor-icon-list-icon svg,.mjc-checks .elementor-icon-list-icon i{width:12px!important;height:12px!important;font-size:12px!important;fill:#fff;color:#fff}
/* price */
.mjc-strike .elementor-heading-title{text-decoration:line-through}
.mjc-gold-span span{color:var(--mjc-gold-light)}
/* equal columns in a row that becomes a column ≤1100px */
.e-con.mjc-half{--width:auto;min-width:0}
@media (min-width:1101px){.e-con.mjc-half{flex:1 1 0}}
.elementor-widget.mjc-btn .elementor-button-icon svg{fill:currentColor}

/* ==========================================================================
   Single Plan (Phase 3.2)
   ========================================================================== */
.mjc-plansec .elementor-heading-title{display:flex;align-items:center;gap:12px}
.mjc-plansec .elementor-heading-title::after{content:"";flex:1;height:1px;background:var(--mjc-line)}
/* info table */
.e-con.mjc-pinfo{border:1px solid var(--mjc-line);border-radius:8px;overflow:hidden;background:#fff}
.mjc-pinfo>.elementor-element{border-inline-start:1px solid var(--mjc-line);border-bottom:1px solid var(--mjc-line);display:flex;align-items:center;min-width:0}
.mjc-pinfo>.elementor-element:nth-child(4n+1){border-inline-start:0}
.mjc-pinfo>.elementor-element:nth-last-child(-n+4){border-bottom:0}
.mjc-pinfo .mjc-pi-th{background:#f1eee4}
@media (max-width:600px){
 .mjc-pinfo>.elementor-element:nth-child(4n+1){border-inline-start:0}
 .mjc-pinfo>.elementor-element:nth-child(2n+1){border-inline-start:0}
 .mjc-pinfo>.elementor-element:nth-last-child(-n+4){border-bottom:1px solid var(--mjc-line)}
 .mjc-pinfo>.elementor-element:nth-last-child(-n+2){border-bottom:0}
}
/* distribution bar */
.mjc-dist{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#e9e6dc;margin:4px 0 10px}
.mjc-dist span{display:block;height:100%}
.mjc-dist-legend{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:12px;color:var(--mjc-muted)}
.mjc-dist-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-inline-end:7px;vertical-align:-1px}
.mjc-dist-legend b{color:var(--mjc-ink);font-weight:600;margin-inline-start:4px}
/* level accordion */
.e-con.mjc-lvl{overflow:hidden}
.e-con.mjc-lvl-head{cursor:pointer;user-select:none;border-bottom:1px solid var(--mjc-line)}
.e-con.mjc-lvl-head::after{content:"";width:9px;height:9px;border:solid #9aa8a1;border-width:0 2px 2px 0;transform:rotate(-135deg);margin-inline-start:auto;transition:transform .25s;flex:none}
.mjc-lvl.is-closed .mjc-lvl-head{border-bottom-color:transparent}
.mjc-lvl.is-closed .mjc-lvl-head::after{transform:rotate(45deg)}
.mjc-lvl.is-closed>.mjc-lvl-body{display:none}
.mjc-lvl-head:focus-visible{outline:3px solid var(--mjc-gold);outline-offset:-3px}
.mjc-lvl-num .elementor-heading-title{width:34px;height:34px;display:grid;place-items:center;background:var(--mjc-ink);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.e-con.mjc-lvl-meta{background:var(--mjc-paper);border:1px solid var(--mjc-line);border-radius:20px;padding:3px 11px}
.e-con.mjc-thead{border-bottom:3px solid var(--mjc-gold)}
.e-con.mjc-tfoot .mjc-span2{grid-column:span 2}
@media (max-width:600px){
 .e-con.mjc-thead{display:none}
 .e-con.mjc-tfoot{display:flex!important;justify-content:space-between;padding:12px 16px!important}
 .mjc-tfoot>.elementor-element{padding:0!important}
}
body.mjc-nolvl-1 .mjc-lvl-1,body.mjc-nolvl-2 .mjc-lvl-2,body.mjc-nolvl-3 .mjc-lvl-3,body.mjc-nolvl-4 .mjc-lvl-4,
body.mjc-nolvl-5 .mjc-lvl-5,body.mjc-nolvl-6 .mjc-lvl-6,body.mjc-nolvl-7 .mjc-lvl-7,body.mjc-nolvl-8 .mjc-lvl-8{display:none}
@media print{
 header,footer,.elementor-location-header,.elementor-location-footer,.mjc-side,.mjc-pagebanner,.mjc-noprint,body::before,body::after{display:none!important}
 .mjc-lvl{break-inside:avoid}
 .mjc-thead,.mjc-tfoot,.mjc-lvl-num .elementor-heading-title{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.e-con.mjc-side-main{--width:auto;flex:1 1 0;min-width:0}
