/* ============================================================
   Site-wide design radii
   Cards & images: 15px | Buttons: 10px
   Loaded last in the public layout so all pages inherit these.
   ============================================================ */

:root {
    --radius-card: 25px;
    --radius-btn: 25px;
}

/* ---- Cards ---- */
.about-stat-card,
.adm-cta-card,
.adm-deadline-card,
.alumni-card,
.alumni-engage-card,
.alumni-event-card,
.alumni-leader-card,
.annual-card,
.awards-card,
.bhw-value-card,
.career-card,
.coe-leads-card,
.cohort-card,
.collab-feature-card,
.contact-details-card,
.contact-map-card,
.contact-social-card,
.count-card,
.criteria-card,
.cta-card,
.ct-faq-cta-card,
.ct-map-card,
.ct-prog-card,
.dmb-badge-card,
.dmb-detail-card,
.dmb-get-card,
.ed-about-card,
.ed-card,
.ed-share-card,
.edu-card,
.ev-people-card,
.ev-timeline-card,
.exchange-partner-card,
.exchange-testimonial-card,
.faq-tab-help-card,
.fin-fee-card,
.fin-mini-card,
.fp-stat-card,
.funder-card,
.gallery-card,
.gh-stat-card,
.impact-card,
.impact-engagement-card,
.impact-event-feature-card,
.int-benefit-card,
.int-contact-card,
.int-objective-card,
.int-eligibility-panel,
.int-roles-panel,
.irb-contact-card,
.irb-team-card,
.key-page-card,
.mep-adm-office-card,
.mep-adm-req-card,
.mep-curriculum-office-card,
.mep-document-card,
.mep-featured-story-card,
.mep-fin-total-card,
.mep-news-card,
.mep-semester-card,
.mep-webinar-card,
.mv-card,
.newsletter-card,
.newsletter-form-card,
.nl-form-card,
.overview-glance-card,
.partnership-featured-card,
.partnership-pathway-card,
.pi-degree-modal-card,
.pi-media-add-card,
.pi-media-card,
.pi-media-modal-card,
.programme-card,
.pd-article,
.pd-orgs-card,
.pd-author-bio,
.pd-sb-boxed,
.pub-card,
.pub-mini-card,
.pub-stat-card,
.rc-card-h,
.rc-card-v,
.results-card,
.results-contact-card,
.results-info-card,
.results-side-card,
.ro-output-card,
.ro-page-header,
.ro-form-section,
.as-page-header,
.as-section,
.se-section,
.st-section,
.st-subtabs,
.sd-card,
.sd-header,
.sd-quick-actions,
.sd-activity,
.sd-status-banner,
.fp-stat-card,
.rp-card,
.rp-list,
.rp-empty,
.rph-card,
.rsch-card,
.rsch-pub-stat,
.sd-content,
.sd-tabs-nav,
.sd-subnav,
.pi-mid-sidebar,
.pi-page-header,
.sd-portfolio-card,
.sd-profile-card,
.sd-sidebar,
.sd-sdg-card,
.sd-stat-card,
.search-card,
.se-stat-card,
.smc-card,
.staff-member,
.st-entry-card,
.st-stat-card,
.tr-course-card,
.tr-director-card,
.trng-card,
.trng-stat-card,
.tr-popular-card,
.utd-related-card,
.edu-meta-item,
.utd-sidebar-card,
.pub-stat-box,
.alumni-stat-box {
    border-radius: var(--radius-card) !important;
    overflow: hidden;
}

/* ---- Images / media frames (not full-bleed heroes) ---- */
.about-photo,
.alumni-img-wrap,
.alumni-events-featured,
.alumni-events-featured img,
.bhw-collage-image,
.cg-dist-img,
.coe-img-wrap,
.cohort-img-wrap,
.collab-feature-image,
.course-structure-img-wrap,
.criteria-banner-img,
.dmb-why-img-wrap,
.echr-photo,
.echr-photo-col,
.ed-figure,
.ed-related-thumb,
.edu-card-img,
.ev-people-photo,
.exchange-about-media,
.exchange-eligibility-media,
.exchange-guidelines-media,
.funder-card-logo,
.gh-media-bottom-img,
.gh-media-top,
.global-health-media,
.how-video-img,
.impact-engagement-media,
.impact-engagement-image,
.impact-event-feature-image,
.int-about-figure,
.int-about-figure img,
.irb-team-card-img,
.irb-team-card-photo,
.mep-document-card-image-wrap,
.mep-featured-story-media,
.mep-news-card-image,
.mep-webinar-media,
.mep-webinar-image,
.overview-grid-img,
.overview-img-wrap,
.overview-media,
.partnership-featured-image-wrap,
.pd-article-img,
.pd-sb-post-img-wrap,
.pi-media-thumb,
.pub-card-img,
.pub-card-thumb,
.rb-figure,
.rb-related-thumb,
.rc-card-h-img,
.rc-card-v-img,
.research-methodology-img-frame,
.research-methodology-media-top,
.research-methodology-media-bottom-img,
.rih-article-thumb,
.rph-card-img,
.rsch-img-panel,
.school-intro-img,
.school-intro-img-wrap,
.sd-media-thumb,
.smc-card-img-wrap,
.smc-card-img,
.tr-course-thumb,
.trng-card-img,
.utd-related-thumb {
    border-radius: var(--radius-card) !important;
}

/* ---- Buttons / CTAs ---- */
.about-btn,
.cta-card-link,
.admission-contact-btn,
.alumni-share-story-btn,
.alumni-event-link,
.annual-btn,
.as-btn-save,
.as-btn-upload,
.bhw-primary-btn,
.btn-apply,
.btn-login,
.edu-card-link,
.career-detail-btn-apply,
.career-detail-btn-back,
.career-detail-sidebar-apply,
.contact-map-btn,
.ct-back-btn,
.ct-change-btn,
.ct-map-btn,
.ct-submit-btn,
.echr-btn,
.ed-register-btn,
.ev-people-btn,
.exchange-btn-primary,
.exchange-cta-btn,
.gh-btn,
.hero-btn,
.hero-search-btn,
.impact-engagements-more-btn,
.impact-events-newsletter-btn,
.impact-engagement-readmore,
.int-btn,
.int-roles-tab,
.int-contact-brochure,
.mv-card-btn,
.newsletter-btn,
.newsletter-submit-btn,
.nl-submit-btn,
.outline-btn,
.overview-btn-outline,
.overview-btn-primary,
.pd-share-btn,
.pd-submit-btn,
.pd-field,
.pd-sb-search-box,
.pi-basic-btn-save,
.pi-bio-btn-save,
.pi-btn-add,
.pi-btn-preview,
.pi-btn-save,
.pi-btn-save-changes,
.pi-btn-save--primary,
.pi-degree-btn-add,
.pi-degree-btn-save,
.pi-degree-modal-btn--primary,
.pi-media-btn-add,
.pi-media-modal-btn--primary,
.primary-btn,
.pub-browse-btn,
.pubs-btn,
.rb-share-btn,
.results-confirm-btn,
.ro-btn-add,
.ro-btn-cancel,
.ro-btn-submit,
.rp-btn,
.rp-filter-select,
.rp-loadmore-btn,
.rsch-btn,
.sd-btn-outline,
.sd-btn-primary,
.sd-edit-btn,
.search-btn,
.st-btn-submit,
.utd-apply-btn,
.mep-news-readmore,
.mep-webinar-view-all,
.login-submit,
.impact-events-sidebar-widget,
.impact-events-newsletter {
    border-radius: var(--radius-btn) !important;
}

/* Footer subscribe input group: seamless pill shape */
.subscribe-input {
    border-radius: var(--radius-btn) 0 0 var(--radius-btn) !important;
}

.subscribe-btn {
    border-radius: 0 var(--radius-btn) var(--radius-btn) 0 !important;
}

@media (max-width: 767px) {
    .subscribe-input,
    .subscribe-btn {
        border-radius: var(--radius-btn) !important;
    }
}

.login-alert {
    border-radius: var(--radius-card) !important;
}

/* Bootstrap / generic public form buttons */
.site-content .btn:not(.rounded-circle):not(.btn-close),
.site-content button[type="submit"]:not(.rounded-circle),
.site-content button[type="button"].btn:not(.rounded-circle) {
    border-radius: var(--radius-btn) !important;
}