/* ============================== VARIABLES ============================== */
:root{
  --panthers-black: black;
  --panthers-turquoise: #0085CA;
  --page:#0b0f13;
  --panel:#131a22;
  --text: #e8e8e8;
  --muted: #b6b6b6;
  --bg: #0d0f12;
  --bg-accent:#0b1016;
  --card: #121418;
  --accent: var(--panthers-turquoise);

  --row-odd-bg: rgba(0,0,0,0);
  --row-odd-fg: black;
  --row-even-bg: black;
  --row-even-fg: #E5E7EB;

  --notch: 88%;
  --center: clamp(120px, 12vw, 180px);

  --tbl-bg: #0f141a;
  --tbl-head: #121a24;
  --tbl-row: #101721;
  --tbl-row-alt: #0c121a;
  --tbl-line: #1a2431;
  --ink: var(--accent);

  --nav-h: 76px;
  --logo-size: 140px;
  --logo-lap: 62px;
}
/* ============================== BASE LAYOUT ============================ */
*{ box-sizing: border-box; }
html, body{
  height: 100%;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  margin: 0;
  color: var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  line-height: 1.55;
}
main.container{ margin: 0 auto; flex: 1 0 auto; min-height: 0; width: 100%; }
main{  flex: 1 0 auto;  min-height: 0;}

.site-header{ background: var(--panthers-black); border-bottom: 1px solid #1d222b; position: sticky; top: 0; z-index: 20; flex: 0 0 auto; }
.site-header, .nav-wrap{ overflow: visible; }
main .card{ background: var(--card); border: 1px solid #1b2028; }

.site-footer{ background: var(--panthers-black); border-top: 1px solid #1d222b; z-index: 20; flex: 0 0 auto; margin-top: auto; }

/* ================================ NAV ================================== */
.nav-wrap{ background: var(--panthers-black); border-bottom: 1px solid #1b2028; box-shadow: 0 0 15px black; }
.nav-inner{
  display: grid;
  grid-template-columns: 1fr auto 1fr; /* logo centered */
  align-items: center;
  gap: 1rem;
  min-height: var(--nav-h);
  position: relative;
}

.site-header .nav-left,
.site-header .nav-right{
  display: flex; gap: .9rem;
  white-space: nowrap;
  width: max-content;
  min-width: 0;
}
.site-header .nav-left{  grid-column: 1; justify-self: end;   justify-content: flex-end;  }
.site-header .nav-right{ grid-column: 3; justify-self: start; justify-content: flex-start; }

.nav-link{
  font-weight: 800; font-size: large;
  color: var(--accent);
  text-decoration: none;
  padding: .4rem .6rem;
  border-radius: .5rem;
}
.nav-link:hover{ color: var(--text); background: rgba(255,255,255,.04); }

/* Centered, lapped logo */
.nav-logo{
  grid-column: 2;
  justify-self: center;
  position: relative;
  display: grid;
  place-items: center;
  height: var(--nav-h);
  width: var(--logo-size);
  min-width: var(--logo-size);
  --logo-lap: 10px;
}
.nav-logo img{
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%) translateY(var(--logo-lap));
  height: var(--logo-size); width: auto;
  z-index: 25;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.85));
  pointer-events: none; /* burger still clickable */
}

/* Burger */
.burger{ display:none; width:40px; height:40px; background:transparent; border:0; cursor:pointer; position:relative; z-index:60; }
.burger span{ display:block; height:2px; margin:7px; background: var(--text); }

/* Mobile nav */
@media (max-width: 1024px){
  .burger{ display:block;     position: absolute;
    right: max(12px, env(safe-area-inset-right));
    top:max(12px, env(safe-area-inset-right));}

  .site-header .nav-left,
  .site-header .nav-right{ display: none !important; }

  body.nav-open .site-header .nav-left{ padding-top: 2rem; }
  body.nav-open .site-header .nav-left,
  body.nav-open .site-header .nav-right{
    width:100%; text-align:center;
    display:flex !important; flex-direction:column;
    grid-column: 1 / -1; background: var(--panthers-black, #0b0c0e);
  }
  body.nav-open .site-header .nav-left{  grid-row: 2; }
  body.nav-open .site-header .nav-right{ grid-row: 3; }

  .nav-inner{ grid-template-columns: auto 1fr auto; }
  .nav-logo img{ pointer-events: none; }
}

/* ============================ ROW SYSTEM =============================== */
.stack{ display: grid; }
.stack .row{ padding: 1rem 1rem 3rem; background-color: var(--row-bg); color: var(--row-fg); }
.stack .row:nth-child(odd){  --row-bg: var(--row-odd-bg);  --row-fg: var(--row-odd-fg); }
.stack .row:nth-child(even){ --row-bg: var(--row-even-bg); --row-fg: var(--row-even-fg); box-shadow: 0 0 10px 3px black; z-index:10; }

.row--full{ display:block; } /* place-items on block has no effect */
.row--split{
  display:grid; gap:1rem; align-items:start; place-items:center; justify-items:stretch;
}
.row, .row--split, .columns{ align-items:start; justify-items:start; }
.split-60-40{ grid-template-columns: 54% 45%; }
.split-40-60{ grid-template-columns: 49% 60%; }
.split-30-70{ grid-template-columns: 29% 70%; }
.split-70-30{ grid-template-columns: 69% 30%; }
.split-50-50{ grid-template-columns: 49% 50%; }
.row--split > *{ min-width:0; }
/* Collapse all split rows to one column at 1377px and below */
@media (max-width: 1377px){
  section.row.row--split,
  .row--split{
    grid-template-columns: 1fr !important;
    gap: clamp(12px, 2vw, 20px);
  }
  /* if any children have fixed widths, let them fill */
  .row--split > *{ width: 100%; min-width: 0; }
}

@media (max-width: 768px){ .row--split{ grid-template-columns: 1fr; } }

.row-single-page{ color:white !important; background:black !important; }

.row-center-heading{ display:grid; place-items:center; text-align:center; }
.h1-tilt{ margin:0; display:inline-block; transform: rotate(-2deg) translateY(-1px); transform-origin:left center; }
.row--parallax h1{ font-size: xxx-large; margin:auto; color:#fff; text-shadow: -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000, 2px 2px 0 #000; }

/* ============================ PARALLAX ================================ */
/* PARALLAX — grayscale only the background image */
.row--parallax{
  position: relative;
  min-height: var(--h);
  padding-block: var(--pad);
  background: none;           
  isolation: isolate;      
  background-image: linear-gradient(#000, #000), var(--photo);
  background-position: center calc(var(--y) + var(--y-nudge));
  background-attachment: fixed, fixed; 
  background-repeat:no-repeat, no-repeat;
  background-size: var(--bg-size, cover);   
  background-blend-mode: saturation;   
}

/* background layer (grayscaled) */
.row--parallax::before{
  content:"";
  position:absolute; inset:0;
  background: inherit;       
  background-blend-mode: saturation;   
  -webkit-filter: none !important;
  filter: none !important;
  z-index: 0;
}
/* your dark overlay stays above the image, below content */
.row--parallax::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.40), rgba(0,0,0,.40));
  z-index: 1; pointer-events:none;
}
/* override just for sections that add .no-gray */
.row--parallax.no-gray::before{
  background-image: var(--photo) !important;   /* remove the black layer */
  background-blend-mode: normal !important;
}
/* ensure content sits above both layers */
.row--parallax > *{ position: relative; z-index: 2; }

/* mobile / reduced motion: disable fixed background on the section itself */
@media (max-width: 800px), (prefers-reduced-motion: reduce){
  .row--parallax{
    background-attachment: scroll, scroll;   /* no more fixed */
    background-position: center 60%;
    /* optional: smaller height on mobile */
    min-height: 20vh;
    padding-block: 4vh;
  }
}



/* ========================== AFVBY SCHEDULE ============================ */
.match-row{
  display:grid;
  grid-template-columns: minmax(0,1fr) var(--center, clamp(140px, 24vw, 320px)) minmax(0,1fr);
  column-gap: 0;
  width: 100%;
  padding-bottom: 16px;
}
.match-row > *{ min-width:0; }

.center{
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.35rem;
}
afvby-schedule, .afvby-schedule{
  width: 100%;
}
.afvby-schedule .center .score{ white-space:nowrap; font-weight:800; letter-spacing:.2em; }
.afvby-schedule .center .date{ opacity:.9; font-size:.9rem; }
.afvby-schedule .center .venue{ opacity:.7; font-size:.85rem; }
.afvby-schedule .empty{font-size: larger;  font-weight: 700;}
.afvby-schedule .team-badge{
  display:inline-block; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  font-size:.75rem; color:var(--accent); padding:.2rem .6rem; margin-bottom:.25rem;
}
.left img, .right img{ max-width:100%; height:auto; }
.afvby-schedule .score .win { color:var(--accent); text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; }

.afvby-schedule{ --notch-pad: clamp(22px, 2.6vw, 36px); }
.afvby-schedule .match-row article{ background: var(--accent); }

.afvby-schedule .match-row .panel{
  position:relative; color:var(--text); border-radius:10px; display:flex; align-items:center; gap:10px;
}
.afvby-schedule .match-row .panel > *{ position:relative; z-index:1; }

.afvby-schedule .match-row .panel.Panthers{
  --stroke: 3px; --stroke-color: var(--accent); --fill: #000;
  position: relative; background: var(--stroke-color); overflow: hidden;
}
.afvby-schedule .match-row .panel.Panthers .sub{
  color:var(--accent);
}
.afvby-schedule .match-row .panel.Panthers::before{
  content:""; position:absolute; inset:var(--stroke); background: var(--fill);
  border-radius: calc(10px - var(--stroke)); pointer-events:none;
}
.afvby-schedule .match-row .panel.Panthers.left::before{
  clip-path: polygon(100% 0, 100% 18%, var(--notch) 100%, 0 100%, 0 0);
}
.afvby-schedule .match-row .panel.Panthers.right::before{
  clip-path: polygon(0 0, 0 18%, calc(100% - var(--notch)) 100%, 100% 100%, 100% 0);
}
.afvby-schedule .match-row .panel.left{
  padding-inline-end: var(--notch-pad);
  clip-path: polygon(100% 0, 100% 20%, var(--notch) 100%, 0 100%, 0 0);
  justify-content:flex-start;
}
.afvby-schedule .match-row .panel.right{
  padding-inline-start: var(--notch-pad);
  clip-path: polygon(0 0, 0 20%, calc(100% - var(--notch)) 100%, 100% 100%, 100% 0);
  justify-content:flex-end;
}
.afvby-schedule .match-row .logo{
  max-height: clamp(56px, 12vw, 108px); height:auto; width:auto; flex:0 0 auto;
  filter: drop-shadow(0 10px 10px rgba(0,0,0,.85));
}
.afvby-schedule .match-row .text{ line-height:1.15; }
.afvby-schedule .match-row .left .text{ text-align:left; }
.afvby-schedule .match-row .right .text{ text-align:right; }
.afvby-schedule .match-row .team{
  margin:0 0 6px 0; font-weight:800; font-size: clamp(18px, 2.2vw, 28px);
  letter-spacing:.06em; text-transform:uppercase;
}
.afvby-schedule .match-row .sub{
  margin:0; font-weight:600; font-size: clamp(12px, 1.4vw, 14px);
  letter-spacing:.3em; text-transform:uppercase; color:black;
}
.afvby-schedule .match-row .score{
  text-align:center; margin:0; font-weight:800; letter-spacing:.18em; text-transform:uppercase; font-size: clamp(16px, 2.1vw, 24px);
}

/* Phone: stack */
@media (max-width: 800px){
  .match-row{ grid-template-columns: 1fr; gap:14px; }
  .panel.right{ order:3; } .center{ order:2; }
}
/* make each match row a size container */
.match-row{ container-type: inline-size; }

/* hide text only when that specific row is narrower than 855px */
@container (max-width: 855px){
  .match-row .panel .text{ display:none; }
  .afvby-schedule .match-row img{ margin-inline: auto; }
}
/* ========================= LATEST RESULT BLOCK ======================== */
.afvby-latest{ --ink:#111; --muted:#8a8f98; --divider:#e6e9ee; --center: clamp(220px, 28vw, 420px); --logo-w: clamp(160px, 28cqw, 360px);}
.afvby-latest .result-row{
  display: grid;
  grid-template-areas: "left center right";
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  column-gap: clamp(12px, 2cqw, 28px);   /* uses container width */
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  box-sizing: border-box;
  container-type: inline-size;           /* keeps your container queries working */
}
.afvby-latest .result-row > *{ min-width: 0; }
.afvby-latest .box{position: relative; overflow: hidden; display:grid; align-items:center; gap: clamp(16px, 3cqw, 28px); }
.afvby-latest .box.left{ grid-area: left; justify-content:flex-end; grid-template-areas: "logo text";}
.afvby-latest .box.right{ grid-area: right; justify-content:flex-start;  grid-template-areas: "text logo";}
.afvby-latest .logo{  grid-area: logo; width: var(--logo-w); height:auto; object-fit:contain; filter: drop-shadow(0 3px 7px rgba(0,0,0,1)); position: relative; z-index: 2;   }
.afvby-latest .text{ grid-area: text; line-height:1.05; }
.afvby-latest .team{ margin:0; font-weight:900; font-size: clamp(22px, 3cqw, 40px); color: var(--ink); letter-spacing:.01em; } 
.afvby-latest .sub{ margin:.3rem 0 0; font-weight:800; font-size: clamp(12px, 1.7cqw, 16px); color: var(--accent); letter-spacing:.18em; text-transform:uppercase; }
.afvby-latest .center{ grid-area: center; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.4rem; padding:0 clamp(8px, 1.5cqw, 12px); z-index:1; }
.afvby-latest .score{ display:flex; align-items:baseline; gap:.5rem; font-weight:900; font-size: clamp(40px, 7cqw, 88px); line-height:1; color: var(--ink); letter-spacing:.02em; white-space:nowrap; }
.afvby-latest .score .num{ font-variant-numeric: tabular-nums; color: var(--accent); }
.afvby-latest .score .sep{ color: var(--accent); }
.afvby-latest .date{ color: var(--panthers-black); }
.afvby-latest .countdown{ font-size: large; font-weight:800; color: var(--accent); }

/* CLAW anchored to the logo */
.afvby-latest .box.lose-kralle::after{
  content: "";
  grid-area: logo;              
  justify-self: end;       
  width: 100%;       
  height: calc(var(--logo-w) * 1.1); 
  background: url("/assets/img/kralle.png") center/contain no-repeat;
  pointer-events: none;
  z-index: 3;
}

.afvby-latest .box.right.lose-kralle::after{justify-self: start;  transform: scaleX(-1);  transform-origin: center;}
@container (max-width: 870px){
  .result-row .box .text{ display:none; }
  .result-row .box img{ margin-inline: auto; }

  .afvby-latest .box.left .logo,
  .afvby-latest .box.right .logo{ justify-self: center; }
  .afvby-latest .box.left.lose-kralle::after,
  .afvby-latest .box.right.lose-kralle::after{ justify-self: center; }
}

/* ============================ AFVBY TABLE ============================= */
afvby-table{ display:block; color: var(--ink); overflow:auto; width: 100%}
afvby-table .group-label{
  display:inline-flex; align-items:center; gap:.5rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em;
  color: var(--accent); padding:.4rem .7rem; border-radius:999px; margin: 2px 2px 10px;
}
afvby-table table.afvby-table{
  width:100%; border-collapse:separate; border-spacing:0; background: var(--tbl-bg);
  border-radius:10px; font-variant-numeric: tabular-nums; overflow:hidden;
}
afvby-table .afvby-table thead th{
  position:sticky; top:0; z-index:1; background: var(--accent); color: var(--panthers-black);
  text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; padding:.9rem 1rem; border-bottom:1px solid var(--tbl-line); white-space:nowrap;
}
afvby-table .afvby-table td{ padding:.85rem 1rem; border-bottom:1px dashed rgba(255,255,255,.06); }
afvby-table .afvby-table tbody tr:last-child td{ border-bottom:0; }

/* All rows black; hover except .row-comment */
afvby-table .afvby-table tbody tr{ background:black; }
afvby-table .afvby-table tbody tr:not(.row-comment):hover{
  background: linear-gradient(90deg, rgba(0,133,202,.08), transparent 40%);
}
afvby-table .afvby-table tbody tr.row-comment td{ text-align:left; color: var(--accent) !important;}

/* alignment */
afvby-table .afvby-table th,
afvby-table .afvby-table td{ text-align:left; }

/* tighten pairs like 180:61 */
afvby-table .afvby-table td:nth-child(8),
afvby-table .afvby-table td:nth-child(9){ white-space:nowrap; }

/* emphasis */
afvby-table .afvby-table tbody tr td:first-child{ text-align:center; font-weight:500; color: var(--ink); }
afvby-table .afvby-table th:first-child{ width:48px; }
afvby-table .afvby-table .logo{ width:32px; height:32px; object-fit:contain; display:inline-block; filter: drop-shadow(0 1px 4px rgba(0,0,0,.35)); }

/* highlight “us” */
afvby-table .afvby-table tbody tr.is-us{
  background: linear-gradient(90deg, rgba(0, 133, 202,.45), rgba(0, 133, 202,.01));
}
afvby-table .afvby-table tbody tr.is-us td:nth-child(2){ color: var(--ink); }

/* compact on phones */
@media (max-width: 640px){
  afvby-table .afvby-table th:nth-child(7),
  afvby-table .afvby-table td:nth-child(7),
  afvby-table .afvby-table th:nth-child(9),
  afvby-table .afvby-table td:nth-child(9){ display:none; }
  afvby-table .afvby-table thead th{ font-size:.72rem; letter-spacing:.12em; }
  afvby-table .afvby-table td{ padding:.75rem .8rem; }
}

/* ============================ PEOPLE GRID ============================= */
.people-grid{ list-style:none; margin:0; padding:0; display:grid; gap:1.25rem 1rem; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); align-items:start; width: 100%; }
.people-grid--contact{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

.person-link{ text-decoration:none; color:inherit; display:block; }
.person{ margin:0; text-align:center; }
.person .avatar{
  display:block; margin:0 auto; border-radius:50%;
  width: clamp(120px, 12vw, 160px); height: clamp(120px, 12vw, 160px);
  object-fit:cover; background: var(--surface-2, #f3f4f6);
  border:5px solid var(--accent); box-shadow: 0 0 10px 8px #000;
}
.person .caption{ display:grid; gap:.25rem; margin-top:.6rem; line-height:1.2; }
.person .caption .title{ font-size:.9rem; font-weight:600; color: var(--accent); }
.person .caption .name{ font-size:1.05rem; font-weight:700; color: var(--text, #111827); }
.person-link:hover .avatar{ transform: translateY(-1px); transition: transform .15s ease; }

/* mail variant */
.person-link--mailto:hover .name{ color: var(--accent); }
.person .caption .name{ display:inline-flex; align-items:center; justify-content:center; gap:.4rem; }
.icon-mail{ width:1em; height:1em; flex:0 0 auto; opacity:.9; transform: translateY(1px); }
.person-link--mailto:hover .icon-mail{ opacity:1; }


/* ============================== TEAM GRID ============================= */
.team-grid{ list-style:none; margin:0; display:grid; gap: clamp(24px, 1.5vw, 20px);  grid-template-columns: 1fr; padding:0; }
.team-grid.team-grid--centered{ max-width:980px; margin-inline:auto; }
@media (min-width: 520px){  .team-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px){  .team-grid{ grid-template-columns: repeat(2, 1fr); } }
.team-grid > li{ min-width:0; }
.team-card{
  text-align:center; display:grid; grid-template-rows:auto 1fr;
  background:#0d0d0d; color:#e9eef5; border:1px solid rgba(255,255,255,.06);
  border-radius:12px; overflow:hidden; text-decoration:none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.team-card:hover{ transform: translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,.28); border-color: rgba(255,255,255,.12); }

/* ============================== NEWS GRID ============================= */
.news-grid{ list-style:none; margin:0; display:grid; gap: clamp(24px, 1.5vw, 20px); grid-template-columns: repeat(1, minmax(0, 1fr)); padding:0 0 10px; }
@media (min-width: 520px){  .news-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px){  .news-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px){ .news-grid{ grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1280px){ .news-grid{ grid-template-columns: repeat(5, 1fr); } }
.news-grid > li{ min-width:0; }

.news-card{
  --card-h: 350px;
  display:grid;
  grid-template-rows: min-content 1fr; /* was: auto 1fr */
  background:#0d0d0d; color:#e9eef5;
  border:1px solid rgba(255,255,255,.06); border-radius:12px; overflow:hidden; text-decoration:none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.news-card:hover{ transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,0,0,.28); border-color: rgba(255,255,255,.12); }
.thumb{ aspect-ratio: 16 / 9; position:relative; background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,0)); }
.thumb img, .thumb.placeholder{ width:100%; height:auto; display:block; aspect-ratio:16/9; object-fit:cover; }
.thumb.placeholder{ background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); }

.meta{
  padding: 12px 14px 14px;
  display:flex;              /* was: grid */
  flex-direction: column;
  gap:6px;
  min-height:0;              /* important for Chrome */
}

.title{ margin:0; font-weight:800; font-size: clamp(16px, 1.2vw, 18px); line-height:1.2; color:#fff; }

.teaser{
  margin:0;
  font-size:.95rem;
  line-height:1.4;
  color:#cfd6de;
  flex: 1 1 0;          /* flex area that can shrink */
  min-height: 0;        /* allow shrinking */
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;  /* or 5 / 4 if you want */
  line-clamp: 6;
}


.date{
  margin-top:auto;           /* was: 4px */
  font-size:.8rem; letter-spacing:.06em; color:#9aa5b1;
}
@media (min-width: 520px){
  .news-card{
    height: var(--card-h);   /* all cards same height */
    min-height: 0;           /* make sure height wins */
  }
}
@media (max-width: 520px){
  .news-card{
    --card-h: 450px;
    height: var(--card-h);
    min-height: 0;           /* make sure height wins */
  }
}
/* =============================== FOOTER =============================== */
.site-footer{
  --footer-bg: black;
  --footer-fg: #e5e7eb;
  --footer-muted: #9ca3af;
  --footer-border: rgba(255,255,255,.08);
  --accent: var(--accent, #06b6d4);
  background: var(--footer-bg); color: var(--footer-fg);
  border-top: 1px solid var(--footer-border); padding: 24px 0;
}
.footer-inner{ display:grid; gap:12px 24px; align-items:center; justify-items:center; text-align:center; }
@media (min-width: 800px){
  .footer-inner{ grid-template-columns: 1fr auto 1fr; text-align: initial; }
  .footer-socials{ justify-self: start; }
  .footer-links{ justify-self: end; }
  .footer-copy{ grid-column: 1 / -1; text-align: center; }
}
.footer-lead{ margin-right:.5rem; font-weight:600; color: var(--footer-muted); }
.footer-socials{ display:flex; align-items:center; gap:.5rem; padding-left: 20px;}
.social{
  display:inline-flex; justify-content:center; align-items:center; width:2.25rem; height:2.25rem;
  border-radius:999px; border:1px solid var(--footer-border); color: var(--footer-fg); text-decoration:none;
  transition: transform .15s ease, box-shadow .2s ease, color .2s ease, border-color .2s ease;
}
.social:hover{ color: var(--accent); border-color: transparent; box-shadow: 0 6px 16px rgba(0,0,0,.35); transform: translateY(-1px); }
.icon{ width:1.1rem; height:1.1rem; }
.footer-links{ display:flex; gap:1rem; flex-wrap:wrap; }
.footer-links a{ color: var(--footer-fg); text-decoration:none; border-bottom:1px solid transparent; }
.footer-links a:hover{ color: var(--accent); border-color: currentColor; }
.footer-copy{ margin:4px 0 0; color: var(--footer-muted); font-size:.925rem; }
.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; }

/* ============================== ACCORDION ============================= */
.sched{
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px; background:#0d0d0d; margin:12px 0; overflow:clip; box-shadow: 0 0 10px 3px black;
  width: 100%;
}
.sched__panel{ width: 100%; }
.sched__summary{
  display:flex; align-items:center; gap:.75rem; padding:18px 22px; cursor:pointer;
  background:#0b0b0b; user-select:none; list-style:none;
}
.sched__summary::-webkit-details-marker{ display:none; }
.sched__summary::before{ content:""; width:6px; height:100%; background: var(--accent); border-radius:3px; margin-right:8px; }
.sched__title{
  margin:0; font-weight:800; line-height:1.05;
  font-size: clamp(1.75rem, 5vw, 2.75rem);
  letter-spacing:.2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color: var(--accent);
}
.sched__summary::after{
  content:""; margin-left:auto; width:14px; height:14px; border-right:3px solid rgba(255,255,255,.7); border-bottom:3px solid rgba(255,255,255,.7);
  transform: rotate(-45deg); transition: transform .2s ease, opacity .2s ease; opacity:.85;
}
.sched[open] .sched__summary::after{ transform: rotate(135deg); }
.sched__summary:hover{ background:#0f0f0f; }
.sched__summary:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.sched__panel{ padding:12px 14px 16px; }
@media (max-width: 700px){
  .sched__summary{ padding:12px 14px; }
  .sched__panel{ padding:10px 12px 14px; }
}

/* Hide “h1 a” inside schedule include */
.sched afvby-schedule h1 a{ display:none; }


/* ============================ SPONSOR GRID ============================ */
.sponsor-grid{
  --card: 240px; --gap: clamp(12px, 1.6vw, 20px);
  display:flex !important; flex-wrap:wrap; justify-content:center; gap:var(--gap);
  list-style:none; margin:0; padding:0;
}
.sponsor-grid > li{ flex:0 1 var(--card); display:flex; justify-content:center; min-width:0; }
.sponsor-card{ width:min(100%, var(--card)); display:grid; grid-template-rows:auto 1fr; text-align:center; box-shadow: 0 6px 18px rgba(0,0,0,.18);    text-decoration: none;}

/* ====================== SPONSOR LOGOS: CONTAIN ======================= */
.sponsor-grid .thumb{
  width: 100%;
  min-height: 80px; 
  height: clamp(80px, 12vw, 140px);
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sponsor-grid .meta{
  width: 100%;
}
/* picture tag outputs <picture><img> — make both contain */
.sponsor-grid .thumb picture,
.sponsor-grid .thumb img{
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain !important;   /* override generic .thumb img cover */
  aspect-ratio: auto !important;     /* undo global 16:9 card rule */
}

/* ===== AFVBY TABLE — FORCE INDEX LOOK EVERYWHERE ===== */
/* Works with <afvby-table>…</afvby-table> and plain <table class="afvby-table"> */

afvby-table,
table.afvby-table{
  /* keep text like on index (no accidental blue text) */
  --ink: var(--text);
  color: var(--text);
  background: var(--panthers-black);
}

/* base box */
afvby-table table.afvby-table,
table.afvby-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border-radius:10px;
  font-variant-numeric: tabular-nums;
  overflow:hidden;
  background: var(--panthers-black);
}

/* header */
afvby-table .afvby-table thead th,
table.afvby-table thead th{
  position:sticky; top:0; z-index:1;
  background: var(--accent);      /* index look */
  color: var(--panthers-black);    /* readable on accent */
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  padding:.9rem 1rem;
  border-bottom:1px solid var(--tbl-line);
  white-space:nowrap;
}

/* cells */
afvby-table .afvby-table td,
table.afvby-table td{
  color: var(--text) !important;              /* resist parent section colors */
  padding:.85rem 1rem;
  border-bottom:1px dashed rgba(255,255,255,.06);
}
afvby-table .afvby-table tbody tr:last-child td,
table.afvby-table tbody tr:last-child td{ border-bottom:0; }

/* rows */
afvby-table .afvby-table tbody tr,
table.afvby-table tbody tr{
  background:#000;                            /* index row bg */
}
afvby-table .afvby-table tbody tr:not(.row-comment):hover,
table.afvby-table tbody tr:not(.row-comment):hover{
  background: linear-gradient(90deg, rgba(0,133,202,.09), transparent 100%);
}

/* alignment + emphasis (matches index) */
afvby-table .afvby-table th,
afvby-table .afvby-table td,
table.afvby-table th,
table.afvby-table td{ text-align:left; }

afvby-table .afvby-table tbody tr td:first-child,
table.afvby-table tbody tr td:first-child{
  text-align:center;
  font-weight:500;
  color: var(--text);                          /* NO accent here */
}

afvby-table .afvby-table th:first-child,
table.afvby-table th:first-child{ width:48px; }

afvby-table .afvby-table .logo,
table.afvby-table .logo{
  width:32px; height:32px; object-fit:contain; display:inline-block;
  filter: drop-shadow(0 1px 4px rgba(0,0,0,.35));
}

/* tighten pairs like 180:61 */
afvby-table .afvby-table td:nth-child(8),
afvby-table .afvby-table td:nth-child(9),
table.afvby-table td:nth-child(8),
table.afvby-table td:nth-child(9){ white-space:nowrap; }

/* highlight “us” row */
afvby-table .afvby-table tbody tr.is-us,
table.afvby-table tbody tr.is-us{
  background: linear-gradient(90deg, rgba(0,133,202,.45), rgba(0,133,202,.01));
}
table.afvby-table tbody tr.is-us:hover{  background: linear-gradient(90deg, rgba(0,133,202,.45), rgba(0,133,202,.01)); }

afvby-table .afvby-table tbody tr.is-us td:nth-child(2),
table.afvby-table tbody tr.is-us td:nth-child(2){ color: var(--text); }

/* comment row stays plain + no hover */
afvby-table .afvby-table tbody tr.row-comment td,
table.afvby-table tbody tr.row-comment td{ padding-top:.35rem; text-align: left;font-style: italic;}
afvby-table .afvby-table tbody tr.row-comment,
table.afvby-table tbody tr.row-comment{ background: transparent !important; }
afvby-table .afvby-table tbody tr.row-comment:hover,
table.afvby-table tbody tr.row-comment:hover{ background: transparent !important; }

/* phone compaction */
@media (max-width: 640px){
  afvby-table .afvby-table th:nth-child(7),
  afvby-table .afvby-table td:nth-child(7),
  afvby-table .afvby-table th:nth-child(9),
  afvby-table .afvby-table td:nth-child(9),
  table.afvby-table th:nth-child(7),
  table.afvby-table td:nth-child(7),
  table.afvby-table th:nth-child(9),
  table.afvby-table td:nth-child(9){ display:none; }
}
/* Team name column (2nd): keep bold even when it's a link */
afvby-table .afvby-table tbody td:nth-child(2),
table.afvby-table tbody td:nth-child(2){
  font-weight: 700;
  letter-spacing: .02em;
}

afvby-table .afvby-table tbody td a,
table.afvby-table tbody td a{
  font-weight: 700 !important; /* override any global link weight */
  color: white;               /* keep the same color as the cell */
  text-decoration: none;        /* optional; remove if you want underline */
}

afvby-table .afvby-table tbody td a:hover,
table.afvby-table tbody td a:hover{
  text-decoration: underline;   /* optional hover underline */
}
/* ====== TEAM PAGE NORMALIZATION (keep index visual unchanged) ======= */
.row-single-page table.afvby-table thead th{
  color: var(--panthers-black) !important;
}
.row-single-page table.afvby-table td{
  color: var(--text) !important;
}
@media (hover: hover) and (pointer: fine){
  afvby-table .afvby-table tbody tr:not(.row-comment):hover,
  table.afvby-table tbody tr:not(.row-comment):hover{
    background: linear-gradient(90deg, rgba(0,133,202,.09), transparent 100%);
  }
  .news-card:hover,
  .team-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0,0,0,.28);
  }
}
/* ====== POST BODY ======= */
  /* make the section contain its float (no clearfix hacks needed) */
.post-body { display: flow-root; }

/* image in the top-right with wrap */
img.post-image-right {
  float: right;
  width: 40%;   /* tune as you like */
  margin: 0 0 1rem 1rem;   /* space below + to the left */
  border-radius: 8px;      /* optional */
}
img.post-image-left {
  float: left;
  width: 40%;   /* tune as you like */
  margin: 0 1rem 1rem 0;   /* space below + to the left */
  border-radius: 8px;      /* optional */
}
/* mobile: stop floating and make it full-width above the text */
@media (max-width: 520px) {
  img.post-image-right {
    float: none;
    display: block;
    width: 100%;
    max-width: 98%;
    margin: 0 0 0 0; 
  }
  img.post-image-left {
    float: none;
    display: block;
    width: 100%;
    max-width: 98%;
    margin: 0 0 0 0; 
  }
}