/* One text family across Elementor, historic markup, WooCommerce and widgets.
   Only family is a site policy: sizes, weights, spacing and layout remain editable.
   Icon glyphs keep their own families; pseudo-elements are deliberately untouched. */
body.mps-readable,
body.mps-readable *:not(.fa, .fas, .far, .fab, .fal, .fad, .fat, .fass, .fasr, .fasl, .fast, .fak,
    .star-rating, .star-rating *, .elementor-star-rating, .elementor-star-rating *, .elementor-star-full, .elementor-star-empty,
    .elementor-menu-cart__close-button, .elementor-menu-cart__close-button-custom, .elementor-custom-embed-play i,
    .elementor-testimonial__rating, .elementor-testimonial__rating *, .sli,
    .wc-block-grid__product-rating__stars, .wc-block-grid__product-rating__stars *,
    .wc-block-product-review-rating__stars, .wc-block-product-review-rating__stars *,
    [class^="fa-"], [class*=" fa-"], [class^="eicon"], [class*=" eicon"], .dashicons,
    [class^="dashicons-"], [class*=" dashicons-"], [class^="tp-icon"], [class*=" tp-icon"],
    [class^="ticon"], [class*=" ticon"], [class^="flaticon"], [class*=" flaticon"],
    [class^="icon-"], [class*=" icon-"], [class^="material-icons"], [class^="material-symbols"]) {
    font-family: "MPS Local Montserrat", "Montserrat", Arial, sans-serif !important;
}
body.mps-readable {
    color: var(--e-global-color-text, #1d1d1f);
    font-size-adjust: from-font;
}
body.mps-readable :is(.fa, .fas, .far, .fab, .star-rating, .star-rating *, .elementor-star-full, .elementor-star-empty, [class^="fa-"], [class*=" fa-"],
    [class^="eicon"], [class*=" eicon"], .dashicons, [class^="icon-"], [class*=" icon-"]) {
    font-size-adjust: none;
}
/* Historic exports refer to these tokens even when the active local kit differs.
   Do not replace explicit white/gray text in dark sections or over photographs. */
body.mps-readable {
    --e-global-color-622660e4: var(--e-global-color-primary, #20242b);
    --e-global-color-8f20e0e: #ffffff;
}
body.mps-readable .elementor :is(.elementor-post__excerpt, .elementor-post__excerpt p, .elementor-post__meta-data, .elementor-post-date) {
    color: var(--e-global-color-secondary, #4a4a4a);
}
body.mps-readable .elementor-location-footer :is(a[href*="/privacy"], a[href*="/oferta"]) {
    color: #efb3c4;
}
body.mps-readable .elementor-location-footer :is(a[href*="/privacy"], a[href*="/oferta"]):is(:hover,:focus-visible) {
    color: #ffffff;
}
/* Public form content is on a light surface; visible input boundaries and labels
   remain readable before entry, on autofill and while keyboard focus is present. */
body.mps-readable :is(input:not([type="submit"],[type="button"],[type="checkbox"],[type="radio"]), textarea, select) {
    color: var(--e-global-color-text, #1d1d1f);
    background-color: #ffffff;
    border-color: #717985;
}
body.mps-readable :is(input, textarea)::placeholder { color: var(--e-global-color-secondary, #4a4a4a); opacity: 1; }
body.mps-readable :is(input, textarea, select):focus-visible { outline: 2px solid var(--e-global-color-accent, #16163f); outline-offset: 2px; }
body.mps-readable input:autofill { -webkit-text-fill-color: var(--e-global-color-text, #1d1d1f); }
body.mps-readable :is(.woocommerce, .elementor-form) :is(label, legend) { color: var(--e-global-color-text, #1d1d1f); }
body.mps-readable .woocommerce :is(.required, .woocommerce-error) { color: #a0273c; }
/* Plugin-specific colors are independent of Elementor globals. */
body.mps-readable .tt_tabs_navigation .ui-tabs-active a,
body.mps-readable .tabs_box_navigation .tabs_box_navigation_selected {
    background-color: var(--e-global-color-accent, #16163f) !important;
    color: #ffffff !important;
}
body.mps-readable .gs-team-single-content :is(.gs-sin-mem-desig, .gs-member-desc) { color: var(--e-global-color-secondary, #4a4a4a); }
body.mps-readable [data-mps-team-archive] .gs-member-name {
    background-color: var(--e-global-color-accent, #16163f) !important;
    color: #ffffff !important;
}
body.mps-readable [data-mps-team-archive] .fa-external-link { background-color: var(--e-global-color-accent, #16163f); color: #ffffff; }
/* This archived CTA uses an explicit light blue rather than the global accent. */
body.mps-readable .elementor .elementor-element.elementor-element-bc6aa1c .elementor-button { background-color: var(--e-global-color-accent, #16163f); color: #ffffff; }
body.mps-readable .elementor .elementor-element.elementor-element-bc6aa1c .elementor-button:is(:hover,:focus-visible) { background-color: #292e37; color: #ffffff; }
/* Addressed source exports with inverted text on pale surfaces. These selectors
   intentionally leave the blue course sections and photograph overlays alone. */
body.mps-readable .elementor .elementor-element.elementor-element-6e3765a > .elementor-widget-container,
body.mps-readable .elementor .elementor-element.elementor-element-6e3765a > .elementor-widget-container a,
body.mps-readable .elementor .elementor-element.elementor-element-fa0bdfe h3,
body.mps-readable .elementor .elementor-element.elementor-element-a02966e .elementor-countdown-label,
body.mps-readable .elementor .elementor-element.elementor-element-667adc8 .elementor-heading-title,
body.mps-readable .elementor .elementor-element.elementor-element-5ae66ef4 h2,
body.mps-readable .elementor .elementor-element.elementor-element-23d6db1 .e-n-accordion-item-title-text,
body.mps-readable .elementor .elementor-element.elementor-element-23d6db1 .e-n-accordion-item-title-icon {
    color: var(--e-global-color-text, #1d1d1f);
}
body.mps-readable .elementor .elementor-element.elementor-element-23d6db1 .e-n-accordion-item-title-icon svg { fill: currentColor; }
body.mps-readable .elementor .elementor-element.elementor-element-23d6db1 a { color: var(--e-global-color-accent, #16163f); }
body.mps-readable .elementor .elementor-element.elementor-element-bcf71cd a { color: var(--e-global-color-accent, #16163f); }
/* The old fragment includes color:#FFFFFF directly on this one anchor. */
body.mps-readable .elementor .elementor-element.elementor-element-6e3765a > .elementor-widget-container a {
    color: var(--e-global-color-accent, #16163f) !important;
}
/* Original course CSS is retained. Correct only text or controls whose recovered
   gold, pale blue, pink or translucent styles did not meet readable contrast. */
body.mps-readable .elementor-25132 .mps-core-acro__text a,
body.mps-readable .elementor-23567 .mps-vebinar-faq__label {
    color: var(--e-global-color-accent, #16163f);
}
body.mps-readable .elementor-25074 .mps-program__hint {
    color: var(--e-global-color-secondary, #4a4a4a);
}
body.mps-readable .elementor-24384 :is(.mps-stretch2-promo__btn--accent, .mps-stretch2-tariffs__card--featured .mps-stretch2-tariffs__btn) {
    background-color: var(--e-global-color-accent, #16163f);
    color: #ffffff;
}
/* The aptechka cards keep their terracotta/purple surfaces and black CTA buttons.
   Purple and badge backgrounds are real gradients, not the pale surface behind
   them; opaque white is readable on purple, dark ink on terracotta and badges. */
body.mps-readable .elementor-23840 .mps-container.mps-orange,
body.mps-readable .elementor-23840 .mps-orange :is(p, .mps-step-title, .mps-step-text),
body.mps-readable .elementor-23840 .mps-badge {
    color: var(--e-global-color-text, #1d1d1f);
}
body.mps-readable .elementor-23840 :is(.mps-step-text, .mps-note, .mps-offer-note) { opacity: 1; }
@media (max-width: 767px) {
    body.mps-readable .elementor .elementor-element.elementor-element-32ef4c8 h2 {
        font-size: max(19px, 1.1875rem);
        font-weight: 700;
    }
}
@media (forced-colors: active) {
    body.mps-readable :is(input, textarea, select):focus-visible { outline-color: Highlight; }
    body.mps-readable :is(input, textarea, select) { border-color: ButtonText; }
}
