/* /tag/ only. Shared header/footer retain their existing styles. */
.tag-catalog { color: #f4f4f6; line-height: 1.6; }
.tag-catalog *, .tag-catalog *::before, .tag-catalog *::after { box-sizing: border-box; }
.tag-catalog__crumbs {
    display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
    padding: 16px 0 4px; font-size: 13px;
}
.tag-catalog__crumbs a { color: #a9a9b6; }
.tag-catalog__crumbs svg { opacity: .45; flex-shrink: 0; }
.tag-catalog__head { padding: clamp(14px, 2vw, 22px) 0 clamp(16px, 2.4vw, 26px); }
.tag-catalog__head h1 {
    margin: 0 0 8px; font-size: clamp(21px, 2.8vw, 31px);
    font-weight: 800; letter-spacing: -.02em; line-height: 1.25;
}
.tag-catalog__head p { margin: 0 0 6px; color: #a9a9b6; font-size: clamp(13.5px, 1.2vw, 15px); }
.tag-catalog__bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 20px; }
.tag-catalog__tabs { display: flex; gap: 6px; }
.tag-catalog__tab {
    display: inline-flex; align-items: center; justify-content: center;
    height: 38px; padding: 0 20px; border: 1px solid rgba(255, 255, 255, .07); border-radius: 999px;
    background: #17171f; color: #a9a9b6; font-size: 14px; font-weight: 600;
}
.tag-catalog__tab:hover { color: #fff; border-color: rgba(255, 255, 255, .18); }
.tag-catalog__tab.is-active { color: #fff; border-color: transparent; background: linear-gradient(110deg, #ff2f6d, #ff5940); box-shadow: 0 6px 22px rgba(255, 47, 109, .25); }
.tag-catalog__tab:focus-visible { outline: 2px solid #ff6b95; outline-offset: 3px; }
.tag-catalog__total { margin: 0; color: #777785; font-size: 13px; }
.tag-catalog__feedback:not([hidden]) {
    display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
    margin-bottom: 16px; color: #a9a9b6; font-size: 14px;
}
.tag-catalog__feedback button {
    padding: 4px 14px; border: 1px solid rgba(255, 255, 255, .07); border-radius: 999px;
    background: #17171f; color: #f4f4f6; cursor: pointer;
}
.tag-catalog__feedback button:focus-visible { outline: 2px solid #ff6b95; outline-offset: 3px; }
[data-tag-results][aria-busy="true"] { opacity: .65; }
.tag-catalog__grid {
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px;
    list-style: none; padding: 0; margin: 0 0 28px;
}
.tag-catalog__grid > li { display: flex; min-width: 0; }
.tag-catalog__card {
    display: block; flex: 1 1 auto; min-width: 0;
    padding: clamp(18px, 2vw, 26px); border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, .07);
    background-image: linear-gradient(140deg, hsl(var(--h) 30% 15%), hsl(calc(var(--h) + 45) 24% 10%));
    color: #f4f4f6; transition: transform .22s, border-color .22s;
    overflow-wrap: anywhere;
}
.tag-catalog__card h2 { margin: 0 0 8px; font-size: 17px; font-weight: 700; line-height: 1.6; }
.tag-catalog__description { margin: 0; color: #a9a9b6; font-size: 13.5px; line-height: 1.6; white-space: pre-line; }
.tag-catalog__count { display: inline-block; margin-top: 12px; font-size: 12px; color: #777785; }
.tag-catalog__card:hover, .tag-catalog__card:focus-visible {
    color: #fff; transform: translateY(-3px); border-color: rgba(255, 47, 109, .5);
}
.tag-catalog__card:focus-visible { outline: 2px solid #ff6b95; outline-offset: 3px; }
.tag-catalog__empty { padding: 32px 0; color: #a9a9b6; }
@media (max-width: 1099px) { .tag-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) {
    .tag-catalog__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .tag-catalog__card { transition: none; } }
