/* =============================================================
   Public site — motion gaps (static UI only)
   Additive layer: does not replace JS-coupled or existing animations.
   Load after ds-public-v2-chrome.css
   ============================================================= */

/* ── Badges & pills ─────────────────────────────────────────── */

.badge {
  transition: var(--motion-surface), transform var(--dur-fast) var(--ease-interactive);
}

.badge:hover {
  transform: translateY(-1px);
}

body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .coachs-values__pill {
  transition: var(--motion-surface), transform var(--dur-fast) var(--ease-interactive) !important;
}

body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .coachs-values__pill:hover {
  transform: translateY(-1px);
}

/* ── Card icon tiles ────────────────────────────────────────── */

.card__icon {
  transition: var(--motion-lift);
}

.card:hover .card__icon {
  transform: scale(1.04);
  box-shadow: 0 0 18px var(--color-subtle);
}

/* ── Coach portraits (subtle depth on card hover) ───────────── */

.coach-card__portrait,
.coach-card__photo {
  transition: transform var(--dur-med) var(--ease-out);
}

.coach-card:hover .coach-card__portrait,
.coach-card:hover .coach-card__photo {
  transform: scale(1.02);
}

/* ── V2 surfaces: coach & stat cards (fix hover snap) ───────── */

body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .coach-card {
  transition: var(--motion-lift) !important;
}

body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .stat-box {
  transition: var(--motion-lift) !important;
}

body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .stat-box:hover {
  transform: translateY(-3px);
}

/* ── V2 nav account chip ────────────────────────────────────── */

body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .nav__account {
  transition: var(--motion-interactive);
}

body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .nav__account:hover {
  transform: translateY(-1px);
}

/* ── DS cards & chips (base surfaces) ───────────────────────── */

.ds-card:not(.ds-card--action) {
  transition: var(--motion-lift);
}

.ds-card:not(.ds-card--action):hover {
  transform: translateY(-2px);
  box-shadow: var(--ds-elev-2, var(--shadow-md));
}

.ds-chip:not(.ds-chip--selectable) {
  transition: var(--motion-surface);
}

.ds-chip:not(.ds-chip--selectable):hover {
  transform: translateY(-1px);
}

/* ── DS tab underline (scale in) ────────────────────────────── */

.ds-tab::after {
  content: "";
  position: absolute;
  left: 0.4rem;
  right: 0.4rem;
  bottom: -1px;
  height: 2px;
  background: var(--grad-action);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--dur-med) var(--ease-out);
}

.ds-tab.is-active::after {
  transform: scaleX(1);
}

/* ── Reviews carousel dots (v2 active glow) ───────────────── */

.reviews-carousel__dots button {
  transition:
    background var(--dur-fast) var(--ease-out),
    transform var(--dur-fast) var(--ease-interactive),
    box-shadow var(--dur-med) var(--ease-out);
}

body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body)
  .reviews-carousel__dots button.is-active {
  transition:
    background var(--dur-fast) var(--ease-out),
    transform var(--dur-fast) var(--ease-interactive),
    box-shadow var(--dur-med) var(--ease-out) !important;
}

/* ── Reduced motion ─────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .badge,
  .card__icon,
  .coach-card__portrait,
  .coach-card__photo,
  body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .coach-card,
  body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .stat-box,
  body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .nav__account,
  body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .coachs-values__pill,
  .ds-card:not(.ds-card--action),
  .ds-chip:not(.ds-chip--selectable),
  .ds-tab::after,
  .reviews-carousel__dots button {
    transition: none !important;
    transform: none !important;
  }

  .badge:hover,
  .card:hover .card__icon,
  .coach-card:hover .coach-card__portrait,
  .coach-card:hover .coach-card__photo,
  body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .stat-box:hover,
  body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .nav__account:hover,
  body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .coachs-values__pill:hover,
  .ds-card:not(.ds-card--action):hover,
  .ds-chip:not(.ds-chip--selectable):hover {
    transform: none !important;
  }
}
