/* Scoped category presentation; global and product-card styles stay untouched. */
.ryt-category-section { min-width:0; }
.ryt-category-section__heading { margin:0 0 24px; color:var(--ryt-ink); font-family:'Space Grotesk',Inter,sans-serif; font-size:clamp(24px,2.5vw,32px); font-weight:700; letter-spacing:-.025em; line-height:1.2; }
.ryt-category-section__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ryt-category-card { display:grid; grid-template-rows:minmax(0,1fr) auto; aspect-ratio:4 / 5; min-width:0; overflow:hidden; border:1px solid var(--ryt-line); border-radius:28px; background:var(--ryt-paper); color:var(--ryt-ink); text-decoration:none; transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease; }
.ryt-category-card__media { position:relative; display:block; min-height:0; overflow:hidden; background:var(--ryt-stone); }
.ryt-category-card .ryt-category-card__image { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .3s ease, opacity .3s ease; }
.ryt-category-card__image--hover { position:absolute; inset:0; opacity:0;  }
.ryt-category-card__caption { position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding:16px 20px; border-top:1px solid var(--ryt-line); font:600 12px/1.4 'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.ryt-category-card__arrow { flex:none; color:var(--ryt-red); }
.ryt-category-card:focus-visible { outline:2px solid var(--ryt-red); outline-offset:4px; border-color:var(--ryt-red); box-shadow:0 8px 20px -8px rgba(17,17,17,.18); }
.ryt-category-card:focus-visible,.ryt-category-card.is-pressed{border-color:var(--ryt-red);transform:translateY(-3px);box-shadow:0 8px 20px -8px rgba(17,17,17,.18)}
@media(hover:none){.ryt-category-card:active{border-color:var(--ryt-red);transform:translateY(-2px)}}
@media (hover:hover) and (pointer:fine) {
  .ryt-category-card:hover { border-color:var(--ryt-red); transform:translateY(-3px); box-shadow:0 8px 20px -8px rgba(17,17,17,.18); }
  .ryt-category-card:hover .ryt-category-card__image { transform:scale(1.03); }
  .ryt-category-card.is-hover-ready:hover .ryt-category-card__image--hover,
  .ryt-category-card.is-hover-ready:focus-visible .ryt-category-card__image--hover { opacity:1; }
}
.ryt-category-section__filter { display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:var(--ryt-muted); font:11px/1.5 'JetBrains Mono',monospace; }
.ryt-category-section__filter select { min-height:44px; max-width:100%; padding:10px 30px 10px 12px; border:1px solid var(--ryt-line); border-radius:2px; background:var(--ryt-paper); color:var(--ryt-ink); font:inherit; }
.ryt-category-section__filter button { min-height:44px; padding:10px 12px; border:1px solid var(--ryt-line); color:var(--ryt-ink); }
.ryt-category-section__filter :is(select,button):focus-visible { outline:2px solid var(--ryt-red); outline-offset:3px; }
@media (max-width:1023px) { .ryt-category-section__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media (max-width:639px) {
  .ryt-category-section__grid { gap:12px; }
  .ryt-category-card { border-radius:16px; }
  .ryt-category-card__caption { min-height:48px; padding:12px; gap:6px; font-size:11px; letter-spacing:.04em; }
  .ryt-category-card__arrow { width:15px; height:15px; }
}
@media (max-width:359px) { .ryt-category-section__grid { grid-template-columns:minmax(0,1fr); } .ryt-category-card { aspect-ratio:4 / 5; } }
@media (prefers-reduced-motion:reduce) { .ryt-category-card,.ryt-category-card .ryt-category-card__image { transition:none!important; transform:none!important; } }
