/*
 * TC V1A.2 visual correction.
 *
 * Narrow child stylesheet.
 *
 * Does NOT replace the accepted Membership presentation.
 */

/* ======================================================================== */
/* HOMEPAGE PARTNER STRIP                                                   */
/* ======================================================================== */

.tc-home-partner-strip {
  margin:
    22px 0 8px;

  padding:
    18px 20px;

  display:
    grid;

  grid-template-columns:
    minmax(0, 1fr)
    auto;

  align-items:
    center;

  gap:
    22px;

  border:
    1px solid rgba(194, 148, 25, .28);

  border-radius:
    18px;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #fbfcfa 55%,
      #f5fbfc
    );

  box-shadow:
    0 12px 30px rgba(20, 38, 46, .055);
}

.tc-home-partner-strip-copy {
  display:
    grid;

  gap:
    5px;
}

.tc-home-partner-strip-copy span {
  color:
    #8f6a0e;

  font-size:
    .69rem;

  font-weight:
    850;

  letter-spacing:
    .11em;

  text-transform:
    uppercase;
}

.tc-home-partner-strip-copy strong {
  color:
    #202f35;

  font-size:
    1.05rem;
}

.tc-home-partner-strip-copy p {
  margin:
    0;

  color:
    #68777d;

  font-size:
    .78rem;
}

.tc-home-partner-strip
#stackedBarrelsCard {
  min-height:
    0 !important;

  width:
    min(280px, 30vw);

  height:
    auto !important;

  grid-column:
    2 !important;

  grid-row:
    1 !important;

  align-self:
    center !important;

  padding:
    4px 8px !important;

  display:
    flex !important;

  align-items:
    center;

  justify-content:
    center;

  border:
    0 !important;

  background:
    transparent !important;

  box-shadow:
    none !important;
}

.tc-home-partner-strip
#stackedBarrelsCard
h3,

.tc-home-partner-strip
#stackedBarrelsCard
p,

.tc-home-partner-strip
#stackedBarrelsCard
.pill,

.tc-home-partner-strip
#stackedBarrelsCard
.route-kicker,

.tc-home-partner-strip
#stackedBarrelsCard
.route-action {
  display:
    none !important;
}

.tc-home-partner-strip
#stackedBarrelsCard
img {
  max-width:
    260px;

  max-height:
    84px;

  object-fit:
    contain;

  border-radius:
    9px;

  mix-blend-mode:
    multiply;
}

/* ======================================================================== */
/* PLAYER HUB                                                              */
/* ======================================================================== */

body.tc-player-hub-v101 {
  margin:
    0;

  min-height:
    100vh;

  background:
    radial-gradient(
      circle at top right,
      rgba(28, 163, 179, .06),
      transparent 34%
    ),
    #f8fafb;

  color:
    #1f3037;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

.tc-player-hub-v101-main {
  width:
    min(1100px, calc(100% - 32px));

  margin:
    0 auto;

  padding:
    28px 0 50px;
}

.tc-player-hub-v101-heading {
  padding:
    24px 26px;

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    24px;

  border:
    1px solid rgba(194,148,25,.26);

  border-radius:
    20px;

  background:
    linear-gradient(
      140deg,
      #fff,
      #f7fbfc
    );

  box-shadow:
    0 12px 34px rgba(20,40,48,.06);
}

.tc-player-hub-v101-heading-copy {
  min-width:
    0;
}

.tc-player-hub-v101-kicker {
  display:
    block;

  margin-bottom:
    5px;

  color:
    #8e6910;

  font-size:
    .69rem;

  font-weight:
    850;

  letter-spacing:
    .11em;

  text-transform:
    uppercase;
}

.tc-player-hub-v101-heading h1 {
  margin:
    0;

  color:
    #17262d;

  font-size:
    clamp(1.75rem, 4vw, 2.65rem);

  letter-spacing:
    -.035em;
}

.tc-player-hub-v101-heading p {
  max-width:
    650px;

  margin:
    7px 0 0;

  color:
    #66777e;

  font-size:
    .91rem;

  line-height:
    1.55;
}

.tc-player-hub-v101-badge {
  flex:
    0 0 auto;

  padding:
    8px 12px;

  border:
    1px solid rgba(26,158,173,.25);

  border-radius:
    999px;

  background:
    rgba(26,158,173,.07);

  color:
    #26717a;

  font-size:
    .72rem;

  font-weight:
    800;
}

.tc-player-hub-v101-grid {
  margin-top:
    15px;

  display:
    grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap:
    12px;
}

.tc-player-hub-v101-card {
  min-height:
    128px;

  padding:
    18px 20px;

  display:
    grid;

  grid-template-columns:
    44px
    minmax(0, 1fr)
    auto;

  align-items:
    center;

  gap:
    14px;

  border:
    1px solid rgba(39,63,72,.11);

  border-radius:
    16px;

  background:
    #fff;

  color:
    #1f3037;

  text-decoration:
    none;

  box-shadow:
    0 9px 25px rgba(20,40,48,.045);

  transition:
    transform .15s ease,
    border-color .15s ease;
}

.tc-player-hub-v101-card:hover {
  transform:
    translateY(-2px);

  border-color:
    rgba(194,148,25,.43);
}

.tc-player-hub-v101-icon {
  width:
    44px;

  height:
    44px;

  display:
    grid;

  place-items:
    center;

  border-radius:
    13px;

  background:
    linear-gradient(
      145deg,
      rgba(194,148,25,.12),
      rgba(26,158,173,.08)
    );

  color:
    #8d6911;

  font-size:
    .95rem;

  font-weight:
    900;
}

.tc-player-hub-v101-card-copy {
  min-width:
    0;
}

.tc-player-hub-v101-card-copy span {
  display:
    block;

  margin-bottom:
    3px;

  color:
    #967116;

  font-size:
    .65rem;

  font-weight:
    850;

  letter-spacing:
    .09em;

  text-transform:
    uppercase;
}

.tc-player-hub-v101-card-copy strong {
  display:
    block;

  color:
    #1d2e35;

  font-size:
    1.02rem;
}

.tc-player-hub-v101-card-copy p {
  margin:
    4px 0 0;

  color:
    #687980;

  font-size:
    .76rem;

  line-height:
    1.4;
}

.tc-player-hub-v101-arrow {
  color:
    #199eae;

  font-size:
    1.05rem;

  font-weight:
    900;
}

.tc-player-hub-v101-tools {
  margin-top:
    14px;

  display:
    flex;

  flex-wrap:
    wrap;

  gap:
    8px;
}

.tc-player-hub-v101-tools a {
  padding:
    9px 12px;

  border:
    1px solid rgba(39,63,72,.11);

  border-radius:
    999px;

  background:
    #fff;

  color:
    #43545b;

  text-decoration:
    none;

  font-size:
    .72rem;

  font-weight:
    750;
}

/* ======================================================================== */
/* MATCH SUBMIT                                                            */
/* ======================================================================== */

body.tc-match-player-simple
.match-page {
  padding-top:
    18px;
}

body.tc-match-player-simple
.match-page-heading {
  display:
    none !important;
}

body.tc-match-player-simple
.match-access-status:empty {
  display:
    none !important;
}

/*
 * Exact technical-format container is marked by JS.
 * Never hide an ancestor merely because it contains
 * #matchStructure somewhere below it.
 */
body.tc-match-player-simple
.tc-match-technical-format {
  display:
    none !important;
}

body.tc-match-player-simple
section:has(#matchOpponentId) {
  padding:
    16px !important;

  border:
    1px solid rgba(194,148,25,.25) !important;

  border-radius:
    16px !important;

  background:
    #fff !important;
}

body.tc-match-player-simple
section:has(#matchOpponentId)
> header {
  display:
    none !important;
}

body.tc-match-player-simple
label:has(#matchOpponentId) {
  display:
    block !important;

  grid-column:
    1 / -1;
}

body.tc-match-player-simple
#matchOpponentId {
  width:
    100%;

  min-height:
    48px;
}

.tc-match-opponent-search {
  margin-bottom:
    9px;
}

.tc-match-opponent-search label {
  display:
    block;

  margin-bottom:
    5px;

  color:
    #85620f;

  font-size:
    .68rem;

  font-weight:
    850;

  letter-spacing:
    .09em;

  text-transform:
    uppercase;
}

.tc-match-opponent-search input {
  width:
    100%;

  min-height:
    44px;

  box-sizing:
    border-box;

  padding:
    8px 12px;

  border:
    1px solid rgba(43,65,74,.17);

  border-radius:
    10px;

  background:
    #fff;

  color:
    #24363d;

  font:
    inherit;
}

.tc-freeplay-format-switch {
  margin:
    12px 0 14px;

  padding:
    14px;

  border:
    1px solid rgba(194,148,25,.24);

  border-radius:
    16px;

  background:
    linear-gradient(
      145deg,
      #fff,
      #f8fbfc
    );
}

.tc-freeplay-format-switch-title {
  margin-bottom:
    9px;

  color:
    #85620f;

  font-size:
    .68rem;

  font-weight:
    850;

  letter-spacing:
    .09em;

  text-transform:
    uppercase;
}

.tc-freeplay-format-buttons {
  display:
    grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap:
    8px;
}

.tc-freeplay-format-button {
  min-height:
    62px;

  padding:
    9px 12px;

  border:
    1px solid rgba(43,65,74,.14);

  border-radius:
    12px;

  background:
    #fff;

  color:
    #283a41;

  cursor:
    pointer;

  font:
    inherit;

  text-align:
    left;
}

.tc-freeplay-format-button strong,
.tc-freeplay-format-button span {
  display:
    block;
}

.tc-freeplay-format-button strong {
  font-size:
    .91rem;
}

.tc-freeplay-format-button span {
  margin-top:
    3px;

  color:
    #718087;

  font-size:
    .7rem;
}

.tc-freeplay-format-button.is-active {
  border-color:
    rgba(194,148,25,.68);

  background:
    linear-gradient(
      145deg,
      #fffaf0,
      #f4fbfc
    );

  box-shadow:
    inset 0 0 0 1px rgba(194,148,25,.10);
}

body.tc-match-player-simple
.match-player-panel
header > span {
  display:
    none !important;
}

body.tc-match-player-simple
.tc-v1a2-set-panel {
  margin:
    0 0 14px !important;

  order:
    initial;
}

body.tc-match-player-simple.tc-freeplay-sets
label:has(#submitterLegsWon),

body.tc-match-player-simple.tc-freeplay-sets
label:has(#opponentLegsWon) {
  display:
    none !important;
}

@media (max-width: 720px) {
  .tc-home-partner-strip {
    grid-template-columns:
      1fr;
  }

  .tc-home-partner-strip
  #stackedBarrelsCard {
    width:
      100%;

    grid-column:
      1 !important;

    grid-row:
      auto !important;
  }

  .tc-player-hub-v101-main {
    width:
      min(100% - 20px, 1100px);
  }

  .tc-player-hub-v101-heading {
    display:
      block;
  }

  .tc-player-hub-v101-badge {
    display:
      inline-flex;

    margin-top:
      12px;
  }

  .tc-player-hub-v101-grid {
    grid-template-columns:
      1fr;
  }

  .tc-player-hub-v101-card {
    min-height:
      104px;

    grid-template-columns:
      40px
      minmax(0, 1fr)
      auto;

    padding:
      15px;
  }

  .tc-freeplay-format-buttons {
    grid-template-columns:
      1fr;
  }
}
