/* =========================================================
   HKBetNet Home Schedule v1.1
   Dedicated homepage schedule module
   Palette: Matchday Ledger / HKBetNet
========================================================= */

.hkbn-home-schedule{
  --hks-paper:#f1eee5;
  --hks-paper-soft:#f7f4ec;
  --hks-ink:#171b18;
  --hks-green:#244c3b;
  --hks-green-dark:#17382b;
  --hks-mustard:#c89b3c;
  --hks-border:#cfc9bb;
  --hks-muted:#687169;

  padding:48px 0;
  background:var(--hks-paper-soft);
  color:var(--hks-ink);
  border-top:1px solid var(--hks-border);
  border-bottom:1px solid var(--hks-border);
}

.hkbn-home-schedule *{
  box-sizing:border-box;
}

.hkbn-home-schedule__shell{
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
}

.hkbn-home-schedule__head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:28px;
  align-items:end;
  margin-bottom:22px;
}

.hkbn-home-schedule__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
  color:var(--hks-green);
  font-size:13px;
  font-weight:900;
  letter-spacing:.05em;
}

.hkbn-home-schedule__eyebrow::before{
  content:"";
  width:28px;
  height:2px;
  background:var(--hks-mustard);
}

.hkbn-home-schedule h2{
  margin:0;
  max-width:820px;
  color:var(--hks-green-dark);
  font-size:clamp(30px, 4vw, 42px);
  line-height:1.12;
  letter-spacing:-.02em;
}

.hkbn-home-schedule__lead{
  max-width:850px;
  margin:12px 0 0;
  color:#3d473f;
  font-size:17px;
  line-height:1.8;
}

.hkbn-home-schedule__tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.hkbn-home-schedule__tab{
  appearance:none;
  border:1px solid var(--hks-green);
  border-radius:3px;
  padding:10px 16px;
  background:transparent;
  color:var(--hks-green-dark);
  font:inherit;
  font-size:14px;
  font-weight:850;
  line-height:1.2;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}

.hkbn-home-schedule__tab:hover,
.hkbn-home-schedule__tab:focus-visible{
  background:#ece7da;
  outline:none;
}

.hkbn-home-schedule__tab[aria-pressed="true"]{
  border-color:var(--hks-green-dark);
  background:var(--hks-green-dark);
  color:#fff;
}

.hkbn-home-schedule__panel{
  border:1px solid var(--hks-border);
  background:#fff;
}

.hkbn-home-schedule__panel-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:14px 16px;
  background:#eee7d6;
  border-bottom:1px solid var(--hks-border);
}

.hkbn-home-schedule__panel-top strong{
  color:var(--hks-green-dark);
  font-size:18px;
}

.hkbn-home-schedule__panel-top span{
  color:#5e675f;
  font-size:13px;
  font-weight:750;
}

.hkbn-home-schedule__table-head,
.hkbn-home-schedule__row{
  display:grid;
  grid-template-columns:110px 92px minmax(0, 1fr) 90px;
  align-items:stretch;
}

.hkbn-home-schedule__table-head{
  background:var(--hks-green-dark);
  color:#fff;
  font-size:13px;
  font-weight:900;
}

.hkbn-home-schedule__table-head > span{
  padding:12px 14px;
  border-right:1px solid rgba(255,255,255,.22);
}

.hkbn-home-schedule__table-head > span:last-child{
  border-right:0;
}

.hkbn-home-schedule__row{
  min-height:58px;
  border-bottom:1px solid var(--hks-border);
}

.hkbn-home-schedule__row:last-child{
  border-bottom:0;
}

.hkbn-home-schedule__row > span,
.hkbn-home-schedule__row > strong{
  display:flex;
  align-items:center;
  min-width:0;
  padding:12px 14px;
  border-right:1px solid var(--hks-border);
  color:var(--hks-ink);
  font-size:14px;
  line-height:1.45;
}

.hkbn-home-schedule__row > :last-child{
  border-right:0;
}

.hkbn-home-schedule__time{
  font-variant-numeric:tabular-nums;
  font-weight:850;
  white-space:nowrap;
}

.hkbn-home-schedule__league{
  color:var(--hks-green-dark)!important;
  font-weight:900!important;
}

.hkbn-home-schedule__match{
  overflow-wrap:anywhere;
}

.hkbn-home-schedule__status{
  color:#465047!important;
  font-weight:750;
  white-space:nowrap;
}

.hkbn-home-schedule__empty{
  grid-column:1 / -1;
  min-height:72px;
  justify-content:center!important;
  border-right:0!important;
  color:#5f685f!important;
}

.hkbn-home-schedule__foot{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:14px 16px;
  border-top:1px solid var(--hks-border);
  background:var(--hks-paper-soft);
}

.hkbn-home-schedule__meta{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  color:var(--hks-muted);
  font-size:13px;
}

.hkbn-home-schedule__link{
  color:#0f5a43!important;
  font-weight:850!important;
  text-decoration:underline!important;
  text-decoration-color:var(--hks-mustard)!important;
  text-decoration-thickness:2px!important;
  text-underline-offset:4px!important;
}

.hkbn-home-schedule__link:hover{
  color:var(--hks-green-dark)!important;
}

.hkbn-home-schedule__notice{
  margin:14px 0 0;
  color:#606960;
  font-size:13px;
  line-height:1.6;
}

@media(max-width:800px){
  .hkbn-home-schedule{
    padding:36px 0;
  }

  .hkbn-home-schedule__shell{
    width:min(100% - 28px, 1180px);
  }

  .hkbn-home-schedule__head{
    grid-template-columns:1fr;
    gap:16px;
    align-items:start;
  }

  .hkbn-home-schedule__tabs{
    justify-content:flex-start;
  }

  .hkbn-home-schedule__table-head{
    display:none;
  }

  .hkbn-home-schedule__row{
    grid-template-columns:78px minmax(0,1fr) 78px;
    min-height:0;
  }

  .hkbn-home-schedule__row > span,
  .hkbn-home-schedule__row > strong{
    border-right:0;
    padding:10px 12px;
  }

  .hkbn-home-schedule__time{
    grid-column:1;
    grid-row:1 / span 2;
    align-items:flex-start!important;
    border-right:1px solid var(--hks-border)!important;
    background:#faf8f2;
  }

  .hkbn-home-schedule__league{
    grid-column:2;
    grid-row:1;
    padding-bottom:4px!important;
  }

  .hkbn-home-schedule__match{
    grid-column:2;
    grid-row:2;
    padding-top:2px!important;
  }

  .hkbn-home-schedule__status{
    grid-column:3;
    grid-row:1 / span 2;
    justify-content:flex-end;
    align-items:center!important;
    border-left:1px solid var(--hks-border);
  }

  .hkbn-home-schedule__empty{
    grid-column:1 / -1!important;
    grid-row:auto!important;
    border:0!important;
    background:#fff!important;
  }

  .hkbn-home-schedule__foot{
    grid-template-columns:1fr;
    gap:10px;
  }
}

@media(max-width:520px){
  .hkbn-home-schedule h2{
    font-size:30px;
  }

  .hkbn-home-schedule__lead{
    font-size:16px;
  }

  .hkbn-home-schedule__tab{
    flex:1 1 0;
    padding-inline:10px;
  }

  .hkbn-home-schedule__panel-top{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }

  .hkbn-home-schedule__row{
    grid-template-columns:70px minmax(0,1fr);
  }

  .hkbn-home-schedule__time{
    grid-column:1;
    grid-row:1 / span 3;
  }

  .hkbn-home-schedule__league{
    grid-column:2;
    grid-row:1;
  }

  .hkbn-home-schedule__match{
    grid-column:2;
    grid-row:2;
  }

  .hkbn-home-schedule__status{
    grid-column:2;
    grid-row:3;
    justify-content:flex-start;
    border-left:0;
    padding-top:0!important;
    color:#6a736a!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .hkbn-home-schedule__tab{
    transition:none;
  }
}
