/* css/components/media-tabs.css — TinkyTown SDR Media sub-tab bar
 * P4.T4 — Phase 4. Brand: Fraunces + General Sans + var(--surface-deep)
 * var(--amber) var(--green) var(--green-soft). All colours via var().
 * Mirrors qr-tabs.css contract: active tab = amber, mobile scrolls.
 */

.tt-media-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.5rem 0.6rem;
  margin: 0 0 1rem;
  background: var(--surface-deep, #0d0b10);
  border: 1px solid color-mix(in srgb, var(--amber, #e8a33d) 22%, transparent);
  border-radius: 14px;
  font-family: var(--f-sans, 'General Sans', system-ui, sans-serif);
}

.tt-media-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.85rem;
  min-height: 44px;                /* mobile tap-target floor */
  background: transparent;
  color: var(--text-muted, rgba(255, 255, 255, 0.7));
  border: 1px solid transparent;
  border-radius: 10px;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.tt-media-tab:hover {
  background: color-mix(in srgb, var(--green-soft, #4ade80) 10%, transparent);
  color: var(--text-primary, #fff);
  border-color: color-mix(in srgb, var(--green, #22c55e) 30%, transparent);
}

.tt-media-tab:focus-visible {
  outline: 2px solid var(--amber, #e8a33d);
  outline-offset: 2px;
}

.tt-media-tab.is-active {
  background: color-mix(in srgb, var(--amber, #e8a33d) 12%, transparent);
  border-color: var(--amber, #e8a33d);
  color: var(--text-primary, #fff);
  font-weight: 600;
}

.tt-media-tab-icon { font-size: 1rem; line-height: 1; }
.tt-media-tab-label { white-space: nowrap; }

/* Hide legacy 2-tab row (visually only — outreach-media.js still
   uses its click handlers to flip section state). */
.tt-media-legacy-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  pointer-events: none;
}

/* Synthetic empty-state card for not-yet-backed sub-tabs. */
.tt-media-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 48px 24px;
  margin: 0;
  background: color-mix(in srgb, var(--surface-deep, #0d0b10) 80%, transparent);
  border: 1px dashed color-mix(in srgb, var(--amber, #e8a33d) 35%, transparent);
  border-radius: 14px;
  color: var(--text-muted, rgba(255, 255, 255, 0.7));
  font-family: var(--f-sans, 'General Sans', system-ui, sans-serif);
  text-align: center;
}
.tt-media-empty-icon  { font-size: 2.4rem; line-height: 1; }
.tt-media-empty-title {
  font-family: var(--f-display, 'Fraunces', Georgia, serif);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--text-primary, #fff);
}
.tt-media-empty-body { max-width: 42ch; font-size: 0.92rem; }

@media (max-width: 640px) {
  .tt-media-tabs { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
  .tt-media-tab { flex: 0 0 auto; }
}
