/* ============================================================
   CATEGORY PAGE v3.1 — syloon-style layout (2026-08-16)
   Collapsible category tree + collage banner + product grid
   ============================================================ */

/* ---------- Layout: start right under the header ---------- */
.cat-layout{display:flex;gap:40px;align-items:flex-start;padding:36px 0 60px}
.cat-sidebar{width:250px;flex-shrink:0;position:sticky;top:100px}

/* ---------- Sidebar: category tree ---------- */
.cat-sidebar-title{
  font-family:var(--font-body,'Inter',sans-serif);font-size:13px;font-weight:700;
  letter-spacing:.22em;color:var(--c-coral-dark,#E85533);margin:0 0 18px;text-transform:uppercase;
}
.cat-tree{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.cat-tree-l1{margin-bottom:4px}
.cat-tree-l1-row{display:flex;align-items:center;gap:4px}
.cat-tree-link{
  display:block;flex:1;padding:11px 14px;border-radius:10px;
  font-size:14px;font-weight:600;color:var(--c-navy,#0F2A43);
  text-decoration:none;border:1px solid transparent;
  transition:all .25s var(--ease-out,cubic-bezier(.22,.61,.36,1));
}
.cat-tree-link:hover{background:rgba(255,107,74,.10);color:var(--c-coral-dark);padding-left:18px}
.cat-tree-link.active{
  background:linear-gradient(135deg,#0F2A43,#0D2439);color:#fff;
  border-color:transparent;box-shadow:0 6px 18px rgba(15,42,67,.25);
}
/* expand/collapse toggle */
.cat-toggle{
  width:30px;height:30px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(15,42,67,.06);border:1px solid rgba(201,162,39,.3);border-radius:8px;
  color:var(--c-navy);font-size:11px;cursor:pointer;transition:all .25s;
}
.cat-toggle:hover{background:rgba(255,107,74,.15);border-color:var(--c-coral)}
.cat-tree-l1.open .cat-toggle{transform:rotate(180deg);background:var(--c-navy);color:#fff;border-color:var(--c-navy)}
/* L2: hidden by default, opens on toggle; warm bg block */
.cat-tree-l2{
  list-style:none;margin:6px 0 8px 10px;padding:8px 10px;
  border-radius:10px;
  background:linear-gradient(135deg,#F6F1E8,#FDFBF7 60%,#EFE7D9); /* warm sand */
  border:1px solid rgba(201,162,39,.22);
  display:none;flex-direction:column;gap:2px;
}
.cat-tree-l1.open .cat-tree-l2{display:flex;animation:catFade .25s var(--ease-out,cubic-bezier(.22,.61,.36,1))}
@keyframes catFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.cat-tree-l2 .cat-tree-link{font-size:13px;font-weight:500;padding:9px 12px;background:transparent}
.cat-tree-l2 .cat-tree-link:hover{background:rgba(255,107,74,.12)}
.cat-tree-l2 .cat-tree-link.active{background:linear-gradient(135deg,var(--c-coral),var(--c-coral-dark));color:#fff}

/* ---------- Main ---------- */
.cat-main{flex:1;min-width:0}

/* ---------- Banner: collage of category products ---------- */
.cat-banner{
  position:relative;height:280px;border-radius:16px;overflow:hidden;
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
  box-shadow:0 20px 50px rgba(15,42,67,.18);margin-bottom:26px;
}
.cat-banner-img{
  background-size:cover;background-position:center;background-color:var(--paper-2,#F6F1E8);
}
.cat-banner-placeholder{display:flex;align-items:center;justify-content:center;font-size:40px;color:#B9C0C8}
.cat-banner-overlay{
  position:absolute;inset:0;display:flex;align-items:center;
  background:linear-gradient(100deg,rgba(10,29,51,.88) 0%,rgba(10,29,51,.55) 45%,rgba(10,29,51,.08) 75%);
}
.cat-banner-text{padding:0 48px;max-width:60%}
.cat-banner-kicker{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:.3em;
  color:var(--c-coral);text-transform:uppercase;margin-bottom:12px;
  border:1px solid rgba(255,107,74,.5);padding:6px 14px;border-radius:999px;
}
.cat-banner-text h2{
  font-family:var(--font-display,'Fraunces',Georgia,serif);
  font-size:clamp(28px,3.6vw,44px);font-weight:400;color:#fff;margin:0;line-height:1.1;
}

/* ---------- Product grid (reuse .cards) ---------- */
.cat-main .cards{margin-top:6px}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .cat-layout{flex-direction:column;gap:24px}
  .cat-sidebar{width:100%;position:static}
  .cat-tree{flex-direction:row;flex-wrap:wrap;gap:6px}
  .cat-tree-l1{margin:0}
  .cat-tree-l2{display:contents}
  .cat-banner{height:200px}
  .cat-banner-text{padding:0 24px;max-width:80%}
}
