/*
 * 24print digital brand layer.
 *
 * Loaded after constructor.css so structure and behaviour remain independent
 * from the visual language. Designers can replace this file without changing
 * course content or learner interactions.
 */

@font-face {
    font-family: "Mont";
    src: url("/local/printacademy/fonts/mont-regular.otf") format("opentype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src: url("/local/printacademy/fonts/mont-bold.otf") format("opentype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src: url("/local/printacademy/fonts/mont-regular-italic.otf") format("opentype");
    font-style: italic;
    font-weight: 400;
    font-display: swap;
}

:root {
    --pa-brand-black: #000;
    --pa-brand-white: #fff;
    --pa-brand-gray-light: #f0f1f1;
    --pa-brand-gray: #c6c7c8;
    --pa-brand-font: "Mont", Arial, sans-serif;
    --pa-brand-content-width: 980px;
    --pa-brand-ink-soft: #343434;
    --pa-brand-border: #c6c7c8;
    --pa-brand-surface: #f0f1f1;
    --pa-brand-radius: 0;
    --pa-brand-shadow: 0 18px 48px rgb(0 0 0 / 8%);
}

html,
body {
    color: var(--pa-brand-black);
    background: var(--pa-brand-white);
    font-family: var(--pa-brand-font);
}

button,
input,
select,
textarea,
.btn {
    font-family: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    color: var(--pa-brand-black);
    font-family: var(--pa-brand-font);
    font-weight: 700;
}

a {
    color: var(--pa-brand-black);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

a:hover,
a:focus {
    color: var(--pa-brand-black);
    text-decoration-thickness: 2px;
}

.navbar {
    background: var(--pa-brand-white) !important;
    border-bottom: 1px solid var(--pa-brand-gray) !important;
    box-shadow: none !important;
}

.navbar-brand.pa-brand-home {
    display: inline-flex;
    min-width: 118px;
    min-height: 44px;
    align-items: center;
    padding: 6px 0;
}

.pa-brand-logo {
    display: block;
    width: 118px;
    height: auto;
}

.btn-primary,
.pa-presentation-control,
.pa-start-module,
.pa-practice-previous,
.pa-practice-next,
.pa-action-save,
.pa-next-activity {
    min-height: 44px;
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-weight: 700;
}

.btn-primary:hover,
.btn-primary:focus,
.pa-presentation-control:hover,
.pa-presentation-control:focus,
.pa-next-activity:hover,
.pa-next-activity:focus {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
}

.btn-secondary,
.pa-previous-activity {
    min-height: 44px;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.pa-previous-activity:hover,
.pa-previous-activity:focus {
    background: var(--pa-brand-gray-light) !important;
}

/* Academy learning surfaces: presentation first, explanation below. */
#region-main .pa-presentation-slide,
#region-main .pa-module-overview,
#region-main .pa-video-task,
body:has(.pa-book-presentation) #mod_book-chapter.book_content {
    width: min(100%, var(--pa-brand-content-width));
    margin-right: auto;
    margin-left: auto;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
}

#region-main .pa-presentation-slide,
#region-main .pa-module-overview {
    border: 1px solid var(--pa-brand-gray) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

#region-main .pa-presentation-slide h2,
#region-main .pa-presentation-slide h3,
#region-main .pa-presentation-slide h4,
#region-main .pa-module-overview h2,
#region-main .pa-video-task h2 {
    color: var(--pa-brand-black) !important;
    font-family: var(--pa-brand-font) !important;
    font-weight: 700 !important;
}

#region-main .pa-presentation-slide__progress,
#region-main .pa-module-overview-meta,
#region-main .pa-video-task__eyebrow {
    color: var(--pa-brand-black) !important;
    font-family: var(--pa-brand-font) !important;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

#region-main .pa-presentation-slide__progress {
    text-transform: none !important;
}

#region-main .pa-timeline__date {
    color: var(--pa-brand-black);
    font-size: clamp(16px, 2.2vw, 24px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.02em;
}

#region-main .pa-timeline__line {
    background: var(--pa-brand-gray);
}

#region-main .pa-timeline__dot {
    background: var(--pa-brand-black);
    border: 4px solid var(--pa-brand-white);
    border-radius: 50%;
}

#region-main .pa-timeline__body {
    color: var(--pa-brand-black);
    background: var(--pa-brand-white);
    border: 1px solid var(--pa-brand-gray);
    font-size: 16px;
    line-height: 1.55;
}

#region-main .pa-visual-step,
#region-main .pa-learner-action,
#region-main .pa-action-locked,
#region-main .pa-action-orientir,
#region-main .pa-video-task__head,
#region-main .pa-video-task__prompt li,
#region-main .pa-video-task__action {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
    border-color: var(--pa-brand-gray) !important;
    border-radius: 0 !important;
}

.pa-learning-media-placeholder {
    color: var(--pa-brand-black);
    background: var(--pa-brand-gray-light);
    border: 2px dashed var(--pa-brand-black);
    border-radius: 0;
}

.pa-channel-card {
    color: var(--pa-brand-black);
    background: var(--pa-brand-white);
    border: 1px solid var(--pa-brand-gray);
}

.pa-channel-card__icon {
    color: var(--pa-brand-black);
    background: var(--pa-brand-gray-light);
    border: 1px solid var(--pa-brand-black);
    font-size: 1.25rem;
}

.pa-channel-card__label {
    font-weight: 700;
}

.pa-micro-choice-option {
    min-height: 44px;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
}

.pa-micro-choice-option:hover,
.pa-micro-choice-option:focus,
.pa-micro-choice-option[aria-pressed="true"] {
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
}

:focus-visible {
    outline: 3px solid var(--pa-brand-black) !important;
    outline-offset: 3px !important;
}

@media (max-width: 767.98px) {
    .pa-brand-logo {
        width: 96px;
    }

    #region-main .pa-presentation-slide,
    #region-main .pa-module-overview {
        border-right: 0 !important;
        border-left: 0 !important;
    }
}

/* Presentation constructor: content-sized canvas prepared for the design handoff. */
body:has(.pa-page-presentation) #region-main .pa-presentation-slide {
    min-height: 0 !important;
    padding: clamp(32px, 4vw, 56px) clamp(28px, 5vw, 72px) !important;
    border: 0 !important;
}

body:has(.pa-page-presentation) .activity-header {
    margin-bottom: 12px !important;
}

body:has(.pa-page-presentation) .pa-presentation-slide__progress {
    margin-bottom: 20px !important;
}

body:has(.pa-page-presentation) .pa-presentation-slide h4 {
    margin-bottom: 28px !important;
}

body:has(.pa-page-presentation) .pa-visual-flow {
    gap: 12px !important;
    margin: 0 !important;
}

body:has(.pa-page-presentation) .pa-visual-step {
    padding: 20px !important;
    border: 0 !important;
    background: var(--pa-brand-gray-light) !important;
}

body:has(.pa-page-presentation) .pa-visual-number {
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
}

body:has(.pa-page-presentation) .pa-visual-step::after {
    content: none !important;
}

.pa-page-presentation-final-action {
    background: transparent !important;
}

@media (max-width: 767.98px) {
    body:has(.pa-page-presentation) #region-main .pa-presentation-slide {
        padding: 28px 20px !important;
    }
}

/* Learner utilities: retain the functions, remove administration noise. */
body:not(.path-course):not(.path-mod) .editmode-switch-form {
    display: none !important;
}

.navbar .popover-region-header-actions a[href*="notificationpreferences.php"] {
    display: none !important;
}

body#page-message-notificationpreferences #page-header,
body#page-message-notificationpreferences .page-context-header {
    display: none !important;
}

body#page-message-notificationpreferences #region-main {
    width: min(100%, 1120px);
    margin: 0 auto;
    padding-top: 42px !important;
}

body#page-message-notificationpreferences .preferences-container {
    font-size: 0.95rem;
}

body#page-message-notificationpreferences .table {
    border: 1px solid var(--pa-brand-border) !important;
}

body#page-message-notificationpreferences .table th,
body#page-message-notificationpreferences .table td {
    padding: 14px 16px !important;
    border-color: var(--pa-brand-border) !important;
}

body#page-message-notificationpreferences .table thead th,
body#page-message-notificationpreferences .table .preference-row-heading {
    background: var(--pa-brand-gray-light) !important;
}

body#page-message-notificationpreferences .custom-control-input:checked ~ .custom-control-label::before,
body#page-message-notificationpreferences .form-check-input:checked,
body#page-message-notificationpreferences input[type="checkbox"]:checked {
    border-color: var(--pa-brand-black) !important;
    background-color: var(--pa-brand-black) !important;
}

/* Messaging is a compact contact panel, not a second application shell. */
[data-region="message-drawer"],
.message-app.drawer {
    width: min(400px, 100vw) !important;
    border-left: 1px solid var(--pa-brand-black) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    box-shadow: -10px 0 0 rgb(0 0 0 / 6%) !important;
}

[data-region="message-drawer"] .header-container,
[data-region="message-drawer"] .body-container,
[data-region="message-drawer"] .footer-container,
.message-app .view-overview-body,
.message-app .view-overview-footer {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
}

[data-region="message-drawer"] .btn,
[data-region="message-drawer"] input,
.message-app .btn,
.message-app input {
    border-color: var(--pa-brand-border) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
}

[data-region="message-drawer"] [data-action="settings"],
.message-app [data-action="settings"] {
    display: none !important;
}

/* A learner profile should be an identity card, not a system report. */
body#page-user-profile #region-main {
    width: min(100%, 980px);
    margin: 0 auto;
}

body#page-user-profile .singlebutton:has(input[value*="Перевстановити"]),
body#page-user-profile form:has(input[value*="Перевстановити"]),
body#page-user-profile .profile_tree .node_category:has(a[href*="/blog/"]),
body#page-user-profile .profile_tree .node_category:has(a[href*="/mod/forum/"]),
body#page-user-profile .profile_tree .node_category:has(a[href*="/report/"]),
body#page-user-profile .profile_tree .node_category:has(a[href*="userlogin"]),
body#page-user-profile .profile_tree .node_category:has(a[href*="tool/dataprivacy"]) {
    display: none !important;
}

body#page-user-profile .profile_tree {
    display: block !important;
}

body#page-user-profile .profile_tree .node_category {
    max-width: 680px;
    margin: 24px auto 0 !important;
    padding: 24px !important;
    border: 1px solid var(--pa-brand-border) !important;
    background: var(--pa-brand-white) !important;
}

/*
 * Complete 24print interface layer.
 * This section deliberately overrides Moodle and the earlier prototype palette.
 */
body,
body:has(.pa-m00-scope),
body:has(.pa-m00-scope) button,
body:has(.pa-m00-scope) input,
body:has(.pa-m00-scope) select,
body:has(.pa-m00-scope) textarea,
body:has(.pa-m00-scope) .main-inner,
body:has(.pa-m00-scope) .activity-header,
body:has(.pa-m00-scope) .activity-description,
body:has(.pa-m00-scope) .box.generalbox,
body:has(.pa-m00-scope) .book_content,
.pa-welcome {
    font-family: var(--pa-brand-font) !important;
}

body {
    color: var(--pa-brand-black);
    background: var(--pa-brand-white);
}

.main-inner,
#region-main,
.drawer,
.card,
.block,
.dropdown-menu,
.modal-content {
    box-shadow: none;
}

.navbar .nav-link {
    position: relative;
    color: var(--pa-brand-black) !important;
    font-weight: 400;
}

.navbar .nav-link.active::after,
.navbar .nav-link[aria-current="page"]::after {
    position: absolute;
    right: auto;
    bottom: 7px;
    left: 50%;
    width: 5px;
    height: 5px;
    background: var(--pa-brand-black);
    border-radius: 50%;
    content: "";
    transform: translateX(-50%);
}

.navbar .primary-navigation .navigation .nav-link,
.navbar .primary-navigation .navigation .nav-link.active,
.navbar .primary-navigation .navigation .nav-link[aria-current="page"] {
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* One active course does not need a separate catalogue entry in primary navigation. */
.navbar .primary-navigation a[href$="/my/courses.php"],
.navbar .primary-navigation a[href*="/my/courses.php?"] {
    display: none !important;
}

/* Brand the utility area on the right without competing with primary navigation. */
.navbar .navbar-nav.ms-auto,
.navbar .navbar-nav.ml-auto {
    min-height: 44px;
    align-items: center;
    gap: 4px;
    margin-left: auto !important;
    padding-left: 14px;
    border-left: 0;
}

.navbar .popover-region-toggle,
.navbar .usermenu .dropdown-toggle,
.navbar .userbutton {
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
}

.navbar .popover-region-toggle:hover,
.navbar .popover-region-toggle:focus-visible,
.navbar .usermenu .dropdown-toggle:hover,
.navbar .usermenu .dropdown-toggle:focus-visible {
    border-color: var(--pa-brand-black) !important;
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
}

.navbar .popover-region-toggle:hover .icon,
.navbar .popover-region-toggle:focus-visible .icon,
.navbar .usermenu .dropdown-toggle:hover .icon,
.navbar .usermenu .dropdown-toggle:focus-visible .icon {
    color: var(--pa-brand-white) !important;
}

.navbar .usermenu .userinitials,
.navbar .userinitials {
    width: 40px;
    height: 40px;
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 50% !important;
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
    font-family: var(--pa-brand-font) !important;
    font-weight: 700;
}

.navbar .usermenu .dropdown-toggle::after {
    color: currentcolor;
}

/* Compact learner profile menu. */
.navbar .usermenu .dropdown-toggle,
.navbar .usermenu .dropdown-toggle:hover,
.navbar .usermenu .dropdown-toggle:focus,
.navbar .usermenu .dropdown-toggle[aria-expanded="true"] {
    border-color: transparent !important;
    color: var(--pa-brand-black) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.navbar .usermenu .dropdown-toggle:focus-visible .userinitials {
    box-shadow: 0 0 0 3px var(--pa-brand-white), 0 0 0 5px var(--pa-brand-black) !important;
}

.navbar .usermenu .dropdown-menu {
    width: 240px;
    min-width: 240px;
    padding: 8px;
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
    background: var(--pa-brand-white) !important;
    box-shadow: 10px 10px 0 rgb(0 0 0 / 8%) !important;
}

.navbar .usermenu .dropdown-menu .dropdown-item {
    min-height: 44px;
    padding: 11px 12px;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    font-size: 16px;
    line-height: 1.35;
}

.navbar .usermenu .dropdown-menu .dropdown-item:hover,
.navbar .usermenu .dropdown-menu .dropdown-item:focus-visible {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

.navbar .usermenu .dropdown-menu .dropdown-divider,
.navbar .usermenu .dropdown-menu a[href*="/calendar/view.php"],
.navbar .usermenu .dropdown-menu a[href*="/user/files.php"],
.navbar .usermenu .dropdown-menu a[href*="/reportbuilder/"],
.navbar .usermenu .dropdown-menu a[href*="/user/preferences.php"] {
    display: none !important;
}

.navbar .usermenu .dropdown-menu a[href*="/login/logout.php"] {
    margin-top: 8px;
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
    font-weight: 700;
}

.navbar .usermenu .dropdown-menu a[href*="/login/logout.php"]:hover,
.navbar .usermenu .dropdown-menu a[href*="/login/logout.php"]:focus-visible {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

/* Notifications should behave like a compact inbox, not a full-height side panel. */
.navbar .popover-region .popover-region-container {
    width: min(380px, calc(100vw - 24px)) !important;
    height: auto !important;
    max-height: min(520px, calc(100vh - 88px)) !important;
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    box-shadow: 10px 10px 0 rgb(0 0 0 / 8%) !important;
}

.navbar .popover-region .popover-region-header-container {
    min-height: 52px;
    padding: 10px 14px !important;
    border-bottom: 1px solid var(--pa-brand-border) !important;
    background: var(--pa-brand-white) !important;
}

.navbar .popover-region .popover-region-header-text {
    color: var(--pa-brand-black) !important;
    font-size: 16px;
    font-weight: 700;
}

.navbar .popover-region .popover-region-header-actions a,
.navbar .popover-region .popover-region-header-actions .icon,
.navbar .popover-region .popover-region-toggle .icon {
    color: var(--pa-brand-black) !important;
}

.navbar .popover-region .popover-region-content-container {
    height: auto !important;
    max-height: 360px !important;
    overflow-y: auto;
}

.navbar .popover-region .content-item-container {
    padding: 14px !important;
    border-bottom: 1px solid var(--pa-brand-border) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
}

.navbar .popover-region .content-item-container:hover,
.navbar .popover-region .content-item-container:focus-within {
    background: var(--pa-brand-gray-light) !important;
}

.navbar .popover-region .content-item-container .icon,
.navbar .popover-region .content-item-container a {
    color: var(--pa-brand-black) !important;
}

.navbar .popover-region .popover-region-footer-container {
    min-height: 48px;
    padding: 0 !important;
    border-top: 0 !important;
    background: var(--pa-brand-white) !important;
}

.navbar .popover-region .popover-region-footer-container a {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
    font-weight: 700;
    text-decoration: none !important;
}

.navbar .popover-region .popover-region-footer-container a:hover,
.navbar .popover-region .popover-region-footer-container a:focus-visible {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

.navbar .popover-region .popover-region-toggle,
.navbar .popover-region .popover-region-toggle:hover,
.navbar .popover-region .popover-region-toggle:focus,
.navbar .popover-region .popover-region-toggle[aria-expanded="true"] {
    border-color: transparent !important;
    color: var(--pa-brand-black) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.navbar .popover-region .popover-region-toggle .icon,
.navbar .popover-region .popover-region-toggle:hover .icon,
.navbar .popover-region .popover-region-toggle[aria-expanded="true"] .icon {
    color: var(--pa-brand-black) !important;
}

.navbar .popover-region .popover-region-toggle:focus-visible .icon {
    outline: 2px solid var(--pa-brand-black);
    outline-offset: 5px;
}

.navbar .popover-region .popover-region-header-actions a,
.navbar .popover-region .popover-region-header-actions button {
    border: 0 !important;
    color: var(--pa-brand-black) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.navbar .popover-region .popover-region-header-actions a:focus-visible,
.navbar .popover-region .popover-region-header-actions button:focus-visible {
    outline: 2px solid var(--pa-brand-black) !important;
    outline-offset: 2px;
}

.navbar .popover-region .content-item-container .view-more {
    display: none !important;
}

.navbar .popover-region .see-all-link {
    display: block;
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
    text-decoration: none !important;
}

.navbar .popover-region .see-all-link .popover-region-footer-container {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 10px 14px !important;
    color: inherit !important;
    background: inherit !important;
    font-weight: 700;
}

.navbar .popover-region .see-all-link:hover,
.navbar .popover-region .see-all-link:focus-visible {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.dropdown-item:active,
.list-group-item.active {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

.btn,
button,
input,
select,
textarea,
.form-control,
.custom-select {
    border-radius: var(--pa-brand-radius) !important;
}

.form-control,
.custom-select,
select,
textarea,
input[type="text"],
input[type="email"],
input[type="password"] {
    border-color: var(--pa-brand-border) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
}

.form-control:focus,
.custom-select:focus,
select:focus,
textarea:focus,
input:focus {
    border-color: var(--pa-brand-black) !important;
    box-shadow: 0 0 0 2px var(--pa-brand-white), 0 0 0 4px var(--pa-brand-black) !important;
}

.badge,
.alert,
.activity-information,
.completion-info,
.automatic-completion-conditions .badge {
    border-radius: 0 !important;
}

.alert-info,
.alert-primary,
.activity-information {
    border-color: var(--pa-brand-border) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

.progress {
    height: 10px;
    border-radius: 0;
    background: var(--pa-brand-gray-light);
}

.progress-bar,
.bg-primary {
    background: var(--pa-brand-black) !important;
}

/* Course navigation and Moodle activity chrome. */
.courseindex .courseindex-item,
.courseindex .courseindex-section,
.courseindex .courseindex-link,
.drawer-toggles .drawer-toggler .btn {
    border-radius: 0 !important;
}

.courseindex .courseindex-item.pageitem,
.courseindex .courseindex-item:hover,
.courseindex .courseindex-link:hover,
.courseindex .courseindex-link:focus {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

.courseindex .completioninfo.completion_complete,
.courseindex .completioninfo.completion_pass {
    color: var(--pa-brand-black) !important;
}

/* Course index hierarchy. */
body.course-4 .drawer-left,
body.course-4 .drawer-left .drawercontent,
body.course-4 .courseindex {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    font-family: var(--pa-brand-font) !important;
}

body.course-4 .drawer-left {
    border-right: 1px solid var(--pa-brand-black) !important;
}

body.course-4 .courseindex .courseindex-section {
    margin: 0 !important;
    border-bottom: 1px solid var(--pa-brand-border);
}

body.course-4 .courseindex .courseindex-section-title,
body.course-4 .courseindex .courseindex-section-title a {
    color: var(--pa-brand-black) !important;
    font-family: var(--pa-brand-font) !important;
    font-weight: 700 !important;
    line-height: 1.35;
}

body.course-4 .courseindex .courseindex-section-title {
    min-height: 52px;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

body.course-4 .courseindex .courseindex-section-title:hover,
body.course-4 .courseindex .courseindex-section-title:focus-within {
    background: var(--pa-brand-gray-light) !important;
}

body.course-4 .courseindex .courseindex-link,
body.course-4 .courseindex .courseindex-item {
    color: var(--pa-brand-ink-soft) !important;
    font-family: var(--pa-brand-font) !important;
    font-weight: 400 !important;
}

body.course-4 .courseindex .courseindex-item {
    min-height: 46px;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    border-left: 4px solid transparent !important;
}

body.course-4 .courseindex .courseindex-item.pageitem {
    border-left-color: var(--pa-brand-black) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
    font-weight: 700 !important;
}

body.course-4 .courseindex .courseindex-item:hover,
body.course-4 .courseindex .courseindex-item:focus-within {
    border-left-color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

body.course-4 .courseindex .completioninfo {
    color: var(--pa-brand-black) !important;
}

body.course-4 .courseindex .completioninfo .icon,
body.course-4 .courseindex .completioninfo i {
    color: var(--pa-brand-black) !important;
}

body.course-4 .drawer-left .drawertoggle,
body.course-4 .drawer-left [data-action="closedrawer"] {
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--pa-brand-black) !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.course-4 .drawer-left .drawertoggle:hover,
body.course-4 .drawer-left [data-action="closedrawer"]:hover,
body.course-4 .drawer-left .drawertoggle:focus-visible,
body.course-4 .drawer-left [data-action="closedrawer"]:focus-visible {
    background: var(--pa-brand-gray-light) !important;
}

body.course-4 .drawer-left .dropdown-toggle,
body.course-4 .drawer-left .dropdown-toggle .icon {
    color: var(--pa-brand-black) !important;
}

/* Activity pages: keep course context in the index and move learning content upward. */
body.path-mod .breadcrumb,
body.path-mod .activityiconcontainer,
body.path-mod .page-header-headings .activityiconcontainer {
    display: none !important;
}

body.path-mod #page-header,
body.path-mod .page-header-headings {
    margin-bottom: 12px !important;
}

body.path-mod .page-header-headings h1,
body.path-mod .activity-header h1 {
    margin-bottom: 0 !important;
    font-size: clamp(1.8rem, 3vw, 2.55rem) !important;
    line-height: 1.15 !important;
}

body.path-mod .activity-header {
    margin: 8px 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.path-mod .activity-header .activity-information,
body.path-mod .activity-header .completion-info,
body.path-mod .activity-header [data-region="activity-information"] {
    display: flex;
    min-height: 0 !important;
    align-items: center;
    justify-content: flex-start;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.path-mod .activity-header .badge,
body.path-mod .activity-header .automatic-completion-conditions .badge {
    min-height: 36px;
    padding: 8px 12px !important;
    border: 0 !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
    font-weight: 400 !important;
}

body.path-mod .activity-header .badge strong,
body.path-mod .activity-header .automatic-completion-conditions .badge strong {
    font-weight: 700 !important;
}

@media (max-width: 767.98px) {
    .navbar .navbar-nav.ms-auto,
    .navbar .navbar-nav.ml-auto {
        gap: 0;
        padding-left: 6px;
        border-left: 0;
    }
}

.activityiconcontainer,
.activityiconcontainer.content,
.activityiconcontainer.assessment,
.activityiconcontainer.collaboration {
    color: var(--pa-brand-black) !important;
    background: transparent !important;
}

.activityicon,
.activityiconcontainer img {
    filter: brightness(0) saturate(0) !important;
}

.activity-header:not(:empty) {
    border-bottom: 1px solid var(--pa-brand-border);
}

body:has(.pa-m00-scope) .activity-header:not(:empty) {
    border-bottom: 0;
}

.pa-activity-navigation {
    border-top: 0;
}

/* Course module catalogue: a restrained contents list instead of repeated pill cards. */
body.path-course-view .course-content .course-section {
    border: 0 !important;
    border-bottom: 1px solid var(--pa-brand-border) !important;
    border-radius: 0 !important;
    background: var(--pa-brand-white) !important;
    box-shadow: none !important;
}

body.path-course-view .course-content .course-section:first-child {
    border-top: 1px solid var(--pa-brand-black) !important;
}

body.path-course-view .course-content .course-section-header {
    min-height: 82px;
    padding: 18px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.path-course-view .course-content .course-section-header:hover,
body.path-course-view .course-content .course-section-header:focus-within {
    background: var(--pa-brand-gray-light) !important;
}

body.path-course-view:is(:has(.pa-welcome), :has(.pa-m00-scope)) .course-content .course-section {
    border-top: 0 !important;
    border-bottom: 0 !important;
}

body.path-course-view:is(:has(.pa-welcome), :has(.pa-m00-scope)) .course-content .course-section-header:hover,
body.path-course-view:is(:has(.pa-welcome), :has(.pa-m00-scope)) .course-content .course-section-header:focus-within {
    background: transparent !important;
}

body#page-course-section:not(.editing):has(.pa-welcome) #section-0 > .section-item >
    .course-section-header:not(:has(h2, .sectionname, button, a, [data-action])) {
    display: none !important;
}

body#page-course-section:has(.pa-welcome) #section-0.course-section {
    border-top: 0 !important;
    border-bottom: 0 !important;
}

body:is(:has(.pa-welcome), :has(.pa-m00-scope)) .courseindex .courseindex-section {
    border-bottom: 0;
}

body:is(:has(.pa-welcome), :has(.pa-m00-scope)) .courseindex .courseindex-section-title:hover,
body:is(:has(.pa-welcome), :has(.pa-m00-scope)) .courseindex .courseindex-section-title:focus-within,
body:is(:has(.pa-welcome), :has(.pa-m00-scope)) .courseindex .courseindex-item:hover,
body:is(:has(.pa-welcome), :has(.pa-m00-scope)) .courseindex .courseindex-item:focus-within {
    background: transparent !important;
}

body:is(:has(.pa-welcome), :has(.pa-m00-scope)) .courseindex .courseindex-item.pageitem {
    border-left-color: var(--pa-brand-black) !important;
    background: transparent !important;
    font-weight: 700 !important;
}

body:is(:has(.pa-welcome), :has(.pa-m00-scope)) .courseindex .courseindex-item:not(.pageitem):hover,
body:is(:has(.pa-welcome), :has(.pa-m00-scope)) .courseindex .courseindex-item:not(.pageitem):focus-within {
    border-left-color: transparent !important;
}

body:is(:has(.pa-welcome), :has(.pa-m00-scope)) .courseindex :is(.courseindex-link, .courseindex-section-title a):hover {
    background: transparent !important;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

body:is(:has(.pa-welcome), :has(.pa-m00-scope)) .courseindex :is(.courseindex-link, .courseindex-section-title a):focus-visible {
    background: transparent !important;
    outline: 2px solid var(--pa-brand-black) !important;
    outline-offset: 2px;
}

body.path-course-view .course-content .course-section-header .sectionname,
body.path-course-view .course-content .course-section-header .sectionname a,
body.path-course-view .course-content .course-section-header h2,
body.path-course-view .course-content .course-section-header button,
body.path-course-view .course-content .course-section-header .icon {
    color: var(--pa-brand-black) !important;
}

body.path-course-view .course-content .course-section-header .sectionname,
body.path-course-view .course-content .course-section-header h2 {
    font-family: Mont, Arial, sans-serif !important;
    font-size: clamp(1.25rem, 1.7vw, 1.75rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body.path-course-view .course-content .course-section-header .btn,
body.path-course-view .course-content .course-section-header [data-toggle="collapse"] {
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--pa-brand-black) !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.path-course-view .course-content .course-section-header .btn:focus-visible,
body.path-course-view .course-content .course-section-header [data-toggle="collapse"]:focus-visible {
    outline: 2px solid var(--pa-brand-black) !important;
    outline-offset: 3px;
}

body.path-course-view .course-content .course-section .content {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Course activity list: native Moodle behaviour with the monochrome 24print visual layer. */
body.path-course-view:has(.pa-m00-scope) .course-content .course-section > .section-item {
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--pa-brand-white) !important;
    box-shadow: none !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content .course-section .activity-item {
    border: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    box-shadow: none !important;
    font-family: var(--pa-brand-font) !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content .course-section [data-for="cmlist"] > .activity:last-child .activity-item {
    border-bottom: 0 !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content .course-section .activityname,
body.path-course-view:has(.pa-m00-scope) .course-content .course-section .activityname a,
body.path-course-view:has(.pa-m00-scope) .course-content .course-section .activityname span,
body.path-course-view:has(.pa-m00-scope) .course-content .pa-m00-section-summary {
    color: var(--pa-brand-black) !important;
    font-family: var(--pa-brand-font) !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content .course-section .activityname a,
body.path-course-view:has(.pa-m00-scope) .course-content .course-section .activityname span {
    font-size: 1.0625rem;
    font-weight: 400 !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content [data-region="activity-card"] .activityiconcontainer,
body.path-course-view:has(.pa-m00-scope) .course-content [data-region="activity-card"] .activityiconcontainer.content,
body.path-course-view:has(.pa-m00-scope) .course-content [data-region="activity-card"] .activityiconcontainer.assessment,
body.path-course-view:has(.pa-m00-scope) .course-content [data-region="activity-card"] .activityiconcontainer.collaboration {
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--pa-brand-black) !important;
    background: transparent !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content [data-region="activity-card"] .activityiconcontainer::before,
body.path-course-view:has(.pa-m00-scope) .course-content [data-region="activity-card"] .activityiconcontainer .icon {
    color: var(--pa-brand-black) !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content [data-region="activity-card"] .activityiconcontainer .activityicon,
body.path-course-view:has(.pa-m00-scope) .course-content [data-region="activity-card"] .activityiconcontainer img,
body.path-course-view:has(.pa-m00-scope) .course-content [data-region="activity-card"] .activityiconcontainer svg {
    color: var(--pa-brand-black) !important;
    fill: var(--pa-brand-black) !important;
    stroke: var(--pa-brand-black) !important;
    filter: brightness(0) saturate(0) !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content :is(
    [data-region="completion-info"] > button,
    [data-region="completion-info"] .completion-dropdown > button
) {
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    box-shadow: none !important;
    font-family: var(--pa-brand-font) !important;
    font-weight: 700 !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content :is(
    [data-region="completion-info"] > button.btn-success,
    [data-region="completion-info"] .completion-dropdown > button.btn-success
) {
    border-color: var(--pa-brand-border) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content :is(
    [data-region="completion-info"] > button,
    [data-region="completion-info"] .completion-dropdown > button
):hover,
body.path-course-view:has(.pa-m00-scope) .course-content :is(
    [data-region="completion-info"] > button,
    [data-region="completion-info"] .completion-dropdown > button
):active,
body.path-course-view:has(.pa-m00-scope) .course-content [data-region="completion-info"] .completion-dropdown > button[aria-expanded="true"] {
    border-color: var(--pa-brand-black) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
    box-shadow: none !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content :is(
    [data-region="completion-info"] > button,
    [data-region="completion-info"] .completion-dropdown > button
):focus-visible {
    outline: 2px solid var(--pa-brand-black) !important;
    outline-offset: 3px;
    box-shadow: none !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content :is(
    [data-region="completion-info"] > button,
    [data-region="completion-info"] .completion-dropdown > button
):disabled {
    border-color: var(--pa-brand-border) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
    opacity: .55;
}

body.path-course-view:has(.pa-m00-scope) .course-content :is(
    [data-region="completion-info"] > button,
    [data-region="completion-info"] .completion-dropdown > button
) .icon {
    color: currentColor !important;
}

body.path-course-view:has(.pa-m00-scope) .course-content [data-region="completionrequirements"] .completion-dropdown > .dropdown-menu {
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    box-shadow: none !important;
    font-family: var(--pa-brand-font) !important;
}

/* Compatibility for scenario HTML already stored by Moodle before the inline divider was removed. */
.pa-learning-scenario details {
    border-top: 0 !important;
}

@media (max-width: 767.98px) {
    body.path-course-view .course-content .course-section-header {
        min-height: 68px;
        padding: 14px 0 !important;
    }
}

/* Home and dashboard cards. */
body#page-site-index .coursebox.pa-course-card,
.pa-dashboard-course,
.pa-dashboard-events,
body#page-my-index .pa-dashboard-calendar {
    border-color: var(--pa-brand-border) !important;
    border-radius: 0 !important;
    background: var(--pa-brand-white) !important;
}

/* Dashboard: hierarchy through space and surfaces, not repeated outlines. */
body#page-my-index .pa-dashboard-course {
    padding: clamp(26px, 4vw, 42px) !important;
    border: 0 !important;
    background: var(--pa-brand-gray-light) !important;
}

body#page-my-index .pa-dashboard-course__footer a {
    min-height: 48px;
    padding: 12px 18px !important;
    border: 1px solid var(--pa-brand-black) !important;
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
    text-decoration: none !important;
}

body#page-my-index .pa-dashboard-course__footer a:hover,
body#page-my-index .pa-dashboard-course__footer a:focus-visible {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
}

body#page-my-index .pa-dashboard-calendar.pa-dashboard-calendar--collapsed {
    border: 0 !important;
    background: transparent !important;
}

body#page-my-index .pa-dashboard-calendar--collapsed .pa-dashboard-calendar__summary {
    padding: 18px 0 !important;
}

body#page-my-index .pa-dashboard-calendar--collapsed .pa-dashboard-calendar__toggle {
    min-height: 44px;
    padding: 8px 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}

body#page-my-index .pa-dashboard-calendar--collapsed .pa-dashboard-calendar__toggle:hover,
body#page-my-index .pa-dashboard-calendar--collapsed .pa-dashboard-calendar__toggle:focus-visible {
    text-decoration-thickness: 2px;
}

/* The stock footer popover duplicates profile and support actions and exposes vendor branding. */
.btn-footer-popover,
.footer-popover,
[data-region="footer-container-popover"] {
    display: none !important;
}

.pa-course-card__visual,
.pa-dashboard-calendar__events {
    color: var(--pa-brand-black) !important;
    background-color: var(--pa-brand-gray-light) !important;
    background-image:
        linear-gradient(45deg, transparent 47%, var(--pa-brand-gray) 48%, var(--pa-brand-gray) 52%, transparent 53%);
    background-size: 32px 32px;
}

.pa-course-card__visual > *,
.pa-dashboard-calendar__events > * {
    position: relative;
    z-index: 1;
}

.pa-course-card__facts li,
.pa-course-card__step,
.pa-course-card__action,
.pa-dashboard-course__footer a,
.pa-dashboard-calendar__miniature,
.pa-dashboard-calendar__toggle {
    border-color: var(--pa-brand-black) !important;
    border-radius: 0 !important;
}

.pa-course-card__eyebrow,
.pa-course-card__status,
.pa-course-catalog__label,
.pa-course-category__label,
.pa-dashboard-label,
.pa-presentation-slide__progress,
.pa-module-overview-meta,
.pa-video-task__eyebrow {
    color: var(--pa-brand-black) !important;
    letter-spacing: 0 !important;
}

body#page-site-index .pa-course-catalog__intro p:last-child,
body#page-site-index .pa-course-category__head p:last-child,
body#page-site-index .pa-course-card__summary {
    color: var(--pa-brand-black) !important;
}

body#page-site-index .pa-course-category {
    border-color: var(--pa-brand-border) !important;
}

body#page-site-index .pa-course-card__step {
    background: var(--pa-brand-gray-light) !important;
}

body#page-site-index .pa-course-card--selection .pa-course-card__step,
body#page-site-index .pa-course-card--selection .pa-course-card__action {
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
}

body#page-site-index .pa-course-card--selection .pa-course-card__action:hover,
body#page-site-index .pa-course-card--selection .pa-course-card__action:focus-visible {
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
}

.pa-dashboard-progress,
.pa-dashboard-progress span,
.pa-dashboard-calendar__miniature span,
.pa-calendar-has-event::after {
    border-radius: 0 !important;
}

.pa-dashboard-progress span,
.pa-dashboard-calendar__miniature span,
.pa-calendar-has-event::after {
    background: var(--pa-brand-black) !important;
}

body.pa-calendar-open::before {
    background: rgb(0 0 0 / 64%);
}

body#page-my-index .pa-dashboard-calendar:not(.pa-dashboard-calendar--collapsed) {
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
    box-shadow: var(--pa-brand-shadow) !important;
}

body#page-my-index .pa-dashboard-calendar .pa-calendar-event__label {
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
}

body#page-my-index .pa-dashboard-calendar .pa-calendar-event:focus-visible {
    outline: 2px solid var(--pa-brand-black);
    outline-offset: 3px;
}

/* Course and module overview. */
#region-main .pa-module-overview {
    border: 0 !important;
}

#region-main .pa-module-overview-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
}

#region-main .pa-module-overview-hero::after {
    position: absolute;
    top: -64px;
    right: -64px;
    width: 190px;
    height: 190px;
    border: 34px solid var(--pa-brand-white);
    border-radius: 50%;
    content: "";
    opacity: .18;
}

#region-main .pa-module-overview-hero :is(h2, p, .pa-module-overview-meta) {
    position: relative;
    z-index: 1;
    color: var(--pa-brand-white) !important;
}

#region-main .pa-module-overview-card {
    border: 1px solid var(--pa-brand-border) !important;
    border-radius: 0 !important;
    background: var(--pa-brand-white) !important;
}

#region-main .pa-module-overview-card > span {
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
    border-radius: 0 !important;
}

#region-main .pa-module-overview-route {
    border-radius: 0 !important;
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
}

/* Presentation material: one message, one visual, one action. */
#region-main .pa-presentation-slide,
body:has(.pa-book-presentation) #mod_book-chapter.book_content {
    position: relative;
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
    background: var(--pa-brand-white) !important;
}

.pa-presentation-slide h4 {
    letter-spacing: -.035em;
}

.pa-presentation-slide__progress {
    letter-spacing: .1em;
}

.pa-presentation-control,
.pa-presentation-control--next,
.pa-presentation-control--finish {
    border-radius: 0 !important;
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
}

/* Learning components and theory blocks. */
body:has(.pa-m00-scope) .pa-visual-step,
.pa-learning-media-placeholder,
.pa-learner-action,
.pa-action-locked,
.pa-action-orientir,
.pa-video-task__head,
.pa-video-task__prompt li,
.pa-video-task__action,
.pa-practice-step,
.pa-micro-choice-option {
    border-color: var(--pa-brand-border) !important;
    border-radius: 0 !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
}

body:has(.pa-m00-scope) .pa-visual-number,
.pa-practice-step.is-active,
.pa-micro-choice-option[aria-pressed="true"] {
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
}

.pa-learning-media-placeholder {
    background-color: var(--pa-brand-gray-light) !important;
    background-image:
        linear-gradient(135deg, transparent 46%, var(--pa-brand-gray) 47%, var(--pa-brand-gray) 53%, transparent 54%);
    background-size: 42px 42px;
}

.pa-micro-choice-option:hover,
.pa-micro-choice-option:focus-visible {
    border-color: var(--pa-brand-black) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

.pa-micro-choice-option.is-correct,
.pa-micro-choice-feedback.is-correct,
.pa-action-progress-note.is-ready {
    border-color: var(--pa-brand-black) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

.pa-micro-choice-option.is-wrong,
.pa-micro-choice-feedback.is-wrong,
.pa-action-progress-note,
.pa-practice-feedback.is-wrong {
    border-color: var(--pa-brand-black) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    text-decoration: underline;
}

.pa-practice-input {
    border-color: var(--pa-brand-black) !important;
    border-radius: 0 !important;
}

.pa-brand-header {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
    font-family: var(--pa-brand-font) !important;
}

.pa-brand-header::after {
    position: absolute;
    top: -52px;
    right: -52px;
    width: 150px;
    height: 150px;
    border: 28px solid var(--pa-brand-white);
    border-radius: 50%;
    content: "";
    opacity: .16;
}

.pa-brand-header > * {
    position: relative;
    z-index: 1;
    color: var(--pa-brand-white) !important;
}

.pa-estimated-time {
    border: 1px solid var(--pa-brand-black) !important;
    border-radius: 0 !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    font-family: var(--pa-brand-font) !important;
    font-weight: 700 !important;
}

.pa-learning-comparison > div,
.pa-learning-reveal,
.pa-learning-scenario {
    border-color: var(--pa-brand-border) !important;
    border-radius: 0 !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
}

.pa-learning-reveal {
    border-left: 6px solid var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
}

.pa-learning-table {
    border: 1px solid var(--pa-brand-border) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    font-family: var(--pa-brand-font) !important;
}

.pa-learning-table__caption {
    color: var(--pa-brand-black) !important;
    font-family: var(--pa-brand-font) !important;
    font-size: clamp(1.5rem, 2vw, 1.75rem);
    font-weight: 700;
    line-height: 1.2;
}

.pa-learning-table__heading {
    border: 1px solid var(--pa-brand-border) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-gray-light) !important;
    font-weight: 700;
}

.pa-learning-table__cell {
    border: 1px solid var(--pa-brand-border) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    font-weight: 400;
}

.pa-learning-table__row-heading {
    border: 1px solid var(--pa-brand-border) !important;
    color: var(--pa-brand-black) !important;
    background: var(--pa-brand-white) !important;
    font-weight: 700;
}

.pa-learning-scenario > div:first-child {
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
}

body:has(.pa-m00-scope) [style*="Helvetica"] {
    font-family: var(--pa-brand-font) !important;
}

/* Quiz, assignment and book surfaces. */
.que .content,
.que .formulation,
.que .outcome,
.submissionstatustable,
.feedback,
.gradingform_rubric,
.book_content {
    border-radius: 0 !important;
}

.que .formulation {
    border-left: 6px solid var(--pa-brand-black);
    background: var(--pa-brand-gray-light) !important;
}

.que .info {
    border: 1px solid var(--pa-brand-border);
    border-radius: 0;
    background: var(--pa-brand-white);
}

.gradingform_rubric .criterion,
.submissionstatustable td,
.submissionstatustable th {
    border-color: var(--pa-brand-border) !important;
}

/* Keep semantic errors legible while avoiding unrelated decorative colours. */
.alert-danger,
.invalid-feedback,
.error {
    color: #7a0000 !important;
}

@media (max-width: 767.98px) {
    #region-main .pa-module-overview-hero::after {
        width: 130px;
        height: 130px;
    }
}

/* Final presentation overrides must follow the legacy course styles above. */
body:has(.pa-page-presentation) #region-main .pa-presentation-slide {
    min-height: 0 !important;
    padding: clamp(32px, 4vw, 56px) clamp(28px, 5vw, 72px) !important;
    border: 0 !important;
}

body:has(.pa-page-presentation) .activity-header {
    margin-bottom: 12px !important;
}

body:has(.pa-page-presentation) .pa-presentation-slide__progress {
    margin-bottom: 20px !important;
}

body:has(.pa-page-presentation) .pa-presentation-slide h4 {
    margin-bottom: 28px !important;
}

body:has(.pa-page-presentation) .pa-visual-flow {
    gap: 12px !important;
    margin: 0 !important;
}

body:has(.pa-page-presentation) .pa-visual-step {
    padding: 20px !important;
    border: 0 !important;
    background: var(--pa-brand-gray-light) !important;
}

body:has(.pa-page-presentation) .pa-visual-number {
    color: var(--pa-brand-white) !important;
    background: var(--pa-brand-black) !important;
}

body:has(.pa-page-presentation) .pa-visual-step::after {
    content: none !important;
}

@media (max-width: 767.98px) {
    body:has(.pa-page-presentation) #region-main .pa-presentation-slide {
        padding: 28px 20px !important;
    }
}
