/* =======================================================================
   tiles-v2.css -- Tee-time tile component (strip, tile, 9/18 pair)
   Moved verbatim from area-v2.css on 2026-10-24 so every surface that
   renders tiles gets them: market pages, course pages, the market-page
   featured slot, and (new) the homepage partner card. Loaded GLOBALLY from
   base-v2.njk, like signup-v2.css and featured-v2.css.
   Tile markup is rendered by js/area.js, js/course.js, js/homepage-live.js.
   Page-specific tile overrides stay in their page CSS (2+ class selectors).
   ======================================================================= */

.sct-strip {
  display: flex;
  gap: var(--sct-space-2);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  margin: 0 -16px;
  padding: 2px 16px 4px;
  scrollbar-width: none;
}

.sct-strip::-webkit-scrollbar { display: none; }

.sct-tile {
  position: relative;
  background: var(--sct-paper);
  border: 1px solid var(--sct-overlay-border-md);
  border-radius: var(--sct-radius-sm);
  padding: 10px 12px;
  width: 96px;
  flex: 0 0 96px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 82px;
  max-height: 90px;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: background var(--sct-transition-fast), border-color var(--sct-transition-fast);
  -webkit-tap-highlight-color: transparent;
}

.sct-tile:hover,
.sct-tile:focus-visible {
  background: var(--sct-green-50);
  border-color: var(--sct-overlay-border-3xl);
  outline: none;
}

.sct-tile:active {
  background: var(--sct-green-100);
  border-color: var(--sct-green-700);
}

.sct-tile__open {
  position: absolute;
  top: 8px; right: 8px;
  width: 12px; height: 12px;
  color: var(--sct-ink-300);
  display: block;
  pointer-events: none;
  transition: color var(--sct-transition-fast);
}

.sct-tile:hover .sct-tile__open,
.sct-tile:focus-visible .sct-tile__open { color: var(--sct-green-700); }

.sct-tile__time {
  font-family: var(--sct-font-ui);
  font-weight: 700;
  font-size: var(--sct-fs-h4);
  line-height: 1;
  color: var(--sct-ink-900);
  display: flex;
  align-items: baseline;
  gap: 4px;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
  padding-right: 16px;
}

.sct-tile__et {
  font-family: var(--sct-font-ui);
  font-size: var(--sct-fs-eyebrow);
  color: var(--sct-text-secondary);
  font-weight: 400;
  letter-spacing: 0.02em;
}

.sct-tile__price {
  font-family: var(--sct-font-ui);
  font-weight: 600;
  font-size: var(--sct-fs-body-sm);
  color: var(--sct-ink-700);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.sct-tile__meta {
  font-family: var(--sct-font-ui);
  font-weight: 400;
  font-size: var(--sct-fs-eyebrow);
  color: var(--sct-text-secondary);
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}

.sct-tile__stat { display: inline-flex; align-items: center; gap: 3px; font-variant-numeric: tabular-nums; }
.sct-tile__stat svg { width: 12px; height: 12px; color: var(--sct-icon-muted); flex-shrink: 0; display: block; }
.sct-tile__mode { display: none; }

/* --- 9/18 pair (2026-10-21, UX audit finding 3) -----------------------
   One tee time offered at 9 and 18 holes = one tile with two price options.
   Same card chrome and height as a single tile so the strip stays even.
   Each option is a full .sct-tile link (own booking URL, own data-*), reset
   here to a compact button; 44px min-height keeps the tap target. */
.sct-tilepair {
  background: var(--sct-paper);
  border: 1px solid var(--sct-overlay-border-md);
  border-radius: var(--sct-radius-sm);
  padding: 8px;
  width: 176px;
  flex: 0 0 176px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sct-tilepair__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 2px 4px 0;
}
.sct-tilepair__head .sct-tile__time { padding-right: 0; }
.sct-tilepair__players {
  font-family: var(--sct-font-ui);
  font-size: var(--sct-fs-eyebrow);
  color: var(--sct-text-secondary);
}
.sct-tilepair__opts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.sct-tile--opt {
  width: auto;
  flex: none;
  min-height: var(--sct-tap-min);
  max-height: none;
  padding: 6px 8px;
  gap: 3px;
  border-radius: var(--sct-radius-xs);
  background: var(--sct-white);
  scroll-snap-align: none;
}
.sct-tile--opt .sct-tile__open { top: 6px; right: 6px; }
.sct-tile__v3   { display: none; }

@media (min-width: 768px) {
  .sct-tile { width: 104px; flex: 0 0 104px; }
  .sct-tile--opt { width: auto; flex: none; }
  .sct-tilepair { width: 184px; flex: 0 0 184px; }
}
