:root {
  --mc-theme-color-primary: #ffd21d;
  --mc-theme-color-secondary: #ffac25;
  --mc-theme-color-accent: #2bb3c0;
  --mc-theme-color-ink: #151515;
  --mc-theme-color-paper: #fffaf0;

  --mc-theme-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mc-theme-font-heading: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mc-theme-font-display: "Caveat", cursive;

  --mc-theme-radius-card: 24px;
  --mc-theme-radius-button: 18px;
  --mc-theme-radius-pill: 999px;

  --mc-theme-shadow-soft: 0 14px 40px rgba(21, 21, 21, 0.10);
  --mc-theme-shadow-pop: 0 18px 32px rgba(255, 172, 37, 0.28);

  --mc-theme-space-section-y: 72px;
  --mc-theme-space-section-x: 24px;
  --mc-theme-space-section-compact-y: 44px;
  --mc-theme-space-card-gap: 20px;

  --mc-theme-button-primary-bg: var(--mc-theme-color-primary);
  --mc-theme-button-primary-color: var(--mc-theme-color-ink);
  --mc-theme-button-primary-border: var(--mc-theme-color-ink);
  --mc-theme-button-primary-radius: var(--mc-theme-radius-button);
  --mc-theme-button-primary-shadow: var(--mc-theme-shadow-pop);
  --mc-theme-button-primary-padding: 0.78em 1.35em;
}

.theme-color-primary { color: var(--mc-theme-color-primary) !important; }
.theme-color-secondary { color: var(--mc-theme-color-secondary) !important; }
.theme-color-accent { color: var(--mc-theme-color-accent) !important; }
.theme-color-ink { color: var(--mc-theme-color-ink) !important; }
.theme-color-paper { color: var(--mc-theme-color-paper) !important; }

.theme-bg-primary { background-color: var(--mc-theme-color-primary) !important; }
.theme-bg-secondary { background-color: var(--mc-theme-color-secondary) !important; }
.theme-bg-accent { background-color: var(--mc-theme-color-accent) !important; }
.theme-bg-ink { background-color: var(--mc-theme-color-ink) !important; }
.theme-bg-paper { background-color: var(--mc-theme-color-paper) !important; }

.theme-border-primary { border-color: var(--mc-theme-color-primary) !important; }
.theme-border-secondary { border-color: var(--mc-theme-color-secondary) !important; }
.theme-border-accent { border-color: var(--mc-theme-color-accent) !important; }
.theme-border-ink { border-color: var(--mc-theme-color-ink) !important; }
.theme-border-paper { border-color: var(--mc-theme-color-paper) !important; }

.theme-font-body { font-family: var(--mc-theme-font-body) !important; }
.theme-font-heading { font-family: var(--mc-theme-font-heading) !important; }
.theme-font-display { font-family: var(--mc-theme-font-display) !important; }

.theme-radius-card { border-radius: var(--mc-theme-radius-card) !important; }
.theme-radius-button { border-radius: var(--mc-theme-radius-button) !important; }
.theme-radius-pill { border-radius: var(--mc-theme-radius-pill) !important; }

.theme-shadow-none { box-shadow: none !important; }
.theme-shadow-soft { box-shadow: var(--mc-theme-shadow-soft) !important; }
.theme-shadow-pop { box-shadow: var(--mc-theme-shadow-pop) !important; }
.theme-boxshadow-none { box-shadow: none !important; }
.theme-boxshadow-soft { box-shadow: var(--mc-theme-shadow-soft) !important; }
.theme-boxshadow-pop { box-shadow: var(--mc-theme-shadow-pop) !important; }

.theme-space-section { padding-block: var(--mc-theme-space-section-y) !important; padding-inline: var(--mc-theme-space-section-x) !important; }
.theme-space-compact { padding-block: var(--mc-theme-space-section-compact-y) !important; padding-inline: var(--mc-theme-space-section-x) !important; }
.theme-space-gap { gap: var(--mc-theme-space-card-gap) !important; }

.theme-button-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5em !important;
  min-height: 2.6em !important;
  padding: var(--mc-theme-button-primary-padding) !important;
  border: 2px solid var(--mc-theme-button-primary-border) !important;
  border-radius: var(--mc-theme-button-primary-radius) !important;
  background: var(--mc-theme-button-primary-bg) !important;
  color: var(--mc-theme-button-primary-color) !important;
  box-shadow: var(--mc-theme-button-primary-shadow) !important;
  font-family: var(--mc-theme-font-heading) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
}

@media (min-width: 576px) {
  .theme-color-sm-primary { color: var(--mc-theme-color-primary) !important; }
  .theme-color-sm-secondary { color: var(--mc-theme-color-secondary) !important; }
  .theme-color-sm-accent { color: var(--mc-theme-color-accent) !important; }
  .theme-color-sm-ink { color: var(--mc-theme-color-ink) !important; }
  .theme-color-sm-paper { color: var(--mc-theme-color-paper) !important; }
  .theme-bg-sm-primary { background-color: var(--mc-theme-color-primary) !important; }
  .theme-bg-sm-secondary { background-color: var(--mc-theme-color-secondary) !important; }
  .theme-bg-sm-accent { background-color: var(--mc-theme-color-accent) !important; }
  .theme-bg-sm-ink { background-color: var(--mc-theme-color-ink) !important; }
  .theme-bg-sm-paper { background-color: var(--mc-theme-color-paper) !important; }
  .theme-border-sm-primary { border-color: var(--mc-theme-color-primary) !important; }
  .theme-border-sm-secondary { border-color: var(--mc-theme-color-secondary) !important; }
  .theme-border-sm-accent { border-color: var(--mc-theme-color-accent) !important; }
  .theme-border-sm-ink { border-color: var(--mc-theme-color-ink) !important; }
  .theme-border-sm-paper { border-color: var(--mc-theme-color-paper) !important; }
  .theme-font-sm-body { font-family: var(--mc-theme-font-body) !important; }
  .theme-font-sm-heading { font-family: var(--mc-theme-font-heading) !important; }
  .theme-font-sm-display { font-family: var(--mc-theme-font-display) !important; }
  .theme-radius-sm-card { border-radius: var(--mc-theme-radius-card) !important; }
  .theme-radius-sm-button { border-radius: var(--mc-theme-radius-button) !important; }
  .theme-radius-sm-pill { border-radius: var(--mc-theme-radius-pill) !important; }
}

@media (min-width: 768px) {
  .theme-color-md-primary { color: var(--mc-theme-color-primary) !important; }
  .theme-color-md-secondary { color: var(--mc-theme-color-secondary) !important; }
  .theme-color-md-accent { color: var(--mc-theme-color-accent) !important; }
  .theme-color-md-ink { color: var(--mc-theme-color-ink) !important; }
  .theme-color-md-paper { color: var(--mc-theme-color-paper) !important; }
  .theme-bg-md-primary { background-color: var(--mc-theme-color-primary) !important; }
  .theme-bg-md-secondary { background-color: var(--mc-theme-color-secondary) !important; }
  .theme-bg-md-accent { background-color: var(--mc-theme-color-accent) !important; }
  .theme-bg-md-ink { background-color: var(--mc-theme-color-ink) !important; }
  .theme-bg-md-paper { background-color: var(--mc-theme-color-paper) !important; }
  .theme-border-md-primary { border-color: var(--mc-theme-color-primary) !important; }
  .theme-border-md-secondary { border-color: var(--mc-theme-color-secondary) !important; }
  .theme-border-md-accent { border-color: var(--mc-theme-color-accent) !important; }
  .theme-border-md-ink { border-color: var(--mc-theme-color-ink) !important; }
  .theme-border-md-paper { border-color: var(--mc-theme-color-paper) !important; }
  .theme-font-md-body { font-family: var(--mc-theme-font-body) !important; }
  .theme-font-md-heading { font-family: var(--mc-theme-font-heading) !important; }
  .theme-font-md-display { font-family: var(--mc-theme-font-display) !important; }
  .theme-radius-md-card { border-radius: var(--mc-theme-radius-card) !important; }
  .theme-radius-md-button { border-radius: var(--mc-theme-radius-button) !important; }
  .theme-radius-md-pill { border-radius: var(--mc-theme-radius-pill) !important; }
}

@media (min-width: 992px) {
  .theme-color-lg-primary { color: var(--mc-theme-color-primary) !important; }
  .theme-color-lg-secondary { color: var(--mc-theme-color-secondary) !important; }
  .theme-color-lg-accent { color: var(--mc-theme-color-accent) !important; }
  .theme-color-lg-ink { color: var(--mc-theme-color-ink) !important; }
  .theme-color-lg-paper { color: var(--mc-theme-color-paper) !important; }
  .theme-bg-lg-primary { background-color: var(--mc-theme-color-primary) !important; }
  .theme-bg-lg-secondary { background-color: var(--mc-theme-color-secondary) !important; }
  .theme-bg-lg-accent { background-color: var(--mc-theme-color-accent) !important; }
  .theme-bg-lg-ink { background-color: var(--mc-theme-color-ink) !important; }
  .theme-bg-lg-paper { background-color: var(--mc-theme-color-paper) !important; }
  .theme-border-lg-primary { border-color: var(--mc-theme-color-primary) !important; }
  .theme-border-lg-secondary { border-color: var(--mc-theme-color-secondary) !important; }
  .theme-border-lg-accent { border-color: var(--mc-theme-color-accent) !important; }
  .theme-border-lg-ink { border-color: var(--mc-theme-color-ink) !important; }
  .theme-border-lg-paper { border-color: var(--mc-theme-color-paper) !important; }
  .theme-font-lg-body { font-family: var(--mc-theme-font-body) !important; }
  .theme-font-lg-heading { font-family: var(--mc-theme-font-heading) !important; }
  .theme-font-lg-display { font-family: var(--mc-theme-font-display) !important; }
  .theme-radius-lg-card { border-radius: var(--mc-theme-radius-card) !important; }
  .theme-radius-lg-button { border-radius: var(--mc-theme-radius-button) !important; }
  .theme-radius-lg-pill { border-radius: var(--mc-theme-radius-pill) !important; }
}

@media (min-width: 1200px) {
  .theme-color-xl-primary { color: var(--mc-theme-color-primary) !important; }
  .theme-color-xl-secondary { color: var(--mc-theme-color-secondary) !important; }
  .theme-color-xl-accent { color: var(--mc-theme-color-accent) !important; }
  .theme-color-xl-ink { color: var(--mc-theme-color-ink) !important; }
  .theme-color-xl-paper { color: var(--mc-theme-color-paper) !important; }
  .theme-bg-xl-primary { background-color: var(--mc-theme-color-primary) !important; }
  .theme-bg-xl-secondary { background-color: var(--mc-theme-color-secondary) !important; }
  .theme-bg-xl-accent { background-color: var(--mc-theme-color-accent) !important; }
  .theme-bg-xl-ink { background-color: var(--mc-theme-color-ink) !important; }
  .theme-bg-xl-paper { background-color: var(--mc-theme-color-paper) !important; }
  .theme-border-xl-primary { border-color: var(--mc-theme-color-primary) !important; }
  .theme-border-xl-secondary { border-color: var(--mc-theme-color-secondary) !important; }
  .theme-border-xl-accent { border-color: var(--mc-theme-color-accent) !important; }
  .theme-border-xl-ink { border-color: var(--mc-theme-color-ink) !important; }
  .theme-border-xl-paper { border-color: var(--mc-theme-color-paper) !important; }
  .theme-font-xl-body { font-family: var(--mc-theme-font-body) !important; }
  .theme-font-xl-heading { font-family: var(--mc-theme-font-heading) !important; }
  .theme-font-xl-display { font-family: var(--mc-theme-font-display) !important; }
  .theme-radius-xl-card { border-radius: var(--mc-theme-radius-card) !important; }
  .theme-radius-xl-button { border-radius: var(--mc-theme-radius-button) !important; }
  .theme-radius-xl-pill { border-radius: var(--mc-theme-radius-pill) !important; }
}

@media (min-width: 1400px) {
  .theme-color-xxl-primary { color: var(--mc-theme-color-primary) !important; }
  .theme-color-xxl-secondary { color: var(--mc-theme-color-secondary) !important; }
  .theme-color-xxl-accent { color: var(--mc-theme-color-accent) !important; }
  .theme-color-xxl-ink { color: var(--mc-theme-color-ink) !important; }
  .theme-color-xxl-paper { color: var(--mc-theme-color-paper) !important; }
  .theme-bg-xxl-primary { background-color: var(--mc-theme-color-primary) !important; }
  .theme-bg-xxl-secondary { background-color: var(--mc-theme-color-secondary) !important; }
  .theme-bg-xxl-accent { background-color: var(--mc-theme-color-accent) !important; }
  .theme-bg-xxl-ink { background-color: var(--mc-theme-color-ink) !important; }
  .theme-bg-xxl-paper { background-color: var(--mc-theme-color-paper) !important; }
  .theme-border-xxl-primary { border-color: var(--mc-theme-color-primary) !important; }
  .theme-border-xxl-secondary { border-color: var(--mc-theme-color-secondary) !important; }
  .theme-border-xxl-accent { border-color: var(--mc-theme-color-accent) !important; }
  .theme-border-xxl-ink { border-color: var(--mc-theme-color-ink) !important; }
  .theme-border-xxl-paper { border-color: var(--mc-theme-color-paper) !important; }
  .theme-font-xxl-body { font-family: var(--mc-theme-font-body) !important; }
  .theme-font-xxl-heading { font-family: var(--mc-theme-font-heading) !important; }
  .theme-font-xxl-display { font-family: var(--mc-theme-font-display) !important; }
  .theme-radius-xxl-card { border-radius: var(--mc-theme-radius-card) !important; }
  .theme-radius-xxl-button { border-radius: var(--mc-theme-radius-button) !important; }
  .theme-radius-xxl-pill { border-radius: var(--mc-theme-radius-pill) !important; }
}
