/*
 Theme Name:   Kadence Child - Solurent
 Theme URI:    https://solurent.com.mx
 Description:  Child theme de Kadence para Solurent
 Author:       Solurent
 Author URI:   https://solurent.com.mx
 Template:     kadence
 Version:      1.0.0
 Text Domain:  kadence-child-solurent
*/

/* Importar estilos del tema padre */
@import url("../kadence/style.css");

/* =================================
   ESTILOS PERSONALIZADOS SOLURENT
   ================================= */

/* Menú Dropdown de Maquinaria - 2 Columnas */
.menu-item-maquinaria {
    position: relative;
}

.menu-item-maquinaria .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    padding: 30px;
    min-width: 600px;
    z-index: 1000;
    border-radius: 8px;
    margin-top: 10px;
}

.menu-item-maquinaria:hover .sub-menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.sub-menu .menu-category-column {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sub-menu .menu-category {
    margin-bottom: 15px;
}

.sub-menu .menu-category > a {
    font-weight: 600;
    font-size: 16px;
    color: #D32F2F;
    text-decoration: none;
    display: block;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sub-menu .menu-category > a:hover {
    color: #B71C1C;
}

.sub-menu .menu-subcategory {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sub-menu .menu-subcategory li {
    margin-bottom: 8px;
}

.sub-menu .menu-subcategory li a {
    font-size: 14px;
    color: #333;
    text-decoration: none;
    padding: 5px 0;
    display: block;
    transition: color 0.2s ease, padding-left 0.2s ease;
}

.sub-menu .menu-subcategory li a:hover {
    color: #D32F2F;
    padding-left: 8px;
}

.sub-menu .menu-category > a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 8px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #D32F2F;
    vertical-align: middle;
}

@media (max-width: 768px) {
    .menu-item-maquinaria .sub-menu {
        position: static;
        min-width: 100%;
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px;
    }
}

.menu-item-maquinaria .sub-menu {
    animation: fadeInDown 0.3s ease;
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
<?php
/**
 * MOSTRAR IMÁGENES DE CATEGORÍAS MAQUINARIA
 * 
 * INSTRUCCIONES:
 * 1. Copia este código
 * 2. Pégalo AL FINAL del archivo functions.php de tu child theme
 *    (Apariencia → Editor de temas → functions.php)
 * 3. Guarda
 * 
 * APLICA A: Todas las categorías dentro de "Categorías Maquinaria"
 * - Compactación (Bailarinas, Placas Reversibles, etc.)
 * - Concreto
 * - Demolición
 * - Y todas las demás
 * 
 * @version 1.0
 */

// Función para obtener URL de imagen de categoría maquinaria
function solurent_get_categoria_image($term_id, $size = 'medium') {
    $image_id = get_term_meta($term_id, 'thumbnail_id', true);
    
    if ($image_id) {
        $image = wp_get_attachment_image_src($image_id, $size);
        return $image ? $image[0] : '';
    }
    
    return '';
}

// Inyectar imágenes en el HTML de las subcategorías
add_filter('woocommerce_subcategory_image_html', 'solurent_fix_categoria_images', 10, 2);
function solurent_fix_categoria_images($html, $category) {
    // Verificar si es taxonomía "categoria_maquinaria"
    if ($category->taxonomy !== 'categoria_maquinaria') {
        return $html;
    }
    
    $image_url = solurent_get_categoria_image($category->term_id, 'medium');
    
    if ($image_url) {
        // Generar HTML con la imagen real
        $html = '<img src="' . esc_url($image_url) . '" alt="' . esc_attr($category->name) . '" />';
    }
    
    return $html;
}

// Hook alternativo para temas que no usan el filtro de WooCommerce
add_action('wp_head', 'solurent_inject_categoria_images_css');
function solurent_inject_categoria_images_css() {
    // Solo en páginas de archivo de categoria_maquinaria
    if (!is_tax('categoria_maquinaria')) {
        return;
    }
    
    // Obtener subcategorías de la categoría actual
    $current_term = get_queried_object();
    
    $subcats = get_terms(array(
        'taxonomy' => 'categoria_maquinaria',
        'parent' => $current_term->term_id,
        'hide_empty' => false,
    ));
    
    if (empty($subcats)) {
        return;
    }
    
    // Generar CSS inline para reemplazar backgrounds
    echo '<style type="text/css">';
    
    foreach ($subcats as $subcat) {
        $image_url = solurent_get_categoria_image($subcat->term_id, 'medium');
        
        if ($image_url) {
            $slug = $subcat->slug;
            echo "
            .term-{$slug} img,
            .category-{$slug} img,
            a[href*='{$slug}'] img {
                content: url('{$image_url}') !important;
                opacity: 1 !important;
            }
            ";
        }
    }
    
    echo '</style>';
}

// JavaScript para reemplazar imágenes placeholder en el frontend
add_action('wp_footer', 'solurent_replace_placeholder_images_js');
function solurent_replace_placeholder_images_js() {
    // Solo en páginas de archivo de categoria_maquinaria
    if (!is_tax('categoria_maquinaria')) {
        return;
    }
    
    $current_term = get_queried_object();
    
    $subcats = get_terms(array(
        'taxonomy' => 'categoria_maquinaria',
        'parent' => $current_term->term_id,
        'hide_empty' => false,
    ));
    
    if (empty($subcats)) {
        return;
    }
    
    // Crear mapa de slugs a URLs de imágenes
    $image_map = array();
    foreach ($subcats as $subcat) {
        $image_url = solurent_get_categoria_image($subcat->term_id, 'medium');
        if ($image_url) {
            $image_map[$subcat->slug] = $image_url;
        }
    }
    
    if (empty($image_map)) {
        return;
    }
    
    ?>
    <script type="text/javascript">
    (function() {
        var imageMap = <?php echo json_encode($image_map); ?>;
        
        // Esperar a que el DOM esté listo
        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', replacePlaceholders);
        } else {
            replacePlaceholders();
        }
        
        function replacePlaceholders() {
            // Buscar todos los enlaces a categorías
            var links = document.querySelectorAll('a[href*="/maquinaria/"]');
            
            links.forEach(function(link) {
                // Encontrar la imagen dentro del enlace
                var img = link.querySelector('img');
                if (!img) return;
                
                // Verificar si es un placeholder
                if (img.src.indexOf('placeholder') === -1) return;
                
                // Extraer el slug de la categoría desde la URL
                var href = link.getAttribute('href');
                
                // Intentar encontrar el slug en el mapa de imágenes
                for (var slug in imageMap) {
                    if (href.indexOf(slug) !== -1) {
                        // Reemplazar la imagen
                        img.src = imageMap[slug];
                        img.srcset = '';
                        img.style.opacity = '1';
                        break;
                    }
                }
            });
        }
    })();
    </script>
    <?php
}