/*
Theme Name: C4 Medios
Version: 2.2 (Menu img- classes + L3 fix + cursor fix)
Author: C4 Medios
*/

/* ==========================================================================
   1. GLOBAL LAYOUT & BASICS
   ========================================================================== */

body { 
    margin: 0; 
    background-color: #fff; 
    font-size: 17px;
}

.site-content-inner {
    width: 80%;           
    max-width: 1200px;    
    margin: 0 auto;       
}

input[type="text"], 
input[type="email"], 
textarea {
    margin: 3px !important;
    border-radius: 3px !important;
    background-color: #f7f7f7 !important;
    border: 1px solid #e2e8f0 !important;
    font-size: 15px !important;
    padding: 12px;
    width: 90%;
}

#c4-header-wrapper, 
.vc_row, 
.vc_column-inner { 
    overflow: visible !important; 
}

@media (max-width: 768px) {
    .site-content-inner { width: 90%; }
}

body .blanco.blanco {
    color: #ffffff !important;
}


/* ==========================================================================
   2. DESKTOP NAVIGATION
   ========================================================================== */

.c4-navigation ul { 
    list-style: none; 
    display: flex; 
    gap: 0px 25px; 
    margin: 0; 
    padding: 0; 
}

.c4-navigation li { 
    position: relative; 
    display: flex;
    align-items: center;
}

.c4-navigation a { 
    text-decoration: none; 
    font-weight: bold !important; 
    padding: 15px 0;
    display: block;
    color: #ffffff !important;
    cursor: pointer !important;
}

.vc_col-has-fill>.vc_column-inner, 
.vc_row-has-fill+.vc_row-full-width+.vc_row>.vc_column_container>.vc_column-inner, 
.vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner, 
.vc_row-has-fill>.vc_column_container>.vc_column-inner {
    padding-top: 10px;
}


/* ==========================================================================
   SUBMENUS NIVEL 2 Y 3 CON IMAGEN DE FONDO
   ========================================================================== */

/* Contenedor del sub-menu */
.c4-navigation ul li ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.30);
    border-radius: 6px;
    padding: 0;
    display: none;
    flex-direction: column;
    z-index: 9999;
    /* SIN overflow:hidden — necesario para que el nivel 3 no quede clippeado */
}

/* Nivel 3: sale a la derecha del nivel 2 */
.c4-navigation ul li ul.sub-menu li ul.sub-menu {
    position: absolute;
    top: 0;
    left: 100%;
    margin-top: 0;
    border-radius: 6px;
    display: none;
}

/* Cada item del sub-menu */
.c4-navigation ul li ul.sub-menu li {
    position: relative;
    display: block;
    height: 80px;
    border-bottom: none;        /* FIX: sin separación entre items */
    background-color: #1a1a1a;
    background-size: cover;
    background-position: center;
}

/* Border-radius en primer y último item del grupo */
.c4-navigation ul li ul.sub-menu > li:first-child { border-radius: 6px 6px 0 0; }
.c4-navigation ul li ul.sub-menu > li:last-child  { border-radius: 0 0 6px 6px; }
.c4-navigation ul li ul.sub-menu > li:only-child  { border-radius: 6px; }

/* Overlay oscuro sobre la imagen */
.c4-navigation ul li ul.sub-menu li::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.60) 0%, rgba(0,0,0,0.25) 100%);
    z-index: 1;
    transition: background 0.25s ease;
    border-radius: inherit;
}

.c4-navigation ul li ul.sub-menu li:hover::before {
    background: linear-gradient(to right, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.10) 100%);
}

/* Links dentro del sub-menu */
.c4-navigation ul li ul.sub-menu li a {
    position: relative;
    z-index: 2;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 14px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 0 20px;
    width: 100%;
    height: 80px;
    box-sizing: border-box;
    display: flex !important;
    align-items: center;
    text-shadow: 0 1px 5px rgba(0,0,0,0.9), 0 0 10px rgba(0,0,0,0.6);
    text-decoration: none;
    cursor: pointer !important;
    transition: letter-spacing 0.2s ease;
}

.c4-navigation ul li ul.sub-menu li a:hover {
    letter-spacing: 1px;
    color: #ffffff !important;
}

/* Flecha indicadora de sub-nivel */
.c4-navigation ul li ul.sub-menu li.menu-item-has-children > a::after {
    content: '›';
    position: absolute;
    right: 14px;
    font-size: 20px;
    opacity: 0.8;
    font-weight: 300;
}

/* Mostrar nivel 2 al hover */
.c4-navigation ul li:hover > ul.sub-menu {
    display: flex;
}

/* Mostrar nivel 3 al hover */
.c4-navigation ul li ul.sub-menu li:hover > ul.sub-menu {
    display: flex;
}


/* ==========================================================================
   IMAGENES DE FONDO POR CLASE img-*
   
   Estructura del menú (leída del HTML fuente):
   
   NIVEL 2:
     img-ropa-accesorios  → ROPA & ACCESORIOS (padre con hijos)
     img-equipo           → EQUIPO (padre con hijos)
   
   NIVEL 3 — bajo ROPA & ACCESORIOS:
     img-calzado, img-cascos, img-chalecos, img-fajas,
     img-guantes, img-impermeables, img-lentes,
     img-mascarillas, img-overoles
   
   NIVEL 3 — bajo EQUIPO:
     img-pisos, img-cadenas, img-cintas, img-conos,
     img-lamparas, img-topes, img-trafitambos
   
   Sube las imágenes a:
   https://www.alfalinegdl.com/wp-content/uploads/
   con el nombre indicado (ej: menu-calzado.jpg)
   Tamaño recomendado: 480x160px, JPG optimizado <80KB
   ========================================================================== */

/* --- Nivel 2 --- */
.c4-navigation .img-ropa-accesorios,
#wprm-menu .img-ropa-accesorios {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-ropa.jpg');
}

.c4-navigation .img-equipo,
#wprm-menu .img-equipo {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-equipo.jpg');
}

/* --- Nivel 3: Ropa & Accesorios --- */
.c4-navigation .img-calzado,
#wprm-menu .img-calzado {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-cascos.jpg');
}

.c4-navigation .img-cascos,
#wprm-menu .img-cascos {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-cascos.jpg');
}

.c4-navigation .img-chalecos,
#wprm-menu .img-chalecos {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-chalecos.jpg');
}

.c4-navigation .img-fajas,
#wprm-menu .img-fajas {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-fajas.jpg');
}

.c4-navigation .img-guantes,
#wprm-menu .img-guantes {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-guantes.jpg');
}

.c4-navigation .img-impermeables,
#wprm-menu .img-impermeables {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-impermeables.jpg');
}

.c4-navigation .img-lentes,
#wprm-menu .img-lentes {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-lentes.jpg');
}

.c4-navigation .img-mascarillas,
#wprm-menu .img-mascarillas {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-mascarillas.jpg');
}

.c4-navigation .img-overoles,
#wprm-menu .img-overoles {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-overoles.jpg');
}

/* --- Nivel 3: Equipo --- */
.c4-navigation .img-pisos,
#wprm-menu .img-pisos {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-pisos.jpg');
}

.c4-navigation .img-cadenas,
#wprm-menu .img-cadenas {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-cadenas.jpg');
}

.c4-navigation .img-cintas,
#wprm-menu .img-cintas {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-cintas.jpg');
}

.c4-navigation .img-conos,
#wprm-menu .img-conos {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-conos.jpg');
}

.c4-navigation .img-lamparas,
#wprm-menu .img-lamparas {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-lamparas.jpg');
}

.c4-navigation .img-topes,
#wprm-menu .img-topes {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-topes.jpg');
}

.c4-navigation .img-trafitambos,
#wprm-menu .img-trafitambos {
    background-image: url('https://www.alfalinegdl.com/wp-content/uploads/img-trafitambos.jpg');
}


/* ==========================================================================
   WP RESPONSIVE MENU (plugin MagniGenie) — Estilos para menú móvil
   
   El plugin genera: <nav id="wprm-menu"> o <ul class="wprm-menu-ul">
   Los li heredan las clases CSS del menú de WordPress (img-*).
   
   NOTA IMPORTANTE sobre el plugin free:
   - Soporta imagen de fondo para TODO el contenedor del menú
     (Menu Container Background Image en Appearance settings)
   - NO tiene opción nativa de imagen por item individual
   - PERO las clases CSS del menú de WP se transfieren a los li del plugin,
     así que los estilos img-* de arriba aplican directamente.
   - Si el plugin usa shadow DOM o scoping agresivo, agregar este bloque
     como CSS adicional en Apariencia > Personalizar > CSS adicional
   ========================================================================== */

/* Items con cualquier clase img-* dentro del menú del plugin */
#wprm-menu li[class*="img-"],
.wprm-menu-ul li[class*="img-"] {
    position: relative !important;
    min-height: 80px !important;
    background-size: cover !important;
    background-position: center !important;
}

/* Overlay oscuro */
#wprm-menu li[class*="img-"]::before,
.wprm-menu-ul li[class*="img-"]::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to right, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.30) 100%) !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

/* Links sobre la imagen */
#wprm-menu li[class*="img-"] > a,
.wprm-menu-ul li[class*="img-"] > a {
    position: relative !important;
    z-index: 1 !important;
    color: #ffffff !important;
    text-shadow: 0 1px 5px rgba(0,0,0,0.9) !important;
    min-height: 80px !important;
    display: flex !important;
    align-items: center !important;
    padding-left: 20px !important;
}

/* Cursor */
#wprm-menu a,
.wprm-menu-ul a {
    cursor: pointer !important;
}


/* ==========================================================================
   3. MOBILE NAVIGATION — Overlay custom (fallback / alternativo a WPRM)
   ========================================================================== */

#c4-trigger-btn {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99999;
    cursor: pointer;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    background-color: rgba(0,0,0,0.6);
    border-bottom-left-radius: 6px;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

@media screen and (max-width: 782px) {
    #c4-trigger-btn { top: 46px; }
}

#c4-trigger-btn .c4-hamburger {
    font-size: 26px;
    line-height: 1;
    color: #fff;
}

#c4-trigger-btn .c4-label {
    font-weight: 700;
    color: #fff;
    font-family: sans-serif;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
}

#c4-overlay-menu {
    display: none; 
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.96);
    z-index: 999999;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

#c4-close-btn {
    position: sticky;
    top: 0;
    align-self: flex-end;
    font-size: 44px;
    color: #fff;
    cursor: pointer;
    font-weight: 300;
    padding: 10px 20px;
    line-height: 1;
    z-index: 10;
    display: block;
}

.c4-menu-container {
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    flex: 1;
}

.c4-menu-container ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.c4-menu-container > ul > li {
    margin: 0;
    display: block;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.c4-menu-container > ul > li > a {
    color: #fff !important;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
    display: block;
    padding: 18px 24px;
    transition: background 0.2s;
    cursor: pointer !important;
}

.c4-menu-container > ul > li > a:hover {
    background: rgba(255,255,255,0.07);
}

.c4-menu-container ul li.menu-item-has-children > a::after {
    content: ' ›';
    opacity: 0.5;
    font-size: 18px;
}

.c4-menu-container ul li ul.sub-menu {
    display: none;
    flex-direction: column;
    padding: 0 !important;
    margin: 0 !important;
}

.c4-menu-container ul li ul.sub-menu.open {
    display: flex;
}

/* Items con imagen en el overlay custom — mismo patrón */
.c4-menu-container ul li ul.sub-menu li {
    position: relative;
    height: 80px;
    border-bottom: none;
    background-color: #222;
    background-size: cover;
    background-position: center;
}

.c4-menu-container ul li ul.sub-menu li::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.30) 100%);
    z-index: 1;
}

.c4-menu-container ul li ul.sub-menu li a {
    position: relative;
    z-index: 2;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0 24px 0 36px;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    display: flex !important;
    align-items: center;
    text-shadow: 0 1px 5px rgba(0,0,0,0.9);
    text-decoration: none;
    cursor: pointer !important;
}

@media (max-width: 768px) {
    .c4-navigation { display: none !important; }
    #c4-trigger-btn { display: flex; }
}


/* ==========================================================================
   4. WOOCOMMERCE - SINGLE PRODUCT
   ========================================================================== */

.c4-single-container {
    width: 80%;
    margin: 50px auto;
}

.c4-single-container .product {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 20px !important;
}

.c4-single-container .woocommerce-product-gallery,
.c4-single-container .summary {
    width: calc(50% - 10px) !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce-product-gallery__wrapper {
    background-color: #fff;
    border-radius: 20px !important;
    overflow: hidden;
    aspect-ratio: 1 / 1; 
    border: 1px solid #f0f0f0;
    box-shadow: 0 0 20px rgba(0,0,0,0.05);
    display: flex !important;
    align-items: center !important; 
    justify-content: center !important;
}

.woocommerce-product-gallery__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.woocommerce div.product .product_title {
    clear: none;
    margin-top: 0;
    padding: 0;
    border-bottom: 2px solid #999;
}

.product_meta {
    color: #999 !important;
    font-size: 12px !important;
    font-weight: bold !important;
    text-transform: uppercase;
    margin-top: 20px;
}

.product_meta span {
    margin-bottom: 5px;
    display: block;
}

.product_meta a {
    color: #800000 !important;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.product_meta a:hover { opacity: 0.7; }

.woocommerce-product-details__short-description {
    background: linear-gradient(to bottom, #F6F6F6 0%, #ffffff 100%) !important;
    border-radius: 15px !important;
    padding: 20px !important;
    margin-bottom: 25px !important;
    border: 1px solid #f0f0f0;
}

.c4-related-wrapper {
    margin-top: 50px;
    padding-top: 20px;
}

.c4-related-wrapper ul.products li.product {
    background: #fff;
    border-radius: 20px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08) !important;
    padding: 20px;
    text-align: center;
    transition: transform 0.3s;
}

.c4-related-wrapper ul.products li.product:hover {
    transform: translateY(-5px);
}

.c4-related-wrapper ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    margin-bottom: 15px !important;
    background-color: #fff; 
}

.c4-related-wrapper .c4-product-title, 
.c4-related-wrapper h2.woocommerce-loop-product__title {
    font-size: 16px !important;
    text-align: center !important;
    display: block;
    margin: 10px 0;
}

.c4-related-wrapper .c4-ver-mas {
    width: 100%;
    display: none;
    background-color: rgb(144,10,13);
    color: #fff;
    padding: 10px;
    font-size: 13px !important;
    text-align: center;
    border-radius: 20px !important; 
    text-decoration: none;
}

@media (max-width: 768px) {
    .c4-single-container { width: 95%; }
    
    .c4-single-container .product { flex-direction: column !important; }
    
    .c4-single-container .woocommerce-product-gallery,
    .c4-single-container .summary { width: 100% !important; }
}


/* ==========================================================================
   5. WOOCOMMERCE - ARCHIVE (CATALOG)
   ========================================================================== */

.c4-catalog-container {
    width: 80%;
    margin: 40px auto;
}

.woocommerce-products-header {
    margin-bottom: 40px;
    text-align: center;
}

.woocommerce-products-header__title {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
}

.c4-category-description {
    max-width: 800px;
    margin: 0 auto;
    color: #666;
    line-height: 1.6;
}

.c4-product-grid ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.c4-product-grid ul.products:before,
.c4-product-grid ul.products:after {
    display: none !important; 
}

.c4-product-grid ul.products li.product {
    background: #fff;
    border-radius: 20px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08) !important;
    padding: 20px;
    text-align: center;
    transition: transform 0.3s;
    width: 100% !important;
    box-sizing: border-box;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.c4-product-grid ul.products li.product:hover {
    transform: translateY(-5px);
}

.c4-product-grid ul.products li.product img {
    height: 250px !important;
    width: 100% !important;
    object-fit: contain !important;
    margin-bottom: 15px !important;
    display: block;
}

.c4-product-grid .c4-product-title,
.c4-product-grid h2.woocommerce-loop-product__title {
    font-size: 16px !important;
    color: #333;
    text-align: center !important;
    margin: 10px 0 15px 0;
    min-height: 40px;
}

.c4-product-grid .c4-ver-mas,
.c4-product-grid .button {
    width: 100%;
    display: block;
    background-color: rgb(144,10,13) !important;
    color: #fff !important;
    padding: 10px;
    font-size: 13px !important;
    text-align: center;
    border-radius: 20px !important;
    text-decoration: none;
    border: none;
    cursor: pointer;
    margin-top: auto;
}

.c4-product-grid .c4-ver-mas:hover {
    background-color: rgb(120,8,10) !important;
}

@media (max-width: 768px) {
    .c4-catalog-container { width: 95%; }

    .c4-product-grid ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
    
    .c4-product-grid ul.products li.product img {
        height: 180px !important; 
    }
}