/* =========================================================
   ULTRAPC - SISTEMA GLOBAL DE ESTADOS DE PRODUCTO
   =========================================================

   PALETA OFICIAL

   NUEVO / NUEVO SELLADO
   → Azul oscuro

   OPEN BOX
   → Azul claro

   SEMINUEVO / REACONDICIONADO
   → Verde oscuro

   USADO
   → Verde claro

   Este archivo debe cargarse DESPUÉS de los demás CSS.
   ========================================================= */


/* =========================================================
   1. VARIABLES GLOBALES
   ========================================================= */

:root {

    /* NUEVO */
    --upc-status-nuevo: #ea6d00;
    --upc-status-nuevo-bg: #f7f4f2;
    --upc-status-nuevo-border: #e8e1da;

    /* OPEN BOX */
    --upc-status-openbox: #f8ae6d;
    --upc-status-openbox-bg: #f9f7f5;
    --upc-status-openbox-border: #eae2db;

    /* SEMINUEVO / REACONDICIONADO */
    --upc-status-seminuevo: #198754;
    --upc-status-seminuevo-bg: #f5f2ef;
    --upc-status-seminuevo-border: #cae8d5;

    /* USADO */
    --upc-status-usado: #79c98b;
    --upc-status-usado-text: #4a995d;
    --upc-status-usado-bg: #f8f5f3;
    --upc-status-usado-border: #d3edda;
}


/* =========================================================
   2. NUEVO / NUEVO SELLADO
   AZUL OSCURO
   ========================================================= */

.condicion_item_ultrapc_archivos:is(
    .nuevo,
    .nuevo-sellado
),
.condicion_item_ultrapc.texto_sumario
.condicion:is(
    .nuevo,
    .nuevo-sellado
) {
    background-color: var(--upc-status-nuevo-bg) !important;
    border-color: var(--upc-status-nuevo-border) !important;
    color: var(--upc-status-nuevo) !important;
}

.condicion_item_ultrapc_archivos:is(
    .nuevo,
    .nuevo-sellado
)::before {
    color: var(--upc-status-nuevo) !important;
    border-color: var(--upc-status-nuevo) !important;
}

.contenedor-short-ultrapc
.condicion:is(
    .nuevo,
    .nuevo-sellado
)
.fa-info-circle::before {
    color: var(--upc-status-nuevo) !important;
    -webkit-text-fill-color: var(--upc-status-nuevo) !important;
}


/* =========================================================
   3. OPEN BOX
   AZUL CLARO
   ========================================================= */

.condicion_item_ultrapc_archivos.open-box,
.condicion_item_ultrapc.texto_sumario
.condicion.open-box {
    background-color: var(--upc-status-openbox-bg) !important;
    border-color: var(--upc-status-openbox-border) !important;
    color: var(--upc-status-openbox) !important;
}

.condicion_item_ultrapc_archivos.open-box::before {
    color: var(--upc-status-openbox) !important;
    border-color: var(--upc-status-openbox) !important;
}

.contenedor-short-ultrapc
.condicion.open-box
.fa-info-circle::before {
    color: var(--upc-status-openbox) !important;
    -webkit-text-fill-color: var(--upc-status-openbox) !important;
}


/* =========================================================
   4. SEMINUEVO / REACONDICIONADO
   VERDE OSCURO
   ========================================================= */

.condicion_item_ultrapc_archivos:is(
    .seminuevo,
    .reacondicionado,
    .reac-sin-uso
),
.condicion_item_ultrapc_archivos[class*="reacondicionado"],
.condicion_item_ultrapc.texto_sumario
.condicion:is(
    .seminuevo,
    .reacondicionado,
    .reac-sin-uso
),
.condicion_item_ultrapc.texto_sumario
.condicion[class*="reacondicionado"] {
    background-color: var(--upc-status-seminuevo-bg) !important;
    border-color: var(--upc-status-seminuevo-border) !important;
    color: var(--upc-status-seminuevo) !important;
}

.condicion_item_ultrapc_archivos:is(
    .seminuevo,
    .reacondicionado,
    .reac-sin-uso
)::before,
.condicion_item_ultrapc_archivos[class*="reacondicionado"]::before {
    color: var(--upc-status-seminuevo) !important;
    border-color: var(--upc-status-seminuevo) !important;
}

.contenedor-short-ultrapc
.condicion:is(
    .seminuevo,
    .reacondicionado,
    .reac-sin-uso
)
.fa-info-circle::before,
.contenedor-short-ultrapc
.condicion[class*="reacondicionado"]
.fa-info-circle::before {
    color: var(--upc-status-seminuevo) !important;
    -webkit-text-fill-color: var(--upc-status-seminuevo) !important;
}


/* =========================================================
   5. USADO
   VERDE CLARO
   ========================================================= */

.condicion_item_ultrapc_archivos.usado,
.condicion_item_ultrapc.texto_sumario
.condicion.usado {
    background-color: var(--upc-status-usado-bg) !important;
    border-color: var(--upc-status-usado-border) !important;
    color: var(--upc-status-usado-text) !important;
}

.condicion_item_ultrapc_archivos.usado::before {
    color: var(--upc-status-usado) !important;
    border-color: var(--upc-status-usado) !important;
}

.contenedor-short-ultrapc
.condicion.usado
.fa-info-circle::before {
    color: var(--upc-status-usado-text) !important;
    -webkit-text-fill-color: var(--upc-status-usado-text) !important;
}


/* =========================================================
   6. DOOFINDER - NUEVO / NUEVO SELLADO
   ========================================================= */

:is(
    #df-results__wrapper__dffullscreen,
    #df-mobile__content__dffullscreen
)
> .df-card_letsee:has(
    .df-card:is(
        [class*="/Nuevo/"],
        [class$="/Nuevo"],
        [class*="/Nuevo Sellado/"],
        [class$="/Nuevo Sellado"]
    )
)
.df-card__condicion {
    background: var(--upc-status-nuevo-bg) !important;
    border-color: var(--upc-status-nuevo-border) !important;
    color: var(--upc-status-nuevo) !important;
}

:is(
    #df-results__wrapper__dffullscreen,
    #df-mobile__content__dffullscreen
)
> .df-card_letsee:has(
    .df-card:is(
        [class*="/Nuevo/"],
        [class$="/Nuevo"],
        [class*="/Nuevo Sellado/"],
        [class$="/Nuevo Sellado"]
    )
)
.df-card__condicion::before {
    color: var(--upc-status-nuevo) !important;
}


/* =========================================================
   7. DOOFINDER - OPEN BOX
   ========================================================= */

:is(
    #df-results__wrapper__dffullscreen,
    #df-mobile__content__dffullscreen
)
> .df-card_letsee:has(
    .df-card:is(
        [class*="/Open Box/"],
        [class$="/Open Box"]
    )
)
.df-card__condicion {
    background: var(--upc-status-openbox-bg) !important;
    border-color: var(--upc-status-openbox-border) !important;
    color: var(--upc-status-openbox) !important;
}

:is(
    #df-results__wrapper__dffullscreen,
    #df-mobile__content__dffullscreen
)
> .df-card_letsee:has(
    .df-card:is(
        [class*="/Open Box/"],
        [class$="/Open Box"]
    )
)
.df-card__condicion::before {
    color: var(--upc-status-openbox) !important;
}


/* =========================================================
   8. DOOFINDER - SEMINUEVO / REACONDICIONADO
   ========================================================= */

:is(
    #df-results__wrapper__dffullscreen,
    #df-mobile__content__dffullscreen
)
> .df-card_letsee:has(
    .df-card:is(
        [class*="/Seminuevo/"],
        [class$="/Seminuevo"],
        [class*="/Reacondicionado/"],
        [class$="/Reacondicionado"],
        [class*="/Reacondicionado (Sin Uso)/"],
        [class$="/Reacondicionado (Sin Uso)"]
    )
)
.df-card__condicion {
    background: var(--upc-status-seminuevo-bg) !important;
    border-color: var(--upc-status-seminuevo-border) !important;
    color: var(--upc-status-seminuevo) !important;
}

:is(
    #df-results__wrapper__dffullscreen,
    #df-mobile__content__dffullscreen
)
> .df-card_letsee:has(
    .df-card:is(
        [class*="/Seminuevo/"],
        [class$="/Seminuevo"],
        [class*="/Reacondicionado/"],
        [class$="/Reacondicionado"],
        [class*="/Reacondicionado (Sin Uso)/"],
        [class$="/Reacondicionado (Sin Uso)"]
    )
)
.df-card__condicion::before {
    color: var(--upc-status-seminuevo) !important;
}


/* =========================================================
   9. DOOFINDER - USADO
   ========================================================= */

:is(
    #df-results__wrapper__dffullscreen,
    #df-mobile__content__dffullscreen
)
> .df-card_letsee:has(
    .df-card:is(
        [class*="/Usado/"],
        [class$="/Usado"]
    )
)
.df-card__condicion {
    background: var(--upc-status-usado-bg) !important;
    border-color: var(--upc-status-usado-border) !important;
    color: var(--upc-status-usado-text) !important;
}

:is(
    #df-results__wrapper__dffullscreen,
    #df-mobile__content__dffullscreen
)
> .df-card_letsee:has(
    .df-card:is(
        [class*="/Usado/"],
        [class$="/Usado"]
    )
)
.df-card__condicion::before {
    color: var(--upc-status-usado) !important;
}


/* =========================================================
   10. TARJETAS USADO - ELIMINAR ACENTO NARANJO ANTIGUO
   ========================================================= */

.product.product_tag-usado .product-item__inner,
section.related.products
li.product.product_tag-usado
.product-item__inner {
    border-color: var(--upc-status-usado-border) !important;
}

.product.product_tag-usado:hover .product-item__inner,
section.related.products
li.product.product_tag-usado:hover
.product-item__inner {
    border-color: var(--upc-status-usado) !important;
}


/* =========================================================
   11. API VISUAL PARA ELEMENTOS FUTUROS

   Permite usar:
   data-product-status="nuevo"
   data-product-status="open-box"
   data-product-status="seminuevo"
   data-product-status="reacondicionado"
   data-product-status="usado"
   ========================================================= */

[data-product-status="nuevo"],
[data-product-status="nuevo-sellado"] {
    --upc-current-status: var(--upc-status-nuevo);
    --upc-current-status-bg: var(--upc-status-nuevo-bg);
    --upc-current-status-border: var(--upc-status-nuevo-border);
}

[data-product-status="open-box"] {
    --upc-current-status: var(--upc-status-openbox);
    --upc-current-status-bg: var(--upc-status-openbox-bg);
    --upc-current-status-border: var(--upc-status-openbox-border);
}

[data-product-status="seminuevo"],
[data-product-status="reacondicionado"] {
    --upc-current-status: var(--upc-status-seminuevo);
    --upc-current-status-bg: var(--upc-status-seminuevo-bg);
    --upc-current-status-border: var(--upc-status-seminuevo-border);
}

[data-product-status="usado"] {
    --upc-current-status: var(--upc-status-usado);
    --upc-current-status-bg: var(--upc-status-usado-bg);
    --upc-current-status-border: var(--upc-status-usado-border);
}


/* =========================================================
   12. HOME - PRIORIDAD GLOBAL DE ESTADOS
   ========================================================= */


/* NUEVO / NUEVO SELLADO — AZUL OSCURO */
body.home .condicion_item_ultrapc_archivos:is(
    .nuevo,
    .nuevo-sellado
) {
    background: var(--upc-status-nuevo-bg) !important;
    border-color: var(--upc-status-nuevo-border) !important;
    color: var(--upc-status-nuevo) !important;
}

body.home .condicion_item_ultrapc_archivos:is(
    .nuevo,
    .nuevo-sellado
)::before {
    color: var(--upc-status-nuevo) !important;
    border-color: var(--upc-status-nuevo) !important;
}


/* OPEN BOX — AZUL CLARO */
body.home .condicion_item_ultrapc_archivos.open-box {
    background: var(--upc-status-openbox-bg) !important;
    border-color: var(--upc-status-openbox-border) !important;
    color: var(--upc-status-openbox) !important;
}

body.home .condicion_item_ultrapc_archivos.open-box::before {
    color: var(--upc-status-openbox) !important;
    border-color: var(--upc-status-openbox) !important;
}


/* SEMINUEVO — VERDE OSCURO */
body.home .condicion_item_ultrapc_archivos.seminuevo {
    background: var(--upc-status-seminuevo-bg) !important;
    border-color: var(--upc-status-seminuevo-border) !important;
    color: var(--upc-status-seminuevo) !important;
}

body.home .condicion_item_ultrapc_archivos.seminuevo::before {
    color: var(--upc-status-seminuevo) !important;
    border-color: var(--upc-status-seminuevo) !important;
}


/* REACONDICIONADO — VERDE OSCURO */
body.home .condicion_item_ultrapc_archivos:is(
    .reacondicionado,
    .reac-sin-uso
),
body.home .condicion_item_ultrapc_archivos[class*="reacondicionado"] {
    background: var(--upc-status-seminuevo-bg) !important;
    border-color: var(--upc-status-seminuevo-border) !important;
    color: var(--upc-status-seminuevo) !important;
}

body.home .condicion_item_ultrapc_archivos:is(
    .reacondicionado,
    .reac-sin-uso
)::before,
body.home .condicion_item_ultrapc_archivos[class*="reacondicionado"]::before {
    color: var(--upc-status-seminuevo) !important;
    border-color: var(--upc-status-seminuevo) !important;
}


/* USADO — VERDE CLARO */
body.home .product.product_tag-usado
.condicion_item_ultrapc_archivos,
body.home .condicion_item_ultrapc_archivos.usado {
    background: var(--upc-status-usado-bg) !important;
    border-color: var(--upc-status-usado-border) !important;
    color: var(--upc-status-usado-text) !important;
}

body.home .product.product_tag-usado
.condicion_item_ultrapc_archivos::before,
body.home .condicion_item_ultrapc_archivos.usado::before {
    color: var(--upc-status-usado) !important;
    border-color: var(--upc-status-usado) !important;
}


/* TARJETA USADO — QUITAR RASTRO NARANJO */
body.home .product.product_tag-usado .product-item__inner {
    border-color: var(--upc-status-usado-border) !important;

    box-shadow:
        0 2px 5px rgba(74,153,93, .035),
        0 8px 18px rgba(74,153,93, .08) !important;
}

body.home .product.product_tag-usado:hover .product-item__inner {
    border-color: var(--upc-status-usado) !important;

    box-shadow:
        0 7px 16px rgba(74,153,93, .09),
        0 15px 30px rgba(74,153,93, .10) !important;
}


/* =========================================================
   ULTRAPC - TIMBRE VISUAL PRODUCTO AGOTADO
   Automático mediante clase WooCommerce .outofstock
   ========================================================= */

/*
 * El timbre se coloca solamente sobre el viewport
 * de la fotografía principal.
 *
 * No afecta:
 * - miniaturas
 * - lupa
 * - botones
 * - navegación de galería
 */

body.single-product
.product.outofstock
.woocommerce-product-gallery
.flex-viewport,
body.single-product
.product.outofstock
.woocommerce-product-gallery:not(:has(.flex-viewport))
.woocommerce-product-gallery__wrapper {
    position: relative !important;
}

/* TIMBRE */
body.single-product
.product.outofstock
.woocommerce-product-gallery
.flex-viewport::after,
body.single-product
.product.outofstock
.woocommerce-product-gallery:not(:has(.flex-viewport))
.woocommerce-product-gallery__wrapper::after {
    content: "AGOTADO";

    position: absolute !important;

    top: 42% !important;
    left: 50% !important;

    transform:
        translate(-50%, -50%)
        rotate(-7deg) !important;

    z-index: 50 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 205px !important;

    padding: 13px 28px !important;

    box-sizing: border-box !important;

    color: #e1242b !important;
    background: rgba(255,255,255, 0.90) !important;

    border: 5px solid #e1242b !important;
    border-radius: 8px !important;

    box-shadow:
        0 5px 16px rgba(0,0,0, 0.12),
        inset 0 0 0 2px rgba(225,36,43, 0.12) !important;

    font-size: 31px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 2.5px !important;

    text-align: center !important;
    text-transform: uppercase !important;

    opacity: 0.95 !important;

    pointer-events: none !important;
}

/* Tablet */
@media (max-width: 991px) {

    body.single-product
    .product.outofstock
    .woocommerce-product-gallery
    .flex-viewport::after,
    body.single-product
    .product.outofstock
    .woocommerce-product-gallery:not(:has(.flex-viewport))
    .woocommerce-product-gallery__wrapper::after {

        min-width: 180px !important;

        padding: 11px 23px !important;

        border-width: 4px !important;

        font-size: 26px !important;

        letter-spacing: 2px !important;
    }
}

/* Teléfono */
@media (max-width: 575px) {

    body.single-product
    .product.outofstock
    .woocommerce-product-gallery
    .flex-viewport::after,
    body.single-product
    .product.outofstock
    .woocommerce-product-gallery:not(:has(.flex-viewport))
    .woocommerce-product-gallery__wrapper::after {

        top: 41% !important;

        min-width: 150px !important;

        padding: 9px 18px !important;

        border-width: 4px !important;

        border-radius: 6px !important;

        font-size: 21px !important;

        letter-spacing: 1.5px !important;
    }
}

