/* Shared My DIY controls, v2.9.54.
 * Loaded only on My DIY by Commerce UX Polish. Keep navigation, text links,
 * icon controls, quantity steppers and payment-provider widgets native.
 */
body {
    --mydiy-action-radius: 3px;
    --mydiy-action-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    --mydiy-action-weight: 500;
    --mydiy-action-size: 15px;
    --mydiy-control-border: #d7d7d7;
}

/* The checkout ID is a real member of this control family. :is() gives the
 * shared tokens sufficient specificity to beat saved Elementor widget rules.
 * Only shape and typography are shared: each surface keeps its colour/layout.
 */
body :is(
    .elementor-button, .mydiy-site-cta, .mydiy-button,
    .mydiy-standard-cta, .mydiy-samples-cta, .mydiy-header-cta,
    .mydiy-guide-action, .mydiy-landing-cta, .mydiy-animated-cta,
    a.button, button.button, input.button, .wp-element-button, .wp-block-button__link,
    .single_add_to_cart_button, .mydiy-atc-proxy, .wc-block-components-button,
    .xoo-wsc-ft-btn, .gform_button, .gform_next_button, .gform_previous_button,
    .mydiy-first-order__form button[type="submit"], #place_order
) {
    border-radius: var(--mydiy-action-radius) !important;
    font-family: var(--mydiy-action-font) !important;
    font-size: var(--mydiy-action-size) !important;
    font-weight: var(--mydiy-action-weight) !important;
    font-style: normal !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}
body :is(.elementor-button, .wc-block-components-button, #place_order)
    :is(.elementor-button-content-wrapper, .elementor-button-text, .wc-block-components-button__text) {
    font: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
}

/* Exclude the shared dark guarantee from the ordinary plum landing action.
 * White/plum at rest; blush/plum on hover: both remain visible on the plum
 * section. :is() includes the real product container to beat legacy overrides.
 */
body :is(.elementor, main, #uni_cpo_options) .mydiy-risk .mydiy-site-cta,
body .mydiy-risk .mydiy-site-cta {
    background: #fff !important;
    color: #582c4d !important;
    -webkit-text-fill-color: #582c4d !important;
    border: 1px solid #fff !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
body :is(.elementor, main, #uni_cpo_options) .mydiy-risk .mydiy-site-cta:is(:hover, :focus-visible),
body .mydiy-risk .mydiy-site-cta:is(:hover, :focus-visible) {
    background: #d4b9b2 !important;
    border-color: #d4b9b2 !important;
    color: #582c4d !important;
    -webkit-text-fill-color: #582c4d !important;
}
body :is(.elementor, main, #uni_cpo_options) .mydiy-risk .mydiy-site-cta *,
body .mydiy-risk .mydiy-site-cta::after {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    font-weight: var(--mydiy-action-weight) !important;
}
body .mydiy-risk .mydiy-site-cta:focus-visible {
    outline: 2px solid #fff !important;
    outline-offset: 4px !important;
}

/* Style the native field type, not generated uni-node IDs or migration tags.
 * Newly copied fields inherit this immediately; no form data or visibility
 * is changed. Keep Uni CPO's native arrow and its OS option picker.
 */
body.single-product #uni_cpo_options .uni-module-select > select {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    border: 1px solid var(--mydiy-control-border) !important;
    border-radius: 5px !important;
    font-family: var(--mydiy-action-font) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #582c4d !important;
}
body.single-product #uni_cpo_options .uni-module-select > select:not([multiple]):not([size]),
body.single-product #uni_cpo_options .uni-module-select > select[size="1"]:not([multiple]) {
    height: 36px !important;
    min-height: 36px !important;
}
body.single-product #uni_cpo_options .uni-module-select > label {
    display: block;
    margin: 0 0 9px !important;
    min-height: 24px !important;
    font-family: "Source Sans Pro", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #582c4d !important;
}
body.single-product #uni_cpo_options .uni-module-select > select:focus-visible {
    outline: 2px solid #582c4d !important;
    outline-offset: 2px !important;
}
body.single-product #uni_cpo_options .uni-module-select > select:is(.parsley-error, [aria-invalid="true"]) {
    border-color: #a36769 !important;
}
body.single-product #uni_cpo_options .uni-module-select > select:disabled {
    opacity: .65;
    cursor: not-allowed;
}
@media (max-width: 767px) {
    body.single-product #uni_cpo_options .uni-module-select > select {
        font-size: 16px !important;
    }
    body.single-product #uni_cpo_options .uni-module-select > label {
        min-height: 0 !important;
        margin-bottom: 8px !important;
        font-size: 17px !important;
        line-height: 1.32 !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    body .mydiy-risk .mydiy-site-cta { transition: none !important; }
}
