/* =========================================================
   KODICA - VARIACIONES RÁPIDAS v1.1
   Mantiene intacto el estilo de precio del tema (Flatsome).
   Color principal botones: #081c4c
   ========================================================= */

.kqv-wrap {
    width: 100%;
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.25;
}


/* =========================================================
   VARIACIONES EN CATÁLOGO
   Compactas y alineadas horizontalmente.
   ========================================================= */

.kqv-options,
.kqv-single-options {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    width: 100%;
}

.kqv-options {
    margin: 0 0 10px;
}


/* =========================================================
   BOTONES DE VARIACIONES
   1 KG / 2 KG / 3 KG / ETC.
   ========================================================= */

.kqv-option,
.kqv-single-option {
    appearance: none;
    -webkit-appearance: none;

    width: auto !important;
    min-width: 0 !important;

    height: 34px !important;
    min-height: 34px !important;

    margin: 0 !important;
    padding: 0 10px !important;

    border: 1px solid #a8b7c5 !important;
    border-radius: 6px !important;

    background: transparent !important;
    color: inherit !important;

    font: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;

    line-height: 32px !important;

    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: center !important;

    box-shadow: none !important;

    cursor: pointer;

    transition:
        border-color .15s ease,
        opacity .15s ease,
        background-color .15s ease,
        color .15s ease;
}


/* HOVER VARIACIÓN */

.kqv-option:hover:not(:disabled),
.kqv-single-option:hover:not(:disabled) {
    border-color: #081c4c !important;
    color: #081c4c !important;
}


/* VARIACIÓN SELECCIONADA */

.kqv-option.is-active,
.kqv-single-option.is-active {
    border-width: 2px !important;
    border-color: #081c4c !important;

    color: #081c4c !important;

    font-weight: 500 !important;
    line-height: 30px !important;
}


/* VARIACIÓN SIN STOCK */

.kqv-option.is-disabled,
.kqv-option:disabled,
.kqv-single-option.is-disabled,
.kqv-single-option:disabled {
    opacity: .35;
    cursor: not-allowed;
}


/* =========================================================
   STOCK
   ========================================================= */

.kqv-stock {
    display: flex;
    align-items: center;

    gap: 9px;

    min-height: 20px;

    margin: 0 0 9px;

    font-size: 13px;
    font-weight: 400;
}


.kqv-stock-dot {
    display: inline-block;

    flex: 0 0 10px;

    width: 10px;
    height: 10px;

    border-radius: 50%;

    background: currentColor;
}


/* STOCK NORMAL */

.kqv-stock.available {
    color: #61ad17;
}


/* ÚLTIMAS UNIDADES */

.kqv-stock.low {
    color: #c64b27;
}


/* SIN STOCK */

.kqv-stock.out {
    color: #999;
}


/* =========================================================
   BOTÓN AGREGAR AL CARRITO
   Productos simples + variables
   ========================================================= */

.kqv-add-to-cart {
    appearance: none;
    -webkit-appearance: none;

    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    width: 100% !important;

    min-height: 40px !important;

    margin: 0 !important;
    padding: 9px 13px !important;

    border: 1px solid #081c4c !important;
    border-radius: 6px !important;

    background: #081c4c !important;
    background-color: #081c4c !important;
    background-image: none !important;

    color: #ffffff !important;

    font-size: 13px !important;
    font-weight: 600 !important;

    line-height: 1.2 !important;

    letter-spacing: 0 !important;
    text-transform: none !important;

    text-align: center;

    cursor: pointer;

    box-shadow: none !important;

    transition:
        background-color .15s ease,
        border-color .15s ease,
        opacity .15s ease,
        transform .15s ease;
}


/* =========================================================
   FORZAR COLOR SOBRE FLATSOME
   Estos selectores están hechos para pisar estilos del tema.
   ========================================================= */

body .product-small .kqv-wrap .kqv-add-to-cart,
body .product-small .kqv-wrap a.kqv-add-to-cart,
body .product-small .kqv-wrap button.kqv-add-to-cart,
body .product-small .kqv-wrap button.kqv-variable-add,
body .product-small .kqv-wrap .button.kqv-add-to-cart,
body .product .kqv-wrap .kqv-add-to-cart,
body .product .kqv-wrap a.kqv-add-to-cart,
body .product .kqv-wrap button.kqv-add-to-cart,
body .kqv-wrap .kqv-add-to-cart,
body .kqv-wrap a.button.kqv-add-to-cart,
body .kqv-wrap button.button.kqv-add-to-cart,
body .kqv-wrap button.kqv-variable-add {
    background: #081c4c !important;
    background-color: #081c4c !important;
    background-image: none !important;

    border-color: #081c4c !important;
    border-style: solid !important;

    color: #ffffff !important;

    box-shadow: none !important;
}


/* TEXTO INTERNO DEL BOTÓN */

body .kqv-wrap .kqv-add-to-cart *,
body .kqv-wrap .kqv-variable-add * {
    color: #ffffff !important;
}


/* HOVER */

body .product-small .kqv-wrap .kqv-add-to-cart:hover,
body .product-small .kqv-wrap a.kqv-add-to-cart:hover,
body .product-small .kqv-wrap button.kqv-add-to-cart:hover,
body .product-small .kqv-wrap button.kqv-variable-add:hover,
body .product .kqv-wrap .kqv-add-to-cart:hover,
body .kqv-wrap .kqv-add-to-cart:hover,
body .kqv-wrap a.button.kqv-add-to-cart:hover,
body .kqv-wrap button.button.kqv-add-to-cart:hover,
body .kqv-wrap button.kqv-variable-add:hover {
    background: #061638 !important;
    background-color: #061638 !important;
    background-image: none !important;

    border-color: #061638 !important;

    color: #ffffff !important;
}


/* CLICK */

.kqv-add-to-cart:active:not(:disabled) {
    transform: translateY(1px);
}


/* DESHABILITADO */

.kqv-add-to-cart:disabled {
    opacity: .45;
    cursor: not-allowed;
}


/* AGREGANDO */

.kqv-add-to-cart.is-loading {
    cursor: wait;
    opacity: .75;
}


/* AGREGADO */

.kqv-add-to-cart.is-added {
    opacity: .82;
}


/* =========================================================
   MENSAJES
   ========================================================= */

.kqv-message {
    margin-top: 6px;

    font-size: 12px;
    line-height: 1.3;
}


.kqv-message:empty {
    display: none;
}


.kqv-message.error {
    color: #b42318;
}


.kqv-message.success {
    color: #61ad17;
}


/* =========================================================
   PRECIO
   IMPORTANTE:
   NO modificamos .price.
   El precio conserva completamente el diseño de Flatsome.
   ========================================================= */


/* =========================================================
   FICHA DE PRODUCTO
   Reemplaza visualmente el SELECT de WooCommerce por botones.

   El select continúa existiendo internamente para que
   WooCommerce gestione:
   - variaciones
   - precio
   - stock
   - botón agregar al carrito
   ========================================================= */

.single-product form.variations_form .kqv-enhanced-select {
    display: none !important;
}


.single-product form.variations_form .kqv-single-options {
    margin: 2px 0 4px;
}


.single-product form.variations_form table.variations td.value {
    vertical-align: middle;
}


.single-product form.variations_form .reset_variations {
    margin-top: 5px;
}


/* =========================================================
   COMPATIBILIDAD FLATSOME
   Evita que el tema estire o reposicione los botones.
   ========================================================= */

.product-small .kqv-options .kqv-option,
.product-small .kqv-wrap .kqv-add-to-cart,
.single-product .kqv-single-options .kqv-single-option {
    position: relative;
    z-index: 2;
}


/* Asegura texto blanco aunque Flatsome modifique links */

.product-small a.kqv-add-to-cart,
.product-small button.kqv-add-to-cart,
.product-small .kqv-add-to-cart span,
.product a.kqv-add-to-cart,
.product button.kqv-add-to-cart,
.product .kqv-add-to-cart span {
    color: #ffffff !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 549px) {

    .kqv-options,
    .kqv-single-options {
        gap: 5px;
    }


    .kqv-option,
    .kqv-single-option {

        height: 32px !important;
        min-height: 32px !important;

        padding: 0 8px !important;

        font-size: 12px !important;

        line-height: 30px !important;
    }


    .kqv-option.is-active,
    .kqv-single-option.is-active {
        line-height: 28px !important;
    }


    .kqv-add-to-cart {
        min-height: 39px !important;
        padding: 8px 12px !important;
        font-size: 13px !important;
    }
}
