/**
 * TNR Strava Supporter Stream — frontend styles
 * Recreates the "Recent Rides" card design: white cards, olive progress
 * bar, cream stat-grid boxes. Override any of these CSS variables from
 * your theme/Elementor custom CSS to match your palette exactly.
 */

:root {
  --tnr-strava-accent: #767a3f;      /* olive progress bar */
  --tnr-strava-card-bg: #ffffff;
  --tnr-strava-card-border: #e7e5df;
  --tnr-strava-stat-bg: #f2efe6;     /* cream stat box background */
  --tnr-strava-text: #2b2b26;
  --tnr-strava-muted: #7a7a72;
  --tnr-strava-radius: 14px;
}

.tnr-strava-goal,
.tnr-strava-activity {
  background: var(--tnr-strava-card-bg);
  border: 1px solid var(--tnr-strava-card-border);
  border-radius: var(--tnr-strava-radius);
  padding: 20px 22px;
  margin-bottom: 16px;
  color: var(--tnr-strava-text);
}

/* Goal card */
.tnr-strava-goal-title {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.tnr-strava-goal-bar {
  background: rgba(0, 0, 0, 0.08);
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  margin: 10px 0 14px;
}

.tnr-strava-goal-bar-fill {
  height: 100%;
  background: var(--tnr-strava-accent);
  border-radius: 999px;
  transition: width 0.3s ease;
}

.tnr-strava-goal-stats {
  font-size: 0.85rem;
  color: var(--tnr-strava-muted);
  line-height: 1.6;
}

/* Activity card */
.tnr-strava-head {
  margin-bottom: 10px;
}

.tnr-strava-title {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
}

.tnr-strava-title a {
  color: inherit;
  text-decoration: none;
}

.tnr-strava-title a:hover {
  text-decoration: underline;
}

.tnr-strava-meta {
  color: var(--tnr-strava-muted);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-top: 2px;
}

.tnr-strava-map-wrap {
  margin: 12px 0;
  border-radius: 10px;
  overflow: hidden;
  color: var(--tnr-strava-accent);
}

.tnr-strava-caption {
  font-size: 0.9rem;
  color: var(--tnr-strava-text);
  margin: 10px 0;
}

/* Stat grid — 2 columns, matches screenshot's boxed MI / TIME / FT ELEV / MPH layout */
.tnr-strava-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.tnr-strava-stat {
  background: var(--tnr-strava-stat-bg);
  border-radius: 10px;
  padding: 12px 14px;
}

.tnr-strava-stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}

.tnr-strava-stat-label {
  font-size: 0.72rem;
  color: var(--tnr-strava-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 2px;
}

.tnr-strava-social {
  margin-top: 12px;
  color: var(--tnr-strava-muted);
  font-size: 0.82rem;
}

/* Feed wrapper layouts */
.tnr-strava-feed.tnr-layout-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(var(--tnr-strava-cols, 3), 1fr);
}
.tnr-strava-feed.tnr-cols-1 { --tnr-strava-cols: 1; }
.tnr-strava-feed.tnr-cols-2 { --tnr-strava-cols: 2; }
.tnr-strava-feed.tnr-cols-3 { --tnr-strava-cols: 3; }
.tnr-strava-feed.tnr-cols-4 { --tnr-strava-cols: 4; }

.tnr-strava-feed.tnr-layout-list .tnr-strava-activity {
  padding: 12px 16px;
}
.tnr-strava-feed.tnr-layout-list .tnr-strava-stats-grid {
  grid-template-columns: repeat(4, 1fr);
}

.tnr-strava-empty,
.tnr-strava-locked,
.tnr-strava-goal-error {
  color: var(--tnr-strava-muted);
  font-size: 0.9rem;
  padding: 16px 0;
}

/* Narrow sidebar columns: stack stat boxes to 2-up even inside list layout */
@media (max-width: 480px) {
  .tnr-strava-feed.tnr-layout-list .tnr-strava-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
