/* lc-sports.css — team pages + /teams/ hub + venue pages. Neutral white foundation.
   Per-subject brand color via --pri (hero band) and --acc (buttons / accent rules) ONLY.
   Everything else is white / near-white with hairline rules. Sharp corners (no radius). */
.lc-tm, .lc-teams-grid{
  --ink:#1a1a1a; --muted:#6b6b6b; --line:#e5e5e5;
  --chrome:"Montserrat",-apple-system,sans-serif; --serif:"PT Serif",Georgia,serif;
  font-family:var(--serif); color:var(--ink);
}

/* ---- HERO (the one branded band: uses the subject's --pri / image) ---- */
/* The navigation now sits ON this band, so the band owes it clearance. The padding is
   what holds the title clear of the menu; min-height rises with it so the photograph keeps
   its proportions rather than being squeezed by the new padding. */
.lc-tm-hero{background-size:cover;background-position:center;color:#fff;min-height:500px;
  display:flex;align-items:center;padding-top:88px}
.lc-tm-hero-in{max-width:1100px;margin:0 auto;padding:48px 34px;display:flex;align-items:center;gap:38px;width:100%}
.lc-tm-logo{width:190px;height:190px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 6px 20px rgba(0,0,0,.45))}
.lc-tm-eyebrow{font-family:var(--chrome);text-transform:uppercase;letter-spacing:3px;font-size:12px;font-weight:700;opacity:.92}
.lc-tm-name{font-family:var(--serif);font-weight:700;font-size:clamp(34px,5vw,60px);line-height:1.02;margin:8px 0 10px;color:#fff}
.lc-tm-sub{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;font-size:13px;opacity:.9;margin-bottom:22px}
.lc-tm-cta{display:flex;gap:12px;flex-wrap:wrap}
.lc-tm-btn{display:inline-block;padding:13px 26px;background:var(--acc);color:#10130f;border:0;border-radius:0;cursor:pointer;
  text-decoration:none;font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:700}
.lc-tm-btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.lc-tm-body .lc-tm-btn-ghost{color:var(--ink);border-color:var(--line)}

/* ---- FACTS BAR (white, hairline-separated cells — NOT a colored band) ---- */
.lc-tm-facts{background:#fff;color:var(--ink);display:flex;flex-wrap:wrap;justify-content:center;gap:2px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lc-tm-facts>div{flex:1 1 200px;text-align:center;padding:20px 18px;border-left:1px solid var(--line);
  font-family:var(--serif);font-size:15px}
.lc-tm-facts>div:first-child{border-left:0}
.lc-tm-facts span{display:block;font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;color:var(--muted);margin-bottom:5px}

/* ---- BODY ---- */
.lc-tm-body{padding-top:40px;padding-bottom:50px}
.lc-tm-about{font-size:19px;line-height:1.7;color:var(--ink);margin:0 0 38px;border-left:3px solid var(--acc);padding-left:20px}
.lc-tm-h{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;font-size:15px;font-weight:800;color:var(--ink);
  border-bottom:3px solid var(--acc);padding-bottom:10px;margin:0 0 6px;display:inline-block}
.lc-tm-h2{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px}

.lc-tm-games{margin-top:16px;border:1px solid var(--line);border-radius:0;overflow:hidden}
.lc-tm-game{display:grid;grid-template-columns:88px 1fr auto;gap:18px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.lc-tm-game:last-child{border-bottom:0}
.lc-tm-game:nth-child(odd){background:#fafafa}
.lc-tm-date{text-align:center;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:0;padding:8px 4px;line-height:1.1}
.lc-tm-date .dow{display:block;font-family:var(--chrome);font-size:10px;letter-spacing:1px;color:var(--muted)}
.lc-tm-date .md{display:block;font-family:var(--chrome);font-weight:800;font-size:15px;letter-spacing:.5px;color:var(--ink)}
.lc-tm-gtitle{font-family:var(--serif);font-size:19px;color:var(--ink)}
.lc-tm-gmeta{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1px;font-size:10px;color:var(--muted);margin-top:4px}
.lc-tm-btn-sm{padding:9px 16px;font-size:11px}
.lc-tm-empty{font-size:16px;color:var(--muted);padding:18px 0}

.lc-tm-venue{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:34px 0 0;
  background:#fff;border:1px solid var(--line);border-radius:0;padding:22px 24px}
.lc-tm-vname{font-family:var(--serif);font-size:22px;color:var(--ink)}

.lc-tm-follow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:30px 0 0}
.lc-tm-follow>span{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:var(--muted)}
.lc-tm-social{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:600;
  color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:0;padding:8px 16px}
.lc-tm-social:hover{background:var(--pri);color:#fff;border-color:var(--pri)}
.lc-tm-foot{margin-top:36px;display:flex;gap:12px;flex-wrap:wrap}

/* .lc-tm-btn-ghost is a HERO button — white text on a dark photo. The venue block, the group
   block and the page footer reuse it inside white cards, where white-on-white is invisible.
   Re-ink it whenever it appears in the body. */
.lc-tm-body .lc-tm-btn-ghost{color:var(--ink);border:2px solid var(--line)}
.lc-tm-body .lc-tm-btn-ghost:hover{background:var(--pri);color:#fff;border-color:var(--pri)}

/* ---- STATUS NOTICE (hiatus / not playing yet) ---- */
.lc-tm-notice{font-size:16px;line-height:1.65;color:var(--muted);background:#fafafa;
  border-left:3px solid var(--muted);padding:16px 20px;margin:0 0 34px}

/* ---- WEEKLY PROMOS ---- */
.lc-tm-weekly{margin:0 0 38px}
/* Hairlines are drawn per CELL, not by a gap over a grey background: an auto-fill grid whose
   last row is short would otherwise show the backdrop through the empty tracks as grey blanks. */
.lc-tm-weekly-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0;
  border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:10px}
.lc-tm-wk{background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:3px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.lc-tm-wk-day{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:800;color:var(--acc)}
.lc-tm-wk-name{font-family:var(--serif);font-size:17px;line-height:1.2;color:var(--ink)}
.lc-tm-wk-detail{font-size:14px;line-height:1.5;color:var(--muted)}

/* ---- SCHEDULE, GROUPED BY SERIES ---- */
.lc-tm-series-list{display:flex;flex-direction:column;gap:18px}
.lc-tm-series{border:1px solid var(--line);background:#fff}
.lc-tm-series-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  padding:14px 18px;border-bottom:1px solid var(--line);background:#fafafa}
.lc-tm-series-when{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;
  font-size:11px;font-weight:800;color:var(--acc);white-space:nowrap}
.lc-tm-series-who{font-family:var(--serif);font-size:21px;line-height:1.15;color:var(--ink)}
.lc-tm-series-count{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.5px;
  font-size:10px;font-weight:700;color:var(--muted);margin-left:9px}
.lc-tm-series-games{display:flex;flex-direction:column}
.lc-tm-slot{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
  padding:11px 18px;border-bottom:1px solid var(--line)}
.lc-tm-slot:last-child{border-bottom:0}
.lc-tm-slot-when{display:flex;align-items:baseline;gap:9px;font-family:var(--chrome);white-space:nowrap}
.lc-tm-slot-when .dow{text-transform:uppercase;letter-spacing:1.5px;font-size:10px;font-weight:700;color:var(--muted)}
.lc-tm-slot-when .md{text-transform:uppercase;letter-spacing:1px;font-size:13px;font-weight:800;color:var(--ink)}
.lc-tm-slot-when .tm{font-size:13px;color:var(--muted)}
.lc-tm-slot-buy{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.5px;font-size:11px;
  font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--acc);padding-bottom:2px}
.lc-tm-slot-buy:hover{background:var(--acc);color:#10130f}

/* ---- PROMO BADGES on a schedule row ---- */
.lc-tm-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.lc-tm-badge{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:700;
  color:var(--ink);text-decoration:none;background:#fff;border:1px solid var(--acc);padding:4px 9px}
.lc-tm-badge:hover{background:var(--acc);color:#10130f}

/* ---- TICKET LADDER ---- */
.lc-tm-ladder{border:1px solid var(--line);background:#fff}
.lc-tm-rung{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;
  padding:16px 18px;border-bottom:1px solid var(--line)}
.lc-tm-rung:last-child{border-bottom:0}
.lc-tm-rung:nth-child(odd){background:#fafafa}
.lc-tm-rung-name{font-family:var(--serif);font-size:19px;line-height:1.2;color:var(--ink)}
.lc-tm-rung-detail{font-size:14px;line-height:1.55;color:var(--muted);margin-top:3px}
.lc-tm-rung-price{font-family:var(--chrome);font-weight:800;font-size:21px;color:var(--ink);white-space:nowrap;text-align:right}
.lc-tm-rung-price span{display:block;text-transform:uppercase;letter-spacing:2px;font-size:9px;font-weight:700;color:var(--muted)}

/* ---- PREMIUM / BOXES ---- */
.lc-tm-premium{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.lc-tm-box{border:1px solid var(--line);border-top:4px solid var(--pri);background:#fff;padding:18px 20px}
.lc-tm-box-name{font-family:var(--serif);font-size:20px;line-height:1.2;color:var(--ink)}
.lc-tm-box-cap{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;font-size:10px;
  font-weight:700;color:var(--acc);margin-top:5px}
.lc-tm-box-inc{font-size:14px;line-height:1.6;color:var(--muted);margin-top:9px}
.lc-tm-box-price{font-family:var(--chrome);font-weight:800;font-size:18px;color:var(--ink);margin-top:10px}
.lc-tm-box-link{display:inline-block;margin-top:12px;font-family:var(--chrome);text-transform:uppercase;
  letter-spacing:1.5px;font-size:11px;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--acc);padding-bottom:2px}

/* ---- GROUP CTA ---- */
.lc-tm-group{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:34px 0 0;
  background:#fafafa;border:1px solid var(--line);padding:22px 24px}
.lc-tm-group-sub{font-family:var(--serif);font-size:19px;color:var(--ink)}

/* ---- /teams/ HUB ---- */
.lc-teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:24px;margin:12px 0}
.lc-team-card{display:block;border:1px solid var(--line);border-radius:0;overflow:hidden;text-decoration:none;
  color:var(--ink);background:#fff;transition:box-shadow .16s,transform .16s}
.lc-team-card:hover{box-shadow:0 12px 30px rgba(0,0,0,.12);transform:translateY(-3px)}
/* The whole surface treatment lives here rather than in the three templates that render this
   card, because the same inline expression was duplicated in all three and drifted out of step.
   A template now supplies only the photograph URL and the has-photo class.
   With no photograph the panel is lit from the top left instead of being a flat fill: a single
   flat rectangle of colour reads as a missing image rather than as a designed surface. */
.lc-team-card-top{height:150px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;
  position:relative;background-color:var(--pri);
  background-image:linear-gradient(158deg,
    color-mix(in srgb, var(--pri) 82%, #fff) 0%,
    var(--pri) 46%,
    color-mix(in srgb, var(--pri) 80%, #000) 100%)}
/* Over a photograph: a wash in the team's colour, then a softer pocket where the crest sits.
   The pocket is what allows the wash to be this light. Many of these banners are promotional
   graphics rather than photographs, carrying their own logotype and headline text at dead
   centre, which is exactly where the crest lands. So a uniform wash light enough to reveal a
   real photograph also makes a second, competing logo legible directly behind the first.
   Both layers sit in a pseudo-element so the inline style stays a single URL. */
.lc-team-card-top.has-photo::before{content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 54% 70% at 50% 46%, rgba(0,0,0,.5), rgba(0,0,0,.22) 52%, transparent 76%),
    linear-gradient(color-mix(in srgb, var(--pri) 55%, transparent),
                    color-mix(in srgb, var(--pri) 85%, transparent))}
/* The tight halo separates the crest from whatever sits behind it; the offset shadow gives lift. */
.lc-team-card-top img{max-width:118px;max-height:104px;object-fit:contain;position:relative;z-index:1;
  filter:drop-shadow(0 0 12px rgba(0,0,0,.5)) drop-shadow(0 5px 14px rgba(0,0,0,.45))}
.lc-team-card-body{padding:16px 18px;border-top:4px solid var(--acc)}
.lc-team-card-eyebrow{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;color:var(--acc)}
.lc-team-card-name{font-family:var(--serif);font-size:22px;margin:5px 0 6px;line-height:1.15;color:var(--ink)}
.lc-team-card-next{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1px;font-size:11px;color:var(--muted)}

@media(max-width:720px){
  /* Deeper on a phone: the storm ribbon rides inside the header and wraps at this width,
     so the worst-case header is taller than the desktop one. */
  .lc-tm-hero{padding-top:118px;min-height:440px}
  .lc-tm-hero-in{flex-direction:column;text-align:center;gap:20px;padding:38px 22px}
  .lc-tm-logo{width:130px;height:130px}
  .lc-tm-cta{justify-content:center}
  .lc-tm-game{grid-template-columns:64px 1fr;gap:12px}
  .lc-tm-game .lc-tm-btn-sm{grid-column:2;justify-self:start}
  .lc-tm-venue{flex-direction:column;align-items:flex-start}
  /* the ladder's three columns do not survive 414px — stack, and let the button take its own row */
  .lc-tm-rung{grid-template-columns:1fr auto;gap:10px}
  .lc-tm-rung-price{text-align:left;font-size:18px}
  .lc-tm-rung .lc-tm-btn-sm{grid-column:1/-1;justify-self:start}
  .lc-tm-group{flex-direction:column;align-items:flex-start}
  .lc-tm-weekly-grid{grid-template-columns:1fr}
  /* a slot is date + badges + buy; at 414px the badges take their own row */
  .lc-tm-slot{grid-template-columns:1fr auto;gap:8px}
  .lc-tm-slot .lc-tm-badges{grid-column:1/-1;order:3}
  /* The cards sit two to a row at this width, so the team name has a neighbour to line up with.
     Carrying the wide type down into a 135px column, the eyebrow ran to one, two or three lines
     depending on the length of the league name — 16, 33 or 49px — which started the name at 142,
     159 or 175px from the top of the card. Three starting heights in a two-up grid is what makes
     a pair read ragged.
     Tracking alone does not fix it: at 10px with 1px two labels still take three lines. At 9px
     with 0.8px all of them fit in one or two, so reserving the taller of the two costs at most
     14px on the short ones instead of 33px, and every name starts at 155px. */
  .lc-team-card-eyebrow{font-size:9px;letter-spacing:.8px;min-height:29px}
}

/* ================= THEME NIGHT FINDER (/sports/theme-nights/) ================= */
.lc-tn{--ink:#1a1a1a;--muted:#6b6b6b;--line:#e5e5e5;--acc:#b8863b;--pri:#1d2721;
  --chrome:"Montserrat",-apple-system,sans-serif;--serif:"PT Serif",Georgia,serif;
  font-family:var(--serif);color:var(--ink)}
.lc-tn-facets{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
.lc-tn-chip{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.2px;font-size:11px;
  font-weight:700;color:var(--ink);text-decoration:none;border:1px solid var(--line);
  padding:9px 15px;background:#fff;display:inline-flex;align-items:center;gap:7px}
.lc-tn-chip span{color:var(--muted);font-weight:600}
.lc-tn-chip:hover{border-color:var(--pri)}
.lc-tn-chip.is-on{background:var(--pri);color:#fff;border-color:var(--pri)}
.lc-tn-chip.is-on span{color:rgba(255,255,255,.72)}
.lc-tn-month{font-family:var(--chrome);text-transform:uppercase;letter-spacing:3px;font-size:12px;
  font-weight:800;color:var(--muted);margin:30px 0 10px;padding-bottom:8px;border-bottom:2px solid var(--acc)}
.lc-tn-month:first-child{margin-top:0}
.lc-tn-row{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:start;
  padding:18px 0;border-bottom:1px solid var(--line)}
.lc-tn-when{font-family:var(--chrome);text-align:center;line-height:1.05;padding-top:2px}
.lc-tn-when .dow{display:block;font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}
.lc-tn-when .dd{display:block;font-size:27px;font-weight:800;color:var(--ink)}
.lc-tn-when .mo{display:block;font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--acc)}
.lc-tn-name{font-family:var(--serif);font-size:23px;line-height:1.2}
.lc-tn-game{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.2px;font-size:11px;
  color:var(--muted);margin-top:4px}
.lc-tn-detail{font-size:16px;line-height:1.6;color:var(--ink);margin-top:7px}
.lc-tn-give{font-family:var(--chrome);font-size:12px;font-weight:700;letter-spacing:.6px;
  color:#10130f;background:#f6efe2;border-left:3px solid var(--acc);padding:7px 11px;margin-top:9px;display:inline-block}
.lc-tn-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;
  font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.2px;font-size:10px;color:var(--muted)}
.lc-tn-tag{font-weight:700;color:var(--ink);text-decoration:none;border:1px solid var(--line);padding:3px 8px}
.lc-tn-tag:hover{background:var(--acc);color:#10130f;border-color:var(--acc)}
.lc-tn-buy{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.5px;font-size:11px;
  font-weight:700;color:#10130f;background:var(--acc);text-decoration:none;padding:10px 18px;white-space:nowrap}
.lc-tn-empty{font-size:17px;color:var(--muted);padding:22px 0}
@media(max-width:720px){
  .lc-tn-row{grid-template-columns:52px 1fr;gap:12px}
  .lc-tn-buy{grid-column:2;justify-self:start;margin-top:10px}
  .lc-tn-when .dd{font-size:23px}
}

/* ================= /sports/ HUB ================= */
.lc-sp{--ink:#1a1a1a;--muted:#6b6b6b;--line:#e5e5e5;--acc:#b8863b;--pri:#1d2721;
  --chrome:"Montserrat",-apple-system,sans-serif;--serif:"PT Serif",Georgia,serif;
  font-family:var(--serif);color:var(--ink)}
.lc-sp-sec{margin:0 0 54px}
.lc-sp-h{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;font-size:15px;
  font-weight:800;color:var(--ink);border-bottom:3px solid var(--acc);padding-bottom:10px;
  margin:0 0 6px;display:inline-block}
.lc-sp-lede{font-size:17px;line-height:1.6;color:var(--muted);margin:12px 0 18px}
.lc-sp-more{margin-top:16px;font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.5px;
  font-size:11px;font-weight:700}
.lc-sp-more a{color:var(--ink);text-decoration:none;border-bottom:2px solid var(--acc);padding-bottom:2px}

.lc-sp-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:0;
  border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:18px}
.lc-sp-game{display:grid;grid-template-columns:58px 40px 1fr;gap:13px;align-items:center;
  padding:14px 16px;text-decoration:none;color:var(--ink);background:#fff;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.lc-sp-game:hover{background:#fafafa}
.lc-sp-game-date{font-family:var(--chrome);text-align:center;line-height:1.15;font-weight:800;
  font-size:13px;color:var(--ink);border-right:2px solid var(--pri);padding-right:9px}
.lc-sp-game-date span{display:block;font-size:9px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}
.lc-sp-game-logo{width:40px;height:40px;object-fit:contain}
.lc-sp-game-title{font-family:var(--serif);font-size:16px;line-height:1.25}
.lc-sp-game-meta{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1px;font-size:10px;
  color:var(--muted);margin-top:3px}
.lc-sp-game-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.lc-sp-game-badges span{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1px;
  font-size:9px;font-weight:700;border:1px solid var(--acc);padding:2px 6px}

.lc-sp-promos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.lc-sp-promo{display:block;text-decoration:none;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-top:4px solid var(--acc);padding:16px 18px}
.lc-sp-promo:hover{box-shadow:0 10px 26px rgba(0,0,0,.1)}
.lc-sp-promo-date{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;
  font-size:10px;font-weight:800;color:var(--acc)}
.lc-sp-promo-name{font-family:var(--serif);font-size:20px;line-height:1.2;margin-top:6px}
.lc-sp-promo-detail{font-size:14px;line-height:1.55;color:var(--muted);margin-top:7px}

.lc-sp-venues{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.lc-sp-venue{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.2px;font-size:11px;
  font-weight:700;color:var(--ink);text-decoration:none;border:1px solid var(--line);padding:11px 17px;background:#fff}
.lc-sp-venue:hover{background:var(--pri);color:#fff;border-color:var(--pri)}
@media(max-width:720px){
  .lc-sp-game{grid-template-columns:52px 34px 1fr;gap:10px;padding:12px 14px}
  .lc-sp-game-logo{width:34px;height:34px}
}

/* ================= SEAT MAPS ================= */
.lc-sm{--ink:#1a1a1a;--muted:#6b6b6b;--line:#e5e5e5;--acc:#b8863b;
  --chrome:"Montserrat",-apple-system,sans-serif;--serif:"PT Serif",Georgia,serif;
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,1fr);gap:28px;
  align-items:start;margin-top:18px;font-family:var(--serif);color:var(--ink)}
.lc-sm-figure{background:#fafafa;border:1px solid var(--line);padding:10px}
.lc-sm-figure svg{display:block;width:100%;height:auto}
.lc-sm-surface{fill:#e8efe6;stroke:#cfdcc9;stroke-width:2}
.lc-sm-infield{fill:#dfe8db;stroke:#cfdcc9;stroke-width:2}
.lc-sm-line{stroke:#cfdcc9;stroke-width:2;fill:none}
.lc-sm-surface-label{font-family:"Montserrat",sans-serif;font-size:15px;font-weight:800;
  letter-spacing:3px;fill:#9fb298}
.lc-sm-zone-shape{stroke:#fff;stroke-width:2;opacity:.86;transition:opacity .12s}
.lc-sm-zone-shape.is-interactive{cursor:pointer}
.lc-sm.is-focused .lc-sm-zone-shape{opacity:.3}
.lc-sm .lc-sm-zone-shape.is-active{opacity:1}

.lc-sm-zones{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.lc-sm-zone{padding:12px 12px;border-bottom:1px solid var(--line);outline:0;cursor:default}
.lc-sm-zone.is-active{background:#fafafa;box-shadow:inset 3px 0 0 var(--acc)}
.lc-sm-zone-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.lc-sm-swatch{width:11px;height:11px;flex:0 0 auto;align-self:center;border-radius:2px}
.lc-sm-zone-name{font-family:var(--serif);font-size:17px;line-height:1.2}
.lc-sm-zone-price{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.2px;
  font-size:10px;font-weight:800;color:var(--acc);margin-left:auto;white-space:nowrap}
.lc-sm-zone-advice{font-size:14.5px;line-height:1.6;color:var(--muted);margin-top:5px}
.lc-sm-note{grid-column:1/-1;font-size:13px;line-height:1.6;color:var(--muted);
  border-left:3px solid var(--line);padding-left:14px;margin:4px 0 0}
@media(max-width:860px){
  .lc-sm{grid-template-columns:1fr;gap:18px}
}

/* ================= BOXES & HOSPITALITY INDEX ================= */
.lc-bx{--ink:#1a1a1a;--muted:#6b6b6b;--line:#e5e5e5;--acc:#b8863b;--pri:#1d2721;
  --chrome:"Montserrat",-apple-system,sans-serif;--serif:"PT Serif",Georgia,serif;
  font-family:var(--serif);color:var(--ink)}
.lc-bx-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fafafa;
  border:1px solid var(--line);padding:16px 18px;margin:0 0 26px}
.lc-bx-filter label{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;
  font-size:11px;font-weight:800;color:var(--ink)}
.lc-bx-filter input{font-family:var(--chrome);font-size:16px;font-weight:700;width:110px;
  padding:9px 12px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink)}
.lc-bx-filter input:focus{outline:2px solid var(--acc);outline-offset:-1px}
.lc-bx-clear{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.2px;font-size:10px;
  font-weight:700;background:#fff;border:1px solid var(--line);padding:8px 13px;cursor:pointer;color:var(--ink)}
.lc-bx-count{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.5px;font-size:11px;
  font-weight:700;color:var(--muted);margin-left:auto}
.lc-bx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:20px}
.lc-bx-card{display:flex;flex-direction:column;border:1px solid var(--line);border-top:4px solid var(--pri);
  background:#fff;padding:16px 18px 18px}
.lc-bx-card[hidden]{display:none}
.lc-bx-org{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.lc-bx-org img{width:26px;height:26px;object-fit:contain;flex:0 0 auto}
.lc-bx-org a{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.2px;font-size:10px;
  font-weight:700;color:var(--muted);text-decoration:none}
.lc-bx-org a:hover{color:var(--ink)}
.lc-bx-name{font-family:var(--serif);font-size:21px;line-height:1.2}
.lc-bx-cap{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1.5px;font-size:10px;
  font-weight:800;color:var(--acc);margin-top:5px}
.lc-bx-inc{font-size:14px;line-height:1.6;color:var(--muted);margin-top:9px}
.lc-bx-foot{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:12px;
  padding-top:10px;border-top:1px solid var(--line)}
.lc-bx-venue{font-family:var(--chrome);text-transform:uppercase;letter-spacing:1px;font-size:10px;color:var(--muted)}
.lc-bx-price{font-family:var(--chrome);font-weight:800;font-size:14px;color:var(--ink);margin-left:auto}
.lc-bx-link{display:inline-block;margin-top:12px;font-family:var(--chrome);text-transform:uppercase;
  letter-spacing:1.5px;font-size:11px;font-weight:700;color:var(--ink);text-decoration:none;
  border-bottom:2px solid var(--acc);padding-bottom:2px;align-self:flex-start}
.lc-bx-empty{font-size:17px;line-height:1.6;color:var(--muted);padding:26px 0}
@media(max-width:720px){ .lc-bx-count{margin-left:0;width:100%} }

/* ================= GAME DAY ================= */
.lc-gd{margin-top:18px}
.lc-gd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;
  border-top:1px solid var(--line);border-left:1px solid var(--line)}
.lc-gd-fact{background:#fff;padding:15px 17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.lc-gd-fact-label{font-family:var(--chrome);text-transform:uppercase;letter-spacing:2px;
  font-size:10px;font-weight:800;color:var(--acc);margin-bottom:6px}
.lc-gd-fact-text{font-size:15px;line-height:1.6;color:var(--ink)}
.lc-gd-eat{margin-top:26px}
.lc-gd-eat-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0;
  border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:8px}
.lc-gd-eat-item{display:block;background:#fff;padding:12px 15px;text-decoration:none;color:var(--ink);
  border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.lc-gd-eat-item:hover{background:#fafafa}
.lc-gd-eat-name{display:block;font-family:var(--serif);font-size:17px;line-height:1.2}
.lc-gd-eat-meta{display:block;font-family:var(--chrome);text-transform:uppercase;letter-spacing:1px;
  font-size:10px;color:var(--muted);margin-top:4px}
.lc-gd-note{font-size:13px;line-height:1.6;color:var(--muted);border-left:3px solid var(--line);
  padding-left:14px;margin:18px 0 0}

/* ---- cross-sell rails under the theme night finder ---- */
.lc-tn-rails{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:38px}
.lc-tn-rail{display:block;text-decoration:none;color:var(--ink);background:#fafafa;
  border:1px solid var(--line);border-left:4px solid var(--acc);padding:18px 20px}
.lc-tn-rail:hover{background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.09)}
.lc-tn-rail-title{display:block;font-family:var(--serif);font-size:20px;line-height:1.2}
.lc-tn-rail-text{display:block;font-size:14.5px;line-height:1.6;color:var(--muted);margin-top:7px}
