:root{--poster-width:1024;--poster-height:1536}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#07101f}
body{margin:0;min-width:320px;background:#07101f;font-family:Arial,Helvetica,sans-serif}
.poster{position:relative;width:min(100vw,1024px);margin:0 auto;aspect-ratio:2/3;overflow:hidden;background:#fff;box-shadow:0 0 40px rgba(0,0,0,.45)}
.poster-art{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill;user-select:none;-webkit-user-drag:none}
.hotspot,.card-hotspot{position:absolute;z-index:5;display:block;border:0;background:transparent;outline:none;cursor:pointer}
.hotspot:focus-visible,.card-hotspot:focus-visible{box-shadow:inset 0 0 0 4px rgba(255,191,0,.9);border-radius:8px}
.view-leagues{left:1.95%;top:17.78%;width:21.2%;height:3.15%}
.join-league{left:24.63%;top:17.78%;width:20.8%;height:3.15%}
.calendar-events{left:76.72%;top:63.52%;width:20.2%;height:4.45%}
.anchor{position:absolute;left:0;width:1px;height:1px;pointer-events:none}.anchor-join{top:81%}
.card-hotspot{border-radius:8px}
.c1{left:2.1%;top:24.0%;width:17.3%;height:20.0%}.c2{left:20.2%;top:24.0%;width:17.2%;height:20.0%}.c3{left:38.5%;top:24.0%;width:19.3%;height:20.0%}.c4{left:58.8%;top:24.0%;width:19.0%;height:20.0%}.c5{left:79.2%;top:24.0%;width:18.6%;height:20.0%}
.c6{left:2.1%;top:44.45%;width:15.5%;height:18.0%}.c7{left:17.6%;top:44.45%;width:16.5%;height:18.0%}.c8{left:34.1%;top:44.45%;width:14.5%;height:18.0%}.c9{left:50.0%;top:44.45%;width:16.2%;height:18.0%}.c10{left:66.2%;top:44.45%;width:16.0%;height:18.0%}.c11{left:82.2%;top:44.45%;width:15.6%;height:18.0%}
.league-calendar-hotspot{left:2.2%;top:80.15%;width:32.2%;height:16.4%}
.schedule-dialog{width:min(920px,94vw);max-height:90vh;padding:0;border:0;border-radius:14px;background:#fff;box-shadow:0 24px 80px #0009;color:#07162f}
.schedule-dialog::backdrop{background:rgba(4,12,28,.78)}
.dialog-shell{padding:18px}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:3px solid #0a2048;padding-bottom:11px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:1.6px;color:#b50d15}.dialog-head h2{margin:2px 0 3px;font-size:29px;color:#0a2048}.dialog-head p{margin:0;font-size:12px}.close-dialog{width:38px;height:38px;border-radius:50%;border:0;background:#b50d15;color:#fff;font-size:28px;line-height:1;cursor:pointer}.dialog-toolbar{display:grid;grid-template-columns:42px 1fr 42px auto;align-items:center;gap:8px;margin:14px 0}.dialog-toolbar button{height:34px;border:1px solid #153679;border-radius:6px;background:#fff;color:#153679;font-weight:900;cursor:pointer}.dialog-toolbar strong{text-align:center;font-size:17px}.dialog-toolbar .show-all{padding:0 13px;background:#0a2048;color:#fff}.live-calendar{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #cfd4dc;border-radius:8px;overflow:hidden}.live-calendar .head{background:#071b42;color:#fff;text-align:center;padding:7px 2px;font-weight:900;font-size:11px}.live-calendar .day{min-height:78px;border-right:1px solid #d8dde5;border-top:1px solid #d8dde5;padding:5px;font-size:11px}.live-calendar .day:nth-child(7n){border-right:0}.day.muted{background:#f4f5f7;color:#999}.date-num{font-weight:900;margin-bottom:4px}.event-chip{display:block;margin:2px 0;padding:2px 4px;border-radius:4px;color:#fff;font-size:9px;font-weight:800;line-height:1.25;white-space:normal}.blackout{background:#111!important;color:#fff!important}.schedule-summary{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;font-size:11px}.summary-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted #bbc2cc;padding:4px 0}.summary-row b{color:#0a2048}.dialog-note{margin-top:12px;padding:9px 11px;border-radius:7px;background:#f5f0df;font-size:11px;line-height:1.45}.dialog-note code{font-weight:800}
@media(max-width:700px){.poster{width:100vw;box-shadow:none}.schedule-summary{grid-template-columns:1fr}.live-calendar .day{min-height:62px;padding:3px}.event-chip{font-size:7.5px}.dialog-toolbar{grid-template-columns:38px 1fr 38px}.dialog-toolbar .show-all{grid-column:1/-1}}

/* Remove the printed "VIEW FULL CALENDAR OF EVENTS" button from the League Calendar panel. */
.poster::after{
  content:"";
  position:absolute;
  z-index:4;
  left:6.05%;
  top:82.63%;
  width:23.7%;
  height:1.55%;
  background:#fffdfa;
  pointer-events:none;
}

/* ============================================================
   INLINE INTERACTIVE CALENDAR + CURRENT STANDINGS HOTSPOTS
   ============================================================ */
.standings-hotspot{
  position:absolute;
  z-index:9;
  display:block;
  background:transparent;
  border:0;
  cursor:pointer;
  border-radius:4px;
}
.standings-hotspot:focus-visible{box-shadow:inset 0 0 0 3px rgba(255,191,0,.95)}
/* Top-row Current Standings buttons */
.s1{left:2.8%;top:41.75%;width:15.4%;height:1.75%}
.s2{left:21.0%;top:41.75%;width:15.5%;height:1.75%}
.s3{left:39.4%;top:41.75%;width:17.5%;height:1.75%}
.s4{left:59.7%;top:41.75%;width:17.1%;height:1.75%}
.s5{left:80.0%;top:41.75%;width:17.0%;height:1.75%}
/* Weekend Current Standings buttons */
.s6{left:2.8%;top:60.10%;width:13.8%;height:1.55%}
.s7{left:18.4%;top:60.10%;width:14.8%;height:1.55%}
.s8{left:34.9%;top:60.10%;width:12.8%;height:1.55%}
.s9{left:50.8%;top:60.10%;width:14.5%;height:1.55%}
.s10{left:67.0%;top:60.10%;width:14.3%;height:1.55%}
.s11{left:83.0%;top:60.10%;width:14.0%;height:1.55%}

/* Cover only the League Calendar panel with live HTML while preserving the rest of the poster. */
.inline-calendar-panel{
  position:absolute;
  z-index:6;
  left:2.05%;
  top:80.12%;
  width:32.35%;
  height:17.399%;
  padding:1.00% 1.05% .55%;
  background:#fffdfa;
  border:1px solid #dedbd5;
  border-radius:8px;
  box-shadow:0 2px 6px rgba(0,0,0,.10);
  color:#07162f;
  font-family:Arial,Helvetica,sans-serif;
}
.inline-calendar-title{
  color:#0a2048;
  text-align:left;
  font-weight:900;
  font-size:clamp(10px,1.58vw,17px);
  line-height:1;
  margin:0 0 .5%;
  padding-left:7%;
  white-space:nowrap;
}
.inline-monthnav{
  display:grid;
  grid-template-columns:28px 1fr 28px;
  align-items:center;
  margin:.3% 0 .6%;
}
.inline-monthnav button{
  width:26px;height:22px;
  border:0;background:transparent;color:#c10f17;
  font-size:18px;font-weight:900;line-height:1;cursor:pointer;padding:0;
}
.inline-monthnav strong{
  text-align:center;
  font-size:clamp(7px,1.05vw,11px);
  color:#111;
  line-height:1;
}
.inline-calendar{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  border-top:1px solid #ddd;
}
.inline-calendar .ichead,
.inline-calendar .icday{
  text-align:center;
  min-width:0;
  height:clamp(13px,1.75vw,19px);
  line-height:clamp(13px,1.75vw,19px);
  font-size:clamp(6px,.86vw,9px);
  font-weight:800;
}
.inline-calendar .ichead{font-weight:900;color:#111}
.inline-calendar .icday.muted{color:#aaa}
.inline-calendar .icircle{
  display:inline-grid;
  place-items:center;
  width:clamp(13px,1.85vw,20px);
  height:clamp(13px,1.85vw,20px);
  border-radius:50%;
  color:#fff;
  line-height:1;
  font-weight:900;
}
.inline-legend{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px 5px;
  margin-top:1.1%;
  font-size:clamp(4.4px,.62vw,6.4px);
  line-height:1.25;
  font-weight:700;
  color:#111;
}
.inline-legend span:last-child{grid-column:1/-1}
.inline-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:3px}

/* The old large calendar hotspot sits below the live calendar so the arrows remain clickable. */
.league-calendar-hotspot{z-index:5}
/* The previous button-removal cover is no longer needed because the live panel replaces the whole calendar area. */
.poster::after{display:none!important}

@media(max-width:540px){
  .inline-calendar-title{padding-left:4%}
  .inline-monthnav{grid-template-columns:22px 1fr 22px}
  .inline-monthnav button{width:22px;height:18px;font-size:15px}
  .inline-legend{gap:0 3px}
}


/* Remove the printed I'M INTERESTED buttons without disabling the full-card hotspots. */
.interest-cover{position:absolute;z-index:8;display:block;background:#fffefb;pointer-events:none;}
/* weekday cards */
.i1{left:2.55%;top:39.43%;width:16.35%;height:2.02%}
.i2{left:20.65%;top:39.43%;width:16.35%;height:2.02%}
.i3{left:39.00%;top:39.43%;width:18.30%;height:2.02%}
.i4{left:59.25%;top:39.43%;width:18.10%;height:2.02%}
.i5{left:79.65%;top:39.43%;width:17.65%;height:2.02%}
/* weekend cards */
.i6{left:2.50%;top:58.23%;width:14.45%;height:1.78%}
.i7{left:18.00%;top:58.23%;width:15.45%;height:1.78%}
.i8{left:34.50%;top:58.23%;width:13.50%;height:1.78%}
.i9{left:50.45%;top:58.23%;width:15.15%;height:1.78%}
.i10{left:66.65%;top:58.23%;width:14.95%;height:1.78%}
.i11{left:82.65%;top:58.23%;width:14.65%;height:1.78%}

/* Calendar adjusted 5% shorter from the previous version. */
.inline-calendar .ichead,.inline-calendar .icday{height:clamp(14px,1.92vw,21px);line-height:clamp(14px,1.92vw,21px)}
.inline-legend{margin-top:1.5%;line-height:1.35}

/* Final cleanup: fully cover the Saturday/Sunday I'M INTERESTED button borders. */
.i6{left:2.30%;top:58.05%;width:14.85%;height:2.15%}
.i7{left:17.80%;top:58.05%;width:15.85%;height:2.15%}
.i8{left:34.30%;top:58.05%;width:13.90%;height:2.15%}
.i9{left:50.25%;top:58.05%;width:15.55%;height:2.15%}
.i10{left:66.45%;top:58.05%;width:15.35%;height:2.15%}
.i11{left:82.45%;top:58.05%;width:15.05%;height:2.15%}

/* Increase the league-name legend text at the bottom of League Calendar by 5%. */
.inline-legend{font-size:clamp(4.62px,.651vw,6.72px)}

/* Final cleanup: fully cover the remaining St. Edwards and Lucky Aces button outlines. */
.i8{left:34.15%;top:57.96%;width:14.25%;height:2.35%}
.i10{left:66.30%;top:57.96%;width:15.70%;height:2.35%}

/* Increase the League Calendar legend names another 5%. */
.inline-legend{font-size:clamp(4.85px,.684vw,7.06px)}

/* Fillable Ready to Join form, aligned over the printed form artwork. */
.join-form-overlay{
  position:absolute;z-index:8;left:65.35%;top:84.78%;width:30.95%;height:10.55%;
  display:grid;grid-template-columns:1fr 1fr;grid-template-rows:19% 19% 23% 27% 12%;
  column-gap:4.2%;row-gap:3.2%;margin:0;padding:0;background:transparent;
}
.join-form-overlay label{display:block;min-width:0;margin:0;padding:0}
.join-form-overlay input,.join-form-overlay select,.join-form-overlay textarea{
  width:100%;height:100%;margin:0;border:1px solid #cbd1dc;border-radius:2px;background:#fff;color:#07162f;
  font:600 clamp(6px,.78vw,9px)/1.2 Arial,Helvetica,sans-serif;padding:2px 5px;outline:none;
}
.join-form-overlay input:focus,.join-form-overlay select:focus,.join-form-overlay textarea:focus{border-color:#153679;box-shadow:0 0 0 1px #153679}
.join-form-overlay textarea{resize:none}
.jf-name{grid-column:1/-1;grid-row:1}.jf-email{grid-column:1;grid-row:2}.jf-league{grid-column:2;grid-row:2}.jf-phone{grid-column:1;grid-row:3}.jf-message{grid-column:1/-1;grid-row:4}
.jf-submit{grid-column:1/-1;grid-row:5;justify-self:start;width:63%;height:100%;border:0;border-radius:3px;background:#c81016;color:#fff;font:900 clamp(8px,1.25vw,15px)/1 Arial,Helvetica,sans-serif;cursor:pointer;padding:0}
.jf-submit:disabled{opacity:.65;cursor:wait}
.join-status{position:absolute;left:48%;right:0;bottom:0;transform:translateY(125%);font-size:clamp(5px,.65vw,8px);color:#0a2048;text-align:right;font-weight:700}
.jf-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:540px){.join-form-overlay input,.join-form-overlay select,.join-form-overlay textarea{padding:1px 2px}}

/* 2026-08-30 refinements: remove printed form text behind live form. */
.join-form-backdrop{
  position:absolute;z-index:7;left:64.95%;top:84.45%;width:31.75%;height:11.35%;
  background:#fff;pointer-events:none;
}

/* Increase League Calendar league-name legend text by 10% from the prior size. */
.inline-legend{font-size:clamp(5.34px,.752vw,7.77px)}

/* Lucky Aces: extend clean cover past every edge of the old I'M INTERESTED outline. */
.i10{left:66.05%;top:57.82%;width:16.20%;height:2.62%}

/* Lucky Aces card alignment fix: match the same cleanup treatment used on the
   neighboring Sunday cards without covering the STARTS or CURRENT STANDINGS rows. */
.i10{
  left:66.18%;
  top:58.43%;
  width:14.45%;
  height:1.72%;
}


/* ============================================================
   LIVE SPECIAL DATES & NOTES
   This replaces the baked poster list so edits to SPECIAL_DATES
   in script.js appear on the page automatically.
   ============================================================ */
.special-dates-panel{
  position:absolute;z-index:6;left:35.45%;top:80.12%;width:27.55%;height:17.40%;
  padding:1.00% 1.15% .65%;background:#fff;border:1px solid #dedbd5;border-radius:8px;
  box-shadow:0 2px 6px rgba(0,0,0,.10);color:#07162f;font-family:Arial,Helvetica,sans-serif;overflow:hidden;
}
.special-dates-title{
  color:#0a2048;font-weight:900;font-size:clamp(10px,1.55vw,17px);line-height:1.05;
  white-space:nowrap;margin:0 0 2.3%;letter-spacing:-.02em;
}
.special-pin{display:inline-block;color:#c81016;font-size:.86em;transform:rotate(-10deg);margin-right:3px}
.special-dates-list{display:grid;gap:clamp(1px,.22vw,3px)}
.special-date-item{display:grid;grid-template-columns:12px 1fr;column-gap:5px;align-items:start;min-width:0}
.special-date-dot{width:clamp(6px,.82vw,9px);height:clamp(6px,.82vw,9px);border-radius:50%;margin-top:clamp(2px,.28vw,4px)}
.special-date-copy{min-width:0;font-size:clamp(5.8px,.79vw,8.5px);line-height:1.13;font-weight:800;color:#111}
.special-date-date{display:block;color:#0a2048;font-weight:900}
.special-date-title{display:block;color:#111;text-transform:uppercase}
.special-date-item[data-color="red"] .special-date-dot{background:#c81016}
.special-date-item[data-color="blue"] .special-date-dot{background:#153679}
.special-date-item[data-color="green"] .special-date-dot{background:#176b22}
.special-date-item[data-color="orange"] .special-date-dot{background:#f05a00}
.special-date-item[data-color="purple"] .special-date-dot{background:#54208a}
.special-date-item[data-color="red"] .special-date-date{color:#c81016}
.special-date-item[data-color="green"] .special-date-date{color:#176b22}
.special-date-item[data-color="orange"] .special-date-date{color:#f05a00}
.special-date-item[data-color="purple"] .special-date-date{color:#54208a}
.special-dates-footer{position:absolute;left:16%;right:4%;bottom:2.4%;font-size:clamp(5px,.66vw,7px);line-height:1.05;color:#153679;font-style:italic}
@media(max-width:540px){
  .special-dates-panel{padding-left:1%;padding-right:1%}
  .special-date-item{grid-template-columns:9px 1fr;column-gap:2px}
}

/* ============================================================
   LIVE WEEKLY SCHEDULE
   Replaces the baked poster schedule so edits to LEAGUES in
   script.js (including start dates) update automatically.
   ============================================================ */
.weekly-schedule-panel{
  position:absolute;z-index:8;left:2.05%;top:66.18%;width:95.90%;height:11.62%;
  background:#fffdfa;border:1px solid #dedbd5;border-radius:8px;
  box-shadow:0 2px 6px rgba(0,0,0,.10);overflow:hidden;
  color:#07162f;font-family:Arial,Helvetica,sans-serif;
}
.weekly-schedule-title{
  height:18.5%;display:flex;align-items:center;justify-content:center;gap:1.5%;
  color:#0a2048;font-weight:900;font-size:clamp(11px,1.75vw,19px);line-height:1;
  border-bottom:1px solid #dedbd5;letter-spacing:-.02em;
}
.weekly-schedule-title span{color:#c81016;font-size:.72em}
.weekly-schedule-grid{
  height:81.5%;display:grid;grid-template-columns:repeat(7,1fr);min-width:0;
}
.weekly-day{
  min-width:0;border-right:1px solid #c9ced7;display:flex;flex-direction:column;
  align-items:center;text-align:center;overflow:hidden;
}
.weekly-day:last-child{border-right:0}
.weekly-day-head{
  width:100%;background:#07162f;color:#fff;font-size:clamp(6px,.95vw,10px);
  font-weight:900;line-height:1.9;letter-spacing:.02em;
}
.weekly-day-body{
  flex:1;width:100%;padding:3.2% 3% 2%;display:flex;flex-direction:column;
  justify-content:flex-start;align-items:center;gap:2px;box-sizing:border-box;
}
.weekly-entry{width:100%;font-weight:800;line-height:1.08;color:#111;min-width:0}
.weekly-time{font-size:clamp(6.2px,.92vw,10px);font-weight:900;white-space:nowrap;margin-bottom:3px}
.weekly-time::before{content:'◉';color:#f11;margin-right:4px;font-size:.74em}
.weekly-name{font-size:clamp(5.8px,.86vw,9.5px);font-weight:900;overflow-wrap:anywhere}
.weekly-start{font-size:clamp(5.6px,.82vw,9px);font-weight:900;margin-top:3px}
.weekly-entry + .weekly-entry{border-top:1px solid #d2d6de;margin-top:3px;padding-top:3px}
.weekly-day[data-day="MONDAY"] .weekly-name,.weekly-day[data-day="MONDAY"] .weekly-start{color:#b50d15}
.weekly-day[data-day="TUESDAY"] .weekly-name,.weekly-day[data-day="TUESDAY"] .weekly-start{color:#153679}
.weekly-day[data-day="WEDNESDAY"] .weekly-name,.weekly-day[data-day="WEDNESDAY"] .weekly-start{color:#176b22}
.weekly-day[data-day="THURSDAY"] .weekly-name,.weekly-day[data-day="THURSDAY"] .weekly-start{color:#54208a}
.weekly-day[data-day="FRIDAY"] .weekly-name,.weekly-day[data-day="FRIDAY"] .weekly-start{color:#f05a00}
.weekly-day[data-day="SATURDAY"] .weekly-name,.weekly-day[data-day="SATURDAY"] .weekly-start{color:#0a6e7f}
.weekly-day[data-day="SUNDAY"] .weekly-name,.weekly-day[data-day="SUNDAY"] .weekly-start{color:#111}
.weekly-alternating{font-size:clamp(5.1px,.69vw,7.5px);font-weight:800;color:#153679;margin-top:1px}
@media(max-width:540px){
  .weekly-day-body{padding-left:1.5%;padding-right:1.5%;gap:1px}
  .weekly-time{margin-bottom:1px}.weekly-entry + .weekly-entry{margin-top:1px;padding-top:1px}
}


/* ============================================================
   LIVE LEAGUE CARD INFORMATION
   The baked editable card text has been removed from master-mockup.png.
   This live text is rendered from LEAGUES in script.js and is tuned to
   match the original poster typography and spacing.
   ============================================================ */
.dynamic-league-cards{position:absolute;inset:0;z-index:7;pointer-events:none;font-family:"Arial Narrow","Liberation Sans Narrow",Arial,Helvetica,sans-serif}
.dynamic-league-card{position:absolute;color:#111;text-align:center;font-weight:700;line-height:1.02;pointer-events:none;font-stretch:condensed}
.dynamic-league-card .dlc-name,.dynamic-league-card .dlc-details,.dynamic-league-card .dlc-start{position:absolute;background:transparent}
.dynamic-league-card .dlc-name{display:flex;align-items:center;justify-content:center;padding:0 1%;box-sizing:border-box;text-transform:uppercase;font-size:clamp(9.6px,1.404vw,16.32px);font-weight:700;line-height:.96;letter-spacing:-.03em}
.dynamic-league-card .dlc-details{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;padding:0;box-sizing:border-box;font-size:clamp(9.6px,1.185vw,13.65px);font-weight:700;line-height:1.18;letter-spacing:-.02em}
.dynamic-league-card .dlc-start{display:flex;align-items:center;justify-content:center;color:var(--league-accent);font-size:clamp(8.7px,1.065vw,12.3px);font-weight:700;line-height:1;letter-spacing:0;white-space:nowrap;text-transform:uppercase}
.dynamic-league-card .dlc-alt{color:#153679;font-size:.82em;font-weight:700;line-height:1.00;margin-top:.18em}
.dynamic-league-card .dlc-details > div:not(.dlc-alt){display:flex;align-items:center;min-height:1.55em;white-space:nowrap}
.dynamic-league-card .dlc-details{justify-content:flex-start;padding-top:.18em}
.dynamic-league-card .dlc-alt{min-height:auto!important;white-space:normal!important}
/* Card typography matched to the approved reference: Arial Narrow/Bold proportions, with the live card text increased 20% from the prior dynamic sizing. */
/* Weekday cards 1-5 */
.dlc-1{left:2.15%;top:29.72%;width:16.78%;height:10.05%}
.dlc-2{left:20.33%;top:29.72%;width:16.78%;height:10.05%}
.dlc-3{left:38.61%;top:29.72%;width:18.10%;height:10.05%}
.dlc-4{left:58.46%;top:29.72%;width:18.40%;height:10.05%}
.dlc-5{left:79.25%;top:29.72%;width:18.05%;height:10.05%}
.dynamic-league-card.dlc-1 .dlc-name,.dynamic-league-card.dlc-2 .dlc-name,.dynamic-league-card.dlc-3 .dlc-name,.dynamic-league-card.dlc-4 .dlc-name,.dynamic-league-card.dlc-5 .dlc-name{left:10%;top:7%;width:84%;height:29%}
.dynamic-league-card.dlc-1 .dlc-details,.dynamic-league-card.dlc-2 .dlc-details,.dynamic-league-card.dlc-3 .dlc-details,.dynamic-league-card.dlc-4 .dlc-details,.dynamic-league-card.dlc-5 .dlc-details{left:26%;top:38%;width:70%;height:40%}
.dynamic-league-card.dlc-1 .dlc-start,.dynamic-league-card.dlc-2 .dlc-start,.dynamic-league-card.dlc-3 .dlc-start,.dynamic-league-card.dlc-4 .dlc-start,.dynamic-league-card.dlc-5 .dlc-start{left:8%;top:82%;width:84%;height:14%}
/* Weekend cards 6-11 */
.dlc-6{left:2.20%;top:49.55%;width:14.45%;height:9.25%}
.dlc-7{left:17.72%;top:49.55%;width:15.62%;height:9.25%}
.dlc-8{left:34.28%;top:49.55%;width:13.78%;height:9.25%}
.dlc-9{left:50.55%;top:49.55%;width:15.07%;height:9.25%}
.dlc-10{left:66.63%;top:49.55%;width:15.12%;height:9.25%}
.dlc-11{left:82.72%;top:49.55%;width:14.52%;height:9.25%}
.dynamic-league-card.dlc-6 .dlc-name,.dynamic-league-card.dlc-7 .dlc-name,.dynamic-league-card.dlc-8 .dlc-name,.dynamic-league-card.dlc-9 .dlc-name,.dynamic-league-card.dlc-10 .dlc-name,.dynamic-league-card.dlc-11 .dlc-name{left:8%;top:7%;width:86%;height:27%}
.dynamic-league-card.dlc-6 .dlc-details,.dynamic-league-card.dlc-7 .dlc-details,.dynamic-league-card.dlc-8 .dlc-details,.dynamic-league-card.dlc-9 .dlc-details,.dynamic-league-card.dlc-10 .dlc-details,.dynamic-league-card.dlc-11 .dlc-details{left:26%;top:35%;width:70%;height:44%}
.dynamic-league-card.dlc-6 .dlc-start,.dynamic-league-card.dlc-7 .dlc-start,.dynamic-league-card.dlc-8 .dlc-start,.dynamic-league-card.dlc-9 .dlc-start,.dynamic-league-card.dlc-10 .dlc-start,.dynamic-league-card.dlc-11 .dlc-start{left:5%;top:85%;width:90%;height:11%}
@media(max-width:540px){.dynamic-league-card .dlc-details{line-height:1.18;font-size:clamp(6.75px,1.31vw,9.75px)}.dynamic-league-card .dlc-name{font-size:clamp(6px,1.40vw,9.6px)}.dynamic-league-card .dlc-start{font-size:clamp(6px,1.04vw,9px)}}

/* ============================================================
   2026-08-30 card alignment refinements
   - Keep weekend STARTS dates above the removed-button cleanup area.
   - Align the time / teams / weeks text rows more closely with the
     baked clock, people and calendar icons.
   - Give EVERY OTHER WEEK more breathing room before STARTS.
   ============================================================ */
.dynamic-league-card .dlc-details{
  padding-top:0;
  line-height:1.12;
}
.dynamic-league-card .dlc-details > div:not(.dlc-alt){
  display:flex;
  align-items:center;
  min-height:1.48em;
  line-height:1.05;
}

/* Nudge detail text left so its baseline sits more naturally beside the icons. */
.dynamic-league-card.dlc-1 .dlc-details,
.dynamic-league-card.dlc-2 .dlc-details,
.dynamic-league-card.dlc-3 .dlc-details,
.dynamic-league-card.dlc-4 .dlc-details,
.dynamic-league-card.dlc-5 .dlc-details{
  left:25%;
  top:38.2%;
  width:71%;
  height:39%;
}
.dynamic-league-card.dlc-6 .dlc-details,
.dynamic-league-card.dlc-7 .dlc-details,
.dynamic-league-card.dlc-8 .dlc-details,
.dynamic-league-card.dlc-9 .dlc-details,
.dynamic-league-card.dlc-10 .dlc-details,
.dynamic-league-card.dlc-11 .dlc-details{
  left:25%;
  top:35%;
  width:71%;
  height:39%;
}

/* Extra breathing room after the alternate-week line. */
.dynamic-league-card .dlc-alt{
  margin-top:.28em;
  line-height:1;
}

/* Weekend STARTS rows sit fully above the white cleanup covers. */
.dynamic-league-card.dlc-6 .dlc-start,
.dynamic-league-card.dlc-7 .dlc-start,
.dynamic-league-card.dlc-8 .dlc-start,
.dynamic-league-card.dlc-9 .dlc-start,
.dynamic-league-card.dlc-10 .dlc-start,
.dynamic-league-card.dlc-11 .dlc-start{
  left:3.5%;
  top:82.2%;
  width:93%;
  height:8.2%;
  line-height:1;
}

/* Alternate-week cards need a little more vertical separation specifically. */
.dynamic-league-card.dlc-7 .dlc-details,
.dynamic-league-card.dlc-8 .dlc-details{
  top:34.6%;
  height:38.3%;
}
.dynamic-league-card.dlc-7 .dlc-start,
.dynamic-league-card.dlc-8 .dlc-start{
  top:83.2%;
  height:7.2%;
}

/* 2026-08-30: shift all league-card STARTS date rows down by 15% of their own height. */
.dynamic-league-card .dlc-start{
  transform:translateY(15%);
}

/* 2026-08-30: user requested another 15% downward shift and 5% larger STARTS text. */
.dynamic-league-card .dlc-start{
  transform:translateY(30%);
  font-size:clamp(9.135px,1.11825vw,12.915px);
}
@media(max-width:540px){
  .dynamic-league-card .dlc-start{font-size:clamp(6.3px,1.092vw,9.45px)}
}

/* 2026-08-30: align the three dynamic detail rows with the baked card icons. */
.dynamic-league-card .dlc-details{
  justify-content:flex-start;
  display:grid;
  grid-template-rows:repeat(3, 1.52em) auto;
  align-content:start;
  row-gap:0;
}
.dynamic-league-card .dlc-details > div:not(.dlc-alt){
  min-height:0;
  height:1.52em;
  display:flex;
  align-items:center;
  line-height:1;
  margin:0;
  padding:0;
  transform:translateY(-0.03em);
}
/* The weekend cards use the same row centers as their clock/people/calendar artwork. */
.dynamic-league-card.dlc-6 .dlc-details,
.dynamic-league-card.dlc-7 .dlc-details,
.dynamic-league-card.dlc-8 .dlc-details,
.dynamic-league-card.dlc-9 .dlc-details,
.dynamic-league-card.dlc-10 .dlc-details,
.dynamic-league-card.dlc-11 .dlc-details{
  top:35.1%;
}
.dynamic-league-card.dlc-7 .dlc-details,
.dynamic-league-card.dlc-8 .dlc-details{
  top:34.7%;
}

/* 2026-08-30: move Saturday/Sunday STARTS rows an additional 20% downward only.
   Weekday cards retain their existing 30% shift. */
.dynamic-league-card.dlc-6 .dlc-start,
.dynamic-league-card.dlc-7 .dlc-start,
.dynamic-league-card.dlc-8 .dlc-start,
.dynamic-league-card.dlc-9 .dlc-start,
.dynamic-league-card.dlc-10 .dlc-start,
.dynamic-league-card.dlc-11 .dlc-start{
  transform:translateY(50%);
}

/* Weekly Schedule is a fully opaque live layer so no baked schedule text can show through.
   All visible league names, times and start dates in this banner come from LEAGUES in script.js. */
.weekly-schedule-panel{
  background:#fffdfa;
  opacity:1;
  isolation:isolate;
}
.weekly-schedule-grid,
.weekly-day,
.weekly-day-body,
.weekly-entry{
  background:#fffdfa;
}


/* ============================================================
   FINAL WEEKLY-SCHEDULE + WEEKEND-CARD ALIGNMENT
   ============================================================ */
/* Replace the poster's original schedule in its exact footprint. */
.weekly-schedule-panel{
  left:2.05%;
  top:66.20%;
  width:95.90%;
  height:11.60%;
  z-index:12;
  box-sizing:border-box;
  background:#fffdfa;
  opacity:1;
}
.weekly-schedule-title,
.weekly-schedule-grid,
.weekly-day,
.weekly-day-body,
.weekly-entry{background:#fffdfa;}

/* Use Lucky Aces as the common geometry for every Saturday/Sunday live card. */
.dynamic-league-card.dlc-6 .dlc-name,
.dynamic-league-card.dlc-7 .dlc-name,
.dynamic-league-card.dlc-8 .dlc-name,
.dynamic-league-card.dlc-9 .dlc-name,
.dynamic-league-card.dlc-10 .dlc-name,
.dynamic-league-card.dlc-11 .dlc-name{
  left:8%; top:7%; width:86%; height:27%;
}
.dynamic-league-card.dlc-6 .dlc-details,
.dynamic-league-card.dlc-7 .dlc-details,
.dynamic-league-card.dlc-8 .dlc-details,
.dynamic-league-card.dlc-9 .dlc-details,
.dynamic-league-card.dlc-10 .dlc-details,
.dynamic-league-card.dlc-11 .dlc-details{
  left:25%; top:35.1%; width:71%; height:39%;
}
.dynamic-league-card.dlc-6 .dlc-start,
.dynamic-league-card.dlc-7 .dlc-start,
.dynamic-league-card.dlc-8 .dlc-start,
.dynamic-league-card.dlc-9 .dlc-start,
.dynamic-league-card.dlc-10 .dlc-start,
.dynamic-league-card.dlc-11 .dlc-start{
  left:3.5%; top:82.2%; width:93%; height:8.2%;
  transform:translateY(50%);
}
/* Keep alternate-week wording inside the same Lucky-Aces-style detail block. */
.dynamic-league-card.dlc-7 .dlc-alt,
.dynamic-league-card.dlc-8 .dlc-alt{
  margin-top:.18em;
  line-height:1;
}

/* 2026-08-30: The printed I'M INTERESTED artwork has been removed directly
   from the poster image. Keep the original vertical space but draw no box. */
.interest-removal-covers,.interest-cover{display:none!important;}

/* ============================================================
   2026-08-30 requested layout refinements
   - Weekly Schedule sits directly beneath the Misfits / calendar banner.
   - Special Dates & Notes is 15% taller while keeping its lower edge aligned.
   - Saturday/Sunday STARTS rows move an additional 15% downward.
   ============================================================ */
.weekly-schedule-panel{
  top:66.02%;
}

/* Previous height: 17.40%. 15% taller = 20.01%.
   Move the top upward so the card still ends at the same lower-page position. */
.special-dates-panel{
  top:77.51%;
  height:20.01%;
}

.dynamic-league-card.dlc-6 .dlc-start,
.dynamic-league-card.dlc-7 .dlc-start,
.dynamic-league-card.dlc-8 .dlc-start,
.dynamic-league-card.dlc-9 .dlc-start,
.dynamic-league-card.dlc-10 .dlc-start,
.dynamic-league-card.dlc-11 .dlc-start{
  transform:translateY(65%);
}

/* 2026-08-30 alignment correction requested by user.
   Align Special Dates & Notes with the League Calendar top edge.
   Keep the previously enlarged Special Dates height.
   Move Weekly Schedule fully below the navy Misfits/calendar banner. */
.special-dates-panel{
  top:80.12%;
  height:20.01%;
}
.weekly-schedule-panel{
  top:66.45%;
}

/* 2026-08-30 requested sizing/position update
   - Special Dates stays aligned to League Calendar top and is 10% shorter.
   - Weekly Schedule is 15% taller and shifted down by 15% of its prior height. */
.special-dates-panel{
  top:80.12%;
  height:18.009%;
}
.weekly-schedule-panel{
  top:68.19%;
  height:13.34%;
}


/* 2026-08-30 — Replace ONLY the old Misfits / September–April / View Calendar banner. */
.replacement-misfits-banner{
  position:absolute;
  z-index:7;
  left:2.05%;
  top:60.78%;
  width:95.90%;
  height:5.35%;
  display:block;
  object-fit:fill;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
/* Keep the existing View Calendar hotspot clickable above the replacement artwork. */
.calendar-events{z-index:10;}

/* 2026-08-30 — Align replacement banner flush between weekend league cards and League Calendar.
   The Weekly Schedule was removed, so the replacement banner now fills that entire vertical space. */
.replacement-misfits-banner{
  left:2.05%;
  top:60.48%;
  width:95.90%;
  height:19.64%; /* ends exactly at League Calendar top: 80.12% */
  object-fit:fill;
}
/* Keep the calendar call-to-action clickable across the enlarged right-hand banner panel. */
.calendar-events{
  left:76.72%;
  top:62.20%;
  width:20.20%;
  height:16.20%;
  z-index:10;
}

/* 2026-08-30 — Correct replacement banner proportions.
   Keep it below the weekend cards at its natural wide-banner aspect ratio,
   then move the three lower panels up so the League Calendar begins exactly
   where the banner ends. */
.replacement-misfits-banner{
  left:2.05%;
  top:62.18%;
  width:95.90%;
  height:7.94%;
  object-fit:fill;
}
.inline-calendar-panel,
.special-dates-panel{
  top:70.12%;
}
/* Shift the Ready to Join live form/backdrop by the same 10 percentage points. */
.join-form-backdrop{top:74.45%;}
.join-form-overlay{top:74.78%;}
.anchor-join{top:71%;}
/* Match the calendar CTA hotspot to the actual right-hand button in the corrected banner. */
.calendar-events{
  left:76.72%;
  top:63.05%;
  width:20.20%;
  height:6.15%;
  z-index:10;
}


/* 2026-08-30 — Remove the old image-based lower row after moving the live panels upward.
   The live League Calendar, Special Dates & Notes, and fillable Ready to Join form sit above this cleanup layer. */
.lower-art-cleanup{
  position:absolute;
  z-index:4;
  left:2.05%;
  top:79.55%;
  width:95.90%;
  height:16.75%;
  background:#fff;
  pointer-events:none;
}
/* Remove the final baked Special Dates footer note without touching the footer artwork. */
.special-footer-cleanup{
  position:absolute;
  z-index:4;
  left:37.6%;
  top:98.55%;
  width:24.8%;
  height:1.05%;
  background:#fff;
  pointer-events:none;
}

/* 2026-08-30 — Shift the replacement Misfits banner down by 10% of its own height.
   Move the three live lower-row sections by the identical amount so they keep their spacing and never overlap. */
.replacement-misfits-banner{top:62.974%;}
.calendar-events{top:63.844%;}
.inline-calendar-panel,.special-dates-panel{top:70.914%;}
.join-form-backdrop{top:75.244%;}
.join-form-overlay{top:75.574%;}
.anchor-join{top:71.794%;}

/* 2026-08-30 — final lower-row cleanup after banner shift.
   Cover the complete old image-based lower row, then restore only the intended footer artwork. */
.lower-art-cleanup{
  top:70.914%;
  height:26.15%; /* through the old calendar/special/form artwork */
  background:#fff;
}
.special-footer-cleanup{display:none!important;}

/* Restore the Ready to Join heading/copy above the live form. */
.join-heading-overlay{
  position:absolute;
  z-index:9;
  left:65.35%;
  top:71.78%;
  width:30.95%;
  height:3.35%;
  color:#0a2048;
  font-family:Arial,Helvetica,sans-serif;
  pointer-events:none;
}
.join-heading-title{
  font-weight:900;
  font-size:clamp(10px,1.55vw,17px);
  line-height:1.05;
  white-space:nowrap;
}
.join-heading-copy{
  margin-top:3.2%;
  font-weight:800;
  font-size:clamp(5.8px,.78vw,8.5px);
  line-height:1.22;
  color:#0a2048;
}

/* Restore footer artwork and the bowling ball/pins that would otherwise be hidden by cleanup. */
.footer-pins-overlay{
  position:absolute;
  z-index:9;
  left:80.078125%;
  top:90.494792%;
  width:19.921875%;
  height:9.505208%;
  object-fit:fill;
  pointer-events:none;
}
.footer-strip-overlay{
  position:absolute;
  z-index:10;
  left:0;
  top:95.703125%;
  width:100%;
  height:4.296875%;
  object-fit:fill;
  pointer-events:none;
}

/* 2026-08-30 requested refinements:
   - Ready to Join gets the same bordered card treatment as the League Calendar and Special Dates.
   - Replacement Misfits banner is 10% shorter.
   - Restore the full Juniors logo above any card cleanup/dynamic layers. */
.replacement-misfits-banner{
  height:7.146%; /* 10% shorter than 7.94% */
}

/* Expand the existing form backdrop into the full Ready to Join card shell. */
.join-form-backdrop{
  left:64.95%;
  top:70.914%;
  width:32.00%;
  height:18.009%;
  background:#fff;
  border:1px solid #dedbd5;
  border-radius:8px;
  box-shadow:0 2px 6px rgba(0,0,0,.10);
  box-sizing:border-box;
}

.juniors-logo-restore{
  position:absolute;
  z-index:8;
  left:7.421875%;
  top:46.614583%;
  width:6.738281%;
  height:3.190104%;
  object-fit:fill;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

/* 2026-08-30 requested interaction/readability refinements. */
/* Larger SEND MESSAGE button while preserving the Ready to Join card layout. */
.jf-submit{
  width:74%;
  height:118%;
  font-size:clamp(9.6px,1.50vw,18px);
  align-self:start;
}

/* Increase all Special Dates & Notes list/footer copy by 35%. */
.special-date-copy{
  font-size:clamp(7.83px,1.0665vw,11.48px);
  line-height:1.08;
}
.special-dates-footer{
  font-size:clamp(6.75px,.891vw,9.45px);
  line-height:1.05;
}
/* Keep the enlarged list comfortably within the existing card. */
.special-dates-list{gap:clamp(1px,.16vw,2px)}

/* Make the League Calendar behave like a league card: whole panel is interactive,
   with a subtle lift on hover/focus; clicking it opens ALL LEAGUES. */
.inline-calendar-panel{
  cursor:pointer;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
  transform-origin:center center;
}
@media (hover:hover) and (pointer:fine){
  .inline-calendar-panel:hover{
    transform:translateY(-2px);
    box-shadow:0 5px 12px rgba(0,0,0,.16);
    border-color:#b9c3d2;
  }
}
.inline-calendar-panel:focus-within{
  box-shadow:0 5px 12px rgba(0,0,0,.16);
  border-color:#b9c3d2;
}

/* 2026-08-30 — Ready to Join inner padding + 30% taller footer banner. */
/* Keep the outer Ready to Join card fixed; inset its heading and fillable form from the border. */
.join-heading-overlay{
  left:66.15%;
  top:71.55%;
  width:29.35%;
}
.join-form-overlay{
  left:66.15%;
  top:75.574%;
  width:29.35%;
  height:9.95%;
}
/* Increase the Hometown Lanes / bowling-lane footer strip by 30%, anchored to the page bottom. */
.footer-strip-overlay{
  top:94.4140625%;
  height:5.5859375%;
}
/* Keep the footer ball/pins visually above the taller strip rather than letting the strip cover them. */
.footer-pins-overlay{z-index:11;}

/* 2026-08-30 — match footer + league detail symbols to approved reference image. */
.footer-strip-overlay{
  content:normal;
  left:0;
  top:95.703125%;
  width:100%;
  height:4.296875%;
  object-fit:fill;
}
/* Use the exact clock / bowler / calendar symbols sampled from the approved poster. */
.dynamic-league-card .dlc-details > div:not(.dlc-alt){
  position:relative;
  padding-left:1.65em;
  overflow:visible;
}
.dynamic-league-card .dlc-details > div:not(.dlc-alt)::before{
  content:"";
  position:absolute;
  left:-.08em;
  top:50%;
  width:1.25em;
  height:1.25em;
  transform:translateY(-50%);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.dynamic-league-card .dlc-details > div:nth-child(1)::before{background-image:url("assets/icon-clock.png")}
.dynamic-league-card .dlc-details > div:nth-child(2)::before{background-image:url("assets/icon-teams.png")}
.dynamic-league-card .dlc-details > div:nth-child(3)::before{background-image:url("assets/icon-weeks.png")}

/* 2026-08-30 — remove only the duplicate outer-left league detail symbols.
   Keep the existing text positions/spacing and all card functionality intact. */
.dynamic-league-card .dlc-details > div:not(.dlc-alt)::before{
  display:none !important;
}

/* 2026-08-30 — keep one clean icon set, closer to and vertically aligned with the live detail text.
   A narrow white patch hides the farther-left baked icon column; the reference icons are then
   redrawn immediately beside each corresponding time / teams / weeks row. */
.dynamic-league-card .dlc-details{
  position:absolute;
  overflow:visible;
}
.dynamic-league-card .dlc-details::after{
  content:"";
  position:absolute;
  z-index:0;
  left:-18%;
  top:-2%;
  width:19%;
  height:4.72em;
  background:#fffefb;
  pointer-events:none;
}
.dynamic-league-card .dlc-details > div:not(.dlc-alt){
  position:relative;
  z-index:1;
  padding-left:1.34em;
}
.dynamic-league-card .dlc-details > div:not(.dlc-alt)::before{
  display:block !important;
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1.03em;
  height:1.03em;
  transform:translateY(-50%);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  pointer-events:none;
}
.dynamic-league-card .dlc-details > div:nth-child(1)::before{background-image:url("assets/icon-clock.png")}
.dynamic-league-card .dlc-details > div:nth-child(2)::before{background-image:url("assets/icon-teams.png")}
.dynamic-league-card .dlc-details > div:nth-child(3)::before{background-image:url("assets/icon-weeks.png")}

/* 2026-08-30 — final league-symbol artifact cleanup.
   Expand only the white cleanup strip behind the live detail rows so remnants of
   the baked/duplicate outer-left symbols are fully hidden. The live replacement
   icons and all text/card geometry remain unchanged. */
.dynamic-league-card .dlc-details::after{
  left:-30%;
  top:-4%;
  width:31%;
  height:4.90em;
}

/* 2026-08-30 — Lucky Aces only: remove the final remnant of the baked outer-left
   detail symbol column without moving or restyling any live card content. */
.dynamic-league-card.dlc-10 .dlc-details::after{
  left:-42%;
  top:-6%;
  width:43%;
  height:5.15em;
  background:#fffefb;
}

/* 2026-08-30 — lower card spacing/alignment refinement.
   Make the horizontal gaps Calendar↔Special Dates and Special Dates↔Ready to Join equal,
   and align the Special Dates bottom edge with the League Calendar bottom edge. */
.special-dates-panel{
  left:35.90%;
  top:70.914%;
  width:27.55%;
  height:17.399%;
}


/* 2026-08-30 — align lower card bottoms with Ready to Join and refresh title symbols.
   Calendar and Special Dates now share the Ready to Join card's 18.009% height. */
.inline-calendar-panel,
.special-dates-panel{
  height:18.009%;
}

/* Clean CSS-drawn calendar icon replacing the old square glyph. */
.calendar-title-icon{
  position:relative;
  display:inline-block;
  width:.92em;
  height:.78em;
  margin-right:.48em;
  vertical-align:-.06em;
  border:.12em solid #c81016;
  border-radius:.12em;
  box-sizing:border-box;
}
.calendar-title-icon::before{
  content:"";
  position:absolute;
  left:-.12em;
  right:-.12em;
  top:.17em;
  height:.10em;
  background:#c81016;
}
.calendar-title-icon::after{
  content:"";
  position:absolute;
  width:.11em;
  height:.20em;
  left:.16em;
  top:-.20em;
  border-radius:.08em;
  background:#c81016;
  box-shadow:.40em 0 0 #c81016;
}

/* Clean map-pin icon replacing the old diamond glyph. */
.special-pin{
  position:relative;
  display:inline-block;
  width:.72em;
  height:.72em;
  margin-right:.52em;
  vertical-align:.02em;
  border-radius:50% 50% 50% 0;
  background:#c81016;
  transform:rotate(-45deg);
  transform-origin:center;
}
.special-pin::after{
  content:"";
  position:absolute;
  width:.24em;
  height:.24em;
  left:50%;
  top:50%;
  border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
}

/* 2026-08-30 — baked lower-row artwork was permanently removed from master-mockup.png.
   Live Calendar, Special Dates, Ready to Join and replacement footer overlays remain unchanged. */


/* 2026-08-30 — definitive lower-artifact cleanup.
   The old image-based footer/pins crops contained remnants of previous Calendar,
   Special Dates and Ready to Join artwork. Use only the clean footer asset. */
.footer-pins-overlay{display:none!important;}
.footer-strip-overlay{
  content:normal!important;
  left:0!important;
  top:95.703125%!important;
  width:100%!important;
  height:4.296875%!important;
  object-fit:fill!important;
}


/* 2026-08-30 — remove obsolete lower-row calendar hotspot completely.
   The visible .inline-calendar-panel has its own click handler, so no separate
   invisible hotspot is needed or allowed to remain in the old calendar location. */
.league-calendar-hotspot{display:none!important;pointer-events:none!important;width:0!important;height:0!important;}

/* Ensure the Special Dates panel itself is fully opaque over the cleaned master. */
.special-dates-panel{background:#fff!important;isolation:isolate;}

/* 2026-08-30 — increase only the bottom height of all three lower cards by 30%.
   Top edges and all internal content/form positioning remain unchanged. */
.inline-calendar-panel,
.special-dates-panel,
.join-form-backdrop{
  height:23.4117%; /* 18.009% × 1.30 */
}

/* 2026-08-30 — decrease the current lower-card height by 15% while preserving top edges. */
.inline-calendar-panel,
.special-dates-panel,
.join-form-backdrop{
  height:19.899945%; /* 23.4117% × 0.85 */
}

/* 2026-08-30 — lower-card typography refinement. */
.inline-calendar-title{
  font-size:clamp(10.5px,1.659vw,17.85px); /* +5% */
}
.special-dates-title{
  font-size:clamp(10.5px,1.6275vw,17.85px); /* +5% */
  margin-bottom:4.8%; /* more breathing room before dates */
}
.join-heading-title{
  font-size:clamp(10.5px,1.6275vw,17.85px); /* +5% */
}
.join-heading-copy{
  font-size:clamp(6.09px,.819vw,8.925px); /* +5% */
}

/* 2026-08-30 — add more vertical breathing room between Special Dates entries. */
.special-dates-list{
  gap:clamp(3px,.42vw,5px);
}


/* 2026-08-30 — footer replaced from the user-provided approved reference image only.
   Keep it beneath the three live lower cards so their HTML content remains intact. */
.footer-strip-overlay{
  z-index:5!important;
  left:0!important;
  top:95.703125%!important;
  width:100%!important;
  height:4.296875%!important;
  object-fit:fill!important;
}


/* 2026-08-30 — footer clipping fix.
   The previous footer used top:95.703125% + height:4.296875%, which lands
   mathematically at 100% but can be clipped by sub-pixel rounding because
   .poster uses overflow:hidden. Anchor the footer directly to bottom:0 instead. */
.footer-strip-overlay{
  left:0!important;
  right:0!important;
  top:auto!important;
  bottom:0!important;
  width:100%!important;
  height:4.296875%!important;
  object-fit:fill!important;
  display:block!important;
  z-index:5!important;
  pointer-events:none!important;
}

/* 2026-08-30 — new footer aligned immediately below the lower-card bottom edge.
   Lower cards: top 70.914% + height 19.899945% = bottom 90.813945%.
   Footer starts at 91.30%, leaving ~0.49% clean padding between them. */
.footer-strip-overlay{display:none!important;}
.aligned-footer-banner{
  position:absolute;
  z-index:5;
  left:0;
  top:91.30%;
  width:100%;
  height:8.70%;
  object-fit:cover;
  object-position:center;
  display:block;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}


/* Footer refinement — preserve the complete logo, ball and pins. */
.aligned-footer-banner{
  left:1.25%!important;
  width:97.5%!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:clamp(8px,1.4vw,16px)!important;
  overflow:hidden!important;
}


/* Footer width alignment — matches outside edges of League Calendar and Ready to Join. */
.aligned-footer-banner{
  left:2.05%!important;
  width:94.90%!important;
  right:auto!important;
  object-fit:fill!important;
  object-position:center center!important;
  border-radius:clamp(8px,1.4vw,16px)!important;
  overflow:hidden!important;
}


/* Men's Handicap Current Standings:
   match Tuesday Hometown Classic formatting while remaining red. */
.s1{
  left:2.70%!important;
  top:41.75%!important;
  width:15.50%!important;
  height:1.75%!important;
  border:1px solid #b50d15!important;
  border-radius:4px!important;
  background:transparent!important;
  box-sizing:border-box!important;
}


/* SEND MESSAGE — exact artwork sampled from the approved reference poster. */
.jf-submit{
  width:18.9453125vw!important;
  max-width:194px!important;
  min-width:0!important;
  height:auto!important;
  aspect-ratio:194 / 46!important;
  justify-self:start!important;
  align-self:start!important;
  margin-left:12%!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent url("assets/send-message-reference.png") center/100% 100% no-repeat!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  overflow:visible!important;
  box-shadow:none!important;
}
@media(max-width:1024px){
  .jf-submit{
    width:18.9453125vw!important;
    max-width:none!important;
  }
}


/* 2026-08-31 — lower-panel typography/symbol match to approved reference.
   Heading artwork is sampled directly from the supplied 1024×1536 reference. */
.inline-calendar-title,
.special-dates-title,
.join-heading-title{
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  padding:0!important;
  margin-left:0!important;
  background-repeat:no-repeat!important;
  background-position:left center!important;
  background-size:contain!important;
}
.inline-calendar-title{
  height:clamp(18px,3.22vw,33px)!important;
  background-image:url("assets/calendar-heading-reference.png")!important;
  margin-bottom:.15%!important;
}
.special-dates-title{
  height:clamp(18px,3.22vw,33px)!important;
  background-image:url("assets/special-heading-reference.png")!important;
  margin-bottom:2.6%!important;
}
.join-heading-title{
  height:clamp(18px,3.22vw,33px)!important;
  background-image:url("assets/join-heading-reference.png")!important;
}

/* Match the compact, condensed reference typography throughout the three cards. */
.inline-calendar-panel,
.special-dates-panel,
.join-heading-overlay,
.join-form-overlay{
  font-family:"Arial Narrow","Liberation Sans Narrow",Arial,Helvetica,sans-serif!important;
}
.inline-monthnav strong,
.inline-calendar .ichead,
.inline-calendar .icday,
.inline-legend,
.special-date-copy,
.join-heading-copy,
.join-form-overlay input,
.join-form-overlay select,
.join-form-overlay textarea{
  font-family:"Arial Narrow","Liberation Sans Narrow",Arial,Helvetica,sans-serif!important;
  font-stretch:condensed;
}
.inline-monthnav strong{font-weight:900!important;letter-spacing:.01em!important;}
.inline-calendar .ichead{font-weight:900!important;}
.inline-calendar .icday{font-weight:800!important;}
.inline-legend{font-weight:800!important;}
.special-date-copy{font-weight:800!important;}
.special-date-date,.special-date-title{font-weight:900!important;}
.join-heading-copy{font-weight:800!important;}
.join-form-overlay input,
.join-form-overlay select,
.join-form-overlay textarea{font-weight:700!important;}

/* Hide CSS-drawn/emoji heading symbols because the exact reference symbols
   are now part of the sampled heading artwork. */
.calendar-title-icon,
.special-pin{display:none!important;}


/* Ready to Join — larger copy with protected clearance above fillable fields. */
.join-heading-overlay{
  top:78.05%!important;
  height:6.25%!important;
  overflow:hidden!important;
}
.join-heading-title{
  height:clamp(20px,3.35vw,35px)!important;
  margin-bottom:.45%!important;
}
.join-heading-copy{
  font-size:clamp(7.2px,1.00vw,10.4px)!important;
  line-height:1.18!important;
  font-weight:800!important;
  max-width:94%!important;
  margin-top:.15%!important;
}
/* Keep the form safely below the enlarged intro copy. */
.join-form-overlay{
  top:84.90%!important;
}


/* Ready to Join containment fix — keep all live content inside the card border. */
.join-heading-overlay{
  top:79.05%!important;
  left:65.35%!important;
  width:30.95%!important;
  height:5.35%!important;
  overflow:hidden!important;
}
.join-heading-title{
  height:clamp(18px,3.05vw,32px)!important;
  margin-bottom:.20%!important;
}
.join-heading-copy{
  font-size:clamp(6.7px,.91vw,9.5px)!important;
  line-height:1.12!important;
  max-width:96%!important;
  margin:0!important;
}
.join-form-overlay{
  left:65.35%!important;
  top:84.55%!important;
  width:30.95%!important;
  height:10.15%!important;
}
/* Keep the button/status from spilling below the Ready to Join card. */
.jf-submit{
  align-self:start!important;
  margin-top:0!important;
}
.join-status{
  max-height:100%!important;
  overflow:hidden!important;
}


/* Definitive Ready-to-Join containment: restore the card's known-good geometry. */
.join-form-backdrop{left:64.95%!important;top:70.914%!important;width:32%!important;height:19.899945%!important;}
.join-heading-overlay{left:66.15%!important;top:71.55%!important;width:29.35%!important;height:3.85%!important;overflow:hidden!important;}
.join-heading-title{height:clamp(18px,3.05vw,32px)!important;margin:0 0 .25%!important;}
.join-heading-copy{font-size:clamp(6.5px,.88vw,9.2px)!important;line-height:1.12!important;width:100%!important;max-width:100%!important;margin:0!important;}
.join-form-overlay{left:66.15%!important;top:75.574%!important;width:29.35%!important;height:9.95%!important;}
.jf-submit{max-height:100%!important;margin-top:0!important;}


/* Ready to Join refinement:
   add breathing room below the new-bowler copy and restore the prior SEND MESSAGE size. */
.join-heading-overlay{
  top:71.45%!important;
  height:3.55%!important;
}
.join-heading-copy{
  margin:0!important;
  line-height:1.10!important;
}

/* Start the form lower to create a clear gap below the intro copy. */
.join-form-overlay{
  top:75.45%!important;
  height:10.05%!important;
}

/* Restore SEND MESSAGE to the previous pixel-matched reference dimensions. */
.jf-submit{
  width:18.9453125vw!important;
  max-width:194px!important;
  min-width:0!important;
  height:auto!important;
  aspect-ratio:194 / 46!important;
  justify-self:start!important;
  align-self:start!important;
  margin-left:12%!important;
  margin-top:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent url("assets/send-message-reference.png") center/100% 100% no-repeat!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  box-shadow:none!important;
}
@media(max-width:1024px){
  .jf-submit{
    width:18.9453125vw!important;
    max-width:none!important;
  }
}


/* READY TO JOIN — corrected spacing and containment.
   The old grid used 100% of row heights PLUS row gaps, which forced content
   outside the form and caused the fields to cover the introductory copy. */
.join-heading-overlay{
  left:66.15%!important;
  top:71.55%!important;
  width:29.35%!important;
  height:5.05%!important;
  overflow:hidden!important;
}
.join-heading-title{
  margin:0 0 .35%!important;
}
.join-heading-copy{
  font-size:clamp(6.7px,.91vw,9.5px)!important;
  line-height:1.14!important;
  margin:0!important;
  width:100%!important;
  max-width:100%!important;
}

/* Give the intro copy a true clear gap before the first fillable field. */
.join-form-overlay{
  left:66.15%!important;
  top:77.10%!important;
  width:29.35%!important;
  height:9.30%!important;
  grid-template-rows:17% 17% 20% 22% 11%!important;
  row-gap:3.2%!important;
  overflow:visible!important;
}

/* Exact SEND MESSAGE artwork from the newest supplied reference. */
.jf-submit{
  width:19.23828125vw!important;
  max-width:197px!important;
  min-width:0!important;
  height:auto!important;
  aspect-ratio:197 / 47!important;
  justify-self:start!important;
  align-self:start!important;
  margin-left:0!important;
  margin-top:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent url("assets/send-message-reference-latest.png") center/100% 100% no-repeat!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
@media(max-width:1024px){
  .jf-submit{
    width:19.23828125vw!important;
    max-width:none!important;
  }
}


/* SEND MESSAGE ONLY — exact 197×47 artwork from the supplied reference.
   No other page element is changed by this override. */
.jf-submit{
  width:min(19.23828125vw,197px)!important;
  height:auto!important;
  aspect-ratio:197 / 47!important;
  min-width:0!important;
  max-width:197px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent url("assets/send-message-exact.png") center/100% 100% no-repeat!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  box-shadow:none!important;
}
@media(max-width:1024px){
  .jf-submit{
    width:19.23828125vw!important;
    max-width:none!important;
  }
}


/* ============================================================
   PIXEL-EXACT LOWER CARD HEADING MATCH — supplied reference
   The visible icon + heading lettering is sampled directly from
   the user's 1024x1536 reference image. No emoji/CSS approximation.
   DIN Condensed Bold is retained as the live-text fallback family.
   ============================================================ */
.inline-calendar-panel,
.special-dates-panel,
.join-heading-overlay,
.join-form-overlay{
  font-family:"DIN Condensed","DIN Condensed Bold","Arial Narrow","Liberation Sans Narrow",Arial,Helvetica,sans-serif!important;
}

.inline-calendar-title,
.special-dates-title,
.join-heading-title{
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  padding:0!important;
  background-repeat:no-repeat!important;
  background-position:left center!important;
  background-size:contain!important;
}

.inline-calendar-title{
  height:clamp(19px,3.7109375vw,38px)!important;
  background-image:url("assets/calendar-heading-pixel-exact.png")!important;
}
.special-dates-title{
  height:clamp(19px,3.7109375vw,38px)!important;
  background-image:url("assets/special-heading-pixel-exact.png")!important;
}
.join-heading-title{
  height:clamp(19px,3.7109375vw,38px)!important;
  background-image:url("assets/join-heading-pixel-exact.png")!important;
}

/* Prevent any older CSS/emoji symbols from showing underneath the exact artwork. */
.calendar-title-icon,
.special-pin{
  display:none!important;
}


/* CLEAN HEADING BACKGROUNDS ONLY — prevents any visible crop artifacts. */
.inline-calendar-title,
.special-dates-title,
.join-heading-title{
  background-color:#fffdfa!important;
}


/* HEADING CLEANUP — no crop boxes; exact flat icon/text colors.
   Transparent artwork lets each card's own background show through. */
.inline-calendar-title,
.special-dates-title,
.join-heading-title{
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
}


/* ============================================================
   EXACT LOWER-CARD SYMBOLS — sampled from supplied reference
   2026-08-30 01_51_55 PM(7)
   Only the three title symbols are replaced. Card geometry,
   copy, form, calendar, dates and footer remain unchanged.
   ============================================================ */

/* Return title text to live HTML; remove the older full-heading image crops. */
.inline-calendar-title,
.special-dates-title,
.join-heading-title{
  color:#0a2048!important;
  font-size:clamp(10px,1.55vw,17px)!important;
  line-height:1.05!important;
  font-weight:900!important;
  padding:0!important;
  background-image:none!important;
  background-color:transparent!important;
  display:flex!important;
  align-items:center!important;
  white-space:nowrap!important;
}

/* Exact reference symbols, with transparent backgrounds so the card background
   remains continuous and no square/box artifact can appear. */
.calendar-title-icon,
.special-pin,
.join-title-icon{
  display:inline-block!important;
  flex:0 0 auto!important;
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
  vertical-align:middle!important;
}
.calendar-title-icon::before,
.calendar-title-icon::after,
.special-pin::before,
.special-pin::after{
  display:none!important;
  content:none!important;
}

.calendar-title-icon{
  width:1.72em!important;
  height:1.60em!important;
  margin-right:.48em!important;
  background-image:url("assets/icon-league-calendar-reference.png")!important;
}
.special-pin{
  width:1.55em!important;
  height:1.60em!important;
  margin-right:.44em!important;
  background-image:url("assets/icon-special-dates-reference.png")!important;
}
.join-title-icon{
  width:1.58em!important;
  height:1.45em!important;
  margin-right:.42em!important;
  background-image:url("assets/icon-ready-to-join-reference.png")!important;
}


/* LOWER CARD HEADING FONT ONLY — Bebas Neue target */
.inline-calendar-title,
.special-dates-title,
.join-heading-title{
  font-family:"Bebas Neue","Arial Narrow","Liberation Sans Narrow",Arial,sans-serif!important;
  font-weight:700!important;
  font-style:normal!important;
  letter-spacing:.01em!important;
}


/* LOWER CARD HEADINGS ONLY — bold + exactly 5% larger */
.inline-calendar-title,
.special-dates-title,
.join-heading-title{
  font-weight:900!important;
  font-size:clamp(10.5px,1.6275vw,17.85px)!important;
}


/* SPECIAL DATES & NOTES — fit within card borders only */
.special-dates-title{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  font-size:clamp(10.2px,1.54vw,16.9px)!important;
  letter-spacing:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.special-dates-title .special-pin{
  margin-right:.34em!important;
}


/* REQUESTED REFINEMENTS ONLY */

/* Keep SPECIAL DATES & NOTES comfortably inside the right card border. */
.special-dates-title{
  width:94%!important;
  max-width:94%!important;
  font-size:clamp(9.7px,1.45vw,16px)!important;
  letter-spacing:-.005em!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
.special-dates-title .special-pin{
  margin-right:.28em!important;
}

/* Center EVERY OTHER WEEK across the full Misfits / St. Edwards card widths. */
.dynamic-league-card.dlc-7 .dlc-alt,
.dynamic-league-card.dlc-8 .dlc-alt{
  align-self:stretch!important;
  width:140.85%!important;
  margin-left:-35.2%!important;
  margin-right:0!important;
  text-align:center!important;
  white-space:nowrap!important;
}


/* ============================================================
   MOBILE RESPONSIVE SAFETY OVERRIDES
   Desktop appearance is unchanged.
   The 1024x1536 poster scales proportionally to the device width.
   ============================================================ */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.poster{
  width:min(100%,1024px)!important;
  max-width:1024px!important;
  min-width:0!important;
  aspect-ratio:2 / 3!important;
}

.poster img{
  max-width:100%;
}

/* Improve touch behavior without changing visual geometry. */
a, button, input, select, textarea{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

/* Keep the schedule dialog fully inside a phone viewport. */
.schedule-dialog{
  max-width:94vw;
  max-height:92dvh;
  overflow:auto;
}

@media (max-width:700px){
  body{
    margin:0!important;
    padding:0!important;
  }

  .poster{
    width:100%!important;
    margin:0 auto!important;
    box-shadow:none!important;
  }

  .schedule-dialog{
    width:96vw!important;
    max-width:96vw!important;
    max-height:92dvh!important;
    border-radius:10px!important;
  }

  .dialog-shell{
    padding:12px!important;
  }

  .dialog-head h2{
    font-size:clamp(20px,6vw,28px)!important;
  }

  .live-calendar .day{
    min-height:58px!important;
  }
}

/* Very small phones: preserve the full poster without horizontal scrolling. */
@media (max-width:420px){
  .poster{
    width:100%!important;
  }

  .schedule-dialog{
    width:98vw!important;
    max-width:98vw!important;
  }
}


/* TUESDAY–FRIDAY LEAGUE CARD ARTIFACT CLEANUP ONLY
   The base artwork is already clean here; remove the obsolete white cleanup
   strip that was leaving a visible patch beside the replacement symbols. */
.dynamic-league-card.dlc-2 .dlc-details::after,
.dynamic-league-card.dlc-3 .dlc-details::after,
.dynamic-league-card.dlc-4 .dlc-details::after,
.dynamic-league-card.dlc-5 .dlc-details::after{
  display:none!important;
  content:none!important;
}


/* WEEKEND LEAGUE LOGOS — complete reference restorations, no bottom clipping */
.weekend-logo{
  position:absolute;
  z-index:9;
  display:block;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  overflow:visible;
}
.weekend-logo-6{left:7.12890625%;top:45.703125%;width:6.93359375%;height:3.84114583%;}
.weekend-logo-7{left:23.046875%;top:45.703125%;width:6.15234375%;height:3.77604167%;}
.weekend-logo-8{left:39.55078125%;top:45.63802083%;width:5.37109375%;height:3.84114583%;}
.weekend-logo-9{left:54.6875%;top:45.703125%;width:6.34765625%;height:3.77604167%;}
.weekend-logo-10{left:71.09375%;top:45.57291667%;width:5.76171875%;height:3.90625%;}
.weekend-logo-11{left:86.9140625%;top:45.57291667%;width:5.859375%;height:4.03645833%;}

/* Hide the older Juniors-only restore so the new complete reference logo is the sole overlay. */
.juniors-logo-restore{display:none!important;}


/* WEEKEND LOGO DUPLICATE FIX
   Cover only the original baked weekend-logo areas underneath the replacement
   overlays. New weekend-logo PNG overlays remain as the sole visible symbols. */
.poster::after{
  content:"";
  position:absolute;
  z-index:8;
  pointer-events:none;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background:
    linear-gradient(#fafafa,#fafafa) 7.0% 45.55% / 7.3% 4.35% no-repeat,
    linear-gradient(#fafafa,#fafafa) 22.8% 45.55% / 6.8% 4.35% no-repeat,
    linear-gradient(#fafafa,#fafafa) 39.3% 45.55% / 6.0% 4.35% no-repeat,
    linear-gradient(#fafafa,#fafafa) 54.4% 45.55% / 6.8% 4.35% no-repeat,
    linear-gradient(#fafafa,#fafafa) 70.8% 45.50% / 6.3% 4.45% no-repeat,
    linear-gradient(#fafafa,#fafafa) 86.6% 45.50% / 6.5% 4.50% no-repeat;
}

/* Keep all live content and the replacement logos above the cleanup patches. */
.dynamic-league-card,
.weekend-logo,
.standings-hotspot,
.schedule-strip-hotspot,
.inline-calendar,
.special-dates,
.join-form-backdrop,
.join-heading-overlay,
.join-form-overlay,
.aligned-footer-banner{
  z-index:9;
}
.weekend-logo{z-index:10!important;}


/* ============================================================
   WEEKEND LEAGUE SYMBOL RESET
   - baked weekend symbols erased from the master artwork
   - one replacement symbol per card
   - weekday-style placement: centered below header, beside number
   ============================================================ */

/* Disable obsolete Juniors-only restore and any old duplicate-cover pseudo layer. */
.juniors-logo-restore{display:none!important;}
.poster::after{display:none!important;content:none!important;}

/* Replacement weekend symbols */
.weekend-logo{
  position:absolute!important;
  z-index:9!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  overflow:visible!important;
}
.weekend-logo-6{left:6.8000%!important;top:45.62%!important;width:6.4000%!important;height:3.4500%!important;}
.weekend-logo-7{left:22.8000%!important;top:45.62%!important;width:5.9000%!important;height:3.4500%!important;}
.weekend-logo-8{left:38.6500%!important;top:45.62%!important;width:5.2000%!important;height:3.4500%!important;}
.weekend-logo-9{left:55.0500%!important;top:45.62%!important;width:6.1000%!important;height:3.4500%!important;}
.weekend-logo-10{left:71.4000%!important;top:45.62%!important;width:5.6000%!important;height:3.4500%!important;}
.weekend-logo-11{left:87.2000%!important;top:45.62%!important;width:5.8000%!important;height:3.4500%!important;}

.dynamic-league-card{z-index:8!important;}
.weekend-logo{z-index:9!important;}


/* WEEKEND SYMBOL FINAL CLEANUP
   Symbol-only artwork; compact weekday-style placement with clear heading gap. */
.weekend-logo{
  top:44.45%!important;
  height:2.55%!important;
  object-fit:contain!important;
  object-position:center center!important;
  overflow:visible!important;
}
.weekend-logo-6{left:7.00%!important;width:6.00%!important;}
.weekend-logo-7{left:22.90%!important;width:5.70%!important;}
.weekend-logo-8{left:39.35%!important;width:5.20%!important;}
.weekend-logo-9{left:54.80%!important;width:6.00%!important;}
.weekend-logo-10{left:71.25%!important;width:5.55%!important;}
.weekend-logo-11{left:87.05%!important;width:5.75%!important;}


/* WEEKEND SYMBOL VERTICAL ALIGNMENT ONLY
   Move the six symbol-only overlays down so they sit directly above
   their corresponding league names, matching the weekday card spacing. */
.weekend-logo-6,
.weekend-logo-7,
.weekend-logo-8,
.weekend-logo-9,
.weekend-logo-10,
.weekend-logo-11{
  top:45.72%!important;
}


/* WEEKEND SYMBOLS — move down 15% of their own displayed height only */
.weekend-logo-6,
.weekend-logo-7,
.weekend-logo-8,
.weekend-logo-9,
.weekend-logo-10,
.weekend-logo-11{
  top:46.1025%!important;
}


/* WEEKEND SYMBOLS ONLY — additional 30% lower and 5% larger */
.weekend-logo-6,
.weekend-logo-7,
.weekend-logo-8,
.weekend-logo-9,
.weekend-logo-10,
.weekend-logo-11{
  top:46.8675%!important;
  height:2.6775%!important;
}
.weekend-logo-6{left:6.85000%!important;width:6.30000%!important;}
.weekend-logo-7{left:22.75750%!important;width:5.98500%!important;}
.weekend-logo-8{left:39.22000%!important;width:5.46000%!important;}
.weekend-logo-9{left:54.65000%!important;width:6.30000%!important;}
.weekend-logo-10{left:71.11125%!important;width:5.82750%!important;}
.weekend-logo-11{left:86.90625%!important;width:6.03750%!important;}


/* WEEKEND SYMBOLS ONLY — additional 15% lower */
.weekend-logo-6,
.weekend-logo-7,
.weekend-logo-8,
.weekend-logo-9,
.weekend-logo-10,
.weekend-logo-11{
  top:47.269125%!important;
}


/* WEEKEND LEAGUE HEADING CLEARANCE FIX ONLY
   Keep symbol placement unchanged; ensure Saturday/Sunday league names
   render cleanly below and above the symbol bounding boxes. */
.dynamic-league-card.dlc-6 .dlc-name,
.dynamic-league-card.dlc-7 .dlc-name,
.dynamic-league-card.dlc-8 .dlc-name,
.dynamic-league-card.dlc-9 .dlc-name,
.dynamic-league-card.dlc-10 .dlc-name,
.dynamic-league-card.dlc-11 .dlc-name{
  position:relative!important;
  z-index:12!important;
  margin-top:1.1%!important;
  overflow:visible!important;
}

/* Symbol boxes stay behind the league-name text so their transparent bounds
   can never cover or clip the headings. */
.weekend-logo-6,
.weekend-logo-7,
.weekend-logo-8,
.weekend-logo-9,
.weekend-logo-10,
.weekend-logo-11{
  z-index:9!important;
  pointer-events:none!important;
}


/* WEEKEND HEADING RESTORE
   Header artwork repaired directly in the poster image.
   Keep league-name overlays in their original absolute geometry. */
.dynamic-league-card.dlc-6 .dlc-name,
.dynamic-league-card.dlc-7 .dlc-name,
.dynamic-league-card.dlc-8 .dlc-name,
.dynamic-league-card.dlc-9 .dlc-name,
.dynamic-league-card.dlc-10 .dlc-name,
.dynamic-league-card.dlc-11 .dlc-name{
  position:absolute!important;
  margin-top:0!important;
  overflow:visible!important;
  z-index:12!important;
}


/* ============================================================
   WEEKEND CARDS — MATCH WEEKDAY CARD FORMATTING
   Use the same league-name, detail, and STARTS geometry as
   Monday–Friday. Weekend symbol positions remain unchanged.
   ============================================================ */
.dynamic-league-card.dlc-6 .dlc-name,
.dynamic-league-card.dlc-7 .dlc-name,
.dynamic-league-card.dlc-8 .dlc-name,
.dynamic-league-card.dlc-9 .dlc-name,
.dynamic-league-card.dlc-10 .dlc-name,
.dynamic-league-card.dlc-11 .dlc-name{
  left:10%!important;
  top:7%!important;
  width:84%!important;
  height:29%!important;
  position:absolute!important;
  margin-top:0!important;
  overflow:visible!important;
  z-index:12!important;
}

.dynamic-league-card.dlc-6 .dlc-details,
.dynamic-league-card.dlc-7 .dlc-details,
.dynamic-league-card.dlc-8 .dlc-details,
.dynamic-league-card.dlc-9 .dlc-details,
.dynamic-league-card.dlc-10 .dlc-details,
.dynamic-league-card.dlc-11 .dlc-details{
  left:26%!important;
  top:38%!important;
  width:70%!important;
  height:40%!important;
}

.dynamic-league-card.dlc-6 .dlc-start,
.dynamic-league-card.dlc-7 .dlc-start,
.dynamic-league-card.dlc-8 .dlc-start,
.dynamic-league-card.dlc-9 .dlc-start,
.dynamic-league-card.dlc-10 .dlc-start,
.dynamic-league-card.dlc-11 .dlc-start{
  left:8%!important;
  top:82%!important;
  width:84%!important;
  height:14%!important;
  transform:none!important;
}


/* ============================================================
   WEEKEND HEADER / SYMBOL ARTIFACT FIX
   Disable the obsolete white detail-cleanup pseudo overlays on
   Saturday/Sunday cards. These rectangles were extending upward
   and leftward into the number/logo/header area and creating the
   clipped/artifacted appearance.
   Weekday behavior and all weekend geometry remain unchanged.
   ============================================================ */
.dynamic-league-card.dlc-6 .dlc-details::after,
.dynamic-league-card.dlc-7 .dlc-details::after,
.dynamic-league-card.dlc-8 .dlc-details::after,
.dynamic-league-card.dlc-9 .dlc-details::after,
.dynamic-league-card.dlc-10 .dlc-details::after,
.dynamic-league-card.dlc-11 .dlc-details::after{
  display:none!important;
  content:none!important;
  background:none!important;
}


/* WEEKEND LEAGUE SYMBOLS ONLY — move upward 20% of displayed height */
.weekend-logo-6,
.weekend-logo-7,
.weekend-logo-8,
.weekend-logo-9,
.weekend-logo-10,
.weekend-logo-11{
  top:45.09%!important;
}


/* WEEKEND LEAGUE SYMBOLS ONLY — move down 10% of displayed height */
.weekend-logo-6,
.weekend-logo-7,
.weekend-logo-8,
.weekend-logo-9,
.weekend-logo-10,
.weekend-logo-11{
  top:45.405%!important;
}


/* WEEKEND LEAGUE SYMBOLS ONLY — additional 5% downward */
.weekend-logo-6,
.weekend-logo-7,
.weekend-logo-8,
.weekend-logo-9,
.weekend-logo-10,
.weekend-logo-11{
  top:45.5625%!important;
}


/* WEEKEND CARD LIVE CONTENT ONLY — move requested items upward 7% */
.dynamic-league-card.dlc-6 .dlc-name,
.dynamic-league-card.dlc-7 .dlc-name,
.dynamic-league-card.dlc-8 .dlc-name,
.dynamic-league-card.dlc-9 .dlc-name,
.dynamic-league-card.dlc-10 .dlc-name,
.dynamic-league-card.dlc-11 .dlc-name{
  transform:translateY(-7%)!important;
}

.dynamic-league-card.dlc-6 .dlc-details,
.dynamic-league-card.dlc-7 .dlc-details,
.dynamic-league-card.dlc-8 .dlc-details,
.dynamic-league-card.dlc-9 .dlc-details,
.dynamic-league-card.dlc-10 .dlc-details,
.dynamic-league-card.dlc-11 .dlc-details{
  transform:translateY(-7%)!important;
}

.dynamic-league-card.dlc-7 .dlc-alt,
.dynamic-league-card.dlc-8 .dlc-alt{
  transform:translateY(-7%)!important;
}


/* WEEKEND CARD LIVE CONTENT ONLY — 10% upward total */
.dynamic-league-card.dlc-6 .dlc-name,
.dynamic-league-card.dlc-7 .dlc-name,
.dynamic-league-card.dlc-8 .dlc-name,
.dynamic-league-card.dlc-9 .dlc-name,
.dynamic-league-card.dlc-10 .dlc-name,
.dynamic-league-card.dlc-11 .dlc-name{
  transform:translateY(-10%)!important;
}

.dynamic-league-card.dlc-6 .dlc-details,
.dynamic-league-card.dlc-7 .dlc-details,
.dynamic-league-card.dlc-8 .dlc-details,
.dynamic-league-card.dlc-9 .dlc-details,
.dynamic-league-card.dlc-10 .dlc-details,
.dynamic-league-card.dlc-11 .dlc-details{
  transform:translateY(-10%)!important;
}

.dynamic-league-card.dlc-7 .dlc-alt,
.dynamic-league-card.dlc-8 .dlc-alt{
  transform:translateY(-10%)!important;
}


/* WEEKEND CARD LIVE CONTENT ONLY — additional 10% upward (20% total) */
.dynamic-league-card.dlc-6 .dlc-name,
.dynamic-league-card.dlc-7 .dlc-name,
.dynamic-league-card.dlc-8 .dlc-name,
.dynamic-league-card.dlc-9 .dlc-name,
.dynamic-league-card.dlc-10 .dlc-name,
.dynamic-league-card.dlc-11 .dlc-name{
  transform:translateY(-20%)!important;
}

.dynamic-league-card.dlc-6 .dlc-details,
.dynamic-league-card.dlc-7 .dlc-details,
.dynamic-league-card.dlc-8 .dlc-details,
.dynamic-league-card.dlc-9 .dlc-details,
.dynamic-league-card.dlc-10 .dlc-details,
.dynamic-league-card.dlc-11 .dlc-details{
  transform:translateY(-20%)!important;
}

.dynamic-league-card.dlc-7 .dlc-alt,
.dynamic-league-card.dlc-8 .dlc-alt{
  transform:translateY(-20%)!important;
}


/* WEEKEND LEAGUE NAMES ONLY — additional 5% upward */
.dynamic-league-card.dlc-6 .dlc-name,
.dynamic-league-card.dlc-7 .dlc-name,
.dynamic-league-card.dlc-8 .dlc-name,
.dynamic-league-card.dlc-9 .dlc-name,
.dynamic-league-card.dlc-10 .dlc-name,
.dynamic-league-card.dlc-11 .dlc-name{
  transform:translateY(-25%)!important;
}


/* WEEKEND LEAGUE SYMBOLS ONLY — additional 7% downward */
.weekend-logo-6,
.weekend-logo-7,
.weekend-logo-8,
.weekend-logo-9,
.weekend-logo-10,
.weekend-logo-11{
  top:45.783%!important;
}


/* MISFITS LEAGUE LOGO ONLY — 5% larger, centered in same position */
.weekend-logo-7{
  left:22.607875%!important;
  width:6.284250%!important;
}


/* SEND MESSAGE BUTTON ONLY — match supplied reference */
.jf-submit{
  width:66%!important;
  height:100%!important;
  min-height:0!important;
  justify-self:start!important;
  align-self:center!important;
  margin:0!important;
  padding:0 7%!important;
  box-sizing:border-box!important;
  border:1px solid #e11a16!important;
  border-radius:5px!important;
  background:linear-gradient(180deg,#e31410 0%,#c90000 58%,#b90000 100%)!important;
  box-shadow:0 2px 4px rgba(0,0,0,.28)!important;
  color:#fff!important;
  font-family:"Bebas Neue","Arial Narrow","Liberation Sans Narrow",Arial,sans-serif!important;
  font-size:clamp(8px,1.42vw,15px)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  text-align:center!important;
  white-space:nowrap!important;
}


/* SEND MESSAGE BUTTON ONLY — 10% taller; text/symbol remain undistorted */
.jf-submit{
  height:110%!important;
  transform:none!important;
}


/* SEND MESSAGE BUTTON ONLY — 20% taller total; text/symbol remain undistorted */
.jf-submit{
  height:120%!important;
  transform:none!important;
}


/* Additional editable colors for Special Dates & Notes */
.special-date-item[data-color="yellow"] .special-date-dot{background:#f2c500}
.special-date-item[data-color="pink"] .special-date-dot{background:#d81b60}
.special-date-item[data-color="teal"] .special-date-dot{background:#00897b}
.special-date-item[data-color="cyan"] .special-date-dot{background:#0097a7}
.special-date-item[data-color="maroon"] .special-date-dot{background:#800000}
.special-date-item[data-color="gold"] .special-date-dot{background:#c69200}
.special-date-item[data-color="brown"] .special-date-dot{background:#795548}
.special-date-item[data-color="gray"] .special-date-dot{background:#616161}
.special-date-item[data-color="black"] .special-date-dot{background:#111}

.special-date-item[data-color="yellow"] .special-date-date{color:#9a7900}
.special-date-item[data-color="pink"] .special-date-date{color:#d81b60}
.special-date-item[data-color="teal"] .special-date-date{color:#00897b}
.special-date-item[data-color="cyan"] .special-date-date{color:#007f8c}
.special-date-item[data-color="maroon"] .special-date-date{color:#800000}
.special-date-item[data-color="gold"] .special-date-date{color:#9a7200}
.special-date-item[data-color="brown"] .special-date-date{color:#795548}
.special-date-item[data-color="gray"] .special-date-date{color:#616161}
.special-date-item[data-color="black"] .special-date-date{color:#111}
