/* ════════════════════════════════
   ABOUT / GALLERY / SPONSORS / PILOTS / DONATION
   DryVia-style homepage sections — shown per-site via
   tb_homepage_content.sections_enabled
   ════════════════════════════════ */

/* ── About ──────────────────────────────────────── */
.tb-about-section {
  padding: var(--tb-space-10) var(--tb-space-7);
  background: var(--black2);
}
.tb-about-section__container { max-width: 780px; margin: 0 auto; text-align: center; }
.tb-about-section__title { font-size: var(--tb-text-3xl); margin: var(--tb-space-3) 0 var(--tb-space-5); }
.tb-about-section__body {
  font-family: var(--font-serif); font-size: 18px; line-height: 1.85;
  color: var(--text-secondary);
}
.tb-about-section__body p + p { margin-top: 16px; }

/* ── Featured org (e.g. DryVia's "СК Алма Ритмик Старс") ── */
.tb-featured-org {
  padding: var(--tb-space-10) var(--tb-space-7);
}
.tb-featured-org__container { max-width: 900px; margin: 0 auto; text-align: center; }
.tb-featured-org__text {
  font-family: var(--font-serif); font-size: 18px; line-height: 1.85;
  color: var(--text-secondary);
  margin: var(--tb-space-4) 0 var(--tb-space-7);
}
.tb-featured-org__gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--tb-space-3);
}
.tb-featured-org__item {
  display: block;
  aspect-ratio: 1/1;
  background-size: cover; background-position: center;
  filter: grayscale(15%) brightness(.95); transition: filter .3s;
  cursor: pointer;
}
.tb-featured-org__item:hover { filter: grayscale(0%) brightness(1); }

/* ── Gallery ────────────────────────────────────── */
.tb-gallery-grid-section { padding: var(--tb-space-10) var(--tb-space-7); }
.tb-gallery-grid-section__header { text-align: center; margin-bottom: var(--tb-space-7); }
.tb-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--tb-space-3);
}
.tb-gallery-grid__item {
  display: block;
  aspect-ratio: 4/3;
  background-size: cover; background-position: center;
  filter: grayscale(15%) brightness(.95); transition: filter .3s;
  cursor: pointer;
}
.tb-gallery-grid__item:hover { filter: grayscale(0%) brightness(1); }

/* ── Sponsors ───────────────────────────────────── */
.tb-sponsors { padding: var(--tb-space-10) var(--tb-space-7); background: var(--black2); }
.tb-sponsors__header { text-align: center; margin-bottom: var(--tb-space-7); }
.tb-sponsors__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: var(--tb-space-6);
  align-items: center;
}
.tb-sponsors__item { display: flex; align-items: center; justify-content: center; }
.tb-sponsors__item img {
  max-width: 100%; max-height: 64px; width: auto; object-fit: contain;
  filter: grayscale(100%); opacity: .6; transition: filter .3s, opacity .3s;
}
.tb-sponsors__item a:hover img,
.tb-sponsors__item img:hover { filter: grayscale(0%); opacity: 1; }

/* ── Pilots ─────────────────────────────────────── */
.tb-pilots { padding: var(--tb-space-10) var(--tb-space-7); }
.tb-pilots__header { text-align: center; margin-bottom: var(--tb-space-7); }
.tb-pilots__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--tb-space-6);
}
.tb-pilots__card { text-align: center; }
.tb-pilots__photo {
  aspect-ratio: 1; border-radius: 50%;
  background-color: var(--black3); background-size: cover; background-position: center;
  margin: 0 auto var(--tb-space-4);
  max-width: 160px;
}
.tb-pilots__name { font-size: 16px; font-weight: 600; margin-bottom: 4px; }
.tb-pilots__team { font-size: 13px; color: var(--text-muted); margin-bottom: 8px; }
.tb-pilots__social {
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--tb-red-500); text-decoration: none;
}
.tb-pilots__social:hover { color: var(--tb-red-600); }

/* ── Donation ───────────────────────────────────── */
.tb-donation { padding: var(--tb-space-10) var(--tb-space-7); background: var(--black2); }
.tb-donation__container { max-width: 640px; margin: 0 auto; text-align: center; }
.tb-donation__text {
  font-family: var(--font-serif); font-size: 17px; line-height: 1.8;
  color: var(--text-secondary); margin: var(--tb-space-4) 0 var(--tb-space-7);
}
.tb-donation__bank {
  display: flex; flex-direction: column; gap: 12px;
  background: var(--black3); padding: var(--tb-space-6); text-align: left;
}
.tb-donation__row { display: flex; justify-content: space-between; gap: var(--tb-space-4); flex-wrap: wrap; }
.tb-donation__label {
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--text-muted);
}
.tb-donation__value { font-family: var(--font-mono); font-size: 14px; }

/* ── Shared overlay — gallery lightbox + pilot bio modal (main.js) ── */
.tb-overlay {
  position: fixed; inset: 0; z-index: 500;
  background: rgba(0,0,0,.88);
  display: flex; align-items: center; justify-content: center;
  padding: var(--tb-space-6);
}
.tb-overlay[hidden] { display: none; }
.tb-overlay__close {
  position: absolute; top: var(--tb-space-5); right: var(--tb-space-5);
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  color: #FFFFFF; display: flex; align-items: center; justify-content: center;
  cursor: pointer;
}
.tb-overlay__close:hover { background: rgba(255,255,255,.2); }
.tb-overlay__body {
  max-width: 90vw; max-height: 85vh;
  display: flex; align-items: center; justify-content: center;
}
.tb-overlay__body img {
  max-width: 90vw; max-height: 85vh;
  object-fit: contain;
}
.tb-overlay__bio {
  background: var(--black2); color: var(--white);
  padding: var(--tb-space-7); max-width: 480px;
  text-align: left;
}
.tb-overlay__bio-name { font-size: 22px; font-weight: 700; margin-bottom: 4px; }
.tb-overlay__bio-team {
  font-size: 12px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--tb-red-500); margin-bottom: var(--tb-space-4);
}
.tb-overlay__bio-text {
  font-family: var(--font-serif); font-size: 16px; line-height: 1.75;
  color: var(--text-secondary); white-space: pre-line;
}

/* ── Responsive ─────────────────────────────────── */
@media (max-width: 960px) {
  .tb-pilots__grid { grid-template-columns: repeat(2, 1fr); }
  .tb-sponsors__grid { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
  .tb-donation__row { flex-direction: column; gap: 2px; }
}
