/**
 * This file is part of Moodle and is licensed under the
 * GNU General Public License, version 3 or later.
 *
 * You may redistribute and modify it under the terms of the GPL.
 * See the plugin root LICENSE file for complete terms.
 *
 * Compiled Modern Commerce styles.
 *
 * @package    local_moderncommerce
 * @copyright  2025 Adebare Showemimo | adebareshowemimo@gmail.com | support@agunfoninteractivity.com
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
@charset "UTF-8";
/*
 * Modern Commerce SCSS partial: storefront widget renderer and public page widgets.
 * Migrated from standalone CSS so generated bundles have a single source of truth.
 */
/* Source: styles/storefront.css */
/* Modern Widgets storefront styles. */
/* ============================================================================
   Storefront widget design-system foundation
   ----------------------------------------------------------------------------
   Single source of truth for the typography every widget shares. Colour tokens
   (--mc-primary teal, --mc-text, --mc-text-muted, --mc-border, --mc-surface ...)
   ship in the page-scoped styles/design-system.css :root; the type-scale tokens below extend
   that system so headings, paragraphs, leads, and labels are identical across
   all widgets. Use these tokens in every widget rule:

     headings (section)  font-size:var(--mc-fs-h2);  font-weight:var(--mc-fw-heading)
     headings (display)  font-size:var(--mc-fs-display); font-weight:var(--mc-fw-display)
     card title (h3)     font-size:var(--mc-fs-h3);  font-weight:var(--mc-fw-heading)
     lead / subtitle     font-size:var(--mc-fs-lead); color:var(--mc-text-muted)
     body paragraph      font-size:var(--mc-fs-body); line-height:var(--mc-lh-body)
     eyebrow / label     font-size:var(--mc-fs-xs); font-weight:var(--mc-fw-semibold);
                         letter-spacing:var(--mc-tracking-eyebrow); text-transform:uppercase
   ============================================================================ */
:root {
  /* Type scale (storefront widgets). */
  --mc-fs-display: 2.75rem;
  --mc-fs-h1: 2.25rem;
  --mc-fs-h2: 1.75rem;
  --mc-fs-h3: 1.25rem;
  --mc-fs-h4: 1.125rem;
  --mc-fs-h5: 1rem;
  --mc-fs-h6: 0.875rem;
  --mc-fs-lead: 1.125rem;
  --mc-fs-body: 1rem;
  --mc-fs-ui: 0.875rem;
  --mc-fs-meta: 0.8125rem;
  --mc-fs-caption: 0.75rem;
  --mc-fs-micro: 0.6875rem;
  --mc-fs-sm: var(--mc-fs-ui);
  --mc-fs-xs: var(--mc-fs-caption);
  /* Weights. */
  --mc-fw-body: 400;
  --mc-fw-medium: 500;
  --mc-fw-semibold: 600;
  --mc-fw-heading: 700;
  --mc-fw-display: 800;
  /* Line heights. */
  --mc-lh-tight: 1.12;
  --mc-lh-heading: 1.25;
  --mc-lh-body: 1.6;
  --mc-lh-ui: 1.45;
  /* Eyebrow / label tracking. */
  --mc-tracking-eyebrow: 0.06em;
}

@media (max-width: 767.98px) {
  :root {
    --mc-fs-display: 2rem;
    --mc-fs-h1: 1.75rem;
    --mc-fs-h2: 1.5rem;
  }
}
/* Unify the FONT FAMILY across every storefront widget (the one rule applied
   globally — colour/size/weight stay per-widget so colour-band widgets keep
   their white-on-accent headings). Overrides any widget that hardcoded a
   different family (e.g. the learning-promise serif). */
.mc-react-mount,
.mw-zone-render {
  font-family: var(--mc-font, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);
}

.mc-react-mount :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--mc-font, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);
}

.mw-react-mount {
  display: block;
}

/* Reserve the hero band's height from the very first paint, so the catalog
   below it does not render in its place and then jump down once the slider
   loads. The margin lives on the persistent mount wrapper so spacing stays
   identical before and after React hydrates. */
.mw-react-mount[data-region=modernwidgets-home-hero] {
  margin-bottom: 1.5rem;
}

.mw-zone-loading {
  min-height: 0;
}

[data-region=modernwidgets-home-hero] .mw-zone-loading {
  height: clamp(320px, 40vw, 460px);
  border-radius: var(--mc-radius-lg, 8px);
  background: var(--mc-surface-alt, #f1f5f9);
}

/* Loading skeleton shown after React mounts, while the widget data is fetched. */
.mw-zone-skeleton {
  position: relative;
  height: 0;
  overflow: hidden;
  border-radius: var(--mc-radius-lg, 8px);
  background: var(--mc-surface-alt, #f1f5f9);
}

.mw-zone-skeleton--home_hero {
  height: clamp(320px, 40vw, 460px);
}

.mw-zone-skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 25%, rgba(255, 255, 255, 0.55) 50%, transparent 75%);
  transform: translateX(-100%);
  animation: mw-shimmer 1.4s ease-in-out infinite;
}

.mw-zone-skeleton__spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 34px;
  height: 34px;
  margin: -17px 0 0 -17px;
  border: 3px solid rgba(15, 23, 42, 0.15);
  border-top-color: var(--mc-primary, #0b7f75);
  border-radius: 50%;
  animation: mw-spin 0.8s linear infinite;
}

@keyframes mw-shimmer {
  to {
    transform: translateX(100%);
  }
}
@keyframes mw-spin {
  to {
    transform: rotate(360deg);
  }
}
/* Hero slider widget. */
.mw-hero {
  position: relative;
  overflow: hidden;
  border-radius: 0;
  box-shadow: var(--mc-shadow-md, 0 8px 20px rgba(15, 23, 42, 0.1));
}

.mw-hero__track {
  position: relative;
  width: 100%;
  height: clamp(320px, 40vw, 460px);
}

.mw-hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease, visibility 0s linear 0.6s;
}

.mw-hero__slide--active {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.6s ease;
}

.mw-hero__media {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.mw-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 620px;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  color: #fff;
}

/* Design: Overlay — text over a full-bleed image. */
.mw-hero--overlay .mw-hero__slide {
  display: flex;
  align-items: center;
}

.mw-hero--overlay .mw-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 15, 30, 0.74) 0%, rgba(8, 15, 30, 0.34) 55%, rgba(8, 15, 30, 0.08) 100%);
}

/* Design: Split — text panel beside the media. */
.mw-hero--split .mw-hero__slide {
  display: flex;
  flex-direction: row;
}

.mw-hero--split .mw-hero__media {
  position: relative;
  inset: auto;
  flex: 1 1 55%;
}

.mw-hero--split .mw-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.22));
}

.mw-hero--split .mw-hero__inner {
  flex: 0 0 45%;
  max-width: 45%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--mw-slide-bg, #0b7f75);
}

/* Design: Card — text below a contained media banner. */
.mw-hero--card .mw-hero__slide {
  display: flex;
  flex-direction: column;
  background: var(--mc-surface, #fff);
}

.mw-hero--card .mw-hero__media {
  position: relative;
  inset: auto;
  flex: 1 1 auto;
}

.mw-hero--card .mw-hero__inner {
  flex: 0 0 auto;
  width: 100%;
  max-width: none;
  color: var(--mc-text, #111827);
  padding: clamp(1rem, 2.5vw, 1.75rem) clamp(1.25rem, 3vw, 2.5rem);
}

.mw-hero--card .mw-hero__heading {
  color: var(--mc-text, #111827);
  text-shadow: none;
  font-size: var(--mc-fs-h1);
}

.mw-hero--card .mw-hero__subheading {
  color: var(--mc-text-muted, #6b7280);
  text-shadow: none;
  margin-bottom: 1rem;
}

.mw-hero__heading {
  margin: 0 0 0.75rem;
  font-size: var(--mc-fs-display);
  font-weight: var(--mc-fw-display);
  line-height: var(--mc-lh-tight);
  letter-spacing: 0;
  color: #fff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.mw-hero__subheading {
  margin: 0 0 1.5rem;
  font-size: var(--mc-fs-lead);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.92);
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.3);
}

.mw-hero__cta,
.mw-hero__cta.mc-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: var(--mc-radius-pill, 9999px);
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  border: 2px solid transparent;
  transition: transform var(--mc-transition-fast, 0.15s ease), box-shadow var(--mc-transition-fast, 0.15s ease), background-color var(--mc-transition-fast, 0.15s ease);
}

.mw-hero__cta:hover,
.mw-hero__cta.mc-button:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

.mw-hero__cta--primary,
.mw-hero__cta--primary.mc-button {
  background-color: var(--mc-primary, #0b7f75);
  color: #fff;
  box-shadow: 0 8px 20px rgba(11, 127, 117, 0.35);
}

.mw-hero__cta--primary:hover,
.mw-hero__cta--primary.mc-button:hover {
  background-color: var(--mc-primary-hover, #0f766e);
  color: #fff;
}

.mw-hero__cta--light,
.mw-hero__cta--light.mc-button {
  background-color: var(--mc-surface, #fff);
  color: var(--mc-text, #111827);
}

.mw-hero__cta--light:hover,
.mw-hero__cta--light.mc-button:hover {
  color: var(--mc-text, #111827);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

.mw-hero__cta--outline,
.mw-hero__cta--outline.mc-button {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.7);
  color: #fff;
}

.mw-hero__cta--outline:hover,
.mw-hero__cta--outline.mc-button:hover {
  background-color: rgba(255, 255, 255, 0.16);
  color: #fff;
}

/* Arrows — grouped at the bottom-right so they never overlap the slide text. */
.mw-hero__arrow,
.mw-hero__arrow.mc-button {
  position: absolute;
  bottom: 16px;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.92);
  color: var(--mc-text, #111827);
  font-size: 1.25rem;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  transition: background-color var(--mc-transition-fast, 0.15s ease), transform var(--mc-transition-fast, 0.15s ease);
}

.mw-hero__arrow:hover,
.mw-hero__arrow.mc-button:hover {
  background-color: #fff;
  transform: scale(1.08);
}

.mw-hero__arrow--prev {
  right: 68px;
}

.mw-hero__arrow--next {
  right: 16px;
}

/* Card design shows its arrows over the top media banner instead. */
.mw-hero--card .mw-hero__arrow {
  top: 16px;
  bottom: auto;
}

/* Dots. */
.mw-hero__dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  gap: 0.5rem;
}

.mw-hero__dot,
.mw-hero__dot.mc-button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background-color var(--mc-transition-fast, 0.15s ease), transform var(--mc-transition-fast, 0.15s ease);
}

.mw-hero__dot--active,
.mw-hero__dot--active.mc-button {
  background-color: #fff;
  transform: scale(1.25);
}

/* Card design has a light text panel — give its dots dark contrast. */
.mw-hero--card .mw-hero__dot,
.mw-hero--card .mw-hero__dot.mc-button {
  background-color: rgba(15, 23, 42, 0.25);
}

.mw-hero--card .mw-hero__dot--active,
.mw-hero--card .mw-hero__dot--active.mc-button {
  background-color: var(--mc-primary, #0b7f75);
}

@media (max-width: 768px) {
  .mw-hero__track {
    height: 380px;
  }
  .mw-hero--split .mw-hero__slide {
    flex-direction: column;
  }
  .mw-hero--split .mw-hero__inner,
  .mw-hero--split .mw-hero__media {
    flex: 1 1 50%;
    max-width: 100%;
    width: 100%;
  }
  .mw-hero__arrow {
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }
  .mw-hero--overlay .mw-hero__inner {
    text-align: center;
    margin: 0 auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mw-hero__slide,
  .mw-hero__slide--active {
    transition: opacity 0.2s ease;
  }
  .mw-zone-skeleton::after,
  .mw-zone-skeleton__spinner,
  .mw-featured__card-skeleton::after {
    animation: none;
  }
}
/* Admin live preview. */
.mw-preview {
  margin-bottom: 1.5rem;
}

/* Featured / related products widget. */
.mw-react-mount[data-region=modernwidgets-home-featured] {
  margin-bottom: 1.5rem;
}

[data-region=modernwidgets-home-featured] .mw-zone-loading {
  height: 360px;
  border-radius: var(--mc-radius-lg, 8px);
  background: var(--mc-surface-alt, #f1f5f9);
}

.mw-zone-skeleton--home_featured {
  height: 360px;
}

.mw-featured {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 3rem 1rem;
}

.mw-featured__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.mw-featured__heading {
  flex: 1 1 auto;
  min-width: 0;
}

/* Heading text alignment (admin "Heading alignment" setting). */
.mw-featured--align-center .mw-featured__heading {
  text-align: center;
}

/* Footer row that hosts the arrow controls for the "bottom" nav positions. */
.mw-featured__foot {
  display: flex;
  margin-top: 1.25rem;
}

/* --- Arrow controls position (admin "Arrow controls position" setting) --- */
/* Top variants share the header row with the heading; topright is the default. */
.mw-featured--nav-topleft .mw-featured__head {
  justify-content: flex-start;
}

.mw-featured--nav-topleft .mw-featured__nav {
  order: -1;
}

.mw-featured--nav-topcenter .mw-featured__head {
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.mw-featured--nav-topcenter .mw-featured__heading {
  flex: 0 1 auto;
}

/* Bottom variants align the arrows inside the footer row. */
.mw-featured--nav-bottomleft .mw-featured__foot {
  justify-content: flex-start;
}

.mw-featured--nav-bottomcenter .mw-featured__foot {
  justify-content: center;
}

.mw-featured--nav-bottomright .mw-featured__foot {
  justify-content: flex-end;
}

.mw-featured__title {
  margin: 0;
  font-size: var(--mc-fs-h2);
  font-weight: var(--mc-fw-heading);
  color: var(--mc-text, #111827);
}

.mw-featured__subtitle {
  margin: 0.25rem 0 0;
  color: var(--mc-text-muted, #6b7280);
}

.mw-featured__nav {
  display: flex;
  gap: 0.5rem;
}

.mw-featured__arrow,
.mw-featured__arrow.mc-button {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: 50%;
  background: var(--mc-surface, #fff);
  color: var(--mc-text, #111827);
  cursor: pointer;
  transition: background-color var(--mc-transition-fast, 0.15s ease), transform var(--mc-transition-fast, 0.15s ease);
}

.mw-featured__arrow:hover,
.mw-featured__arrow.mc-button:hover {
  background: var(--mc-surface-alt, #f1f5f9);
  transform: scale(1.06);
}

.mw-featured__track {
  display: flex;
  align-items: stretch;
  gap: 1.25rem;
  overflow-x: auto;
  /* Scroll horizontally only — never let the browser expose a vertical scrollbar on the
     sides (overflow-x:auto would otherwise compute overflow-y to auto). */
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  padding: 0.5rem 0;
  /* Hide the horizontal scrollbar; scrolling stays available via the arrows / swipe. */
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.mw-featured__track::-webkit-scrollbar {
  display: none;
}

.mw-featured__track > .mc-course-card,
.mw-featured__track > .mw-featured__card-skeleton {
  flex: 0 0 clamp(230px, 26vw, 290px);
  scroll-snap-align: start;
}

.mw-featured__track > .mc-course-card {
  align-self: stretch;
  height: auto;
}

.mw-featured .mc-course-card-body,
.mw-zone-render .mc-course-card-body {
  flex: 1 1 auto;
}

.mw-featured .mc-course-card-footer,
.mw-zone-render .mc-course-card-footer {
  margin-top: auto;
}

.mw-featured .mc-course-card-badges,
.mw-zone-render .mc-course-card-badges {
  left: 0.75rem;
  right: auto;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.375rem;
  max-width: calc(100% - 1.5rem);
}

.mw-featured .mc-course-card-image-badge,
.mw-zone-render .mc-course-card-image-badge {
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: #111827;
  color: #fff;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.28);
}

.mw-featured .mc-course-card-image-badge.mc-badge-bestseller,
.mw-zone-render .mc-course-card-image-badge.mc-badge-bestseller {
  border-color: rgba(17, 24, 39, 0.16);
  background: #f59e0b;
  color: #111827;
}

.mw-featured .mc-course-card-image-badge.mc-badge-bundle,
.mw-zone-render .mc-course-card-image-badge.mc-badge-bundle {
  border-color: rgba(255, 255, 255, 0.32);
  background: #0f766e;
  color: #fff;
}

.mw-featured .mc-course-card-image-badge.mc-badge-program,
.mw-zone-render .mc-course-card-image-badge.mc-badge-program {
  border-color: rgba(255, 255, 255, 0.32);
  background: #6d28d9;
  color: #fff;
}

.mw-featured .mc-course-card-meta,
.mw-zone-render .mc-course-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: nowrap;
  min-width: 0;
}

.mw-featured .mc-course-card-category,
.mw-zone-render .mc-course-card-category {
  flex: 1 1 auto;
  min-width: 0;
  padding-left: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mw-featured .mc-course-card-duration,
.mw-zone-render .mc-course-card-duration {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
}

.mw-featured__grid {
  display: grid;
  grid-template-columns: repeat(var(--mw-cols, 4), minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.mw-featured__grid > .mc-course-card {
  height: 100%;
}

.mw-featured__card-skeleton {
  position: relative;
  height: 320px;
  overflow: hidden;
  border-radius: var(--mc-radius-lg, 8px);
  background: var(--mc-surface-alt, #f1f5f9);
}

.mw-featured__card-skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 25%, rgba(255, 255, 255, 0.55) 50%, transparent 75%);
  transform: translateX(-100%);
  animation: mw-shimmer 1.4s ease-in-out infinite;
}

@media (max-width: 768px) {
  .mw-featured__grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  }
}
/* Admin slide manager. */
.mw-admin-slides {
  max-width: 960px;
}

.mw-admin-slides__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}

.mw-admin-slide {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: var(--mc-radius, 8px);
  margin-bottom: 0.75rem;
  background: var(--mc-surface, #fff);
}

.mw-admin-slide__swatch {
  width: 64px;
  height: 44px;
  border-radius: 6px;
  background-size: cover;
  background-position: center;
  flex: 0 0 auto;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.mw-admin-slide__body {
  flex: 1 1 auto;
  min-width: 0;
}

.mw-admin-slide__heading {
  font-weight: 600;
  margin: 0;
}

.mw-admin-slide__meta {
  color: var(--mc-text-muted, #6b7280);
  font-size: 0.875rem;
}

.mw-admin-slide__actions {
  display: flex;
  gap: 0.5rem;
  flex: 0 0 auto;
}

.mw-admin-slide--disabled {
  opacity: 0.55;
}

/* Widget list table. */
.mw-widget-list {
  max-width: 1100px;
}

.mw-widget-list__toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1rem;
}

.mw-zone-move {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
}

.mw-zone-move select {
  max-width: 170px;
}

.mw-widget-list__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.mw-widget-table th {
  white-space: nowrap;
}

.mw-widget-table td {
  vertical-align: middle;
}

.mw-widget-name {
  font-weight: 600;
}

.mw-widget-zone-tag {
  display: inline-block;
  padding: 0.15rem 0.55rem;
  border-radius: var(--mc-radius-pill, 9999px);
  background: var(--mc-surface-alt, #f1f5f9);
  color: var(--mc-text-muted, #64748b);
  font-size: 0.8rem;
}

/* CSS-only toggle switch (renders as a link, no JS). */
.mw-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: var(--mc-text-muted, #64748b);
  font-size: 0.85rem;
}

.mw-switch:hover {
  text-decoration: none;
}

.mw-switch__track {
  position: relative;
  width: 40px;
  height: 22px;
  border-radius: 9999px;
  background: #cbd5e1;
  transition: background-color 0.15s ease;
  flex: 0 0 auto;
}

.mw-switch__thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  transition: left 0.15s ease;
}

.mw-switch--on .mw-switch__track {
  background: var(--mc-primary, #0b7f75);
}

.mw-switch--on .mw-switch__thumb {
  left: 20px;
}

.mw-switch--on {
  color: var(--mc-primary, #0b7f75);
  font-weight: 600;
}

/* ── Social-proof cluster: zone spacing + loaders ─────────────────────────── */
.mw-react-mount[data-region=modernwidgets-home-announce] {
  margin-bottom: 1rem;
}

.mw-react-mount[data-region=modernwidgets-home-belowhero] {
  margin-bottom: 1.5rem;
}

.mw-react-mount[data-region=modernwidgets-home-social] {
  margin-top: 1.5rem;
}

[data-region=modernwidgets-home-announce] .mw-zone-loading,
.mw-zone-skeleton--home_announce {
  height: 56px;
}

[data-region=modernwidgets-home-belowhero] .mw-zone-loading,
.mw-zone-skeleton--home_belowhero {
  height: 96px;
}

[data-region=modernwidgets-home-social] .mw-zone-loading,
.mw-zone-skeleton--home_social {
  height: 340px;
}

/* ── Trust badges strip ───────────────────────────────────────────────────── */
.mw-trust {
  width: 100%;
  background: var(--mc-trust-bg, transparent);
}

/* Constrain + centre the trust badge content, mirroring .mc-catalog-container,
   so the band can stay full-width while its content aligns with the catalog. */
.mw-trust__container {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 0 1.25rem;
}

.mw-trust__title {
  margin: 0 0 0.75rem;
  font-size: var(--mc-trust-title-font-size, var(--mc-fs-h3));
  font-weight: var(--mc-fw-heading);
  color: var(--mc-trust-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
}

.mw-trust__list {
  list-style: none;
  margin: 0;
  padding: 1rem 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2rem;
  justify-content: space-around;
  background: var(--mc-trust-card-bg, var(--mc-surface, #fff));
  border: var(--mc-trust-card-border-width, 1px) solid var(--mc-trust-card-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-trust-card-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
  box-shadow: var(--mc-shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.06));
}

.mw-trust__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 180px;
}

.mw-trust__icon {
  width: var(--mc-trust-icon-box-size, 2.6rem);
  height: var(--mc-trust-icon-box-size, 2.6rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--mc-trust-icon-bg, color-mix(in srgb, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)) 12%, transparent));
  font-size: var(--mc-trust-icon-size, 1.6rem);
  color: var(--mc-trust-icon-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  flex: 0 0 auto;
}

.mw-trust__text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.mw-trust__label {
  font-weight: 600;
  font-size: var(--mc-trust-label-font-size, 1rem);
  color: var(--mc-trust-label-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
}

.mw-trust__sublabel {
  font-size: var(--mc-trust-sublabel-font-size, 0.85rem);
  color: var(--mc-trust-sublabel-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
}

/* ── Partner logos band ───────────────────────────────────────────────────── */
.mw-partners {
  width: 100%;
  background: var(--mc-partners-bg, transparent);
  padding: var(--mc-partners-padding-top, 3rem) 1.25rem var(--mc-partners-padding-bottom, 3rem);
  /* Lets the logo gap respond to the band's own width, not the viewport, so the strip
     stays on one row inside narrow containers such as the admin gallery preview. */
  container-type: inline-size;
}

.mw-partners__heading {
  margin: 0 0 2rem;
  text-align: center;
  font-size: var(--mc-partners-heading-font-size, var(--mc-fs-h3, 1.5rem));
  font-weight: var(--mc-fw-heading, 700);
  color: var(--mc-partners-heading-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
}

.mw-partners__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* Never squeeze a logo out of its aspect ratio — wrap the row instead. */
  flex: 0 0 auto;
}

.mw-partners__img {
  display: block;
  height: var(--mc-partners-logo-height, 48px);
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

/* Optional greyscale treatment; colour returns on hover/focus. */
.mw-partners--greyscale .mw-partners__img {
  filter: grayscale(1);
  opacity: 0.7;
  transition: filter var(--mc-transition-fast, 0.15s ease), opacity var(--mc-transition-fast, 0.15s ease);
}

.mw-partners--greyscale .mw-partners__item:hover .mw-partners__img,
.mw-partners--greyscale .mw-partners__item:focus-visible .mw-partners__img {
  filter: grayscale(0);
  opacity: 1;
}

/* Grid: a static centred row that wraps only when logos genuinely run out of room. */
.mw-partners__grid {
  width: min(100%, 1280px);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  /* The configured gap is the ceiling; narrow bands tighten it before logos wrap. */
  gap: min(var(--mc-partners-gap, 3rem), 4cqi);
}

/* Carousel: a scroll-snap track sized by --mw-cols, mirroring the category carousel. */
.mw-partners--carousel .mw-partners__head {
  width: min(100%, 1280px);
  margin: 0 auto 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
}

.mw-partners--carousel .mw-partners__heading {
  margin: 0;
  text-align: left;
}

.mw-partners__nav {
  display: flex;
  gap: 0.5rem;
  flex: 0 0 auto;
}

.mw-partners__arrow,
.mw-partners__arrow.mc-button {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: 50%;
  background: var(--mc-surface, #fff);
  color: var(--mc-text, #111827);
  cursor: pointer;
  transition: background-color var(--mc-transition-fast, 0.15s ease), transform var(--mc-transition-fast, 0.15s ease);
}

.mw-partners__arrow:hover,
.mw-partners__arrow.mc-button:hover {
  background: var(--mc-surface-alt, #f1f5f9);
  transform: scale(1.06);
}

.mw-partners__track {
  width: min(100%, 1280px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: var(--mc-partners-gap, 3rem);
  overflow-x: auto;
  /* Scroll horizontally only — never expose a vertical scrollbar on the sides. */
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  /* Hide the scrollbar; scrolling stays available via the arrows / swipe. */
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.mw-partners__track::-webkit-scrollbar {
  display: none;
}

.mw-partners__track > .mw-partners__item {
  /* Fixed width so the track shows exactly --mw-cols logos per view; the rest scroll. */
  flex: 0 0 calc((100% - (var(--mw-cols, 5) - 1) * var(--mc-partners-gap, 3rem)) / var(--mw-cols, 5));
  scroll-snap-align: start;
}

/* Marquee: the track is rendered twice, so translating it -50% loops seamlessly. */
.mw-partners__marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.mw-partners__marquee-track {
  display: flex;
  align-items: center;
  gap: var(--mc-partners-gap, 3rem);
  width: max-content;
  /* Keeps the gap rhythm intact across the loop seam. */
  padding-right: var(--mc-partners-gap, 3rem);
  animation: mw-partners-scroll var(--mc-partners-speed, 30s) linear infinite;
}

.mw-partners__marquee--pausable:hover .mw-partners__marquee-track,
.mw-partners__marquee--pausable:focus-within .mw-partners__marquee-track {
  animation-play-state: paused;
}

@keyframes mw-partners-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  /* Degrade the marquee to the same static centred row as the grid variant. */
  .mw-partners__marquee-track {
    animation: none;
    transform: none;
    width: 100%;
    padding-right: 0;
    flex-wrap: wrap;
    justify-content: center;
  }
  .mw-partners__marquee-track .mw-partners__item[aria-hidden=true] {
    display: none;
  }
}
/* ── Countdown bar ────────────────────────────────────────────────────────── */
.mw-countdown {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  padding: 0.75rem 1.25rem;
  background: var(--mc-countdown-bg, var(--mc-primary, #0b7f75));
  color: var(--mc-countdown-text, #fff);
  text-align: center;
}

.mw-countdown--expired {
  background: var(--mc-countdown-expired-bg, var(--mc-surface-alt, #f1f5f9));
  color: var(--mc-countdown-expired-text, var(--mc-text-muted, #6b7280));
}

.mw-countdown__heading {
  color: var(--mc-countdown-heading-color, currentColor);
  font-weight: 700;
  font-size: var(--mc-countdown-heading-font-size, 1.05rem);
}

.mw-countdown__timer {
  display: inline-flex;
  gap: 0.75rem;
}

.mw-countdown__unit {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  min-width: 48px;
  padding: 0.25rem 0.5rem;
  background: var(--mc-countdown-unit-bg, rgba(255, 255, 255, 0.15));
  border-radius: var(--mc-widget-radius, var(--mc-radius-sm, 4px));
}

.mw-countdown__num {
  color: var(--mc-countdown-number-color, currentColor);
  font-size: var(--mc-countdown-number-font-size, 1.35rem);
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.mw-countdown__label {
  color: var(--mc-countdown-label-color, currentColor);
  font-size: var(--mc-countdown-label-font-size, 0.65rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.85;
}

.mw-countdown__cta,
.mw-countdown__cta.mc-button {
  --mc-button-bg: var(--mc-countdown-button-bg, #fff);
  --mc-button-border: var(--mc-countdown-button-bg, #fff);
  --mc-button-color: var(--mc-countdown-button-text, var(--mc-primary, #0b7f75));
  --mc-button-hover-bg: var(--mc-countdown-button-bg, #fff);
  --mc-button-hover-border: var(--mc-countdown-button-bg, #fff);
  --mc-button-hover-color: var(--mc-countdown-button-text, var(--mc-primary-hover, #0f766e));
  --mc-button-active-bg: var(--mc-countdown-button-bg, #fff);
  --mc-button-active-border: var(--mc-countdown-button-bg, #fff);
  --mc-button-active-color: var(--mc-countdown-button-text, var(--mc-primary-hover, #0f766e));
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1.1rem;
  border-radius: var(--mc-widget-radius, var(--mc-radius-pill, 9999px));
  background: var(--mc-countdown-button-bg, #fff);
  color: var(--mc-countdown-button-text, var(--mc-primary, #0b7f75));
  font-weight: 700;
  text-decoration: none;
}

.mw-countdown__cta:hover,
.mw-countdown__cta.mc-button:hover {
  color: var(--mc-countdown-button-text, var(--mc-primary-hover, #0f766e));
  text-decoration: none;
}

/* ── Testimonials grid ────────────────────────────────────────────────────── */
.mw-tm {
  box-sizing: border-box;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(2.5rem, 5vw, 4rem) 1.25rem;
}

.mw-tm__head {
  text-align: center;
  margin-bottom: 1.5rem;
}

.mw-tm__title {
  margin: 0;
  font-size: var(--mc-fs-h2);
  font-weight: var(--mc-fw-heading);
  color: var(--mc-text, #111827);
}

.mw-tm__subtitle {
  margin: 0.35rem 0 0;
  color: var(--mc-text-muted, #6b7280);
}

.mw-tm__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.25rem;
}

.mw-tm__card {
  margin: 0;
  padding: 1.5rem;
  background: var(--mc-surface, #fff);
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: var(--mc-radius-lg, 8px);
  box-shadow: var(--mc-shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.06));
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.mw-tm__stars {
  color: var(--mc-warning, #d97706);
  font-size: var(--mc-fs-sm);
  letter-spacing: 0.1em;
}

.mw-tm__quote {
  margin: 0;
  color: var(--mc-text, #111827);
  line-height: 1.55;
  font-size: 1rem;
}

.mw-tm__author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: auto;
}

.mw-tm__avatar {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #fff;
  background: var(--mc-primary, #0b7f75);
}

.mw-tm__meta {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.mw-tm__name {
  font-weight: 600;
  color: var(--mc-text, #111827);
}

.mw-tm__role {
  font-size: 0.85rem;
  color: var(--mc-text-muted, #6b7280);
}

/* ── Discovery / capture: zone spacing + loaders ──────────────────────────── */
.mw-react-mount[data-region=modernwidgets-home-footer] {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

[data-region=modernwidgets-home-footer] .mw-zone-loading,
.mw-zone-skeleton--home_footer {
  height: 200px;
}

/* ── Category tiles ───────────────────────────────────────────────────────── */
.mw-cats {
  width: 100%;
  max-width: 972px;
  margin: 1.5rem auto 0;
  background: var(--mc-cats-section-bg, transparent);
}

.mw-cats__head {
  text-align: center;
  margin-bottom: 38px;
}

.mw-cats__title {
  margin: 0 0 0.5rem;
  font-size: var(--mc-fs-h2);
  line-height: var(--mc-lh-heading);
  font-weight: var(--mc-fw-heading);
  letter-spacing: 0;
  color: var(--mc-cats-title-color, var(--mc-text, #111827));
}

.mw-cats__subtitle {
  margin: 0;
  font-size: var(--mc-fs-sm);
  line-height: 1.4;
  font-weight: var(--mc-fw-semibold);
  text-align: center;
  color: var(--mc-cats-subtitle-color, var(--mc-text-muted, #6b7280));
}

.mw-cats__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
}

.mw-cats__tile {
  /* Fixed width per column so a partial last row stays the same size and centres
     (justify-content) instead of stretching to fill. A full row fills exactly. */
  flex: 0 0 calc((100% - (var(--mw-cols, 4) - 1) * 18px) / var(--mw-cols, 4));
  max-width: calc((100% - (var(--mw-cols, 4) - 1) * 18px) / var(--mw-cols, 4));
  min-height: 143px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  padding: 19px 18px;
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: var(--mc-cats-card-radius, var(--mc-radius, 6px));
  background: var(--mc-cats-card-bg, var(--mc-surface, #fff));
  color: var(--mc-cats-card-text, inherit);
  text-decoration: none;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.mw-cats__tile:hover {
  transform: translateY(-4px);
  border-color: var(--mc-primary-border, #99f6e4);
  box-shadow: var(--mc-shadow-md, 0 8px 20px rgba(15, 23, 42, 0.1));
  text-decoration: none;
  color: inherit;
}

.mw-cats__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--mc-cats-icon-bg, var(--mc-primary-light, #f0fdfa));
  color: var(--mc-cats-icon-color, var(--mc-primary, #0b7f75));
  font-size: var(--mc-cats-icon-size, 26px);
  line-height: 1;
  margin-bottom: 14px;
}

.mw-cats__name {
  margin: 0 0 4px;
  font-size: var(--mc-fs-body);
  line-height: 1.2;
  font-weight: var(--mc-fw-heading);
  letter-spacing: 0;
  color: var(--mc-cats-card-text, var(--mc-text, #111827));
}

.mw-cats__count {
  margin: 0;
  font-size: var(--mc-fs-xs);
  line-height: 1.1;
  font-weight: var(--mc-fw-semibold);
  color: var(--mc-cats-count-color, var(--mc-text-muted, #6b7280));
}

@media (max-width: 991.98px) {
  .mw-cats {
    max-width: 720px;
  }
  .mw-cats__tile {
    flex-basis: calc((100% - 18px) / 2);
    max-width: calc((100% - 18px) / 2);
  }
}
@media (max-width: 575.98px) {
  .mw-cats__tile {
    flex-basis: 100%;
    max-width: 100%;
    min-height: 132px;
  }
}
/* ── Category tiles: style variants (admin "Style" setting) ───────────────────
   The base .mw-cats* rules above ARE the implicit "minimal" style. The minimal
   modifier only neutralises the shared structural hooks used by other styles so
   it lays out exactly as before. */
.mw-cats--minimal .mw-cats__body {
  /* The name/count wrapper is layout-transparent in minimal, so icon/name/count
     remain direct flex children of the tile (column stack) as before. */
  display: contents;
}

.mw-cats--minimal .mw-cats__count-icon {
  display: none;
}

/* Colourful: pastel tile background + accent-coloured icon/name, icon in a white
   circle to the LEFT of a name/count body. Fixed 3-up grid (3 → 2 → 1). */
.mw-cats--colourful .mw-cats__tile {
  flex-basis: calc((100% - 36px) / 3);
  max-width: calc((100% - 36px) / 3);
  flex-direction: row;
  /* Reset the minimal column layout's vertical centring: as a row it would otherwise
     centre the icon+text group horizontally, indenting the icon on short names. */
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  min-height: 96px;
  background: var(--mc-cats-card-bg, var(--mw-cat-bg, var(--mc-surface-alt, #f5f7fa)));
  border-color: transparent;
  border-radius: var(--mc-cats-card-radius, var(--mc-radius-lg, 8px));
}

.mw-cats--colourful .mw-cats__tile:hover {
  border-color: transparent;
  box-shadow: var(--mc-shadow-md, 0 8px 20px rgba(15, 23, 42, 0.1));
}

.mw-cats--colourful .mw-cats__icon {
  flex: 0 0 auto;
  margin-bottom: 0;
  background: var(--mc-cats-icon-bg, var(--mc-surface, #fff));
  color: var(--mc-cats-icon-color, var(--mw-cat-accent, var(--mc-primary, #0b7f75)));
  box-shadow: var(--mc-shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.06));
}

.mw-cats--colourful .mw-cats__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.mw-cats--colourful .mw-cats__name {
  margin-bottom: 6px;
  color: var(--mc-cats-card-text, var(--mw-cat-accent, var(--mc-text, #111827)));
}

.mw-cats--colourful .mw-cats__count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--mc-cats-count-color, var(--mw-cat-accent, var(--mc-text-muted, #6b7280)));
  opacity: 0.85;
}

.mw-cats--colourful .mw-cats__count-icon {
  font-size: 12px;
  line-height: 1;
}

@media (max-width: 991.98px) {
  .mw-cats--colourful .mw-cats__tile {
    flex-basis: calc((100% - 18px) / 2);
    max-width: calc((100% - 18px) / 2);
  }
}
@media (max-width: 575.98px) {
  .mw-cats--colourful .mw-cats__tile {
    flex-basis: 100%;
    max-width: 100%;
  }
}
/* Carousel: pastel cards (same look as colourful) laid out in a horizontally scrolling track.
   The admin's "Categories visible per view" feeds --mw-cols, which divides the visible track
   width into that many fixed-width cards; prev/next arrows scroll by ~one page. */
.mw-cats--carousel {
  max-width: 1280px;
  padding: 32px clamp(16px, 4vw, 40px);
  border-radius: var(--mc-radius-lg, 8px);
}

.mw-cats--carousel .mw-cats__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  text-align: left;
  margin-bottom: 24px;
}

.mw-cats--carousel .mw-cats__heading {
  min-width: 0;
}

.mw-cats--carousel .mw-cats__subtitle {
  text-align: left;
}

.mw-cats--carousel .mw-cats__nav {
  display: flex;
  gap: 0.5rem;
  flex: 0 0 auto;
}

.mw-cats--carousel .mw-cats__arrow,
.mw-cats--carousel .mw-cats__arrow.mc-button {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: 50%;
  background: var(--mc-surface, #fff);
  color: var(--mc-text, #111827);
  cursor: pointer;
  transition: background-color var(--mc-transition-fast, 0.15s ease), transform var(--mc-transition-fast, 0.15s ease);
}

.mw-cats--carousel .mw-cats__arrow:hover,
.mw-cats--carousel .mw-cats__arrow.mc-button:hover {
  background: var(--mc-surface-alt, #f1f5f9);
  transform: scale(1.06);
}

.mw-cats--carousel .mw-cats__track {
  display: flex;
  align-items: stretch;
  gap: 18px;
  overflow-x: auto;
  /* Scroll horizontally only — never expose a vertical scrollbar on the sides. */
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  padding: 4px 0;
  /* Hide the scrollbar; scrolling stays available via the arrows / swipe. */
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.mw-cats--carousel .mw-cats__track::-webkit-scrollbar {
  display: none;
}

.mw-cats--carousel .mw-cats__tile {
  /* Fixed width so the track shows exactly --mw-cols cards per view; the rest scroll. */
  flex: 0 0 calc((100% - (var(--mw-cols, 4) - 1) * 18px) / var(--mw-cols, 4));
  scroll-snap-align: start;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  min-height: 96px;
  background: var(--mc-cats-card-bg, var(--mw-cat-bg, var(--mc-surface-alt, #f5f7fa)));
  border-color: transparent;
  border-radius: var(--mc-cats-card-radius, var(--mc-radius-lg, 8px));
}

.mw-cats--carousel .mw-cats__tile:hover {
  border-color: transparent;
  box-shadow: var(--mc-shadow-md, 0 8px 20px rgba(15, 23, 42, 0.1));
}

.mw-cats--carousel .mw-cats__icon {
  flex: 0 0 auto;
  margin-bottom: 0;
  background: var(--mc-cats-icon-bg, var(--mc-surface, #fff));
  color: var(--mc-cats-icon-color, var(--mw-cat-accent, var(--mc-primary, #0b7f75)));
  box-shadow: var(--mc-shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.06));
}

.mw-cats--carousel .mw-cats__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.mw-cats--carousel .mw-cats__name {
  margin-bottom: 6px;
  color: var(--mc-cats-card-text, var(--mw-cat-accent, var(--mc-text, #111827)));
}

.mw-cats--carousel .mw-cats__count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--mc-cats-count-color, var(--mw-cat-accent, var(--mc-text-muted, #6b7280)));
  opacity: 0.85;
}

.mw-cats--carousel .mw-cats__count-icon {
  font-size: 12px;
  line-height: 1;
}

@media (max-width: 991.98px) {
  /* Show ~2 cards with a peek of the next, regardless of the admin's per-view count. */
  .mw-cats--carousel .mw-cats__tile {
    flex-basis: calc((100% - 18px) / 2.2);
  }
}
@media (max-width: 575.98px) {
  /* Show one card with a peek of the next. */
  .mw-cats--carousel .mw-cats__tile {
    flex-basis: 82%;
  }
}
/* ── Instructor spotlight ─────────────────────────────────────────────────── */
.mw-inst {
  box-sizing: border-box;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(2.5rem, 5vw, 4rem) 1.25rem;
}

.mw-inst__head {
  text-align: center;
  margin-bottom: 1.5rem;
}

.mw-inst__title {
  margin: 0;
  font-size: var(--mc-fs-h2);
  font-weight: var(--mc-fw-heading);
  color: var(--mc-text, #111827);
}

.mw-inst__subtitle {
  margin: 0.35rem 0 0;
  color: var(--mc-text-muted, #6b7280);
}

.mw-inst__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
}

.mw-inst__card {
  margin: 0;
  padding: 1.5rem;
  text-align: center;
  background: var(--mc-surface, #fff);
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: var(--mc-radius-lg, 8px);
  box-shadow: var(--mc-shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.06));
}

.mw-inst__avatar {
  width: 84px;
  height: 84px;
  margin: 0 auto 0.9rem;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  background: var(--mc-primary, #0b7f75);
}

.mw-inst__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mw-inst__meta {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.mw-inst__name {
  font-weight: 700;
  color: var(--mc-text, #111827);
}

.mw-inst__role {
  font-size: 0.9rem;
  color: var(--mc-primary, #0b7f75);
  font-weight: 600;
}

.mw-inst__bio {
  margin: 0.5rem 0 0;
  font-size: 0.9rem;
  color: var(--mc-text-muted, #6b7280);
  line-height: 1.5;
}

/* ── Newsletter / lead capture ────────────────────────────────────────────── */
.mw-news {
  width: 100%;
  border-radius: var(--mc-radius-lg, 8px);
  background: var(--mc-primary, #0b7f75);
  color: var(--mc-text-inverse, #fff);
  padding: clamp(1.5rem, 4vw, 2.75rem);
}

.mw-news__inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

.mw-news__heading {
  margin: 0 0 0.5rem;
  font-size: var(--mc-fs-h2);
  font-weight: var(--mc-fw-display);
  color: var(--mc-text-inverse, #fff);
}

.mw-news__desc {
  margin: 0 0 1.25rem;
  color: rgba(255, 255, 255, 0.82);
}

.mw-news__form {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}

.mw-news__captcha {
  display: flex;
  flex: 1 0 100%;
  justify-content: center;
  min-height: 78px;
}

.mw-news__input {
  flex: 1 1 260px;
  min-width: 0;
  padding: 0.7rem 1rem;
  border-radius: var(--mc-radius-pill, 9999px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.1);
  color: var(--mc-text-inverse, #fff);
  font-size: var(--mc-fs-body);
}

.mw-news__input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

.mw-news__input:focus {
  outline: none;
  border-color: var(--mc-text-inverse, #fff);
  background: rgba(255, 255, 255, 0.16);
}

.mw-news__btn {
  flex: 0 0 auto;
  padding: 0.7rem 1.6rem;
  border: none;
  border-radius: var(--mc-radius-pill, 9999px);
  background: var(--mc-text-inverse, #fff);
  color: var(--mc-primary, #0b7f75);
  font-weight: var(--mc-fw-heading);
  cursor: pointer;
  transition: background-color var(--mc-transition-fast, 0.15s ease);
}

.mw-news__btn:hover {
  background: var(--mc-surface-alt, #f8fafc);
}

.mw-news__btn:disabled {
  opacity: 0.7;
  cursor: default;
}

.mw-news__success {
  margin: 0;
  font-weight: var(--mc-fw-semibold);
  color: var(--mc-text-inverse, #fff);
}

.mw-news__error {
  margin: 0.75rem 0 0;
  color: var(--mc-danger-border, #fecaca);
  font-size: var(--mc-fs-sm);
}

.mc-recaptcha-error {
  color: var(--mc-danger, #b91c1c);
  font-size: var(--mc-fs-sm);
  margin: 0.4rem 0 0;
}

/* ------------------------------------------------------------------ *
 * Storefront in-page editor (Customize drawer + edit-mode chrome).
 * Self-contained so the public landing page needs no other stylesheet.
 * ------------------------------------------------------------------ */
.mc-sf-toolbar-host {
  margin: 0 auto;
  max-width: 1180px;
  padding: 0 1rem;
}

.mc-sf-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  /* Left-aligned so it never collides with Moodle's right-edge block drawer toggle in edit mode. */
  justify-content: flex-start;
  margin: 0.5rem 0 1rem;
  position: relative;
  z-index: 2;
}

.mc-sf-customize,
.mc-sf-customize.mc-button {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.9rem;
  border: 1px solid var(--mc-primary, #1d4ed8);
  border-radius: 8px;
  background: var(--mc-primary, #1d4ed8);
  color: #fff;
  font-weight: 600;
  font-size: 0.875rem;
  cursor: pointer;
}

.mc-sf-customize:hover,
.mc-sf-customize.mc-button:hover {
  filter: brightness(1.05);
}

/* Edit-mode outline + per-widget controls (only rendered while editing). */
.mc-sf-editing .mc-sf-widget {
  position: relative;
  outline: 1px dashed rgba(29, 78, 216, 0.35);
  outline-offset: 4px;
  border-radius: 6px;
  min-height: 40px;
}

.mc-sf-widget {
  --mc-widget-accent-color: var(--mc-primary);
  --mc-widget-radius: var(--mc-radius);
}

.mc-sf-widget :where(h1, h2, h3, h4, h5, h6) {
  color: var(--mc-widget-heading-color);
  font-size: var(--mc-widget-heading-font-size);
}

.mc-sf-widget :where(p, li, address, small, .mc-course-card-instructor, .mc-breadcrumb-widget__subtitle) {
  color: var(--mc-widget-body-color);
  font-size: var(--mc-widget-body-font-size);
}

.mc-sf-widget :where(.mc-pw-icon, .mc-course-card-details, .mc-footer__contact-icon, .mc-breadcrumb-widget__trail a) {
  color: var(--mc-widget-accent-color);
}

.mc-sf-widget__tag {
  position: absolute;
  top: -10px;
  left: 8px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  background: #1d4ed8;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.mc-sf-widget__gear,
.mc-sf-widget__gear.mc-button {
  border: 0;
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
  border-radius: 4px;
  cursor: pointer;
  line-height: 1;
  padding: 1px 4px;
}

/* The global widgets admin page edits only the site-wide breadcrumb/footer.
   Keep their inline edit tag away from the left edge of the banner/footer preview. */
[data-region=moderncommerce-global-widgets] .mw-widget--breadcrumb .mc-sf-widget__tag,
[data-region=moderncommerce-global-widgets] .mw-widget--footer .mc-sf-widget__tag {
  left: auto;
  right: 8px;
}

.mc-sf-widget--off {
  opacity: 0.5;
}

.mc-sf-zoneband {
  margin: 0.25rem 0;
  padding: 0.15rem 0.6rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
}

/* The drawer chrome (.mc-drawer, .mc-drawer--open, .mc-drawer-backdrop, .mc-drawer__*,
   body.mc-drawer-open) is provided by the Modern Commerce design system (styles/design-system.css) and
   reused here — do NOT redefine .mc-drawer locally or it loses the slide-in transform. */
.mc-sf-section__title {
  margin: 1.1rem 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}

.mc-sf-section__title:first-child {
  margin-top: 0;
}

.mc-sf-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid #eef2f7;
}

.mc-sf-row--off {
  opacity: 0.55;
}

.mc-sf-row__reorder {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
}

.mc-sf-row__reorder button,
.mc-sf-row__reorder .mc-button {
  border: 1px solid #d7dde8;
  background: #fff;
  border-radius: 5px;
  color: #64748b;
  cursor: pointer;
  line-height: 1;
  padding: 1px 5px;
}

.mc-sf-row__reorder button:disabled,
.mc-sf-row__reorder .mc-button:disabled {
  opacity: 0.4;
  cursor: default;
}

.mc-sf-row__title {
  flex: 1 1 auto;
  font-size: 0.9rem;
  font-weight: 600;
  color: #0f172a;
}

.mc-sf-row__type {
  font-size: 0.72rem;
  color: #94a3b8;
}

.mc-sf-row__btn,
.mc-sf-row__btn.mc-button {
  border: 1px solid #d7dde8;
  background: #fff;
  border-radius: 6px;
  cursor: pointer;
  padding: 0.3rem 0.45rem;
  color: #475569;
  line-height: 1;
}

.mc-sf-row__btn:hover,
.mc-sf-row__btn.mc-button:hover {
  border-color: #1d4ed8;
  color: #1d4ed8;
}

.mc-sf-row__zone {
  flex: 0 0 9rem;
}

.mc-sf-field {
  margin-bottom: 0.85rem;
}

.mc-sf-field > label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: #334155;
  margin-bottom: 0.25rem;
}

.mc-sf-field > .mc-sf-switch {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 40px;
  margin: 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #e7edf5;
  color: #334155;
  font-size: 0.86rem;
  font-weight: 800;
}

.mc-sf-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.mc-sf-switch i {
  position: relative;
  flex: 0 0 auto;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #cbd5e1;
  transition: background-color 0.16s ease;
}

.mc-sf-switch i::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffffff;
  transition: transform 0.16s ease;
}

.mc-sf-switch input:checked + i {
  background: var(--mc-primary);
}

.mc-sf-switch input:checked + i::after {
  transform: translateX(18px);
}

.mc-sf-switch input:focus-visible + i {
  outline: 3px solid rgba(21, 95, 168, 0.18);
  outline-offset: 2px;
}

.mc-sf-field input[type=text],
.mc-sf-field input[type=number],
.mc-sf-field input[type=url],
.mc-sf-field textarea,
.mc-sf-field select {
  width: 100%;
  padding: 0.45rem 0.55rem;
  border: 1px solid #d7dde8;
  border-radius: 7px;
  font-size: 0.875rem;
}

.mc-sf-field textarea {
  min-height: 4.5rem;
  resize: vertical;
}

.mc-sf-stylegrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.mc-sf-stylegrid .mc-sf-field {
  margin-bottom: 0;
}

.mc-sf-breadcrumb-editor,
.mc-sf-videohero-editor,
.mc-sf-generic-editor {
  display: grid;
  gap: 1rem;
}

.mc-sf-bc-card {
  display: grid;
  gap: 0.85rem;
  padding-top: 1rem;
  border-top: 1px solid #e7edf5;
}

.mc-sf-bc-card__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.mc-sf-bc-card__head span,
.mc-sf-bc-field > span {
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.mc-sf-bc-card__head strong {
  color: #0f172a;
  font-size: 0.9rem;
  font-weight: 800;
  text-align: right;
}

.mc-sf-bc-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.mc-sf-bc-picker button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 42px;
  border: 1px solid #dbe5f0;
  border-radius: 8px;
  padding: 0.58rem 0.65rem;
  background: #f8fafc;
  color: #334155;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.15;
  text-align: left;
  cursor: pointer;
}

.mc-sf-bc-picker button:hover,
.mc-sf-bc-picker button:focus-visible {
  border-color: #b9d2f0;
  background: #eef6ff;
  outline: 0;
}

.mc-sf-bc-picker button.is-active {
  border-color: #1d4ed8;
  background: #e8f2ff;
  color: #1d4ed8;
}

.mc-sf-bc-picker i {
  flex: 0 0 auto;
  font-size: 1rem;
}

.mc-sf-generic-tabs {
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
}

.mc-sf-bc-controls {
  display: grid;
  gap: 0.75rem;
}

.mc-sf-bc-field {
  display: grid;
  gap: 0.45rem;
  margin: 0;
}

.mc-sf-bc-field input[type=text],
.mc-sf-bc-field input[type=number],
.mc-sf-bc-field select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d7dde8;
  border-radius: 8px;
  padding: 0.58rem 0.72rem;
  background: #f8fafc;
  color: #243247;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 700;
}

.mc-sf-bc-field input:focus,
.mc-sf-bc-field select:focus {
  border-color: #1d4ed8;
  outline: 3px solid rgba(29, 78, 216, 0.16);
}

.mc-sf-bc-range__control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 52px;
  align-items: center;
  gap: 0.75rem;
}

.mc-sf-bc-range input[type=range] {
  width: 100%;
  accent-color: #1d4ed8;
}

.mc-sf-bc-range output {
  color: #243247;
  font-size: 0.86rem;
  font-weight: 800;
  text-align: right;
}

.mc-sf-list__item {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.6rem 0.7rem;
  margin-bottom: 0.6rem;
  background: #f8fafc;
}

.mc-sf-slide-card {
  display: grid;
  gap: 0.75rem;
}

.mc-sf-slide-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.mc-sf-slide-card__head strong {
  color: #0f172a;
  font-size: 0.9rem;
  font-weight: 800;
}

.mc-sf-list__remove,
.mc-sf-list__remove.mc-button {
  border: 0;
  background: none;
  color: #dc2626;
  cursor: pointer;
  font-size: 0.78rem;
}

.mc-sf-list__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.4rem;
}

.mc-sf-list__actions .mc-sf-list__remove {
  margin-left: auto;
}

.mc-sf-list__move,
.mc-sf-list__move.mc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 1px solid #d7dde8;
  background: #fff;
  color: #475569;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.85rem;
}

.mc-sf-list__move:disabled,
.mc-sf-list__move.mc-button:disabled {
  opacity: 0.4;
  cursor: default;
}

.mc-sf-btn-primary,
.mc-sf-btn-primary.mc-button {
  border: 0;
  background: #1d4ed8;
  color: #fff;
  border-radius: 8px;
  font-weight: 600;
  padding: 0.5rem 1rem;
  cursor: pointer;
}

.mc-sf-btn-secondary,
.mc-sf-btn-secondary.mc-button {
  border: 1px solid #d7dde8;
  background: #fff;
  color: #334155;
  border-radius: 8px;
  font-weight: 600;
  padding: 0.5rem 1rem;
  cursor: pointer;
}

.mc-sf-btn-soft {
  border: 0;
  background: none;
  color: #475569;
  cursor: pointer;
  font-size: 0.8rem;
}

.mc-sf-btn-add,
.mc-sf-btn-add.mc-button {
  width: 100%;
  border: 1px dashed #cbd5e1;
  background: #fff;
  color: #1d4ed8;
  border-radius: 8px;
  font-weight: 600;
  padding: 0.55rem;
  cursor: pointer;
  margin-top: 0.35rem;
}

.mc-sf-error {
  margin: 0.5rem 0;
  padding: 0.5rem 0.75rem;
  border-radius: 7px;
  background: #fef2f2;
  color: #b91c1c;
  font-size: 0.85rem;
}

.mc-sf-img-preview {
  display: block;
  width: 100%;
  max-height: 140px;
  object-fit: cover;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  margin-bottom: 0.4rem;
}

.mc-sf-img-hint {
  color: #64748b;
  font-size: 0.8rem;
  margin-left: 0.4rem;
}

/* Colour picker field: native swatch + hex text input. */
.mc-sf-color {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
}

.mc-sf-color__swatch {
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.4rem;
  padding: 2px;
  border: 1px solid #d7dde8;
  border-radius: 7px;
  background: #fff;
  cursor: pointer;
}

.mc-sf-color__text {
  flex: 1 1 auto;
  min-width: 0;
}

/* Searchable Bootstrap-icon picker (info-card boxes). */
.mc-sf-iconpick {
  position: relative;
}

.mc-sf-iconpick__control {
  display: flex;
  align-items: stretch;
}

.mc-sf-iconpick__preview {
  flex: 0 0 2.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d7dde8;
  border-right: 0;
  border-radius: 7px 0 0 7px;
  background: #fff;
  color: #334155;
  font-size: 1.05rem;
}

.mc-sf-iconpick__input {
  flex: 1 1 auto;
  min-width: 0;
  border: 1px solid #d7dde8;
  border-radius: 0 7px 7px 0;
  padding: 0.45rem 0.55rem;
  font-size: 0.875rem;
}

.mc-sf-iconpick__menu {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 1060;
  margin-top: 2px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.15);
  max-height: 18rem;
  overflow-y: auto;
  padding: 0.25rem;
}

.mc-sf-iconpick__empty {
  padding: 0.5rem 0.75rem;
  color: #94a3b8;
  font-size: 0.85rem;
}

.mc-sf-iconpick__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  border: 0;
  background: none;
  padding: 0.4rem 0.55rem;
  border-radius: 6px;
  cursor: pointer;
  text-align: left;
  font-size: 0.85rem;
  color: #334155;
}

.mc-sf-iconpick__item:hover {
  background: #f1f5f9;
}

.mc-sf-iconpick__item > i {
  width: 1.5rem;
  text-align: center;
  font-size: 1.05rem;
  color: #1d4ed8;
}

.mc-sf-iconpick__name {
  flex: 1 1 auto;
}

.mc-sf-iconpick__item code {
  color: #94a3b8;
  font-size: 0.72rem;
}

/* ------------------------------------------------------------------ *
 * Video hero widget (ported from block_startuhero, scoped mc-vh).
 * ------------------------------------------------------------------ */
.mc-vh {
  --mc-vh-bg: var(--mc-primary, #0b7f75);
  --mc-vh-accent: var(--mc-text-inverse, #fff);
  --mc-vh-primary-button-bg: var(--mc-vh-accent);
  --mc-vh-primary-button-text: var(--mc-primary, #0b7f75);
  --mc-vh-secondary-button-bg: transparent;
  --mc-vh-secondary-button-text: var(--mc-text-inverse, #fff);
  --mc-vh-info-card-bg: var(--mc-surface, #fff);
  --mc-vh-info-icon-bg: color-mix(in srgb, var(--mc-vh-bg) 10%, transparent);
  --mc-vh-info-icon-color: var(--mc-vh-bg);
  --mc-vh-info-heading-color: var(--mc-vh-bg);
  --mc-vh-info-heading-font-size: var(--mc-fs-h3);
  --mc-vh-info-text-color: var(--mc-text-muted, #6b7280);
  --mc-vh-heading-color: var(--mc-widget-heading-color, var(--mc-text-inverse, #fff));
  --mc-vh-body-color: var(--mc-widget-body-color, var(--mc-text-inverse, #fff));
}

.mc-vh__hero {
  background-color: var(--mc-vh-bg);
  color: var(--mc-text-inverse, #fff);
  /* Extra bottom padding so the info card (pulled up -70px) clears the video,
     leaving a blue gap between the video and the card on desktop. */
  padding: 3rem 0 7rem;
}

.mc-vh__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 2.5rem;
  align-items: center;
}

.mc-vh__inner > * {
  min-width: 0;
}

.mc-vh__heading {
  color: var(--mc-vh-heading-color);
  font-size: var(--mc-widget-heading-font-size, var(--mc-fs-display));
  font-weight: var(--mc-fw-display);
  line-height: var(--mc-lh-tight);
  margin: 0 0 1.25rem;
}

.mc-vh__lead {
  color: var(--mc-vh-body-color);
  font-size: var(--mc-widget-body-font-size, var(--mc-fs-lead));
  opacity: 0.9;
  margin: 0 0 1.5rem;
}

.mc-vh__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.mc-vh__cta,
.mc-vh__cta.mc-button {
  --mc-button-bg: var(--mc-vh-primary-button-bg);
  --mc-button-border: var(--mc-vh-primary-button-bg);
  --mc-button-color: var(--mc-vh-primary-button-text);
  --mc-button-hover-bg: var(--mc-vh-primary-button-bg);
  --mc-button-hover-border: var(--mc-vh-primary-button-bg);
  --mc-button-hover-color: var(--mc-vh-primary-button-text);
  --mc-button-active-bg: var(--mc-vh-primary-button-bg);
  --mc-button-active-border: var(--mc-vh-primary-button-bg);
  --mc-button-active-color: var(--mc-vh-primary-button-text);
  display: inline-flex;
  align-items: center;
  background: var(--mc-vh-primary-button-bg);
  color: var(--mc-vh-primary-button-text);
  font-weight: var(--mc-fw-heading);
  font-size: var(--mc-fs-body);
  border-radius: var(--mc-radius, 6px);
  padding: 0.7rem 1.5rem;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.15s ease;
}

.mc-vh__cta:hover, .mc-vh__cta:focus,
.mc-vh__cta.mc-button:hover, .mc-vh__cta.mc-button:focus {
  background: var(--mc-vh-primary-button-bg);
  color: var(--mc-vh-primary-button-text);
  transform: translateY(-1px);
}

.mc-vh__cta-secondary,
.mc-vh__cta-secondary.mc-button {
  --mc-button-bg: var(--mc-vh-secondary-button-bg);
  --mc-button-border: var(--mc-vh-secondary-button-text);
  --mc-button-color: var(--mc-vh-secondary-button-text);
  --mc-button-hover-bg: var(--mc-vh-secondary-button-bg);
  --mc-button-hover-border: var(--mc-vh-secondary-button-text);
  --mc-button-hover-color: var(--mc-vh-secondary-button-text);
  --mc-button-active-bg: var(--mc-vh-secondary-button-bg);
  --mc-button-active-border: var(--mc-vh-secondary-button-text);
  --mc-button-active-color: var(--mc-vh-secondary-button-text);
  display: inline-flex;
  align-items: center;
  background: var(--mc-vh-secondary-button-bg);
  border: 1px solid var(--mc-vh-secondary-button-text);
  color: var(--mc-vh-secondary-button-text);
  font-weight: var(--mc-fw-heading);
  font-size: var(--mc-fs-body);
  border-radius: var(--mc-radius, 6px);
  padding: 0.7rem 1.5rem;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.mc-vh__cta-secondary:hover, .mc-vh__cta-secondary:focus,
.mc-vh__cta-secondary.mc-button:hover, .mc-vh__cta-secondary.mc-button:focus {
  background: var(--mc-vh-secondary-button-bg);
  border-color: var(--mc-vh-secondary-button-text);
  color: var(--mc-vh-secondary-button-text);
}

.mc-vh__videobox {
  position: relative;
  aspect-ratio: 16/9;
  min-height: 240px;
  border-radius: 1rem;
  overflow: hidden;
  background-color: var(--mc-vh-video-bg, var(--mc-surface-inverse, #111827));
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.3);
}

.mc-vh__videobox--playable {
  cursor: pointer;
}

.mc-vh__embedframe, .mc-vh__filevideo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  z-index: 3;
  background: #000;
  object-fit: cover;
}

.mc-vh__playwrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.mc-vh__playbtn,
.mc-vh__playbtn.mc-button {
  width: 80px;
  height: 80px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: var(--mc-primary, #0b7f75);
  font-size: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.mc-vh__playbtn:hover, .mc-vh__playbtn:focus,
.mc-vh__playbtn.mc-button:hover, .mc-vh__playbtn.mc-button:focus {
  transform: scale(1.05);
  background: var(--mc-primary, #0b7f75);
  color: var(--mc-text-inverse, #fff);
}

.mc-vh__playicon {
  margin-left: 0.15em;
}

.mc-vh__videocaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.4) 60%, transparent);
}

.mc-vh__capicon {
  font-size: 1.25rem;
}

.mc-vh__videotitle {
  font-weight: 500;
  font-size: 0.95rem;
}

.mc-vh__accent {
  color: var(--mc-vh-accent);
}

.mc-vh__infowrap {
  max-width: 1280px;
  margin: -70px auto 0;
  padding: 0 1rem;
  position: relative;
  z-index: 10;
}

.mc-vh__infocard {
  background: var(--mc-vh-info-card-bg);
  color: var(--mc-text, #111827);
  border-radius: var(--mc-radius-lg, 8px);
  box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.08);
  padding: 1.5rem 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
}

.mc-vh__infocol {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  flex: 1 1 200px;
}

.mc-vh__infocol:not(:last-child) {
  border-right: 1px solid rgba(0, 0, 0, 0.08);
  padding-right: 1.5rem;
}

/* Quote hidden: the info boxes split the card into equal Bootstrap-style columns
   (2 => 6+6, 3 => 4+4+4, 4 => 3+3+3+3), allowing for the 1.5rem flex gap. */
.mc-vh__infocard--cols-2 > .mc-vh__infocol {
  flex: 0 0 calc((100% - 1.5rem) / 2);
  max-width: calc((100% - 1.5rem) / 2);
}

.mc-vh__infocard--cols-3 > .mc-vh__infocol {
  flex: 0 0 calc((100% - 3rem) / 3);
  max-width: calc((100% - 3rem) / 3);
}

.mc-vh__infocard--cols-4 > .mc-vh__infocol {
  flex: 0 0 calc((100% - 4.5rem) / 4);
  max-width: calc((100% - 4.5rem) / 4);
}

.mc-vh__infoicon {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: var(--mc-vh-info-icon-bg);
  color: var(--mc-vh-info-icon-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}

.mc-vh__infotitle {
  color: var(--mc-vh-info-heading-color);
  font-weight: var(--mc-fw-heading);
  font-size: var(--mc-vh-info-heading-font-size);
  margin: 0 0 0.15rem;
}

.mc-vh__infotext {
  color: var(--mc-vh-info-text-color);
  font-size: var(--mc-fs-sm);
  margin: 0;
}

.mc-vh__quote {
  flex: 1 1 200px;
  border-left: 1px solid var(--mc-border, #e5e7eb);
  padding-left: 1rem;
}

.mc-vh__quotetext {
  font-style: italic;
  color: var(--mc-text-muted, #6b7280);
  font-size: var(--mc-fs-sm);
  margin: 0 0 0.5rem;
}

.mc-vh__quoteicon {
  font-size: 1.1rem;
  margin-right: 0.25rem;
}

.mc-vh__quoteauthor {
  color: var(--mc-vh-info-heading-color);
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
  margin: 0;
}

@media (max-width: 991.98px) {
  .mc-vh__hero {
    padding-bottom: 3rem;
  }
  .mc-vh__inner {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .mc-vh__copy,
  .mc-vh__panel,
  .mc-vh__videobox {
    max-width: 100%;
    width: 100%;
  }
  .mc-vh__infowrap {
    margin-top: 1.25rem;
  }
  .mc-vh__infocol:not(:last-child) {
    border-right: 0;
    padding-right: 0;
  }
  .mc-vh__infocard--cols-2 > .mc-vh__infocol,
  .mc-vh__infocard--cols-3 > .mc-vh__infocol,
  .mc-vh__infocard--cols-4 > .mc-vh__infocol {
    flex: 1 1 200px;
    max-width: 100%;
  }
  .mc-vh__quote {
    border-left: 0;
    padding-left: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mc-vh__cta, .mc-vh__cta-secondary, .mc-vh__playbtn {
    transition: none !important;
  }
}
/* Breathing room below the floating info card so it doesn't butt against the next section. */
.mw-widget--videohero {
  padding-bottom: 40px;
}

/* Flat widgets: square every storefront widget container (no rounded corners).
   Zeroing the large-radius token flattens all widget cards/bands that use it
   (catalog hero, course cards, trust strip, testimonials, instructors, categories,
   newsletter, featured). The catalog section declares its OWN token scope
   (.mc-catalog-section { --mc-radius-lg: 8px }) so it must be zeroed there too -
   that selector sits between .mc-sf and the catalog elements. The video hero boxes
   use hardcoded radii so are squared explicitly. Circular avatars / pill badges /
   play button keep their own radius. */
.mc-sf,
body.mc-public-catalog-page .mc-catalog-section {
  --mc-radius-lg: 0;
}

.mc-sf .mc-vh__videobox,
.mc-sf .mc-vh__infocard {
  border-radius: var(--mc-widget-radius, 0);
}

/* Public page widget sections. */
.mc-public-page--widgets .mc-sf {
  background: transparent;
}

.mc-public-page--widgets .mw-zone-render {
  margin: 0 auto 1rem;
  max-width: 1180px;
}

.mc-public-page--widgets .mw-zone-render--page_hero {
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.mc-public-page--widgets .mw-zone-render--page_main,
.mc-public-page--widgets .mw-zone-render--page_aside,
.mc-public-page--widgets .mw-zone-render--page_footer {
  padding-left: 1rem;
  padding-right: 1rem;
}

.mc-public-page--widgets .mw-widget--mediastorycarousel,
.mc-public-page--widgets .mw-widget--learningpromise,
.mc-public-page--widgets .mw-widget--belief,
.mc-public-page--widgets .mw-widget--content {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Global footer must stay full-bleed even when rendered below a public content page. */
.local-moderncommerce-storefront--global .mw-zone-render--global_bottom,
.local-moderncommerce-storefront--global .mw-widget--footer,
.local-moderncommerce-storefront--global .mc-footer {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: none;
  width: 100vw;
}

.local-moderncommerce-storefront--global .mw-zone-render--global_top,
.local-moderncommerce-storefront--global .mw-widget--breadcrumb,
.local-moderncommerce-storefront--global .mc-breadcrumb-widget {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: none;
  width: 100vw;
}

.mc-breadcrumb-widget {
  --mc-bc-bg: var(--mc-surface-alt, #f8fafc);
  --mc-bc-overlay: #0f172a;
  --mc-bc-gradient-start: var(--mc-primary, #0b7f75);
  --mc-bc-gradient-end: var(--mc-primary-active, #115e59);
  --mc-bc-text: var(--mc-text, #111827);
  --mc-bc-accent: var(--mc-primary, #0b7f75);
  background-color: var(--mc-bc-bg);
  background-position: center;
  background-size: cover;
  color: var(--mc-bc-text);
  isolation: isolate;
  min-height: 220px;
  overflow: hidden;
  position: relative;
}

.mc-breadcrumb-widget::before {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

.mc-breadcrumb-widget__inner {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 1180px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  position: relative;
  width: 100%;
  z-index: 1;
}

.mc-breadcrumb-widget--center .mc-breadcrumb-widget__inner {
  align-items: center;
  text-align: center;
}

.mc-breadcrumb-widget--left .mc-breadcrumb-widget__inner {
  align-items: flex-start;
  text-align: left;
}

.mc-breadcrumb-widget--right .mc-breadcrumb-widget__inner {
  align-items: flex-end;
  text-align: right;
}

.mc-breadcrumb-widget__trail {
  align-items: center;
  color: currentColor;
  display: inline-flex;
  flex-wrap: wrap;
  font-size: 0.9rem;
  font-weight: 700;
  gap: 0.45rem;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.mc-breadcrumb-widget__crumbwrap {
  align-items: center;
  display: inline-flex;
  gap: 0.45rem;
}

.mc-breadcrumb-widget__trail a {
  color: currentColor;
  text-decoration: none;
}

.mc-breadcrumb-widget__trail a:hover {
  color: var(--mc-bc-accent);
  text-decoration: underline;
}

.mc-breadcrumb-widget__separator {
  opacity: 0.68;
}

.mc-breadcrumb-widget__title {
  color: currentColor;
  font-size: var(--mc-fs-display);
  font-weight: var(--mc-fw-display);
  letter-spacing: 0;
  line-height: var(--mc-lh-tight);
  margin: 0;
  max-width: 820px;
}

.mc-breadcrumb-widget__subtitle {
  color: currentColor;
  font-size: var(--mc-fs-lead);
  line-height: 1.28;
  margin: 1rem 0 0;
  max-width: 780px;
  opacity: 0.92;
}

.mc-breadcrumb-widget__mark {
  display: none;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.mc-breadcrumb-widget--imagehero {
  color: #fff;
  min-height: 360px;
}

.mc-breadcrumb-widget--imagehero::before {
  background: var(--mc-bc-overlay);
  opacity: var(--mc-bc-overlay-opacity, 0.52);
}

.mc-breadcrumb-widget--imagehero .mc-breadcrumb-widget__inner {
  justify-content: center;
  min-height: 250px;
}

.mc-breadcrumb-widget--imagehero .mc-breadcrumb-widget__trail {
  color: rgba(255, 255, 255, 0.92);
  margin-bottom: 4.8rem;
}

.mc-breadcrumb-widget--imagehero .mc-breadcrumb-widget__title {
  color: #fff;
}

.mc-breadcrumb-widget--clean {
  background: radial-gradient(circle at 92% 82%, rgba(11, 127, 117, 0.14) 0 3.5rem, transparent 3.6rem), linear-gradient(102deg, #fbfdfc 0%, #f8fafb 55%, #eef6f4 100%);
  min-height: 230px;
}

.mc-breadcrumb-widget--clean .mc-breadcrumb-widget__inner {
  justify-content: center;
  min-height: 110px;
}

.mc-breadcrumb-widget--clean .mc-breadcrumb-widget__trail {
  color: var(--mc-text-muted, #6b7280);
  font-size: var(--mc-fs-xs);
  letter-spacing: 0;
  margin-bottom: 0;
  order: 3;
  text-transform: uppercase;
}

.mc-breadcrumb-widget--clean .mc-breadcrumb-widget__trail a {
  color: var(--mc-bc-accent);
}

.mc-breadcrumb-widget--clean .mc-breadcrumb-widget__title {
  color: var(--mc-text, #111827);
  font-size: var(--mc-fs-h1);
  margin-bottom: 1rem;
  order: 1;
}

.mc-breadcrumb-widget--clean .mc-breadcrumb-widget__subtitle {
  color: var(--mc-text-muted, #6b7280);
  font-size: var(--mc-fs-body);
  margin: 0 0 1rem;
  order: 2;
}

.mc-breadcrumb-widget--clean .mc-breadcrumb-widget__mark {
  display: block;
}

.mc-breadcrumb-widget--clean .mc-breadcrumb-widget__mark--one {
  background: repeating-linear-gradient(135deg, var(--mc-primary, #0b7f75) 0 0.35rem, transparent 0.35rem 0.8rem);
  height: 2.3rem;
  left: 10%;
  opacity: 0.95;
  top: 42%;
  transform: rotate(-16deg);
  width: 3rem;
}

.mc-breadcrumb-widget--clean .mc-breadcrumb-widget__mark--two {
  border: 0.38rem solid var(--mc-primary-border, #99f6e4);
  border-radius: 50%;
  bottom: -2.6rem;
  height: 7.2rem;
  right: 6%;
  width: 7.2rem;
}

.mc-breadcrumb-widget--gradient {
  color: #fff;
  min-height: 240px;
}

.mc-breadcrumb-widget--gradient::before {
  background: linear-gradient(100deg, var(--mc-bc-gradient-start), var(--mc-bc-gradient-end));
  opacity: var(--mc-bc-overlay-opacity, 0.88);
}

.mc-breadcrumb-widget--gradient .mc-breadcrumb-widget__inner {
  justify-content: center;
  min-height: 116px;
}

.mc-breadcrumb-widget--gradient .mc-breadcrumb-widget__title {
  color: var(--mc-text-inverse, #fff);
  font-size: var(--mc-fs-display);
  font-weight: var(--mc-fw-display);
}

.mc-breadcrumb-widget--gradient .mc-breadcrumb-widget__trail {
  color: rgba(255, 255, 255, 0.94);
  font-size: 0.85rem;
  margin-bottom: 0.85rem;
}

.mc-breadcrumb-widget--pastel {
  background: radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.8), transparent 18rem), linear-gradient(100deg, #e9f8ff 0%, #f8f7ff 45%, #fff1f1 100%);
  min-height: 250px;
}

.mc-breadcrumb-widget--pastel .mc-breadcrumb-widget__inner {
  justify-content: center;
  min-height: 120px;
}

.mc-breadcrumb-widget--pastel .mc-breadcrumb-widget__trail {
  color: var(--mc-text, #111827);
  font-weight: var(--mc-fw-heading);
  margin-bottom: 0.9rem;
}

.mc-breadcrumb-widget--pastel .mc-breadcrumb-widget__trail a {
  color: var(--mc-primary, #0b7f75);
}

.mc-breadcrumb-widget--pastel .mc-breadcrumb-widget__title {
  color: var(--mc-text, #111827);
  font-size: var(--mc-fs-display);
}

.mc-breadcrumb-widget--pastel .mc-breadcrumb-widget__subtitle {
  color: var(--mc-text-muted, #6b7280);
  font-size: var(--mc-fs-lead);
}

.mc-breadcrumb-widget--illustration {
  background: radial-gradient(circle at 5% 70%, rgba(11, 127, 117, 0.16) 0 2rem, transparent 2.1rem), radial-gradient(circle at 88% 36%, rgba(11, 127, 117, 0.16) 0 1.7rem, transparent 1.8rem), linear-gradient(180deg, #f7fbfa 0%, #fbfdfc 100%);
  min-height: 275px;
}

.mc-breadcrumb-widget--illustration::before {
  background: linear-gradient(24deg, transparent 0 42%, rgba(15, 23, 42, 0.08) 42.2% 42.5%, transparent 42.7%), linear-gradient(158deg, transparent 0 58%, rgba(15, 23, 42, 0.08) 58.2% 58.5%, transparent 58.7%);
  opacity: 0.7;
}

.mc-breadcrumb-widget--illustration .mc-breadcrumb-widget__inner {
  justify-content: center;
  min-height: 132px;
}

.mc-breadcrumb-widget--illustration .mc-breadcrumb-widget__title {
  color: var(--mc-text, #111827);
  font-size: var(--mc-fs-display);
}

.mc-breadcrumb-widget--illustration .mc-breadcrumb-widget__subtitle {
  color: var(--mc-text-muted, #6b7280);
  font-size: var(--mc-fs-body);
}

.mc-breadcrumb-widget--illustration .mc-breadcrumb-widget__trail {
  color: var(--mc-text-muted, #6b7280);
  font-size: var(--mc-fs-xs);
  font-weight: var(--mc-fw-semibold);
  margin-bottom: 0.8rem;
}

.mc-breadcrumb-widget--illustration .mc-breadcrumb-widget__trail a {
  color: var(--mc-primary, #0b7f75);
}

.mc-breadcrumb-widget--illustration .mc-breadcrumb-widget__mark {
  border: 2px solid rgba(15, 23, 42, 0.55);
  display: block;
  height: 1.8rem;
  opacity: 0.72;
  transform: rotate(-24deg);
  width: 1.8rem;
}

.mc-breadcrumb-widget--illustration .mc-breadcrumb-widget__mark--one {
  left: 30%;
  top: 20%;
}

.mc-breadcrumb-widget--illustration .mc-breadcrumb-widget__mark--two {
  right: 10%;
  top: 40%;
}

.mc-msc {
  background: var(--mc-surface-alt, #f8fafc);
  overflow: hidden;
}

.mc-msc__inner {
  margin: 0 auto;
  max-width: 1360px;
  padding-left: 4rem;
  padding-right: 4rem;
  position: relative;
}

.mc-msc__stage {
  align-items: stretch;
  display: grid;
  grid-template-columns: 1fr;
  margin: 0 auto;
  max-width: 1120px;
  min-height: 280px;
}

.mc-msc__stage--media-right .mc-msc__media {
  order: 2;
}

.mc-msc__stage--media-right .mc-msc__copy {
  order: 1;
}

.mc-msc__media {
  background: var(--mc-surface-alt, #f8fafc);
  min-height: 280px;
  overflow: hidden;
  position: relative;
}

.mc-msc__media img,
.mc-msc__video,
.mc-msc__iframe {
  border: 0;
  display: block;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  width: 100%;
}

.mc-msc__placeholder {
  align-items: center;
  color: var(--mc-text-muted, #6b7280);
  display: flex;
  font-size: 3rem;
  height: 100%;
  justify-content: center;
  min-height: 280px;
  width: 100%;
}

.mc-msc__play,
.mc-msc__play.mc-button {
  align-items: center;
  background: rgba(255, 255, 255, 0.12);
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 2.25rem;
  height: 4.5rem;
  justify-content: center;
  left: 50%;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 4.5rem;
}

.mc-msc__play i {
  margin-left: 0.18rem;
}

.mc-msc__copy {
  align-self: center;
  padding: 2rem 3rem 2rem 3.5rem;
}

.mc-msc__copy h2 {
  color: var(--mc-text, #111827);
  font-size: var(--mc-fs-h2);
  font-weight: var(--mc-fw-heading);
  letter-spacing: 0;
  line-height: var(--mc-lh-heading);
  margin: 0 0 1.25rem;
  max-width: 24rem;
}

.mc-msc__copy p {
  color: var(--mc-text-muted, #6b7280);
  font-size: var(--mc-fs-body);
  line-height: var(--mc-lh-body);
  margin: 0;
  max-width: 22rem;
}

.mc-msc__nav,
.mc-msc__nav.mc-button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--mc-primary, #0b7f75);
  display: inline-flex;
  font-size: 2rem;
  height: 3rem;
  justify-content: center;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3rem;
  z-index: 2;
}

.mc-msc__nav--prev {
  left: 1rem;
}

.mc-msc__nav--next {
  right: 1rem;
}

.mc-learning-promise {
  background: var(--mc-surface, #fff);
  overflow: hidden;
}

.mc-learning-promise__inner {
  max-width: 960px;
  padding-bottom: 5rem;
  padding-top: 5.4rem;
}

.mc-learning-promise__title {
  font-size: var(--mc-fs-h1);
  font-weight: var(--mc-fw-display);
  letter-spacing: 0;
  line-height: var(--mc-lh-tight);
  max-width: 900px;
}

.mc-learning-promise__body {
  font-size: var(--mc-fs-lead);
  line-height: var(--mc-lh-body);
  max-width: 780px;
}

.mc-fg {
  background: var(--mc-fg-bg, transparent);
  padding-block-start: var(--mc-fg-padding-top, 4.5rem);
  padding-block-end: var(--mc-fg-padding-bottom, 4.5rem);
}

.mc-fg__inner {
  max-width: 1320px;
}

.mc-fg__header {
  max-width: 760px;
  margin-inline: auto;
  margin-block-end: clamp(2rem, 4vw, 3rem);
  text-align: center;
}

.mc-fg__title {
  margin: 0 0 0.75rem;
  color: var(--mc-fg-title-color, var(--mc-text));
  font-size: var(--mc-fg-title-font-size, clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem));
  font-weight: 800;
  line-height: var(--mc-lh-tight, 1.2);
  text-wrap: balance;
}

.mc-fg__subtitle {
  max-width: 100%;
  margin-inline: auto;
  color: var(--mc-fg-subtitle-color, var(--mc-text-muted));
  font-size: var(--mc-fg-subtitle-font-size, 1.0625rem);
  line-height: 1.6;
  margin-block: 0;
}

.mc-fg__card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 2rem 1.5rem;
  border-radius: var(--mc-fg-card-radius, 12px);
  background: var(--mc-fg-card-bg, var(--mc-surface, #fff));
  border: var(--mc-fg-card-border-width, 1px) solid var(--mc-fg-card-border-color, var(--mc-border, #e5e7eb));
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.mc-fg__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 32px -20px rgba(15, 23, 42, 0.4);
}

.mc-fg__card--centred {
  align-items: center;
  text-align: center;
}

.mc-fg__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-block-end: 1.25rem;
}

.mc-fg__icon {
  color: var(--mc-fg-card-icon, var(--mc-primary));
  font-size: var(--mc-fg-icon-size, 40px);
  line-height: 1;
}

.mc-fg__card-title {
  margin: 0 0 0.6rem;
  color: var(--mc-fg-card-title-color, var(--mc-text));
  font-size: var(--mc-fg-card-title-font-size, 1.1875rem);
  font-weight: 700;
  line-height: 1.35;
}

.mc-fg__card-text {
  margin: 0;
  color: var(--mc-fg-card-text-color, var(--mc-text-muted));
  font-size: var(--mc-fg-card-text-font-size, 0.9375rem);
  line-height: 1.65;
}

.mc-fg__card-link {
  margin-block-start: 1rem;
  color: var(--mc-fg-card-link-color, var(--mc-primary));
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
}
.mc-fg__card-link:hover, .mc-fg__card-link:focus-visible {
  text-decoration: underline;
}

.mc-fg__card--topbar {
  padding-block-start: 2.25rem;
}

.mc-fg__topbar {
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  block-size: 4px;
  background: var(--mc-fg-card-accent, var(--mc-fg-card-icon, var(--mc-primary)));
}

.mc-fg__card--tile .mc-fg__icon-wrap {
  inline-size: calc(var(--mc-fg-icon-size, 40px) * 1.9);
  block-size: calc(var(--mc-fg-icon-size, 40px) * 1.9);
  border-radius: 50%;
  background: var(--mc-fg-icon-bg, color-mix(in srgb, var(--mc-fg-card-accent, var(--mc-fg-card-icon, var(--mc-primary))) 14%, transparent));
}

.mc-fg__card--bordered {
  border-color: var(--mc-fg-card-accent, var(--mc-fg-card-icon, var(--mc-primary)));
  border-width: 2px;
}

.mc-fg__card--plain {
  box-shadow: none;
}

.mc-sp {
  background: var(--mc-sp-bg, transparent);
  padding-block-start: var(--mc-sp-padding-top, 4.5rem);
  padding-block-end: var(--mc-sp-padding-bottom, 4.5rem);
}

.mc-sp__inner {
  max-width: 1320px;
}

.mc-sp__header {
  max-width: 760px;
  margin-inline: auto;
  margin-block-end: clamp(2rem, 4vw, 3rem);
  text-align: center;
}

.mc-sp__title {
  margin: 0 0 0.75rem;
  color: var(--mc-sp-title-color, var(--mc-text));
  font-size: var(--mc-sp-title-font-size, clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem));
  font-weight: 800;
  line-height: var(--mc-lh-tight, 1.2);
  text-wrap: balance;
}

.mc-sp__subtitle {
  max-width: 100%;
  margin-inline: auto;
  color: var(--mc-sp-subtitle-color, var(--mc-text-muted, #556070));
  font-size: var(--mc-sp-subtitle-font-size, 1.0625rem);
  line-height: 1.6;
  margin-block: 0;
  text-wrap: pretty;
}

.mc-sp__switch-wrap {
  display: flex;
  justify-content: center;
  margin-block-end: clamp(1.75rem, 3vw, 2.5rem);
}

.mc-sp__switch {
  display: inline-flex;
  gap: 0.25rem;
  padding: 0.3rem;
  border-radius: 999px;
  background: var(--mc-sp-switch-bg, var(--mc-surface-alt, #f1f5f9));
  border: 1px solid var(--mc-sp-card-border-color, var(--mc-border, #e5e7eb));
}

.mc-sp__switch-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 1.25rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--mc-sp-switch-color, #475569);
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.mc-sp__switch-btn:hover {
  color: var(--mc-sp-plan-name-color, var(--mc-text, #0f172a));
}
.mc-sp__switch-btn:focus-visible {
  outline: 2px solid var(--mc-sp-accent, var(--mc-primary));
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .mc-sp__switch-btn {
    transition: none;
  }
}
.mc-sp__switch-btn--on {
  background: var(--mc-sp-accent, var(--mc-primary));
  color: var(--mc-text-inverse, #fff);
}
.mc-sp__switch-btn--on:hover {
  color: var(--mc-text-inverse, #fff);
}

.mc-sp__savings {
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  background: var(--mc-sp-accent, var(--mc-primary));
  color: var(--mc-text-inverse, #fff);
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.mc-sp__switch-btn--on .mc-sp__savings {
  background: var(--mc-text-inverse, #fff);
  color: var(--mc-sp-accent, var(--mc-primary));
}

.mc-sp__card {
  position: relative;
  display: flex;
  flex-direction: column;
  container-type: inline-size;
  padding: 2rem 1.5rem;
  border-radius: var(--mc-sp-card-radius, 12px);
  background: var(--mc-sp-card-bg, var(--mc-surface, #fff));
  border: var(--mc-sp-card-border-width, 1px) solid var(--mc-sp-card-border-color, var(--mc-border, #e5e7eb));
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.mc-sp__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 32px -20px rgba(15, 23, 42, 0.4);
}

@media (prefers-reduced-motion: reduce) {
  .mc-sp__card {
    transition: none;
  }
  .mc-sp__card:hover {
    transform: none;
  }
}
.mc-sp__badge {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 1.5rem;
  transform: translateY(-50%);
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  background: var(--mc-sp-accent, var(--mc-primary));
  color: var(--mc-text-inverse, #fff);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.mc-sp__plan-name {
  margin: 0 0 0.75rem;
  color: var(--mc-sp-plan-name-color, var(--mc-text, #0f172a));
  font-size: var(--mc-sp-plan-name-font-size, 1.1875rem);
  font-weight: 700;
  line-height: 1.35;
}

.mc-sp__price-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem;
  margin: 0 0 0.5rem;
}

.mc-sp__price {
  color: var(--mc-sp-price-color, var(--mc-text, #0f172a));
  font-size: max(1.75rem, min(var(--mc-sp-price-font-size, 40px), 16cqi));
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
}

.mc-sp__price-was {
  color: var(--mc-sp-cycle-color, var(--mc-text-muted, #556070));
  font-size: 1rem;
  font-weight: 600;
  text-decoration: line-through;
}

.mc-sp__cycle {
  color: var(--mc-sp-cycle-color, var(--mc-text-muted, #556070));
  font-size: 0.9375rem;
  font-weight: 600;
}

.mc-sp__trial {
  margin: 0 0 0.75rem;
  color: var(--mc-sp-accent, var(--mc-primary));
  font-size: 0.875rem;
  font-weight: 600;
}

.mc-sp__description {
  margin: 0 0 1.25rem;
  color: var(--mc-sp-text-color, var(--mc-text-muted, #556070));
  font-size: var(--mc-sp-text-font-size, 0.9375rem);
  line-height: 1.65;
  text-wrap: pretty;
}

.mc-sp__features {
  flex: 1 1 auto;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}

.mc-sp__feature {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin-block-end: 0.6rem;
  color: var(--mc-sp-feature-color, var(--mc-text, #0f172a));
  font-size: 0.9375rem;
  line-height: 1.5;
}

.mc-sp__feature-icon {
  flex: 0 0 auto;
  margin-block-start: 0.15rem;
  color: var(--mc-sp-feature-icon-color, var(--mc-sp-accent, var(--mc-primary)));
  font-size: 1rem;
  line-height: 1;
}

.mc-sp__cta {
  --mc-button-bg: var(--mc-sp-button-bg, var(--mc-primary));
  --mc-button-border: var(--mc-sp-button-bg, var(--mc-primary));
  --mc-button-color: var(--mc-sp-button-color, var(--mc-text-inverse, #fff));
  display: block;
  margin-block-start: auto;
  padding: 0.75rem 1.25rem;
  border-radius: var(--mc-sp-button-radius, 8px);
  background: var(--mc-sp-button-bg, var(--mc-primary));
  border: 0;
  color: var(--mc-sp-button-color, var(--mc-text-inverse, #fff));
  font-size: 0.9375rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
}
.mc-sp__cta:hover, .mc-sp__cta:focus-visible {
  filter: brightness(0.94);
  background: var(--mc-sp-button-bg, var(--mc-primary));
  color: var(--mc-sp-button-color, var(--mc-text-inverse, #fff));
  text-decoration: none;
}

.mc-sp--elevated .mc-sp__card {
  box-shadow: 0 12px 28px -22px rgba(15, 23, 42, 0.45);
}

.mc-sp--elevated .mc-sp__card--featured {
  border-color: var(--mc-sp-accent, var(--mc-primary));
  box-shadow: 0 22px 42px -24px rgba(15, 23, 42, 0.5);
}

@media (min-width: 992px) {
  .mc-sp--elevated .mc-sp__card--featured {
    transform: translateY(-0.75rem);
  }
  .mc-sp--elevated .mc-sp__card--featured:hover {
    transform: translateY(-1rem);
  }
}
.mc-sp--bordered .mc-sp__card {
  box-shadow: none;
}

.mc-sp--bordered .mc-sp__card--featured {
  border-color: var(--mc-sp-accent, var(--mc-primary));
  border-width: 2px;
}

.mc-sp--minimal .mc-sp__card {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding-inline: 1.75rem;
}
.mc-sp--minimal .mc-sp__card:hover {
  transform: none;
  box-shadow: none;
}

@media (min-width: 992px) {
  .mc-sp--minimal [class*=col-]:not(:first-child) .mc-sp__card {
    border-inline-start: 1px solid var(--mc-sp-card-border-color, var(--mc-border, #e5e7eb));
  }
}
.mc-sp--minimal .mc-sp__card--featured .mc-sp__plan-name {
  color: var(--mc-sp-accent, var(--mc-primary));
}

.mc-leader {
  background: var(--mc-leader-bg, transparent);
  padding-block-start: var(--mc-leader-padding-top, 4.5rem);
  padding-block-end: var(--mc-leader-padding-bottom, 4.5rem);
}

.mc-leader__inner {
  max-width: 1320px;
}

.mc-leader__grid {
  display: grid;
  grid-template-columns: 1fr var(--mc-leader-media-width, 38%);
  align-items: center;
  gap: clamp(2rem, 5vw, 4.5rem);
}

.mc-leader--no-media .mc-leader__grid {
  grid-template-columns: 1fr;
}

.mc-leader--media-left .mc-leader__grid {
  grid-template-columns: var(--mc-leader-media-width, 38%) 1fr;
}
.mc-leader--media-left .mc-leader__grid .mc-leader__copy {
  order: 2;
}
.mc-leader--media-left .mc-leader__grid .mc-leader__media {
  order: 1;
}

.mc-leader__eyebrow {
  margin: 0 0 0.75rem;
  color: var(--mc-leader-eyebrow-color, var(--mc-primary));
  font-size: var(--mc-leader-eyebrow-font-size, 0.8125rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mc-leader__title {
  margin: 0;
  color: var(--mc-leader-title-color, var(--mc-text));
  font-size: var(--mc-leader-title-font-size, clamp(1.75rem, 1.4rem + 1.6vw, 2.75rem));
  font-weight: 800;
  line-height: var(--mc-lh-tight, 1.2);
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.mc-leader__accent-rule {
  display: block;
  inline-size: 3.5rem;
  block-size: 4px;
  margin-block: 1.25rem 1.75rem;
  border-radius: 999px;
  background: var(--mc-leader-accent, var(--mc-primary));
}

.mc-leader__message {
  color: var(--mc-leader-text-color, var(--mc-text-muted));
  font-size: var(--mc-leader-text-font-size, 1rem);
  line-height: 1.75;
}
.mc-leader__message p {
  margin-block: 0 1rem;
}
.mc-leader__message p:last-child {
  margin-block-end: 0;
}

.mc-leader__message--justify {
  text-align: justify;
  hyphens: auto;
}

.mc-leader__attribution {
  margin-block-start: 1.75rem;
}

.mc-leader__signature {
  display: block;
  max-inline-size: 190px;
  block-size: auto;
  margin-block-end: 0.75rem;
}

.mc-leader__byline {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.mc-leader__name {
  color: var(--mc-leader-name-color, var(--mc-text));
  font-size: var(--mc-leader-name-font-size, 1.0625rem);
  font-weight: 700;
}

.mc-leader__role {
  color: var(--mc-leader-role-color, var(--mc-text-muted));
  font-size: var(--mc-leader-role-font-size, 0.9375rem);
}

.mc-leader__cta {
  display: inline-flex;
  align-items: center;
  margin-block-start: 1.75rem;
  padding: 0.75rem 1.5rem;
  border-radius: var(--mc-leader-button-radius, 8px);
  background: var(--mc-leader-button-bg, var(--mc-primary));
  color: var(--mc-leader-button-color, #fff);
  font-weight: 600;
  text-decoration: none;
  transition: filter 0.15s ease, transform 0.15s ease;
}
.mc-leader__cta:hover, .mc-leader__cta:focus-visible {
  color: var(--mc-leader-button-color, #fff);
  filter: brightness(0.94);
  transform: translateY(-1px);
}

.mc-leader__media {
  position: relative;
}

.mc-leader__photo {
  display: block;
  inline-size: 100%;
  block-size: auto;
  border-radius: var(--mc-leader-media-radius, 16px);
}

.mc-leader__accent-shape {
  position: absolute;
  inset-block: 1.5rem -1.5rem;
  inset-inline-end: -1.25rem;
  inline-size: 62%;
  border-radius: var(--mc-leader-media-radius, 16px);
  background: color-mix(in srgb, var(--mc-leader-accent, var(--mc-primary)) 14%, transparent);
  z-index: 0;
}

.mc-leader--media-left .mc-leader__accent-shape {
  inset-inline-end: auto;
  inset-inline-start: -1.25rem;
}

.mc-leader__media .mc-leader__photo {
  position: relative;
  z-index: 1;
}

.mc-leader--elevated .mc-leader__photo {
  box-shadow: 0 24px 48px -20px rgba(15, 23, 42, 0.45);
}

.mc-leader--overlay .mc-leader__media {
  padding: 0.75rem;
  border-radius: calc(var(--mc-leader-media-radius, 16px) + 0.75rem);
  background: var(--mc-surface, #fff);
  box-shadow: 0 30px 60px -24px rgba(15, 23, 42, 0.5);
}

.mc-leader--overlay .mc-leader__attribution--overlay {
  margin-block-start: 1.25rem;
  padding: 0.9rem 1.15rem;
  border-radius: 12px;
  background: color-mix(in srgb, var(--mc-leader-accent, var(--mc-primary)) 10%, transparent);
  border-inline-start: 4px solid var(--mc-leader-accent, var(--mc-primary));
}

.mc-leader--quote .mc-leader__copy {
  position: relative;
}

.mc-leader--quote .mc-leader__message {
  font-size: var(--mc-leader-text-font-size, 1.1875rem);
  line-height: 1.7;
}

.mc-leader--quote .mc-leader__copy::before {
  content: "“";
  display: block;
  margin-block-end: -0.75rem;
  color: color-mix(in srgb, var(--mc-leader-accent, var(--mc-primary)) 30%, transparent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 5rem;
  line-height: 1;
}

.mc-leader--quote .mc-leader__photo {
  border-radius: 50%;
  aspect-ratio: 1;
  object-fit: cover;
  max-inline-size: 320px;
  margin-inline: auto;
  box-shadow: 0 18px 40px -18px rgba(15, 23, 42, 0.4);
}

.mc-leader--quote .mc-leader__accent-rule {
  display: none;
}

.mc-leader--flat .mc-leader__photo {
  border-radius: 0;
  box-shadow: none;
}

.mc-leader--flat .mc-leader__accent-rule {
  display: none;
}

@media (max-width: 991px) {
  .mc-leader__grid,
  .mc-leader--media-left .mc-leader__grid {
    grid-template-columns: 1fr;
    gap: 2.25rem;
  }
  .mc-leader--media-left .mc-leader__copy,
  .mc-leader--media-left .mc-leader__media {
    order: initial;
  }
  .mc-leader__accent-shape {
    display: none;
  }
  .mc-leader__media {
    max-inline-size: 420px;
  }
  .mc-leader--quote .mc-leader__media {
    margin-inline: auto;
  }
}
@media (max-width: 575px) {
  .mc-leader__message--justify {
    text-align: start;
    hyphens: manual;
  }
}
.mc-belief {
  color: var(--mc-text-inverse, #fff);
  overflow: hidden;
}

.mc-belief__inner {
  max-width: 1320px;
  padding-bottom: 4rem;
  padding-top: 3.25rem;
}

.mc-belief__header {
  max-width: 760px;
}

.mc-belief__title {
  color: var(--mc-text-inverse, #fff);
  font-size: var(--mc-fs-h2);
  font-weight: var(--mc-fw-display);
  letter-spacing: 0;
  line-height: var(--mc-lh-heading);
}

.mc-belief__subtitle {
  color: var(--mc-text-inverse, #fff);
  font-size: var(--mc-fs-lead);
  line-height: 1.45;
}

.mc-belief__icon {
  color: var(--mc-text-inverse, #fff);
  font-size: 3.6rem;
  line-height: 1;
  min-height: 4.5rem;
  width: 4.75rem;
}

.mc-belief__copy {
  color: var(--mc-text-inverse, #fff);
  font-size: var(--mc-fs-sm);
  line-height: var(--mc-lh-body);
  max-width: 18rem;
}

.mc-belief__closing {
  color: var(--mc-text-inverse, #fff);
  font-size: var(--mc-fs-body);
  line-height: 1.5;
  margin-top: 3.5rem;
  max-width: 760px;
}

.mc-pw-sectionhead {
  margin-bottom: 1rem;
}

.mc-pw-sectionhead h2,
.mc-pw-content h2,
.mc-pw-cta h2 {
  margin: 0 0 0.35rem;
  color: var(--mc-text, #111827);
  font-size: var(--mc-fs-h2);
  font-weight: var(--mc-fw-heading);
  letter-spacing: 0;
}

.mc-pw-sectionhead p,
.mc-pw-subtitle,
.mc-pw-content__text p,
.mc-pw-cta p {
  color: var(--mc-text-muted, #6b7280);
  font-size: var(--mc-fs-body);
  line-height: var(--mc-lh-body);
}

.mc-pw-sectionhead span {
  display: inline-flex;
  margin-top: 0.25rem;
  color: var(--mc-text-muted, #6b7280);
  font-size: var(--mc-fs-sm);
}

.mc-pw-eyebrow {
  color: var(--mc-primary, #0b7f75);
  font-size: var(--mc-fs-xs);
  font-weight: var(--mc-fw-semibold);
  letter-spacing: var(--mc-tracking-eyebrow);
  margin-bottom: 0.6rem;
  text-transform: uppercase;
}

.mc-pw-titleline {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  margin-bottom: 0.45rem;
}

.mc-pw-titleline h2 {
  min-width: 0;
}

.mc-pw-icon {
  align-items: center;
  background: var(--mc-primary-light, #f0fdfa);
  border: 1px solid var(--mc-primary-border, #99f6e4);
  border-radius: var(--mc-radius, 6px);
  color: var(--mc-primary, #0b7f75);
  display: inline-flex;
  flex: 0 0 2.4rem;
  height: 2.4rem;
  justify-content: center;
  width: 2.4rem;
}

.mc-pw-content {
  background: var(--mc-surface, #fff);
  padding: 4.5rem 0;
}

.mc-pw-content__inner {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1180px;
  padding: 0 1.25rem;
  width: 100%;
}

.mc-pw-content__body {
  min-width: 0;
}

.mc-pw-content__text {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
}

.mc-pw-content__text p {
  margin: 0;
}

.mc-pw-benefits {
  border-top: 1px solid var(--mc-pw-benefit-border, var(--mc-border, #e5e7eb));
  display: grid;
  margin-top: 1.35rem;
}

.mc-pw-benefit {
  border-bottom: 1px solid var(--mc-pw-benefit-border, var(--mc-border, #e5e7eb));
  display: grid;
  gap: 0.75rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 1.25rem 0;
}

.mc-pw-benefit__number {
  color: var(--mc-pw-benefit-number-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  font-size: var(--mc-pw-benefit-number-font-size, 0.95rem);
  font-weight: var(--mc-fw-bold, 700);
  line-height: 1.3;
}

.mc-pw-benefit h3 {
  color: var(--mc-pw-benefit-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-pw-benefit-title-font-size, 1rem);
  font-weight: var(--mc-fw-semibold, 600);
  line-height: 1.35;
  margin: 0 0 0.45rem;
}

.mc-pw-benefit p {
  color: var(--mc-pw-benefit-text-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-pw-benefit-text-font-size, var(--mc-fs-body, 1rem));
  line-height: var(--mc-lh-body, 1.6);
  margin: 0;
}

.mc-pw-content__cta {
  margin-top: 1.25rem;
}

.mc-pw-content--card .mc-pw-content__inner {
  background: var(--mc-surface, #fff);
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: var(--mc-pw-card-radius, var(--mc-radius-lg, 8px));
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
  overflow: hidden;
  padding: 2rem;
  position: relative;
}

.mc-pw-content--card .mc-pw-content__inner::before {
  background: var(--mc-primary, #0b7f75);
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.mc-pw-content--card.mc-pw-content--has-media .mc-pw-content__inner,
.mc-pw-content--split .mc-pw-content__inner {
  align-items: center;
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}

.mc-pw-content--centered {
  text-align: center;
}

.mc-pw-content--centered .mc-pw-content__inner {
  max-width: 900px;
}

.mc-pw-content--centered .mc-pw-titleline {
  flex-direction: column;
  gap: 0.85rem;
  justify-content: center;
  margin-bottom: 0.85rem;
}

.mc-pw-content--centered .mc-pw-icon {
  flex-basis: 3rem;
  font-size: 1.25rem;
  height: 3rem;
  width: 3rem;
}

.mc-pw-content--centered .mc-pw-subtitle,
.mc-pw-content--centered .mc-pw-content__text {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}

.mc-pw-content--card:not(.mc-pw-content--has-media) .mc-pw-content__body {
  margin-left: auto;
  margin-right: auto;
  max-width: 860px;
  text-align: center;
}

.mc-pw-content--card .mc-pw-titleline {
  justify-content: center;
}

.mc-pw-content--card .mc-pw-subtitle,
.mc-pw-content--card .mc-pw-content__text {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
  text-align: center;
}

.mc-pw-content--card .mc-pw-content__cta {
  margin-left: auto;
  margin-right: auto;
}

.mc-pw-content--split .mc-pw-content__inner {
  gap: 3rem;
}

.mc-pw-content--split .mc-pw-content__body {
  max-width: 620px;
}

.mc-pw-content--split:not(.mc-pw-content--has-media) .mc-pw-content__inner {
  display: block;
  max-width: 900px;
}

.mc-pw-content--split:not(.mc-pw-content--has-media) .mc-pw-content__body {
  max-width: none;
}

.mc-pw-content--media-left .mc-pw-content__media {
  order: -1;
}

.mc-pw-content__media {
  background: var(--mc-surface-alt, #f8fafc);
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: var(--mc-radius-lg, 8px);
  overflow: hidden;
}

.mc-pw-content__media img {
  aspect-ratio: 16/10;
  display: block;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  width: 100%;
}

.mc-pw-content--card .mc-pw-content__media img {
  aspect-ratio: 4/3;
  min-height: 220px;
}

.mc-pw-policy,
.mc-pw-faq,
.mc-pw-support,
.mc-pw-contactcards {
  background: var(--mc-surface, #fff);
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: var(--mc-radius-lg, 8px);
  padding: 1.25rem;
}

.mc-pw-policy__sections {
  display: grid;
  gap: 0.9rem;
}

.mc-pw-policy__section {
  border-top: 1px solid var(--mc-border, #e5e7eb);
  padding-top: 0.9rem;
}

.mc-pw-policy__section:first-child {
  border-top: 0;
  padding-top: 0;
}

.mc-pw-policy__section h3,
.mc-pw-contactcards__card h3 {
  color: var(--mc-text, #111827);
  font-size: var(--mc-fs-h3);
  font-weight: var(--mc-fw-heading);
  margin: 0 0 0.35rem;
}

.mc-pw-policy__section p,
.mc-pw-policy__section li,
.mc-pw-faq__item p,
.mc-pw-contactcards__card p {
  color: var(--mc-text-muted, #6b7280);
  font-size: var(--mc-fs-body);
  line-height: var(--mc-lh-body);
}

.mc-pw-policy__section ul {
  margin: 0.5rem 0 0;
  padding-left: 1.1rem;
}

.mc-pw-faq__items {
  display: grid;
  gap: 0.65rem;
}

.mc-pw-faq__item {
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: var(--mc-radius, 6px);
  background: var(--mc-surface-alt, #f8fafc);
}

.mc-pw-faq__item summary {
  color: var(--mc-text, #111827);
  cursor: pointer;
  font-weight: var(--mc-fw-heading);
  padding: 0.85rem 1rem;
}

.mc-pw-faq__item > div {
  border-top: 1px solid var(--mc-border, #e5e7eb);
  padding: 0.85rem 1rem;
}

.mc-pw-cta {
  align-items: center;
  background: var(--mc-primary, #0b7f75);
  border-radius: var(--mc-radius-lg, 8px);
  color: var(--mc-text-inverse, #fff);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.5rem;
}

.mc-pw-cta--quiet {
  background: var(--mc-primary-active, #115e59);
}

.mc-pw-cta--success {
  background: var(--mc-success, #16a34a);
}

.mc-pw-cta h2,
.mc-pw-cta p {
  color: var(--mc-text-inverse, #fff);
}

.mc-pw-cta p {
  margin: 0;
}

.mc-pw-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.mc-pw-support__form {
  margin-top: 0.75rem;
}

.mc-pw-formgrid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mc-pw-formgrid label {
  display: grid;
  gap: 0.35rem;
}

.mc-pw-formgrid span {
  color: var(--mc-text, #111827);
  font-size: var(--mc-fs-sm);
  font-weight: var(--mc-fw-heading);
}

.mc-pw-formgrid input,
.mc-pw-formgrid select,
.mc-pw-formgrid textarea {
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: var(--mc-radius, 6px);
  color: var(--mc-text, #111827);
  font: inherit;
  min-height: 42px;
  padding: 0.55rem 0.7rem;
  width: 100%;
}

.mc-pw-formgrid input:focus,
.mc-pw-formgrid select:focus,
.mc-pw-formgrid textarea:focus {
  border-color: var(--mc-primary, #0b7f75);
  box-shadow: 0 0 0 3px var(--mc-focus-ring, rgba(13, 148, 136, 0.22));
  outline: none;
}

.mc-pw-formgrid textarea {
  min-height: 128px;
  resize: vertical;
}

.mc-pw-formgrid__wide {
  grid-column: 1/-1;
}

.mc-pw-recaptcha {
  margin-top: 1rem;
  min-height: 78px;
}

.mc-pw-support__error {
  color: var(--mc-danger, #b91c1c);
  font-size: var(--mc-fs-sm);
  margin: 0.65rem 0 0;
}

.mc-pw-support__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.mc-pw-contactcards__grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.mc-pw-contactcards__card {
  border: 1px solid var(--mc-border, #e5e7eb);
  border-radius: var(--mc-radius-lg, 8px);
  background: var(--mc-surface-alt, #f8fafc);
  padding: 1rem;
}

.mc-pw-contactcards__card a {
  color: var(--mc-primary, #0b7f75);
  font-size: var(--mc-fs-body);
  font-weight: var(--mc-fw-heading);
}

/* Store Pages manager accordion icon actions. */
.mc-store-page-accordion__header {
  align-items: stretch;
  display: flex;
}

.mc-store-page-accordion__header .accordion-button {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
}

.mc-store-page-accordion__header .accordion-button::after {
  display: none;
}

.mc-store-page-accordion__settings {
  align-items: center;
  border: 0;
  border-left: 1px solid #e2e8f0;
  color: #0f766e;
  display: inline-flex;
  justify-content: center;
  width: 3.25rem;
}

.mc-page-layout-loading {
  color: #64748b;
  font-size: 0.9rem;
  padding: 1rem 0;
}

.mc-page-layout-zone {
  border-bottom: 1px solid #e2e8f0;
  padding: 0.25rem 0 0.85rem;
}

.mc-page-layout-zone:last-child {
  border-bottom: 0;
}

.mc-page-layout-row {
  min-height: 3.1rem;
}

.mc-page-layout-toggle {
  align-items: center;
  color: #334155;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.8rem;
  font-weight: 700;
  gap: 0.35rem;
  margin: 0;
}

.mc-page-layout-toggle input {
  margin: 0;
}

.mc-page-layout-drawer--busy {
  cursor: progress;
}

@media (max-width: 767.98px) {
  .mc-breadcrumb-widget {
    min-height: 180px;
  }
  .mc-breadcrumb-widget__inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .mc-breadcrumb-widget__trail {
    font-size: 0.78rem;
    justify-content: center;
    margin-bottom: 0.75rem;
  }
  .mc-breadcrumb-widget--left .mc-breadcrumb-widget__trail {
    justify-content: flex-start;
  }
  .mc-breadcrumb-widget__title {
    font-size: var(--mc-fs-h1);
    line-height: var(--mc-lh-tight);
  }
  .mc-breadcrumb-widget__subtitle {
    font-size: 1rem;
    line-height: 1.42;
    margin-top: 0.75rem;
  }
  .mc-breadcrumb-widget--imagehero .mc-breadcrumb-widget__inner,
  .mc-breadcrumb-widget--clean .mc-breadcrumb-widget__inner,
  .mc-breadcrumb-widget--gradient .mc-breadcrumb-widget__inner,
  .mc-breadcrumb-widget--pastel .mc-breadcrumb-widget__inner,
  .mc-breadcrumb-widget--illustration .mc-breadcrumb-widget__inner {
    min-height: 0;
  }
  .mc-breadcrumb-widget--imagehero .mc-breadcrumb-widget__trail {
    margin-bottom: 2rem;
  }
  .mc-breadcrumb-widget--clean .mc-breadcrumb-widget__mark--one {
    left: 1rem;
    top: 1.5rem;
    transform: scale(0.75) rotate(-16deg);
  }
  .mc-breadcrumb-widget--clean .mc-breadcrumb-widget__mark--two {
    bottom: -3.4rem;
    right: -2rem;
    transform: scale(0.75);
  }
  .mc-breadcrumb-widget--illustration .mc-breadcrumb-widget__mark--one {
    left: 1rem;
    top: 1.25rem;
  }
  .mc-breadcrumb-widget--illustration .mc-breadcrumb-widget__mark--two {
    right: 1rem;
    top: auto;
    bottom: 1.25rem;
  }
  .mc-msc__inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .mc-msc__stage,
  .mc-msc__stage--media-right {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
  .mc-msc__stage--media-right .mc-msc__media,
  .mc-msc__stage--media-right .mc-msc__copy {
    order: initial;
  }
  .mc-msc__media,
  .mc-msc__media img,
  .mc-msc__video,
  .mc-msc__iframe,
  .mc-msc__placeholder {
    min-height: 220px;
  }
  .mc-msc__copy {
    padding: 1.5rem 1rem 1.75rem;
    text-align: center;
  }
  .mc-msc__copy h2,
  .mc-msc__copy p {
    margin-left: auto;
    margin-right: auto;
  }
  .mc-msc__copy h2 {
    font-size: 1.55rem;
  }
  .mc-msc__copy p {
    font-size: 1rem;
    line-height: 1.4;
  }
  .mc-msc__nav {
    background: rgba(255, 255, 255, 0.84);
    font-size: 1.5rem;
    top: 112px;
  }
  .mc-msc__nav--prev {
    left: 0.25rem;
  }
  .mc-msc__nav--next {
    right: 0.25rem;
  }
  .mc-learning-promise__inner {
    padding-bottom: 3.5rem;
    padding-top: 3.75rem;
  }
  .mc-learning-promise__title {
    font-size: 2rem;
    line-height: 1.2;
  }
  .mc-learning-promise__body {
    font-size: 1rem;
    line-height: 1.5;
  }
  .mc-belief__inner {
    padding-bottom: 3rem;
    padding-top: 2.75rem;
  }
  .mc-belief__title {
    font-size: 1.75rem;
  }
  .mc-belief__subtitle {
    font-size: 1.05rem;
  }
  .mc-belief__icon {
    font-size: 3rem;
    min-height: 3.75rem;
  }
  .mc-belief__closing {
    margin-top: 2.5rem;
  }
  .mc-pw-content {
    padding-left: 0;
    padding-right: 0;
  }
  .mc-pw-content__inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .mc-pw-content--card .mc-pw-content__inner {
    padding: 1.25rem;
  }
  .mc-pw-content--card.mc-pw-content--has-media .mc-pw-content__inner,
  .mc-pw-content--split .mc-pw-content__inner,
  .mc-pw-formgrid {
    grid-template-columns: 1fr;
  }
  .mc-pw-content--split .mc-pw-content__body {
    max-width: none;
  }
  .mc-pw-content__media img,
  .mc-pw-content--card .mc-pw-content__media img {
    aspect-ratio: 16/10;
    min-height: 210px;
  }
  .mc-pw-cta {
    align-items: flex-start;
    flex-direction: column;
  }
  .mc-store-page-accordion__settings {
    width: 2.75rem;
  }
}
/* ── Storefront footer widget ─────────────────────────────────────────────
   Five-column marketing footer (brand+contact / link columns / apps) over a
   bottom bar with copyright + social. Light is the default palette; the
   mc-footer--dark modifier swaps to a deep-navy palette. Both are driven by
   the --mc-footer-* custom properties below. */
.mc-footer {
  --mc-footer-bg: var(--mc-surface, #ffffff);
  --mc-footer-soft: var(--mc-surface-alt, #f8fafc);
  --mc-footer-heading: var(--mc-text, #111827);
  --mc-footer-text: var(--mc-text-muted, #6b7280);
  --mc-footer-link: var(--mc-text-muted, #6b7280);
  --mc-footer-border: var(--mc-border, #e5e7eb);
  --mc-footer-accent: var(--mc-primary, #0b7f75);
  --mc-footer-chip: color-mix(in srgb, var(--mc-primary, #0b7f75) 12%, transparent);
  background: var(--mc-footer-bg);
  color: var(--mc-footer-text);
}

.mc-footer--dark {
  --mc-footer-bg: #13243a;
  --mc-footer-soft: #0f1d31;
  --mc-footer-heading: #ffffff;
  --mc-footer-text: #9fb0c9;
  --mc-footer-link: #9fb0c9;
  --mc-footer-border: rgba(255, 255, 255, 0.1);
  --mc-footer-accent: #2dd4bf;
  --mc-footer-chip: rgba(255, 255, 255, 0.07);
}

.mc-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.mc-footer__grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr;
  gap: 2rem;
  padding: 3.5rem 0 2.5rem;
}

.mc-footer__logo {
  display: block;
  height: 42px; /* default; overridden per-widget by the inline logo-height style */
  width: auto;
  max-width: 100%;
  margin-bottom: 1.25rem;
}

.mc-footer__brandname {
  font-size: 1.5rem;
  font-weight: var(--mc-fw-display);
  color: var(--mc-footer-heading);
  margin-bottom: 1.25rem;
}

.mc-footer__address {
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0 0 1.25rem;
}

.mc-footer__address span {
  color: var(--mc-footer-text);
}

.mc-footer__contact {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.mc-footer__contact li {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.mc-footer__contact a {
  color: var(--mc-footer-heading);
  text-decoration: none;
  font-weight: var(--mc-fw-medium);
}

.mc-footer__contact a:hover {
  color: var(--mc-footer-accent);
}

.mc-footer__contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--mc-footer-chip);
  color: var(--mc-footer-accent);
}

/* Scoped under .mc-footer to beat the active theme's ".mui-enabled h2" heading
   colour rule (specificity 0,1,1), which would otherwise force the column
   titles to the theme text colour and make them invisible on the dark footer. */
.mc-footer .mc-footer__title {
  font-size: var(--mc-fs-h3);
  font-weight: var(--mc-fw-heading);
  color: var(--mc-footer-heading);
  margin: 0 0 1.1rem;
}

.mc-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.mc-footer__links a {
  color: var(--mc-footer-link);
  text-decoration: none;
}

.mc-footer__links a:hover {
  color: var(--mc-footer-accent);
}

.mc-footer__apps {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  align-items: flex-start;
}

.mc-footer__app {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.6rem 1.1rem;
  min-width: 185px;
  border-radius: var(--mc-radius-lg, 8px);
  background: var(--mc-footer-soft);
  border: 1px solid var(--mc-footer-border);
  color: var(--mc-footer-heading);
  text-decoration: none;
  transition: transform 0.15s ease;
}

.mc-footer__app:hover {
  transform: translateY(-1px);
  color: var(--mc-footer-heading);
}

.mc-footer__app .bi {
  font-size: 1.6rem;
  color: var(--mc-footer-accent);
}

.mc-footer__app-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.mc-footer__app-eyebrow {
  font-size: var(--mc-fs-xs);
  color: var(--mc-footer-text);
}

.mc-footer__app-name {
  font-size: var(--mc-fs-body);
  font-weight: var(--mc-fw-heading);
}

.mc-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 0;
  border-top: 1px solid var(--mc-footer-border);
}

.mc-footer__copyright {
  font-size: var(--mc-fs-sm);
  color: var(--mc-footer-text);
}

.mc-footer__social {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0.6rem;
}

.mc-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--mc-footer-chip);
  color: var(--mc-footer-accent);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}

.mc-footer__social a:hover {
  background: var(--mc-footer-accent);
  color: var(--mc-text-inverse, #fff);
}

.mc-footer--modern-classical {
  --mc-footer-mc-red: #ef2d27;
  --mc-footer-mc-ink: #202838;
  --mc-footer-mc-muted: #5d6878;
  --mc-footer-mc-bottom: #252d38;
  --mc-footer-mc-bottom-text: #b9c5d5;
  background: #ffffff;
  color: var(--mc-footer-mc-muted);
}

.mc-footer-mc__topline {
  background: var(--mc-footer-mc-red);
  height: 2px;
  width: 100%;
}

.mc-footer-mc__inner {
  max-width: 1220px;
}

.mc-footer-mc__grid {
  display: grid;
  column-gap: clamp(2rem, 3.4vw, 3.5rem);
  row-gap: 3rem;
  grid-template-columns: 1fr;
  padding: 4.25rem 1.25rem 8.5rem;
}

.mc-footer-mc__brand {
  max-width: 320px;
}

.mc-footer-mc__logo {
  display: block;
  height: 52px;
  margin: 0 0 1.1rem;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
  width: auto;
}

.mc-footer-mc__brandname {
  color: var(--mc-footer-mc-red);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.05;
  margin-bottom: 1.1rem;
}

.mc-footer-mc__description {
  color: var(--mc-footer-mc-muted);
  font-size: 0.98rem;
  line-height: 1.45;
  margin: 0 0 2.25rem;
}

.mc-footer-mc__social {
  display: flex;
  gap: 1.15rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mc-footer-mc__social a {
  align-items: center;
  background: var(--mc-footer-mc-red);
  border-radius: 50%;
  color: #ffffff;
  display: inline-flex;
  height: 2.05rem;
  justify-content: center;
  text-decoration: none;
  transition: transform 0.15s ease, background 0.15s ease;
  width: 2.05rem;
}

.mc-footer-mc__social a:hover {
  background: #d9211c;
  color: #ffffff;
  transform: translateY(-1px);
}

.mc-footer-mc__social .bi {
  font-size: 0.98rem;
}

.mc-footer .mc-footer-mc__title {
  color: var(--mc-footer-mc-ink);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.25rem;
}

.mc-footer-mc__links {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mc-footer-mc__links a,
.mc-footer-mc__contact a {
  color: var(--mc-footer-mc-ink);
  font-size: 0.95rem;
  line-height: 1.4;
  text-decoration: none;
}

.mc-footer-mc__links a:hover,
.mc-footer-mc__contact a:hover,
.mc-footer-mc__legal a:hover {
  color: var(--mc-footer-mc-red);
}

.mc-footer-mc__contact {
  color: var(--mc-footer-mc-muted);
  min-width: 0;
}

.mc-footer-mc__contact address {
  display: flex;
  flex-direction: column;
  font-style: normal;
  gap: 0.45rem;
  margin: 0 0 1.9rem;
}

.mc-footer-mc__contact > a {
  display: block;
  margin-top: 1.7rem;
}

.mc-footer-mc__bottom {
  background: var(--mc-footer-mc-bottom);
  color: var(--mc-footer-mc-bottom-text);
}

.mc-footer-mc__bottom-inner {
  align-items: center;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
  min-height: 4.25rem;
  padding: 1rem 1.25rem;
}

.mc-footer-mc__copyright {
  color: var(--mc-footer-mc-bottom-text);
  font-size: 0.92rem;
}

.mc-footer-mc__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mc-footer-mc__legal a {
  color: var(--mc-footer-mc-bottom-text);
  font-size: 0.92rem;
  text-decoration: none;
}

.mc-footer--enterprise-navy {
  --mc-footer-en-bg: #061f4a;
  --mc-footer-en-bg-deep: #041a3f;
  --mc-footer-en-panel: #08275a;
  --mc-footer-en-text: #ffffff;
  --mc-footer-en-muted: #c5d4ec;
  --mc-footer-en-border: rgba(255, 255, 255, .16);
  --mc-footer-en-accent: #2f7cff;
  background: var(--mc-footer-en-bg);
  color: var(--mc-footer-en-text);
  overflow: hidden;
}

.mc-footer-en__top {
  background: var(--mc-footer-en-bg);
  position: relative;
}

.mc-footer-en__inner {
  max-width: 1400px;
  min-height: 25rem;
  padding: 3.25rem 1.5rem 4rem;
  position: relative;
}

.mc-footer-en__columns {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1fr;
  padding-right: min(16vw, 15rem);
  position: relative;
  z-index: 2;
}

.mc-footer .mc-footer-en__title {
  border-bottom: 1px solid var(--mc-footer-en-border);
  color: var(--mc-footer-en-text);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1.3rem;
  padding-bottom: 1.15rem;
  text-transform: uppercase;
}

.mc-footer-en__links {
  display: flex;
  flex-direction: column;
  gap: 0.78rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mc-footer-en__links a {
  color: var(--mc-footer-en-text);
  font-size: 0.9rem;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
  transition: color 0.15s ease, opacity 0.15s ease;
}

.mc-footer-en__links a:hover {
  color: #8db8ff;
}

.mc-footer-en__decor {
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(5, 5.75rem);
  grid-template-rows: repeat(4, 5.75rem);
  opacity: 0.68;
  pointer-events: none;
  position: absolute;
  right: -3.2rem;
  z-index: 1;
}

.mc-footer-en__decor span {
  background: rgba(33, 89, 171, 0.28);
}

.mc-footer-en__decor span:nth-child(1) {
  grid-column: 3;
  grid-row: 1;
}

.mc-footer-en__decor span:nth-child(2) {
  grid-column: 4;
  grid-row: 1;
  background: rgba(45, 105, 194, 0.2);
}

.mc-footer-en__decor span:nth-child(3) {
  grid-column: 5;
  grid-row: 2;
}

.mc-footer-en__decor span:nth-child(4) {
  grid-column: 2;
  grid-row: 3;
  background: rgba(64, 130, 226, 0.34);
}

.mc-footer-en__decor span:nth-child(5) {
  grid-column: 3;
  grid-row: 3;
}

.mc-footer-en__decor span:nth-child(6) {
  grid-column: 4;
  grid-row: 3;
  background: rgba(1, 13, 39, 0.38);
}

.mc-footer-en__decor span:nth-child(7) {
  grid-column: 1;
  grid-row: 4;
}

.mc-footer-en__decor span:nth-child(8) {
  grid-column: 3;
  grid-row: 4;
  background: rgba(50, 106, 190, 0.28);
}

.mc-footer-en__decor span:nth-child(9) {
  grid-column: 5;
  grid-row: 4;
  background: rgba(41, 96, 181, 0.22);
}

.mc-footer-en__bottom {
  background: var(--mc-footer-en-bg-deep);
  color: var(--mc-footer-en-muted);
}

.mc-footer-en__bottom-inner {
  display: grid;
  gap: 3.5rem;
  grid-template-columns: 1fr;
  max-width: 1400px;
  padding: 2.6rem 1.5rem 3rem;
}

@media (min-width: 576px) {
  .mc-footer-mc__grid,
  .mc-footer-en__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .mc-msc__stage {
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
  }
  .mc-msc__stage--media-right {
    grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
  }
  .mc-pw-content--card.mc-pw-content--has-media .mc-pw-content__inner {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
  }
  .mc-pw-content--split .mc-pw-content__inner {
    grid-template-columns: minmax(0, 0.82fr) minmax(340px, 1fr);
  }
  .mc-footer-mc__grid {
    grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(130px, 0.72fr)) minmax(220px, 0.95fr);
  }
  .mc-footer-en__columns {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .mc-footer-en__bottom-inner {
    grid-template-columns: minmax(230px, 0.9fr) minmax(320px, 1.35fr) minmax(260px, 1.05fr);
  }
}
.mc-footer-en__logo {
  display: block;
  height: 42px;
  margin: 0 0 1.05rem;
  max-width: min(100%, 240px);
  object-fit: contain;
  object-position: left center;
  width: auto;
}

.mc-footer-en__brandname {
  color: var(--mc-footer-en-text);
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 1rem;
}

.mc-footer-en__description,
.mc-footer-en__copyright {
  color: var(--mc-footer-en-text);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.55;
  margin: 0;
  max-width: 31rem;
}

.mc-footer-en__description {
  max-width: 24rem;
}

.mc-footer-en__engage {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.mc-footer-en__language,
.mc-footer-en__language.mc-button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--mc-footer-en-text);
  display: inline-flex;
  font-size: 0.8rem;
  font-weight: 800;
  gap: 0.45rem;
  justify-content: flex-start;
  padding: 0;
  width: fit-content;
}

.mc-footer-en__subscribe {
  align-items: center;
  border: 1px solid var(--mc-footer-en-border);
  display: flex;
  min-height: 3rem;
  max-width: 31rem;
}

.mc-footer-en__subscribe input {
  background: transparent;
  border: 0;
  color: var(--mc-footer-en-text);
  flex: 1 1 auto;
  font-size: 0.95rem;
  min-width: 0;
  padding: 0.75rem 1rem;
}

.mc-footer-en__subscribe input::placeholder {
  color: rgba(197, 212, 236, 0.78);
}

.mc-footer-en__subscribe input:focus {
  outline: none;
}

.mc-footer-en__subscribe button,
.mc-footer-en__subscribe-button.mc-button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--mc-footer-en-text);
  display: inline-flex;
  height: 3rem;
  justify-content: center;
  width: 3.2rem;
}

.mc-footer-en__social-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.mc-footer-en__social {
  display: flex;
  gap: 1.2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mc-footer-en__social a {
  color: rgba(255, 255, 255, 0.78);
  font-size: 1rem;
  text-decoration: none;
  transition: color 0.15s ease;
}

.mc-footer-en__social a:hover {
  color: var(--mc-footer-en-text);
}

.mc-footer-en__compliance {
  align-items: center;
  color: var(--mc-footer-en-text);
  display: inline-flex;
  font-size: 0.74rem;
  font-weight: 800;
  gap: 0.35rem;
}

.mc-footer-en__compliance .bi {
  color: #38d996;
  font-size: 0.9rem;
}

.mc-footer-en__legalblock {
  display: grid;
  gap: 1.25rem;
}

.mc-footer-en__legal {
  display: grid;
  gap: 0.92rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mc-footer-en__legal a {
  color: var(--mc-footer-en-text);
  font-size: 0.82rem;
  font-weight: 750;
  text-decoration: none;
}

.mc-footer-en__legal a:hover {
  color: #8db8ff;
}

@media (max-width: 991px) {
  .mc-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mc-footer-mc__grid {
    gap: 2.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-bottom: 4rem;
  }
  .mc-footer-en__inner {
    min-height: auto;
  }
  .mc-footer-en__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-right: 0;
  }
  .mc-footer-en__decor {
    opacity: 0.22;
  }
  .mc-footer-en__bottom-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
@media (max-width: 575px) {
  .mc-footer__grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    padding-top: 2.5rem;
  }
  .mc-footer__bottom {
    flex-direction: column;
    text-align: center;
  }
  .mc-footer-mc__grid {
    gap: 2rem;
    grid-template-columns: 1fr;
    padding: 3rem 1rem 3.5rem;
  }
  .mc-footer-mc__brand {
    max-width: none;
  }
  .mc-footer-mc__bottom-inner {
    align-items: flex-start;
    flex-direction: column;
  }
  .mc-footer-en__inner,
  .mc-footer-en__bottom-inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .mc-footer-en__columns {
    grid-template-columns: 1fr;
  }
  .mc-footer-en__decor {
    display: none;
  }
  .mc-footer-en__subscribe {
    max-width: none;
    width: 100%;
  }
}
/* Storefront typography normalization: imported after all widget variants so
   each widget keeps its layout while text roles use one shared scale. */
.mc-react-mount,
.mw-zone-render,
.local-moderncommerce-storefront {
  color: var(--mc-text, #111827);
  font-family: var(--mc-font, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);
  font-size: var(--mc-fs-body);
  line-height: var(--mc-lh-body);
}

.mw-hero__heading,
.mc-vh__heading,
.mc-breadcrumb-widget__title {
  font-family: var(--mc-font-heading, var(--mc-font, inherit));
  font-size: var(--mc-widget-heading-font-size, var(--mc-fs-display));
  font-weight: var(--mc-fw-display);
  letter-spacing: 0;
  line-height: var(--mc-lh-tight);
}

.mw-featured__title,
.mw-trust__title,
.mw-partners__heading,
.mw-tm__title,
.mw-cats__title,
.mw-inst__title,
.mw-news__heading,
.mc-msc__copy h2,
.mc-learning-promise__title,
.mc-belief__title,
.mc-pw-sectionhead h2,
.mc-pw-content h2,
.mc-pw-cta h2 {
  color: var(--mc-text, #111827);
  font-family: var(--mc-font-heading, var(--mc-font, inherit));
  font-size: var(--mc-fs-h2);
  font-weight: var(--mc-fw-heading);
  letter-spacing: 0;
  line-height: var(--mc-lh-heading);
}

.mc-belief__title,
.mc-pw-cta h2 {
  color: var(--mc-text-inverse, #fff);
}

.mw-hero__subheading,
.mc-vh__lead,
.mw-featured__subtitle,
.mw-tm__subtitle,
.mw-cats__subtitle,
.mw-inst__subtitle,
.mw-news__desc,
.mc-breadcrumb-widget__subtitle,
.mc-learning-promise__body,
.mc-belief__subtitle,
.mc-msc__copy p,
.mc-pw-sectionhead p,
.mc-pw-subtitle,
.mc-pw-cta p {
  font-size: var(--mc-widget-body-font-size, var(--mc-fs-lead));
  font-weight: var(--mc-fw-body);
  line-height: var(--mc-lh-body);
}

.mw-featured__subtitle,
.mw-tm__subtitle,
.mw-cats__subtitle,
.mw-inst__subtitle,
.mw-news__desc,
.mc-breadcrumb-widget__subtitle,
.mc-learning-promise__body,
.mc-msc__copy p,
.mc-pw-sectionhead p,
.mc-pw-subtitle,
.mc-pw-content__text p {
  color: var(--mc-text-muted, #6b7280);
}

.mc-course-card-title,
.mw-cats__name,
.mw-inst__name,
.mw-tm__name,
.mw-trust__label,
.mc-vh__infotitle,
.mc-pw-policy__section h3,
.mc-pw-contactcards__card h3,
.mc-footer .mc-footer__title,
.mc-footer .mc-footer-mc__title {
  color: var(--mc-text, #111827);
  font-family: var(--mc-font-heading, var(--mc-font, inherit));
  font-size: var(--mc-fs-h3);
  font-weight: var(--mc-fw-heading);
  letter-spacing: 0;
  line-height: var(--mc-lh-heading);
}

.mc-footer .mc-footer__title,
.mc-footer .mc-footer-mc__title {
  font-size: var(--mc-fs-h5);
}

.mc-footer .mc-footer__title {
  color: var(--mc-footer-heading);
}

.mc-course-card-instructor,
.mc-course-card-duration,
.mw-trust__sublabel,
.mw-cats__count,
.mw-inst__role,
.mw-inst__bio,
.mw-tm__role,
.mw-tm__quote,
.mc-vh__infotext,
.mc-vh__quotetext,
.mc-belief__copy,
.mc-belief__closing,
.mc-pw-policy__section p,
.mc-pw-policy__section li,
.mc-pw-faq__item p,
.mc-pw-contactcards__card p,
.mc-footer__address,
.mc-footer__links a,
.mc-footer__copyright,
.mc-footer-mc__description,
.mc-footer-mc__links a,
.mc-footer-mc__contact,
.mc-footer-mc__contact a,
.mc-footer-mc__copyright,
.mc-footer-mc__legal a,
.mc-footer-en__description,
.mc-footer-en__copyright,
.mc-footer-en__links a,
.mc-footer-en__legal a {
  font-size: var(--mc-fs-body);
  font-weight: var(--mc-fw-body);
  letter-spacing: 0;
  line-height: var(--mc-lh-body);
}

.mc-vh__infotitle {
  color: var(--mc-vh-info-heading-color);
  font-size: var(--mc-vh-info-heading-font-size);
}

.mc-vh__infotext {
  color: var(--mc-vh-info-text-color);
}

.mw-widget--trustbadges .mw-trust__title {
  color: var(--mc-trust-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-trust-title-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-h2)));
}

.mw-widget--partners .mw-partners__heading {
  color: var(--mc-partners-heading-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-partners-heading-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-h2)));
}

.mw-widget--trustbadges .mw-trust__label {
  color: var(--mc-trust-label-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-trust-label-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body)));
}

.mw-widget--trustbadges .mw-trust__sublabel {
  color: var(--mc-trust-sublabel-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-trust-sublabel-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body-sm)));
}

.mw-widget--videohero .mc-vh__heading {
  color: var(--mc-vh-heading-color);
}

.mw-widget--videohero .mc-vh__lead {
  color: var(--mc-vh-body-color);
}

.mw-widget--videohero .mc-vh__cta,
.mw-widget--videohero .mc-vh__cta.mc-button {
  --mc-button-bg: var(--mc-vh-primary-button-bg);
  --mc-button-border: var(--mc-vh-primary-button-bg);
  --mc-button-color: var(--mc-vh-primary-button-text);
  --mc-button-hover-bg: var(--mc-vh-primary-button-bg);
  --mc-button-hover-border: var(--mc-vh-primary-button-bg);
  --mc-button-hover-color: var(--mc-vh-primary-button-text);
  --mc-button-active-bg: var(--mc-vh-primary-button-bg);
  --mc-button-active-border: var(--mc-vh-primary-button-bg);
  --mc-button-active-color: var(--mc-vh-primary-button-text);
  background: var(--mc-vh-primary-button-bg);
  border-color: var(--mc-vh-primary-button-bg);
  color: var(--mc-vh-primary-button-text);
}

.mw-widget--videohero .mc-vh__cta-secondary,
.mw-widget--videohero .mc-vh__cta-secondary.mc-button {
  --mc-button-bg: var(--mc-vh-secondary-button-bg);
  --mc-button-border: var(--mc-vh-secondary-button-text);
  --mc-button-color: var(--mc-vh-secondary-button-text);
  --mc-button-hover-bg: var(--mc-vh-secondary-button-bg);
  --mc-button-hover-border: var(--mc-vh-secondary-button-text);
  --mc-button-hover-color: var(--mc-vh-secondary-button-text);
  --mc-button-active-bg: var(--mc-vh-secondary-button-bg);
  --mc-button-active-border: var(--mc-vh-secondary-button-text);
  --mc-button-active-color: var(--mc-vh-secondary-button-text);
  background: var(--mc-vh-secondary-button-bg);
  border-color: var(--mc-vh-secondary-button-text);
  color: var(--mc-vh-secondary-button-text);
}

.mw-widget--videohero .mc-vh__infocard {
  background: var(--mc-vh-info-card-bg);
}

.mw-widget--videohero .mc-vh__infoicon {
  background-color: var(--mc-vh-info-icon-bg);
  color: var(--mc-vh-info-icon-color);
}

.mw-widget--videohero .mc-vh__infotitle {
  color: var(--mc-vh-info-heading-color);
  font-size: var(--mc-vh-info-heading-font-size);
}

.mw-widget--videohero .mc-vh__quoteauthor {
  color: var(--mc-vh-info-heading-color);
}

.mw-widget--videohero .mc-vh__infotext,
.mw-widget--videohero .mc-vh__quotetext {
  color: var(--mc-vh-info-text-color);
}

.mw-widget--featured .mw-featured,
.mw-widget--related .mw-featured {
  background: var(--mc-widget-bg, transparent);
  border-radius: var(--mc-widget-radius, 0);
}

.mw-widget--featured .mw-featured__title,
.mw-widget--related .mw-featured__title {
  color: var(--mc-widget-heading-color, var(--mc-text, #111827));
  font-size: var(--mc-widget-heading-font-size, var(--mc-fs-h2));
}

.mw-widget--featured .mc-course-card-title,
.mw-widget--related .mc-course-card-title {
  color: var(--mc-widget-heading-color, var(--mc-text, #111827));
}

.mw-widget--featured .mw-featured__subtitle,
.mw-widget--related .mw-featured__subtitle {
  color: var(--mc-widget-body-color, var(--mc-text-muted, #6b7280));
  font-size: var(--mc-widget-body-font-size, var(--mc-fs-lead));
}

.mw-widget--featured .mc-course-card-instructor,
.mw-widget--featured .mc-course-card-duration,
.mw-widget--featured .mc-course-card-rating,
.mw-widget--featured .mc-course-card-original-price,
.mw-widget--related .mc-course-card-instructor,
.mw-widget--related .mc-course-card-duration,
.mw-widget--related .mc-course-card-rating,
.mw-widget--related .mc-course-card-original-price {
  color: var(--mc-widget-body-color, var(--mc-text-muted, #6b7280));
}

.mw-widget--featured .mc-course-card,
.mw-widget--related .mc-course-card {
  background: var(--mc-product-card-bg, var(--mc-surface, #ffffff));
  background-color: var(--mc-product-card-bg, var(--mc-surface, #ffffff));
  border: var(--mc-product-card-border-width, 1px) solid var(--mc-product-card-border, var(--mc-border, #e5e7eb));
  border-width: var(--mc-product-card-border-width, 1px);
  border-style: solid;
  border-color: var(--mc-product-card-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-widget-radius, var(--mc-radius-lg, 8px));
}

.mw-widget--featured .mc-course-card:hover,
.mw-widget--featured .mc-course-card:focus-within,
.mw-widget--related .mc-course-card:hover,
.mw-widget--related .mc-course-card:focus-within {
  background: var(--mc-product-card-bg, var(--mc-surface, #ffffff));
  background-color: var(--mc-product-card-bg, var(--mc-surface, #ffffff));
  border-color: var(--mc-product-card-border, var(--mc-widget-accent-color, var(--mc-primary-border, #99f6e4)));
}

.mw-widget--featured .mc-course-card-body,
.mw-widget--featured .mc-course-card-footer,
.mw-widget--related .mc-course-card-body,
.mw-widget--related .mc-course-card-footer {
  background: var(--mc-product-card-bg, var(--mc-surface, #ffffff));
  background-color: var(--mc-product-card-bg, var(--mc-surface, #ffffff));
}

.mw-widget--featured .mc-course-card-footer,
.mw-widget--related .mc-course-card-footer {
  border-top: var(--mc-product-card-border-width, 1px) solid var(--mc-product-card-border, var(--mc-border-subtle, #eef2f7));
}

.mw-widget--featured .mc-course-card-category,
.mw-widget--featured .mc-course-card-details,
.mw-widget--related .mc-course-card-category,
.mw-widget--related .mc-course-card-details {
  color: var(--mc-widget-accent-color, var(--mc-primary, #0b7f75));
}

.mw-widget--featured .mw-featured__arrow,
.mw-widget--featured .mw-featured__arrow.mc-button,
.mw-widget--related .mw-featured__arrow,
.mw-widget--related .mw-featured__arrow.mc-button {
  border-color: color-mix(in srgb, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)) 30%, var(--mc-border, #e5e7eb));
  color: var(--mc-widget-accent-color, var(--mc-primary, #0b7f75));
}

.mw-widget--featured .mw-featured__arrow:hover,
.mw-widget--featured .mw-featured__arrow.mc-button:hover,
.mw-widget--related .mw-featured__arrow:hover,
.mw-widget--related .mw-featured__arrow.mc-button:hover {
  background: color-mix(in srgb, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)) 12%, var(--mc-surface, #fff));
}

.mw-widget--featured .mc-course-card-btn.mc-button,
.mw-widget--featured .mc-course-card-btn.btn-mc-primary,
.mw-widget--related .mc-course-card-btn.mc-button,
.mw-widget--related .mc-course-card-btn.btn-mc-primary {
  --mc-button-bg: var(--mc-featured-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-border: var(--mc-featured-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-color: var(--mc-featured-button-text, #fff);
  --mc-button-hover-bg: var(--mc-featured-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-hover-border: var(--mc-featured-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-hover-color: var(--mc-featured-button-text, #fff);
  --mc-button-active-bg: var(--mc-featured-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-active-border: var(--mc-featured-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-active-color: var(--mc-featured-button-text, #fff);
  background: var(--mc-featured-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  border-color: var(--mc-featured-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  color: var(--mc-featured-button-text, #fff);
}

.mw-widget--featured .mc-course-card-btn.mc-button:hover,
.mw-widget--featured .mc-course-card-btn.mc-button:focus,
.mw-widget--featured .mc-course-card-btn.btn-mc-primary:hover,
.mw-widget--featured .mc-course-card-btn.btn-mc-primary:focus,
.mw-widget--related .mc-course-card-btn.mc-button:hover,
.mw-widget--related .mc-course-card-btn.mc-button:focus,
.mw-widget--related .mc-course-card-btn.btn-mc-primary:hover,
.mw-widget--related .mc-course-card-btn.btn-mc-primary:focus {
  background: var(--mc-featured-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  border-color: var(--mc-featured-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  color: var(--mc-featured-button-text, #fff);
}

.mc-course-card-category,
.mc-badge,
.mw-countdown__label,
.mc-breadcrumb-widget__trail,
.mc-pw-eyebrow,
.mc-pw-formgrid span,
.mc-footer__app-eyebrow,
.mc-footer-en__title,
.mc-footer-en__language,
.mc-footer-en__compliance {
  font-size: var(--mc-fs-caption);
  font-weight: var(--mc-fw-semibold);
  letter-spacing: var(--mc-tracking-eyebrow);
  line-height: var(--mc-lh-ui);
}

.mw-hero__cta,
.mw-countdown__heading,
.mw-countdown__cta,
.mw-news__btn,
.mc-vh__cta,
.mc-vh__cta-secondary,
.mc-pw-contactcards__card a,
.mc-pw-support__actions .btn,
.mc-pw-cta__actions .btn,
.mc-sf-row__title,
.mc-sf-field > label,
.mc-sf-btn-primary,
.mc-sf-btn-secondary,
.mc-sf-btn-add {
  font-size: var(--mc-fs-ui);
  font-weight: var(--mc-fw-semibold);
  letter-spacing: 0;
  line-height: var(--mc-lh-ui);
}

.mw-countdown__num,
.mc-footer__brandname,
.mc-footer-mc__brandname,
.mc-footer-en__brandname {
  font-size: var(--mc-fs-h2);
  font-weight: var(--mc-fw-display);
  letter-spacing: 0;
  line-height: var(--mc-lh-tight);
}

.mw-countdown__heading {
  font-size: var(--mc-countdown-heading-font-size, var(--mc-fs-ui));
}

.mw-countdown__label {
  font-size: var(--mc-countdown-label-font-size, var(--mc-fs-caption));
}

.mw-countdown__num {
  font-size: var(--mc-countdown-number-font-size, var(--mc-fs-h2));
}

.mw-widget--slider .mw-hero {
  background: var(--mc-widget-bg, transparent);
  border-radius: var(--mc-widget-radius, 0);
}

.mw-widget--slider .mw-hero--overlay .mw-hero__media::after {
  background: linear-gradient(90deg, color-mix(in srgb, var(--mc-widget-bg, #080f1e) 74%, transparent) 0%, color-mix(in srgb, var(--mc-widget-bg, #080f1e) 34%, transparent) 55%, color-mix(in srgb, var(--mc-widget-bg, #080f1e) 8%, transparent) 100%);
}

.mw-widget--slider .mw-hero--split .mw-hero__inner {
  background: var(--mc-widget-bg, var(--mw-slide-bg, #0b7f75));
}

.mw-widget--slider .mw-hero--card .mw-hero__slide {
  background: var(--mc-widget-bg, var(--mc-surface, #fff));
}

.mw-widget--slider .mw-hero:not(.mw-hero--card) .mw-hero__heading {
  color: var(--mc-widget-heading-color, #fff);
  font-size: var(--mc-widget-heading-font-size, var(--mc-fs-display));
}

.mw-widget--slider .mw-hero:not(.mw-hero--card) .mw-hero__subheading {
  color: var(--mc-widget-body-color, rgba(255, 255, 255, 0.92));
  font-size: var(--mc-widget-body-font-size, var(--mc-fs-lead));
}

.mw-widget--slider .mw-hero--card .mw-hero__heading {
  color: var(--mc-widget-heading-color, var(--mc-text, #111827));
  font-size: var(--mc-widget-heading-font-size, var(--mc-fs-h1));
}

.mw-widget--slider .mw-hero--card .mw-hero__subheading {
  color: var(--mc-widget-body-color, var(--mc-text-muted, #6b7280));
  font-size: var(--mc-widget-body-font-size, var(--mc-fs-lead));
}

.mw-widget--slider .mw-hero__cta--primary,
.mw-widget--slider .mw-hero__cta--primary.mc-button,
.mw-widget--slider .mw-hero--card .mw-hero__dot--active,
.mw-widget--slider .mw-hero--card .mw-hero__dot--active.mc-button {
  background-color: var(--mc-widget-accent-color, var(--mc-primary, #0b7f75));
}

.mw-widget--slider .mw-hero__cta--primary,
.mw-widget--slider .mw-hero__cta--primary.mc-button {
  box-shadow: 0 8px 20px color-mix(in srgb, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)) 35%, transparent);
}

.mw-widget--slider .mw-hero__cta,
.mw-widget--slider .mw-hero__cta.mc-button {
  border-radius: var(--mc-slider-button-radius, var(--mc-radius-pill, 9999px));
  font-size: var(--mc-slider-button-font-size, var(--mc-fs-ui));
}

.mw-widget--slider .mw-hero__cta--primary,
.mw-widget--slider .mw-hero__cta--primary.mc-button {
  --mc-button-bg: var(--mc-slider-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-border: var(--mc-slider-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-color: var(--mc-slider-button-text, #fff);
  --mc-button-hover-bg: var(--mc-slider-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-hover-border: var(--mc-slider-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-hover-color: var(--mc-slider-button-text, #fff);
  --mc-button-active-bg: var(--mc-slider-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-active-border: var(--mc-slider-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-active-color: var(--mc-slider-button-text, #fff);
  background-color: var(--mc-slider-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  color: var(--mc-slider-button-text, #fff);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--mc-slider-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75))) 35%, transparent);
}

.mw-widget--slider .mw-hero__cta--primary:hover,
.mw-widget--slider .mw-hero__cta--primary.mc-button:hover {
  background-color: var(--mc-slider-button-bg, var(--mc-primary-hover, #0f766e));
  color: var(--mc-slider-button-text, #fff);
}

.mw-widget--slider .mw-hero__cta--light,
.mw-widget--slider .mw-hero__cta--light.mc-button {
  --mc-button-bg: var(--mc-slider-button-bg, var(--mc-surface, #fff));
  --mc-button-border: var(--mc-slider-button-bg, var(--mc-surface, #fff));
  --mc-button-color: var(--mc-slider-button-text, var(--mc-text, #111827));
  --mc-button-hover-bg: var(--mc-slider-button-bg, var(--mc-surface, #fff));
  --mc-button-hover-border: var(--mc-slider-button-bg, var(--mc-surface, #fff));
  --mc-button-hover-color: var(--mc-slider-button-text, var(--mc-text, #111827));
  --mc-button-active-bg: var(--mc-slider-button-bg, var(--mc-surface, #fff));
  --mc-button-active-border: var(--mc-slider-button-bg, var(--mc-surface, #fff));
  --mc-button-active-color: var(--mc-slider-button-text, var(--mc-text, #111827));
  background-color: var(--mc-slider-button-bg, var(--mc-surface, #fff));
  color: var(--mc-slider-button-text, var(--mc-text, #111827));
}

.mw-widget--slider .mw-hero__cta--light:hover,
.mw-widget--slider .mw-hero__cta--light.mc-button:hover {
  color: var(--mc-slider-button-text, var(--mc-text, #111827));
}

.mw-widget--slider .mw-hero__cta--outline,
.mw-widget--slider .mw-hero__cta--outline.mc-button {
  --mc-button-bg: var(--mc-slider-button-bg, rgba(255, 255, 255, 0.08));
  --mc-button-border: var(--mc-slider-button-text, rgba(255, 255, 255, 0.7));
  --mc-button-color: var(--mc-slider-button-text, #fff);
  --mc-button-hover-bg: var(--mc-slider-button-bg, rgba(255, 255, 255, 0.16));
  --mc-button-hover-border: var(--mc-slider-button-text, rgba(255, 255, 255, 0.7));
  --mc-button-hover-color: var(--mc-slider-button-text, #fff);
  --mc-button-active-bg: var(--mc-slider-button-bg, rgba(255, 255, 255, 0.16));
  --mc-button-active-border: var(--mc-slider-button-text, rgba(255, 255, 255, 0.7));
  --mc-button-active-color: var(--mc-slider-button-text, #fff);
  background-color: var(--mc-slider-button-bg, rgba(255, 255, 255, 0.08));
  border-color: var(--mc-slider-button-text, rgba(255, 255, 255, 0.7));
  color: var(--mc-slider-button-text, #fff);
}

.mw-widget--slider .mw-hero__cta--outline:hover,
.mw-widget--slider .mw-hero__cta--outline.mc-button:hover {
  background-color: var(--mc-slider-button-bg, rgba(255, 255, 255, 0.16));
  color: var(--mc-slider-button-text, #fff);
}

.mw-cats .mw-cats__title {
  color: var(--mc-cats-title-color, var(--mc-text, #111827));
  font-size: var(--mc-cats-title-font-size, var(--mc-fs-h2));
}

.mw-cats .mw-cats__subtitle {
  color: var(--mc-cats-subtitle-color, var(--mc-text-muted, #6b7280));
  font-size: var(--mc-cats-subtitle-font-size, var(--mc-widget-body-font-size, var(--mc-fs-lead)));
  text-align: center;
}

.mw-cats.mw-cats--carousel .mw-cats__subtitle {
  text-align: left;
}

.mw-cats .mw-cats__name {
  color: var(--mc-cats-card-text, var(--mc-text, #111827));
  font-size: var(--mc-cats-card-text-font-size, var(--mc-fs-h3));
}

.mw-cats .mw-cats__count {
  color: var(--mc-cats-count-color, var(--mc-text-muted, #6b7280));
  font-size: var(--mc-cats-count-font-size, var(--mc-fs-body));
}

.mc-footer-en__title,
.mc-footer-en__links a,
.mc-footer-en__description,
.mc-footer-en__copyright,
.mc-footer-en__language,
.mc-footer-en__compliance,
.mc-footer-en__legal a {
  color: var(--mc-footer-en-text);
}

@media (max-width: 767.98px) {
  .mw-hero__heading,
  .mc-vh__heading,
  .mc-breadcrumb-widget__title {
    font-size: var(--mc-widget-heading-font-size, var(--mc-fs-h1));
  }
  .mw-hero__subheading,
  .mc-vh__lead,
  .mw-featured__subtitle,
  .mw-tm__subtitle,
  .mw-cats__subtitle,
  .mw-inst__subtitle,
  .mw-news__desc,
  .mc-breadcrumb-widget__subtitle,
  .mc-learning-promise__body,
  .mc-belief__subtitle,
  .mc-msc__copy p {
    font-size: var(--mc-widget-body-font-size, var(--mc-fs-body));
  }
}
/* Remaining widget preset bridges. These stay scoped to widget class names so
   existing storefront output is unchanged when no saved style values exist. */
.mw-tm {
  background: var(--mc-tm-bg, var(--mc-widget-bg, transparent));
}

.mw-tm__title {
  color: var(--mc-tm-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-tm-title-font-size, var(--mc-widget-heading-font-size));
}

.mw-tm__subtitle {
  color: var(--mc-tm-subtitle-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-tm-subtitle-font-size, var(--mc-widget-body-font-size));
}

.mw-tm__card {
  background: var(--mc-tm-card-bg, var(--mc-surface, #fff));
  border: var(--mc-tm-card-border-width, 1px) solid var(--mc-tm-card-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-tm-card-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
}

.mw-tm__stars {
  color: var(--mc-tm-rating-color, var(--mc-warning, #d97706));
}

.mw-tm__quote {
  color: var(--mc-tm-quote-color, var(--mc-widget-body-color, var(--mc-text, #111827)));
  font-size: var(--mc-tm-quote-font-size, var(--mc-widget-body-font-size));
}

.mw-tm__avatar {
  background: var(--mc-tm-avatar-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  color: var(--mc-tm-avatar-color, #fff);
}

.mw-tm__name {
  color: var(--mc-tm-name-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-tm-name-font-size);
}

.mw-tm__role {
  color: var(--mc-tm-role-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-tm-role-font-size);
}

.mw-inst {
  background: var(--mc-inst-bg, var(--mc-widget-bg, transparent));
}

.mw-inst__title {
  color: var(--mc-inst-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-inst-title-font-size, var(--mc-widget-heading-font-size));
}

.mw-inst__subtitle {
  color: var(--mc-inst-subtitle-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-inst-subtitle-font-size, var(--mc-widget-body-font-size));
}

.mw-inst__card {
  background: var(--mc-inst-card-bg, var(--mc-surface, #fff));
  border: var(--mc-inst-card-border-width, 1px) solid var(--mc-inst-card-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-inst-card-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
}

.mw-inst__avatar {
  background: var(--mc-inst-avatar-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  color: var(--mc-inst-avatar-color, #fff);
}

.mw-inst__name {
  color: var(--mc-inst-name-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-inst-name-font-size);
}

.mw-inst__role {
  color: var(--mc-inst-role-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  font-size: var(--mc-inst-role-font-size);
}

.mw-inst__bio {
  color: var(--mc-inst-bio-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-inst-bio-font-size, var(--mc-widget-body-font-size));
}

.mw-news {
  background: var(--mc-news-bg, var(--mc-widget-bg, var(--mc-primary, #0b7f75)));
}

.mw-news__inner {
  background: var(--mc-news-panel-bg, transparent);
  border: var(--mc-news-panel-border-width, 1px) solid var(--mc-news-panel-border, transparent);
  border-radius: var(--mc-news-panel-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
  padding: var(--mc-news-panel-padding-top, 0) var(--mc-news-panel-padding-right, 0) var(--mc-news-panel-padding-bottom, 0) var(--mc-news-panel-padding-left, 0);
}

.mw-news__heading {
  color: var(--mc-news-heading-color, var(--mc-widget-heading-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-news-heading-font-size, var(--mc-widget-heading-font-size));
}

.mw-news__desc,
.mw-news__success {
  color: var(--mc-news-text-color, var(--mc-widget-body-color, rgba(255, 255, 255, 0.82)));
  font-size: var(--mc-news-text-font-size, var(--mc-widget-body-font-size));
}

.mw-news__input {
  background: var(--mc-news-input-bg, rgba(255, 255, 255, 0.1));
  border-color: var(--mc-news-input-border, rgba(255, 255, 255, 0.25));
  color: var(--mc-news-input-text, var(--mc-text-inverse, #fff));
}

.mw-news__input::placeholder {
  color: var(--mc-news-placeholder, rgba(255, 255, 255, 0.6));
}

.mw-news__btn {
  background: var(--mc-news-button-bg, var(--mc-text-inverse, #fff));
  border-radius: var(--mc-news-button-radius, var(--mc-radius-pill, 9999px));
  color: var(--mc-news-button-text, var(--mc-primary, #0b7f75));
}

.mc-msc__stage {
  background: var(--mc-msc-card-bg, transparent);
  border: var(--mc-msc-card-border-width, 0) solid var(--mc-msc-card-border, transparent);
  border-radius: var(--mc-msc-card-radius, 0);
  overflow: hidden;
}

.mc-msc__media,
.mc-msc__media img,
.mc-msc__video,
.mc-msc__iframe {
  border-radius: var(--mc-msc-media-radius, 0);
}

.mc-msc__copy h2 {
  color: var(--mc-msc-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-msc-title-font-size, var(--mc-widget-heading-font-size));
}

.mc-msc__copy p {
  color: var(--mc-msc-text-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-msc-text-font-size, var(--mc-widget-body-font-size));
}

.mc-msc__nav,
.mc-msc__nav.mc-button {
  background: var(--mc-msc-icon-bg, transparent);
  color: var(--mc-msc-icon-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
}

.mc-msc__play,
.mc-msc__play.mc-button {
  background: var(--mc-msc-icon-bg, rgba(255, 255, 255, 0.12));
  color: var(--mc-msc-icon-color, #fff);
}

.mc-pw-content {
  background: var(--mc-pw-bg, var(--mc-widget-bg, var(--mc-surface, #fff)));
}

.mc-pw-content--card .mc-pw-content__inner {
  background: var(--mc-pw-panel-bg, var(--mc-surface, #fff));
  border-color: var(--mc-pw-panel-border, var(--mc-border, #e5e7eb));
}

.mc-pw-content h2 {
  color: var(--mc-pw-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-pw-title-font-size, var(--mc-widget-heading-font-size));
}

.mc-pw-subtitle {
  color: var(--mc-pw-subtitle-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-pw-subtitle-font-size, var(--mc-widget-body-font-size));
}

.mc-pw-content__text p {
  color: var(--mc-pw-text-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-pw-text-font-size, var(--mc-widget-body-font-size));
}

.mc-pw-icon {
  background: var(--mc-pw-icon-bg, var(--mc-primary-light, #f0fdfa));
  color: var(--mc-pw-icon-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  font-size: var(--mc-pw-icon-size);
}

.mc-pw-content__media,
.mc-pw-content__media img {
  border-radius: var(--mc-pw-media-radius, var(--mc-radius-lg, 8px));
}

.mc-pw-content__cta,
.mc-pw-content__cta.mc-button {
  --mc-button-bg: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-border: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-color: var(--mc-pw-button-text, #fff);
  background: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  border-color: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  border-radius: var(--mc-pw-button-radius, var(--mc-radius, 6px));
  color: var(--mc-pw-button-text, #fff);
}

.mc-learning-promise__inner {
  padding-top: var(--mc-lp-padding-top, 5.4rem);
  padding-bottom: var(--mc-lp-padding-bottom, 5rem);
}

.mc-learning-promise__title {
  color: var(--mc-widget-heading-color, var(--mc-text, #111827));
  font-size: var(--mc-widget-heading-font-size);
}

.mc-learning-promise__body {
  color: var(--mc-widget-body-color, var(--mc-text, #111827));
  font-size: var(--mc-widget-body-font-size);
}

.mc-belief__inner {
  padding-top: var(--mc-belief-padding-top, 3.25rem);
  padding-bottom: var(--mc-belief-padding-bottom, 4rem);
}

.mc-belief__title {
  color: var(--mc-belief-title-color, var(--mc-widget-heading-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-belief-title-font-size, var(--mc-widget-heading-font-size));
}

.mc-belief__subtitle {
  color: var(--mc-belief-subtitle-color, var(--mc-widget-body-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-belief-subtitle-font-size, var(--mc-widget-body-font-size));
}

.mc-belief__icon {
  color: var(--mc-belief-icon-color, var(--mc-widget-accent-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-belief-icon-size, 3.6rem);
}

.mc-belief__copy {
  color: var(--mc-belief-copy-color, var(--mc-widget-body-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-belief-copy-font-size, var(--mc-widget-body-font-size));
}

.mc-belief__closing {
  color: var(--mc-belief-closing-color, var(--mc-widget-heading-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-belief-closing-font-size, var(--mc-widget-body-font-size));
}

.mc-pw-policy,
.mc-pw-support {
  background: var(--mc-pw-card-bg, var(--mc-surface, #fff));
  border: var(--mc-pw-card-border-width, 1px) solid var(--mc-pw-card-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-pw-card-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
}

.mc-pw-policy .mc-pw-sectionhead h2,
.mc-pw-faq .mc-pw-sectionhead h2,
.mc-pw-support .mc-pw-sectionhead h2,
.mc-pw-contactcards .mc-pw-sectionhead h2 {
  color: var(--mc-pw-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-pw-title-font-size, var(--mc-widget-heading-font-size));
}

.mc-pw-policy .mc-pw-sectionhead p,
.mc-pw-faq .mc-pw-sectionhead p,
.mc-pw-support .mc-pw-sectionhead p,
.mc-pw-contactcards .mc-pw-sectionhead p {
  color: var(--mc-pw-subtitle-color, var(--mc-pw-text-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280))));
  font-size: var(--mc-pw-subtitle-font-size, var(--mc-pw-text-font-size, var(--mc-widget-body-font-size)));
}

.mc-pw-policy__section {
  border-color: var(--mc-pw-card-border, var(--mc-border, #e5e7eb));
}

.mc-pw-policy__section h3,
.mc-pw-contactcards__card h3 {
  color: var(--mc-pw-label-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-pw-label-font-size, var(--mc-widget-heading-font-size));
}

.mc-pw-policy__section p,
.mc-pw-policy__section li,
.mc-pw-contactcards__card p {
  color: var(--mc-pw-text-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-pw-text-font-size, var(--mc-widget-body-font-size));
}

.mc-pw-faq__item {
  background: var(--mc-pw-item-bg, var(--mc-surface-alt, #f8fafc));
  border: var(--mc-pw-item-border-width, 1px) solid var(--mc-pw-item-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-pw-item-radius, var(--mc-widget-radius, var(--mc-radius, 6px)));
}

.mc-pw-faq__item summary {
  color: var(--mc-pw-question-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-pw-question-font-size, var(--mc-widget-heading-font-size));
}

.mc-pw-faq__item summary::marker {
  color: var(--mc-pw-icon-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
}

.mc-pw-faq__item > div {
  border-color: var(--mc-pw-item-border, var(--mc-border, #e5e7eb));
}

.mc-pw-faq__item p {
  color: var(--mc-pw-answer-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-pw-answer-font-size, var(--mc-widget-body-font-size));
}

.mc-pw-cta {
  background: var(--mc-pw-cta-bg, var(--mc-widget-bg, var(--mc-primary, #0b7f75)));
  border-radius: var(--mc-pw-cta-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
}

.mc-pw-cta h2 {
  color: var(--mc-pw-cta-title-color, var(--mc-widget-heading-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-pw-cta-title-font-size, var(--mc-widget-heading-font-size));
}

.mc-pw-cta p {
  color: var(--mc-pw-cta-text-color, var(--mc-widget-body-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-pw-cta-text-font-size, var(--mc-widget-body-font-size));
}

.mc-pw-cta__primary,
.mc-pw-cta__primary.mc-button {
  background: var(--mc-pw-cta-primary-bg, #fff);
  border-color: var(--mc-pw-cta-primary-bg, #fff);
  border-radius: var(--mc-pw-cta-button-radius, var(--mc-radius, 6px));
  color: var(--mc-pw-cta-primary-text, var(--mc-primary, #0b7f75));
}

.mc-pw-cta__secondary,
.mc-pw-cta__secondary.mc-button {
  background: var(--mc-pw-cta-secondary-bg, rgba(255, 255, 255, 0.14));
  border-color: var(--mc-pw-cta-secondary-bg, rgba(255, 255, 255, 0.14));
  border-radius: var(--mc-pw-cta-button-radius, var(--mc-radius, 6px));
  color: var(--mc-pw-cta-secondary-text, #fff);
}

.mc-pw-formgrid span {
  color: var(--mc-pw-form-label-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
}

.mc-pw-formgrid input,
.mc-pw-formgrid select,
.mc-pw-formgrid textarea {
  background: var(--mc-pw-input-bg, #fff);
  border-color: var(--mc-pw-input-border, var(--mc-border, #e5e7eb));
  color: var(--mc-pw-input-text, var(--mc-text, #111827));
}

.mc-pw-support__actions .btn-mc-primary,
.mc-pw-support__actions .btn-mc-primary.mc-button {
  --mc-button-bg: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-border: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-color: var(--mc-pw-button-text, #fff);
  background: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  border-color: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  border-radius: var(--mc-pw-button-radius, var(--mc-radius, 6px));
  color: var(--mc-pw-button-text, #fff);
}

.mc-pw-support__actions .mc-btn-soft,
.mc-pw-support__actions .mc-btn-soft.mc-button {
  background: var(--mc-pw-secondary-button-bg, var(--mc-surface-alt, #f8fafc));
  border-radius: var(--mc-pw-button-radius, var(--mc-radius, 6px));
  color: var(--mc-pw-secondary-button-text, var(--mc-text, #111827));
}

.mc-pw-contactcards {
  background: var(--mc-pw-bg, var(--mc-widget-bg, var(--mc-surface, #fff)));
}

.mc-pw-contactcards__card {
  background: var(--mc-pw-card-bg, var(--mc-surface-alt, #f8fafc));
  border: var(--mc-pw-card-border-width, 1px) solid var(--mc-pw-card-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-pw-card-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
}

.mc-pw-contactcards__card a {
  color: var(--mc-pw-link-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
}

.mc-footer .mc-footer__title,
.mc-footer .mc-footer-mc__title,
.mc-footer .mc-footer-en__title {
  font-size: var(--mc-footer-heading-font-size);
}

.mc-footer :where(p, address, a, span, input) {
  font-size: var(--mc-footer-text-font-size);
}

.mc-footer-en__subscribe input {
  background: var(--mc-footer-input-bg, transparent);
  border-color: var(--mc-footer-input-border, var(--mc-footer-border, var(--mc-footer-en-border, rgba(255, 255, 255, 0.16))));
  color: var(--mc-footer-input-text, currentColor);
}

.mc-footer-en__subscribe button,
.mc-footer-en__subscribe-button.mc-button {
  background: var(--mc-footer-button-bg, transparent);
  border-color: var(--mc-footer-button-bg, currentColor);
  color: var(--mc-footer-button-text, currentColor);
}

/* Widget settings audit bridge. Keep these rules last so saved widget and
   preset values win over shared storefront typography and button defaults. */
.mw-widget--testimonials .mw-tm {
  background: var(--mc-tm-bg, var(--mc-widget-bg, transparent));
}

.mw-widget--testimonials .mw-tm__title {
  color: var(--mc-tm-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-tm-title-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-h2)));
}

.mw-widget--testimonials .mw-tm__subtitle {
  color: var(--mc-tm-subtitle-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-tm-subtitle-font-size, var(--mc-widget-body-font-size, var(--mc-fs-lead)));
}

.mw-widget--testimonials .mw-tm__card {
  background: var(--mc-tm-card-bg, var(--mc-surface, #fff));
  border: var(--mc-tm-card-border-width, 1px) solid var(--mc-tm-card-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-tm-card-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
}

.mw-widget--testimonials .mw-tm__stars {
  color: var(--mc-tm-rating-color, var(--mc-warning, #d97706));
}

.mw-widget--testimonials .mw-tm__quote {
  color: var(--mc-tm-quote-color, var(--mc-widget-body-color, var(--mc-text, #111827)));
  font-size: var(--mc-tm-quote-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body)));
}

.mw-widget--testimonials .mw-tm__avatar {
  background: var(--mc-tm-avatar-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  color: var(--mc-tm-avatar-color, #fff);
}

.mw-widget--testimonials .mw-tm__name {
  color: var(--mc-tm-name-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-tm-name-font-size, var(--mc-fs-body));
}

.mw-widget--testimonials .mw-tm__role {
  color: var(--mc-tm-role-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-tm-role-font-size, var(--mc-fs-body-sm));
}

.mw-widget--instructors .mw-inst {
  background: var(--mc-inst-bg, var(--mc-widget-bg, transparent));
}

.mw-widget--instructors .mw-inst__title {
  color: var(--mc-inst-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-inst-title-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-h2)));
}

.mw-widget--instructors .mw-inst__subtitle {
  color: var(--mc-inst-subtitle-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-inst-subtitle-font-size, var(--mc-widget-body-font-size, var(--mc-fs-lead)));
}

.mw-widget--instructors .mw-inst__card {
  background: var(--mc-inst-card-bg, var(--mc-surface, #fff));
  border: var(--mc-inst-card-border-width, 1px) solid var(--mc-inst-card-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-inst-card-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
}

.mw-widget--instructors .mw-inst__avatar {
  background: var(--mc-inst-avatar-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  color: var(--mc-inst-avatar-color, #fff);
}

.mw-widget--instructors .mw-inst__name {
  color: var(--mc-inst-name-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-inst-name-font-size, var(--mc-fs-body));
}

.mw-widget--instructors .mw-inst__role {
  color: var(--mc-inst-role-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  font-size: var(--mc-inst-role-font-size, var(--mc-fs-body-sm));
}

.mw-widget--instructors .mw-inst__bio {
  color: var(--mc-inst-bio-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-inst-bio-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body-sm)));
}

.mw-widget--newsletter .mw-news {
  background: var(--mc-news-bg, var(--mc-widget-bg, var(--mc-primary, #0b7f75)));
  background-color: var(--mc-news-bg, var(--mc-widget-bg, var(--mc-primary, #0b7f75)));
  color: var(--mc-news-text-color, var(--mc-widget-body-color, var(--mc-text-inverse, #fff)));
}

.mw-widget--newsletter .mw-news__inner {
  background: var(--mc-news-panel-bg, transparent);
  border: var(--mc-news-panel-border-width, 1px) solid var(--mc-news-panel-border, transparent);
  border-radius: var(--mc-news-panel-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
  padding: var(--mc-news-panel-padding-top, 0) var(--mc-news-panel-padding-right, 0) var(--mc-news-panel-padding-bottom, 0) var(--mc-news-panel-padding-left, 0);
}

.mw-widget--newsletter .mw-news__heading {
  color: var(--mc-news-heading-color, var(--mc-widget-heading-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-news-heading-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-h2)));
}

.mw-widget--newsletter .mw-news__desc,
.mw-widget--newsletter .mw-news__success {
  color: var(--mc-news-text-color, var(--mc-widget-body-color, rgba(255, 255, 255, 0.82)));
  font-size: var(--mc-news-text-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body)));
}

.mw-widget--newsletter .mw-news__input {
  background: var(--mc-news-input-bg, rgba(255, 255, 255, 0.1));
  border-color: var(--mc-news-input-border, rgba(255, 255, 255, 0.25));
  color: var(--mc-news-input-text, var(--mc-text-inverse, #fff));
}

.mw-widget--newsletter .mw-news__input::placeholder {
  color: var(--mc-news-placeholder, rgba(255, 255, 255, 0.6));
}

.mw-widget--newsletter .mw-news__btn,
.mw-widget--newsletter .mw-news__btn.mc-button {
  --mc-button-bg: var(--mc-news-button-bg, var(--mc-text-inverse, #fff));
  --mc-button-border: var(--mc-news-button-bg, var(--mc-text-inverse, #fff));
  --mc-button-color: var(--mc-news-button-text, var(--mc-primary, #0b7f75));
  --mc-button-hover-bg: var(--mc-news-button-bg, var(--mc-surface-alt, #f8fafc));
  --mc-button-hover-border: var(--mc-news-button-bg, var(--mc-surface-alt, #f8fafc));
  --mc-button-hover-color: var(--mc-news-button-text, var(--mc-primary, #0b7f75));
  background: var(--mc-news-button-bg, var(--mc-text-inverse, #fff));
  border-color: var(--mc-news-button-bg, var(--mc-text-inverse, #fff));
  border-radius: var(--mc-news-button-radius, var(--mc-radius-pill, 9999px));
  color: var(--mc-news-button-text, var(--mc-primary, #0b7f75));
}

.mw-widget--newsletter .mw-news__btn:hover,
.mw-widget--newsletter .mw-news__btn:focus,
.mw-widget--newsletter .mw-news__btn.mc-button:hover,
.mw-widget--newsletter .mw-news__btn.mc-button:focus {
  background: var(--mc-news-button-bg, var(--mc-surface-alt, #f8fafc));
  border-color: var(--mc-news-button-bg, var(--mc-surface-alt, #f8fafc));
  color: var(--mc-news-button-text, var(--mc-primary, #0b7f75));
}

.mw-widget--mediastorycarousel .mc-msc {
  background: var(--mc-widget-bg, var(--mc-surface-alt, #f8fafc));
}

.mw-widget--mediastorycarousel .mc-msc__stage {
  background: var(--mc-msc-card-bg, transparent);
  border: var(--mc-msc-card-border-width, 0) solid var(--mc-msc-card-border, transparent);
  border-radius: var(--mc-msc-card-radius, 0);
}

.mw-widget--mediastorycarousel .mc-msc__media,
.mw-widget--mediastorycarousel .mc-msc__media img,
.mw-widget--mediastorycarousel .mc-msc__video,
.mw-widget--mediastorycarousel .mc-msc__iframe {
  border-radius: var(--mc-msc-media-radius, 0);
}

.mw-widget--mediastorycarousel .mc-msc__copy h2 {
  color: var(--mc-msc-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-msc-title-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-h2)));
}

.mw-widget--mediastorycarousel .mc-msc__copy p {
  color: var(--mc-msc-text-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-msc-text-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body)));
}

.mw-widget--mediastorycarousel .mc-msc__nav,
.mw-widget--mediastorycarousel .mc-msc__nav.mc-button,
.mw-widget--mediastorycarousel .mc-msc__play,
.mw-widget--mediastorycarousel .mc-msc__play.mc-button {
  background: var(--mc-msc-icon-bg, rgba(255, 255, 255, 0.12));
  color: var(--mc-msc-icon-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
}

.mw-widget--content .mc-pw-content {
  background: var(--mc-pw-bg, var(--mc-widget-bg, var(--mc-surface, #fff)));
}

.mw-widget--content .mc-pw-content--card .mc-pw-content__inner {
  background: var(--mc-pw-panel-bg, var(--mc-surface, #fff));
  border-color: var(--mc-pw-panel-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-pw-card-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
}

.mw-widget--content .mc-pw-content h2 {
  color: var(--mc-pw-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-pw-title-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-h2)));
}

.mw-widget--content .mc-pw-subtitle {
  color: var(--mc-pw-subtitle-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-pw-subtitle-font-size, var(--mc-widget-body-font-size, var(--mc-fs-lead)));
}

.mw-widget--content .mc-pw-content__text p {
  color: var(--mc-pw-text-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-pw-text-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body)));
}

.mw-widget--content .mc-pw-icon,
.mw-widget--contactcards .mc-pw-icon {
  background: var(--mc-pw-icon-bg, var(--mc-primary-light, #f0fdfa));
  color: var(--mc-pw-icon-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  font-size: var(--mc-pw-icon-size, 1.2rem);
}

.mw-widget--content .mc-pw-content__media,
.mw-widget--content .mc-pw-content__media img {
  border-radius: var(--mc-pw-media-radius, var(--mc-radius-lg, 8px));
}

.mw-widget--content .mc-pw-content__cta,
.mw-widget--content .mc-pw-content__cta.mc-button {
  --mc-button-bg: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-border: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-color: var(--mc-pw-button-text, #fff);
  --mc-button-hover-bg: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-hover-border: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-hover-color: var(--mc-pw-button-text, #fff);
  background: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  border-color: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  border-radius: var(--mc-pw-button-radius, var(--mc-radius, 6px));
  color: var(--mc-pw-button-text, #fff);
}

.mw-widget--learningpromise .mc-learning-promise {
  background: var(--mc-widget-bg, var(--mc-surface, #fff));
}

.mw-widget--learningpromise .mc-learning-promise__inner {
  padding-top: var(--mc-lp-padding-top, 5.4rem);
  padding-bottom: var(--mc-lp-padding-bottom, 5rem);
}

.mw-widget--learningpromise .mc-learning-promise__title {
  color: var(--mc-widget-heading-color, var(--mc-text, #111827));
  font-size: var(--mc-widget-heading-font-size, var(--mc-fs-h2));
}

.mw-widget--learningpromise .mc-learning-promise__body {
  color: var(--mc-widget-body-color, var(--mc-text, #111827));
  font-size: var(--mc-widget-body-font-size, var(--mc-fs-lead));
}

.mw-widget--belief .mc-belief {
  background: var(--mc-widget-bg, var(--mc-primary, #0b7f75));
}

.mw-widget--belief .mc-belief__inner {
  padding-top: var(--mc-belief-padding-top, 3.25rem);
  padding-bottom: var(--mc-belief-padding-bottom, 4rem);
}

.mw-widget--belief .mc-belief__title {
  color: var(--mc-belief-title-color, var(--mc-widget-heading-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-belief-title-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-h2)));
}

.mw-widget--belief .mc-belief__subtitle {
  color: var(--mc-belief-subtitle-color, var(--mc-widget-body-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-belief-subtitle-font-size, var(--mc-widget-body-font-size, var(--mc-fs-lead)));
}

.mw-widget--belief .mc-belief__icon {
  color: var(--mc-belief-icon-color, var(--mc-widget-accent-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-belief-icon-size, 3.6rem);
}

.mw-widget--belief .mc-belief__copy {
  color: var(--mc-belief-copy-color, var(--mc-widget-body-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-belief-copy-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body)));
}

.mw-widget--belief .mc-belief__closing {
  color: var(--mc-belief-closing-color, var(--mc-widget-heading-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-belief-closing-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body)));
}

.mw-widget--policy .mc-pw-policy,
.mw-widget--supportform .mc-pw-support {
  background: var(--mc-pw-card-bg, var(--mc-surface, #fff));
  border: var(--mc-pw-card-border-width, 1px) solid var(--mc-pw-card-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-pw-card-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
}

.mw-widget--policy .mc-pw-sectionhead h2,
.mw-widget--faq .mc-pw-sectionhead h2,
.mw-widget--supportform .mc-pw-sectionhead h2,
.mw-widget--contactcards .mc-pw-sectionhead h2 {
  color: var(--mc-pw-title-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-pw-title-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-h2)));
}

.mw-widget--policy .mc-pw-sectionhead p,
.mw-widget--faq .mc-pw-sectionhead p,
.mw-widget--supportform .mc-pw-sectionhead p,
.mw-widget--contactcards .mc-pw-sectionhead p {
  color: var(--mc-pw-subtitle-color, var(--mc-pw-text-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280))));
  font-size: var(--mc-pw-subtitle-font-size, var(--mc-pw-text-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body))));
}

.mw-widget--policy .mc-pw-policy__section {
  border-color: var(--mc-pw-card-border, var(--mc-border, #e5e7eb));
}

.mw-widget--policy .mc-pw-policy__section h3,
.mw-widget--contactcards .mc-pw-contactcards__card h3 {
  color: var(--mc-pw-label-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-pw-label-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-h3)));
}

.mw-widget--policy .mc-pw-policy__section p,
.mw-widget--policy .mc-pw-policy__section li,
.mw-widget--contactcards .mc-pw-contactcards__card p {
  color: var(--mc-pw-text-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-pw-text-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body)));
}

.mw-widget--faq .mc-pw-faq {
  background: var(--mc-widget-bg, transparent);
}

.mw-widget--faq .mc-pw-faq__item {
  background: var(--mc-pw-item-bg, var(--mc-surface-alt, #f8fafc));
  border: var(--mc-pw-item-border-width, 1px) solid var(--mc-pw-item-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-pw-item-radius, var(--mc-widget-radius, var(--mc-radius, 6px)));
}

.mw-widget--faq .mc-pw-faq__item summary {
  color: var(--mc-pw-question-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
  font-size: var(--mc-pw-question-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-body)));
}

.mw-widget--faq .mc-pw-faq__item summary::marker {
  color: var(--mc-pw-icon-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
}

.mw-widget--faq .mc-pw-faq__item > div {
  border-color: var(--mc-pw-item-border, var(--mc-border, #e5e7eb));
}

.mw-widget--faq .mc-pw-faq__item p {
  color: var(--mc-pw-answer-color, var(--mc-widget-body-color, var(--mc-text-muted, #6b7280)));
  font-size: var(--mc-pw-answer-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body)));
}

.mw-widget--cta .mc-pw-cta {
  background: var(--mc-pw-cta-bg, var(--mc-widget-bg, var(--mc-primary, #0b7f75)));
  border-radius: var(--mc-pw-cta-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
}

.mw-widget--cta .mc-pw-cta h2 {
  color: var(--mc-pw-cta-title-color, var(--mc-widget-heading-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-pw-cta-title-font-size, var(--mc-widget-heading-font-size, var(--mc-fs-h2)));
}

.mw-widget--cta .mc-pw-cta p {
  color: var(--mc-pw-cta-text-color, var(--mc-widget-body-color, var(--mc-text-inverse, #fff)));
  font-size: var(--mc-pw-cta-text-font-size, var(--mc-widget-body-font-size, var(--mc-fs-body)));
}

.mw-widget--cta .mc-pw-cta__primary,
.mw-widget--cta .mc-pw-cta__primary.mc-button {
  --mc-button-bg: var(--mc-pw-cta-primary-bg, #fff);
  --mc-button-border: var(--mc-pw-cta-primary-bg, #fff);
  --mc-button-color: var(--mc-pw-cta-primary-text, var(--mc-primary, #0b7f75));
  --mc-button-hover-bg: var(--mc-pw-cta-primary-bg, #fff);
  --mc-button-hover-border: var(--mc-pw-cta-primary-bg, #fff);
  --mc-button-hover-color: var(--mc-pw-cta-primary-text, var(--mc-primary, #0b7f75));
  background: var(--mc-pw-cta-primary-bg, #fff);
  border-color: var(--mc-pw-cta-primary-bg, #fff);
  border-radius: var(--mc-pw-cta-button-radius, var(--mc-radius, 6px));
  color: var(--mc-pw-cta-primary-text, var(--mc-primary, #0b7f75));
}

.mw-widget--cta .mc-pw-cta__secondary,
.mw-widget--cta .mc-pw-cta__secondary.mc-button {
  --mc-button-bg: var(--mc-pw-cta-secondary-bg, rgba(255, 255, 255, .14));
  --mc-button-border: var(--mc-pw-cta-secondary-bg, rgba(255, 255, 255, .14));
  --mc-button-color: var(--mc-pw-cta-secondary-text, #fff);
  --mc-button-hover-bg: var(--mc-pw-cta-secondary-bg, rgba(255, 255, 255, .14));
  --mc-button-hover-border: var(--mc-pw-cta-secondary-bg, rgba(255, 255, 255, .14));
  --mc-button-hover-color: var(--mc-pw-cta-secondary-text, #fff);
  background: var(--mc-pw-cta-secondary-bg, rgba(255, 255, 255, 0.14));
  border-color: var(--mc-pw-cta-secondary-bg, rgba(255, 255, 255, 0.14));
  border-radius: var(--mc-pw-cta-button-radius, var(--mc-radius, 6px));
  color: var(--mc-pw-cta-secondary-text, #fff);
}

.mw-widget--supportform .mc-pw-formgrid span {
  color: var(--mc-pw-form-label-color, var(--mc-widget-heading-color, var(--mc-text, #111827)));
}

.mw-widget--supportform .mc-pw-formgrid input,
.mw-widget--supportform .mc-pw-formgrid select,
.mw-widget--supportform .mc-pw-formgrid textarea {
  background: var(--mc-pw-input-bg, #fff);
  border-color: var(--mc-pw-input-border, var(--mc-border, #e5e7eb));
  color: var(--mc-pw-input-text, var(--mc-text, #111827));
}

.mw-widget--supportform .mc-pw-support__actions .btn-mc-primary,
.mw-widget--supportform .mc-pw-support__actions .btn-mc-primary.mc-button {
  --mc-button-bg: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-border: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  --mc-button-color: var(--mc-pw-button-text, #fff);
  --mc-button-hover-bg: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-hover-border: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary-hover, #0f766e)));
  --mc-button-hover-color: var(--mc-pw-button-text, #fff);
  background: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  border-color: var(--mc-pw-button-bg, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
  border-radius: var(--mc-pw-button-radius, var(--mc-radius, 6px));
  color: var(--mc-pw-button-text, #fff);
}

.mw-widget--supportform .mc-pw-support__actions .mc-btn-soft,
.mw-widget--supportform .mc-pw-support__actions .mc-btn-soft.mc-button {
  --mc-button-bg: var(--mc-pw-secondary-button-bg, var(--mc-surface-alt, #f8fafc));
  --mc-button-color: var(--mc-pw-secondary-button-text, var(--mc-text, #111827));
  background: var(--mc-pw-secondary-button-bg, var(--mc-surface-alt, #f8fafc));
  border-radius: var(--mc-pw-button-radius, var(--mc-radius, 6px));
  color: var(--mc-pw-secondary-button-text, var(--mc-text, #111827));
}

.mw-widget--contactcards .mc-pw-contactcards {
  background: var(--mc-pw-bg, var(--mc-widget-bg, var(--mc-surface, #fff)));
}

.mw-widget--contactcards .mc-pw-contactcards__card {
  background: var(--mc-pw-card-bg, var(--mc-surface-alt, #f8fafc));
  border: var(--mc-pw-card-border-width, 1px) solid var(--mc-pw-card-border, var(--mc-border, #e5e7eb));
  border-radius: var(--mc-pw-card-radius, var(--mc-widget-radius, var(--mc-radius-lg, 8px)));
}

.mw-widget--contactcards .mc-pw-contactcards__card a {
  color: var(--mc-pw-link-color, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
}

.mw-widget--footer .mc-footer {
  background: var(--mc-footer-bg, var(--mc-widget-bg, inherit));
}

.mw-widget--footer .mc-footer .mc-footer__title,
.mw-widget--footer .mc-footer .mc-footer-mc__title,
.mw-widget--footer .mc-footer .mc-footer-en__title {
  color: var(--mc-footer-heading, currentColor);
  font-size: var(--mc-footer-heading-font-size, var(--mc-fs-h5));
}

.mw-widget--footer .mc-footer :where(p, address, span, input),
.mw-widget--footer .mc-footer .mc-footer__address,
.mw-widget--footer .mc-footer .mc-footer-mc__description,
.mw-widget--footer .mc-footer .mc-footer-en__description,
.mw-widget--footer .mc-footer .mc-footer__copyright,
.mw-widget--footer .mc-footer .mc-footer-mc__copyright,
.mw-widget--footer .mc-footer .mc-footer-en__copyright {
  color: var(--mc-footer-text, currentColor);
  font-size: var(--mc-footer-text-font-size, var(--mc-fs-body));
}

.mw-widget--footer .mc-footer a,
.mw-widget--footer .mc-footer .mc-footer__links a,
.mw-widget--footer .mc-footer .mc-footer-mc__links a,
.mw-widget--footer .mc-footer .mc-footer-en__links a,
.mw-widget--footer .mc-footer .mc-footer-mc__legal a,
.mw-widget--footer .mc-footer .mc-footer-en__legal a {
  color: var(--mc-footer-link, currentColor);
}

.mw-widget--footer .mc-footer .mc-footer__contact-icon,
.mw-widget--footer .mc-footer .mc-footer__social a,
.mw-widget--footer .mc-footer .mc-footer-mc__social a,
.mw-widget--footer .mc-footer .mc-footer-en__social a {
  background: var(--mc-footer-chip, transparent);
  color: var(--mc-footer-accent, currentColor);
}

.mw-widget--footer .mc-footer-en__subscribe input {
  background: var(--mc-footer-input-bg, transparent);
  border-color: var(--mc-footer-input-border, var(--mc-footer-border, var(--mc-footer-en-border, rgba(255, 255, 255, 0.16))));
  color: var(--mc-footer-input-text, currentColor);
}

.mw-widget--footer .mc-footer-en__subscribe button,
.mw-widget--footer .mc-footer-en__subscribe-button.mc-button {
  --mc-button-bg: var(--mc-footer-button-bg, transparent);
  --mc-button-border: var(--mc-footer-button-bg, currentColor);
  --mc-button-color: var(--mc-footer-button-text, currentColor);
  background: var(--mc-footer-button-bg, transparent);
  border-color: var(--mc-footer-button-bg, currentColor);
  color: var(--mc-footer-button-text, currentColor);
}

.mc-sf-widget :where(a:not(.mc-button):not(.btn):not([class*=btn-])) {
  color: var(--mc-link, var(--mc-widget-accent-color, var(--mc-primary, #0b7f75)));
}

/*
 * Modern Commerce storefront widget renderer bundle.
 *
 * Loaded where the public widget renderer or gallery preview can appear.
 */