/* ════════════════════════════════
   SECTIONS — responsive overrides + events empty state
   Desktop styles live in event-page.css (not touched)
   ════════════════════════════════ */

/* ── Events empty state ─────────────────────── */
.tb-events-empty {
  padding: 80px 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}
.tb-events-empty__icon {
  font-size: var(--tb-text-3xl);
  color: var(--red);
  opacity: .4;
  line-height: 1;
}
.tb-events-empty__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 48px);
  letter-spacing: .04em;
  line-height: 1;
}
.tb-events-empty__text {
  font-family: var(--font-serif);
  font-size: 18px;
  font-style: italic;
  color: var(--white-dim);
  max-width: 440px;
  line-height: 1.7;
}


/* ── Checkout result (page-thank-you.php) ───────── */
.tb-checkout-result {
  min-height: calc(100vh - var(--nav-h));
  padding-top: var(--nav-h);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-left: 24px;
  padding-right: 24px;
  gap: 20px;
}
.tb-checkout-result__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  opacity: .4;
}
.tb-checkout-result__icon--ok  { color: var(--success); opacity: 1; }
.tb-checkout-result__icon--err { color: var(--red);     opacity: .85; }
.tb-checkout-result__title { margin-top: 8px; }
.tb-checkout-result__text {
  font-family: var(--font-serif);
  font-size: 18px;
  font-style: italic;
  color: var(--white-dim);
  line-height: 1.7;
  max-width: 480px;
}
.tb-checkout-result__actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 12px;
}

/* ── Order summary box (page-thank-you.php) ───────── */
.tb-order-summary {
  width: 100%;
  max-width: 400px;
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-radius: var(--tb-radius-lg, 12px);
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: left;
  box-shadow: var(--tb-shadow-sm);
}
.tb-order-summary--processing {
  align-items: center;
  padding: 16px 24px;
}
.tb-order-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.tb-order-summary__row--status {
  justify-content: flex-end;
  padding-top: 4px;
  border-top: 1px solid var(--border-subtle);
}
.tb-order-summary--processing .tb-order-summary__row--status {
  border-top: none;
  justify-content: center;
}
.tb-order-summary__label {
  font-size: var(--tb-text-sm, 0.875rem);
  color: var(--text-muted);
  white-space: nowrap;
  flex-shrink: 0;
}
.tb-order-summary__value {
  font-size: var(--tb-text-sm, 0.875rem);
  color: var(--text-primary);
  text-align: right;
  word-break: break-word;
}
.tb-order-summary__value--amount {
  font-size: var(--tb-text-base, 1rem);
  font-weight: 600;
  color: var(--text-primary);
}
.tb-order-summary__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--tb-text-xs, 0.75rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: var(--tb-radius-full, 9999px);
  padding: 3px 10px;
}
.tb-order-summary__badge--paid {
  background: rgba(46, 125, 50, 0.12);
  color: var(--success);
}
.tb-order-summary__badge--pending {
  background: rgba(184, 118, 30, 0.12);
  color: var(--warning, #b8761e);
}
.tb-order-summary__spinner {
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: tb-spin 0.8s linear infinite;
}
@keyframes tb-spin {
  to { transform: rotate(360deg); }
}


/* ════════════════════════════════
   RESPONSIVE — 960px breakpoint
   ════════════════════════════════ */
@media (max-width: 960px) {

  /* Nav padding correction */
  .tb-hero  { padding: 0 24px 60px; }
  .tb-hero__vline { display: none; }
  .tb-hero__scroll { right: 24px; }

  /* Ticker — already overflow hidden, no change needed */

  /* Events section */
  .tb-events { padding: 72px 24px; }
  .tb-events__grid { grid-template-columns: 1fr; }
  .tb-events__strip { grid-template-columns: 1fr 1fr; }
  .tb-events-empty { padding: 60px 24px; }

  /* About */
  .tb-about {
    grid-template-columns: 1fr;
    padding: var(--tb-space-8) var(--tb-space-5);
    gap: var(--tb-space-7);
  }
  .tb-about::before { font-size: 5rem; opacity: .03; }
  .tb-about__images { height: 320px; }

  /* Services */
  .tb-services { padding: var(--tb-space-8) var(--tb-space-5); }
  .tb-services__grid { grid-template-columns: 1fr; }
  .tb-services__bg-text { font-size: 6rem; }
  .tb-service { padding: var(--tb-space-6) var(--tb-space-5); }

  /* Gallery */
  .tb-gallery { padding: var(--tb-space-8) 0; }
  .tb-gallery__header { padding: 0 var(--tb-space-5); }
  .tb-gallery__item { width: 260px; height: 190px; }

  /* Contact */
  .tb-contact {
    grid-template-columns: 1fr;
    padding: var(--tb-space-8) var(--tb-space-5);
    gap: var(--tb-space-7);
  }
  .tb-contact-form__row { grid-template-columns: 1fr; }

  /* Event page */
  .tb-ep-bar { padding: 0 16px; gap: 12px; }
  .tb-ep-bar__meta { display: none; }
  .tb-ep-body { grid-template-columns: 1fr; }
  .tb-ep-info { padding: 32px 20px 48px; border-right: none; }
  .tb-ep-ticket {
    position: static;
    height: auto;
    border-left: none;
    border-top: 1px solid rgba(0,103,127,.08);
  }
  .tb-ep-gallery__grid { grid-template-columns: 1fr; }

  /* Strip — single column on very small */
  @media (max-width: 520px) {
    .tb-events__strip { grid-template-columns: 1fr; }
  }
}
