.lplff-section { margin: 0 0 32px; color: #232323; font-family: inherit; }
.lplff-heading { background: #B51F2D; color: #fff; padding: 14px 18px; font-weight: 700; font-size: clamp(18px,2vw,23px); margin: 0 0 7px; border-radius: 5px 5px 0 0; }
.lplff-subheading { padding: 0 2px; color: #5d6570; font-size: 14px; margin: 0 0 14px; }
.lplff-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #e6e9ed; border-radius: 5px; }
.lplff-table { border-collapse: collapse; width: 100%; min-width: 590px; margin: 0 !important; font-size: 14px; line-height: 1.4; }
.lplff-table thead th { background: #B51F2D; color: #fff; padding: 11px 9px; border: 0; font-weight: 650; white-space: nowrap; }
.lplff-table thead th:nth-child(n+3), .lplff-standings tbody td { text-align: center; }
.lplff-table tbody th, .lplff-table tbody td { padding: 10px 9px; border-bottom: 1px solid #eceff2; background: #fff; }
.lplff-table tbody tr:nth-child(even) th, .lplff-table tbody tr:nth-child(even) td { background: #fafbfc; }
.lplff-table tbody tr:last-child th, .lplff-table tbody tr:last-child td { border-bottom: none; }
.lplff-standings .lplff-table tbody tr.lplff-losc th, .lplff-standings .lplff-table tbody tr.lplff-losc td { background: #fce8eb; font-weight: 700; }
.lplff-points { font-weight: 700; }
.lplff-month { color: #B51F2D; font-size: 17px; padding: 4px 0 7px; margin: 22px 0 9px; border-bottom: 2px solid #f1ccd0; }
.lplff-months .lplff-month:first-child { margin-top: 6px; }
.lplff-calendar .lplff-table { min-width: 650px; }
.lplff-calendar .lplff-table td:nth-child(3) { text-align: right; }
.lplff-calendar .lplff-table td:nth-child(4) { text-align: center; }
.lplff-team-strong, .lplff-score { font-weight: 750; }
.lplff-time { display: block; color: #66717e; font-size: 12px; font-weight: 400; }
.lplff-nowrap { white-space: nowrap; }
.lplff-empty { border: 1px dashed #cad1d8; padding: 17px; color: #68727f; border-radius: 5px; }
@media(max-width:720px) {.lplff-heading {padding:12px 13px;} .lplff-table {font-size:13px;} .lplff-table thead th, .lplff-table tbody td, .lplff-table tbody th {padding:9px 7px;} }

/* v1.1.0 — responsive accessible tabs for both overview shortcodes */
.lplff-tabs { width:100%; max-width:100%; }
.lplff-tab-list { display:flex; align-items:stretch; flex-wrap:nowrap; gap:7px; padding:0; margin:0 0 16px; border-bottom:2px solid #eed2d6; }
.lplff-tab { appearance:none; -webkit-appearance:none; flex:1 1 0; min-width:0; border:1px solid #e1dce0; border-bottom:0; border-radius:7px 7px 0 0; padding:13px 10px; margin:0; font-family:inherit; font-size:15px; line-height:1.35; font-weight:700; color:#383838; background:#f5f5f6; text-align:center; cursor:pointer; transition: background .15s ease, color .15s ease; }
.lplff-tab:hover { background:#f7e7ea; color:#931a26; }
.lplff-tab[aria-selected="true"], .lplff-tab.is-active { background:#B51F2D; color:#fff; border-color:#B51F2D; }
.lplff-tab:focus-visible { outline:3px solid #222; outline-offset:2px; position:relative; z-index:2; }
.lplff-tabs--active .lplff-tab-panel[hidden] { display:none !important; }
.lplff-tabs .lplff-tab-panel > .lplff-section { margin-bottom:14px; }
.lplff-tab-panel:focus { outline:none; }
.lplff-tab-panel:focus-visible { outline:2px solid #B51F2D; outline-offset:3px; }
@media(max-width:600px) { .lplff-tab-list { gap:4px; } .lplff-tab { font-size:13px; padding:12px 4px; } }

/* v1.2.0 — Native CSS tabs for calendar and rankings. No JS/cache dependency. */
.lplff-tabs-css { width:100%; max-width:100%; position:relative; }
.lplff-tabs-css > .lplff-tab-radio {
  display:block !important; position:absolute !important; width:1px !important;
  height:1px !important; margin:0 !important; padding:0 !important;
  opacity:0 !important; overflow:hidden !important; clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
}
.lplff-tabs-css > .lplff-tab-list { display:flex; }
.lplff-tabs-css > .lplff-tab-list > .lplff-tab { cursor:pointer; display:block; }
.lplff-tabs-css > .lplff-tab-panels > .lplff-tab-panel { display:none !important; }
.lplff-tabs-css > .lplff-tab-radio:nth-of-type(1):checked ~ .lplff-tab-panels > .lplff-tab-panel:nth-child(1),
.lplff-tabs-css > .lplff-tab-radio:nth-of-type(2):checked ~ .lplff-tab-panels > .lplff-tab-panel:nth-child(2),
.lplff-tabs-css > .lplff-tab-radio:nth-of-type(3):checked ~ .lplff-tab-panels > .lplff-tab-panel:nth-child(3) { display:block !important; }
.lplff-tabs-css > .lplff-tab-radio:nth-of-type(1):checked ~ .lplff-tab-list > .lplff-tab:nth-child(1),
.lplff-tabs-css > .lplff-tab-radio:nth-of-type(2):checked ~ .lplff-tab-list > .lplff-tab:nth-child(2),
.lplff-tabs-css > .lplff-tab-radio:nth-of-type(3):checked ~ .lplff-tab-list > .lplff-tab:nth-child(3) {
  background:#B51F2D !important; color:#fff !important; border-color:#B51F2D !important;
}
.lplff-tabs-css > .lplff-tab-radio:nth-of-type(1):focus-visible ~ .lplff-tab-list > .lplff-tab:nth-child(1),
.lplff-tabs-css > .lplff-tab-radio:nth-of-type(2):focus-visible ~ .lplff-tab-list > .lplff-tab:nth-child(2),
.lplff-tabs-css > .lplff-tab-radio:nth-of-type(3):focus-visible ~ .lplff-tab-list > .lplff-tab:nth-child(3) {
  outline:3px solid #222 !important; outline-offset:2px;
}
.lplff-tabs-css > .lplff-tab-panels .lplff-tab-panel > .lplff-section { margin-bottom:14px; }

/* v1.3.0 — Phones only: complete data in cards, no horizontal table scrolling. */
@media (max-width: 600px) {
  .lplff-tabs-css, .lplff-tabs-css .lplff-tab-panels,
  .lplff-tabs-css .lplff-tab-panel, .lplff-section { min-width:0; max-width:100%; }
  .lplff-scroll { overflow-x:visible !important; border:0; border-radius:0; width:100%; max-width:100%; }
  .lplff-table, .lplff-calendar .lplff-table {
    display:block !important; width:100% !important; min-width:0 !important; max-width:100% !important;
    font-size:13px; border:0;
  }
  .lplff-table thead { display:none !important; }
  .lplff-table tbody { display:block !important; width:100%; }
  .lplff-table tbody tr {
    display:grid !important; width:100%; min-width:0; max-width:100%;
    border:1px solid #e6e9ed; border-radius:7px; overflow:hidden;
    margin:0 0 9px; background:#fff; box-sizing:border-box;
    box-shadow:0 1px 2px rgba(0,0,0,.035);
  }
  .lplff-table tbody tr:nth-child(even) { background:#fafbfc; }
  .lplff-table tbody td, .lplff-table tbody th {
    display:block !important; min-width:0; width:auto !important; box-sizing:border-box;
    white-space:normal; overflow-wrap:anywhere; word-break:normal;
    padding:7px 4px !important; text-align:center !important; border:0 !important;
    background:transparent !important; font-size:12px; line-height:1.25;
  }
  .lplff-table tbody td::before, .lplff-table tbody th::before {
    content:attr(data-label); display:block; color:#69727e; font-weight:600;
    font-size:10px; line-height:1.2; margin-bottom:4px;
  }
  /* Standings: first line = rank and club; next two lines = all eight measures. */
  .lplff-standings .lplff-table tbody tr { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .lplff-standings .lplff-table tbody td:nth-child(1) {
    grid-column:1; grid-row:1; background:#f7e8eb !important; font-weight:700;
    border-bottom:1px solid #eee !important;
  }
  .lplff-standings .lplff-table tbody th:nth-child(2) {
    grid-column:2 / -1; grid-row:1; text-align:left !important; padding:9px 8px !important;
    border-bottom:1px solid #eee !important; font-size:13px;
  }
  .lplff-standings .lplff-table tbody tr.lplff-losc td,
  .lplff-standings .lplff-table tbody tr.lplff-losc th { background:#fce8eb !important; }
  .lplff-standings .lplff-table tbody tr .lplff-points { color:#a31d2b; font-weight:800; }
  /* Calendar: separate event cards with date, round, teams, score and status. */
  .lplff-calendar .lplff-table tbody tr { grid-template-columns:repeat(2,minmax(0,1fr)); padding:4px; }
  .lplff-calendar .lplff-table tbody td:nth-child(1) { grid-column:1; grid-row:1; }
  .lplff-calendar .lplff-table tbody td:nth-child(2) { grid-column:2; grid-row:1; }
  .lplff-calendar .lplff-table tbody td:nth-child(3) { grid-column:1; grid-row:2; font-weight:650; }
  .lplff-calendar .lplff-table tbody td:nth-child(5) { grid-column:2; grid-row:2; font-weight:650; }
  .lplff-calendar .lplff-table tbody td:nth-child(4) {
    grid-column:1/-1; grid-row:3; font-size:16px; font-weight:800; color:#B51F2D;
  }
  .lplff-calendar .lplff-table tbody td:nth-child(6) {
    grid-column:1/-1; grid-row:4; border-top:1px solid #eee !important; padding-top:7px !important;
  }
  .lplff-calendar .lplff-time { font-size:11px; margin-top:2px; }
  .lplff-calendar .lplff-month { font-size:15px; }
}
