/**
 * Estilos para el frontend
 * Paleta de colores: #031926, #468189, #77ACA2, #9DBEBB, #F4E9CD
 */

/* ==================== Badge de Descuento ==================== */
body .dawv-discount-badge {
    position: absolute !important;
    z-index: 99 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    /* Estilo "Tinted" por defecto (Tailwind style) */
    background-color: var(--dawv-badge-bg-soft, var(--dawv-badge-color)) !important; 
    color: var(--dawv-badge-color) !important;
    border: 1px solid var(--dawv-badge-border-subtle, transparent) !important;
    font-weight: 500 !important; /* font-medium */
    border-radius: var(--dawv-badge-radius, 4px) !important;
    padding: var(--dawv-badge-padding, 4px 8px) !important;
    box-shadow: none !important; 
    transition: transform 0.3s ease;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

/* Estilos específicos para badge de agotado */
body .dawv-outofstock-badge {
    background-color: var(--dawv-oos-bg-soft, var(--dawv-oos-color)) !important;
    color: var(--dawv-oos-color) !important;
    border-color: var(--dawv-oos-border-subtle, transparent) !important;
}

body .dawv-discount-badge:hover {
    transform: scale(1.05);
}

/* Tamaños del badge */
.dawv-badge-small {
    font-size: 14px; /* text-sm */
    min-width: auto; /* Allow content to dictate width */
}

.dawv-badge-large {
    font-size: 16px;
    min-width: auto;
}

/* Posiciones del badge */
.dawv-badge-top-left {
    top: 10px;
    left: 10px;
}

.dawv-badge-top-right {
    top: 10px;
    right: 10px;
}

.dawv-badge-bottom-left {
    bottom: 10px;
    left: 10px;
}

.dawv-badge-bottom-right {
    bottom: 10px;
    right: 10px;
}

/* Para productos en loop */
.woocommerce ul.products li.product {
    position: relative !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
    position: relative !important;
    display: block !important;
}

.woocommerce ul.products li.product a {
    position: relative !important;
}

.woocommerce ul.products li.product .dawv-discount-badge {
    animation: fadeInBadge 0.5s ease;
}

/* Para producto individual */
.woocommerce div.product div.images {
    position: relative !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    position: relative !important;
}

.woocommerce div.product .dawv-discount-badge {
    animation: fadeInBadge 0.5s ease;
}

/* ==================== Precios con descuento ==================== */
.dawv-price-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.dawv-original-price,
.dawv-original-price .amount,
.dawv-original-price bdi {
    color: var(--dawv-original-price-color, #6b7280) !important;
    font-size: 13px;
    text-decoration: line-through;
    opacity: 0.8;
}

.dawv-sale-price,
.dawv-sale-price .amount,
.dawv-sale-price bdi {
    color: var(--dawv-sale-price-color, #9ca3af) !important;
    font-size: 0.85em;
    text-decoration: line-through;
}

.dawv-discounted-price,
.dawv-discounted-price .amount,
.dawv-discounted-price bdi {
    color: var(--dawv-sale-price-color, #468189) !important;
    font-weight: 700;
    font-size: 1.1em;
    text-decoration: none;
}

/* Para página de producto individual */
.woocommerce div.product p.price .dawv-price-wrapper {
    font-size: inherit;
}

/* Para productos en loop */
.woocommerce ul.products li.product .price .dawv-price-wrapper {
    justify-content: center;
}

/* ==================== Badge en loop de productos ==================== */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    position: relative;
    display: block;
}

/* ==================== Badge en página de producto ==================== */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    position: relative;
}

/* ==================== Efectos hover ==================== */
.woocommerce ul.products li.product:hover .dawv-discount-badge {
    background-color: var(--dawv-badge-hover);
}

/* ==================== Animaciones ==================== */
@keyframes fadeInBadge {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

/* Animación sutil de pulso cuando aparece */
.dawv-discount-badge {
    animation: fadeInBadge 0.5s ease, pulse 2s ease-in-out infinite;
}

/* ==================== Responsive ==================== */
@media (max-width: 768px) {
    .dawv-badge-large {
        font-size: 14px !important;
    }
    
    .dawv-badge-small {
        font-size: 11px !important;
        padding: 3px 6px !important;
        min-height: auto !important;
    }
    
    .dawv-badge-top-left { top: 5px !important; left: 5px !important; }
    .dawv-badge-top-right { top: 5px !important; right: 5px !important; }
    .dawv-badge-bottom-left { bottom: 5px !important; left: 5px !important; }
    .dawv-badge-bottom-right { bottom: 5px !important; right: 5px !important; }
    
    .dawv-discount-badge {
        white-space: nowrap !important;
        max-width: 90%;
        text-overflow: ellipsis;
        overflow: hidden;
        line-height: 1.1 !important;
    }
    
    /* Asegurar que el badge single se vea bien en móvil */
    .dawv-discount-badge-single {
        font-size: 13px !important;
        padding: 4px 8px !important;
        z-index: 9999 !important; /* Asegurar visibilidad */
    }
    
    .dawv-price-wrapper {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
}

/* ==================== Fixes para Galería de Producto (Single) ==================== */
.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image,
.woocommerce-product-gallery__viewport {
    overflow: visible !important;
    position: relative !important;
}

/* Asegurar que el badge single se vea bien */
.dawv-discount-badge-single {
    z-index: 999 !important;
}

/* ==================== Compatibilidad con temas ==================== */
/* Storefront */
.storefront .dawv-discount-badge {
    border-radius: 4px;
}

/* Astra */
.astra-shop-thumbnail-wrap {
    position: relative;
}

/* OceanWP */
.oceanwp-thumbnail {
    position: relative;
}

/* Divi */
.et_pb_wc_images {
    position: relative;
}

/* ==================== Estilos para variaciones ==================== */
.woocommerce div.product form.cart .variations td {
    position: relative;
}

/* ==================== Badge en widgets ==================== */
.widget .dawv-discount-badge {
    font-size: 11px;
    padding: 4px 8px;
}

/* ==================== Estilos para mini cart ==================== */
.woocommerce-mini-cart .dawv-price-wrapper {
    font-size: 0.9em;
}

/* ==================== Dark mode support (opcional) ==================== */
@media (prefers-color-scheme: dark) {
    .dawv-original-price {
        color: #9ca3af;
    }
    
    .dawv-sale-price {
        color: #6b7280;
    }
}

/* ==================== Accesibilidad ==================== */
.dawv-discount-badge {
    /* Asegurar contraste adecuado */
    min-height: 30px;
    text-align: center;
}

.dawv-badge-percent {
    display: block;
    line-height: 1;
}

/* ==================== Print styles ==================== */
@media print {
    .dawv-discount-badge {
        position: static;
        display: inline-block;
        margin: 5px 0;
    }
}

/* ==================== Wrapper de imagen ==================== */
.dawv-product-image-wrapper {
    position: relative !important;
    overflow: visible !important;
    display: block !important;
    /* No forzamos width para respetar el tema */
}
