/* TSNEMESIS · Catálogo Tecnológico V5.1
   Capa visual específica. Se carga después de styles.css para evitar conflictos/caché.
*/
.catalog-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 20%,rgba(176,141,61,.22),transparent 31%),
    linear-gradient(135deg,#2b1c17 0%,#4f3023 62%,#674637 100%);
  color:#fff;
  padding:58px 0 54px;
  border-bottom:1px solid rgba(136,106,38,.28);
}
.catalog-hero:after{
  content:"";position:absolute;right:-110px;top:-155px;width:410px;height:410px;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 52px rgba(255,255,255,.025),0 0 0 104px rgba(255,255,255,.018);
  pointer-events:none
}
.catalog-hero-inner{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.catalog-hero-copy{max-width:790px}.catalog-hero .eyebrow{color:#ead8a2}.catalog-hero h1{font-size:clamp(2.6rem,4.6vw,4.7rem);line-height:.98;letter-spacing:-.045em;margin:11px 0 17px}.catalog-hero p{max-width:760px;margin:0;color:#f0e8e1;font-size:1.06rem;line-height:1.65}
.catalog-hero-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.catalog-hero-secondary{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.06)}.catalog-hero-secondary:hover{background:#fff;color:#4f3023}

.catalog-section{background:#f7f3eb;padding-top:44px}
.catalog-toolbar{
  display:grid;grid-template-columns:minmax(260px,2fr) minmax(190px,1fr) minmax(170px,1fr) auto;
  gap:12px;align-items:end;padding:16px;background:rgba(255,255,255,.96);border:1px solid #e8e1d8;border-radius:18px;
  box-shadow:0 12px 32px rgba(43,28,23,.075);position:sticky;top:96px;z-index:50;backdrop-filter:blur(12px)
}
.catalog-field{display:grid;gap:6px}.catalog-field label{font-size:.74rem;text-transform:uppercase;letter-spacing:.075em;color:#6f6a64;font-weight:850}
.catalog-field input,.catalog-field select{width:100%;height:46px;border:1px solid #d9d0c6;border-radius:12px;padding:0 13px;background:#fff;color:#1f1d1b;font:inherit;font-size:.91rem;outline:none;transition:border-color .18s,box-shadow .18s}
.catalog-field input:focus,.catalog-field select:focus{border-color:#886a26;box-shadow:0 0 0 3px rgba(136,106,38,.12)}
.catalog-clear-btn{height:46px;padding:0 17px;background:#fff;border:1px solid #d9d0c6;color:#4f3023;border-radius:12px}.catalog-clear-btn:hover{background:#f7f3eb;border-color:#cfc2b6}

.catalog-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 2px 12px;color:#6f6a64;font-size:.9rem}.catalog-meta strong{color:#4f3023;font-size:.98rem}
.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.catalog-card{
  position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #e6ded5;border-radius:20px;
  box-shadow:0 7px 22px rgba(43,28,23,.055);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease
}
.catalog-card:hover{transform:translateY(-4px);border-color:#d7c7b8;box-shadow:0 18px 42px rgba(43,28,23,.11)}
.catalog-imgbox{height:184px;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(145deg,#fff 0%,#fbf8f3 100%);border-bottom:1px solid #eee7df;overflow:hidden}
.catalog-imgbox img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .25s ease}.catalog-card:hover .catalog-imgbox>img:not(.catalog-placeholder-logo){transform:scale(1.035)}
.catalog-noimg{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;color:#9b9188;font-size:.74rem;font-weight:700;letter-spacing:.02em}
.catalog-placeholder-logo{width:76px!important;height:auto!important;max-height:none!important;opacity:.18;filter:grayscale(1)}
.catalog-card-body{display:flex;flex:1;flex-direction:column;gap:9px;padding:16px}
.catalog-cat{color:#886a26;font-size:.66rem;font-weight:900;letter-spacing:.085em;text-transform:uppercase;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-name{margin:0;color:#3e281f;font-size:.98rem;line-height:1.34;font-weight:850;letter-spacing:-.012em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.62em}
.catalog-small{font-size:.74rem;line-height:1.45;color:#777069;overflow-wrap:anywhere;min-height:3.2em}
.catalog-price-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}
.catalog-price{font-size:1.42rem;line-height:1.05;color:#4f3023;font-weight:950;letter-spacing:-.035em}
.catalog-stock{display:inline-flex;width:max-content;max-width:100%;align-items:center;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:850;line-height:1.2}
.catalog-stock.ok{background:#eaf6ec;color:#23602d}.catalog-stock.off{background:#fff0ed;color:#9a3022}
.catalog-promo{padding:8px 9px;border-radius:10px;border:1px solid #ead8a8;background:#fff9e9;color:#70571f;font-size:.72rem;line-height:1.4}
.catalog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:3px}
.catalog-actions button,.catalog-actions a{height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer;transition:.18s}
.catalog-detail{background:#fff;color:#4f3023;border:1px solid #d8cec5}.catalog-detail:hover{background:#f7f3eb;border-color:#c7b7aa}
.catalog-quote{background:#886a26;color:#fff;border:1px solid #886a26}.catalog-quote:hover{background:#6f561f;border-color:#6f561f}
.catalog-status{grid-column:1/-1;padding:42px 18px;text-align:center;background:#fff;border:1px solid #e6ded5;border-radius:18px;color:#777069}
.catalog-pages{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:28px}.catalog-pages .btn{min-width:126px}.catalog-pages button:disabled{opacity:.38;cursor:not-allowed}

.catalog-modal{display:none;position:fixed;inset:0;z-index:1600;background:rgba(31,23,19,.76);padding:18px;overflow:auto;backdrop-filter:blur(4px)}.catalog-modal.open{display:block}
.catalog-dialog{max-width:980px;margin:26px auto;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.3)}
.catalog-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;border-bottom:1px solid #e8e1d8;color:#4f3023;background:#fff}.catalog-close{border:1px solid #ded5cc;background:#f7f3eb;color:#4f3023;font:inherit;font-weight:800;border-radius:10px;padding:8px 12px;cursor:pointer}
.catalog-detail-layout{display:grid;grid-template-columns:42% 58%}.catalog-detail-img{min-height:360px;padding:30px;display:flex;align-items:center;justify-content:center;border-right:1px solid #eee7df;background:#fcfaf7}.catalog-detail-img>img{max-width:100%;max-height:440px;object-fit:contain}.catalog-detail-info{padding:28px;min-width:0}.catalog-detail-info h2{color:#4f3023;font-size:1.62rem;line-height:1.2;margin:7px 0 10px}.catalog-detail-price{margin:17px 0 9px}.catalog-detail-promo{margin-top:12px}.catalog-description{color:#6f6a64;font-size:.91rem;line-height:1.6;margin-top:15px;white-space:pre-line}.catalog-request{margin-top:18px}.catalog-specs{margin-top:22px;padding-top:16px;border-top:1px solid #e8e1d8}.catalog-specs h3{color:#4f3023;margin:0 0 8px}.catalog-spec-row{display:grid;grid-template-columns:39% 61%;gap:12px;padding:8px 0;border-bottom:1px solid #f1ece6;color:#6f6a64;font-size:.8rem;overflow-wrap:anywhere}.catalog-spec-key{font-weight:850;color:#4f3023}.catalog-modal-loading{margin:22px}

@media(max-width:1120px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-toolbar{grid-template-columns:2fr 1fr 1fr}.catalog-clear-btn{align-self:end}}
@media(max-width:860px){.catalog-hero-inner{align-items:flex-start;flex-direction:column}.catalog-hero-actions{justify-content:flex-start}.catalog-toolbar{position:static;grid-template-columns:1fr 1fr}.catalog-search-field{grid-column:1/-1}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-detail-layout{grid-template-columns:1fr}.catalog-detail-img{border-right:0;border-bottom:1px solid #eee7df;min-height:260px}}
@media(max-width:600px){.catalog-hero{padding:46px 0 42px}.catalog-hero h1{font-size:2.45rem}.catalog-section{padding-top:26px}.catalog-toolbar{grid-template-columns:1fr;padding:13px}.catalog-search-field{grid-column:auto}.catalog-clear-btn{width:100%}.catalog-grid{grid-template-columns:1fr;gap:13px}.catalog-imgbox{height:210px}.catalog-meta{align-items:flex-start;flex-direction:column;gap:3px}.catalog-actions{grid-template-columns:1fr 1fr}.catalog-dialog{margin:4px auto}.catalog-modal{padding:7px}.catalog-detail-info{padding:20px}.catalog-spec-row{grid-template-columns:1fr}.catalog-pages .btn{min-width:0;flex:1}}


/* V5.2 · placeholders por categoría */
.catalog-placeholder{
  position:relative;isolation:isolate;min-height:150px;padding:18px 14px;border-radius:16px;
  border:1px solid rgba(136,106,38,.15);overflow:hidden;color:#5d493f;
  background:linear-gradient(145deg,#fbf7ef 0%,#f4ecdf 100%);
}
.catalog-placeholder:before{
  content:"";position:absolute;inset:auto -45px -68px auto;width:150px;height:150px;border-radius:50%;
  background:rgba(136,106,38,.08);z-index:-1
}
.catalog-placeholder-icon{
  width:62px;height:62px;border-radius:18px;display:grid;place-items:center;margin-bottom:2px;
  background:rgba(255,255,255,.72);border:1px solid rgba(136,106,38,.18);box-shadow:0 10px 28px rgba(79,48,35,.08)
}
.catalog-placeholder-icon svg{width:35px!important;height:35px!important;max-width:none!important;max-height:none!important;fill:none;stroke:#886a26;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.catalog-placeholder strong{font-family:"Montserrat",Arial,sans-serif;font-size:.86rem;color:#4f3023;letter-spacing:.02em}
.catalog-placeholder span{font-size:.69rem;color:#886a26;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.catalog-placeholder small{font-size:.66rem;color:#9a8a7e;font-weight:600}
.catalog-placeholder-redes{background:linear-gradient(145deg,#f6f4ed,#e9efe8)}
.catalog-placeholder-servidores,.catalog-placeholder-almacenamiento{background:linear-gradient(145deg,#f6f2ed,#ece8e4)}
.catalog-placeholder-notebook,.catalog-placeholder-desktop,.catalog-placeholder-monitores{background:linear-gradient(145deg,#faf7f0,#eee9df)}
.catalog-placeholder-impresion{background:linear-gradient(145deg,#faf7f3,#f0ebe6)}
.catalog-placeholder-energia{background:linear-gradient(145deg,#fcf8e9,#f1ead4)}
.catalog-placeholder-video,.catalog-placeholder-videoconferencia{background:linear-gradient(145deg,#f8f3ed,#eee6e0)}
.catalog-placeholder-componentes,.catalog-placeholder-memoria{background:linear-gradient(145deg,#f7f5ef,#e9ece8)}
.catalog-detail-img .catalog-placeholder{width:min(100%,320px);min-height:250px}
