/* ============================================================
   Casinoay — Базовые секции/листинги (Фаза 1).
   Шаблоны категорий/архивов/синглов. Только токены. Namespace без .cay-.
   ============================================================ */

.section { padding-block: var(--space-7) var(--space-8); }

.section__head { margin-bottom: var(--space-6); }
.section__title { font-size: var(--fs-h1); margin: var(--space-2) 0 0; }
.section__sub { font-size: var(--fs-h3); margin: var(--space-7) 0 var(--space-4); }

.section__content { max-width: var(--measure); color: var(--text); }
.section__content :last-child { margin-bottom: 0; }

.section__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-4);
    margin-top: var(--space-3);
    color: var(--muted);
    font-size: var(--fs-sm);
}

.section__empty {
    margin-top: var(--space-5);
    padding: var(--space-5);
    border: 1px dashed var(--border-strong);
    border-radius: var(--radius-lg);
    color: var(--muted);
    background: var(--surface);
}

/* ---------- Хлебные крошки ---------- */
.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    align-items: center;
    margin-bottom: var(--space-4);
    font-size: var(--fs-sm);
    color: var(--muted);
}
.breadcrumbs a { color: var(--muted); text-decoration: none; }
.breadcrumbs a:hover { color: var(--accent); }
.breadcrumbs [aria-current="page"] { color: var(--ink); font-weight: var(--fw-semibold); }
.breadcrumbs__sep { color: var(--border-strong); }

/* ---------- Сетка карточек ---------- */
.card-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--space-4);
}
.card-grid--cpt { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }

.link-card {
    margin: 0;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}
.link-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-float); border-color: var(--border-strong); }

.link-card__link {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    height: 100%;
    padding: var(--space-5);
    text-decoration: none;
    color: var(--ink);
}

.link-card__title { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-lead); color: var(--ink); }
.link-card__text { color: var(--muted); font-size: var(--fs-sm); line-height: var(--lh-snug); }

.link-card__more {
    margin-top: auto;
    font-family: var(--font-mono);
    font-size: var(--fs-caption);
    letter-spacing: var(--ls-caps);
    text-transform: uppercase;
    color: var(--accent-strong);
}

/* Карточки CPT (лого + заголовок по центру) */
.link-card--cpt .link-card__link { align-items: center; text-align: center; justify-content: center; }
.link-card__logo { border-radius: var(--radius); object-fit: contain; }

/* ---------- Пагинация ---------- */
.pagination { margin-top: var(--space-6); }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 2.5rem;
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    color: var(--text);
    text-decoration: none;
}
.pagination .page-numbers.current { background: var(--accent); color: #fff; border-color: var(--accent); }
.pagination a.page-numbers:hover { border-color: var(--accent); color: var(--accent); }
