/* ============================================================
   TFESI — productos.css
   ============================================================ */
.page-hero{background:var(--grad-navy);color:#fff;padding:72px 0 64px;position:relative;overflow:hidden;text-align:center}
.page-hero::before{content:"";position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:70%;height:140%;
  background:radial-gradient(circle,rgba(42,125,225,.2),transparent 65%);pointer-events:none}
.page-hero h1{position:relative;font-size:clamp(34px,5vw,54px);color:#fff;margin-bottom:16px}
.page-hero p{position:relative;font-size:19px;color:#bcd0e6;max-width:620px;margin:0 auto}

/* category nav chips */
.cat-nav{position:relative;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:34px}
.cat-nav a{padding:11px 22px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  color:#d6e2f0;font-weight:700;font-size:15px;transition:.22s}
.cat-nav a:hover{background:var(--grad-blue);border-color:transparent;color:#fff;transform:translateY(-2px)}

/* category cards */
.catcards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:0 auto}
.catcard{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow);transition:transform .4s,box-shadow .4s}
.catcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.catcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,30,.1) 30%,rgba(8,18,30,.92))}
.catcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.catcard:hover img{transform:scale(1.07)}
.catcard .cc-body{position:relative;z-index:2;padding:24px;color:#fff}
.catcard .cc-tag{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--blue-300);text-transform:uppercase}
.catcard h3{color:#fff;font-size:20px;margin:8px 0 4px}
.catcard p{font-size:13.5px;color:#c4d4e6}

/* product category section */
.pcat{padding:80px 0;border-top:1px solid var(--gray-200)}
.pcat:nth-of-type(even){background:var(--gray-50)}
.pcat.collapsed{padding:0;border-top:1px solid var(--gray-200)}
.pcat-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:42px;flex-wrap:wrap;cursor:pointer;user-select:none;transition:opacity .2s}
.pcat.collapsed .pcat-head{margin-bottom:0;padding:30px 0}
.pcat-head:hover .collapse-btn{border-color:var(--blue-500);color:var(--blue-600)}
.pcat-head:focus-visible{outline:2px solid var(--blue-500);outline-offset:4px;border-radius:12px}
.pcat-head .ph-left{display:flex;align-items:center;gap:18px}
.pcat-ic{width:58px;height:58px;border-radius:16px;background:var(--grad-blue);display:grid;place-items:center;flex:none;box-shadow:0 10px 24px -8px rgba(42,125,225,.5)}
.pcat-ic svg{width:30px;height:30px;color:#fff}
.pcat-head h2{font-size:clamp(26px,3.4vw,38px)}
.pcat-head .ph-sub{color:var(--mute);font-size:15px;margin-top:2px}
.collapse-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:11px;background:#fff;border:1.5px solid var(--gray-300);
  color:var(--ink-2);font-weight:700;font-size:14px;transition:.22s}
.collapse-btn:hover{border-color:var(--blue-500);color:var(--blue-600)}
.collapse-btn svg{width:16px;height:16px;transition:transform .3s}
.collapse-btn.closed svg{transform:rotate(180deg)}

.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;transition:opacity .3s}
.pgrid.collapsed{display:none}
.pcard{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s,border-color .35s}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--blue-300)}
.pcat-head .ph-sub::after{content:" · clic para ver";color:var(--blue-600);font-weight:700}
.pcat:not(.collapsed) .pcat-head .ph-sub::after{content:""}
.pcard-img{position:relative;aspect-ratio:4/3;background:#f0f3f8;overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pcard:hover .pcard-img img{transform:scale(1.06)}
.pcard-body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.pcard-body h3{font-family:var(--font);font-size:17px;font-weight:800;color:var(--ink);margin-bottom:8px;line-height:1.25}
.pcard-body p{font-size:13.5px;color:var(--mute);line-height:1.55;margin-bottom:18px;flex:1}
.pcard-body .btn{width:100%}
.btn-quote{background:rgba(42,125,225,.1);color:var(--blue-700);font-weight:700;font-size:14px;padding:12px 18px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.22s}
.btn-quote:hover{background:var(--grad-blue);color:#fff}
.btn-quote svg{width:16px;height:16px}

@media(max-width:980px){.catcards,.pgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.catcards{grid-template-columns:1fr}.pgrid{grid-template-columns:1fr 1fr;gap:14px}.pcard-body{padding:14px}.pcard-body h3{font-size:15px}}
