/* ============================================================
   klasyk.pl — design system 2026 · PROFILE KLUBÓW (ticket 01)
   Indeks /kluby (samodzielna strona kart na tokenach, bez łamu
   content-page) + profil /kluby/{slug} (za content-page-2026:
   hero, łam opisu, kontakt oraz szpalta z informacjami i mostem
   produktowym — ogłoszenia po markach klubu).
   ============================================================ */

/* ===================== INDEKS /kluby ===================== */

.club-head{ margin:1.625rem 0 0; }
.club-head h1{ font-family:var(--sans); font-weight:700; letter-spacing:-.02em;
  font-size:clamp(1.55rem,calc(2.4 * var(--vwu)),2.1rem); line-height:1.15; margin:0; }
.club-head .club-lead{ margin:0.625rem 0 0; font-size:1.0625rem; line-height:1.6;
  color:var(--text); max-width:66ch; }

.club-empty{ margin:2.25rem 0 3rem; font-size:1rem; color:var(--meta-strong); }

.club-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin:1.75rem 0 3rem; }

.club-card{ min-width:0; }
.club-card__link{ display:block; color:inherit; text-decoration:none; border:1px solid var(--gray-line);
  border-radius:var(--r-card); overflow:hidden; background:#fff; height:100%; }
.club-card__link:hover{ border-color:var(--accent); }
.club-card__link:hover .club-card__title{ color:var(--accent); }
.club-card__img{ display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover;
  border-bottom:1px solid var(--gray-line); }
.club-card__body{ padding:1rem 1.125rem 1.125rem; }
.club-card__title{ margin:0; font-family:var(--sans); font-weight:700; letter-spacing:-.01em;
  font-size:1.15rem; line-height:1.3; color:var(--heading); }
.club-card__region{ margin:0.25rem 0 0; font-size:.85rem; color:var(--meta); }
.club-card__brands{ display:flex; flex-wrap:wrap; gap:0.375rem; margin:0.625rem 0 0; }
.club-card__desc{ margin:0.625rem 0 0; font-size:.95rem; line-height:1.55; color:var(--text); }
.club-card__founded{ margin:0.625rem 0 0; font-size:.85rem; color:var(--meta-strong);
  font-variant-numeric:tabular-nums; }
.club-card__founded b{ font-weight:700; color:var(--heading); }

/* Tag marki — wspólny dla karty i hero profilu. */
.club-tag{ display:inline-block; padding:0.1875rem 0.5625rem; border:1px solid var(--gray-line);
  border-radius:999px; font-family:var(--sans); font-size:.78rem; font-weight:600;
  color:var(--meta-strong); background:var(--rail); }

/* ===================== PROFIL /kluby/{slug} ===================== */

.club-detail{ padding-bottom:3rem; }

/* ---------- Hero ---------- */
.club-hero{ margin:1.25rem 0 0; }
.club-hero__eyebrow{ margin:0 0 0.375rem; font-family:var(--sans); font-size:.78rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; color:var(--accent); }
.club-hero h1{ font-family:var(--sans); font-weight:700; letter-spacing:-.02em;
  font-size:clamp(1.7rem,calc(2.8 * var(--vwu)),2.4rem); line-height:1.12; margin:0; }
.club-hero__region{ margin:0.5rem 0 0; font-size:1rem; color:var(--meta-strong); }
.club-hero__brands{ display:flex; flex-wrap:wrap; gap:0.375rem; margin:0.75rem 0 0; }

/* ---------- Dwie kolumny ---------- */
.club-split{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:2.25rem; margin:1.75rem 0 0; }

.club-photo{ display:block; width:100%; height:auto; border-radius:var(--r-card);
  border:1px solid var(--gray-line); margin:0 0 1.5rem; }

.club-desc{ max-width:72ch; font-size:1.0625rem; line-height:1.65; color:var(--text); }
.club-desc h2{ font-family:var(--sans); font-weight:700; letter-spacing:-.01em; font-size:1.35rem;
  margin:1.75rem 0 0.625rem; color:var(--heading); }
.club-desc p{ margin:0 0 1rem; }
.club-desc a{ color:var(--accent); }

/* ---------- Nadchodzące wydarzenia klubu ---------- */
.club-events{ margin:2rem 0 0; }
.club-events h2{ font-family:var(--sans); font-weight:700; letter-spacing:-.01em; font-size:1.35rem;
  margin:0 0 0.875rem; color:var(--heading); padding-bottom:0.625rem; border-bottom:2px solid var(--heading); }
.club-events__list{ margin:0; padding:0; list-style:none; max-width:72ch; }
.club-events__item a{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0.25rem 1rem;
  padding:0.5625rem 0; border-bottom:1px solid var(--gray-line); text-decoration:none; }
.club-events__date{ flex:0 0 10rem; font-family:var(--sans); font-size:.85rem; font-weight:600;
  color:var(--meta); font-variant-numeric:tabular-nums; }
.club-events__title{ font-size:.98rem; font-weight:600; color:var(--heading); }
.club-events__item a:hover .club-events__title{ color:var(--accent); }
.club-events__location{ font-size:.9rem; color:var(--meta); }

/* ---------- Kontakt i linki ---------- */
.club-contact{ margin:2rem 0 0; }
.club-contact h2{ font-family:var(--sans); font-weight:700; letter-spacing:-.01em; font-size:1.35rem;
  margin:0 0 0.875rem; color:var(--heading); padding-bottom:0.625rem; border-bottom:2px solid var(--heading); }
.club-contact__list{ margin:0; max-width:72ch; }
.club-contact__row{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0.25rem 1rem;
  padding:0.5625rem 0; border-bottom:1px solid var(--gray-line); }
.club-contact__row dt{ flex:0 0 7.5rem; margin:0; font-family:var(--sans); font-size:.85rem;
  font-weight:600; color:var(--meta); }
.club-contact__row dd{ margin:0; font-size:.98rem; overflow-wrap:anywhere; }
.club-contact__row dd a{ color:var(--heading); font-weight:600; text-decoration:none; }
.club-contact__row dd a:hover{ color:var(--accent); }

/* ---------- Szpalta ---------- */
.club-aside{ min-width:0; }
.club-aside__stick{ position:sticky; top:1rem; display:flex; flex-direction:column; gap:1.25rem; }

.club-note{ border:1px solid var(--gray-line); border-radius:var(--r-card); background:#fff;
  padding:1rem 1.125rem 1.125rem; }
.club-note__title{ font-family:var(--sans); font-size:.82rem; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--heading); margin:0 0 0.75rem; padding-bottom:0.5rem;
  border-bottom:2px solid var(--heading); }
.club-note__facts{ margin:0; }
.club-note__fact{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0.25rem 0.75rem;
  padding:0.4375rem 0; }
.club-note__fact + .club-note__fact{ border-top:1px solid var(--gray-line); }
.club-note__fact dt{ flex:0 0 7rem; margin:0; font-family:var(--sans); font-size:.8rem;
  font-weight:600; color:var(--meta); }
.club-note__fact dd{ margin:0; font-size:.92rem; color:var(--heading); font-weight:600;
  font-variant-numeric:tabular-nums; }
.club-note__more{ margin:0.75rem 0 0; font-size:.9rem; }
.club-note__more a{ color:var(--accent); text-decoration:none; }

/* Karta ogłoszenia w szpalcie (most produktowy). Cena neutralna,
   tabular-nums — nigdy czerwona. */
.club-ad{ display:block; color:inherit; text-decoration:none; padding:0.75rem 0; }
.club-ad + .club-ad{ border-top:1px solid var(--gray-line); }
.club-ad__img{ margin:0 0 0.5rem; }
.club-ad__img img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover;
  border-radius:var(--r-card); }
.club-ad__title{ font-family:var(--sans); font-size:.95rem; font-weight:600; line-height:1.4;
  color:var(--heading); }
.club-ad:hover .club-ad__title{ color:var(--accent); }
.club-ad__price{ margin:0.25rem 0 0; font-size:.95rem; font-weight:700; color:var(--heading);
  font-variant-numeric:tabular-nums; }

/* Kronika klubu (ticket 08): oś czasu z unii wpisów ręcznych,
   wydarzeń i tras rajdów. */
.club-chron__list{ margin:0; padding:0; list-style:none; max-width:72ch; }
.club-chron__item{ padding:0.875rem 0; }
.club-chron__item + .club-chron__item{ border-top:1px solid var(--gray-line); }
.club-chron__head{ display:flex; align-items:baseline; gap:0.75rem; margin-bottom:0.25rem; }
.club-chron__date{ font-family:var(--sans); font-size:.85rem; font-weight:600; color:var(--meta);
  font-variant-numeric:tabular-nums; }
.club-chron__type{ font-family:var(--sans); font-size:.72rem; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--meta); }
.club-chron__text{ margin:0; font-size:.95rem; }
.club-chron__text a{ font-weight:600; color:var(--heading); text-decoration:none; }
.club-chron__text a:hover{ color:var(--accent); }
.club-chron__meta{ margin-left:0.75rem; font-size:.9rem; color:var(--meta); }
.club-chron__img{ display:block; width:100%; max-width:32rem; height:auto; aspect-ratio:16/9;
  object-fit:cover; border-radius:var(--r-card); margin-top:0.625rem; }
.club-chron__more{ margin:0.5rem 0 0; font-size:.9rem; }
.club-chron__more a{ color:var(--accent); text-decoration:none; }

/* ===================== Responsywność ===================== */

@media (max-width: 1023px){
  .club-grid{ grid-template-columns:repeat(2,1fr); }
  .club-split{ grid-template-columns:1fr; gap:1.75rem; }
  .club-aside__stick{ position:static; }
}

@media (max-width: 639px){
  .club-grid{ grid-template-columns:1fr; }
}
