:root{--rb-blue:#04b4e0;--rb-navy:#17384a;--rb-text:#314652;--rb-muted:#70828c;--rb-line:#e3ebef;--rb-soft:#f4f9fb}
.catalog-intro{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 28px;padding:32px 36px;border-radius:18px;color:#fff;background:linear-gradient(125deg,#102f40 0%,#176179 58%,#04a8d2 100%);overflow:hidden;box-shadow:0 16px 36px rgba(17,67,88,.18)}
.catalog-intro:after{content:"";position:absolute;width:280px;height:280px;right:-95px;top:-130px;border:45px solid rgba(255,255,255,.08);border-radius:50%}.catalog-intro>div:first-child{position:relative;z-index:1}.catalog-intro h3{margin:4px 0 9px;color:#fff;font-size:28px;line-height:1.25}.catalog-intro p{max-width:650px;margin:0;color:rgba(255,255,255,.8);line-height:1.65}.catalog-eyebrow{display:block;color:var(--rb-blue);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.catalog-intro .catalog-eyebrow{color:#8ae7ff}.catalog-intro-mark{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex:0 0 74px;height:74px;border:1px solid rgba(255,255,255,.25);border-radius:20px;background:rgba(255,255,255,.1);font-size:38px}
.catalog-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.catalog-sidebar{position:sticky;top:20px;padding:20px 17px;border:1px solid var(--rb-line);border-radius:15px;background:#fff;box-shadow:0 8px 25px rgba(25,59,74,.07)}.catalog-sidebar .row{margin:0}.catalog-sidebar [class*=col-]{width:100%;padding:0}.catalog-sidebar .portfolio-content{width:100%}.catalog-section-heading{display:block;margin:0 0 15px;padding-bottom:13px;border-bottom:1px solid var(--rb-line)}.catalog-section-heading h3{margin:0 0 4px;color:var(--rb-navy);font-size:17px}.catalog-section-heading h3 span{color:var(--rb-blue)}.catalog-section-heading>span{color:var(--rb-muted);font-size:11px}
.brand-carousel-wrap{position:relative;margin-bottom:23px}.brand-carousel{display:block;height:222px;margin:0;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;scrollbar-width:none;cursor:grab}.brand-carousel::-webkit-scrollbar{display:none}.brand-carousel.is-dragging{cursor:grabbing;user-select:none}.brand-carousel>div{scroll-snap-align:start;padding:4px 2px}.brand-link{display:flex;align-items:center;justify-content:center;width:100%;height:66px;padding:10px 14px;border:1px solid var(--rb-line);border-radius:9px;background:#fff;transition:.2s ease}.brand-link img{max-width:100%;max-height:40px;width:auto;height:auto;filter:grayscale(18%);pointer-events:none}.brand-link:hover,.brand-link.active{border-color:var(--rb-blue);background:#f5fcfe;box-shadow:0 6px 16px rgba(4,180,224,.12);transform:translateY(-1px)}.brand-scroll{display:flex;align-items:center;justify-content:center;width:100%;height:27px;border:0;color:#6190a2;background:transparent;cursor:pointer;transition:.2s}.brand-scroll:hover{color:var(--rb-blue);background:var(--rb-soft)}
.catalog-category-nav{display:flex;flex-direction:column;gap:3px;margin:0;padding:15px 0 0;border-top:1px solid var(--rb-line);list-style:none}.catalog-category-nav:before{content:"Categorías";display:block;margin:0 10px 8px;color:var(--rb-navy);font-size:13px;font-weight:800}.catalog-category-nav li{display:block;margin:0;opacity:1}.catalog-category-nav li a{position:relative;display:block;padding:9px 27px 9px 11px;border:0;border-radius:7px;color:#536873;background:transparent;font-size:12px;line-height:1.35;transition:.18s}.catalog-category-nav li a:after{content:"›";position:absolute;right:11px;color:#9badb5;font-size:17px;line-height:13px}.catalog-category-nav li a:hover,.catalog-category-nav li.active a{color:#058daf;background:#eaf8fc}.catalog-category-nav li.active a{font-weight:700}
.catalog-products{min-width:0}.catalog-products-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 16px;padding:2px 2px 14px;border-bottom:1px solid var(--rb-line)}.catalog-products-head h3{margin:4px 0 0;color:var(--rb-navy);font-size:22px}.catalog-reset{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid var(--rb-line);border-radius:7px;color:#607680;font-size:11px}.catalog-reset:hover{border-color:var(--rb-blue);color:var(--rb-blue)}.catalog-results{margin:0 0 10px;color:var(--rb-muted);font-size:12px}.catalog-results strong{color:var(--rb-navy)}
.portfolio-grid.catalog-grid{display:flex;flex-wrap:wrap;margin:0 -8px}.portfolio-grid.catalog-grid:after{display:none}.portfolio-grid.catalog-grid figure.catalog-card{position:relative!important;top:auto!important;left:auto!important;float:none;width:33.333%;padding:8px;overflow:visible}.catalog-card-inner{height:100%;border:1px solid var(--rb-line);border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 4px 15px rgba(25,59,74,.055);transition:.25s ease}.catalog-card:hover .catalog-card-inner{transform:translateY(-5px);border-color:#bfe4ee;box-shadow:0 15px 32px rgba(25,59,74,.14)}.catalog-card .portfolio-item-img{height:185px;background:linear-gradient(145deg,#f8fbfc,#edf4f6)}.catalog-card .portfolio-item-img img{width:100%;height:100%;object-fit:contain;padding:16px}.catalog-card .product-link{position:absolute;inset:0;z-index:3}.catalog-card .catalog-card-body{position:relative;min-height:148px;padding:16px}.catalog-card .catalog-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}.catalog-card .catalog-tag{display:inline-block;padding:4px 7px;border-radius:4px;background:#eaf8fc;color:#1385a2;font-size:9px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.catalog-card .name{height:auto!important;margin:0 0 14px;padding:0!important;color:#263b46;font-size:14px;line-height:1.45}.catalog-card .catalog-view{display:inline-flex;align-items:center;gap:7px;color:#079cc1;font-size:11px;font-weight:800}.catalog-card .catalog-view i{position:static;width:auto;height:auto;line-height:1;opacity:1;color:inherit;background:none;font-size:10px}
.catalog-empty{padding:45px 25px;border:1px dashed #ccdbe2;border-radius:13px;text-align:center;background:#fafcfd}.catalog-empty i{display:block;margin-bottom:14px;color:var(--rb-blue);font-size:32px}.catalog-empty p{margin-bottom:20px;color:#6d7b84}
@media(max-width:1100px){.catalog-layout{grid-template-columns:190px minmax(0,1fr)}.portfolio-grid.catalog-grid figure.catalog-card{width:50%}}
@media(max-width:720px){.catalog-intro{padding:25px}.catalog-intro-mark{display:none}.catalog-layout{display:block}.catalog-sidebar{position:relative;top:auto;margin-bottom:25px}.brand-carousel{height:150px}.catalog-category-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-category-nav:before{grid-column:1/-1}.portfolio-grid.catalog-grid figure.catalog-card{width:50%}}
@media(max-width:480px){.catalog-intro h3{font-size:23px}.portfolio-grid.catalog-grid figure.catalog-card{width:100%}.catalog-card .portfolio-item-img{height:220px}.catalog-products-head{align-items:flex-start;flex-direction:column}.catalog-category-nav{grid-template-columns:1fr}}

/* Busqueda y categorias dentro del panel azul original */
.header-buttons{margin-top:25px}
.catalog-side-search{text-align:left}.catalog-side-search>label{display:block;margin:0 0 9px;color:rgba(255,255,255,.88);font-size:11px;font-weight:700;letter-spacing:.04em}.catalog-side-search>label i{margin-right:5px;color:#8ceaff;font-size:14px}
.catalog-side-search-box{display:flex;height:46px;border:1px solid rgba(255,255,255,.35);border-radius:11px;background:rgba(255,255,255,.12);overflow:hidden;box-shadow:0 8px 20px rgba(0,45,65,.13);transition:.2s}.catalog-side-search-box:focus-within{border-color:#fff;background:rgba(255,255,255,.18);box-shadow:0 0 0 3px rgba(255,255,255,.10)}
.catalog-side-search-box input[type=search]{height:44px;margin:0;padding:0 12px;border:0;border-radius:0;color:#fff;background:transparent;box-shadow:none;font-size:12px}.catalog-side-search-box input::placeholder{color:rgba(255,255,255,.62)}.catalog-side-search-box button{flex:0 0 44px;border:0;color:#087895;background:#fff;cursor:pointer;font-size:16px;transition:.2s}.catalog-side-search-box button:hover{color:#fff;background:#173f52}
.catalog-side-clear{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;padding:7px;border-radius:7px;color:rgba(255,255,255,.82);background:rgba(0,0,0,.1);font-size:10px;font-weight:600}.catalog-side-clear:hover{color:#fff;background:rgba(0,0,0,.2)}
.side-categories{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.22);text-align:left}.side-categories h3{margin:0 0 8px;color:#fff;font-size:13px}.side-categories a{position:relative;display:block;margin:2px 0;padding:6px 20px 6px 9px;border-radius:6px;color:rgba(255,255,255,.72);font-size:10px;line-height:1.25;transition:.18s}.side-categories a:after{content:"›";position:absolute;right:8px}.side-categories a:hover,.side-categories a.active{color:#fff;background:rgba(255,255,255,.16)}.side-categories a.active{font-weight:700}

/* Carrusel horizontal de marcas */
.catalog-layout{display:block}.catalog-sidebar{position:static;padding:0;border:0;background:transparent;box-shadow:none}.brand-carousel-wrap{position:relative;margin:0 0 28px;padding:0 38px}.brand-carousel{display:flex;gap:10px;width:100%;height:auto;margin:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}.brand-carousel::-webkit-scrollbar{display:none}.brand-carousel>div{flex:0 0 142px;padding:0;scroll-snap-align:start}.brand-link{width:142px;height:72px}.brand-scroll{position:absolute;top:50%;z-index:4;width:30px;height:46px;margin-top:-23px;border:1px solid var(--rb-line);border-radius:9px;color:#557583;background:#fff;box-shadow:0 5px 15px rgba(25,59,74,.10)}.brand-scroll:hover{color:#fff;background:var(--rb-blue)}.brand-scroll-prev{left:0}.brand-scroll-next{right:0}
.catalog-products{width:100%}
@media(max-width:1024px){.side-categories{max-height:210px;overflow-y:auto}.header-buttons{margin-bottom:25px}}
@media(max-width:520px){.brand-carousel-wrap{padding:0 32px}.brand-carousel>div,.brand-link{width:124px;flex-basis:124px}}

/* Refinamiento: busqueda sin boton, categorias legibles y productos en formato ficha. */
.catalog-side-search-box .catalog-search-icon{display:flex;align-items:center;padding-left:13px;color:rgba(255,255,255,.72);font-size:15px}.catalog-side-search-box input[type=search]{height:44px;margin:0;padding:0 12px 0 9px;border:0;border-radius:0;color:#fff;background:transparent;box-shadow:none;font-size:13px}.catalog-side-search-box input::placeholder{color:rgba(255,255,255,.62)}
.side-categories h3{font-size:15px}.side-categories a{margin:3px 0;padding:9px 24px 9px 11px;border-radius:7px;font-size:13px;line-height:1.35}.side-categories a:after{right:9px;font-size:17px}
.portfolio-grid.catalog-grid{margin:0 -9px}.portfolio-grid.catalog-grid figure.catalog-card{width:50%;padding:9px}.catalog-card-inner{display:flex;min-height:176px;border-radius:15px}.catalog-card .portfolio-item-img{flex:0 0 42%;height:auto;min-height:176px;border-right:1px solid var(--rb-line);background:#f7fafb}.catalog-card .portfolio-item-img img{padding:18px}.catalog-card .catalog-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;min-height:176px;padding:20px}.catalog-card .catalog-meta{margin-bottom:11px}.catalog-card .catalog-tag{padding:4px 7px;font-size:8px}.catalog-card .name{margin:0 0 16px;color:#203944;font-size:15px;font-weight:600;line-height:1.5}.catalog-card .catalog-view{margin-top:auto;padding-top:4px;font-size:11px;letter-spacing:.01em}.catalog-card:hover .portfolio-item-img img{transform:scale(1.035)}
@media(max-width:900px){.portfolio-grid.catalog-grid figure.catalog-card{width:100%}.catalog-card .portfolio-item-img{flex-basis:35%}}
@media(max-width:480px){.catalog-card-inner{display:block}.catalog-card .portfolio-item-img{height:210px;min-height:0;border-right:0;border-bottom:1px solid var(--rb-line)}.catalog-card .catalog-card-body{min-height:150px}}

/* Cuadricula final: imagen arriba, detalle abajo y densidad segun pantalla. */
.brand-carousel-wrap{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:9px;padding:0}.brand-scroll{position:static;top:auto;right:auto;left:auto;width:34px;height:52px;margin:0}.brand-carousel{min-width:0}
.portfolio-grid.catalog-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0}.portfolio-grid.catalog-grid figure.catalog-card{width:auto!important;padding:0}.catalog-card-inner{display:flex;flex-direction:column;min-height:100%;border-radius:14px}.catalog-card .portfolio-item-img{flex:none;width:100%;height:220px;min-height:0;border-right:0;border-bottom:1px solid var(--rb-line);background:#fff}.catalog-card .portfolio-item-img img{padding:14px;object-fit:contain}.catalog-card .catalog-card-body{display:flex;flex:1;min-height:150px;padding:17px 18px 19px}.catalog-card .catalog-tag{font-size:9px}.catalog-card .name{font-size:14px;line-height:1.45}.catalog-card .catalog-view{margin-top:auto}
@media(min-width:1500px){.portfolio-grid.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-card .portfolio-item-img{height:210px}}
@media(min-width:1900px){.portfolio-grid.catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:850px){.portfolio-grid.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.brand-carousel-wrap{grid-template-columns:30px minmax(0,1fr) 30px;gap:6px;padding:0}.brand-scroll{width:30px}.portfolio-grid.catalog-grid{grid-template-columns:1fr}.catalog-card .portfolio-item-img{height:235px}}

/* Tarjeta compacta y paginacion */
.portfolio-grid.catalog-grid{gap:14px}.catalog-card-inner{border-radius:11px;box-shadow:0 3px 12px rgba(25,59,74,.06)}.catalog-card .portfolio-item-img{height:165px;background:#fff}.catalog-card .portfolio-item-img img{padding:8px}.catalog-card .catalog-card-body{min-height:108px;padding:11px 13px 13px}.catalog-card .catalog-meta{gap:4px;margin-bottom:6px}.catalog-card .catalog-tag{padding:3px 6px;font-size:8px}.catalog-card .name{margin:0 0 8px;font-size:13px;line-height:1.35}.catalog-card .catalog-view{padding:0;font-size:10px}.catalog-card:hover .catalog-card-inner{transform:translateY(-3px)}
.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin:30px 0 5px;padding-top:22px;border-top:1px solid var(--rb-line)}.catalog-pagination a,.catalog-pagination span{display:inline-flex;align-items:center;justify-content:center;height:36px;border-radius:7px}.catalog-pagination .page-number{width:36px;border:1px solid var(--rb-line);color:#536873;background:#fff;font-size:12px;font-weight:600}.catalog-pagination .page-number:hover,.catalog-pagination .page-number.active{border-color:var(--rb-blue);color:#fff;background:var(--rb-blue)}.catalog-pagination .page-arrow{gap:7px;padding:0 12px;border:1px solid var(--rb-line);color:#4c6571;background:#fff;font-size:11px;font-weight:600}.catalog-pagination a.page-arrow:hover{border-color:var(--rb-blue);color:var(--rb-blue)}.catalog-pagination .disabled{opacity:.38}.catalog-pagination .page-gap{width:25px;color:#80919a}
@media(min-width:1500px){.catalog-card .portfolio-item-img{height:160px}}@media(max-width:520px){.catalog-card .portfolio-item-img{height:205px}.catalog-pagination .page-arrow span{display:none}.catalog-pagination .page-arrow{width:36px;padding:0}}

/* Densidad automatica: tantas columnas como permita el ancho, sin Shuffle. */
.portfolio-grid.catalog-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(165px,1fr))!important;grid-auto-flow:row;grid-auto-rows:auto;align-items:start;gap:8px!important;margin:0!important;height:auto!important}.portfolio-grid.catalog-grid figure.catalog-card{position:relative!important;top:auto!important;left:auto!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;transform:none!important}.catalog-card-inner{min-height:0;height:auto}.catalog-card .portfolio-item-img{height:132px;min-height:0}.catalog-card .portfolio-item-img img{padding:6px}.catalog-card .catalog-card-body{display:block;min-height:0;height:auto;padding:9px 10px 10px}.catalog-card .catalog-meta{margin:0 0 5px}.catalog-card .catalog-tag{padding:2px 5px;font-size:7px}.catalog-card .name{margin:0 0 7px;font-size:12px;line-height:1.3}.catalog-card .catalog-view{margin:0;padding:0;font-size:9px}
@media(min-width:1400px){.portfolio-grid.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))!important}}
@media(max-width:520px){.portfolio-grid.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))!important;gap:7px!important}.catalog-card .portfolio-item-img{height:125px}.catalog-card .catalog-card-body{padding:8px}.catalog-card .name{font-size:11px}}

/* En el listado solo mostramos imagen y nombre; metadatos quedan en producto.php. */
.catalog-card .catalog-card-body{display:flex;flex-direction:column;min-height:72px}.catalog-card .catalog-meta{display:none}.catalog-card .name{display:-webkit-box;min-height:32px;margin:0 0 7px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.catalog-card .catalog-view{margin-top:auto}

/* Altura calculada sobre el nombre mas largo del catalogo: 76 caracteres. */
.portfolio-grid.catalog-grid figure.catalog-card,.catalog-card-inner{height:242px!important}.catalog-card .catalog-card-body{flex:1;min-height:0;height:auto;padding:9px 10px 10px}.catalog-card .name{display:block;min-height:0;margin:0 0 6px;overflow:visible;-webkit-box-orient:initial;-webkit-line-clamp:unset;line-clamp:unset;font-size:12px;line-height:1.28;word-break:normal;overflow-wrap:break-word}.catalog-card .catalog-view{flex:none;margin-top:auto}
@media(max-width:520px){.portfolio-grid.catalog-grid figure.catalog-card,.catalog-card-inner{height:242px!important}.catalog-card .name{font-size:11px;line-height:1.25}}

/* Controles del carrusel en una fila independiente: nunca cubren los logos. */
.brand-carousel-wrap{display:grid!important;grid-template-columns:1fr 34px 34px!important;grid-template-rows:34px auto;gap:8px 6px!important;padding:0!important}.brand-scroll{position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;width:34px!important;height:34px!important;margin:0!important}.brand-scroll-prev{grid-column:2;grid-row:1}.brand-scroll-next{grid-column:3;grid-row:1}.brand-carousel{grid-column:1/4;grid-row:2;width:100%!important;max-width:100%;padding:0!important}
@media(max-width:520px){.brand-carousel-wrap{grid-template-columns:1fr 32px 32px!important;grid-template-rows:32px auto}.brand-scroll{width:32px!important;height:32px!important}}

/* Flechas laterales con espacio propio y arrastre por Pointer Events. */
.brand-carousel-wrap{display:grid!important;grid-template-columns:38px minmax(0,1fr) 38px!important;grid-template-rows:auto!important;align-items:center;gap:8px!important}.brand-scroll-prev{grid-column:1!important;grid-row:1!important}.brand-carousel{grid-column:2!important;grid-row:1!important;min-width:0!important;width:auto!important;max-width:none!important;overflow-x:auto!important;overflow-y:hidden!important;touch-action:pan-y;cursor:grab;user-select:none}.brand-carousel.is-dragging{cursor:grabbing;scroll-snap-type:none}.brand-scroll-next{grid-column:3!important;grid-row:1!important}.brand-scroll{width:38px!important;height:54px!important}
@media(max-width:520px){.brand-carousel-wrap{grid-template-columns:32px minmax(0,1fr) 32px!important;gap:5px!important}.brand-scroll{width:32px!important;height:48px!important}}

/* Categorias utilizables en cualquier altura de monitor. */
.side-categories{max-height:32vh!important;min-height:120px;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;padding-right:5px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.32) transparent}.side-categories::-webkit-scrollbar{width:5px}.side-categories::-webkit-scrollbar-track{background:transparent}.side-categories::-webkit-scrollbar-thumb{border-radius:7px;background:rgba(255,255,255,.3)}
@media(max-height:700px){.header-photo{width:110px;margin-bottom:12px}.header-titles h2{font-size:24px}.header-titles h4{font-size:11px}.social-links{margin:10px 0}.header-buttons{margin-top:14px}.side-categories{max-height:27vh!important}}
