/**
 * Theme Name:     GeneratePress Child
 * Author:         Tom Usborne
 * Template:       generatepress
 * Text Domain:    generatepress-child
 * Description:    GeneratePress child theme. El styling de las paginas se aplica directamente en propiedades nativas de cada widget/container Elementor.
 */

/* Fonts industriales — rediseño Inicio 2026-05-28: Archivo (display+body) + IBM Plex Mono (datos técnicos). Outfit se conserva por compatibilidad con el resto del sitio. */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@200;300;400;500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600&family=Outfit:wght@300;400;500;600;700&display=swap');

/* Font Awesome 6 (iconos de Elementor icon-box, etc.) */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css');

/* Reset minimal para Canvas */
body.elementor-template-canvas { margin: 0; padding: 0; }
body.elementor-template-canvas .elementor, body.elementor-template-canvas .elementor-section-wrap { padding: 0; margin: 0; }


/* =========================================
   PRODUCTOS (Loop Grid + Taxonomy Filter)
   ========================================= */

/* --- Card --- */
.mx-product-card {
    overflow: hidden;
    transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s ease, border-color .25s ease;
    text-decoration: none !important;
    height: 100%;
}
.mx-product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 38px rgba(13, 27, 20, .08), 0 6px 12px rgba(31, 122, 58, .06);
    border-color: rgba(31, 122, 58, .25) !important;
}

/* --- Image area --- */
.mx-product-imgwrap {
    overflow: hidden;
    border-bottom: 1px solid #EEF3EF;
    transition: background-color .35s ease;
}
.mx-product-imgwrap img {
    max-width: 100%;
    max-height: 180px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: transform .5s cubic-bezier(.4,0,.2,1);
    filter: drop-shadow(0 4px 10px rgba(13, 27, 20, .05));
}
.mx-product-card:hover .mx-product-imgwrap {
    background-color: #F2F8F4 !important;
}
.mx-product-card:hover .mx-product-imgwrap img {
    transform: scale(1.06);
}

/* --- Info area --- */
.mx-product-info {
    background: #FFFFFF;
}

/* --- Category eyebrow --- */
.elementor-widget.mx-product-cat,
.mx-product-cat {
    margin-bottom: 4px !important;
}
.mx-product-cat .elementor-widget-container > p,
.mx-product-cat p {
    margin: 0 !important;
    font-family: Outfit, sans-serif !important;
    font-size: .7rem !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    color: var(--e-global-color-secondary) !important;
}
.mx-product-cat a {
    color: inherit !important;
    pointer-events: none;
    text-decoration: none !important;
    border-bottom: none !important;
}

/* --- Title --- */
.mx-product-title .elementor-heading-title {
    transition: color .25s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.7em;
}
.mx-product-card:hover .mx-product-title .elementor-heading-title {
    color: var(--e-global-color-secondary) !important;
}

/* --- Loop grid container --- */
.elementor-element-prdgrid .elementor-grid,
.elementor-element-prdgrid .e-loop-container {
    gap: 24px !important;
}

/* --- Load more button --- */
.elementor-element-prdgrid .e-load-more-anchor,
.elementor-element-prdgrid a.e-load-more-anchor,
.elementor-element-prdgrid button[data-page] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--e-global-color-secondary) !important;
    color: #FFFFFF !important;
    padding: 14px 28px !important;
    border-radius: 999px !important;
    font-family: Outfit, sans-serif !important;
    font-weight: 600 !important;
    font-size: .95rem !important;
    border: none !important;
    box-shadow: 0 10px 30px rgba(31, 122, 58, .25) !important;
    transition: all .25s ease !important;
    cursor: pointer !important;
    text-decoration: none !important;
    margin-top: 24px;
}
.elementor-element-prdgrid a.e-load-more-anchor:hover,
.elementor-element-prdgrid button[data-page]:hover {
    background: var(--e-global-color-text) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 34px rgba(31, 122, 58, .35) !important;
}

/* =========================================
   TAXONOMY FILTER (pills)
   ========================================= */

.elementor-element-prdfilter {
    margin-bottom: 8px;
}
.elementor-element-prdfilter .elementor-widget-container > div,
.elementor-element-prdfilter .e-filter {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-element-prdfilter .e-filter-item {
    display: inline-flex !important;
    align-items: center !important;
    padding: .55rem 1.15rem !important;
    background: #FFFFFF !important;
    border: 1px solid #E5ECE7 !important;
    border-radius: 999px !important;
    color: #2A3A32 !important;
    font-family: Outfit, sans-serif !important;
    font-size: .82rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all .2s ease !important;
    cursor: pointer !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 6px rgba(13, 27, 20, .04);
}
.elementor-element-prdfilter .e-filter-item:hover {
    border-color: var(--e-global-color-secondary) !important;
    color: var(--e-global-color-secondary) !important;
    transform: translateY(-1px) !important;
}
.elementor-element-prdfilter .e-filter-item.e-filter-item--active,
.elementor-element-prdfilter .e-filter-item[aria-pressed="true"],
.elementor-element-prdfilter .e-filter-item.active {
    background: var(--e-global-color-secondary) !important;
    border-color: var(--e-global-color-secondary) !important;
    color: #FFFFFF !important;
    box-shadow: 0 8px 20px rgba(31, 122, 58, .25) !important;
}
.elementor-element-prdfilter .e-filter-item.e-filter-item--active:hover {
    color: #FFFFFF !important;
}

/* Responsive */
@media (max-width: 900px) {
    .mx-product-imgwrap {
        min-height: 200px !important;
    }
    .mx-product-imgwrap img {
        max-height: 150px;
    }
    .elementor-element-prdfilter .e-filter-item {
        font-size: .75rem !important;
        padding: .5rem .9rem !important;
    }
}
