/* Catálogo por categorías — copiado y adaptado 1:1 de cronostec-chile-ok
   (catalogo-modelo-brasil.css), con la paleta real de Titan Industri
   (#04349C / #4177E6) en vez de los azules/rojo de Cronostec. */

.catalogo-modelo{
  padding:3rem 0 4rem; background:#ffffff;
}
.catalogo-modelo *, .catalogo-modelo *::before, .catalogo-modelo *::after{ box-sizing:border-box; }
.catalogo-modelo img{ max-width:100%; }

.catalogo-modelo .section-head-center{ padding-bottom:2rem; text-align:left; }
.catalogo-modelo .section-label{display:inline-block;font-family:'Poppins',sans-serif;font-size:.85rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#04349C}

.catalogo-modelo .products-layout{display:grid;gap:2rem}
@media (min-width:1024px){ .catalogo-modelo .products-layout{grid-template-columns:240px 1fr} }

.catalogo-modelo .cat-sidebar{display:flex;flex-direction:column;gap:0;background:#ffffff;border:1.5px solid rgba(4,52,156,.1);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.14);align-self:start}
.catalogo-modelo .cat-tab:first-child{border-radius:8px 8px 0 0}
.catalogo-modelo .cat-tab:last-child{border-radius:0 0 8px 8px;border-bottom:none}
.catalogo-modelo .cat-tab{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#04349C;border-bottom:1px solid rgba(4,52,156,.07);cursor:pointer;position:relative;overflow:hidden;z-index:1;transition:color .3s,box-shadow .3s;border-left:none;background:transparent;width:100%;text-align:left;font-family:'Poppins',sans-serif}
.catalogo-modelo .cat-tab::before{content:'';position:absolute;inset:0;background:#04349C;transform:scaleX(0);transform-origin:left;transition:transform .35s ease;z-index:-1}
.catalogo-modelo .cat-tab:hover::before,.catalogo-modelo .cat-tab.active::before{transform:scaleX(1)}
.catalogo-modelo .cat-tab:hover,.catalogo-modelo .cat-tab.active{color:#fff;font-weight:800}
.catalogo-modelo .cat-tab-icon{width:24px;height:24px;flex-shrink:0;object-fit:contain;filter:brightness(0) saturate(100%) invert(13%) sepia(64%) saturate(3000%) hue-rotate(215deg);transition:filter .25s ease}
.catalogo-modelo .cat-tab:hover .cat-tab-icon,.catalogo-modelo .cat-tab.active .cat-tab-icon{filter:brightness(0) invert(1)}

/* Banner de categoría en escritorio: degradado azul Titan en movimiento permanente */
.catalogo-modelo .cat-banner{
  position:relative; margin-bottom:1.5rem; padding:.9rem 2rem; overflow:hidden;
  border-radius:25px 25px 0 0;
  background-image:linear-gradient(120deg,#021f5c 0%,#04349C 22%,#2a5ed0 40%,#021f5c 55%,#04349C 72%,#2a5ed0 88%,#021f5c 100%);
  background-size:400% 400%;
  animation:cat-banner-flow-strong 4.5s ease-in-out infinite;
}
.catalogo-modelo .cat-banner-inner{position:static;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;margin:0.5rem}
.catalogo-modelo .cat-banner-inner h3{font-family:'Poppins',sans-serif;font-size:1.4rem;font-weight:800;letter-spacing:.03em;line-height:1.05;color:#fff}
.catalogo-modelo .cat-banner-inner p{font-size:.78rem;font-weight:500;margin:0;letter-spacing:.08em;color:rgba(255,255,255,.78)}

@media (min-width:1024px){
  .catalogo-modelo .cat-banner{ padding:.6rem 2rem; }
  .catalogo-modelo .cat-banner-inner h3{ font-size:1.1rem; letter-spacing:.08em; margin:0px; }
  .catalogo-modelo .cat-banner-inner p{ font-size:.7rem; letter-spacing:.08em; }
}

.catalogo-modelo .cronos-bs-banner.cat-banner-anim{
  background-image:linear-gradient(120deg,#021f5c 0%,#04349C 22%,#2a5ed0 40%,#021f5c 55%,#04349C 72%,#2a5ed0 88%,#021f5c 100%);
  background-size:400% 400%;
  animation:cat-banner-flow-strong 4.5s ease-in-out infinite;
}
@keyframes cat-banner-flow-strong{
  0%{ background-position:0% 30%; }
  25%{ background-position:70% 70%; }
  50%{ background-position:100% 40%; }
  75%{ background-position:30% 90%; }
  100%{ background-position:0% 30%; }
}

.catalogo-modelo .panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
@media (max-width:900px){ .catalogo-modelo .panel-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .catalogo-modelo .panel-grid{grid-template-columns:1fr} }
.catalogo-modelo .panel-fade{ animation:catalogoPanelFade .3s ease; }
@keyframes catalogoPanelFade{
  from{ opacity:0; transform:translateY(6px); }
  to{ opacity:1; transform:translateY(0); }
}

.catalogo-modelo .sub-card,.catalogo-modelo .panel-prod-card{position:relative;display:block;text-decoration:none;border-radius:1.25rem;background:#fff;padding:15px;overflow:hidden;isolation:isolate;border:1px solid #f5f5f5;box-shadow:0 4px 14px -4px rgba(4,52,156,.1);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s cubic-bezier(.2,.8,.2,1),z-index 0s;will-change:transform;z-index:1}
.catalogo-modelo .sub-card:hover,.catalogo-modelo .panel-prod-card:hover{transform:scale(1.05);z-index:10;box-shadow:0 60px 120px -12px rgba(0,0,0,.35),0 32px 64px -8px rgba(0,0,0,.22),0 16px 32px -4px rgba(0,0,0,.16),0 4px 8px rgba(0,0,0,.10)}
.catalogo-modelo .panel-grid:has(.sub-card:hover) .sub-card:not(:hover),
.catalogo-modelo .panel-grid:has(.panel-prod-card:hover) .panel-prod-card:not(:hover){box-shadow:none}
.catalogo-modelo .sc-img,.catalogo-modelo .ppc-img{width:100%;background:#fff;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.catalogo-modelo .sc-img img,.catalogo-modelo .ppc-img img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 8px 16px rgba(0,0,0,.12));transition:filter .5s ease}
.catalogo-modelo .sub-card:hover .sc-img img,.catalogo-modelo .panel-prod-card:hover .ppc-img img{filter:drop-shadow(0 14px 24px rgba(0,0,0,.18))}
.catalogo-modelo .no-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-size:2.5rem;font-weight:900;color:#04349C;background:linear-gradient(135deg,#eaf0ff 0%,#fff 100%)}
.catalogo-modelo .sc-meta{padding:.85rem .1rem .1rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.catalogo-modelo .sc-tag{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#04349C;font-weight:700}
.catalogo-modelo .sc-btn,.catalogo-modelo .ppc-label{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:800;color:#fff;background-image:linear-gradient(135deg,#04349C,#032a7a);padding:.7rem 1.1rem;border-radius:12px;width:100%;text-align:center;box-shadow:0 8px 20px -8px rgba(4,52,156,.55),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .35s ease,box-shadow .45s ease}
.catalogo-modelo .sc-btn::before,.catalogo-modelo .ppc-label::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(135deg,#4177E6,#2e5fd0);transform:translateX(-101%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.catalogo-modelo .sc-btn::after,.catalogo-modelo .ppc-label::after{content:'';position:absolute;top:0;bottom:0;left:-40%;width:40%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:skewX(-20deg);transition:left .7s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.catalogo-modelo .sub-card:hover .sc-btn,.catalogo-modelo .panel-prod-card:hover .ppc-label{transform:translateY(-1px);box-shadow:0 14px 28px -8px rgba(65,119,230,.45),inset 0 1px 0 rgba(255,255,255,.35)}
.catalogo-modelo .sub-card:hover .sc-btn::before,.catalogo-modelo .panel-prod-card:hover .ppc-label::before{transform:translateX(0)}
.catalogo-modelo .sub-card:hover .sc-btn::after,.catalogo-modelo .panel-prod-card:hover .ppc-label::after{left:120%}

@media (max-width:1023px){
  .catalogo-modelo .products-layout{display:none}
}

.catalogo-modelo .cat-resto-label{display:none;font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:800;color:#04349C;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.7rem;align-items:center;gap:.5rem}
.catalogo-modelo .cat-resto-label::after{content:'';flex:1;height:1px;background:#04349C;opacity:.15}
@media (max-width:1023px){ .catalogo-modelo .cat-resto-label{display:flex} }
.catalogo-modelo .cat-resto-grid{display:none;grid-template-columns:1fr 1fr;gap:.6rem}
@media (max-width:1023px){ .catalogo-modelo .cat-resto-grid{display:grid} }
.catalogo-modelo .cat-resto-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem .5rem;background:#fff;border:1px solid rgba(4,52,156,.1);border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .15s;text-align:center}
.catalogo-modelo .cat-resto-card:active{transform:scale(.97);background:#eef3fc}
.catalogo-modelo .cat-resto-icon{width:50px;height:50px;border-radius:12px;background:rgba(4,52,156,.06);display:flex;align-items:center;justify-content:center}
.catalogo-modelo .cat-resto-icon img{width:30px;height:30px;filter:brightness(0) saturate(100%) invert(13%) sepia(64%) saturate(3000%) hue-rotate(215deg)}
.catalogo-modelo .cat-resto-name{font-family:'Poppins',sans-serif;font-size:.6rem;font-weight:800;color:#04349C;text-transform:uppercase;letter-spacing:.04em;line-height:1.2}

.catalogo-modelo .cronos-bs-backdrop{display:none;position:fixed;inset:0;z-index:9000;background:rgba(4,52,156,.55);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s ease}
.catalogo-modelo .cronos-bs-backdrop.open{opacity:1}
.catalogo-modelo .cronos-bs-drawer{position:fixed;bottom:0;left:50%;transform:translateX(-50%) translateY(100%);z-index:9001;width:100%;max-width:480px;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -8px 40px rgba(4,52,156,.18);transition:transform .35s cubic-bezier(.32,1,.28,1);min-height:70vh;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;padding-bottom:max(0px,env(safe-area-inset-bottom))}
.catalogo-modelo .cronos-bs-drawer.open{transform:translateX(-50%) translateY(0)}
.catalogo-modelo .cronos-bs-handle{display:flex;justify-content:center;padding:.75rem 0 .5rem;flex-shrink:0}
.catalogo-modelo .cronos-bs-handle-bar{width:40px;height:4px;background:#cbd5e1;border-radius:999px}
.catalogo-modelo .cronos-bs-banner{height:7.5rem;flex-shrink:0;display:flex;align-items:flex-end;padding:1rem;position:relative;overflow:hidden}
.catalogo-modelo .cronos-bs-close{position:absolute;top:.75rem;right:.75rem;z-index:2;width:30px;height:30px;background:rgba(255,255,255,.2);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:.85rem;-webkit-tap-highlight-color:transparent}
.catalogo-modelo .cronos-bs-banner-content{position:relative;z-index:1}
.catalogo-modelo .cronos-bs-tag{font-size:.6rem;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.2rem}
.catalogo-modelo .cronos-bs-title{font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:900;color:#fff}
.catalogo-modelo .cronos-bs-sub{font-size:.7rem;color:rgba(255,255,255,.75);margin-top:.15rem}
.catalogo-modelo .cronos-bs-body{padding:1rem;overflow-y:auto;flex:1}
.catalogo-modelo .cronos-bs-sublabel{font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:800;color:#04349C;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem}
.catalogo-modelo .cronos-bs-subs{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.catalogo-modelo .cronos-bs-sub-card{background:#fff;border:1px solid rgba(4,52,156,.1);border-radius:10px;overflow:hidden;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform .15s;display:block}
.catalogo-modelo .cronos-bs-sub-card:active{transform:scale(.97)}
.catalogo-modelo .cronos-bs-sub-img{overflow:hidden;position:relative;background:#f5f5f5;aspect-ratio:1/1}
.catalogo-modelo .cronos-bs-sub-img img{width:100%;height:100%;object-fit:contain;background:#fff}
.catalogo-modelo .cronos-bs-sub-img-ph{width:100%;height:100%;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);display:flex;align-items:center;justify-content:center}
.catalogo-modelo .cronos-bs-sub-img-ph svg{opacity:.25;width:32px;height:32px}
.catalogo-modelo .cronos-bs-sub-info{padding:.5rem .6rem .25rem}
.catalogo-modelo .cronos-bs-sub-tag{font-size:.55rem;color:#04349C;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}
.catalogo-modelo .cronos-bs-sub-name{font-family:'Poppins',sans-serif;font-size:.62rem;font-weight:800;color:#04349C;line-height:1.2;text-transform:uppercase}
.catalogo-modelo .cronos-bs-sub-cta{display:block;margin:.4rem .6rem .6rem;padding:.4rem;background:linear-gradient(135deg,#4177E6,#2e5fd0);color:#fff;border-radius:6px;text-align:center;font-family:'Poppins',sans-serif;font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.catalogo-modelo .cronos-bs-ver-todos{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 1rem 1rem;padding:.75rem;background:#04349C;color:#fff;border-radius:999px;text-decoration:none;font-family:'Poppins',sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}
.catalogo-modelo .cronos-bs-ver-todos svg{color:#4177E6}
