.sl-cat-page{
  max-width:1240px;
  margin-inline:auto;
  padding:clamp(18px,4vw,48px) clamp(14px,4vw,40px) clamp(32px,5vw,80px);
}

.sl-cat-hero{
  background:linear-gradient(180deg,#fff 0%, #f3f7ff 100%);
  border:1px solid var(--br);
  border-radius:24px;
  box-shadow:var(--sh);
  padding:clamp(20px,4vw,50px);
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-bottom:clamp(20px,4vw,48px);
  position:relative;
  overflow:hidden;
}
.sl-cat-hero::before{
  content:"";
  position:absolute;
  inset:-160px -120px auto auto;
  width:360px;
  height:360px;
  background:radial-gradient(circle at 30% 30%, rgba(43,108,176,.18), rgba(43,108,176,0) 65%);
  pointer-events:none;
}
.sl-cat-hero__copy{max-width:70ch;position:relative;}
.sl-cat-eyebrow{margin:0;color:var(--acc);font-weight:700;}
.sl-cat-hero h1{margin:0;font-size:clamp(1.8rem,4vw,2.8rem);color:var(--prim);}
.sl-cat-lead{margin:0;color:var(--muted);font-size:1rem;}

.sl-cat-stats{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  position:relative;
}
.sl-cat-stat{
  display:flex;
  align-items:baseline;
  gap:8px;
  background:rgba(43,108,176,.06);
  border:1px solid rgba(43,108,176,.12);
  border-radius:999px;
  padding:8px 14px;
}
.sl-cat-stat__n{font-weight:900;color:var(--prim);}
.sl-cat-stat__l{color:var(--muted);font-size:.92rem;}

.sl-cat-search{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  align-items:center;
  position:relative;
}
.sl-cat-search__field{position:relative;}
.sl-cat-search input[type="search"]{
  width:100%;
  border:1px solid var(--br);
  border-radius:999px;
  padding:12px 18px;
  padding-inline-end:44px;
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 22px rgba(15,42,86,.08);
}
.sl-cat-search input[type="search"]::placeholder{color:#90a4c7;}
.sl-cat-search input[type="search"]:focus{
  outline:2px solid rgba(43,108,176,.28);
  outline-offset:2px;
}
.sl-cat-search__clear{
  position:absolute;
  inset-inline-end:10px;
  top:50%;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  border-radius:50%;
  border:1px solid rgba(15,42,86,.15);
  background:#fff;
  color:#0f2a56;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.sl-cat-search__clear:focus-visible{
  outline:2px solid rgba(43,108,176,.35);
  outline-offset:2px;
}
.sl-cat-search__submit{
  border:0;
  border-radius:999px;
  background:var(--acc);
  color:#fff;
  padding:12px 22px;
  font-weight:900;
  cursor:pointer;
}
.sl-cat-search__submit:focus-visible{
  outline:2px solid rgba(43,108,176,.35);
  outline-offset:3px;
}
.sl-cat-search__products{
  border-radius:999px;
  border:1px solid var(--br);
  background:#fff;
  padding:12px 18px;
  font-weight:800;
  color:var(--prim);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 22px rgba(15,42,86,.06);
}
.sl-cat-search__products:hover{border-color:rgba(43,108,176,.35);color:var(--acc);}
.sl-cat-search__products:focus-visible{
  outline:2px solid rgba(43,108,176,.35);
  outline-offset:3px;
}
.sl-cat-search__hint,
.sl-cat-search__meta{
  grid-column:1 / -1;
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}
.sl-cat-search__meta{font-weight:900;color:#0f2a56;}

.sl-cat-grid-sec{
  background:#fff;
  border:1px solid var(--br);
  border-radius:24px;
  box-shadow:var(--sh);
  padding:clamp(18px,4vw,40px);
}
.sl-cat-grid-head{margin-bottom:16px;}
.sl-cat-grid-title{margin:0;color:var(--prim);font-size:1.3rem;}
.sl-cat-grid-sub{margin:6px 0 0;color:var(--muted);}

.sl-cat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(14px,2vw,26px);
}

.sl-cat-card{
  display:flex;
  flex-direction:column;
  background:#f9fbff;
  border:1px solid #e0e8f5;
  border-radius:20px;
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}
.sl-cat-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(15,42,86,.12);
}
.sl-cat-card:focus-within{
  transform:translateY(-3px);
  box-shadow:0 16px 40px rgba(15,42,86,.12);
  border-color:rgba(43,108,176,.25);
}
.sl-cat-card__media{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:4/3;
  background:radial-gradient(circle at 35% 35%, rgba(43,108,176,.10), rgba(43,108,176,0) 60%), #eef3fb;
  overflow:hidden;
  padding:14px;
}
.sl-cat-card__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#fff;
  border-radius:16px;
}
.sl-cat-card__placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  border-radius:16px;
  background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.9), rgba(255,255,255,.6) 55%, rgba(255,255,255,.35));
  border:1px solid rgba(15,42,86,.10);
  color:#0f2a56;
}
.sl-cat-card__ph-letter{
  font-size:42px;
  font-weight:900;
  letter-spacing:-.02em;
  opacity:.85;
}
.sl-cat-card__body{
  padding:16px 18px 20px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1 1 auto;
}
.sl-cat-card__top{display:flex;flex-direction:column;gap:6px;}
.sl-cat-card__title{
  margin:0;
  font-size:1.1rem;
  line-height:1.2;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.sl-cat-card__title a{color:#0f2a56;text-decoration:none;}
.sl-cat-card__title a:hover{color:var(--acc);}
.sl-cat-card__count{
  margin:0;
  color:#6b7c93;
  font-size:.9rem;
}
.sl-cat-card__chips{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.sl-cat-chip{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(43,108,176,.18);
  background:#fff;
  border-radius:999px;
  padding:6px 10px;
  font-size:.86rem;
  color:var(--prim);
  line-height:1;
  white-space:nowrap;
  max-width:100%;
}
.sl-cat-chip:hover{border-color:rgba(43,108,176,.35);color:var(--acc);}
.sl-cat-chip:focus-visible{
  outline:2px solid rgba(43,108,176,.35);
  outline-offset:3px;
}
.sl-cat-chip--more{background:rgba(43,108,176,.07);font-weight:900;}
.sl-cat-card__btn{
  margin-top:auto;
  align-self:stretch;
  border-radius:16px;
  border:1px solid rgba(43,108,176,.25);
  background:var(--acc);
  color:#fff;
  padding:11px 16px;
  font-weight:900;
  text-align:center;
  transition:.18s transform, .18s filter;
}
.sl-cat-card__btn:hover{filter:brightness(.98);transform:translateY(-1px);}
.sl-cat-card__btn:focus-visible{
  outline:2px solid rgba(43,108,176,.35);
  outline-offset:3px;
}

.sl-cat-card__title a:focus-visible{
  outline:2px solid rgba(43,108,176,.35);
  outline-offset:3px;
  border-radius:10px;
}

.sl-cat-card__media:focus-visible{
  outline:2px solid rgba(43,108,176,.35);
  outline-offset:3px;
}

.sl-cat-noresults{
  margin-top:18px;
  text-align:center;
  border:1px dashed rgba(15,42,86,.18);
  border-radius:18px;
  padding:16px 14px;
  background:rgba(43,108,176,.04);
}
.sl-cat-noresults__title{margin:0;color:var(--prim);font-weight:900;}
.sl-cat-noresults__hint{margin:6px 0 0;color:var(--muted);}

.sl-cat-empty{
  text-align:center;
  color:#6b7c93;
}

@media(max-width:640px){
  .sl-cat-search{
    grid-template-columns:1fr;
  }
  .sl-cat-search__submit,
  .sl-cat-search__products{
    width:100%;
    text-align:center;
  }
}

@media(max-width:980px){
  /* Avoid double search bar on the categories page (header already stays sticky). */
  .sl-header__main > .sl-header__search,
  .is-sticky .sl-header__main > .sl-header__search,
  body:not(.is-sticky) .sl-header__main > .sl-header__search{
    display:none !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .sl-cat-card,
  .sl-cat-card__btn{
    transition:none !important;
  }
  .sl-cat-card:hover,
  .sl-cat-card:focus-within{
    transform:none !important;
  }
}
