/* ============================================================
   Portal Kit v2 — data modules. Uses each site's palette tokens:
   --bg --panel --ink --muted --line --rowline --brand --panelhead
   ============================================================ */
.pt2-wrap{max-width:var(--maxw,1180px);margin:0 auto;padding:0 20px}
.pt2-sec{padding:34px 0;border-top:1px solid var(--line)}
.pt2-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 18px}
.pt2-head h2{margin:0;font-size:15px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.pt2-head a{color:var(--muted);font-size:13px;text-decoration:none}
.pt2-head a:hover{color:var(--ink)}

/* ---- hero: strict two columns, equal height, no blank frames ---- */
.pt2-hero{padding:26px 0 30px;border-bottom:1px solid var(--line)}
.pt2-hero-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px;align-items:stretch}
.pt2-hero-l{display:flex;flex-direction:column;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--r,3px);overflow:hidden}
.pt2-cover{position:relative;display:block;flex:1 1 auto;min-height:300px;overflow:hidden}
.pt2-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pt2-cover:hover img{transform:scale(1.03)}
.pt2-badge{position:absolute;left:14px;top:14px;background:var(--brand);color:var(--bg,#111);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;border-radius:2px;font-weight:800}
.pt2-hero-txt{padding:16px 20px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.pt2-kick{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);font-weight:800}
.pt2-hero-txt h1{margin:0;font-size:28px;line-height:1.24;font-weight:800;letter-spacing:-.01em}
.pt2-hero-txt h1 a{color:var(--ink);text-decoration:none}
.pt2-hero-txt h1 a:hover{color:var(--brand)}
.pt2-hero-txt p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.pt2-btn{align-self:flex-start;margin-top:2px;background:var(--brand);color:var(--bg,#111);text-decoration:none;font-weight:700;font-size:12.5px;padding:8px 15px;border-radius:var(--btnr,3px)}
.pt2-btn:hover{opacity:.88}

/* right stack: flex:1 per card, image grows into leftover height */
.pt2-hero-r{display:flex;flex-direction:column;gap:14px;min-width:0;height:100%}
.pt2-hs{flex:1 1 0;min-height:0;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r,3px);overflow:hidden;text-decoration:none}
.pt2-hs:hover{border-color:var(--brand)}
.pt2-hs img{flex:1 1 auto;width:100%;height:0;min-height:70px;object-fit:cover;display:block}
.pt2-hs-t{flex:none;display:flex;flex-direction:column;gap:3px;padding:9px 12px 11px}
.pt2-hs-t em{font-style:normal;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--brand);font-weight:800}
.pt2-hs-t b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.42;color:var(--ink);font-weight:700}

/* ---- videos ---- */
.pt2-vwall,.pt2-vrail{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pt2-vrail{grid-template-columns:repeat(6,1fr)}
.pt2-vcard{display:block;background:var(--panel);border:1px solid var(--line);border-radius:var(--r,3px);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .15s ease,border-color .15s ease}
.pt2-vcard:hover{transform:translateY(-2px);border-color:var(--brand)}
.pt2-vcard img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.pt2-vcard b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:10px 12px 12px;font-size:13px;font-weight:600;line-height:1.45}
.pt2-vfeature{display:grid;grid-template-columns:7fr 5fr;gap:16px}
.pt2-vmain{position:relative;display:block;border-radius:var(--r,3px);overflow:hidden;border:1px solid var(--line)}
.pt2-vmain img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.pt2-vt{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 14px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82));color:#fff;font-weight:700;font-size:17px;line-height:1.4}
.pt2-vmain::after{content:"▶";position:absolute;top:calc(50% - 24px);left:calc(50% - 24px);width:48px;height:48px;border-radius:50%;background:var(--brand);color:var(--bg,#111);display:flex;align-items:center;justify-content:center;font-size:19px;padding-left:4px}
.pt2-vside{display:flex;flex-direction:column;gap:10px}
.pt2-vitem{display:flex;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r,3px);text-decoration:none;color:var(--ink);flex:1}
.pt2-vitem img{width:132px;aspect-ratio:16/9;object-fit:cover;flex:none}
.pt2-vitem b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:600;line-height:1.4;padding-right:10px}

/* video modal */
.pt2-modal{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:9999}
.pt2-modal.on{display:flex}
.pt2-mbox{position:relative;width:min(920px,94vw);aspect-ratio:16/9;background:#000;border-radius:6px}
.pt2-mframe,.pt2-mframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pt2-mx{position:absolute;top:-40px;right:0;background:none;border:0;color:#fff;font-size:30px;cursor:pointer}

/* ---- score boards ---- */
.pt2-tickets{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pt2-tk{display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--r,3px);padding:12px 14px;text-decoration:none;color:var(--ink)}
.pt2-tk:hover{background:var(--hover,var(--panel))}
.pt2-tk-lg{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pt2-tk-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px}
.pt2-tk-row b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38%}
.pt2-tk-row i{font-style:normal;font-weight:800;color:var(--brand);font-size:15px;letter-spacing:.04em}
.pt2-tk-m{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
.pt2-tk.live{border-left-color:#e5484d}
.pt2-dot{width:7px;height:7px;border-radius:50%;background:#e5484d;display:inline-block;animation:pt2p 1.2s infinite}
@keyframes pt2p{0%,100%{opacity:1}50%{opacity:.25}}

.pt2-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pt2-c{background:var(--panel);border:1px solid var(--line);border-radius:var(--r,3px);padding:12px 14px 13px;display:flex;flex-direction:column;gap:2px}
.pt2-c.live{border-color:#e5484d;box-shadow:inset 3px 0 0 #e5484d}
.pt2-c-lg{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt2-c-team{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13.5px;padding:5px 0;border-bottom:1px solid var(--rowline,var(--line))}
.pt2-c-team:last-of-type{border-bottom:0}
.pt2-c-team b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pt2-c-team i{flex:none;font-style:normal;font-weight:800;font-size:16px;color:var(--brand);min-width:16px;text-align:right;font-variant-numeric:tabular-nums}
.pt2-c-m{font-size:11.5px;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.pt2-tblwrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--r,3px)}
.pt2-btbl{width:100%;border-collapse:collapse;font-size:13.5px}
.pt2-btbl td{padding:10px 14px;border-bottom:1px solid var(--rowline,var(--line));white-space:nowrap}
.pt2-btbl tr:last-child td{border-bottom:0}
.pt2-b-lg{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;width:18%}
.pt2-b-h{text-align:right;width:30%}
.pt2-b-s{text-align:center;font-size:15px;width:12%}
.pt2-b-s b{color:var(--brand)}
.pt2-b-a{width:30%}
.pt2-b-m{color:var(--muted);font-size:12px;text-align:right}
.pt2-btbl tr.live td{background:rgba(229,72,77,.06)}
.pt2-live{font-style:normal;color:#e5484d;font-weight:800;letter-spacing:.08em}

/* ---- fixtures ---- */
.pt2-fx{list-style:none;margin:0;padding:0}
.pt2-fx li{display:flex;align-items:center;gap:14px;padding:11px 6px;border-bottom:1px solid var(--rowline,var(--line));font-size:13.5px}
.pt2-fx li:last-child{border-bottom:0}
.pt2-fx-t{color:var(--muted);font-variant-numeric:tabular-nums;min-width:110px}
.pt2-fx-lg{margin-left:auto;color:var(--muted);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}

/* ---- standings ---- */
.pt2-tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.pt2-tbl th{padding:10px 12px;text-align:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--line)}
.pt2-tbl th.tl{text-align:left}
.pt2-tbl td{padding:9px 12px;text-align:center;border-bottom:1px solid var(--rowline,var(--line));font-variant-numeric:tabular-nums}
.pt2-tbl tr:last-child td{border-bottom:0}
.pt2-tbl tr.r1 td,.pt2-tbl tr.r2 td,.pt2-tbl tr.r3 td,.pt2-tbl tr.r4 td{box-shadow:inset 3px 0 0 var(--brand)}
.pt2-tbl tr.dn td{box-shadow:inset 3px 0 0 #e5484d}
.pt2-tbl td b{color:var(--brand)}
.pt2-club{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}
.pt2-club img{width:20px;height:20px;object-fit:contain}
.pt2-club b{font-weight:600}
.pt2-mono{width:20px;height:20px;border-radius:50%;background:var(--chipbg,var(--panel));border:1px solid var(--line);color:var(--brand);font-size:8.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}

/* ---- responsive ---- */
@media (max-width:960px){
  .pt2-hero-in{grid-template-columns:1fr}
  .pt2-cover{min-height:250px}
  .pt2-hero-r{height:auto;flex-direction:row;flex-wrap:wrap}
  .pt2-hs{flex:1 1 45%}
  .pt2-hs img{height:150px;flex:none}
  .pt2-vwall{grid-template-columns:repeat(2,1fr)}
  .pt2-vrail{grid-template-columns:repeat(3,1fr)}
  .pt2-vfeature{grid-template-columns:1fr}
  .pt2-tickets{grid-template-columns:repeat(2,1fr)}
  .pt2-cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .pt2-vwall,.pt2-vrail{grid-template-columns:1fr 1fr}
  .pt2-tickets{grid-template-columns:1fr}
  .pt2-cards{grid-template-columns:1fr}
}

/* ==v3 2026-11-06: compact hero (no giant slider) + readability == */
.pt2-hero{padding:12px 0 16px}
.pt2-hero-in{gap:14px}
.pt2-cover{min-height:0;height:190px;flex:none}
.pt2-hero-txt{padding:12px 16px 15px;gap:6px}
.pt2-hero-txt h1{font-size:21px;line-height:1.32}
.pt2-hero-txt p{font-size:14.5px;color:#3E474E;line-height:1.55}
.pt2-hero-r{gap:10px}
.pt2-hs{flex-direction:row;align-items:stretch}
.pt2-hs img{width:116px;height:auto;min-height:0;flex:none}
.pt2-hs-t{flex:1;justify-content:center;padding:8px 12px}
.pt2-hs-t b{font-size:14px;line-height:1.45}
.pt2-hs-t em{font-size:10.5px}
@media (max-width:960px){
  .pt2-cover{height:170px}
  .pt2-hs{flex:1 1 100%}
  .pt2-hs img{width:104px}
  .pt2-hero-txt h1{font-size:18px}
}
/* readability: bigger body text across modules */
.pt2-head h2{font-size:16px}
.pt2-head a{font-size:13.5px;color:#3E474E}
.pt2-tk-row{font-size:14.5px}
.pt2-tk-m,.pt2-c-m,.pt2-b-m{font-size:12.5px}
.pt2-c-team{font-size:14.5px}
.pt2-btbl{font-size:14.5px}
.pt2-b-lg{font-size:11.5px}
.pt2-fx li{font-size:14.5px}
.pt2-fx-lg{font-size:12px}
.pt2-tbl{font-size:14.5px}
.pt2-tbl th{font-size:11.5px}
.pt2-vcard b,.pt2-vitem b{font-size:14px}
