/* Yujju design system — botones.
   Un solo sistema: primario (sólido), secundario (outline) y enlace.
   Mismo alto, radio y peso en todo el sitio; sin sombras, glow ni degradados.
   El tema fija varios fondos con !important (button_color), por eso se repite aquí. */

/* ── Primario ─────────────────────────────────────────────────────────────── */
.yj-ds .btn-theme,
.yj-ds .btn-3d,
.yj-ds .btn-primary,
.yj-ds .elementor-button,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) a.button,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) button.button,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) input.button,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) #respond input#submit,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) a.button.alt,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) button.button.alt,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) input.button.alt,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .return-to-shop .button,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .checkout_coupon .button,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .widget_price_filter .price_slider_amount .button,
.yj-ds .goal-topcart .buttons .btn,
.yj-ds .viewmore-products-btn,
.yj-ds .wpcf7 input[type="submit"],
.yj-ds .contact-form [type="submit"],
.yj-ds .mc4wp-form input[type="submit"],
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) div.product form.cart .single_add_to_cart_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--yj-space-2);
    min-height: var(--yj-control-h);
    height: auto;
    padding: 0 var(--yj-space-5);
    font-family: var(--yj-font-body) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    text-decoration: none;
    white-space: nowrap;
    color: var(--yj-white) !important;
    fill: var(--yj-white);
    background: var(--yj-primary-strong) !important;
    border: 1px solid var(--yj-primary-strong) !important;
    border-radius: var(--yj-radius) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: background-color var(--yj-transition), border-color var(--yj-transition), color var(--yj-transition);
}

.yj-ds .btn-theme:hover, .yj-ds .btn-theme:focus,
.yj-ds .btn-3d:hover, .yj-ds .btn-3d:focus,
.yj-ds .btn-primary:hover, .yj-ds .btn-primary:focus,
.yj-ds .elementor-button:hover, .yj-ds .elementor-button:focus,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) a.button:hover, :is(.yj-ds.woocommerce, .yj-ds .woocommerce) a.button:focus,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) button.button:hover, :is(.yj-ds.woocommerce, .yj-ds .woocommerce) button.button:focus,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) input.button:hover, :is(.yj-ds.woocommerce, .yj-ds .woocommerce) input.button:focus,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) #respond input#submit:hover,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) a.button.alt:hover,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) button.button.alt:hover,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) input.button.alt:hover,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .widget_price_filter .price_slider_amount .button:hover,
.yj-ds .goal-topcart .buttons .btn:hover,
.yj-ds .viewmore-products-btn:hover,
.yj-ds .wpcf7 input[type="submit"]:hover,
.yj-ds .contact-form [type="submit"]:hover,
.yj-ds .mc4wp-form input[type="submit"]:hover,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) div.product form.cart .single_add_to_cart_button:hover,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) div.product form.cart .single_add_to_cart_button:focus {
    color: var(--yj-white) !important;
    background: var(--yj-primary-hover) !important;
    border-color: var(--yj-primary-hover) !important;
    transform: none;
}

/* El tema mete pseudo-elementos/animaciones decorativas en algunos botones. */
.yj-ds .btn-theme::before,
.yj-ds .btn-theme::after,
.yj-ds .btn-3d::before,
.yj-ds .btn-3d::after {
    display: none !important;
}

/* ── Secundario (outline) ────────────────────────────────────────────────── */
.yj-ds .btn-outline,
.yj-ds .btn-theme.btn-outline,
.yj-ds .btn-theme-second,
.yj-ds .goal-loadmore-btn,
.yj-ds .goal-topcart .buttons .btn.wc-forward:not(.checkout),
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) div.product form.cart .button.buy_now_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--yj-control-h);
    padding: 0 var(--yj-space-5);
    font-family: var(--yj-font-body) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    color: var(--yj-ink) !important;
    background: transparent !important;
    border: 1px solid var(--yj-ink) !important;
    border-radius: var(--yj-radius) !important;
    box-shadow: none !important;
}
.yj-ds .btn-outline:hover,
.yj-ds .btn-theme.btn-outline:hover,
.yj-ds .btn-theme-second:hover,
.yj-ds .goal-loadmore-btn:hover,
.yj-ds .goal-topcart .buttons .btn.wc-forward:not(.checkout):hover,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) div.product form.cart .button.buy_now_button:hover,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) div.product form.cart .button.buy_now_button:focus {
    color: var(--yj-white) !important;
    background: var(--yj-ink) !important;
    border-color: var(--yj-ink) !important;
}
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) div.product form.cart .button.buy_now_button::before { display: none; }

/* ── Enlace ──────────────────────────────────────────────────────────────── */
.yj-ds .btn-link,
.yj-ds .btn-readmore {
    font-family: var(--yj-font-body);
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    color: var(--yj-primary) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    background: none;
    border: 0;
    box-shadow: none;
}

/* Botones deshabilitados */
.yj-ds .button.disabled,
.yj-ds .button:disabled,
.yj-ds button[disabled] {
    opacity: .45 !important;
    cursor: not-allowed;
}

/* Botones de Elementor de tamaño "sm/xs": mismo alto mínimo, más compactos. */
.yj-ds .elementor-button.elementor-size-xs,
.yj-ds .elementor-button.elementor-size-sm {
    min-height: 40px;
    padding: 0 var(--yj-space-4);
    font-size: 14px !important;
}

/* Botón contenedor de Elementor: sin padding interno duplicado. */
.yj-ds .elementor-button .elementor-button-content-wrapper { gap: var(--yj-space-2); }
