
/* ==========================================================
   ACCIONES TARJETA PRODUCTO
========================================================== */

.product-card-actions {
    display: flex;
    align-items: stretch;
    gap: 9px;
    place-content: center;
    width: 100%;
    margin-top: 14px;
}


/* BASE DE LOS DOS BOTONES */

.product-action-btn {
    min-height: 54px;
    width: 100%;
    display: flex;
    align-items: center;

    border: 0;
    border-radius: 10px;

    padding: 6px 10px;

    text-decoration: none !important;
    cursor: pointer;

    box-sizing: border-box;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}


/* ==========================================================
   VER PRODUCTO
========================================================== */

.product-action-view {
    flex: 0 0 48%;

    background: var(--bg-secondary);
    color: #fff !important;

    box-shadow: 0 4px 10px rgba(7, 86, 217, .20);
}

.product-action-view:hover {
    background:  #e6a700;
    color: #fff !important;

    transform: translateY(-1px);
    box-shadow: 0 6px 15px rgba(7, 86, 217, .28);
}


/* ==========================================================
   AÑADIR AL CARRITO
========================================================== */

.product-action-cart {
    flex: 1;

    background: #202634;
    color: #fff !important;

    text-align: left;

    box-shadow: 0 4px 10px rgba(32, 38, 52, .15);
}

.product-action-cart:hover {
    background: #151b27;
    color: #fff !important;

    transform: translateY(-1px);
    box-shadow: 0 6px 15px rgba(32, 38, 52, .22);
}


/* ==========================================================
   ICONO
========================================================== */

.product-action-icon {
    flex: 0 0 37px;

    width: 37px;
    height: 37px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-right: 8px;

    border-radius: 8px;

    background: rgba(255,255,255,.10);

    font-size: 16px;
    color: #fff;
}

.product-action-view .product-action-icon {
    background: rgb(101 101 101 / 13%);
}


/* ==========================================================
   TEXTO
========================================================== */

.product-action-text {
    min-width: 0;

    display: flex;
    flex-direction: column;
    justify-content: center;

    line-height: 1.05;
}

.product-action-text strong {
    color: #fff !important;
    text-align: left;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.product-action-text small {
    margin-top: 3px;
    color: rgba(255, 255, 255, .70) !important;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
}


/* ==========================================================
   FLECHA CARRITO
========================================================== */

.product-action-arrow {
    margin-left: auto;
    padding-left: 7px;

    color: rgba(255,255,255,.75);

    font-size: 12px;
}


/* ==========================================================
   CLICK
========================================================== */

.product-action-btn:active {
    transform: translateY(0);
    box-shadow: none;
}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 420px) {

    .product-card-actions {
        gap: 7px;
    }

    .product-action-btn {
        min-height: 50px;
        padding: 5px 7px;
    }

    .product-action-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;

        margin-right: 6px;
    }

    .product-action-text strong {
        font-size: 12px;
    }

    .product-action-text small {
        font-size: 8px;
    }
}

.product-action-cart-wrap, .product-action-cart-wrap button {
    width: 100%;
}

/* =========================
   SKU
========================= */

.product-card-sku {
    width: 100%;
    text-align: center;

    margin: 0px 0 6px 0;

    color: #7d8790;
    font-size: 13px;
    font-weight: 500;

    letter-spacing: .1px;
}

.product-card-sku strong {
    color: #2b2f33;
    font-weight: 700;
}

.product-action-disabled {
    background: #939393;
}

/* TARJETAS DE PRODUCTO ALINEADAS */
.dl_woolist_item {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.dl_woolist_item_thumb {
    position: relative;
}

/* Badge de ahorro sobre la imagen */
.product-saving-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    background: #e8f7ee;
    border: 1px solid #b9e3c9;
    border-radius: 6px;
    color: #08783e;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(0,0,0,.08);
}

.dl_woolist_item_content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Título: misma altura */
.dl_woolist_item .dl_title {
    height: 70px;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.dl_woolist_item .dl_title h2 {
    margin: 0;
    text-align: center;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.dl_woolist_item .dl_post_price {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Precio anterior: arriba del precio actual y altura fija */
.product-old-price-space {
    height: 25px;
    min-height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 25px;
}

.product-old-price-space .old-price,
.product-old-price-space del {
    margin: 0;
}

/* Precio actual */
.product-price-current {
    height: 55px;
    min-height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Valoraciones */
.dl_woolist_item .star-product {
    height: 32px;
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}



/* =========================================
   TOAST
========================================= */

#toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 999999;

    display: flex;
    flex-direction: column;
    gap: 10px;

    pointer-events: none;
}


/* CAJA */

.toast-notification {
    display: flex;
    align-items: center;
    gap: 12px;

    min-width: 260px;
    max-width: 360px;

    padding: 12px 16px;

    background: #111827;

    border-radius: 10px;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.20);

    opacity: 0;

    transform: translateY(-10px);

    transition:
        opacity .25s ease,
        transform .25s ease;

    pointer-events: auto;

    box-sizing: border-box;
}


/* MOSTRAR */

.toast-notification.show {
    opacity: 1;
    transform: translateY(0);
}


/* =========================================
   ICONO
========================================= */

.toast-icon {
    width: 28px;
    height: 28px;

    min-width: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #22c55e;

    color: #ffffff;

    font-size: 17px;
    font-weight: 700;

    line-height: 1;
}


/* =========================================
   TEXTO
========================================= */

.toast-content {
    display: flex;
    flex-direction: column;

    min-width: 0;
}


.toast-title {
    display: block;

    margin: 0 0 2px 0;

    color: #ffffff;

    font-size: 14px;
    font-weight: 700;

    line-height: 1.25;
}


.toast-text {
    display: block;

    margin: 0;

    color: #f3f4f6;

    font-size: 13px;
    font-weight: 400;

    line-height: 1.3;
}


/* =========================================
   SUCCESS
========================================= */

.toast-success .toast-icon {
    background: #22c55e;
}


/* =========================================
   WARNING
========================================= */

.toast-warning .toast-icon {
    background: #f59e0b;
}


/* =========================================
   ERROR
========================================= */

.toast-error .toast-icon {
    background: #ef4444;
}


/* =========================================
   MÃ“VIL
========================================= */

@media (max-width: 600px) {

    #toast-container {
        top: 15px;
        right: 15px;
        left: 15px;
    }

    .toast-notification {
        width: 100%;
        min-width: 0;
        max-width: none;

        padding: 12px 14px;
    }

}

.badge-stock-ok {
    background: #ecfdf3;
    border: 1px solid #bbf7d0;
    color: #15803d;
}
.badge-stock {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 24px;
    padding: 0 9px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.product-meta-badges span {
    max-width: 100%;
}

.badge-sku {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 24px;
    padding: 0 9px;
    border-radius: 5px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.cart_delete button {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    transition: all .15s ease;
}

.cart_product img {
    width: 100% !important;
    max-width: 80px !important;
    height: auto !important;
    object-fit: contain;
}

.cart_product img {
    width: 86px !important;
    max-height: 86px;
    object-fit: contain;
    padding: 4px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
}

.drdt_sticky_fixed .singeland_btn_2 .elementor-button.ub-animation-left2right::after {
    background-color: var(--bg-primary) !important;
    border: var(--bg-primary) !important;
}

.drdt_sticky_fixed .singeland_btn_2 .elementor-button.ub-animation-left2right:hover i {
    color: white !important;
}

.footer .copyright a {
    color: #9d9d9d!important;
}



/* ==========================================
   DIRECCIONES DE ENTREGA Y FACTURACIÓN
   ========================================== */

/* TARJETAS */
#address_delivery,
#address_invoice {
    list-style: none !important;
    margin: 10px 0 24px !important;
    padding: 22px 24px !important;
    background: #ffffff !important;
    border: 1px solid #dce4ed !important;
    border-radius: 12px !important;
    box-shadow: 0 3px 12px rgba(22, 45, 75, .045);
    color: #526579;
    font-size: 15px;
    line-height: 1.65;
    transition: border-color .2s, box-shadow .2s;
}

#address_delivery:hover,
#address_invoice:hover {
    border-color: #b9cfe5 !important;
    box-shadow: 0 6px 20px rgba(22, 45, 75, .08);
}

/* QUITAR ESTILOS ANTIGUOS DE LI */
#address_delivery li,
#address_invoice li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 15px;
    line-height: 1.6;
    color: #5d7084;
}

/* TÍTULOS */
#address_delivery .address_title,
#address_invoice .address_title {
    margin-bottom: 16px !important;
    padding-bottom: 13px !important;
    border-bottom: 1px solid #e9eef4 !important;
}

#address_delivery .address_title h3,
#address_invoice .address_title h3 {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #164f90 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .2px;
    text-transform: uppercase;
}

/* NOMBRE DE DIRECCIÓN Y CLIENTE */
#address_delivery .address_firstname,
#address_invoice .address_address1:nth-child(3) {
    color: #243a50 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

#address_delivery b,
#address_invoice b {
    color: #243a50;
    font-weight: 700;
}

/* TELÉFONO */
#address_delivery .address_phone,
#address_invoice .address_phone {
    margin-top: 9px !important;
    color: #235f9f !important;
    font-weight: 600;
}

/* ==========================================
   SELECTORES HABILITADOS Y DESHABILITADOS
   ========================================== */

#select_address,
#select_invoice {
    display: block;
    width: 100% !important;
    height: 48px !important;
    min-height: 48px;
    padding: 0 42px 0 15px !important;
    margin: 8px 0 12px !important;

    border: 1px solid #ccd8e5 !important;
    border-radius: 9px !important;
    background-color: #ffffff !important;

    color: #344b63 !important;
    font-family: inherit;
    font-size: 14px !important;
    font-weight: 500;

    box-shadow: 0 2px 5px rgba(0,0,0,.025);
    outline: none;
    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;

    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235a718a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 17px !important;

    transition: border-color .2s, box-shadow .2s;
}

/* HABILITADO */
#select_address:not(:disabled),
#select_invoice:not(:disabled) {
    background-color: #ffffff !important;
    border-color: #a9c5e4 !important;
    cursor: pointer;
}

#select_address:not(:disabled):hover,
#select_invoice:not(:disabled):hover {
    border-color: #1976d2 !important;
}

#select_address:focus,
#select_invoice:focus {
    border-color: #1976d2 !important;
    box-shadow: 0 0 0 3px rgba(25,118,210,.11);
}

/* DESHABILITADO */
#select_address:disabled,
#select_invoice:disabled {
    background-color: #f3f5f8 !important;
    border-color: #e1e6ed !important;
    color: #8493a3 !important;
    opacity: 1 !important;
    cursor: not-allowed;
    box-shadow: none;

    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239eacbb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
}

/* OPCIONES */
#select_address option,
#select_invoice option {
    background: #ffffff;
    color: #344b63;
    font-size: 14px;
    padding: 10px;
}

/* CONTENEDOR AJAX */
#load_data_address {
    width: 100%;
}

/* CAMPOS OCULTOS */
#address_delivery .hidden,
#address_invoice .hidden {
    display: none !important;
}

/* RESPONSIVE */
@media (max-width: 767px) {
    #address_delivery,
    #address_invoice {
        padding: 18px 17px !important;
        margin-bottom: 18px !important;
        border-radius: 10px !important;
    }

    #select_address,
    #select_invoice {
        height: 50px !important;
        font-size: 15px !important;
    }

    #address_delivery li,
    #address_invoice li {
        font-size: 14px;
    }
}

/* SELECT DESHABILITADO */
select.form-control:disabled,
select.form-control[disabled] {
    width: 100% !important;
    height: 48px !important;
    padding: 0 15px !important;
    background: #f1f5f9 !important;
    border: 1px solid #d6e0ea !important;
    border-radius: 9px !important;
    color: #718096 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
    margin-bottom: 10px;
}

/* SELECT HABILITADO */
select.form-control:not(:disabled) {
    width: 100% !important;
    height: 48px !important;
    padding: 0 15px !important;

    background-color: #ffffff !important;
    border: 1px solid #b8cde2 !important;
    border-radius: 9px !important;

    color: #34495e !important;
    font-size: 14px !important;
    font-weight: 500 !important;

    cursor: pointer;
    transition: all .2s ease;
}

select.form-control:not(:disabled):focus {
    border-color: #1976d2 !important;
    box-shadow: 0 0 0 3px rgba(25,118,210,.12) !important;
    outline: none !important;
    margin-bottom:10px;
}
