.card {
    --bs-card-border-width: 0;
    --bs-border-radius: 0;
    --bs-card-title-spacer-y: 0;
    --bs-card-title-color: var(--neutral-white-color);
    --bs-card-color: var(--neutral-white-color);
    --bs-card-cap-bg: transparent;
}
.card .card-title > a,
.card .card-title > a:active,
.card .card-title > a:focus {
    color: inherit;
    text-decoration: none;
}
.card .card-title > a:hover {
    text-decoration: underline;
}
/* ==== Image & Media Cards ==== */
.card.media {
    --bs-card-bg: var(--primary-brand-color);
    --bs-card-spacer-y: var(--spacing-8);
    --bs-card-spacer-x: var(--spacing-8);
}
.card.media .card-body > * {
    font: var(--sm-16-semi-bold-font-definition);
}
.card.media .card-img-top {
    border-radius: 0;
}
.card.media.media-large {
    --bs-card-bg: var(--neutral-bg-primary-color);
    --bs-card-color: var(--secondary-navy-color);
}
.card.media.video {
    --video-caption-left: var(--spacing-8);
    --video-caption-bottom: var(--spacing-8);
}
.card.media.video > a {
    position: relative;
}
.card.media.video > a::after,
.card.media.video > a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-repeat: no-repeat;
    z-index: 1;
    transition: var(--btn-transition);
}
.card.media.video > a::after {
    width: 8.4rem;
    height: 8.4rem;
    background-image: url('../img/svg/icons/light/icon-play.svg');
}
.card.media.video > a::before {
    width: 6rem;
    height: 6rem;
    background-image: url('../img/svg/icons/dark/ellipse.svg');
    background-size: contain;
    opacity: 0.6;
}
.card.media.video > a:hover::before {
    opacity: 1;
}
/*e.g. Testimonial video card */
.card.media.video .card-img-overlay {
    --icon-width: var(--spacing-28);
    --icon-height: var(--spacing-28);
    --card-img-overlay-icon-margin-right: var(--spacing-20);
    --bs-card-img-overlay-padding: var(--spacing-12);
    background: linear-gradient(358deg, rgba(0, 0, 0, 0.80) 40.03%, rgba(0, 0, 0, 0.00) 98.4%);
    top: unset;
    align-items: center;
    display: flex;
}
.card.media.video .card-img-overlay a,
.card.media.video .card-img-overlay a:active,
.card.media.video .card-img-overlay a:focus {
    color: var(--neutral-white-color);
    text-decoration: none;
    display: flex;
    align-items: center;
}
.card.media.video .card-img-overlay a::before {
    content: '';
    display: inline-block;
    width: var(--icon-width);
    height: var(--icon-height);
    background-image: url('../img/svg/icons/light/icon-play-small.svg');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: var(--card-img-overlay-icon-margin-right);
}
/* ==== Text Video Block ==== */
.card.media.video .card-caption {
    position: absolute;
    bottom: var(--video-caption-bottom);
    left: var(--video-caption-left);
    background-color: var(--secondary-navy-color);
    padding: var(--spacing-8);
}
.card.media.video .card-caption > p {
    color: var(--neutral-white-color);
    font: var(--xs-14-font-definition);
}
/* ==== Course Unit Cards ==== */
.card.course-unit {
    --bs-card-bg: var(--neutral-white-color);
    --bs-card-color: var(--secondary-polynesian-color);
    --bs-card-title-color: var(--secondary-polynesian-color);
    --bs-link-color-rgb: var(--secondary-polynesian-color);
    --bs-link-hover-color-rgb: var(--secondary-polynesian-color);
    --bs-card-spacer-y: var(--spacing-8);
    --bs-card-spacer-x: var(--spacing-8);
    margin-top: var(--spacing-8);
}
.card.course-unit:first-of-type {
    margin-top: var(--spacing-16);
}
.card.course-unit .card-body h4,
.card.course-unit .card-body p {
    font: var(--label-m-font-definition);
}
.card.course-unit .card-body a,
.card.course-unit .card-body a:active,
.card.course-unit .card-body a:focus {
    text-decoration: none;
}
.card.course-unit .card-body a:hover {
    text-decoration: underline;
}
/* ==== Tabbed Cards ==== */
.card.tab-center {
    --bs-card-spacer-x: var(--spacing-16);
    --bs-card-color: var(--neutral-white-color);
    --tab-center-card-spacer-y-top: var(--spacing-8);
    --tab-center-card-spacer-y-bottom: var(--spacing-24);
    background-color: inherit;
    flex: 1;
}
.card.tab-center.no-image {
    --tab-center-card-spacer-y-bottom: var(--spacing-48);
}
.card.tab-center .card-header {
    padding: 0 var(--bs-card-spacer-x);
    background: linear-gradient(var(--neutral-white-color) 50%, var(--secondary-polynesian-color) 50%);
}
.card.tab-center .card-title {
    background-color: var(--primary-brand-color);
    padding: var(--spacing-24);
}
.card.tab-center .card-body {
    background-color: var(--secondary-polynesian-color);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: var(--tab-center-card-spacer-y-top) var(--bs-card-spacer-x) var(--tab-center-card-spacer-y-bottom);
}
.card.tab-center .card-body > img {
    margin-top: var(--spacing-24);
}
/* ==== Banner Cards ==== */
.card.banner {
    --bs-card-bg: var(--neutral-bg-ivory-color);
    --bs-card-color: var(--neutral-black-color);
    --bs-card-spacer-x: var(--spacing-16);
    --bs-card-spacer-y: var(--spacing-32);
}
.card.banner.bg-pattern {
    background-image: url('../img/svg/patterns/financial-support-banner_1120x308-343x442.png');
    background-size: cover;
    background-position: center;
}
/* ==== Step Cards ==== */
.card.step {
    --bs-card-bg: transparent;
    --bs-card-title-color: var(--secondary-polynesian-color);
    --bs-card-spacer-x: var(--spacing-16);
    --bs-card-spacer-y: 0;
}
.card.step p + .btn {
    margin-top: var(--spacing-16);
}
.card.step .card-header {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--bs-card-color);
    margin-bottom: var(--spacing-20);
    margin-left: var(--bs-card-spacer-x);
}
/* ==== Entry Requirement Cards ==== */
.card.entry-requirement {
    --bs-card-spacer-x: var(--spacing-24);
    --entry-requirement-card-spacer-y-top: var(--spacing-24);
    --entry-requirement-card-spacer-y-bottom: var(--spacing-32);
    --bs-card-bg: var(--neutral-white-color);
    --bs-card-title-color: var(--neutral-white-color);
    --bs-card-color: var(--neutral-black-color);
}
.card.entry-requirement .card-header {
    padding: 0 var(--bs-card-spacer-x);
    background: linear-gradient(var(--neutral-bg-primary-color) 50%, var(--neutral-white-color) 50%);
}
.card.entry-requirement .card-title {
    background-color: var(--primary-denim-color);
    padding: var(--spacing-16);
    display: inline-block;
    width: 100%;
}
.card.entry-requirement .card-body {
    padding: var(--entry-requirement-card-spacer-y-top) var(--bs-card-spacer-x) var(--entry-requirement-card-spacer-y-bottom);
}
.card.entry-requirement ul {
    padding-left: 0;
}
.card.entry-requirement ul > li {
    list-style-type: none;
    padding-bottom: var(--spacing-16);
    font: var(--p-16-font-definition);
}
.card.entry-requirement ul > li:last-child {
    padding-bottom: 0;
}
.card.entry-requirement ul + p {
    margin-left: var(--icon-text-indent);
    color: var(--neutral-dark-copy-color);
}
.card.entry-requirement h5 + ul,
.card.entry-requirement ul + p,
.card.entry-requirement p + ul {
    margin-top: var(--spacing-24);
}
.card.course-fact {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.card-fact-title{
  padding-bottom: var(--spacing-12);
}
.card-fact-key-fact {
  display: block;
  margin-top: var(--spacing-2);
  font-size: var(--spacing-24);
  color: var(--neutral-outline-color);
}
.card-fact-subtitle {
  display: block;
  margin-top: var(--spacing-4);
  font-size: var(--font-size-18);
  color: var(--neutral-dark-copy-color);
  font-weight: 700;

}
.course-fact-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.card.course-fact .card-fact-description {
    margin-left: var(--spacing-24);
    margin-top: var(--spacing-8);
    margin-bottom: var(--spacing-16);
    font-size: var(--font-size-18);
    font-weight: 600;
}
.card.course-fact h5 {
    margin-top: auto;
    padding-top: var(--spacing-10);
}
.card-fact-footer {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
}
   /* Course Key Facts – bottom CSP note */
   .block-course-key-facts .csp-note-text {
    padding-top: var(--spacing-48);   
    padding-left: var(--spacing-28);               
    line-height: 1.6;         
  }
  
  .block-course-key-facts .csp-note-link {
    text-decoration: underline;
  }
  .block-course-key-facts .csp-note-link:hover {
    text-decoration-thickness: 1px;
  }
  .block-course-key-facts .csp-note-link:focus {
    outline: 1px solid currentColor;
    outline-offset: 1px;
  }
/* ==== Career Cards ==== */
.card.career {
    --bs-card-spacer-x: var(--spacing-24);
    --bs-card-spacer-y: var(--spacing-24);
    --bs-card-bg: var(--primary-denim-color);
}
/* ==== Fees Cards ==== */
.card.fees {
    --bs-card-bg: var(--neutral-bg-primary-color);
    --bs-card-spacer-y: var(--spacing-30);
    --bs-card-spacer-x: var(--spacing-16);
    --bs-card-cap-padding-x: 0;
    --bs-card-cap-padding-y: var(--spacing-30);
}
/* ==== Academic Cards ==== */
.card.academic {
    --bs-card-bg: var(--neutral-white-color);
    --bs-card-color: var(--neutral-black-color);
    --bs-card-spacer-y: var(--spacing-16);
    --bs-card-spacer-x: var(--spacing-8);
    --bs-card-img-overlay-padding: var(--spacing-8) var(--spacing-16);
}
.card.academic .card-img {
    position: relative;
}
.card.academic .card-img-overlay {
    color: var(--neutral-white-color);
    top: unset;
    bottom: 0;
    background-color: rgb(var(--primary-blue-color-rgb));
}
.card.academic .card-img-overlay p {
    font: var(--sm-14-font-definition);
}
.card.academic .card-img-overlay h4 + p {
    margin-top: var(--spacing-4);
}
.card.academic p + .btn {
    margin-top: var(--spacing-16);
}
/* ==== Primary Content Cards ==== */
.card.primary-content {
    --bs-card-spacer-x: var(--spacing-16);
    --bs-card-spacer-y: var(--spacing-24);
    --bs-card-color: var(--neutral-black-color);
    --bs-card-bg: var(--neutral-white-color);
}
.card.primary-content.block-color-inherit {
    --bs-card-bg: inherit;
}
.card.primary-content.block-color-inherit > * > * > .card-body {
    padding-left: 0;
}
.card.primary-content.block-color-inherit:not(.reversed) > * > * > .card-body {
    padding-bottom: 0;
}
/* ==== Testimonial Cards ==== */
.card.testimonial {
    --bs-card-spacer-x: var(--spacing-16);
    --bs-card-spacer-y: var(--spacing-24);
    --bs-card-color: var(--secondary-navy-color);
    --bs-card-bg: var(--neutral-bg-primary-color);
}
/* ==== Course Cards ==== */
.card.course {
    --bs-card-spacer-x: var(--spacing-16);
    --bs-card-spacer-y: var(--spacing-16);
    --bs-card-color: var(--secondary-navy-color);
    --bs-card-bg: var(--neutral-white-color);
    --bs-card-cap-color: var(--neutral-white-color);
    --bs-card-cap-bg: var(--primary-denim-color);
    --bs-card-cap-padding-x: var(--bs-card-spacer-x);
    --bs-card-cap-padding-y: var(--spacing-10);
    --bs-card-title-color: var(--primary-denim-color);
    --bs-card-border-width: 1px;
    --bs-card-border-color: var(--primary-denim-color);
}
.course.card .card-title {
    height: calc( var(--h4-font-size) * var(--line-height-120) * 3 ); /* 3 lines */
    overflow: hidden;
}
.card.course ul {
    padding-left: 0;
}
.card.course ul > li {
    list-style-type: none;
    font: var(--p-16-font-definition);
    padding-bottom: var(--spacing-8);
}
.card.course ul > li:last-child {
    padding-bottom: 0;
}
.card.course .course__details {
    padding-bottom: var(--spacing-24);
}
.card.course .card-footer {
    --bs-card-cap-bg: transparent;
    --bs-card-border-width: 0;
    padding-bottom: var(--spacing-16);
}
.card.course .card-footer p + p {
    margin-top: var(--spacing-8);
}
/* ==== Blog Cards ==== */
.card.blog {
    --bs-card-spacer-x: 0;
    --bs-card-spacer-y: var(--spacing-16);
    --bs-card-color: var(--secondary-navy-color);
    --bs-card-bg: var(--neutral-white-color);
    --bs-card-cap-color: var(--neutral-grey-color);
    --bs-card-cap-padding-x: var(--bs-card-spacer-x);
    --bs-card-cap-padding-y: var(--bs-card-spacer-y);
    --bs-card-title-color: var(--neutral-black-color);
    --img-top-height: 143px;
    --img-top-object-fit: cover;
}
.card.blog.new::before {
    content: 'New';
    display: inline;
    position: absolute;
    top: 0;
    left: 0;
    font: var(--label-m-font-definition);
    text-transform: uppercase;
    color: var(--neutral-white-color);
    background-color: var(--primary-denim-color);
    padding: var(--spacing-12) var(--spacing-16);
}
.card.blog img.card-img-top {
    height: var(--img-top-height);
    object-fit: var(--img-top-object-fit);
}
.card.blog .card-body {
    padding-bottom: 0;
}
.card.blog .card-body h3 + p {
    margin-top: var(--spacing-8);
}
.card.blog .card-footer p {
    font: var(--sm-14-semi-bold-font-definition);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-14);
}
/* ==== Apply CTA Cards ==== */
.card.apply-cta {
    --bs-card-spacer-x: var(--spacing-24);
    --bs-card-spacer-y: var(--spacing-24);
    --bs-card-color: var(--neutral-white-color);
    --bs-card-bg: var(--secondary-polynesian-color);
    --bs-card-cap-padding-x: var(--bs-card-spacer-x);
    --bs-card-cap-padding-y: var(--bs-card-spacer-y);
}
.card.apply-cta .card-body {
    padding-bottom: 0;
}
/* ==== Award Badge Cards ==== */
.card.award-badge {
    --bs-card-spacer-x: var(--spacing-24);
    --bs-card-spacer-y: var(--spacing-8);
    --bs-card-cap-color: var(--neutral-dark-copy-color);
    --bs-card-bg: transparent;
    --bs-card-color: var(--neutral-dark-copy-color);
    text-align: center;
}
.card.award-badge .card-text {
    margin: 0 auto;
    font: var(--sm-14-semi-bold-font-definition);
}
/* ==== Course Discipline Cards ==== */
.card.discipline {
    --bs-card-spacer-x: var(--spacing-16);
    --bs-card-spacer-y: var(--spacing-40);
    --discipline-card-bg-url: url('../img/svg/patterns/course-tile-m-bg.svg');
    --discipline-card-min-height: 132px;
    --discipline-card-title-width: 100%;
    background: var(--discipline-card-bg-url) no-repeat center/cover;
    min-height: var(--discipline-card-min-height);
}
.card.discipline .card-body {
    align-content: center;
}
.card.discipline .card-title {
    width: var(--discipline-card-title-width);
}
/* ==== Course Fact Cards ==== */
.card.course-fact {
    --bs-card-bg: transparent;
}

/* ==== Figure Stat Cards ==== */
.card.figure-stat {
    --bs-card-bg: transparent;
}
/* ==== Quick Links Card ==== */
.card.quick-links {
    --bs-heading-color: var(--secondary-navy-color);
    --bs-card-bg: var(--neutral-bg-primary-color);
    --bs-card-spacer-y: var(--spacing-24);
    --bs-card-spacer-x: var(--spacing-24);
}
.card.quick-links h5 + .btn {
    margin-top: var(--spacing-16);
}
/* ==== Widget Cards ==== */
.card.widget {
    --bs-card-spacer-y: var(--spacing-24);
    --bs-card-spacer-x: var(--spacing-24);
}
.card.widget.light {
    --bs-card-color: var(--secondary-navy-color);
    --bs-card-bg: var(--neutral-bg-primary-color);
    --bs-btn-bg: var(--primary-denim-color);
}
.card.widget.dark {
    --bs-card-bg: var(--primary-blue-color);
    --bs-btn-bg: var(--neutral-white-color);
}
/* ==== Apply Steps Cards ==== */
.card.apply-steps {
    --bs-card-bg: transparent;
    --bs-card-color: var(--neutral-black-color);
    --bs-card-spacer-y: var(--spacing-16);
    --bs-card-spacer-x: var(--spacing-16);
}
.card.apply-steps .card-body {
    background-color: var(--neutral-bg-primary-color);
}
/* ==== Primary Content Narrow Cards ==== */
.card.primary-content-narrow {
    --bs-card-bg: transparent;
    --bs-card-color: var(--neutral-white-color);
    --bs-card-spacer-y: var(--spacing-16);
    --bs-card-spacer-x: var(--spacing-16);
}
/* ==== Feature Cards ==== */
.card.feature-two,
.card.feature {
    --bs-card-bg: transparent;
    --bs-card-color: var(--neutral-black-color);
    --bs-card-title-color: var(--primary-brand-color);
    --bs-card-spacer-y: var(--spacing-8);
    --bs-card-spacer-x: var(--spacing-8);
    --bs-card-cap-padding-x: var(--bs-card-spacer-x);
    --bs-card-cap-padding-y: var(--bs-card-spacer-y);
}
.card.feature:not(.highlight) .card-body {
    margin-top: var(--flickity-cell-gap);
}
.card.feature:not(.highlight) .card-body,
.card.feature:not(.highlight) .card-footer {
    background-color: var(--neutral-white-color);
}
.card.feature.highlight {
    --bs-card-title-color: var(--secondary-navy-color);
    --bs-card-cap-padding-x: 0;
    --bs-card-cap-padding-y: 0;
}
.card.feature.highlight .card-body {
    padding-left: 0;
}
.card.feature-two {
    --bs-card-bg: var(--neutral-white-color);
    --bs-card-title-color: var(--neutral-white-color);
    --bs-card-spacer-x: var(--spacing-16);
    --bs-card-cap-padding-y: 0;
}
.card.feature-two .card-title {
    background-color: var(--primary-denim-color);
    padding: var(--spacing-8);
}
.card.feature-two .card-image {
    position: relative;
}
.card.feature-two .card-body {
    --bs-card-spacer-x: 0;
}
.card.feature-two .card-header {
    transform: translateY( calc( -1 * var(--spacing-24) ) );
}
.card.feature-two.light {
    --bs-card-bg: transparent;
    --bs-card-color: var(--neutral-white-color);
}
.card.feature-two.light .card-title {
    background-color: var(--secondary-sky-color);
}
.card.feature p + p {
    margin-top: var(--spacing-8);
}
@media screen and (min-width: 768px) {
    .card.banner.bg-pattern {
        background-image: url('../img/svg/patterns/financial-support-banner_1120x308.png');
    }
}
@media screen and (min-width: 992px) {
    .card.media {
        --bs-card-spacer-y: var(--spacing-16);
        --bs-card-spacer-x: var(--spacing-16);
    }
    .card.media.video {
        --video-caption-left: var(--spacing-16);
        --video-caption-bottom: var(--spacing-16);
    }
    .card.media.video .card-img-overlay {
        --icon-width: var(--spacing-32);
        --icon-height: var(--spacing-32);
        --card-img-overlay-icon-margin-right: var(--spacing-24);
        --bs-card-img-overlay-padding: var(--spacing-16);
    }
    .card.course-unit {
        --bs-card-spacer-y: var(--spacing-12);
        --bs-card-spacer-x: var(--spacing-12);
        margin-top: var(--spacing-16);
    }
    .card.apply-steps {
        --bs-card-spacer-y: var(--spacing-24);
        --bs-card-spacer-x: var(--spacing-32);
    }
    .card.tab-center {
        --bs-card-spacer-x: var(--spacing-24);
        --tab-center-card-spacer-y-top: var(--spacing-16);
    }
    .card.career,
    .card.testimonial,
    .card.apply-cta {
        --bs-card-spacer-y: var(--spacing-32);
        --bs-card-spacer-x: var(--spacing-32);
    }
    .card.primary-content {
        --bs-card-spacer-x: var(--spacing-80);
        --bs-card-spacer-y: var(--spacing-40);
    }
    .card.primary-content.block-color-inherit.reversed .card-body {
        padding-left: var(--bs-card-spacer-x);
    }
    .card.banner {
        --bs-card-spacer-x: var(--spacing-24);
        --bs-card-spacer-y: var(--spacing-40);
    }
    .card.course {
        --bs-card-spacer-x: var(--spacing-24);
        --bs-card-cap-padding-x: var(--spacing-24);
    }
    .card.feature-two .card-title,
    .card.blog.new::before {
        padding: var(--spacing-16);
    }
    .card.blog {
        --img-top-height: 180px;
    }
    .card.blog .card-body h3 + p {
        margin-top: var(--spacing-16);
    }
    .card.award-badge {
         --bs-card-spacer-y: var(--spacing-24);
     }
    .card.discipline {
        --bs-card-spacer-x: var(--spacing-32);
        --bs-card-spacer-y: var(--spacing-48);
        --discipline-card-bg-url: url('../img/svg/patterns/course-tile-d-bg.svg');
        --discipline-card-min-height: 212px;
        --discipline-card-title-width: 90%;
    }
    .card.primary-content-narrow {
        --bs-card-spacer-y: var(--spacing-32);
        --bs-card-spacer-x: var(--spacing-40);
    }
    .card.feature {
        --bs-card-spacer-x: var(--spacing-16);
        --bs-card-spacer-y: var(--spacing-16);
    }
    .card.feature p + p {
        margin-top: var(--spacing-12);
    }
    .card.step {
        --bs-card-spacer-x: 0;
    }

    @media screen and (min-width: 1200px) {
        .card.discipline {
            --discipline-card-min-height: 172px;
        }
    }
}
