/* Estilo para el precio fijo personalizado */
.precio-fijo-custom,
[id^="precio-fijo-"] {
    position: absolute;
    right: 4px;
    top: 12px;
    font-family: var(--font-title);
    display: block ;
    visibility: visible;
    opacity: 1;
    text-align: right;
}

.precio-fijo-custom .precio{
    font-size: 2.5em;
    font-weight: 800;
}

/* Ocultar completamente los precios de variación cuando hay precio fijo */
body .commerce-product-form .field--name-variation-price,
body .product-wrapper .field--name-variation-price,
body .product .field--name-variation-price,
body .node--type-commerce-product .field--name-variation-price {
    display: none;
    visibility: hidden;
}

/* Ocultar otros elementos de precio que no sean el precio fijo */
body .commerce-product-form .commerce-price-formatted:not(.precio-fijo-custom),
body .product-wrapper .commerce-price-formatted:not(.precio-fijo-custom),
body .product .commerce-price-formatted:not(.precio-fijo-custom),
body .node--type-commerce-product .commerce-price-formatted:not(.precio-fijo-custom) {
    display: none;
    visibility: hidden;
}


/* Reglas específicas para cuando el precio fijo está presente */
.commerce-product-form:has(.precio-fijo-custom) .field--name-variation-price,
.product-wrapper:has(.precio-fijo-custom) .field--name-variation-price,
.product:has(.precio-fijo-custom) .field--name-variation-price,
.node--type-commerce-product:has(.precio-fijo-custom) .field--name-variation-price {
    display: none;
    visibility: hidden;
}

/* Soporte para navegadores que no soportan :has() */
.precio-fijo-presente .field--name-variation-price,
.precio-fijo-presente .commerce-price-formatted:not(.precio-fijo-custom),
.precio-fijo-presente .price:not(.precio-fijo-custom) {
    display: none;
    visibility: hidden;
}
