/* Información de impuestos debajo del precio WooCommerce */
.kenyon-tax-info {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 400;
    white-space: normal;
    opacity: 0.78;
}

.kenyon-tax-info__net-label,
.kenyon-tax-info__tax-label {
    display: block;
}

.kenyon-tax-info__tax-value,
.kenyon-tax-info .woocommerce-Price-amount,
.kenyon-tax-info .woocommerce-Price-currencySymbol {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}

/* Ficha individual: precio arriba, información fiscal debajo. */
.single-product .kenyon-price-tax-stack {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.single-product .kenyon-price-tax-stack > .price {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin-bottom: 0 !important;
}

.single-product .kenyon-price-tax-stack > .kenyon-tax-info {
    display: block !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 5px 0 14px 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    box-sizing: border-box !important;
}

.single-product .kenyon-price-tax-stack > .kenyon-tax-info .kenyon-tax-info__net-label,
.single-product .kenyon-price-tax-stack > .kenyon-tax-info .kenyon-tax-info__tax-label {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Cards/listados: precio arriba, información fiscal debajo. */
.kenyon-loop-price-tax-stack {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.kenyon-loop-price-tax-stack > .price {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}

.kenyon-loop-price-tax-stack > .kenyon-tax-info {
    display: block !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    box-sizing: border-box !important;
}

.kenyon-loop-price-tax-stack > .kenyon-tax-info .kenyon-tax-info__net-label,
.kenyon-loop-price-tax-stack > .kenyon-tax-info .kenyon-tax-info__tax-label {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/*
 * v1.0.8 - Ofertas en cards mobile
 *
 * Flatsome/Kenyon envuelve los importes en un contenedor flex adicional
 * (por ejemplo .z-price-with-tip). Hacer del/ins display:block no alcanza,
 * porque siguen siendo items dentro de una fila flex. JS identifica el
 * ancestro común real de del + ins y le agrega .kenyon-mobile-sale-group.
 */
@media (max-width: 549px) {
    .kenyon-loop-price-tax-stack > .price.kenyon-mobile-sale-price {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: visible !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }

    /* El wrapper que realmente es flex: primera fila precio regular; segunda fila precio oferta + icono si existe. */
    .kenyon-mobile-sale-group {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        gap: 0 4px !important;
        white-space: normal !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .kenyon-mobile-sale-group del {
        display: block !important;
        position: static !important;
        float: none !important;
        clear: none !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 0 1px 0 !important;
        transform: none !important;
        white-space: nowrap !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    .kenyon-mobile-sale-group ins {
        display: block !important;
        position: static !important;
        float: none !important;
        clear: none !important;
        flex: 0 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 22px) !important;
        margin: 0 !important;
        transform: none !important;
        white-space: nowrap !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    .kenyon-mobile-sale-group del .woocommerce-Price-amount,
    .kenyon-mobile-sale-group ins .woocommerce-Price-amount {
        display: inline !important;
        position: static !important;
        float: none !important;
        max-width: 100% !important;
        white-space: nowrap !important;
    }

    /* Flatsome puede fijar inline la altura de .price-wrapper. Al sumar una línea,
       dejamos que el contenido determine la altura para que nada se recorte. */
    .price-wrapper.kenyon-mobile-sale-price-wrapper {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }
}
