/*
 * Ferrolan · Páginas portada de categoría (Baños, Azulejos…) · v1.2.2
 * Lo enlaza el widget «Navega nuestras categorías» solo en las páginas donde se usa.
 * .fl-hubfam*  → rejilla de categorías hijas que pinta el módulo (automática).
 * .fl-hub-*    → clases CSS que se ponen a las secciones y widgets de Creative Elements.
 * El tema fuerza «p:not(#e){color:inherit}»: los colores de texto se ponen en el contenedor del widget.
 */

/* Ritmo vertical */
.fl-hub{font-family:Montserrat,Arial,sans-serif;color:#1C1C1A}
/* .elementor-section.* para ganar al CSS por elemento de Creative Elements (margen/relleno 0) */
.elementor-section.fl-hub+.elementor-section.fl-hub{margin-top:96px}
.elementor-section.fl-hub-head{padding-top:40px}
.fl-hub .elementor-widget:not(:last-child){margin-bottom:0}
.fl-hub .elementor-widget-wrap{row-gap:0}

/* Cabecera */
.fl-hub-h1 .elementor-heading-title{margin:0;font-size:48px;font-weight:700;letter-spacing:-.025em;line-height:1.05;color:#1C1C1A}
.fl-hub-lead{margin-top:20px!important;color:#4A4A4A}
.fl-hub-lead p{margin:0;max-width:620px;font-size:18px;line-height:1.65;color:#4A4A4A}
.fl-hub-facts{margin-top:28px!important}
.fl-hub-facts p{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.fl-hub-facts span{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid #E1E1E1;border-radius:999px;font-size:13px;font-weight:600;color:#1C1C1A}

/* Títulos de sección */
.fl-hub-h2{margin-bottom:28px!important}
.fl-hub-h2 .elementor-heading-title{margin:0;font-size:28px;font-weight:700;letter-spacing:-.015em;line-height:1.2;color:#1C1C1A}
.fl-hub-kicker{margin-bottom:18px!important}
.fl-hub-kicker .elementor-heading-title{margin:0;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#707072}
.fl-hub-note{margin:-16px 0 28px!important;color:#707072}
.fl-hub-note p{margin:0;font-size:14px}
.fl-hub-note a{font-weight:700;color:#1C1C1A;text-decoration:underline;text-underline-offset:3px}
.fl-hub-note a:hover{color:#C40731}

/* Navega nuestras categorías (widget del módulo): tarjetas verticales, 3 / 2 columnas */
.fl-hubfam{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fl-hubfam__card{display:flex;flex-direction:column;height:100%;margin:0;border:1px solid #ECECEC;border-radius:18px;background:#FFFFFF;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.fl-hubfam__card:hover{border-color:#D6D6D6;box-shadow:0 12px 32px rgba(28,28,26,.08)}
.fl-hubfam__img{display:block;width:100%;aspect-ratio:15/8;overflow:hidden;background:#F4F4F4}
.fl-hubfam__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.fl-hubfam__card:hover .fl-hubfam__img img{transform:scale(1.04)}
.fl-hubfam__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px;padding:22px 24px 24px}
.fl-hubfam__name{margin:0;font-family:Montserrat,Arial,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.fl-hubfam__name a{color:#1C1C1A;text-decoration:none}
.fl-hubfam__subs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fl-hubfam__subs li{min-width:0}
.fl-hubfam__subs a{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;line-height:1.45;color:#5E5E5E;text-decoration:none}
.fl-hubfam__subs a:hover{color:#1C1C1A;text-decoration:underline;text-underline-offset:3px}
.fl-hubfam__more{margin-top:auto;padding-top:6px;font-size:14px;font-weight:700;color:#C40731;text-decoration:none}
.fl-hubfam__more::after{content:" →"}

/* Lo más buscado */
.fl-hub-chips p{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.fl-hub-chips a{padding:12px 20px;border-radius:999px;background:#F2F2F2;color:#1C1C1A;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}
.fl-hub-chips a:hover{background:#1C1C1A;color:#FFFFFF}

/* Destacados: tarjetas iguales y botón uniforme */
.fl-hub-products .ce-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}
.fl-hub-products .product-miniature{display:flex;flex-direction:column;height:100%;margin:0;border:1px solid #ECECEC;border-radius:18px;background:#FFFFFF;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.fl-hub-products .product-miniature:hover{border-color:#D6D6D6;box-shadow:0 10px 30px rgba(28,28,26,.07)}
.fl-hub-products .thumbnail-container{position:relative;margin:0;background:#F6F6F6}
.fl-hub-products .thumbnail-container img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;mix-blend-mode:multiply}
.fl-hub-products .product-flags{position:absolute;left:12px;top:12px;bottom:auto;margin:0;padding:0}
.fl-hub-products .product-flag{margin:0;padding:5px 9px;border-radius:6px;background:#1C1C1A;font-size:11px;font-weight:700;line-height:1.2;color:#FFFFFF}
.fl-hub-products .product-description{flex:1;display:flex;flex-direction:column;gap:6px;margin:0;padding:16px 16px 18px;border-radius:0;background:#FFFFFF}
.fl-hub-products .product-title{margin:0;min-height:36px;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.01em}
.fl-hub-products .product-title a{color:#1C1C1A}
.fl-hub-products .reference_brand_content{margin:0;font-size:12px;line-height:1.4;color:#8A8A8C}
.fl-hub-products .reference_brand_content .reference{display:none}
.fl-hub-products .product-price-and-shipping{margin-top:auto;padding-top:8px;text-align:left}
.fl-hub-products .price{font-size:18px;font-weight:800;color:#1C1C1A}
.fl-hub-products .ecommaddtocart_productlist{margin-top:12px;width:100%}
.fl-hub-products .add-to-cart-productlist,
.fl-hub-products .add-to-cart-productlist-more{display:flex!important;align-items:center;justify-content:center;width:100%!important;height:44px;margin:0;padding:0 16px!important;border:0;border-radius:12px;background:#C40731!important;font-size:14px;font-weight:700;letter-spacing:0;text-transform:none!important;color:#FFFFFF!important;text-decoration:none;transition:background .15s}
.fl-hub-products .add-to-cart-productlist:hover,
.fl-hub-products .add-to-cart-productlist-more:hover{background:#C40731!important;opacity:.9}

.fl-hub-products .ce-product-grid>*{width:auto!important;height:100%;max-width:none;padding:0}
.fl-hub-products .product-title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;height:auto;max-height:none}
.fl-hub-products .reference_brand_content,.fl-hub-products .reference_brand_content .brand{text-align:left}
.fl-hub-products .product-price-and-shipping{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px}
.fl-hub-products .price{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px;white-space:nowrap}
.fl-hub-products .taxinclabel{font-size:11px;font-weight:500;color:#8A8A8C}
.fl-hub-products .ecommaddtocart_productlist{display:block!important;float:none!important;width:100%!important}

/* Tarjetas tienda / a medida */
.fl-hub-cards .elementor-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;padding:0 10px;box-sizing:border-box}
.fl-hub-cards .elementor-row>.elementor-column{width:auto!important;max-width:none}
.fl-hub-card>.elementor-column-wrap{height:100%;padding:0!important;border-radius:20px;overflow:hidden}
.fl-hub-card .elementor-widget-wrap{display:flex;flex-direction:column;align-items:flex-start;padding:40px!important}
.fl-hub-card .elementor-widget-wrap>.elementor-element{width:100%}
.fl-hub-card .fl-hub-cardimg{width:calc(100% + 80px)!important;margin:-40px -40px 32px!important}
.fl-hub-card .fl-hub-cardimg .elementor-image,.fl-hub-card .fl-hub-cardimg a{display:block}
.fl-hub-card .fl-hub-cardimg img{display:block;width:100%!important;max-width:none;height:240px;object-fit:cover;border-radius:0}
.fl-hub-card .fl-hub-k .elementor-heading-title{margin:0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#C40731}
.fl-hub-card .fl-hub-t{margin-top:12px!important}
.fl-hub-card .fl-hub-t .elementor-heading-title{margin:0;font-size:26px;font-weight:700;letter-spacing:-.015em;line-height:1.2;color:#1C1C1A}
.fl-hub-card .fl-hub-x{margin-top:12px!important;color:#4A4A4A}
.fl-hub-card .fl-hub-x p{margin:0;max-width:440px;font-size:15px;line-height:1.6}
.fl-hub-card .fl-hub-btn,.fl-hub-card .fl-hub-chips{margin-top:28px!important}
.fl-hub-card .fl-hub-btn{width:auto!important}
.fl-hub-card .elementor-button{display:inline-flex;align-items:center;height:48px;padding:0 24px;border-radius:12px;background:#C40731;font-size:15px;font-weight:700;color:#FFFFFF}
.fl-hub-card .elementor-button:hover{background:#C40731;opacity:.9}
.fl-hub-dark .elementor-widget-wrap{justify-content:center}
.fl-hub-dark .fl-hub-k .elementor-heading-title{color:#FF8FA6}
.fl-hub-dark .fl-hub-t .elementor-heading-title{color:#FFFFFF}
.fl-hub-dark .fl-hub-x,.fl-hub-dark .fl-hub-x p{color:#CFCFCF}
.fl-hub-dark .fl-hub-chips a{background:#FFFFFF;color:#1C1C1A}
.fl-hub-dark .fl-hub-chips a+a{background:transparent;box-shadow:inset 0 0 0 1px #5A5A58;color:#FFFFFF}
.fl-hub-dark .fl-hub-chips a+a:hover{background:#FFFFFF;color:#1C1C1A}

/* Guía de compra al final */
.elementor-section.fl-hub-guide{padding-top:72px;border-top:1px solid #ECECEC}
.fl-hub-guide .fl-guide{padding-top:0}
.fl-hub-sample{display:inline-block;margin-top:8px;padding:4px 8px;border:1px dashed #B9B9B9;border-radius:6px;font-size:11px;font-weight:600;color:#707072}

/* Tablet */
@media (max-width:1024px){
.fl-hub-products .ce-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.fl-hubfam{grid-template-columns:repeat(2,minmax(0,1fr))}
.fl-hub-cards .elementor-row{grid-template-columns:minmax(0,1fr)}
}
/* Móvil */
@media (max-width:767px){
.elementor-section.fl-hub+.elementor-section.fl-hub{margin-top:64px}
.elementor-section.fl-hub-head{padding-top:24px}
.fl-hub-h1 .elementor-heading-title{font-size:34px}
.fl-hub-lead p{font-size:16px}
.fl-hub-h2 .elementor-heading-title{font-size:22px}
.fl-hub-h2{margin-bottom:20px!important}
.fl-hub-facts p,.fl-hub-chips p{flex-wrap:nowrap;overflow-x:auto;margin:0 -10px;padding:0 10px 4px;scrollbar-width:none}
.fl-hub-facts span,.fl-hub-chips a{flex:none}
.fl-hubfam{gap:24px 12px}
.fl-hubfam__card{border:0;border-radius:0;background:none;overflow:visible}
.fl-hubfam__card:hover{box-shadow:none}
.fl-hubfam__img{aspect-ratio:4/3;border-radius:14px}
.fl-hubfam__body{gap:2px;padding:10px 2px 0}
.fl-hubfam__name{font-size:15px}
.fl-hubfam__subs{display:none}
.fl-hubfam__more{margin:0;padding:0;font-size:12px;font-weight:500;color:#707072}
.fl-hubfam__more::after{content:""}
.fl-hub-products .ce-product-grid{gap:12px!important}
.fl-hub-products .product-description{padding:12px 12px 14px}
.fl-hub-products .price{font-size:16px}
.fl-hub-card .elementor-widget-wrap{padding:24px!important}
.fl-hub-card .fl-hub-cardimg{width:calc(100% + 48px)!important;margin:-24px -24px 24px!important}
.fl-hub-card .fl-hub-cardimg img{height:auto;aspect-ratio:16/10}
.fl-hub-card .fl-hub-t .elementor-heading-title{font-size:22px}
.elementor-section.fl-hub-guide{padding-top:48px}
.fl-hub-cards .elementor-row{gap:16px}
}
