/* Estilos ACOTADOS del catálogo por categorías, modelo Brasil, extraídos de
   tes-cronostec/wp-content/themes/cronostec-theme-PT-BR-v2.1.0/assets/css/theme.css
   Sin reset global — todo prefijado bajo .catalogo-modelo. */

.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:'Montserrat',sans-serif;font-size:.85rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#B0B0B0}

.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(1,33,105,.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:#2E2E2E;border-bottom:1px solid rgba(1,33,105,.07);cursor:pointer;position:relative;overflow:hidden;z-index:1;transition:color .3s,box-shadow .3s}
.catalogo-modelo .cat-tab::before{content:'';position:absolute;inset:0;background:#D91023;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(8%) sepia(94%) saturate(1400%) hue-rotate(212deg);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: fondo degradado azul en movimiento
   permanente, radio 25px solo en las esquinas superiores. */
.catalogo-modelo .cat-banner{
  position:relative; margin-bottom:1.5rem; padding:1.1rem 2rem; overflow:hidden;
  border-radius:25px 25px 0 0;
  background-image:linear-gradient(120deg,#A00D1A 0%,#D91023 50%,#8A0E18 100%);
}
.catalogo-modelo .cat-banner-inner{position:static;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem}
.catalogo-modelo .cat-banner-inner h3{font-family:'Montserrat',sans-serif;font-size:1.75rem;font-weight:800;letter-spacing:-0.01em;line-height:1.05;color:#fff}
.catalogo-modelo .cat-banner-inner p{font-size:.85rem;font-weight:500;margin:0;color:rgba(255,255,255,.78)}

@media (min-width:1024px){
  .catalogo-modelo .cat-banner{ padding:.75rem 2rem; }
  .catalogo-modelo .cat-banner-inner h3{ font-size:1.3rem; letter-spacing:.04em; }
  .catalogo-modelo .cat-banner-inner p{ letter-spacing:.03em; }
}

/* Banner del bottom sheet mobile: mismo degradado rojo estático, sin movimiento. */
.catalogo-modelo .cronos-bs-banner.cat-banner-anim{
  background-image:linear-gradient(120deg,#A00D1A 0%,#D91023 50%,#8A0E18 100%);
}
@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(1,33,105,.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:'Montserrat',sans-serif;font-size:2.5rem;font-weight:900;color:#D91023;background:linear-gradient(135deg,#FFC700 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:#D91023;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:'Montserrat',sans-serif;font-size:.82rem;font-weight:800;color:#fff;background-image:linear-gradient(135deg,#D91023,#C8102E);padding:.7rem 1.1rem;border-radius:12px;width:100%;text-align:center;box-shadow:0 8px 20px -8px rgba(0,0,0,.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,#000000,#1A1A1A);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(0,0,0,.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:'Montserrat',sans-serif;font-size:.7rem;font-weight:800;color:#2E2E2E;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:#2E2E2E;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(1,33,105,.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(1,33,105,.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(8%) sepia(94%) saturate(1400%) hue-rotate(212deg)}
@media (max-width:767px){
  .catalogo-modelo .cat-resto-icon img{filter:brightness(0) saturate(100%) invert(16%) sepia(88%) saturate(6289%) hue-rotate(357deg) brightness(93%) contrast(101%)}
}
.catalogo-modelo .cat-resto-name{font-family:'Montserrat',sans-serif;font-size:.6rem;font-weight:800;color:#2E2E2E;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(1,33,105,.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(1,33,105,.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:'Montserrat',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:'Montserrat',sans-serif;font-size:.7rem;font-weight:800;color:#2E2E2E;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(1,33,105,.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}
.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:#D91023;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}
.catalogo-modelo .cronos-bs-sub-name{font-family:'Montserrat',sans-serif;font-size:.62rem;font-weight:800;color:#2E2E2E;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,#E60012,#DF0000);color:#fff;border-radius:6px;text-align:center;font-family:'Montserrat',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:#D91023;color:#fff;border-radius:999px;text-decoration:none;font-family:'Montserrat',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:#FFC700}
