/* swift-gate.css — gambling-gate inline unlock + owned-collection markers.
   Loaded from match.ejs and screener.ejs (body-level <link>, after <head> is
   closed by the header partial — valid HTML5, unaffected by script-src CSP).
   Uses ONLY existing theme vars from :root in styles.css — never redefines them. */

/* ===== Inline 18+ unlock (replaces gambling blocks for non-adults) ===== */
.gate-unlock {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem .85rem;
  margin: .85rem 0;
  padding: .8rem .95rem;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--ring);
}
.gate-unlock-ico {
  flex: 0 0 auto;
  font-size: 1.25rem;
  line-height: 1;
}
.gate-unlock-body {
  flex: 1 1 12rem;
  min-width: 0;
}
.gate-unlock-title {
  display: block;
  font-weight: 700;
  font-size: .92rem;
  color: var(--text);
}
.gate-unlock-sub {
  display: block;
  margin-top: .15rem;
  font-size: .78rem;
  color: var(--muted);
}
.gate-unlock-form {
  flex: 0 0 auto;
  margin: 0;
}
.gate-unlock-btn {
  display: inline-block;
  padding: .5rem .95rem;
  font: inherit;
  font-weight: 700;
  font-size: .85rem;
  color: #06231a;
  background: var(--grad-brand);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
}
.gate-unlock-btn:hover { filter: brightness(1.06); }
.gate-unlock-btn:focus-visible { outline: 2px solid var(--brand-3); outline-offset: 2px; }

/* Compact variant for tight rows (e.g. a single value cell). */
.gate-unlock.is-inline {
  display: inline-flex;
  margin: 0;
  padding: .3rem .5rem;
  gap: .4rem;
}
.gate-unlock.is-inline .gate-unlock-sub { display: none; }
.gate-unlock.is-inline .gate-unlock-btn { padding: .3rem .6rem; font-size: .76rem; }

/* ===== Owned-collection markers ===== */
.own-mark {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  color: var(--warn);
  font-size: .85em;
  line-height: 1;
  vertical-align: baseline;
}
.own-mark::before { content: "★"; }
/* Subtle owned-club marker (no star glyph in ::before, supplied inline). */
.own-team {
  color: var(--warn);
  font-size: .8em;
  line-height: 1;
  vertical-align: baseline;
}

/* Gild any element flagged as owned (player/club). Defensive: only applies
   when the .is-owned class is present, which views add only on a real match. */
.is-owned { position: relative; }
.predcard.is-owned,
.fixture-row.is-owned {
  border-color: var(--warn);
  box-shadow: 0 0 0 1px var(--warn) inset, var(--ring);
}
.screener-table tr.is-owned td { background: var(--brand-tint); }

/* Owned star used inside team labels on fixtures/predcards/screener. */
.own-star-mark {
  color: var(--warn);
  font-size: .9em;
  margin-left: .12rem;
  line-height: 1;
}
