/* ==========================================================================
   VMA course page  v2.9.0
   Loaded on single course pages.

   Scoped to .vma-cp-* so it cannot leak into LifterLMS's lesson or quiz
   screens, with one deliberate exception at the end: the course syllabus
   that LifterLMS appends after the content, which is restyled in place.
   ========================================================================== */

.vma-cp {
    --vma-navy: #022c46;
    --vma-navy-deep: #011f31;
    --vma-navy-mid: #04405f;
    --vma-blue: #006090;
    --vma-blue-bright: #1076ab;
    --vma-sand: #f5f1e9;
    --vma-sand-border: #e6ddcd;
    --vma-ink: #111820;
    --vma-body: #44515e;
    --vma-muted: #64717e;
    --vma-on-navy: #bcdcee;
    --vma-accent: #7cb8db;
    --vma-border: #dbe0e5;
}

/* --------------------------------------------------------------------------
   Shared type
   -------------------------------------------------------------------------- */

.vma-cp-trust,
.vma-cp-compare,
.vma-cp-assess,
.vma-cp-enrol {
    --vma-navy: #022c46;
    --vma-navy-deep: #011f31;
    --vma-navy-mid: #04405f;
    --vma-blue: #006090;
    --vma-blue-bright: #1076ab;
    --vma-sand: #f5f1e9;
    --vma-sand-border: #e6ddcd;
    --vma-ink: #111820;
    --vma-body: #44515e;
    --vma-muted: #64717e;
    --vma-on-navy: #bcdcee;
    --vma-accent: #7cb8db;
    --vma-border: #dbe0e5;
    box-sizing: border-box;
}

.vma-cp-trust *,
.vma-cp-compare *,
.vma-cp-assess *,
.vma-cp-enrol * { box-sizing: border-box; }

/* ==========================================================================
   Enrolment card

   The card and the start/continue button come from [vma_course_card] and
   [vma_course_button], which are already wired into the AJAX cart and the
   abandoned-cart popup. Their markup is left completely alone and only
   restyled here.

   Every rule is scoped to .vma-cp-enrol, the wrapper this template puts
   around them, so the same shortcodes keep their existing look everywhere
   else they are used.

   Those shortcodes print their own <style> inline in the body, which lands
   after this file in the document. Order therefore cannot win, so each
   selector below is deliberately one class more specific than theirs.
   ========================================================================== */

.vma-cp-enrol .vma-card {
    max-width: none;
    border: 1px solid #dbe0e5;
    border-radius: 10px;
    box-shadow: 0 2px 14px rgba(2, 44, 70, 0.07);
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
}

.vma-cp-enrol .vma-card-bar {
    padding: 15px 18px;
    background: #022c46;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
}

.vma-cp-enrol .vma-card-body {
    padding: 22px 20px 24px;
}

/* Stacked rather than inline, so the sale badge and the struck-out price
   read as context for the real price instead of competing with it. */
.vma-cp-enrol .vma-price-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    margin-bottom: 2px;
}

.vma-cp-enrol .vma-sale-badge {
    padding: 3px 11px;
    border-radius: 99px;
    background: #c8102e;
    font-family: 'Roboto Mono', ui-monospace, monospace;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #ffffff;
}

.vma-cp-enrol .vma-old-price {
    font-size: 17px;
    font-weight: 500;
    color: #64717e;
}

.vma-cp-enrol .vma-new-price {
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.05;
    color: #111820;
}

.vma-cp-enrol .vma-access {
    margin: 8px 0 18px;
    font-size: 13px;
    color: #64717e;
}

.vma-cp-enrol .vma-enroll-btn {
    display: block;
    padding: 15px 18px;
    border: 0;
    border-radius: 99px;
    background: #1076ab;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.25;
}

.vma-cp-enrol .vma-enroll-btn:hover,
.vma-cp-enrol .vma-enroll-btn:focus {
    background: #1a88c2;
    filter: none;
}

/* Start / continue button.
   [vma_course_button] renders its own markup, so this targets the only other
   link that can appear inside the wrapper. Worth tightening to its real class
   once that has been seen rendered. */
.vma-cp-enrol .vma-card + * {
    margin-top: 12px;
}

.vma-cp-enrol a:not(.vma-enroll-btn) {
    display: block;
    padding: 13px 18px;
    border: 1px solid #dbe0e5;
    border-radius: 99px;
    background: #ffffff;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-align: center;
    text-decoration: none;
    color: #022c46 !important;
}

.vma-cp-enrol a:not(.vma-enroll-btn):hover {
    border-color: #1076ab;
    color: #1076ab !important;
}

/* The card follows the reader, instead of the page repeating the price five
   times as the old course pages did. align-self stops the flex column from
   stretching the widget, which would leave nothing for sticky to travel in. */
.vma-cp-sticky {
    position: sticky;
    top: 96px;
    align-self: flex-start;
}

.vma-cp-enrol--band {
    max-width: 560px;
    margin: 0 auto;
}

/* The closing band sits on navy, where a navy card bar would disappear into
   the background. Blue keeps the card reading as a card. */
.vma-cp-enrol--band .vma-card-bar {
    background: #006090;
}

/* ==========================================================================
   Trust band  [vma_course_trust]
   ========================================================================== */

.vma-cp-trust {
    padding: 54px 20px;
    background: var(--vma-sand);
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
}

.vma-cp-trust__inner {
    max-width: 1192px;
    margin: 0 auto;
    text-align: center;
}

.vma-cp-trust__title {
    margin: 0 0 10px;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--vma-ink);
}

.vma-cp-trust__lede {
    max-width: 660px;
    margin: 0 auto 34px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--vma-body);
}

.vma-cp-trust__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vma-cp-trust__item {
    padding: 20px 12px;
    background: #ffffff;
    border: 1px solid var(--vma-sand-border);
    border-radius: 8px;
    text-align: center;
}

.vma-cp-trust__figure {
    display: block;
    margin: 0 0 6px;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 27px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--vma-blue);
}

.vma-cp-trust__label {
    display: block;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--vma-muted);
}

/* ==========================================================================
   Comparison table  [vma_course_compare]
   ========================================================================== */

.vma-cp-compare {
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
}

.vma-cp-compare__title {
    margin: 0 0 22px;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--vma-ink);
}

/* Six rows of comparison do not fit a phone, so the table scrolls in its
   own box rather than forcing the page to scroll sideways. */
.vma-cp-compare__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--vma-border);
    border-radius: 10px;
}

.vma-cp-compare__table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    background: #ffffff;
    margin: 0;
}

.vma-cp-compare__table thead th {
    padding: 15px 18px;
    background: var(--vma-navy);
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: left;
    color: var(--vma-on-navy);
    border: 0;
}

.vma-cp-compare__table thead th.is-vma { color: #ffffff; }

.vma-cp-compare__table tbody th {
    width: 22%;
    padding: 14px 18px;
    border: 0;
    border-top: 1px solid #eef1f4;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-align: left;
    color: var(--vma-ink);
    background: #fbfcfd;
}

.vma-cp-compare__table tbody td {
    padding: 14px 18px;
    border: 0;
    border-top: 1px solid #eef1f4;
    font-size: 14px;
    line-height: 1.55;
    color: var(--vma-body);
    vertical-align: top;
}

.vma-cp-compare__table tbody td.is-vma {
    background: rgba(16, 118, 171, 0.05);
    color: var(--vma-ink);
    font-weight: 500;
}

.vma-cp-compare__mark {
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 9px;
    vertical-align: -2px;
    position: relative;
}

.vma-cp-compare__mark.is-yes::before {
    content: '';
    position: absolute;
    left: 2px;
    top: 3px;
    width: 11px;
    height: 6px;
    border-left: 2px solid #0f8a4a;
    border-bottom: 2px solid #0f8a4a;
    transform: rotate(-45deg);
}

.vma-cp-compare__mark.is-no::before,
.vma-cp-compare__mark.is-no::after {
    content: '';
    position: absolute;
    left: 7px;
    top: 1px;
    width: 2px;
    height: 13px;
    background: #b6485b;
}

.vma-cp-compare__mark.is-no::before { transform: rotate(45deg); }
.vma-cp-compare__mark.is-no::after  { transform: rotate(-45deg); }

/* ==========================================================================
   Assessment  [vma_course_assessment]
   ========================================================================== */

.vma-cp-assess {
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
}

.vma-cp-assess__title {
    margin: 0 0 24px;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--vma-ink);
}

.vma-cp-assess__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.vma-cp-assess__col {
    padding: 26px 26px 22px;
    background: #ffffff;
    border: 1px solid var(--vma-border);
    border-radius: 10px;
}

.vma-cp-assess__h3 {
    margin: 0 0 12px;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--vma-ink);
}

.vma-cp-assess__col > .vma-cp-assess__h3 ~ .vma-cp-assess__h3 {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid #eef1f4;
}

.vma-cp-assess p {
    margin: 0 0 12px;
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--vma-body);
}

.vma-cp-assess__intro {
    color: var(--vma-muted) !important;
    font-size: 13px !important;
}

/* The retake fee is money the learner may have to spend, so it is called
   out rather than buried in the paragraph above it. */
.vma-cp-assess__fee {
    margin: 14px 0 0 !important;
    padding: 13px 16px;
    background: var(--vma-sand);
    border-left: 3px solid #c8a45c;
    border-radius: 0 6px 6px 0;
    font-size: 13.5px !important;
    color: var(--vma-ink) !important;
}

.vma-cp-assess__equip {
    margin: 0;
    padding: 0;
    list-style: none;
}

.vma-cp-assess__equip li {
    padding: 12px 0;
    border-bottom: 1px solid #eef1f4;
}

.vma-cp-assess__equip li:last-child { border-bottom: 0; padding-bottom: 0; }

.vma-cp-assess__equip-label {
    display: block;
    margin: 0 0 3px;
    font-family: 'Roboto Mono', ui-monospace, monospace;
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--vma-blue);
}

.vma-cp-assess__equip-value {
    display: block;
    font-size: 14px;
    line-height: 1.6;
    color: var(--vma-body);
}

/* ==========================================================================
   LifterLMS syllabus
   LifterLMS appends its own "Lessons" list after the course content. It is
   left in place, because it is generated from the real course structure and
   tracks the learner's progress, but it is restyled to match the page.
   ========================================================================== */

.single-course .llms-syllabus-wrapper {
    max-width: 1192px;
    margin: 0 auto 48px;
    padding: 0 20px;
}

.single-course .llms-syllabus-wrapper .llms-section-title,
.single-course .llms-syllabus-wrapper h3 {
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #111820 !important;
    margin: 0 0 12px !important;
}

.single-course .llms-syllabus-wrapper .llms-lesson-preview {
    margin: 0 0 10px !important;
}

.single-course .llms-syllabus-wrapper .llms-lesson-link {
    display: block;
    padding: 15px 18px !important;
    background: #ffffff !important;
    border: 1px solid #dbe0e5 !important;
    border-radius: 8px !important;
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    color: #111820 !important;
    text-decoration: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.single-course .llms-syllabus-wrapper .llms-lesson-link:hover {
    border-color: #1076ab !important;
    box-shadow: 0 2px 10px rgba(2, 44, 70, 0.07);
}

.single-course .llms-syllabus-wrapper .llms-lesson-title {
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #111820 !important;
}

.single-course .llms-syllabus-wrapper .llms-lesson-counter,
.single-course .llms-syllabus-wrapper .llms-lesson-excerpt {
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 12.5px !important;
    color: #64717e !important;
}

/* ==========================================================================
   Blocks placed from the Elementor template
   These are HTML widgets in the course template rather than shortcodes,
   because their wording changes from course to course and has to stay
   editable in Elementor.
   ========================================================================== */

/* Category pills, hero ---------------------------------------------------- */

.vma-cp-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.vma-cp-pills span {
    display: inline-block;
    padding: 4px 12px;
    border: 1px solid rgba(124, 184, 219, 0.42);
    border-radius: 99px;
    font-family: 'Roboto Mono', ui-monospace, monospace;
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #7cb8db;
}

/* Facts strip, hero ------------------------------------------------------- */

.vma-cp-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 30px;
    margin: 0 0 24px;
    padding: 20px 0 0;
    border-top: 1px solid rgba(124, 184, 219, 0.22);
    list-style: none;
}

.vma-cp-facts li { font-family: 'Barlow', Helvetica, Arial, sans-serif; }

.vma-cp-facts .k {
    display: block;
    margin: 0 0 2px;
    font-family: 'Roboto Mono', ui-monospace, monospace;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #7cb8db;
}

.vma-cp-facts .v {
    display: block;
    font-size: 14.5px;
    font-weight: 500;
    color: #ffffff;
}

/* Accreditation badges, hero ---------------------------------------------- */

.vma-cp-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 22px;
}

.vma-cp-badges img {
    height: 30px;
    width: auto;
    max-width: 108px;
    object-fit: contain;
}

/* Key facts, body --------------------------------------------------------- */

.vma-cp-keyfacts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 0 0 8px;
    background: #dbe0e5;
    border: 1px solid #dbe0e5;
    border-radius: 8px;
    overflow: hidden;
}

.vma-cp-keyfacts > div {
    padding: 15px 17px;
    background: #fbfcfd;
}

.vma-cp-keyfacts .k {
    display: block;
    margin: 0 0 4px;
    font-family: 'Roboto Mono', ui-monospace, monospace;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #006090;
}

.vma-cp-keyfacts .v {
    display: block;
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #111820;
}

/* Why enrol cards --------------------------------------------------------- */

.vma-cp-why {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin: 0 0 12px;
}

.vma-cp-why__item {
    padding: 20px 20px 18px;
    background: #f6f8fa;
    border: 1px solid #e6ebf0;
    border-radius: 8px;
}

.vma-cp-why__item h3 {
    margin: 0 0 7px !important;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #111820 !important;
}

.vma-cp-why__item p {
    margin: 0 !important;
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #44515e !important;
}

/* Learning objectives ----------------------------------------------------- */

.vma-cp-objectives {
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
    counter-reset: vma-obj;
}

.vma-cp-objectives li {
    position: relative;
    counter-increment: vma-obj;
    margin: 0 0 12px;
    padding: 0 0 0 46px;
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #44515e;
}

.vma-cp-objectives li::before {
    content: counter(vma-obj);
    position: absolute;
    left: 0;
    top: 1px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 99px;
    background: #022c46;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
}

/* Course subjects --------------------------------------------------------- */

.vma-cp-subjects {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vma-cp-subjects li {
    position: relative;
    padding: 9px 0 9px 22px;
    border-bottom: 1px solid #eef1f4;
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
    font-size: 14.5px;
    line-height: 1.5;
    color: #44515e;
}

.vma-cp-subjects li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 16px;
    width: 7px;
    height: 7px;
    border-radius: 99px;
    background: #1076ab;
}

/* ==========================================================================
   Collapsible sections

   Plain <details>. No JavaScript, keyboard and screen reader accessible by
   default, and it survives Elementor doing anything at all to the page.
   ========================================================================== */

.vma-cp-acc {
    margin: 0 0 10px;
    background: #ffffff;
    border: 1px solid #dbe0e5;
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.vma-cp-acc[open] {
    border-color: #cbd5dd;
    box-shadow: 0 2px 14px rgba(2, 44, 70, 0.06);
}

.vma-cp-acc > summary {
    position: relative;
    padding: 17px 54px 17px 20px;
    cursor: pointer;
    list-style: none;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    color: #111820;
    -webkit-user-select: none;
    user-select: none;
}

/* Safari and Chrome each draw their own disclosure triangle. */
.vma-cp-acc > summary::-webkit-details-marker { display: none; }
.vma-cp-acc > summary::marker { content: ''; }

.vma-cp-acc > summary:hover { background: #fbfcfd; color: #006090; }

.vma-cp-acc > summary:focus-visible {
    outline: 2px solid #1076ab;
    outline-offset: -2px;
}

/* Chevron, rotated on open */
.vma-cp-acc > summary::after {
    content: '';
    position: absolute;
    right: 24px;
    top: 50%;
    width: 9px;
    height: 9px;
    border-right: 2px solid #1076ab;
    border-bottom: 2px solid #1076ab;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.18s ease;
}

.vma-cp-acc[open] > summary::after { transform: translateY(-25%) rotate(-135deg); }

.vma-cp-acc[open] > summary { border-bottom: 1px solid #eef1f4; }

.vma-cp-acc__body {
    padding: 20px 20px 24px;
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
}

.vma-cp-acc__body > *:last-child { margin-bottom: 0 !important; }

.vma-cp-acc__body p {
    margin: 0 0 13px;
    font-size: 15px;
    line-height: 1.75;
    color: #44515e;
}

.vma-cp-ul {
    margin: 0 0 13px;
    padding: 0;
    list-style: none;
}

.vma-cp-ul li {
    position: relative;
    margin: 0 0 8px;
    padding: 0 0 0 22px;
    font-size: 15px;
    line-height: 1.7;
    color: #44515e;
}

.vma-cp-ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 7px;
    height: 7px;
    border-radius: 99px;
    background: #1076ab;
}

/* The shortcode blocks bring their own card chrome, which would read as a
   box inside a box once they are nested in an accordion. */
.vma-cp-acc .vma-cp-assess__grid { gap: 22px; }

.vma-cp-acc .vma-cp-assess__col {
    padding: 0;
    background: transparent;
    border: 0;
}

.vma-cp-acc .vma-cp-assess__col + .vma-cp-assess__col {
    padding-top: 20px;
    border-top: 1px solid #eef1f4;
}

@media (min-width: 768px) {
    .vma-cp-acc .vma-cp-assess__col + .vma-cp-assess__col {
        padding-top: 0;
        padding-left: 22px;
        border-top: 0;
        border-left: 1px solid #eef1f4;
    }
}

.vma-cp-acc .vma-cp-assess__col > .vma-cp-assess__h3:first-child { margin-top: 0; }

.vma-cp-acc .vma-cp-compare__scroll { border-radius: 8px; }
/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1024px) {

    .vma-cp-trust__grid { grid-template-columns: repeat(3, 1fr); }

    /* Sticky is pointless once the sidebar stacks under the content. */
    .vma-cp-sticky { position: static; }
}

@media (max-width: 767px) {

    .vma-cp-trust { padding: 40px 16px; }
    .vma-cp-trust__title { font-size: 25px; }
    .vma-cp-trust__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

    .vma-cp-compare__title,
    .vma-cp-assess__title { font-size: 25px; }

    .vma-cp-assess__grid { grid-template-columns: 1fr; gap: 18px; }
    .vma-cp-assess__col { padding: 22px 20px 18px; }

    .vma-cp-enrol .vma-card-body { padding: 20px 16px 20px; }
    .vma-cp-enrol .vma-new-price { font-size: 34px; }
    .vma-cp-enrol .vma-card-bar { font-size: 18px; }
    .vma-cp-enrol--band { max-width: none; }

    .vma-cp-facts { gap: 12px 24px; }
    .vma-cp-badges img { height: 26px; max-width: 92px; }

    .vma-cp-keyfacts { grid-template-columns: 1fr; }
    .vma-cp-why { grid-template-columns: 1fr; }
    .vma-cp-subjects { grid-template-columns: 1fr; }

    .vma-cp-objectives li { padding-left: 40px; }
    .vma-cp-objectives li::before { width: 26px; height: 26px; font-size: 14px; }
}
