/* Shared landing tokens applied to native Moodle forms; field names, validation and auth stay native. */
.mazeed-branding { font-family:'Mazeed Plex Arabic','IBM Plex Sans Arabic',Inter,system-ui,sans-serif; --mazeed-site-green:#0b7a3b; --mazeed-site-cream:#fff9f2; --mazeed-site-soft:#eaf8ef; --mazeed-site-ink:#1f1f1f; }
.mazeed-branding #main-header { font-family:'Mazeed Plex Arabic','IBM Plex Sans Arabic',Inter,system-ui,sans-serif; }
.mazeed-branding:is(#page-login-index,#page-login-signup,#page-local-accesshub-profile) :is(#page-content,#region-main,.pagelayout-content) {
    background:var(--mazeed-site-cream); color:var(--mazeed-site-ink);
    font-family:'Mazeed Plex Arabic','IBM Plex Sans Arabic',Inter,system-ui,sans-serif;
}
.mazeed-branding#page-login-index .loginform,
.mazeed-branding#page-login-signup .signupform,
.mazeed-branding#page-local-accesshub-profile form.mform {
    background:#fff; padding:clamp(1.25rem,4vw,2.5rem); margin:1.5rem auto 3rem;
    border:0; box-shadow:none; max-width:68rem;
    border-start-start-radius:2.25rem; border-start-end-radius:2.25rem;
    border-end-end-radius:2.25rem; border-end-start-radius:.375rem;
}
.mazeed-branding#page-login-signup .signupform { max-width:48rem; }
.mazeed-branding:is(#page-login-index,#page-login-signup,#page-local-accesshub-profile) :is(h1,h2,h3) { font-family:inherit; color:#1f1f1f; }
.mazeed-branding:is(#page-login-index,#page-login-signup,#page-local-accesshub-profile) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]),select) {
    min-height:3rem; border:1px solid #dce6df; border-radius:.75rem; color:#1f1f1f; background-color:#fff; font-family:inherit; max-width:100%;
}
.mazeed-branding:is(#page-login-index,#page-login-signup,#page-local-accesshub-profile) :is(button[type=submit],input[type=submit],.btn-primary) {
    background:#0b7a3b; border-color:#0b7a3b; color:#fff; font-family:inherit; font-weight:700; min-height:3rem; padding:.75rem 1.5rem;
    border-start-start-radius:999px; border-start-end-radius:999px; border-end-end-radius:999px; border-end-start-radius:.375rem;
}
.mazeed-branding:is(#page-login-index,#page-login-signup) :is(.potentialidplist,.login-identityproviders) a {
    border:1px solid #dce6df; background:#eaf8ef; color:#0b7a3b; min-height:3rem; font-weight:700; border-radius:1.25rem; padding:.75rem 1rem;
}
.mazeed-branding:is(#page-login-index,#page-login-signup,#page-local-accesshub-profile) :is(a,input,select,button):focus-visible {
    outline:3px solid #ff8a00; outline-offset:3px;
}
.mazeed-branding#page-login-index .login-form-forgotpassword a { color:#0b7a3b; text-underline-offset:.25rem; }
.mazeed-footer-root { padding:0 !important; background:#1f1f1f !important; color:#fff; }
/* The native dark-header setting must not put white text on the Mazeed cream surface. */
body.mazeed-branding #page-header { background:#fff9f2 !important; color:#1f1f1f !important; }
body.mazeed-branding #page-header :is(.inner,.page-heading) { background:transparent !important; }
body.mazeed-branding #page-header :is(h1.heding,h1.heding a,.page-header-left,.page-header-right,label,.editmode-switch-form,.editmode-switch-form label) { color:#1f1f1f !important; text-shadow:none; }
body.mazeed-branding #page-header .page-header-img { opacity:.16; }
body.mazeed-branding #page-header .course-backtext { opacity:1; }
body.mazeed-branding #page-header .theme-turnediting,
body.mazeed-branding .page-breadcrumb .panel-link {
    color:var(--mazeed-site-ink) !important;
    text-shadow:none;
}
body.mazeed-branding :is(#page-header .theme-turnediting,.page-breadcrumb .panel-link):focus-visible {
    outline:2px solid var(--mazeed-site-ink) !important;
    outline-offset:3px;
}
body.mazeed-branding :is(#page-header,#page-breadcrumb,.breadcrumb-wrap) :is(.breadcrumb,.breadcrumb-item,.breadcrumb-item a,.breadcrumb-item span) { color:#424954 !important; }
body.mazeed-branding :is(#page,#main-content,#page-content) { background-color:#fff9f2 !important; }
body.mazeed-branding #main-header .header-tools :is(.mazeed-auth-login,.mazeed-auth-signup) { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:2.5rem; padding:.5rem 1rem; margin:0; border:1px solid transparent !important; border-radius:1.5rem 1.5rem 1.5rem .375rem !important; font-size:.875rem; line-height:1.5; font-weight:600; box-shadow:none; text-decoration:none; }
body.mazeed-branding #main-header .header-tools .mazeed-auth-login { background:#0b7a3b !important; color:#fff !important; }
body.mazeed-branding #main-header .header-tools .mazeed-auth-signup { background:#eaf8ef !important; color:#0b7a3b !important; }
body.mazeed-branding #main-header .header-tools .mazeed-auth-login:hover { background:#075c2c !important; }
body.mazeed-branding #main-header .header-tools .mazeed-auth-signup:hover { background:#dbeee2 !important; }
body.mazeed-branding #main-header .header-tools :is(.mazeed-auth-login,.mazeed-auth-signup) :is(.text1,.btn-icon,.icon1) { color:inherit !important; border:0; background:transparent; }
body.mazeed-branding #main-header .header-tools :is(.mazeed-auth-login,.mazeed-auth-signup):focus-visible { outline:3px solid #ff8a00; outline-offset:3px; }
body.mazeed-branding #main-header .header-tools { gap:.75rem; }
body.mazeed-branding #page-header::before,body.mazeed-branding #page-header::after { opacity:0; pointer-events:none; }
.mazeed-site-footer { padding:2.5rem clamp(1.25rem,4vw,3rem) 1.25rem; font-family:'Mazeed Plex Arabic','IBM Plex Sans Arabic',Inter,system-ui,sans-serif; }
.mazeed-footer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; max-width:80rem; margin:auto; }
.mazeed-site-footer h3 { color:#fff; font-family:inherit; font-size:1rem; font-weight:700; margin:0 0 1rem; }
.mazeed-footer-logo { display:inline-flex; align-items:center; justify-content:center; width:90px; height:55px; padding:.375rem; border-radius:.75rem; background:#fff; }
.mazeed-footer-logo img { display:block; width:100%; height:100%; object-fit:contain; }
.mazeed-footer-brand p { margin:1rem 0 0; color:#d9dce1; line-height:1.8; max-width:32rem; }
.mazeed-site-footer ul { list-style:none; padding:0; margin:0; }
.mazeed-site-footer li { margin-block:0 .6rem; }
.mazeed-site-footer a { color:#d9dce1; font-size:.9375rem; text-decoration:none; overflow-wrap:anywhere; }
.mazeed-site-footer a:hover { color:#ff8a00; }
.mazeed-site-footer a:focus-visible { outline:3px solid #ff8a00; outline-offset:3px; }
.mazeed-footer-contact p { margin:0 0 1rem; }
.mazeed-footer-contact span { display:block; color:#aeb3bc; font-size:.875rem; margin-block-end:.25rem; }
.mazeed-footer-contact p a { display:block; color:#fff; font-weight:700; }
.mazeed-site-footer .mazeed-footer-support { display:inline-block; margin-block-start:.5rem; color:#fff; text-decoration:underline; text-underline-offset:.25rem; }
.mazeed-footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; max-width:80rem; margin:2rem auto 0; padding-block-start:1rem; border-block-start:1px solid rgba(255,255,255,.1); color:#aeb3bc; font-size:.875rem; }
.mazeed-footer-bottom p { margin:0; }
@media(max-width:800px) { .mazeed-footer-grid { grid-template-columns:1fr; gap:2rem; } }
.mazeed-branding:is(#page-login-index,#page-login-signup) .header-tools-link.tool-signup,
.mazeed-branding#page-login-index .login-signup .mb2-pb-btn {
    background:#eaf8ef; color:#0b7a3b; border-color:#eaf8ef;
    border-start-start-radius:999px; border-start-end-radius:999px;
    border-end-end-radius:999px; border-end-start-radius:.375rem;
}

/* Native theme spacing is deliberately overridden only on Mazeed account and Access Hub views. */
.mazeed-branding:is(#page-login-index,#page-login-signup,#page-local-accesshub-profile) { --headerh:88px; background:#fff9f2; }
.mazeed-branding:is(#page-login-index,#page-login-signup) #main-header { --headerh:88px !important; }
.mazeed-branding:is(#page-login-index,#page-login-signup) #main-header .main-logo img { max-height:3rem; width:auto; }
.mazeed-branding:is(#page-login-index,#page-login-signup) #page-header { display:none; }
.mazeed-branding:is(#page-login-index,#page-login-signup) #main-content { background:#fff9f2; padding-block:2rem; }
.mazeed-branding:is(#page-login-index,#page-login-signup) #region-main { margin:0; }
.mazeed-branding#page-login-index .loginform { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:stretch; gap:2rem; padding:2rem; max-width:62rem; margin:0 auto; }
.mazeed-branding#page-login-index :is(.loginleft,.loginright) { flex:initial; width:auto; max-width:none; padding:0; margin:0; min-width:0; }
.mazeed-branding#page-login-index .loginright { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; background:#eaf8ef; border-radius:1.5rem; border-end-start-radius:.375rem; padding:1.5rem; }
.mazeed-branding#page-login-index .loginright .login-heading { font-size:1.375rem; line-height:1.6; }
.mazeed-branding#page-login-index .loginright p { font-size:.9375rem; line-height:1.8; margin:0 0 1rem; }
.mazeed-branding#page-login-index .login-heading { margin:0 0 1.25rem; }
.mazeed-branding#page-login-index .login-form { display:grid; gap:1rem; }
.mazeed-branding#page-login-index #login .form-item { margin:0; }
.mazeed-branding#page-login-index #login :is(.login-form-username,.login-form-password)::before { display:none; }
.mazeed-branding#page-login-index #login label.sr-only { position:static; width:auto; height:auto; overflow:visible; clip:auto; clip-path:none; margin:0 0 .5rem; padding:0; display:block; font-size:.875rem; font-weight:600; }
.mazeed-branding#page-login-index #login :is(input[type=text],input[type=password]) { min-height:3rem; padding-inline:1rem; border-width:1px; }
.mazeed-branding#page-login-index #login .pass_show { top:auto; bottom:.5rem; margin:0; }
.mazeed-branding#page-login-index .login-form-forgotpassword { font-size:.875rem; }
.mazeed-branding#page-login-index .login-form-submit button { width:100%; }
.mazeed-branding#page-login-index :is(.guest-login-form,.cookies-notice) { margin-block-start:1.25rem; font-size:.8125rem; line-height:1.7; }
.mazeed-branding#page-login-index .text-separator { margin-block:1rem; }
.mazeed-branding#page-login-signup .signupform { margin:0 auto; padding:1.5rem 2rem; max-width:48rem; }
.mazeed-branding#page-login-signup .signupform h1 { font-size:1.625rem; margin:0 0 1.5rem; }
.mazeed-branding:is(#page-login-signup,#page-local-accesshub-profile) .mform .fitem { margin-block-end:1rem; }
.mazeed-branding[id^="page-local-accesshub-"] #main-content { padding-block:1.5rem 2rem; background:#fff9f2; }
.mazeed-branding[id^="page-local-accesshub-"] #page-header { background:#fff9f2 !important; color:#1f1f1f; }
.mazeed-branding[id^="page-local-accesshub-"] #page-header :is(.page-header-img,.breadcrumb-wrap) { display:none; }
.mazeed-branding[id^="page-local-accesshub-"] #page-header > .inner { padding-block:1.5rem; background:none; }
.mazeed-branding[id^="page-local-accesshub-"] #page-header h1 { font-size:1.625rem; line-height:1.5; color:#1f1f1f; margin:0; }
.mazeed-branding[id^="page-local-accesshub-"] #page-header .page-heading { padding:0; min-height:0; }
.mazeed-branding[id^="page-local-accesshub-"] :is(.mform,table.generaltable) { max-width:100%; }
.mazeed-branding[id^="page-local-accesshub-"] .mform { background:#fff; padding:1.5rem; border:1px solid #e1e9e3; border-radius:1rem; margin-block:0 1.5rem; }
.mazeed-branding[id^="page-local-accesshub-"] .mform :is(.fitem,.fdescription) { margin-block-end:1rem; }
.mazeed-branding[id^="page-local-accesshub-"] .mform fieldset { margin-block:0 1.5rem; }
.mazeed-branding[id^="page-local-accesshub-"] table.generaltable { background:#fff; border:1px solid #e1e9e3; border-collapse:collapse; margin-block:0 1.5rem; }
.mazeed-branding[id^="page-local-accesshub-"] table.generaltable :is(th,td) { padding:.875rem 1rem; vertical-align:middle; border-color:#e7ede8; line-height:1.6; }
.mazeed-branding[id^="page-local-accesshub-"] table.generaltable thead { background:#f3f8f4; }
.mazeed-branding[id^="page-local-accesshub-"] :is(.btn,.form-control,.form-select) { min-height:2.75rem; border-radius:.625rem; font-family:inherit; }
.mazeed-branding[id^="page-local-accesshub-"] :is(.btn-primary,button.btn-primary,input.btn-primary) { background:#0b7a3b; border-color:#0b7a3b; color:#fff; }
.mazeed-branding[id^="page-local-accesshub-"] :is(.btn-outline-primary,.btn-outline-secondary) { color:#0b7a3b; border-color:#bdd3c4; background:#fff; }
@media(max-width:767px) {
    .mazeed-branding#page-login-index .loginform { grid-template-columns:minmax(0,1fr); padding:1.5rem; gap:1.5rem; }
    .mazeed-branding#page-login-index .loginright { padding:1.25rem; }
    .mazeed-branding#page-login-signup .signupform { padding:1.5rem; }
    .mazeed-branding:is(#page-login-index,#page-login-signup) #main-content { padding-block:1.5rem; }
    .mazeed-branding[id^="page-local-accesshub-"] .mform { padding:1rem; }
    .mazeed-footer-grid { gap:1.5rem; }
}

.mazeed-branding#page-local-accesshub-profile form.mform { max-width:48rem; padding:1.5rem; margin:0 auto; }
.mazeed-learning-empty { max-width:48rem; margin:1.5rem 0; padding:2rem; background:#fff; border:1px solid #dce7df; border-radius:1.5rem .5rem 1.5rem .5rem; }
.mazeed-learning-empty h2 { margin:0 0 .75rem; font-size:1.375rem; line-height:1.6; color:#1f1f1f; }
.mazeed-learning-empty p { color:#424954; line-height:1.8; margin:0 0 1.5rem; }
.mazeed-empty-actions { display:flex; gap:.75rem; flex-wrap:wrap; }
@media(max-width:620px) { .mazeed-learning-empty { padding:1.25rem; } .mazeed-empty-actions a { width:100%; } }

.mazeed-branding:is(#page-login-index,#page-login-signup,[id^="page-local-accesshub-"]) #main-content > .container-fluid { padding-inline:clamp(1rem,3vw,1.5rem); }

.mazeed-branding :is(h1,h2,h3,h4,h5,h6) { font-family:inherit; }
.mazeed-branding#page-login-index #login .pass_show:not(.filled) { display:none; }
.mazeed-branding#page-login-index .loginright .login-signup .mb2-pb-btn { display:inline-flex; align-items:center; justify-content:center; background:#fff; color:#0b7a3b; border:1px solid #bdd3c4; padding:.625rem 1rem; min-height:2.75rem; text-decoration:none; }
.mazeed-branding.mazeed-course-cards:is(#page-my-index,#page-my-courses,#page-course-index-category) #main-content { background:#fff9f2; }

/* Equal, compact native course cards; native favourites, menus and progress remain intact. */
.mazeed-course-cards:not(.course-list-layout) .theme-courses-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin:0; }
.mazeed-course-cards:not(.course-list-layout) .theme-courses-list > .theme-course-item { padding:0; margin:0; width:auto; max-width:none; flex:initial; min-width:0; }
.mazeed-course-cards .theme-course-item.cstyle-mazeed .theme-course-item-inner { display:flex; flex-direction:column; height:100%; border-radius:1.25rem .5rem 1.25rem .5rem; }
.mazeed-course-cards .theme-course-item.cstyle-mazeed .image-wrap { flex:none; }
.mazeed-course-cards .theme-course-item.cstyle-mazeed .content-wrap { display:flex; flex-direction:column; flex:1; padding:1.25rem !important; }
.mazeed-course-cards .theme-course-item.cstyle-mazeed .course-content { flex:1; }
.mazeed-course-cards .theme-course-item.cstyle-mazeed .title { font-size:1.0625rem; line-height:1.65; min-height:3.3em; }
.mazeed-course-cards .theme-course-item.cstyle-mazeed .image-wrap img { width:100%; height:auto; aspect-ratio:16/9; max-height:13rem; object-fit:contain; background:#edf4ef; }
.mazeed-course-cards .theme-course-item.cstyle-mazeed .course-desc { -webkit-line-clamp:2; line-height:1.7; }
.mazeed-course-cards .theme-course-item.cstyle-mazeed .course-footer { margin-block-start:1rem !important; padding:1rem 0 0 !important; }
.mazeed-course-cards :is(.block_myoverview,.block_recentlyaccessedcourses) .dashboard-card-deck:not(.fixed-width-cards) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin:0; }
.mazeed-course-cards :is(.block_myoverview,.block_recentlyaccessedcourses) .dashboard-card-deck:not(.fixed-width-cards) .dashboard-card { width:auto !important; max-width:none; margin:0 !important; min-width:0; }
.mazeed-course-cards .myc-item.course-card { display:flex; flex-direction:column; border-radius:1.25rem .5rem 1.25rem .5rem; padding:0 !important; }
.mazeed-course-cards .myc-item .dashboard-card-img { height:auto !important; max-height:13rem; aspect-ratio:16/9; background-size:contain; background-repeat:no-repeat; background-position:center; background-color:#edf4ef; }
.mazeed-course-cards .myc-item .course-info-container { padding:1.25rem !important; flex:1; }
.mazeed-course-cards .myc-item .coursename { font-size:1.0625rem; line-height:1.65; }
.mazeed-course-cards .myc-item .dashboard-card-footer { padding:0 1.25rem 1.25rem !important; }
.mazeed-course-cards .myc-item .myc-readmore { background:#0b7a3b; color:#fff; min-height:2.5rem; }
.mazeed-course-cards .theme-courses-topbar { padding:1rem 1.25rem; border:1px solid #dce7df; background:#fff; border-radius:1rem; gap:1rem; margin-block-end:1.5rem; flex-wrap:wrap; }
.mazeed-course-cards .courses-container-inner { width:100%; min-width:0; }
.mazeed-course-cards:is(#page-my-index,#page-my-courses) .card-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin:0; }
.mazeed-course-cards:is(#page-my-index,#page-my-courses) .card-grid > .col { width:auto !important; max-width:none !important; flex:initial !important; padding:0; margin:0 !important; min-width:0; }
.mazeed-course-cards:is(#page-my-index,#page-my-courses) .card-grid > .col .dashboard-card { width:100% !important; margin:0 !important; height:100%; }
.mazeed-course-cards .cfilter-wrap .mazeed-filter-failure { padding:1rem; color:#424954; background:#f8fbf9; border:1px solid #dce7df; border-radius:.75rem; }
.mazeed-course-cards .mazeed-filter-retry { display:inline-flex; align-items:center; min-height:2.5rem; padding:.5rem 1rem; margin-block-start:.75rem; background:#0b7a3b; color:#fff; border:0; border-radius:.75rem; }
.mazeed-course-cards .mazeed-course-error { padding:1rem; margin-block-end:1rem; background:#fff; color:#424954; border:1px solid #dce7df; border-radius:.75rem; }
@media(max-width:991px) { .mazeed-course-cards:not(.course-list-layout) .theme-courses-list,.mazeed-course-cards :is(.block_myoverview,.block_recentlyaccessedcourses) .dashboard-card-deck:not(.fixed-width-cards) { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .mazeed-course-cards:not(.course-list-layout) .theme-courses-list,.mazeed-course-cards :is(.block_myoverview,.block_recentlyaccessedcourses) .dashboard-card-deck:not(.fixed-width-cards) { grid-template-columns:minmax(0,1fr); gap:1rem; } }
@media(max-width:991px) { .mazeed-course-cards:is(#page-my-index,#page-my-courses) .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .mazeed-course-cards:is(#page-my-index,#page-my-courses) .card-grid { grid-template-columns:minmax(0,1fr); gap:1rem; } }
