:root{
  --stpl-navy:#022c55;
  --stpl-navy-2:#063e72;
  --stpl-gold:#efa91b;
  --stpl-gold-dark:#cf8c0d;
  --stpl-bg:#f8f3e9;
  --stpl-card:#fffdf8;
  --stpl-line:#e8ddca;
  --stpl-muted:#7d8592;
  --stpl-text:#082d52;
  --stpl-red:#d84848;
  --stpl-green:#138a55;
}

.stpl-auth-shell,.stpl-dashboard,.stpl-dashboard-login{font-family:inherit;color:var(--stpl-text);direction:rtl;box-sizing:border-box}
.stpl-auth-shell *,.stpl-dashboard *,.stpl-dashboard-login *{box-sizing:border-box}

.stpl-auth-shell{position:relative;min-height:720px;background:var(--stpl-bg);display:flex;align-items:center;justify-content:center;padding:70px 20px;overflow:hidden}
.stpl-auth-shell:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 14%,rgba(239,169,27,.08),transparent 34%),linear-gradient(120deg,rgba(2,44,85,.018),transparent 42%);pointer-events:none}
.stpl-auth-ghost{position:absolute;left:-40px;bottom:-150px;font-size:520px;line-height:1;color:rgba(2,44,85,.035);transform:rotate(-4deg);font-family:serif}
.stpl-auth-card{position:relative;width:min(100%,560px);background:rgba(255,253,248,.94);border:1px solid rgba(2,44,85,.06);border-radius:18px;padding:42px 42px 34px;box-shadow:0 22px 70px rgba(38,28,12,.08);text-align:right}
.stpl-auth-shell--register .stpl-auth-card{width:min(100%,620px)}
.stpl-brand-mark{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;background:var(--stpl-navy);color:var(--stpl-gold);font-size:34px;border:4px solid #f1d18b;box-shadow:0 0 0 1px var(--stpl-navy)}
.stpl-kicker{text-align:center;color:var(--stpl-navy);font-weight:700;font-size:14px;margin:0 0 24px}
.stpl-auth-card h1{font-size:34px;line-height:1.2;text-align:center;margin:0 0 8px;color:var(--stpl-navy);font-weight:800}
.stpl-subtitle{text-align:center;color:var(--stpl-muted);margin:0 0 30px}
.stpl-form{display:flex;flex-direction:column;gap:18px}
.stpl-form label{display:flex;flex-direction:column;gap:8px;color:var(--stpl-navy);font-weight:700;font-size:14px}
.stpl-form input[type=text],.stpl-form input[type=email],.stpl-form input[type=password]{width:100%;height:50px;border:1px solid #d9d2c5;border-radius:8px;background:#fff;padding:0 15px;font:inherit;color:#1c2a36;outline:none;transition:.2s}
.stpl-form input:focus{border-color:var(--stpl-gold);box-shadow:0 0 0 3px rgba(239,169,27,.12)}
.stpl-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stpl-form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}
.stpl-form-row a,.stpl-auth-switch a{color:var(--stpl-navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.stpl-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-weight:500!important;margin:0}
.stpl-check input{width:17px;height:17px;accent-color:var(--stpl-gold)}
.stpl-check--terms{margin:4px 0}
.stpl-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,var(--stpl-gold),var(--stpl-gold-dark));color:#fff!important;border:0;border-radius:8px;padding:14px 24px;font:inherit;font-weight:800;text-decoration:none!important;cursor:pointer;box-shadow:0 7px 18px rgba(207,140,13,.16);transition:transform .2s,box-shadow .2s}
.stpl-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(207,140,13,.22)}
.stpl-btn--full{width:100%;margin-top:2px}
.stpl-auth-switch{border-top:1px solid var(--stpl-line);margin-top:28px;padding-top:22px;text-align:center;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;color:#6b7280;font-size:14px}
.stpl-alert{padding:12px 14px;border-radius:8px;margin-bottom:18px;font-size:14px}.stpl-alert--error{background:#fff1f1;color:#a82727;border:1px solid #f0caca}
.stpl-auth-card--message{text-align:center}.stpl-auth-card--message h2{margin:0 0 20px}

.stpl-dashboard{background:var(--stpl-bg);padding:58px clamp(18px,5vw,70px) 80px;max-width:1500px;margin:0 auto;border-radius:4px}
.stpl-dashboard-head{display:flex;align-items:center;gap:18px;margin-bottom:30px;position:relative}
.stpl-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eadfc9;color:var(--stpl-navy);font-weight:800;font-size:28px;flex:0 0 auto}
.stpl-dashboard-head h1{margin:0;color:var(--stpl-navy);font-size:30px;font-weight:800}.stpl-dashboard-head p{margin:4px 0 0;color:var(--stpl-muted)}
.stpl-logout{margin-right:auto;color:#8e6a22;text-decoration:none;font-weight:700;font-size:14px}
.stpl-tabs{display:flex;gap:8px;border-bottom:1px solid #ded6c7;margin-bottom:36px;overflow:auto;scrollbar-width:none}
.stpl-tabs a{white-space:nowrap;padding:14px 22px;color:var(--stpl-navy);font-weight:700;text-decoration:none;border-bottom:3px solid transparent}.stpl-tabs a:hover,.stpl-tabs a.is-active{border-bottom-color:var(--stpl-gold);color:#a86d00}
.stpl-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:48px}
.stpl-stat{background:rgba(255,253,248,.84);border:1px solid rgba(2,44,85,.06);box-shadow:0 12px 35px rgba(34,26,17,.04);border-radius:13px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:130px}
.stpl-stat-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#f4ead7;color:#cb8b0f;font-size:28px;order:2}.stpl-stat div{display:grid;gap:4px}.stpl-stat span:not(.stpl-stat-icon){font-weight:800;color:var(--stpl-navy)}.stpl-stat strong{font-size:31px;color:var(--stpl-navy)}.stpl-stat small{color:var(--stpl-muted)}
.stpl-section{margin:0 0 52px;scroll-margin-top:30px}.stpl-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.stpl-section-head h2{margin:0;color:var(--stpl-navy);font-size:28px}.stpl-section-head p{margin:3px 0 0;color:var(--stpl-muted)}
.stpl-exams-list{display:grid;gap:15px}.stpl-exam-card{background:rgba(255,253,248,.92);border:1px solid rgba(2,44,85,.06);border-radius:13px;padding:20px;display:grid;grid-template-columns:1fr 210px;gap:24px;align-items:center;box-shadow:0 10px 30px rgba(34,26,17,.035)}
.stpl-exam-main h3{margin:0 0 6px;color:var(--stpl-navy);font-size:20px}.stpl-exam-main>p{margin:0 0 17px;color:#6f7882}.stpl-meta{display:flex;gap:24px;flex-wrap:wrap}.stpl-meta span{display:grid;grid-template-columns:auto auto;column-gap:7px;row-gap:2px;color:#6d7680;font-size:13px}.stpl-meta b{grid-row:1/3;color:var(--stpl-navy);font-size:17px}.stpl-meta strong{color:#34495e;font-weight:700}.stpl-exam-action{display:flex;flex-direction:column;gap:12px;align-items:stretch}.stpl-exam-action small{text-align:center;color:var(--stpl-muted)}
.stpl-status{display:inline-flex;align-items:center;justify-content:center;width:max-content;border-radius:7px;padding:7px 12px;font-size:13px;font-weight:800}.stpl-exam-action .stpl-status{width:100%}.stpl-status--available,.stpl-status--pass{background:#e0f5e9;color:#137944}.stpl-status--upcoming,.stpl-status--pending{background:#e4f0ff;color:#2367a4}.stpl-status--completed{background:#f1eadc;color:#806426}.stpl-status--closed{background:#eceae6;color:#777}.stpl-status--fail{background:#fde5e4;color:#c83d38}
.stpl-results-table{border:1px solid rgba(2,44,85,.06);border-radius:13px;overflow:hidden;background:rgba(255,253,248,.9);box-shadow:0 10px 30px rgba(34,26,17,.03)}.stpl-results-row{display:grid;grid-template-columns:2.1fr 1.1fr .7fr .8fr 1fr;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid #ece4d7;font-size:14px}.stpl-results-row:last-child{border-bottom:0}.stpl-results-head{font-weight:800;color:var(--stpl-navy);background:rgba(247,240,227,.55)}.stpl-result-title{font-weight:800;color:var(--stpl-navy)}.stpl-outline-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dda422;color:#a9740a!important;padding:8px 12px;border-radius:7px;text-decoration:none!important;font-weight:800;font-size:13px;background:transparent}
.stpl-empty{background:rgba(255,253,248,.86);border:1px solid rgba(2,44,85,.06);border-radius:13px;padding:32px;text-align:center;color:var(--stpl-muted)}.stpl-empty--certificate{padding:52px 25px;display:flex;flex-direction:column;align-items:center;gap:8px}.stpl-empty--certificate>span{font-size:44px;color:#999}.stpl-empty--certificate strong{font-size:18px;color:var(--stpl-navy)}.stpl-empty--certificate p{margin:0}.stpl-certs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stpl-cert{background:#fffdf8;border:1px solid var(--stpl-line);border-radius:13px;padding:24px;text-align:center}.stpl-cert-icon{font-size:34px;color:var(--stpl-gold)}.stpl-profile-card{background:rgba(255,253,248,.9);border:1px solid rgba(2,44,85,.06);border-radius:13px;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.stpl-profile-card div{display:grid;gap:5px}.stpl-profile-card span{color:var(--stpl-muted);font-size:13px}.stpl-profile-card strong{color:var(--stpl-navy)}
.stpl-dashboard-login{background:var(--stpl-bg);padding:60px;text-align:center;border-radius:14px}.stpl-dashboard-login h2{color:var(--stpl-navy)}.stpl-dashboard-login .stpl-link-btn{display:inline-block;margin-inline-start:12px;color:var(--stpl-navy);font-weight:700}

/* Plugixa exam pages — branded without changing its logic. */
.pxe{--pxe-bg:var(--stpl-bg)!important;--pxe-surface:#fffdf8!important;--pxe-text:var(--stpl-navy)!important;--pxe-primary:var(--stpl-navy)!important;--pxe-accent:var(--stpl-gold)!important;background:var(--stpl-bg)!important;color:var(--stpl-navy)!important;direction:rtl!important;padding:45px clamp(18px,6vw,90px)!important}
.pxe .pxe__shell{max-width:1240px!important;margin:auto!important}.pxe .pxe__title{font-size:clamp(34px,4.8vw,64px)!important;line-height:1.08!important;color:#171717!important;font-weight:800!important;margin:0 0 30px!important;text-align:right!important}
.pxe .pxe__facts,.pxe .pxe-exam__facts{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:15px!important}.pxe .pxe__fact,.pxe .pxe-exam__fact{border:1px solid #ddd1bd!important;border-radius:13px!important;background:rgba(255,255,255,.18)!important;padding:20px!important}
.pxe .pxe-notice{background:#fff!important;border-radius:12px!important;border-inline-start:4px solid var(--stpl-navy)!important;padding:22px 25px!important}.pxe .pxe-notice a,.pxe button,.pxe input[type=submit]{background:var(--stpl-navy)!important;color:#fff!important;border-radius:9px!important;border:0!important;padding:12px 25px!important;font-weight:800!important;text-decoration:none!important}
.pxe--runner .pxe-question,.pxe .pxe-result{background:rgba(255,253,248,.95)!important;border:1px solid rgba(2,44,85,.07)!important;border-radius:13px!important;box-shadow:0 9px 28px rgba(20,20,20,.035)!important}.pxe--runner .pxe-question{padding:24px!important}.pxe--runner .pxe-question__stem{font-size:19px!important;color:#1d2730!important;font-weight:700!important}.pxe--runner label{cursor:pointer}.pxe--runner input[type=radio],.pxe--runner input[type=checkbox]{accent-color:var(--stpl-gold)!important}

@media(max-width:900px){.stpl-stat-grid{grid-template-columns:1fr}.stpl-exam-card{grid-template-columns:1fr}.stpl-results-row{grid-template-columns:1fr 1fr}.stpl-results-head{display:none}.stpl-result-title{grid-column:1/-1}.stpl-profile-card,.stpl-certs-grid{grid-template-columns:1fr}.pxe .pxe__facts,.pxe .pxe-exam__facts{grid-template-columns:1fr!important}}
@media(max-width:640px){.stpl-auth-card{padding:30px 20px}.stpl-grid-2{grid-template-columns:1fr}.stpl-dashboard{padding:35px 14px 55px}.stpl-dashboard-head{align-items:flex-start;flex-wrap:wrap}.stpl-logout{width:100%;margin:0}.stpl-tabs a{padding:12px 14px}.stpl-results-row{grid-template-columns:1fr}.stpl-result-title{grid-column:auto}.stpl-meta{display:grid;gap:12px}.stpl-form-row{align-items:flex-start;flex-direction:column}.pxe{padding:28px 14px!important}.pxe .pxe__title{font-size:38px!important}}

/* v1.0.2 — exam runner, RTL, Arabic typography and full-width exam pages. */
.stpl-dashboard,
.stpl-dashboard *,
.stpl-auth-shell,
.stpl-auth-shell *,
.stpl-plugixa-ui .pxe,
.stpl-plugixa-ui .pxe *,
.stpl-plugixa-ui .pxe-runner__app,
.stpl-plugixa-ui .pxe-runner__app *{
  font-family:inherit!important;
}

body.stpl-plugixa-ui .widget-area,
body.stpl-plugixa-ui #secondary,
body.stpl-plugixa-ui aside.sidebar,
body.stpl-plugixa-ui .sidebar,
body.stpl-plugixa-ui .right-sidebar,
body.stpl-plugixa-ui .left-sidebar{
  display:none!important;
}
body.stpl-plugixa-ui #primary,
body.stpl-plugixa-ui .content-area,
body.stpl-plugixa-ui main.site-main,
body.stpl-plugixa-ui .site-content > .container,
body.stpl-plugixa-ui .site-content > .container > .row{
  width:100%!important;
  max-width:none!important;
  flex:0 0 100%!important;
  margin-inline:auto!important;
}
body.stpl-plugixa-ui .pxe{
  max-width:1500px!important;
  margin-inline:auto!important;
  direction:rtl!important;
  text-align:right!important;
  background:var(--stpl-bg)!important;
}

/* Do not paint every React/MUI button navy; it erases selected/current states. */
.pxe--runner button,
.pxe-runner__app button{
  background:initial!important;
  color:initial!important;
  padding:initial!important;
  border-radius:initial!important;
  font-weight:inherit!important;
}

/* Runner application */
.pxe-runner__app{
  direction:rtl!important;
  color:var(--stpl-text)!important;
  background:var(--stpl-bg)!important;
}
.pxe-runner__app > header{
  background:var(--stpl-navy)!important;
  color:#fff!important;
  border-radius:14px!important;
  margin-bottom:22px!important;
  overflow:hidden!important;
}
.pxe-runner__app > header *{
  color:#fff!important;
}
.pxe-runner__app > header .MuiChip-root{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
}
.pxe-runner__app > header .MuiLinearProgress-root{
  background:rgba(255,255,255,.28)!important;
}
.pxe-runner__app > header .MuiLinearProgress-bar{
  background:var(--stpl-gold)!important;
}

/* Navigator: neutral unanswered, light answered, gold current. */
.pxe-runner__app nav .MuiToggleButton-root{
  width:44px!important;
  height:44px!important;
  border:1px solid #cfc6b8!important;
  border-radius:9px!important;
  background:#fffdf8!important;
  color:var(--stpl-navy)!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.pxe-runner__app nav .MuiToggleButton-root:not(.Mui-selected)[aria-label*="تمت الإجابة"],
.pxe-runner__app nav .MuiToggleButton-root:not(.Mui-selected)[aria-label*="answered"]{
  background:#eaf2f7!important;
  border-color:#9eb5c8!important;
}
.pxe-runner__app nav .MuiToggleButton-root.Mui-selected,
.pxe-runner__app nav .MuiToggleButton-root[aria-current="true"]{
  background:var(--stpl-gold)!important;
  color:#fff!important;
  border-color:var(--stpl-gold-dark)!important;
  outline:3px solid rgba(239,169,27,.22)!important;
  outline-offset:2px!important;
}
.pxe-runner__app nav .MuiToggleButton-root:hover{
  background:#f8ecd2!important;
}

/* Question paper */
.pxe-runner__app .MuiCard-root,
.pxe-runner__app .pxe-question{
  background:#fffdf8!important;
  border:1px solid rgba(2,44,85,.08)!important;
  border-radius:14px!important;
  box-shadow:0 10px 30px rgba(34,26,17,.04)!important;
  color:var(--stpl-text)!important;
}
.pxe-runner__app .pxe-question__head,
.pxe-runner__app .pxe-question__stem,
.pxe-runner__app .pxe-choice__text,
.pxe-runner__app .MuiTypography-root{
  color:var(--stpl-text)!important;
  text-align:right!important;
}
.pxe-runner__app .pxe-question__stem{
  font-size:21px!important;
  line-height:1.9!important;
  font-weight:800!important;
}
.pxe-runner__app .pxe-choice{
  direction:rtl!important;
  border:1px solid #dcd5c8!important;
  border-radius:10px!important;
  background:#fff!important;
  transition:.18s ease!important;
}
.pxe-runner__app .pxe-choice:hover{
  border-color:var(--stpl-gold)!important;
  background:#fffaf0!important;
}
.pxe-runner__app .pxe-choice:has(input:checked){
  border-color:var(--stpl-gold)!important;
  background:#fff4d9!important;
  box-shadow:0 0 0 2px rgba(239,169,27,.12)!important;
}
.pxe-runner__app input[type=radio],
.pxe-runner__app input[type=checkbox]{accent-color:var(--stpl-gold)!important}

/* Review-before-submit screen */
.pxe-runner__app .MuiAlert-root{
  direction:rtl!important;
  text-align:right!important;
  border-radius:11px!important;
}
.pxe-runner__app .MuiAlert-icon{
  margin-left:10px!important;
  margin-right:0!important;
}
.pxe-runner__app .MuiChip-root{
  font-weight:700!important;
}
.pxe-runner__app .MuiButton-root{
  border-radius:9px!important;
  font-family:inherit!important;
  font-weight:800!important;
  text-transform:none!important;
}
.pxe-runner__app .MuiButton-containedPrimary,
.pxe-runner__app .MuiButton-contained{
  background:var(--stpl-navy)!important;
  color:#fff!important;
}
.pxe-runner__app .MuiButton-outlined{
  color:var(--stpl-navy)!important;
  border-color:var(--stpl-navy)!important;
  background:#fff!important;
}

/* No-JS fallback and result/review pages */
.pxe .pxe-runner__actions,
.pxe .pxe-review__head,
.pxe .pxe-review__option,
.pxe .pxe-result,
.pxe .pxe-summary__row{
  direction:rtl!important;
  text-align:right!important;
}
.pxe .pxe-review__item{
  background:#fffdf8!important;
  border-radius:12px!important;
}
.pxe .pxe-button,
.pxe a.pxe-button,
.pxe input.pxe-button{
  background:var(--stpl-navy)!important;
  color:#fff!important;
  border-radius:9px!important;
  border:1px solid var(--stpl-navy)!important;
  font-weight:800!important;
}
.pxe .pxe-button--secondary{
  background:#fff!important;
  color:var(--stpl-navy)!important;
}

/* Dashboard typography refinements. */
.stpl-dashboard h1,.stpl-dashboard h2,.stpl-dashboard h3,
.stpl-dashboard strong,.stpl-dashboard b,.stpl-dashboard a,.stpl-dashboard button{
  font-family:inherit!important;
}
.stpl-dashboard .stpl-meta strong,
.stpl-dashboard .stpl-results-row,
.stpl-dashboard .stpl-stat small,
.stpl-dashboard .stpl-exam-action small{
  line-height:1.7!important;
}
.stpl-dashboard .stpl-meta span{
  text-align:right!important;
}

@media(max-width:900px){
  body.stpl-plugixa-ui .pxe-runner__app > header{border-radius:0!important}
  .pxe-runner__app nav{direction:rtl!important}
}

/* v1.0.3 — Cairo everywhere, cleaner Plugixa pages and polished result screen. */
.stpl-dashboard,
.stpl-dashboard *,
.stpl-auth-shell,
.stpl-auth-shell *,
body.stpl-plugixa-ui .pxe,
body.stpl-plugixa-ui .pxe *,
body.stpl-plugixa-ui .pxe-runner__app,
body.stpl-plugixa-ui .pxe-runner__app *{
  font-family:'Cairo',sans-serif!important;
}

/* Keep the site's real header/footer; remove only theme/demo title bands on Plugixa routes. */
body.stpl-plugixa-ui .page-header,
body.stpl-plugixa-ui .breadcrumb-area,
body.stpl-plugixa-ui .breadcrumb-section,
body.stpl-plugixa-ui .page-title-area,
body.stpl-plugixa-ui .inner-banner,
body.stpl-plugixa-ui .page-banner{
  display:none!important;
}
body.stpl-plugixa-ui .site-content,
body.stpl-plugixa-ui #content{
  padding-top:32px!important;
}

/* Exam landing title is intentionally smaller than the old theme/plugin display heading. */
body.stpl-plugixa-ui .pxe .pxe__title,
body.stpl-plugixa-ui .pxe h1,
body.stpl-plugixa-ui .pxe .MuiTypography-display,
body.stpl-plugixa-ui .pxe .MuiTypography-h1{
  font-family:'Cairo',sans-serif!important;
  font-size:clamp(30px,3.4vw,48px)!important;
  line-height:1.35!important;
  letter-spacing:0!important;
}

/* The dark runner band: restore every label/title in a readable light colour. */
body.stpl-exam-runner-page .pxe-runner__app > header .MuiTypography-root,
body.stpl-exam-runner-page .pxe-runner__app > header h1,
body.stpl-exam-runner-page .pxe-runner__app > header h2,
body.stpl-exam-runner-page .pxe-runner__app > header span,
body.stpl-exam-runner-page .pxe-runner__app > header svg,
body.stpl-exam-runner-page .pxe-runner__app > header .MuiSvgIcon-root{
  color:#fff!important;
  fill:currentColor!important;
}
body.stpl-exam-runner-page .pxe-runner__app > header .MuiTypography-overline{
  color:#f7e4b3!important;
  opacity:1!important;
}
body.stpl-exam-runner-page .pxe-runner__app > header .MuiTypography-h6{
  color:#fff!important;
  font-size:16px!important;
  font-weight:700!important;
}

/* Buttons share the site's navy/gold language. */
body.stpl-plugixa-ui .pxe .MuiButton-root,
body.stpl-plugixa-ui .pxe .pxe-button,
body.stpl-plugixa-ui .pxe button[type=submit]{
  border-radius:9px!important;
  min-height:44px!important;
  padding:10px 20px!important;
  font-family:'Cairo',sans-serif!important;
  font-weight:700!important;
  box-shadow:none!important;
  text-transform:none!important;
}
body.stpl-plugixa-ui .pxe .MuiButton-contained,
body.stpl-plugixa-ui .pxe .MuiButton-containedPrimary,
body.stpl-plugixa-ui .pxe .pxe-button:not(.pxe-button--secondary){
  background:var(--stpl-navy)!important;
  color:#fff!important;
  border-color:var(--stpl-navy)!important;
}
body.stpl-plugixa-ui .pxe .MuiButton-contained:hover,
body.stpl-plugixa-ui .pxe .MuiButton-containedPrimary:hover,
body.stpl-plugixa-ui .pxe .pxe-button:not(.pxe-button--secondary):hover{
  background:#0b416f!important;
}
body.stpl-plugixa-ui .pxe .MuiButton-outlined,
body.stpl-plugixa-ui .pxe .pxe-button--secondary{
  background:#fffdf8!important;
  color:var(--stpl-navy)!important;
  border:1px solid var(--stpl-navy)!important;
}

/* Result page */
body.stpl-result-page .pxe{
  max-width:980px!important;
  padding:40px 20px 70px!important;
  margin-inline:auto!important;
}
body.stpl-result-page .pxe > .MuiStack-root{
  gap:22px!important;
}
body.stpl-result-page .pxe .MuiCard-root{
  background:#fffdf8!important;
  border:1px solid rgba(2,44,85,.10)!important;
  border-radius:16px!important;
  box-shadow:0 12px 34px rgba(34,26,17,.045)!important;
  overflow:hidden!important;
}
body.stpl-result-page .pxe .MuiCardContent-root{
  padding:32px!important;
}
body.stpl-result-page .pxe .MuiTypography-display,
body.stpl-result-page .pxe .MuiTypography-h1{
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.45!important;
  color:var(--stpl-navy)!important;
  font-weight:800!important;
  margin-bottom:8px!important;
}
body.stpl-result-page .pxe .MuiTypography-overline{
  font-family:'Cairo',sans-serif!important;
  font-size:13px!important;
  letter-spacing:0!important;
  font-weight:800!important;
}
body.stpl-result-page .pxe .MuiTypography-body1{
  color:#526476!important;
  font-size:16px!important;
  line-height:1.9!important;
  direction:rtl!important;
}
/* The score sentence: 40% — 2 من 5 درجات */
body.stpl-result-page .pxe .MuiCard-root:first-of-type .MuiTypography-body1{
  color:var(--stpl-navy)!important;
  font-size:17px!important;
  font-weight:700!important;
  unicode-bidi:plaintext!important;
}
body.stpl-result-page .pxe .MuiAlert-root{
  border-radius:11px!important;
  direction:rtl!important;
  text-align:right!important;
}
body.stpl-result-page .pxe .MuiAlert-icon{
  margin-left:10px!important;
  margin-right:0!important;
}
body.stpl-result-page .pxe .MuiDivider-root{
  border-color:#e8dfd1!important;
}
body.stpl-result-page .pxe .MuiChip-root{
  font-family:'Cairo',sans-serif!important;
  font-weight:700!important;
}
body.stpl-result-page .pxe .pxe-prose{
  direction:rtl!important;
  text-align:right!important;
  line-height:1.9!important;
}

/* Marker feedback block becomes a proper Arabic information card. */
body.stpl-result-page .pxe .MuiCard-root .MuiSvgIcon-root{
  flex-shrink:0!important;
}
body.stpl-result-page .pxe .MuiCard-root .MuiStack-root{
  direction:rtl!important;
}

/* Dashboard typography consistency. */
.stpl-dashboard .stpl-exam-main h3{font-size:18px!important;line-height:1.7!important}
.stpl-dashboard .stpl-section-head h2{font-size:30px!important;line-height:1.4!important}
.stpl-dashboard .stpl-stat strong{font-family:'Cairo',sans-serif!important}

@media(max-width:700px){
  body.stpl-result-page .pxe{padding:24px 12px 55px!important}
  body.stpl-result-page .pxe .MuiCardContent-root{padding:22px!important}
  body.stpl-plugixa-ui .pxe .pxe__title,
  body.stpl-plugixa-ui .pxe h1,
  body.stpl-plugixa-ui .pxe .MuiTypography-display,
  body.stpl-plugixa-ui .pxe .MuiTypography-h1{font-size:30px!important}
}

/* v1.0.4 — unified site header, centred Plugixa layouts, gold icons, refined runner/result/certificate UI. */
body.stpl-plugixa-ui,
body.stpl-plugixa-ui *{
  font-family:'Cairo',sans-serif!important;
}

/* When the site's Elementor header is available, use it instead of the theme's stock header. */
#stpl-global-site-header{width:100%;position:relative;z-index:50}
#stpl-global-site-header[hidden]{display:none!important}
body.stpl-header-replaced [data-stpl-stock-header="1"]{display:none!important}
body.stpl-header-replaced #stpl-global-site-header header,
body.stpl-header-replaced #stpl-global-site-header .elementor-location-header{display:block!important}

/* Keep every Plugixa surface centred instead of leaning to one side. */
body.stpl-plugixa-ui .pxe{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:42px 24px 70px!important;
}
body.stpl-plugixa-ui .pxe .pxe__shell{
  width:100%!important;
  max-width:1040px!important;
  margin:0 auto!important;
}
body.stpl-exam-runner-page .pxe .pxe__shell,
body.stpl-exam-runner-page .pxe-runner__app{
  width:100%!important;
  max-width:960px!important;
  margin-inline:auto!important;
}
body.stpl-result-page .pxe{
  width:100%!important;
  max-width:1040px!important;
  margin-inline:auto!important;
}

/* Smaller, calmer headings. */
body.stpl-plugixa-ui .pxe .pxe__title,
body.stpl-plugixa-ui .pxe h1,
body.stpl-plugixa-ui .pxe .MuiTypography-display,
body.stpl-plugixa-ui .pxe .MuiTypography-h1{
  font-size:clamp(26px,2.6vw,38px)!important;
  line-height:1.5!important;
  font-weight:800!important;
}
body.stpl-result-page .pxe .MuiTypography-display,
body.stpl-result-page .pxe .MuiTypography-h1{
  font-size:clamp(25px,2.4vw,36px)!important;
}
.stpl-dashboard .stpl-section-head h2{font-size:26px!important}
.stpl-dashboard .stpl-exam-main h3{font-size:17px!important}

/* Gold icon language everywhere on plugin-owned pages. */
body.stpl-plugixa-ui .pxe svg,
body.stpl-plugixa-ui .pxe .MuiSvgIcon-root,
.stpl-dashboard .stpl-meta b,
.stpl-dashboard .stpl-stat-icon,
.stpl-dashboard .stpl-cert-icon{
  color:var(--stpl-gold)!important;
  fill:currentColor!important;
}

/* Runner header and timer. */
body.stpl-exam-runner-page .pxe-runner__app > header{
  min-height:98px!important;
  padding:18px 22px!important;
  border-radius:15px!important;
  box-shadow:0 10px 26px rgba(2,44,85,.12)!important;
}
body.stpl-exam-runner-page .pxe-runner__app > header .MuiChip-root{
  min-width:112px!important;
  height:48px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  font-size:17px!important;
  font-weight:800!important;
  color:#fff!important;
}
body.stpl-exam-runner-page .pxe-runner__app > header .MuiChip-root svg,
body.stpl-exam-runner-page .pxe-runner__app > header button svg{
  color:var(--stpl-gold)!important;
  fill:currentColor!important;
}
body.stpl-exam-runner-page .pxe-runner__app > header .MuiTypography-overline{
  color:#f6cf77!important;
}
body.stpl-exam-runner-page .pxe-runner__app > header .MuiTypography-root:not(.MuiTypography-overline){
  color:#fff!important;
}

/* Navigation makes current / answered / unanswered unmistakable. */
.pxe-runner__app nav .MuiToggleButton-root{
  background:#fffdf8!important;
  border-color:#d8d1c6!important;
  color:var(--stpl-navy)!important;
}
.pxe-runner__app nav .MuiToggleButton-root:not(.Mui-selected)[aria-label*="تمت الإجابة"],
.pxe-runner__app nav .MuiToggleButton-root:not(.Mui-selected)[aria-label*="answered"]{
  background:#e8f3ed!important;
  border-color:#9fc9af!important;
  color:#176d42!important;
}
.pxe-runner__app nav .MuiToggleButton-root.Mui-selected,
.pxe-runner__app nav .MuiToggleButton-root[aria-current="true"]{
  background:var(--stpl-gold)!important;
  border-color:var(--stpl-gold-dark)!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(239,169,27,.18)!important;
}

/* Review/result: correct answer green, learner's wrong choice red exactly like the requested reference. */
body.stpl-result-page .pxe-review__option,
body.stpl-result-page .pxe .pxe-review__option{
  position:relative!important;
  border:1px solid #d9dde2!important;
  border-radius:11px!important;
  background:#fff!important;
  padding:15px 18px!important;
  margin:9px 0!important;
  color:var(--stpl-navy)!important;
}
body.stpl-result-page .pxe-review__option.is-correct{
  border-color:#2f8f46!important;
  background:#edf7ec!important;
  color:#176d2f!important;
}
body.stpl-result-page .pxe-review__option.is-chosen:not(.is-correct){
  border-color:#dc3d3d!important;
  background:#fdebec!important;
  color:#b92727!important;
}
body.stpl-result-page .pxe-review__option.is-chosen:not(.is-correct) .pxe-review__marker{
  color:#c62828!important;
  font-weight:800!important;
}
body.stpl-result-page .pxe-review__option.is-correct .pxe-review__marker{
  color:#20813a!important;
  font-weight:800!important;
}
body.stpl-result-page .pxe-review__item{
  border-inline-end:4px solid #d7dfe6!important;
  padding:24px!important;
  margin-bottom:20px!important;
}
body.stpl-result-page .pxe-review__item--incorrect{border-inline-end-color:#d83e3e!important}
body.stpl-result-page .pxe-review__item--correct{border-inline-end-color:#2d8a45!important}
body.stpl-result-page .pxe-chip--incorrect{background:#fdebec!important;color:#c62828!important;border-color:#e5a3a3!important}
body.stpl-result-page .pxe-chip--correct{background:#eaf6ed!important;color:#24753a!important;border-color:#a9d0b2!important}

/* Result certificate area. */
body.stpl-result-page .pxe .pxe-notice,
body.stpl-result-page .pxe .MuiCard-root{
  margin-inline:auto!important;
}

/* Dashboard cards remain centred and metadata/icons read more cleanly. */
.stpl-dashboard{width:min(100%,1500px)!important;margin-inline:auto!important}
.stpl-exam-card{max-width:1180px;margin-inline:auto;width:100%}
.stpl-meta b{font-size:19px!important}

/* Certificate cards show a real certificate preview instead of a generic word card. */
.stpl-certs-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.stpl-cert{padding:12px!important;text-align:initial!important;overflow:hidden!important}
.stpl-cert-preview{
  position:relative;
  display:block;
  aspect-ratio:1.414/1;
  overflow:hidden;
  border-radius:10px;
  border:2px solid var(--stpl-navy);
  background:
    linear-gradient(135deg,rgba(2,44,85,.96) 0 7%,transparent 7% 93%,rgba(2,44,85,.96) 93%),
    linear-gradient(225deg,rgba(239,169,27,.9) 0 3%,transparent 3% 97%,rgba(239,169,27,.9) 97%),
    #fbf6eb;
  text-decoration:none!important;
  color:var(--stpl-navy)!important;
  box-shadow:inset 0 0 0 4px #fbf6eb,inset 0 0 0 6px rgba(239,169,27,.72);
}
.stpl-cert-preview:before{
  content:"";
  position:absolute;
  inset:12% 7%;
  background:linear-gradient(90deg,transparent 49.7%,rgba(2,44,85,.045) 49.7% 50.3%,transparent 50.3%);
  pointer-events:none;
}
.stpl-cert-preview__cross{position:absolute;top:8%;left:50%;transform:translateX(-50%);font-size:28px;color:var(--stpl-gold)}
.stpl-cert-preview__title{position:absolute;top:24%;left:10%;right:10%;text-align:center;font-size:clamp(18px,2vw,29px);font-weight:800;color:var(--stpl-navy)}
.stpl-cert-preview__name{position:absolute;top:45%;left:10%;right:10%;text-align:center;font-size:clamp(14px,1.5vw,22px);font-weight:800;color:var(--stpl-navy)}
.stpl-cert-preview__line{position:absolute;left:34%;right:34%;top:61%;height:2px;background:var(--stpl-gold)}
.stpl-cert-preview__meta{position:absolute;bottom:8%;left:7%;font-size:10px;color:#65717d;direction:ltr}
.stpl-cert-preview__qr{position:absolute;bottom:7%;right:7%;width:42px;height:42px;border:2px solid var(--stpl-navy);display:grid;place-items:center;font-size:11px;font-weight:900;background:#fff;color:var(--stpl-navy)}
.stpl-cert-info{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;padding:12px 5px 2px}
.stpl-cert-info strong{color:var(--stpl-navy)}
.stpl-cert-info span{color:var(--stpl-muted);font-size:13px}

@media(max-width:760px){
  body.stpl-plugixa-ui .pxe{padding:26px 12px 55px!important}
  body.stpl-exam-runner-page .pxe-runner__app > header{padding:14px!important;min-height:86px!important}
  .stpl-certs-grid{grid-template-columns:1fr!important}
}

/* v1.0.5 — spacing, review consistency, wrong-answer state and compact certificate gallery. */

/* Keep the sticky question navigator comfortably below the dark exam header while scrolling. */
body.stpl-exam-runner-page .pxe-runner__app nav{
  top:128px!important;
  margin-top:24px!important;
  align-self:flex-start!important;
  z-index:8!important;
}
body.stpl-exam-runner-page .pxe-runner__app > header{
  margin-bottom:26px!important;
}

/* Result/review cards: one consistent width and visual rhythm. */
body.stpl-result-page .pxe-review{
  width:min(100%,900px)!important;
  margin-inline:auto!important;
  gap:18px!important;
}
body.stpl-result-page .pxe-review__item{
  width:100%!important;
  min-height:330px!important;
  display:flex!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
  padding:24px 26px!important;
  border-radius:14px!important;
  background:#fffdf8!important;
}
body.stpl-result-page .pxe-review__head{
  min-height:34px!important;
  margin-bottom:12px!important;
}
body.stpl-result-page .pxe-review__options{
  width:100%!important;
  margin-top:auto!important;
  margin-bottom:0!important;
  gap:10px!important;
}
body.stpl-result-page .pxe-review__option,
body.stpl-result-page li.pxe-review__option{
  width:100%!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:13px 16px!important;
  margin:0!important;
  border:1px solid #d8dde2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--stpl-navy)!important;
  box-sizing:border-box!important;
}
/* Correct option. */
body.stpl-result-page .pxe-review__option.is-correct,
body.stpl-result-page .pxe-review__option.stpl-correct-choice,
body.stpl-result-page li.pxe-review__option.is-correct{
  border-color:#2f8f46!important;
  background:#edf7ec!important;
  color:#176d2f!important;
}
/* Learner's wrong option — force red, independent of theme order/specificity. */
body.stpl-result-page .pxe-review__option.is-chosen:not(.is-correct),
body.stpl-result-page .pxe-review__option.stpl-wrong-choice,
body.stpl-result-page li.pxe-review__option.is-chosen:not(.is-correct){
  border-color:#dc3d3d!important;
  background:#fdebec!important;
  color:#b92727!important;
}
body.stpl-result-page .pxe-review__option.is-chosen:not(.is-correct) .pxe-review__marker,
body.stpl-result-page .pxe-review__option.stpl-wrong-choice .pxe-review__marker{
  color:#c62828!important;
  font-weight:800!important;
}
body.stpl-result-page .pxe-review__item--incorrect,
body.stpl-result-page .pxe-review__item.stpl-review-incorrect{
  border-inline-end:4px solid #dc3d3d!important;
  border-inline-start:1px solid rgba(2,44,85,.08)!important;
}
body.stpl-result-page .pxe-review__item--correct,
body.stpl-result-page .pxe-review__item.stpl-review-correct{
  border-inline-end:4px solid #2f8f46!important;
  border-inline-start:1px solid rgba(2,44,85,.08)!important;
}

/* Certificates: compact visual gallery, four across on desktop and five on very wide screens. */
.stpl-certs-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.stpl-cert{
  min-width:0!important;
  padding:8px!important;
  border-radius:12px!important;
}
.stpl-cert-preview{
  aspect-ratio:1.414/1!important;
  border:0!important;
  box-shadow:none!important;
  background:#fbf6eb!important;
  border-radius:8px!important;
}
.stpl-cert-preview__bg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  z-index:0!important;
}
.stpl-cert-preview__title,
.stpl-cert-preview__name,
.stpl-cert-preview__line,
.stpl-cert-preview__meta,
.stpl-cert-preview__qr{
  z-index:2!important;
}
.stpl-cert-preview__title{top:22%!important;font-size:clamp(13px,1.15vw,19px)!important}
.stpl-cert-preview__name{top:42%!important;font-size:clamp(11px,1vw,16px)!important}
.stpl-cert-preview__line{top:58%!important;left:35%!important;right:35%!important}
.stpl-cert-preview__meta{bottom:7%!important;left:6%!important;font-size:8px!important}
.stpl-cert-preview__qr{bottom:6%!important;right:6%!important;width:32px!important;height:32px!important;font-size:8px!important;border-width:1px!important}
.stpl-cert-info{
  gap:7px!important;
  padding:8px 2px 0!important;
  font-size:12px!important;
}
.stpl-cert-info .stpl-outline-btn{padding:6px 9px!important;font-size:11px!important}

@media(min-width:1500px){
  .stpl-certs-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media(max-width:1100px){
  .stpl-certs-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body.stpl-exam-runner-page .pxe-runner__app nav{top:102px!important;margin-top:18px!important}
  body.stpl-result-page .pxe-review__item{min-height:0!important;padding:18px!important}
  .stpl-certs-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:480px){
  .stpl-certs-grid{grid-template-columns:1fr!important}
}

/* v1.0.6 — exact global site header + true full-width portal/plugin layouts. */
#stpl-global-site-header{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
#stpl-global-site-header > *{
  width:100%!important;
  max-width:none!important;
}
body.stpl-header-replaced [data-stpl-stock-header="1"]{display:none!important}

/* Full-width Plugixa virtual pages without touching the approved global header. */
body.stpl-plugixa-ui .page_content_wrap,
body.stpl-plugixa-ui .site-content,
body.stpl-plugixa-ui #content,
body.stpl-plugixa-ui main,
body.stpl-plugixa-ui .content_wrap,
body.stpl-plugixa-ui .content,
body.stpl-plugixa-ui .content-area,
body.stpl-plugixa-ui .site-main,
body.stpl-plugixa-ui .content_container{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.stpl-plugixa-ui .page_content_wrap > .content_wrap,
body.stpl-plugixa-ui .site-content > .container,
body.stpl-plugixa-ui #content > .container,
body.stpl-plugixa-ui main > .container,
body.stpl-plugixa-ui .content_wrap > .content,
body.stpl-plugixa-ui .content-area > .site-main{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  padding-inline:0!important;
}
body.stpl-plugixa-ui aside.sidebar,
body.stpl-plugixa-ui .sidebar,
body.stpl-plugixa-ui .sidebar_container,
body.stpl-plugixa-ui .widget_area.sidebar,
body.stpl-plugixa-ui .right-sidebar,
body.stpl-plugixa-ui .left-sidebar{
  display:none!important;
}
body.stpl-plugixa-ui .pxe{
  width:min(100% - 48px, 1480px)!important;
  max-width:1480px!important;
  margin-inline:auto!important;
}
body.stpl-exam-runner-page .pxe,
body.stpl-result-page .pxe{
  width:min(100% - 48px, 1320px)!important;
  max-width:1320px!important;
}

/* Full-width custom student pages; inner portal remains comfortably readable. */
body.stpl-portal-page .page_content_wrap,
body.stpl-portal-page .site-content,
body.stpl-portal-page #content,
body.stpl-portal-page main,
body.stpl-portal-page .content_wrap,
body.stpl-portal-page .content,
body.stpl-portal-page .content-area,
body.stpl-portal-page .site-main,
body.stpl-portal-page .content_container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.stpl-portal-page .page_content_wrap > .content_wrap,
body.stpl-portal-page .site-content > .container,
body.stpl-portal-page #content > .container,
body.stpl-portal-page main > .container,
body.stpl-portal-page .content_wrap > .content,
body.stpl-portal-page .content-area > .site-main{
  width:100%!important;
  max-width:none!important;
  padding-inline:0!important;
  margin-inline:0!important;
}
body.stpl-portal-page aside.sidebar,
body.stpl-portal-page .sidebar,
body.stpl-portal-page .sidebar_container,
body.stpl-portal-page .widget_area.sidebar{
  display:none!important;
}
body.stpl-portal-page .stpl-dashboard{
  width:min(100% - 48px, 1500px)!important;
  max-width:1500px!important;
  margin-inline:auto!important;
}
body.stpl-portal-page .stpl-auth-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  min-height:calc(100vh - 120px)!important;
}

@media(max-width:767px){
  body.stpl-plugixa-ui .pxe,
  body.stpl-exam-runner-page .pxe,
  body.stpl-result-page .pxe,
  body.stpl-portal-page .stpl-dashboard{
    width:calc(100% - 24px)!important;
  }
}

/* v1.0.7 — review cards: identical sizing and reference-style red/green answers. */
body.stpl-result-page .pxe-review,
.stpl-result-page .pxe-review{
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:20px!important;
}
body.stpl-result-page .pxe-review__item,
.stpl-result-page .pxe-review__item{
  width:100%!important;
  max-width:920px!important;
  min-height:390px!important;
  margin:0!important;
  padding:24px 28px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
}
body.stpl-result-page .pxe-review__item .pxe-question__stem,
.stpl-result-page .pxe-review__item .pxe-question__stem{
  min-height:58px!important;
  margin-bottom:16px!important;
  display:flex!important;
  align-items:flex-start!important;
}
body.stpl-result-page .pxe-review__options,
.stpl-result-page .pxe-review__options{
  margin-top:auto!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
body.stpl-result-page .pxe-review__option,
.stpl-result-page .pxe-review__option{
  position:relative!important;
  width:100%!important;
  min-height:56px!important;
  padding:13px 48px 13px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  background:#fff!important;
  border:1px solid #d8dde2!important;
  border-radius:10px!important;
  color:var(--stpl-navy)!important;
}
/* Wrong selected answer: red box + X, like the supplied reference. */
body.stpl-result-page .pxe-review__option.is-chosen:not(.is-correct),
body.stpl-result-page .pxe-review__option.stpl-wrong-choice,
.stpl-result-page .pxe-review__option.is-chosen:not(.is-correct),
.stpl-result-page .pxe-review__option.stpl-wrong-choice{
  background:#fde9e9!important;
  border-color:#d93636!important;
  color:#a51f1f!important;
}
body.stpl-result-page .pxe-review__option.is-chosen:not(.is-correct)::before,
body.stpl-result-page .pxe-review__option.stpl-wrong-choice::before,
.stpl-result-page .pxe-review__option.is-chosen:not(.is-correct)::before,
.stpl-result-page .pxe-review__option.stpl-wrong-choice::before{
  content:"✕"!important;
  position:absolute!important;
  inset-inline-start:15px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:23px!important;
  height:23px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#d93636!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
}
body.stpl-result-page .pxe-review__option.is-chosen:not(.is-correct) .pxe-review__marker,
body.stpl-result-page .pxe-review__option.stpl-wrong-choice .pxe-review__marker,
.stpl-result-page .pxe-review__option.is-chosen:not(.is-correct) .pxe-review__marker,
.stpl-result-page .pxe-review__option.stpl-wrong-choice .pxe-review__marker{
  color:#b42323!important;
  font-weight:800!important;
}
/* Correct answer: green box + check. */
body.stpl-result-page .pxe-review__option.is-correct,
body.stpl-result-page .pxe-review__option.stpl-correct-choice,
.stpl-result-page .pxe-review__option.is-correct,
.stpl-result-page .pxe-review__option.stpl-correct-choice{
  background:#edf7ec!important;
  border-color:#2f8f46!important;
  color:#176d2f!important;
}
body.stpl-result-page .pxe-review__option.is-correct::before,
body.stpl-result-page .pxe-review__option.stpl-correct-choice::before,
.stpl-result-page .pxe-review__option.is-correct::before,
.stpl-result-page .pxe-review__option.stpl-correct-choice::before{
  content:"✓"!important;
  position:absolute!important;
  inset-inline-start:15px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:23px!important;
  height:23px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#2f8f46!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
}
@media(max-width:767px){
  body.stpl-result-page .pxe-review__item,
  .stpl-result-page .pxe-review__item{
    min-height:0!important;
    height:auto!important;
    padding:18px!important;
  }
  body.stpl-result-page .pxe-review__item .pxe-question__stem,
  .stpl-result-page .pxe-review__item .pxe-question__stem{min-height:0!important}
}


/* v1.0.8 — hard fix for result review card width + chosen wrong answer styling. */
body.stpl-result-page .pxe--result,
body.stpl-result-page .pxe__body,
body.stpl-result-page .pxe-view,
body.stpl-result-page .pxe-view__body,
body.stpl-result-page .pxe-review,
.stpl-result-page .pxe-review{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.stpl-result-page .pxe-review,
.stpl-result-page .pxe-review{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:20px!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
body.stpl-result-page .pxe-review__item,
.stpl-result-page .pxe-review__item{
  width:min(100%,820px)!important;
  max-width:820px!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  padding:24px 28px!important;
  box-sizing:border-box!important;
  flex:0 0 auto!important;
}
body.stpl-result-page .pxe-review__options,
.stpl-result-page .pxe-review__options{
  width:100%!important;
  margin:16px 0 0!important;
}
body.stpl-result-page .pxe-review__option,
.stpl-result-page .pxe-review__option{
  width:100%!important;
  box-sizing:border-box!important;
  min-height:54px!important;
  height:auto!important;
}

/* Wrong selected choice: catch Plugixa markup directly from the marker span as well as is-chosen. */
body.stpl-result-page .pxe-review__item--incorrect .pxe-review__option.is-chosen:not(.is-correct),
body.stpl-result-page .pxe-review__item--incorrect .pxe-review__option:has(.pxe-review__marker):not(.is-correct),
body.stpl-result-page .pxe-review__option.stpl-wrong-choice,
.stpl-result-page .pxe-review__item--incorrect .pxe-review__option.is-chosen:not(.is-correct),
.stpl-result-page .pxe-review__item--incorrect .pxe-review__option:has(.pxe-review__marker):not(.is-correct),
.stpl-result-page .pxe-review__option.stpl-wrong-choice{
  background:#fde8e8!important;
  border:1px solid #e02d2d!important;
  color:#a71818!important;
  padding-inline-start:52px!important;
}
body.stpl-result-page .pxe-review__item--incorrect .pxe-review__option.is-chosen:not(.is-correct)::before,
body.stpl-result-page .pxe-review__item--incorrect .pxe-review__option:has(.pxe-review__marker):not(.is-correct)::before,
body.stpl-result-page .pxe-review__option.stpl-wrong-choice::before,
.stpl-result-page .pxe-review__item--incorrect .pxe-review__option.is-chosen:not(.is-correct)::before,
.stpl-result-page .pxe-review__item--incorrect .pxe-review__option:has(.pxe-review__marker):not(.is-correct)::before,
.stpl-result-page .pxe-review__option.stpl-wrong-choice::before{
  content:"✕"!important;
  position:absolute!important;
  inset-inline-start:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:24px!important;
  height:24px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#d92d2d!important;
  color:#fff!important;
  font:800 13px/1 Cairo,sans-serif!important;
}
body.stpl-result-page .pxe-review__item--incorrect .pxe-review__option:has(.pxe-review__marker):not(.is-correct) .pxe-review__marker,
body.stpl-result-page .pxe-review__option.stpl-wrong-choice .pxe-review__marker{
  color:#b42323!important;
  font-weight:800!important;
}

/* Correct answer reference style. */
body.stpl-result-page .pxe-review__option.is-correct,
.stpl-result-page .pxe-review__option.is-correct{
  background:#edf7ec!important;
  border:1px solid #2e8b45!important;
  color:#176b2f!important;
  padding-inline-start:52px!important;
}
body.stpl-result-page .pxe-review__option.is-correct::before,
.stpl-result-page .pxe-review__option.is-correct::before{
  content:"✓"!important;
  position:absolute!important;
  inset-inline-start:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:24px!important;
  height:24px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#2e8b45!important;
  color:#fff!important;
  font:800 14px/1 Cairo,sans-serif!important;
}

@media (max-width:767px){
  body.stpl-result-page .pxe-review__item,
  .stpl-result-page .pxe-review__item{
    width:100%!important;
    padding:18px!important;
  }
}


/* v1.0.9 — result review hard override, independent of body classes/theme routing. */
.pxe .pxe-section-title + .pxe-review,
.pxe ol.pxe-review,
ol.pxe-review{
  width:min(100%,860px)!important;
  max-width:860px!important;
  margin:22px auto 0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:20px!important;
  list-style:none!important;
  box-sizing:border-box!important;
}
.pxe .pxe-review > .pxe-review__item,
ol.pxe-review > li.pxe-review__item,
.pxe-review__item{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:26px 28px!important;
  box-sizing:border-box!important;
  border-radius:14px!important;
  background:#fffdf8!important;
  box-shadow:0 10px 26px rgba(34,26,17,.045)!important;
}
.pxe-review__head{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-bottom:14px!important;
}
.pxe-review__options{
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin:16px 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.pxe-review__option{
  position:relative!important;
  width:100%!important;
  min-height:56px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  box-sizing:border-box!important;
  padding:13px 18px!important;
  border:1px solid #d8dde2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#022c55!important;
}
/* Correct answer — green, with check. */
.pxe-review__option.is-correct,
.pxe-review__option.stpl-correct-choice{
  background:#edf7ec!important;
  border-color:#2f8f46!important;
  color:#176d2f!important;
  padding-inline-start:52px!important;
}
.pxe-review__option.is-correct::before,
.pxe-review__option.stpl-correct-choice::before{
  content:"✓"!important;
  position:absolute!important;
  inset-inline-start:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:24px!important;
  height:24px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#2f8f46!important;
  color:#fff!important;
  font:800 14px/1 Cairo,sans-serif!important;
}
/* Student's selected wrong answer — red, with X exactly like the reference. */
.pxe-review__option.is-chosen:not(.is-correct),
.pxe-review__option.stpl-wrong-choice,
.pxe-review__item--incorrect .pxe-review__option:has(.pxe-review__marker):not(.is-correct){
  background:#fde8e8!important;
  border-color:#df3535!important;
  color:#a91f1f!important;
  padding-inline-start:52px!important;
}
.pxe-review__option.is-chosen:not(.is-correct)::before,
.pxe-review__option.stpl-wrong-choice::before,
.pxe-review__item--incorrect .pxe-review__option:has(.pxe-review__marker):not(.is-correct)::before{
  content:"✕"!important;
  position:absolute!important;
  inset-inline-start:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:24px!important;
  height:24px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#d92d2d!important;
  color:#fff!important;
  font:800 13px/1 Cairo,sans-serif!important;
}
.pxe-review__option.is-chosen:not(.is-correct) .pxe-review__marker,
.pxe-review__option.stpl-wrong-choice .pxe-review__marker,
.pxe-review__item--incorrect .pxe-review__option:has(.pxe-review__marker):not(.is-correct) .pxe-review__marker{
  color:#b42323!important;
  font-weight:800!important;
}
/* The whole question card state remains visible but subtle. */
.pxe-review__item--incorrect{border-inline-end:4px solid #df3535!important}
.pxe-review__item--correct{border-inline-end:4px solid #2f8f46!important}
@media(max-width:767px){
  .pxe .pxe-section-title + .pxe-review,
  .pxe ol.pxe-review,
  ol.pxe-review{width:100%!important;max-width:100%!important}
  .pxe .pxe-review > .pxe-review__item,
  ol.pxe-review > li.pxe-review__item,
  .pxe-review__item{padding:19px!important}
}

/* v1.0.10 — target Plugixa React/MUI result DOM directly. */
/* Never centre every MUI card globally: that breaks runner scroll targets. */
body.stpl-result-page .pxe .MuiCard-root{
  margin-inline:0!important;
}
body.stpl-result-page .pxe .pxe-notice{
  margin-inline:auto!important;
}

.stpl-react-review-section{
  width:100%!important;
  max-width:920px!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
.stpl-react-review-section > h2{
  text-align:right!important;
  font-size:28px!important;
  line-height:1.45!important;
  margin:28px 0 18px!important;
  color:var(--stpl-navy)!important;
}
.stpl-react-review-list{
  width:100%!important;
  max-width:860px!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:20px!important;
  list-style:none!important;
  box-sizing:border-box!important;
}
.stpl-react-review-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  height:auto!important;
  min-height:0!important;
  border-radius:16px!important;
  background:#fffdf8!important;
  border:1px solid rgba(2,44,85,.10)!important;
  box-shadow:0 12px 30px rgba(34,26,17,.045)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.stpl-react-review-card.stpl-review-incorrect{
  border-inline-end:4px solid #df3535!important;
}
.stpl-react-review-card.stpl-review-correct{
  border-inline-end:4px solid #2f8f46!important;
}
.stpl-react-review-card > .MuiCardContent-root{
  padding:24px 26px!important;
}
.stpl-react-review-options{
  width:100%!important;
  margin:16px 0 0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
  list-style:none!important;
}
.stpl-react-review-option{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:56px!important;
  height:auto!important;
  margin:0!important;
  padding:13px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  box-sizing:border-box!important;
  border:1px solid #d7dde2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--stpl-navy)!important;
  direction:rtl!important;
  text-align:right!important;
}
.stpl-react-review-option.stpl-correct-choice{
  background:#edf7ec!important;
  border-color:#2f8f46!important;
  color:#176d2f!important;
  padding-inline-start:54px!important;
}
.stpl-react-review-option.stpl-wrong-choice{
  background:#fde8e8!important;
  border-color:#df3535!important;
  color:#a91f1f!important;
  padding-inline-start:54px!important;
}
.stpl-react-review-option.stpl-correct-choice::before,
.stpl-react-review-option.stpl-wrong-choice::before{
  position:absolute!important;
  inset-inline-start:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:25px!important;
  height:25px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  font:800 14px/1 'Cairo',sans-serif!important;
}
.stpl-react-review-option.stpl-correct-choice::before{
  content:"✓"!important;
  background:#2f8f46!important;
}
.stpl-react-review-option.stpl-wrong-choice::before{
  content:"✕"!important;
  background:#d92d2d!important;
}
.stpl-react-review-option.stpl-correct-choice *{color:#176d2f!important}
.stpl-react-review-option.stpl-wrong-choice *{color:#a91f1f!important}

/* Runner anchors/questions: leave natural margins and create a safe sticky-header offset. */
body.stpl-exam-runner-page .pxe-runner__app .MuiCard-root{
  margin-inline:0!important;
  scroll-margin-top:180px!important;
}
body.stpl-exam-runner-page .pxe-runner__app nav,
body.stpl-exam-runner-page .pxe-runner__app [role="navigation"]{
  scroll-margin-top:180px!important;
}

@media(max-width:767px){
  .stpl-react-review-section,.stpl-react-review-list{max-width:100%!important}
  .stpl-react-review-card > .MuiCardContent-root{padding:18px!important}
  .stpl-react-review-section > h2{font-size:24px!important}
}

/* v1.0.12 — tighter vertical rhythm and comfortable side gutters on every student/Plugixa page. */
body.stpl-plugixa-ui .page_content_wrap,
body.stpl-plugixa-ui .site-content,
body.stpl-plugixa-ui #content,
body.stpl-plugixa-ui main,
body.stpl-plugixa-ui .content_wrap,
body.stpl-plugixa-ui .content-area,
body.stpl-plugixa-ui .site-main,
body.stpl-portal-page .page_content_wrap,
body.stpl-portal-page .site-content,
body.stpl-portal-page #content,
body.stpl-portal-page main,
body.stpl-portal-page .content_wrap,
body.stpl-portal-page .content-area,
body.stpl-portal-page .site-main{
  padding-top:22px!important;
  padding-bottom:34px!important;
  min-height:0!important;
}
body.stpl-plugixa-ui .pxe,
body.stpl-exam-runner-page .pxe,
body.stpl-result-page .pxe{
  width:min(calc(100% - 64px),1320px)!important;
  margin:0 auto!important;
  padding-top:22px!important;
  padding-bottom:32px!important;
  box-sizing:border-box!important;
}
body.stpl-portal-page .stpl-dashboard{
  width:min(calc(100% - 64px),1420px)!important;
  margin:0 auto!important;
  padding-top:34px!important;
  padding-bottom:46px!important;
  box-sizing:border-box!important;
}
body.stpl-portal-page .stpl-auth-shell{
  width:min(calc(100% - 64px),1420px)!important;
  margin:22px auto 34px!important;
  min-height:0!important;
  padding-top:34px!important;
  padding-bottom:34px!important;
  box-sizing:border-box!important;
}
@media(max-width:767px){
  body.stpl-plugixa-ui .pxe,
  body.stpl-exam-runner-page .pxe,
  body.stpl-result-page .pxe,
  body.stpl-portal-page .stpl-dashboard,
  body.stpl-portal-page .stpl-auth-shell{
    width:calc(100% - 24px)!important;
  }
}

/* v1.0.14 – custom forgot/reset password screens */
.stpl-alert--success{background:#eef8ef;color:#25713a;border:1px solid #b9dfc1}
.stpl-auth-card h2{margin:0 0 10px;text-align:center;color:var(--stpl-navy);font-size:30px;line-height:1.35;font-weight:800}
.stpl-auth-subtitle{margin:0 auto 24px;text-align:center;color:#758096;line-height:1.9;max-width:440px}
.stpl-auth-footer{margin-top:22px;text-align:center}.stpl-auth-footer a{color:var(--stpl-navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* v1.0.41: certificate view/download actions */
.stpl-cert-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-inline-start:auto}
.stpl-cert-actions .stpl-outline-btn{white-space:nowrap}
.stpl-download-btn{background:#dda422!important;color:#fff!important;border-color:#dda422!important}
.stpl-download-btn:hover{background:#b8841e!important;border-color:#b8841e!important;color:#fff!important}
