/* Text actions only. Radius is independent of width; wide CTAs stay rectangular.
   Elementor Free: Site Settings → Buttons → MPS · радиус текстовых кнопок.
   Add mps-text-action to a custom CTA; add mps-inline-link to preserve link styling.
   !important is intentional for the shared shape across local Elementor settings.
   Existing colors, padding, widths, hover/active/disabled/loading behavior belong to each component. */
body :is(
    .elementor-button,
    .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
    .wc-block-components-button, .wp-block-button__link,
    .mps-booking-trigger, .mps-booking-method,
    .wpcf7-submit, .wpforms-submit, .forminator-button-submit,
    form input[type="submit"], form button[type="submit"],
    a.mps-btn, a.tariff-btn,
    a[class*="-hero-actions__btn"], a.mps-hero-center-actions__btn,
    a[class*="-promo__btn"], a.mps-promo__btn,
    a[class*="-tariffs__btn"], a.mps-tariffs__btn,
    .mps-text-action
):not(.mps-inline-link, .mps-inline-link *,
    .mps-journal-submit, .mps-close, .mps-event-close,
    .elementor-search-form__submit, .elementor-search-form__toggle,
    .elementor-menu-cart__toggle_button,
    [role="tab"], [role="switch"], [role="checkbox"],
    .mps-booking-dialog .mps-close) {
    border-radius: var(--mps-button-radius, 8px) !important;
    box-sizing: border-box;
}

/* Zero specificity lets component minimums of 48–60px stay larger. */
:where(body :is(
    .elementor-button, .woocommerce .button, .wc-block-components-button,
    .wp-block-button__link, .mps-booking-trigger, .mps-booking-method,
    .wpcf7-submit, .wpforms-submit, .forminator-button-submit,
    form input[type="submit"], form button[type="submit"],
    a.mps-btn, a.tariff-btn,
    a[class*="-hero-actions__btn"], a.mps-hero-center-actions__btn,
    a[class*="-promo__btn"], a.mps-promo__btn,
    a[class*="-tariffs__btn"], a.mps-tariffs__btn,
    .mps-text-action
):not(.mps-inline-link, .mps-inline-link *, .mps-journal-submit,
    .elementor-search-form__submit, .elementor-search-form__toggle,
    .elementor-menu-cart__toggle_button, [role="tab"])) { min-height: 44px; }

/* Use an outline so keyboard focus remains visible in forced-colors mode. */
body :is(
    .elementor-button, .woocommerce .button, .wc-block-components-button,
    .wp-block-button__link, .mps-booking-trigger, .mps-booking-method,
    .wpcf7-submit, .wpforms-submit, .forminator-button-submit,
    form input[type="submit"], form button[type="submit"],
    a.mps-btn, a.tariff-btn,
    a[class*="-hero-actions__btn"], a.mps-hero-center-actions__btn,
    a[class*="-promo__btn"], a.mps-promo__btn,
    a[class*="-tariffs__btn"], a.mps-tariffs__btn,
    .mps-text-action
):not(.mps-inline-link, .mps-inline-link *, .mps-journal-submit,
    .elementor-search-form__submit, .elementor-search-form__toggle,
    .elementor-menu-cart__toggle_button, [role="tab"]):focus-visible {
    outline: 2px solid #436987;
    outline-offset: 3px;
}

/* The navigation component has a 42px desktop override; keep this CTA at 44px. */
.mps-nav .mps-nav-list > li > a.mps-booking-trigger { min-height: 44px; }
