/* ==========================================================================

   Main Fix Res Style Sheet:   style_FixRes-v2.css
   
   This & the specific Theme css file is called via Functions.php

   Base Overrides & Helpers
   
   ========================================================================== */

/* bump Enfold’s default 85% container up to 95% on phones */
@media (max-width: 768px) {
  .responsive #top #wrap_all .container {
    width: 95% !important;
    max-width: 95% !important;
  }
}

/* always-win helper class for competition headers */
.comp-header {
  background: #cccccc !important;
  color:      #003366 !important;
  text-align: left !important;
  padding-left: 1em;
}

/* short fixture details (mobile summary block) */
.fixtures__details--short {
  display: flex;
  justify-content: space-between;
  padding: 0.5em 1em;
  font-size: 0.9em;
  background: #f7f7f7;
}
.fixtures__short-date,
.fixtures__short-comp,
.fixtures__short-round {
  flex: 1;
  text-align: center;
}

/* “more…” link centering */
.fixtures__more {
  text-align: center;
}
.fixtures__more-link {
  display: inline-block;
}

/* force fixture-time text to white */
.fixtures__time {
  color: #fff !important;
}

/* --------------------------------------------------------------------------
   League Table
   ----------------------------------------------------------------------- */
.league-table {
  margin: 2em 0;
  font-family: Verdana, Arial, sans-serif;
}
.league-table__title {
  text-align: center;
  font-size: 1.5em;
  margin-bottom: 0.5em;
  color: #333;
}
.league-table__wrapper {
  overflow-x: auto !important;    /* make responsive again */
}
.league-table__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;             /* enforce fixed widths */
  min-width: 0 !important;         /* remove any earlier min-width */
}
.league-table__table th,
.league-table__table td {
  padding: 0.75em 1em;
  border: 1px solid #ddd;
  text-align: center;
}
.league-table__table thead th {
  background: #FFCA47;
  color: #fff;
  font-weight: 400;
  text-align: left;
  border-bottom: 1px solid #e1e7ec;
}
/* stripes */
.league-table__table tbody tr:nth-child(odd)  { background: #fff; }
.league-table__table tbody tr:nth-child(even) { background: #f0f0f0; }
/* column widths */
.league-table__table th:nth-child(1),
.league-table__table td:nth-child(1) { width: 8%;  } /* # */
.league-table__table th:nth-child(2),
.league-table__table td:nth-child(2) { width: 30%; } /* Team */
.league-table__table th:nth-child(n+3),
.league-table__table td:nth-child(n+3) { width: 7.75%; } /* others */
/* text align */
.league-table__table td.col-team,
.league-table__table th.col-team {
  text-align: left;
}
/* logo & link styles */
.league-table__logo {
  width: 24px;
  vertical-align: middle;
  margin-right: 0.5em;
}
.league-table__team {
  vertical-align: middle;
  text-decoration: none;
  color: #0000cc;
}
.league-table__team:hover {
  text-decoration: underline;
}
/* past-season names (span) stay grey and not-clickable */
span.league-table__team {
  color: #333 !important;
  font-weight: 500;
  text-decoration: none !important;
  cursor: default;
}

/* narrow-screen tweaks */
@media (max-width: 768px) {
  .league-table__table th,
  .league-table__table td {
    padding: 0.4em 0.5em;
    font-size: 0.85em;
  }
  .league-table__table th:nth-child(2),
  .league-table__table td:nth-child(2) {
    width: 40%;
  }
  .league-table__table th:nth-child(n+3),
  .league-table__table td:nth-child(n+3) {
    width: auto;
  }
}






/* --------------------------------------------------------------------------
   Fixtures & Results (desktop & mobile) — REVISED
   ----------------------------------------------------------------------- */

.fixtures {
  margin: 2em 0;
  font-family: Verdana, Arial, sans-serif;
}

.fixtures__title {
  text-align: center;
  font-size: 1.5em;
  margin-bottom: 0.5em;
  color: #333;
}

.fixtures__group {
  margin-bottom: 1.5em;
}

/* date & round headers */
.fixtures__header {
  padding: 0.75em 1em;
  text-align: center;
}
.fixtures__header--date {
  background: #FFCA47;
  color: #fff;
  font-size: 1em;
  font-weight: 700;
}
/* .comp-header (defined above) will override date colour with !important */

/* ---------------- Main fixture line ---------------- */
.fixtures__row{
  position: relative;
  padding: 0;                     /* padding lives on children */
  background: transparent;
  background-clip: padding-box;
  margin-bottom: 1em;
  overflow: visible;              /* no clipping of floated/abs logos */
}

/* Zebra striping on the ROW (not the children) */
.fixtures__row--even { background-color: rgba(0,0,0,.035); }
.fixtures__row--odd  { background-color: transparent; }

/* Keep children transparent so the stripe shows across the width */
.fixtures__item,
.fixtures__details { background: transparent; }

/* optional row divider */
.fixtures__row + .fixtures__row { border-top: 1px solid rgba(0,0,0,.06); }

/* main bar with teams + middle */
.fixtures__item {
  position: relative;            /* for inset logos */
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75em 2.5em;         /* extra side padding for inset logos */
}

/* inset logos on large screens */
.fixtures__logo--home {
  position: absolute;
  top: 50%; left: 1em;
  transform: translateY(-50%);
}
.fixtures__logo--away {
  position: absolute;
  top: 50%; right: 1em;
  transform: translateY(-50%);
}
.fixtures__logo { width: 32px; }

/* team blocks */
.fixtures__team {
  display: flex;
  align-items: center;
  flex: 1;
  font-weight: 700;
  color: #000;
  text-decoration: none;
}
.fixtures__team--home {
  justify-content: flex-end;
  text-align: right;
  margin-right: 1em;
}
.fixtures__team--away {
  justify-content: flex-start;
  text-align: left;
  margin-left: 1em;
}
.fixtures__name { white-space: nowrap; }

/* fixture names that shouldn’t link get this */
.fixtures__name.no-link {
  color: #333 !important;
  text-decoration: none !important;
  cursor: default;
}
/* real links */
a.fixtures__name { color: #0000cc; text-decoration: underline; }
a.fixtures__name:hover { text-decoration: none; }

/* middle: scores/time/status */
.fixtures__middle {
  display: flex;
  align-items: center;
  text-align: center;
  flex: 0 0 auto;
  gap: 0.5em;            /* spacing */
  flex-wrap: nowrap;     /* never wrap */
}

.fixtures__score {
  display: inline-block;
  padding: 0.3em 0.6em;
  border-radius: 3px;
  color: #fff;
  font-weight: 500;
}
.fixtures__score--winner { background: #7c9c27; }
.fixtures__score--loser  { background: #A3A3A3;   }    /* #666   #A3A3A3 */
.fixtures__score--draw   { background: #7c9c27; }
.fixtures__score--with-border { border: none !important; }

.fixtures__status--postponed {
  display: inline-block;
  padding: 0.3em 0.6em;
  background: #ccc;
  border-radius: 3px;
  font-weight: 600;
  margin: 0 0.3em;
}

/* time badge: consistent padding */
.fixtures__time {
  color: #fff !important;
  display: inline-block !important;
  padding: 0 0.4em !important;
}

/* ---------------- Details row + TV (spaced and responsive) -------------- */
.fixtures__details {
  padding: 0.35em 1em 0.8em;
  text-align: center;
  font-size: 0.95em;
  color: #333;
  line-height: 1.4;
  width: 100%;
  border-top: 0;
}

/* Meta chips row */
.fixtures__details--meta{
  display:flex;
  align-items:center;
  column-gap: 1rem;    /* space between chips */
  row-gap: .35rem;
  flex-wrap: wrap;       /* allow wrap on narrow screens so nothing crushes */
  padding: .2rem 0 .25rem;
  font-size: .95em;
}

.fixtures__meta-item{
  display:inline-flex;
  align-items:center;
  gap:.45rem;            /* icon ↔ text space */
  min-width:0;           /* allow ellipsis when needed */
}

/* subtle dot between chips (visible but light) */
.fixtures__meta-item + .fixtures__meta-item::before{
  content:"•";
  opacity:.2;
  margin-right:.1rem;
}

/* Icons (Font Awesome) inherit current color */
.fixtures__icon{
  font-size: 1em;
  line-height: 1;
}

/* === Fixtures rows: white / subtle grey, no blue === */

/* Put the stripe on the row itself */
.fixtures__row{
  background: #fff;                 /* base white */
  padding: .7rem 0 .55rem;          /* keep your spacing */
}

/* alternate stripe: soft off-white (tweak if you want lighter/darker) */
.fixtures__row--odd  { background: #f6f7f8; }   /* subtle grey */
.fixtures__row--even { background: #ffffff; }

/* ensure children stay transparent so the stripe shows across full width */
.fixtures__item,
.fixtures__details{
  background: transparent !important;
}

/* cancel any earlier row hover tint */
.fixtures__row:hover{
  background-color: inherit !important;
}

/* If you previously set backgrounds on item/details per stripe, null them */
.fixtures__row--odd .fixtures__item,
.fixtures__row--odd .fixtures__details,
.fixtures__row--even .fixtures__item,
.fixtures__row--even .fixtures__details{
  background: transparent !important;
}

/* Optional: a thin divider between rows for definition */
.fixtures__Xrow + .fixtures__Xrow{
  border-top: 1px solid rgba(0,0,0,.06);
}


/* === Details row: centered layout with comfortable spacing === */

.fixtures__details{
  text-align: center;               /* keep text centered for fallback */
}

.fixtures__details--meta{
  display: flex;
  align-items: center;
  justify-content: center;          /* <-- center the whole chip row */
  column-gap: .5rem;              /* comfortable spacing between chips */
  row-gap: .4rem;
  flex-wrap: wrap;                  /* can wrap if it needs to on small screens */
  padding: .45rem 0 .3rem;
  font-size: .95em;
}

/* chip internals */
.fixtures__meta-item{
  display: inline-flex;
  align-items: center;
  gap: .45rem;                      /* icon ↔ text space */
  min-width: 0;                     /* allow ellipsis when needed */
}

.fixtures__icon{
  font-size: 1em;
  line-height: 1; 
}

/* only long strings truncate; keep most text full */
.fixtures__meta-text{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}




/* === MOBILE: crest ABOVE team name, no overlap === */
@media (max-width: 768px){
  /* 3-column layout: home | middle | away */
  .fixtures__item{
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    column-gap: .6rem;
    row-gap: .25rem;
    padding: .55em .9em !important;      /* reduce side padding used for inset logos */
  }

  /* stack crest over name and center */
  .fixtures__team{
    display: flex !important;
    flex-direction: column !important;    /* crest on top, name underneath */
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  .fixtures__team--home{ justify-self: end !important; }
  .fixtures__team--away{ justify-self: start !important; }

  /* kill desktop absolute positioning for logos */
  .fixtures__logo,
  .fixtures__logo--home,
  .fixtures__logo--away{
    position: static !important;
    top: auto !important; left: auto !important; right: auto !important;
    transform: none !important;
    display: block !important;
    margin: 0 0 .28rem 0 !important;      /* space between crest and name */
    width: 30px !important;               /* 28–34px works; tweak to taste */
    height: auto !important;
  }

  /* name on its own line, truncate if needed */
  .fixtures__name{
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    line-height: 1.15 !important;
  }

  /* middle (time/scores) stays centered */
  .fixtures__middle{
    justify-self: center !important;
    overflow: visible !important;
  }
}


/* Time badge = same size as score pills */
.fixtures__middle .fixtures__time{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0.3em 0.6em !important;   /* same as .fixtures__score */
  border-radius: 3px !important;      /* same radius */
  font-weight: 500 !important;        /* same weight */
  line-height: 1 !important;
  /* colour still comes from inline style (per competition) */
  /* background set in PHP; keep text white for contrast */
  color: #fff !important;
}

/* keep consistent spacing between pills in the middle lane */
.fixtures__middle{
  gap: .5em;                          /* you already have this; leaving here for clarity */
}

/* optional: make postponed/status pills match pill shape too */
.fixtures__status--postponed{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3em 0.6em;
  border-radius: 3px;
  font-weight: 600;
  line-height: 1;
}



/* Generic header uses variables; falls back if not  provided */
.fixtures .fixtures__header{
  background: var(--hdr-bg, #FFCA47) !important;
  color:      var(--hdr-fg, #ffffff) !important;
}

/* If you want defaults without inline styles, set them here  c4c4c4  */
.fixtures .fixtures__header--date  { --hdr-bg:#2a3d54; --hdr-fg:#e1efff; }
.fixtures .fixtures__header--round { --hdr-bg:#d1d1d1; --hdr-fg:#2a3d54; }


/* Emphasise walkover winner pill */
.fixtures__score--wo { font-weight: 700; }
/* Optional: keep 'scr' at normal weight (or lighten if you like) */
.fixtures__score--scr { font-weight: 500; }
 
 
 
 
 /* Hide contents but keep the column width, so layout stays centred */
.fixtures__team--ghost { visibility: hidden; }

/* Optional: style for the bye pill (using time colour already) */
.fixtures__time--bye { /* extra tweaks if you want */ }