/* GeneFix catalog page */
.gf-catalog-hero{
  position:relative;padding:56px 0 46px;overflow:hidden;
  background:
    radial-gradient(800px 420px at 88% 0%, rgba(0,174,239,.12), transparent 60%),
    radial-gradient(600px 360px at 0% 100%, rgba(194,24,91,.07), transparent 60%),
    #fff;
  border-bottom:1px solid var(--border);
}
.gf-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);margin-bottom:20px}
.gf-breadcrumb a{color:var(--muted);font-weight:600}
.gf-breadcrumb a:hover{color:var(--magenta)}
.gf-breadcrumb span{color:#9AAAB9}
.gf-catalog-hero h1{font-size:clamp(34px,4.2vw,54px);font-weight:800;margin:14px 0 14px;max-width:820px}
.gf-catalog-hero p{font-size:16.5px;color:var(--muted);max-width:640px}
.gf-catalog-hero-stats{display:flex;gap:30px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}
.gf-catalog-hero-stats span{font-size:12.5px;color:var(--muted);font-weight:700}
.gf-catalog-hero-stats strong{font-family:'Sora',sans-serif;font-size:22px;color:var(--navy);margin-right:6px;line-height:1}

.gf-catalog-main{padding:48px 0 90px}
.gf-catalog-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:34px;align-items:start}
.gf-catalog-layout > *{min-width:0}
.gf-catalog-sidebar,.gf-catalog-content{min-width:0;max-width:100%}
.gf-filter-list{min-width:0;max-width:100%}
.gf-catalog-sidebar{
  position:sticky;top:100px;background:#fff;border:1px solid var(--border);
  border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm);
}
.gf-catalog-search label{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.gf-search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#F9FBFD;transition:.2s}
.gf-search-box:focus-within{border-color:var(--cyan);background:#fff;box-shadow:0 0 0 4px rgba(0,174,239,.12)}
.gf-search-box svg{width:18px;height:18px;color:var(--muted);flex:none}
.gf-search-box input{border:0;background:transparent;outline:none;font:inherit;font-size:14px;width:100%;color:var(--text);min-width:0}
.gf-filter-block{margin-top:24px}
.gf-filter-block h2{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.gf-filter-list{display:grid;gap:4px;max-height:480px;overflow:auto;padding-right:6px}
.gf-filter{
  display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;
  border:0;background:transparent;border-radius:10px;padding:9px 10px;
  font:inherit;font-size:12.5px;font-weight:700;text-align:left;cursor:pointer;color:var(--text);transition:.2s;
}
.gf-filter span{font-size:11px;color:var(--muted);background:#F1F5F9;border-radius:999px;padding:2px 7px;flex:none}
.gf-filter:hover{background:#F6F8FB;color:var(--magenta)}
.gf-filter.is-active{background:var(--magenta-soft);color:var(--magenta)}
.gf-filter.is-active span{background:#fff;color:var(--magenta)}
.gf-sidebar-help{margin-top:24px;padding-top:18px;border-top:1px solid var(--border);font-size:13px}
.gf-sidebar-help p{color:var(--muted);margin-bottom:6px}
.gf-sidebar-help a{font-weight:800;color:var(--magenta)}
.gf-sidebar-help a:hover{color:var(--magenta-dark)}

.gf-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.gf-catalog-toolbar p{font-size:13.5px;color:var(--muted);font-weight:600}
.gf-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gf-catalog-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:.25s;display:flex;flex-direction:column;min-width:0;
}
.gf-catalog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.gf-catalog-card[hidden]{display:none!important}
.gf-catalog-media{display:grid;place-items:center;height:210px;padding:18px;background:#F8FAFC;overflow:hidden}
.gf-catalog-media img{max-width:100%;max-height:170px;width:auto;height:auto;object-fit:contain;transition:.3s}
.gf-catalog-card:hover .gf-catalog-media img{transform:scale(1.03)}
.gf-catalog-noimg{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#F8FAFC,#EEF4F9);border-radius:12px;color:#9AAAB9;text-align:center;padding:12px}
.gf-catalog-noimg svg{width:34px;height:34px;opacity:.45;flex:none}
.gf-catalog-noimg span{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.4}
.gf-catalog-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.gf-catalog-tag{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-dark);line-height:1.4}
.gf-catalog-body h3{font-size:15.5px;line-height:1.35;min-height:42px}
.gf-catalog-body h3 a:hover{color:var(--magenta)}
.gf-catalog-links{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:10px;border-top:1px solid var(--border);font-size:12.5px;font-weight:800}
.gf-catalog-link{color:var(--magenta)}
.gf-catalog-quote{color:var(--muted)}
.gf-catalog-link:hover,.gf-catalog-quote:hover{color:var(--magenta-dark)}
.gf-catalog-empty{text-align:center;padding:60px 20px;background:#fff;border:1px dashed var(--border);border-radius:var(--radius)}
.gf-catalog-empty h3{font-size:20px;margin-bottom:8px}
.gf-catalog-empty p{color:var(--muted);margin-bottom:18px}
.gf-catalog-more{text-align:center;margin-top:30px}
.gf-catalog-more [hidden]{display:none!important}
.gf-catalog-cta{
  margin-top:50px;background:var(--navy);color:#fff;border-radius:26px;padding:34px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden;
}
.gf-catalog-cta::before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(0,174,239,.18),transparent 65%);right:-120px;top:-120px}
.gf-catalog-cta > *{position:relative;z-index:1}
.gf-catalog-cta h2{font-size:clamp(24px,2.6vw,34px);margin:8px 0 6px;color:#fff}
.gf-catalog-cta p{color:#C9D6E3;font-size:14.5px;max-width:520px}
.gf-catalog-cta .gf-btn{flex:none}

@media (max-width:1024px){
  .gf-catalog-layout{grid-template-columns:1fr;gap:24px}
  .gf-catalog-sidebar{position:static;padding:18px}
  .gf-filter-block{margin-top:16px}
  .gf-filter-list{display:flex;overflow-x:auto;max-height:none;gap:8px;padding-bottom:4px;scrollbar-width:thin;width:100%;max-width:100%}
  .gf-filter{width:auto;white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:8px 12px}
  .gf-filter span{background:transparent;padding:0}
  .gf-sidebar-help{display:none}
  .gf-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .gf-catalog-hero{padding:34px 0 30px}
  .gf-catalog-hero h1{font-size:clamp(30px,8.5vw,42px)}
  .gf-catalog-main{padding:30px 0 60px}
  .gf-catalog-grid{grid-template-columns:1fr}
  .gf-catalog-media{height:240px}
  .gf-catalog-media img{max-height:200px}
  .gf-catalog-toolbar{align-items:flex-start}
  .gf-catalog-cta{flex-direction:column;align-items:flex-start;padding:24px}
  .gf-catalog-cta .gf-btn{width:100%}
  .gf-catalog-hero-stats{gap:18px}
}
