/*
Theme Name: Hello Elementor ICCO Child
Theme URI: https://iccomaderas.com
Description: Child theme de Hello Elementor para Distribuidora ICCO. Inyecta botón flotante de WhatsApp y customizaciones globales.
Author: Distribuidora ICCO
Author URI: https://iccomaderas.com
Template: hello-elementor
Version: 1.0.13
Text Domain: hello-elementor-icco
*/


/* ============ ICCO BLOG ARCHIVE — Custom grid + sidebar + paginación ============ */
body.blog .icco-blog-wrap,
body.home .icco-blog-wrap{display:grid !important;grid-template-columns:1fr 300px !important;gap:32px !important;max-width:1280px !important;margin:40px auto !important;padding:0 24px !important;background:transparent !important}
body.blog .icco-posts-grid,
body.home .icco-posts-grid{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:22px !important}
body.blog .icco-post-card,
body.home .icco-post-card{background:#fff !important;border-radius:14px !important;overflow:hidden !important;box-shadow:0 4px 14px rgba(0,0,0,.07) !important;display:flex !important;flex-direction:column !important;border:1px solid rgba(0,0,0,.05) !important;transition:all .25s ease !important}
body.blog .icco-post-card:hover,
body.home .icco-post-card:hover{transform:translateY(-4px) !important;box-shadow:0 14px 30px rgba(0,0,0,.13) !important}
body.blog .icco-post-card-img,
body.home .icco-post-card-img{display:block !important;overflow:hidden !important;aspect-ratio:16/10 !important;background:#FAFAFA !important;text-decoration:none !important}
body.blog .icco-post-card-img img,
body.home .icco-post-card-img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important}
body.blog .icco-post-card-noimg,
body.home .icco-post-card-noimg{display:flex !important;align-items:center !important;justify-content:center !important;width:100% !important;height:100% !important;font-size:42px !important;background:linear-gradient(135deg,#FFF1E0,#FFE0B0) !important;color:#E30613 !important}
body.blog .icco-post-card-body,
body.home .icco-post-card-body{padding:14px 16px 16px !important;display:flex !important;flex-direction:column !important;flex:1 !important}
body.blog .icco-post-card-cat,
body.home .icco-post-card-cat{font-size:10.5px !important;color:#E30613 !important;font-weight:800 !important;letter-spacing:.7px !important;text-transform:uppercase !important;margin:0 0 6px !important;display:inline-block !important}
body.blog .icco-post-card-title,
body.home .icco-post-card-title{margin:0 0 8px !important;font-size:15px !important;line-height:1.3 !important;font-weight:700 !important}
body.blog .icco-post-card-title a,
body.home .icco-post-card-title a{color:#1A1A1A !important;text-decoration:none !important}
body.blog .icco-post-card-excerpt,
body.home .icco-post-card-excerpt{font-size:13px !important;color:#666 !important;line-height:1.5 !important;margin:0 0 12px !important;flex:1 !important;display:-webkit-box !important;-webkit-line-clamp:3 !important;-webkit-box-orient:vertical !important;overflow:hidden !important}
body.blog .icco-post-card-link,
body.home .icco-post-card-link{color:#E30613 !important;text-decoration:none !important;font-weight:700 !important;font-size:13px !important;margin-top:auto !important;align-self:flex-start !important}
body.blog .icco-post-card-meta,
body.home .icco-post-card-meta{display:flex !important;gap:8px !important;font-size:11px !important;color:#999 !important;margin:0 0 8px !important}
body.blog .icco-blog-main h1,
body.home .icco-blog-main h1{font-size:34px !important;margin:0 0 8px !important;color:#1A1A1A !important;font-weight:800 !important;letter-spacing:-.5px}
body.blog .icco-blog-lead,
body.home .icco-blog-lead{font-size:15px !important;color:#666 !important;margin:0 0 28px !important;max-width:680px !important;line-height:1.5 !important}
body.blog .icco-blog-sidebar,
body.home .icco-blog-sidebar{align-self:start !important;position:sticky !important;top:24px !important}
body.blog .icco-sidebar-widget,
body.home .icco-sidebar-widget{background:#fff !important;border-radius:14px !important;padding:22px 24px !important;margin-bottom:20px !important;box-shadow:0 4px 14px rgba(0,0,0,.06) !important;border:1px solid rgba(0,0,0,.04) !important}
body.blog .icco-sidebar-widget h3,
body.home .icco-sidebar-widget h3{font-size:14px !important;margin:0 0 16px !important;color:#1A1A1A !important;font-weight:800 !important;padding-bottom:12px !important;border-bottom:2px solid #E30613 !important;text-transform:uppercase !important;letter-spacing:.5px}
body.blog .icco-sidebar-widget ul,
body.home .icco-sidebar-widget ul{list-style:none !important;margin:0 !important;padding:0 !important}
body.blog .icco-sidebar-widget li,
body.home .icco-sidebar-widget li{padding:10px 0 !important;border-bottom:1px solid #f0f0f0 !important;font-size:14px !important;line-height:1.4}
body.blog .icco-sidebar-widget li:last-child,
body.home .icco-sidebar-widget li:last-child{border-bottom:0 !important}
body.blog .icco-sidebar-widget li a,
body.home .icco-sidebar-widget li a{color:#444 !important;text-decoration:none !important;display:block !important}
body.blog .icco-sidebar-widget li a:hover,
body.home .icco-sidebar-widget li a:hover{color:#E30613 !important}
body.blog .icco-sidebar-cta,
body.home .icco-sidebar-cta{background:linear-gradient(135deg,#E30613,#1A1A1A) !important;color:#fff !important;padding:22px !important;border-radius:14px !important;text-align:center !important}
body.blog .icco-sidebar-cta h3,
body.home .icco-sidebar-cta h3{color:#F5A623 !important;margin:0 0 8px !important;border:0 !important;padding:0 !important;font-size:16px}
body.blog .icco-sidebar-cta p,
body.home .icco-sidebar-cta p{margin:0 0 14px !important;font-size:13px !important;line-height:1.5}
body.blog .icco-sidebar-cta a,
body.home .icco-sidebar-cta a{display:inline-block !important;background:#25D366 !important;color:#fff !important;padding:11px 22px !important;border-radius:50px !important;text-decoration:none !important;font-weight:700 !important}
body.blog .icco-blog-pagination,
body.home .icco-blog-pagination{display:flex !important;justify-content:center !important;gap:6px !important;margin:48px 0 0 !important;flex-wrap:wrap !important}
body.blog .icco-blog-pagination a, body.blog .icco-blog-pagination span,
body.home .icco-blog-pagination a, body.home .icco-blog-pagination span{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:42px !important;height:42px !important;padding:0 14px !important;border-radius:10px !important;border:1.5px solid #e2e2e2 !important;color:#1A1A1A !important;text-decoration:none !important;font-weight:700 !important;background:#fff !important;transition:all .2s ease}
body.blog .icco-blog-pagination a:hover, body.home .icco-blog-pagination a:hover{border-color:#E30613 !important;color:#E30613 !important;background:#FFF8F0 !important;transform:translateY(-1px)}
body.blog .icco-blog-pagination .current,
body.home .icco-blog-pagination .current{background:#E30613 !important;color:#fff !important;border-color:#E30613 !important}
@media(max-width:1024px){
  body.blog .icco-blog-wrap, body.home .icco-blog-wrap{grid-template-columns:1fr !important}
  body.blog .icco-posts-grid, body.home .icco-posts-grid{grid-template-columns:repeat(3,1fr) !important}
}
@media(max-width:768px){
  body.blog .icco-posts-grid, body.home .icco-posts-grid{grid-template-columns:repeat(2,1fr) !important}
}
@media(max-width:480px){
  body.blog .icco-posts-grid, body.home .icco-posts-grid{grid-template-columns:1fr !important}
}

/* ============ HIDE CATEGORY DESCRIPTION on archive pages ============ */
/* La descripción larga sigue en HTML para SEO (Google la lee) pero el usuario no la ve */
.archive.tax-product_cat .term-description,
.woocommerce.term-description,
body.tax-product_cat .term-description,
body.tax-product_cat .woocommerce-products-header__title{
    display: none !important;
}
/* También ocultar el título "Palos de Eucalipto archivos" porque dice "archivos" */
body.tax-product_cat .page-title{display:none !important}

/* ============ CATEGORY ARCHIVE LAYOUT — IDENTICAL TO /shop/ ============ */
body.tax-product_cat .icco-shop-grid-wrap{
    display:grid !important;
    grid-template-columns:280px 1fr !important;
    gap:32px !important;
    max-width:1280px !important;
    margin:0 auto !important;
    padding:24px 24px 80px !important;
    align-items:start !important;
}
body.tax-product_cat .icco-shop-sidebar.icco-cat-sidebar{
    grid-column:1 !important;
    grid-row:1 / span 100 !important;
    position:sticky !important;
    top:24px !important;
}
/* Ocultar elementos WC default que rompen layout */
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .woocommerce-notices-wrapper,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_cat .term-description,
body.tax-product_cat .page-title,
body.tax-product_cat header.woocommerce-products-header{
    display:none !important;
}
/* Productos en col 2 con grid 3-col idéntico a shop */
body.tax-product_cat .woocommerce ul.products,
body.tax-product_cat ul.products{
    grid-column:2 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:24px !important;
    padding:0 !important;
    margin:0 !important;
    list-style:none !important;
    width:100% !important;
}
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_cat ul.products li.product{
    width:auto !important;
    float:none !important;
    margin:0 !important;
    padding:0 !important;
    background:#FFFFFF !important;
    border-radius:16px !important;
    overflow:hidden !important;
    box-shadow:0 4px 14px rgba(0,0,0,.06) !important;
    transition:all .25s ease !important;
    display:flex !important;
    flex-direction:column !important;
}
body.tax-product_cat .woocommerce ul.products li.product:hover{
    transform:translateY(-4px) !important;
    box-shadow:0 14px 30px rgba(0,0,0,.10) !important;
}
/* Mobile responsive */
@media(max-width:1024px){
    body.tax-product_cat .icco-shop-grid-wrap{grid-template-columns:1fr !important}
    body.tax-product_cat .icco-shop-sidebar.icco-cat-sidebar{grid-column:1 !important;grid-row:auto !important;position:relative !important}
    body.tax-product_cat .woocommerce ul.products,body.tax-product_cat ul.products{grid-column:1 !important;grid-template-columns:repeat(2,1fr) !important}
}
@media(max-width:600px){
    body.tax-product_cat .woocommerce ul.products,body.tax-product_cat ul.products{grid-template-columns:1fr !important}
}

/* ============ HIDE OLD SHOP SIDEBAR (Elementor) — use PHP sidebar instead ============ */
/* El sidebar viejo estaba en Elementor con solo 4 categorias hardcoded. Lo ocultamos. */
body.woocommerce-shop .elementor-widget-shortcode .icco-shop-sidebar,
body.woocommerce-shop header.woocommerce-products-header .icco-shop-sidebar:not(.icco-cat-sidebar){
    display:none !important;
}
/* Aplicar mismo layout grid a shop (que ya usa el body class woocommerce-shop) */
body.woocommerce-shop .icco-shop-grid-wrap{
    display:grid !important;
    grid-template-columns:280px 1fr !important;
    gap:32px !important;
    max-width:1280px !important;
    margin:0 auto !important;
    padding:24px 24px 80px !important;
    align-items:start !important;
}
body.woocommerce-shop .icco-shop-sidebar.icco-cat-sidebar{
    grid-column:1 !important;
    grid-row:1 / span 100 !important;
    position:sticky !important;
    top:24px !important;
}
body.woocommerce-shop .woocommerce-products-header,
body.woocommerce-shop .woocommerce-notices-wrapper,
body.woocommerce-shop .woocommerce-result-count,
body.woocommerce-shop .woocommerce-ordering{
    display:none !important;
}
body.woocommerce-shop .woocommerce ul.products{
    grid-column:2 !important;
    grid-row:1 !important;
}

/* ============ MOBILE FIX SHOP CATEGORY — eliminar espacio vacío ============ */
/* Las media queries ahora aplican TAMBIÉN a /shop/ (no solo product_category) */
@media(max-width:1024px){
    body.woocommerce-shop .icco-shop-grid-wrap,
    body.tax-product_cat .icco-shop-grid-wrap{
        grid-template-columns:1fr !important;
        padding:16px !important;
    }
    body.woocommerce-shop .icco-shop-sidebar.icco-cat-sidebar,
    body.tax-product_cat .icco-shop-sidebar.icco-cat-sidebar{
        grid-column:1 !important;
        grid-row:auto !important;
        position:relative !important;
        top:auto !important;
        margin-bottom:16px !important;
    }
    body.woocommerce-shop .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.woocommerce-shop ul.products,
    body.tax-product_cat ul.products{
        grid-column:1 !important;
        grid-row:auto !important;
        grid-template-columns:repeat(2,1fr) !important;
    }
}
@media(max-width:600px){
    body.woocommerce-shop .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.woocommerce-shop ul.products,
    body.tax-product_cat ul.products{
        grid-template-columns:1fr !important;
    }
}

/* ============ HIDE SIDEBAR INTRO + CTA — solo dejar categorias ============ */
.icco-shop-sidebar.icco-cat-sidebar .icco-shop-intro-side,
.icco-shop-sidebar.icco-cat-sidebar .icco-cat-cta{
    display:none !important;
}
.icco-shop-sidebar.icco-cat-sidebar{
    padding:20px 22px !important;
}
.icco-shop-sidebar.icco-cat-sidebar .icco-cat-block-title{
    margin-top:0 !important;
}

/* ============ AGGRESSIVE OLD SIDEBAR HIDE ============ */
/* El sidebar viejo está dentro de header.woocommerce-products-header > .page-description > aside.icco-shop-sidebar (sin .icco-cat-sidebar) */
body.woocommerce-shop header.woocommerce-products-header,
body.woocommerce-shop .page-description,
.woocommerce-products-header .page-description,
.woocommerce-products-header__title,
aside.icco-shop-sidebar:not(.icco-cat-sidebar){
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    width:0 !important;
    overflow:hidden !important;
    position:absolute !important;
    left:-9999px !important;
}
/* También en categorías hide cualquier otro sidebar duplicado */
body.tax-product_cat aside.icco-shop-sidebar:not(.icco-cat-sidebar){
    display:none !important;
}

/* ============ FIX MAIN GRID v2 — main.site-main como grid container ============ */
/* Los productos y breadcrumb están DIRECTOS dentro de main.site-main (no del wrap) */
body.tax-product_cat main.site-main,
body.woocommerce-shop main.site-main{
    display:grid !important;
    grid-template-columns:280px 1fr !important;
    gap:32px !important;
    max-width:1280px !important;
    margin:0 auto !important;
    padding:24px 24px 80px !important;
    align-items:start !important;
}
/* El wrap se vuelve transparente — sus hijos (sidebar) saltan al grid de main */
body.tax-product_cat .icco-shop-grid-wrap,
body.woocommerce-shop .icco-shop-grid-wrap{
    display:contents !important;
}
/* Sidebar en columna 1, span todas las rows */
body.tax-product_cat aside.icco-cat-sidebar,
body.woocommerce-shop aside.icco-cat-sidebar{
    grid-column:1 !important;
    grid-row:1 / span 100 !important;
    position:sticky !important;
    top:24px !important;
    align-self:start !important;
}
/* Breadcrumb en col 2 row 1 */
body.tax-product_cat nav.woocommerce-breadcrumb,
body.woocommerce-shop nav.woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.woocommerce-shop .woocommerce-breadcrumb{
    grid-column:2 !important;
    grid-row:1 !important;
    margin:0 0 16px !important;
    padding:0 !important;
}
/* Productos en col 2 row 2 */
body.tax-product_cat .woocommerce ul.products,
body.tax-product_cat ul.products,
body.woocommerce-shop .woocommerce ul.products,
body.woocommerce-shop ul.products{
    grid-column:2 !important;
    grid-row:2 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
    justify-content:start !important;
    align-content:start !important;
    width:100% !important;
}
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_cat ul.products li.product,
body.woocommerce-shop .woocommerce ul.products li.product,
body.woocommerce-shop ul.products li.product{
    grid-column:auto !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
}
/* Mobile */
@media(max-width:1024px){
    body.tax-product_cat main.site-main,
    body.woocommerce-shop main.site-main{
        grid-template-columns:1fr !important;
        padding:16px 16px 60px !important;
    }
    body.tax-product_cat aside.icco-cat-sidebar,
    body.woocommerce-shop aside.icco-cat-sidebar{
        grid-column:1 !important;
        grid-row:auto !important;
        position:relative !important;
        top:auto !important;
        margin-bottom:16px !important;
    }
    body.tax-product_cat .woocommerce-breadcrumb,
    body.woocommerce-shop .woocommerce-breadcrumb,
    body.tax-product_cat nav.woocommerce-breadcrumb,
    body.woocommerce-shop nav.woocommerce-breadcrumb{
        grid-column:1 !important;
        grid-row:auto !important;
    }
    body.tax-product_cat ul.products,
    body.woocommerce-shop ul.products{
        grid-column:1 !important;
        grid-row:auto !important;
        grid-template-columns:repeat(2,1fr) !important;
    }
}
@media(max-width:600px){
    body.tax-product_cat ul.products,
    body.woocommerce-shop ul.products{
        grid-template-columns:1fr !important;
    }
}

/* ============ FIX V3 SHOP LOOP HOOK — sidebar dentro de main.site-main ============ */
/* Ahora el sidebar se inyecta via woocommerce_before_shop_loop que fire DENTRO de main */
body.tax-product_cat main.site-main,
body.woocommerce-shop main.site-main{
    display:grid !important;
    grid-template-columns:280px 1fr !important;
    gap:32px !important;
    max-width:1280px !important;
    margin:0 auto !important;
    padding:24px 24px 80px !important;
    align-items:start !important;
}
/* Wrap (ya no se usa display:contents) — es un simple div container del sidebar */
body.tax-product_cat .icco-shop-grid-wrap,
body.woocommerce-shop .icco-shop-grid-wrap{
    grid-column:1 !important;
    grid-row:1 / span 100 !important;
    position:sticky !important;
    top:24px !important;
    align-self:start !important;
}
body.tax-product_cat aside.icco-cat-sidebar,
body.woocommerce-shop aside.icco-cat-sidebar{
    /* Inside the wrap, normal display */
    display:block !important;
    width:100% !important;
}
/* Breadcrumb en col 2 row 1 */
body.tax-product_cat nav.woocommerce-breadcrumb,
body.woocommerce-shop nav.woocommerce-breadcrumb{
    grid-column:2 !important;
    grid-row:1 !important;
    margin:0 0 16px !important;
}
/* Productos en col 2 row 2 */
body.tax-product_cat .woocommerce ul.products,
body.tax-product_cat ul.products,
body.woocommerce-shop .woocommerce ul.products,
body.woocommerce-shop ul.products{
    grid-column:2 !important;
    grid-row:2 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
    justify-content:start !important;
}
/* Hide WC junk */
body.tax-product_cat header.woocommerce-products-header,
body.woocommerce-shop header.woocommerce-products-header,
body.tax-product_cat .woocommerce-notices-wrapper,
body.woocommerce-shop .woocommerce-notices-wrapper,
body.tax-product_cat .woocommerce-result-count,
body.woocommerce-shop .woocommerce-result-count,
body.tax-product_cat .woocommerce-ordering,
body.woocommerce-shop .woocommerce-ordering{
    display:none !important;
}

/* ============ MOBILE RESPONSIVE FIX (override FIX V3 on small screens) ============ */
@media (max-width:1024px) {
    body.tax-product_cat main.site-main,
    body.woocommerce-shop main.site-main {
        grid-template-columns:1fr !important;
        padding:16px 12px 60px !important;
        gap:20px !important;
    }
    body.tax-product_cat .icco-shop-grid-wrap,
    body.woocommerce-shop .icco-shop-grid-wrap {
        position:relative !important;
        top:auto !important;
        grid-column:1 !important;
        grid-row:auto !important;
        width:100% !important;
        max-width:100% !important;
    }
    body.tax-product_cat aside.icco-cat-sidebar,
    body.woocommerce-shop aside.icco-cat-sidebar {
        grid-column:1 !important;
        grid-row:auto !important;
        width:100% !important;
        margin-bottom:8px !important;
    }
    body.tax-product_cat nav.woocommerce-breadcrumb,
    body.woocommerce-shop nav.woocommerce-breadcrumb {
        grid-column:1 !important;
        grid-row:auto !important;
    }
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_cat ul.products,
    body.woocommerce-shop .woocommerce ul.products,
    body.woocommerce-shop ul.products {
        grid-column:1 !important;
        grid-row:auto !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:16px !important;
    }
}
@media (max-width:480px) {
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_cat ul.products,
    body.woocommerce-shop .woocommerce ul.products,
    body.woocommerce-shop ul.products {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }
    body.tax-product_cat ul.products li.product,
    body.woocommerce-shop ul.products li.product {
        padding:0 !important;
    }
}

/* ============ OVERRIDE ELEMENTOR POST-7.CSS (shop archive template) ============ */
/* Elementor template post-7.css uses body.X #main.site-main (0,2,2). We bump to (0,3,2) with double body class */
@media (max-width:1024px) {
    body.woocommerce-shop.archive #main.site-main,
    body.post-type-archive-product.archive #main.site-main,
    body.woocommerce.woocommerce-shop #main.site-main,
    body.woocommerce.post-type-archive-product #main.site-main {
        grid-template-columns:1fr !important;
        padding:16px 12px 60px !important;
        gap:20px !important;
    }
    body.woocommerce-shop.archive #main.site-main ul.products,
    body.post-type-archive-product.archive #main.site-main ul.products,
    body.woocommerce.woocommerce-shop #main.site-main ul.products,
    body.woocommerce.post-type-archive-product #main.site-main ul.products {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        grid-column:1 !important;
        grid-row:auto !important;
        gap:16px !important;
    }
    body.woocommerce-shop.archive #main.site-main .icco-shop-grid-wrap,
    body.post-type-archive-product.archive #main.site-main .icco-shop-grid-wrap,
    body.woocommerce.woocommerce-shop #main.site-main .icco-shop-grid-wrap,
    body.woocommerce.post-type-archive-product #main.site-main .icco-shop-grid-wrap {
        position:relative !important;
        top:auto !important;
        grid-column:1 !important;
        grid-row:auto !important;
        width:100% !important;
        max-width:100% !important;
    }
    body.woocommerce-shop.archive #main.site-main aside.icco-cat-sidebar,
    body.post-type-archive-product.archive #main.site-main aside.icco-cat-sidebar,
    body.woocommerce.woocommerce-shop #main.site-main aside.icco-cat-sidebar,
    body.woocommerce.post-type-archive-product #main.site-main aside.icco-cat-sidebar {
        grid-column:1 !important;
        grid-row:auto !important;
        width:100% !important;
        margin-bottom:8px !important;
    }
    body.woocommerce-shop.archive #main.site-main nav.woocommerce-breadcrumb,
    body.post-type-archive-product.archive #main.site-main nav.woocommerce-breadcrumb,
    body.woocommerce.woocommerce-shop #main.site-main nav.woocommerce-breadcrumb,
    body.woocommerce.post-type-archive-product #main.site-main nav.woocommerce-breadcrumb {
        grid-column:1 !important;
        grid-row:auto !important;
    }
}
@media (max-width:480px) {
    body.woocommerce-shop.archive #main.site-main ul.products,
    body.post-type-archive-product.archive #main.site-main ul.products,
    body.woocommerce.woocommerce-shop #main.site-main ul.products,
    body.woocommerce.post-type-archive-product #main.site-main ul.products {
        gap:10px !important;
    }
}

/* ============ NOSOTROS STATS+CTAS MOBILE FIX (high spec — beats post-7.css 0,3,0) ============ */
@media (max-width:1024px) {
    /* Stats — 2x2 grid on mobile (overrides post-7.css `.page-id-468 [data-id="nosstatSec"]`) */
    body.page-id-468 .elementor-element-nosstatSec.e-con > .e-con-inner,
    body.elementor-page-468 .elementor-element-nosstatSec.e-con > .e-con-inner {
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:14px !important;
    }
    body.page-id-468 .elementor-element-nosstatSec.e-con > .e-con-inner > .elementor-element,
    body.elementor-page-468 .elementor-element-nosstatSec.e-con > .e-con-inner > .elementor-element {
        width:auto !important;
        min-width:0 !important;
        max-width:100% !important;
        flex:0 0 auto !important;
    }
    /* CTAs — same row */
    body.page-id-468 .elementor-element-nosstCTAs.e-con,
    body.elementor-page-468 .elementor-element-nosstCTAs.e-con {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        gap:10px !important;
        justify-content:center !important;
    }
    body.page-id-468 .elementor-element-nosstCTAs.e-con > .elementor-element-nosstBtnProd,
    body.page-id-468 .elementor-element-nosstCTAs.e-con > .elementor-element-nosstBtnWA,
    body.elementor-page-468 .elementor-element-nosstCTAs.e-con > .elementor-element-nosstBtnProd,
    body.elementor-page-468 .elementor-element-nosstCTAs.e-con > .elementor-element-nosstBtnWA {
        flex:1 1 0 !important;
        width:auto !important;
        min-width:0 !important;
        max-width:50% !important;
    }
    body.page-id-468 .elementor-element-nosstCTAs .elementor-button,
    body.elementor-page-468 .elementor-element-nosstCTAs .elementor-button {
        width:100% !important;
        padding-left:14px !important;
        padding-right:14px !important;
        white-space:nowrap !important;
        font-size:13px !important;
    }
}
@media (max-width:600px) {
    /* override post-7.css `.page-id-468 [data-id="nosstatSec"] → 1fr` at 600px */
    body.page-id-468 .elementor-element-nosstatSec.e-con > .e-con-inner,
    body.elementor-page-468 .elementor-element-nosstatSec.e-con > .e-con-inner {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:12px !important;
    }
}
@media (max-width:480px) {
    body.page-id-468 .elementor-element-nosstatSec.e-con > .e-con-inner,
    body.elementor-page-468 .elementor-element-nosstatSec.e-con > .e-con-inner {
        gap:10px !important;
    }
    body.page-id-468 .elementor-element-nosstCTAs .elementor-button,
    body.elementor-page-468 .elementor-element-nosstCTAs .elementor-button {
        font-size:12px !important;
        padding-left:10px !important;
        padding-right:10px !important;
    }
}

/* ============ BURGER MENU Z-INDEX FIX (home + all pages) ============ */
/* Problem: header inner container (z-index:1) creates a stacking context BELOW the hero's
   .e-con-inner (z-index:2). The fixed burger menu inside the header (z-index:9998) is
   trapped in z-index:1 context → hero paints over it on home page.
   Fix: bump the header container + its parent above the hero's z-index:2. */
header.elementor-location-header,
header.elementor-location-header > .elementor-element {
    z-index: 99999 !important;
    position: relative !important;
}
header.elementor-location-header .e-con,
header.elementor-location-header .elementor-element.e-con,
header.elementor-location-header > .elementor-element.e-con,
header.elementor-location-header > .elementor > .elementor-element {
    z-index: 99999 !important;
    position: relative !important;
}
/* Belt-and-suspenders: make burger menu itself z-index ultra high */
.icco-burger-menu {
    z-index: 999999 !important;
}
.icco-burger-btn,
label.icco-burger-btn {
    z-index: 999998 !important;
    position: relative !important;
}

/* ============ TESTIMONIALS MOBILE CAROUSEL (1 visible, no peek) ============ */
@media (max-width:1024px) {
    .icco-testim-grid {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        scroll-snap-type:x mandatory !important;
        scroll-behavior:smooth !important;
        -webkit-overflow-scrolling:touch !important;
        gap:0 !important;
        padding:8px 0 20px !important;
        margin:0 !important;
        scroll-padding:0 !important;
        scrollbar-width:none !important;
        -ms-overflow-style:none !important;
    }
    .icco-testim-grid::-webkit-scrollbar {
        display:none !important;
        width:0 !important;
        height:0 !important;
    }
    .icco-testim-grid > .icco-tc {
        flex:0 0 100% !important;
        width:100% !important;
        max-width:100% !important;
        scroll-snap-align:center !important;
        scroll-snap-stop:always !important;
        min-width:0 !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }
}

/* ============ BURGER CLOSE BUTTON (X) ============ */
.icco-burger-menu{
    /* Add space at top for the X close button */
    padding-top:64px !important;
    position:fixed !important;
}
.icco-burger-close{
    position:absolute;
    top:14px;
    right:14px;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,0.18);
    border-radius:50%;
    cursor:pointer;
    transition:background .2s ease;
    z-index:1000000;
    border:0;
    padding:0;
}
.icco-burger-close:hover,
.icco-burger-close:active{
    background:rgba(255,255,255,0.32);
}
.icco-burger-close::before,
.icco-burger-close::after{
    content:'';
    position:absolute;
    width:22px;
    height:2.5px;
    background:#fff;
    border-radius:2px;
}
.icco-burger-close::before{transform:rotate(45deg)}
.icco-burger-close::after{transform:rotate(-45deg)}

/* ============ NOSOTROS MOBILE SPACING — reduce excessive padding ============ */
@media (max-width:1024px) {
    /* Outer container padding */
    body.page-id-468 .elementor-element-nosheroSec.e-con,
    body.page-id-468 .elementor-element-nosstatSec.e-con,
    body.page-id-468 .elementor-element-nosstSec.e-con,
    body.page-id-468 .elementor-element-nosvalSec.e-con,
    body.page-id-468 .elementor-element-newtestimSec.e-con,
    body.page-id-468 .elementor-element-nosctaSec.e-con {
        padding-top:0 !important;
        padding-bottom:0 !important;
    }
    /* Inner padding — bring sections closer */
    body.page-id-468 .elementor-element-nosheroSec.e-con > .e-con-inner {
        padding-top:48px !important;
        padding-bottom:48px !important;
    }
    body.page-id-468 .elementor-element-nosstatSec.e-con > .e-con-inner {
        padding-top:24px !important;
        padding-bottom:32px !important;
    }
    body.page-id-468 .elementor-element-nosstSec.e-con > .e-con-inner,
    body.page-id-468 .elementor-element-nosvalSec.e-con > .e-con-inner,
    body.page-id-468 .elementor-element-newtestimSec.e-con > .e-con-inner,
    body.page-id-468 .elementor-element-nosctaSec.e-con > .e-con-inner {
        padding-top:40px !important;
        padding-bottom:40px !important;
    }
}
@media (max-width:480px) {
    body.page-id-468 .elementor-element-nosheroSec.e-con > .e-con-inner {
        padding-top:36px !important;
        padding-bottom:36px !important;
    }
    body.page-id-468 .elementor-element-nosstatSec.e-con > .e-con-inner {
        padding-top:20px !important;
        padding-bottom:24px !important;
    }
    body.page-id-468 .elementor-element-nosstSec.e-con > .e-con-inner,
    body.page-id-468 .elementor-element-nosvalSec.e-con > .e-con-inner,
    body.page-id-468 .elementor-element-newtestimSec.e-con > .e-con-inner,
    body.page-id-468 .elementor-element-nosctaSec.e-con > .e-con-inner {
        padding-top:32px !important;
        padding-bottom:32px !important;
    }
}
