/* 1.5.0: contained LMS surfaces, responsive navigation, readable themes. */
:root { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
body { margin: 0; }
.absal-header-inner, .absal-hero .wp-block-column, .wp-block-post-content { min-width: 0; }
.absal-header .absal-header-inner { display: grid !important; grid-template-columns: auto minmax(0,1fr) auto; gap: clamp(14px,2vw,28px); align-items: center; }
.absal-header .absal-primary-nav { min-width: 0; justify-self: center; margin: 0; }
.absal-header .absal-header-actions { margin: 0; gap: 10px; flex-wrap: nowrap; }
.absal-header .absal-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open),
.absal-header .absal-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) :is(.wp-block-navigation__responsive-container-content,.wp-block-navigation__container) { background: transparent !important; }
.absal-header .absal-primary-nav .wp-block-navigation__container { gap: clamp(14px,1.6vw,24px); }
.absal-header .absal-primary-nav .wp-block-navigation-item__content { display: flex; align-items: center; min-height: 44px; line-height: 1.5; padding-block: 10px; white-space: nowrap; }
.absal-header :is(.absal-theme-toggle,.absal-language-toggle) .wp-block-button__link { box-sizing: border-box; border: 1px solid #bdc8d8; width: 44px; height: 44px; min-width: 44px; padding: 0 !important; border-radius: 50%; font-size: 15px; }
.absal-header .absal-theme-toggle .wp-block-button__link { font-size: 22px; }
html[data-theme="dark"] .absal-header { background: #121c2e !important; }
html[data-theme="dark"] .absal-header :is(.absal-theme-toggle,.absal-language-toggle) .wp-block-button__link { border-color: #7d8da6; }
.absal-hero .absal-hero-label { overflow-wrap: anywhere; }
html[lang="en"] .absal-hero .absal-hero-label { font-size: clamp(2rem,4.2vw,4.1rem); line-height: 1.18; }
html[data-theme="dark"] .absal-hero :is(.has-muted-color,.has-large-font-size,.absal-trust) { color: #bdc9db !important; }
html[data-theme="dark"] .absal-hero .absal-hero-slogan { color: #edf3ff !important; }
html[data-theme="dark"] .absal-hero :is(.has-orange-color,mark.has-orange-color) { color: #fb923c !important; }
.absal-hero .wp-block-columns { gap: clamp(24px,4vw,56px); }
.absal-hero .wp-block-columns > .wp-block-column { flex-shrink: 1; }
.absal-hero :is(.absal-hero-card,figure,img) { max-width: 100%; box-sizing: border-box; }
@media (max-width:1180px) {
    .absal-header .absal-header-inner { grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; }
    .absal-header .absal-site-logo { grid-column: 1; grid-row: 1; }
    .absal-header .absal-header-actions { grid-column: 2; grid-row: 1; justify-self: end; }
    .absal-header .absal-primary-nav { grid-column: 3; grid-row: 1; justify-self: end; }
    .absal-header .absal-primary-nav .wp-block-navigation-item__content { white-space: normal; }
    .absal-primary-nav .wp-block-navigation__responsive-container.is-menu-open { inset-inline-start: auto !important; inset-inline-end: 0 !important; animation: none; }
    .absal-primary-nav .wp-block-navigation__responsive-container-close { inset-inline-start: auto !important; inset-inline-end: 0 !important; }
}
/* Masteriyo owns its app color mode. Prevent browser dark controls on light cards. */
:is(#masteriyo-account-page,#masteriyo-checkout,#masteriyo-interactive-course) { color-scheme: light; min-width: 0; max-width: 100%; }
:is(.masteriyo-login-form-wrapper,.masteriyo-reset,.masteriyo-signup) { color-scheme: light; color: #243247; box-sizing: border-box; min-width: 0; }
.masteriyo-login-form-wrapper { display: grid !important; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); width: min(100%,960px) !important; max-width: 100% !important; margin: 24px auto !important; padding: 0 !important; border: 1px solid #dbe3ed; border-radius: 22px; overflow: hidden; background: #fff; }
.masteriyo-login-form-wrapper.no-signup { grid-template-columns: minmax(0,1fr); max-width: 580px !important; }
.masteriyo-login-form-wrapper > .masteriyo-login { display: block; background: #fff; padding: clamp(22px,4vw,44px) !important; min-width: 0; width: auto !important; max-width: 100% !important; flex-basis: auto !important; }
.masteriyo-login-form-wrapper .masteriyo-login--wrapper { width: 100% !important; max-width: 100% !important; padding: 0 !important; background: #fff; }
.masteriyo-login-form-wrapper > .masteriyo-signup { display: flex; flex-direction: column; justify-content: center; gap: 14px; background: #f5f7fb; padding: clamp(22px,4vw,44px) !important; min-width: 0; width: auto !important; max-width: 100% !important; flex-basis: auto !important; }
:is(.masteriyo-login-form-wrapper,.masteriyo-reset,.masteriyo-signup) :is(h1,h2,h3,h4,h5,h6,.masteriyo-title,.masteriyo-label,label,p) { color: #243247 !important; }
:is(.masteriyo-login-form-wrapper,.masteriyo-reset,.masteriyo-signup) :is(input[type="text"],input[type="email"],input[type="password"],input[type="tel"]) { color-scheme: light; box-sizing: border-box; width: 100% !important; min-width: 0; max-width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #78869b !important; border-radius: 10px; background: #fff !important; color: #172033 !important; caret-color: #172033; font-size: 16px; line-height: 1.5; }
:is(.masteriyo-login-form-wrapper,.masteriyo-reset,.masteriyo-signup) input::placeholder { color: #5e6b80 !important; opacity: 1; }
:is(.masteriyo-login-form-wrapper,.masteriyo-reset,.masteriyo-signup) input:focus-visible { outline: 3px solid #c64b06; outline-offset: 2px; }
:is(.masteriyo-login-form-wrapper,.masteriyo-reset,.masteriyo-signup) input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 18px; accent-color: #c64b06; color-scheme: light; }
:is(.masteriyo-login-form-wrapper,.masteriyo-reset,.masteriyo-signup) a:not(.masteriyo-btn) { color: #a33c05 !important; text-underline-offset: 3px; }
:is(.masteriyo-login-form-wrapper,.masteriyo-reset,.masteriyo-signup) .masteriyo-btn { box-sizing: border-box; min-height: 48px; max-width: 100%; padding: 12px 20px; background: #c64b06 !important; border-color: #c64b06 !important; color: #fff !important; border-radius: 10px; line-height: 1.5; white-space: normal; text-align: center; }
:is(.masteriyo-login-form-wrapper,.masteriyo-reset,.masteriyo-signup) .masteriyo-btn span { color: #fff !important; }
.masteriyo-login .masteriyo-remember-forgot { gap: 14px; align-items: center; flex-wrap: wrap; }
.masteriyo-signup--wrapper,.masteriyo-reset--wrapper { box-sizing: border-box; width: min(100%,680px) !important; max-width: 100% !important; padding: clamp(20px,4vw,40px) !important; }
@media(max-width:700px) {
    .masteriyo-login-form-wrapper { grid-template-columns: minmax(0,1fr); margin-block: 16px !important; }
    .masteriyo-login-form-wrapper > .masteriyo-signup { border-block-start: 1px solid #dbe3ed; padding: 24px !important; }
    .masteriyo-login-form-wrapper > .masteriyo-signup .masteriyo-btn { width: 100%; }
}
/* Make the companion's Arabic bar independent of the theme's global lists/links. */
#absal-learning-steps { box-sizing: border-box !important; width: calc(100% - 24px) !important; max-width: 1080px !important; min-width: 0 !important; margin-inline: auto !important; text-align: start; color-scheme: light; overflow: visible; }
#absal-learning-steps .absal-steps-list { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
#absal-learning-steps .absal-step { min-width: 0 !important; width: auto !important; padding-inline: 2px !important; }
#absal-learning-steps .absal-step-link { color: inherit; min-width: 0; white-space: normal; }
#absal-learning-steps .absal-step-label { color: inherit; white-space: normal; overflow-wrap: anywhere; }
#absal-learning-steps .absal-step-caption { color: #526966; }
#absal-learning-steps .absal-step-number { flex-shrink: 0; }
html[data-theme="dark"] #absal-learning-steps { --absal-accent: #71d9c4; --absal-ink: #eef6f5; --absal-muted: #c0d1ce; --absal-line: #4c6660; background: #16252b; border-color: #405750; color: #eef6f5; color-scheme: dark; }
html[data-theme="dark"] #absal-learning-steps .absal-step-caption { color: #c0d1ce; }
html[data-theme="dark"] #absal-learning-steps .absal-step-number { background: #21353a; color: #d6e8e3; border-color: #4c6660; }
html[data-theme="dark"] #absal-learning-steps .absal-step.is-current .absal-step-number { background: #71d9c4; color: #102c27; border-color: #71d9c4; box-shadow: 0 0 0 4px #2b4842; }
html[data-theme="dark"] #absal-learning-steps .absal-step.is-complete .absal-step-number { background: #25443b; color: #99efcf; }
html[data-theme="dark"] #absal-learning-steps .absal-steps-next { background: #71d9c4; color: #102c27; }
@media(max-width:420px) {
    #absal-learning-steps { padding: 14px 6px 18px !important; width: calc(100% - 16px) !important; }
    #absal-learning-steps .absal-step-label { font-size: 11px; }
    #absal-learning-steps .absal-steps-heading { display: block; }
}
@media(prefers-reduced-motion:reduce) { .absal-hero *, .absal-header *, #absal-learning-steps, #absal-learning-steps * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

.masteriyo-login-form-wrapper > .masteriyo-signup > span { color: #243247 !important; }
:is(.masteriyo-login-form-wrapper,.masteriyo-reset,.masteriyo-signup) :is(.masteriyo-danger-msg,.masteriyo-danger-msg p,.masteriyo-danger-msg span,.masteriyo-text-red) { color: #a11b23 !important; }
@media(min-width:701px) { .masteriyo-login-form-wrapper > .masteriyo-signup { border-left: 0; border-inline-start: 1px solid #dbe3ed; } }
.absal-header .absal-primary-nav { background: transparent !important; box-shadow: none; }
.absal-whatsapp-button .wp-block-button__link { background: #087b42 !important; border-color: #087b42 !important; color: #fff !important; }
.absal-whatsapp-button .wp-block-button__link:hover { background: #066537 !important; border-color: #066537 !important; }
/* 1.6: editable monthly graduate session and education blog. */
.absal-saturday-section,.absal-blog-section { box-sizing: border-box; max-width: 1180px; margin: 0 auto; padding: 36px 24px; }
.absal-saturday-card { box-sizing: border-box; margin: 0 !important; padding: clamp(24px,4vw,48px); border: 1px solid #ced9ea; border-radius: 26px; background: #edf2fa; gap: 32px; }
.absal-saturday-card > .wp-block-column { min-width: 0; flex-shrink: 1; }
.absal-saturday-card h2 { font-size: clamp(1.8rem,3vw,2.6rem); color: #1c2d5a; margin-block: 8px 16px; }
.absal-saturday-card p { color: #42516c; line-height: 1.9; }
.absal-saturday-card .absal-saturday-eyebrow { color: #1c2d5a; font-size: 14px; font-weight: 700; }
.absal-saturday-button { width: 100%; max-width: 300px; }
.absal-saturday-button .wp-block-button__link { box-sizing: border-box; display: block; width: 100%; min-height: 52px; padding: 14px 24px; background: #1c2d5a !important; border: 1px solid #1c2d5a !important; color: #fff !important; border-radius: 14px; font-size: 17px; text-align: center; }
.absal-saturday-button .wp-block-button__link[href]:hover { background: #293f76 !important; border-color: #293f76 !important; box-shadow: 0 8px 24px #1c2d5a26; }
.absal-saturday-button .wp-block-button__link:not([href]) { cursor: default; transform: none; box-shadow: none; }
.absal-saturday-notice { margin-top: 14px; }
.absal-blog-section { padding-block: 48px 72px; text-align: center; }
.absal-blog-section p { color: #526078; max-width: 650px; margin-inline: auto; }
html[data-theme="dark"] .absal-saturday-card { background: #14223b; border-color: #415677; }
html[data-theme="dark"] .absal-saturday-card h2 { color: #f0f5ff !important; }
html[data-theme="dark"] .absal-saturday-card p,html[data-theme="dark"] .absal-blog-section p { color: #c5d2e5 !important; }
html[data-theme="dark"] .absal-saturday-button .wp-block-button__link { background: #1c2d5a !important; border-color: #91a6d2 !important; color: #fff !important; }
@media(max-width:781px) { .absal-saturday-card { flex-wrap: wrap !important; text-align: center; gap: 16px; } .absal-saturday-card > .wp-block-column { flex-basis: 100% !important; } .absal-saturday-section,.absal-blog-section { padding-inline: 16px; } }
/* 1.7: native WordPress posts, posts index and article pages. */
.absal-blog-page,.absal-article-page { padding: clamp(32px,5vw,64px) 24px 72px; }
.absal-blog-intro { margin-bottom: 40px; text-align: center; }
.absal-blog-intro h1 { font-size: clamp(2rem,5vw,3.6rem); margin-bottom: 16px; }
.absal-blog-intro .wp-block-search { max-width: 560px; margin: 28px auto 0; }
.absal-blog-query { margin-block: 32px; text-align: start; }
.absal-blog-query .wp-block-post-template { gap: 24px; padding: 0; }
.absal-blog-query .absal-article-card { height: 100%; padding: 20px; box-sizing: border-box; }
.absal-article-card .wp-block-post-title { line-height: 1.55; overflow-wrap: anywhere; margin-block: 14px; }
.absal-article-card .wp-block-post-title a { color: #1c2d5a; text-decoration: none; }
.absal-article-card .wp-block-post-date { color: #526078; font-size: 14px; }
.absal-article-card .wp-block-read-more { color: #a33c05; font-weight: 700; }
.absal-article-card .wp-block-post-featured-image { margin: 0 0 20px; }
.absal-article-card .wp-block-post-featured-image img { border-radius: 14px; }
.absal-article-heading { margin-bottom: 32px; }
.absal-article-heading h1 { font-size: clamp(2rem,4.5vw,3.4rem); line-height: 1.45; overflow-wrap: anywhere; }
.absal-article-meta { color: #526078; font-size: 14px; }
.absal-article-page .wp-block-post-content { font-size: 1.1rem; line-height: 2; overflow-wrap: anywhere; }
.absal-article-page .wp-block-post-content :is(img,video,iframe) { max-width: 100%; }
html[data-theme="dark"] :is(.absal-blog-page,.absal-article-page) h1,html[data-theme="dark"] .absal-article-card .wp-block-post-title a { color: #f0f5ff; }
html[data-theme="dark"] :is(.absal-blog-intro p,.absal-article-meta,.absal-article-card .wp-block-post-date,.absal-article-card .wp-block-post-excerpt) { color: #c5d2e5; }
html[data-theme="dark"] .absal-article-card .wp-block-read-more,html[data-theme="dark"] .absal-article-page a { color: #fdba74; }
@media(max-width:900px) { .absal-blog-query .wp-block-post-template { grid-template-columns: repeat(2,minmax(0,1fr)) !important; } }
@media(max-width:600px) { .absal-blog-query .wp-block-post-template { grid-template-columns: minmax(0,1fr) !important; } .absal-blog-page,.absal-article-page { padding-inline: 18px; } }
