/* Match honours share the Cup's blue/gold identity. Logos stay untouched on a
   white plate; flair comes from the surrounding light, never altered artwork. */
.tpc-match-honours { display: grid; gap: .9rem; margin: 1.1rem 0; min-width: 0; }
.pmc-match-centre .tpc-match-honours .tpc-honour-card,
.tpc-match-honours .tpc-honour-card {
  position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1fr);
  align-items: center; gap: 1.2rem; margin: 0; padding: clamp(1rem,2.5vw,1.6rem);
  overflow: hidden; border: 1px solid #f1c30b9c; border-radius: 1.35rem;
  background: radial-gradient(ellipse at 12% -20%,#5374ff50,transparent 65%),linear-gradient(120deg,#001e8e,#000d40);
  color: #fff; box-shadow: 0 8px 28px #001e8e18;
}
.tpc-match-honours .tpc-honour-card.has-sponsor { grid-template-columns: minmax(0,1fr) minmax(130px,190px); }
.tpc-honour-card::before { content:""; position:absolute; z-index:-1; inset:0 auto 0 0; width:5px; background:#f1c30b; }
.tpc-honour-card::after { content:""; position:absolute; z-index:-1; width:12rem; height:12rem; border:1px solid #f1c30b20; border-radius:50%; right:18%; top:-7rem; box-shadow:0 0 0 22px #f1c30b08,0 0 0 44px #f1c30b05; pointer-events:none; }
.tpc-honour-main { position:relative; z-index:1; min-width:0; }
.tpc-honour-heading { display:flex; gap:.65rem; align-items:center; margin-bottom:.9rem; }
.tpc-honour-heading h3 { margin:0!important; color:#f8e185!important; font-size:.78rem!important; font-weight:850; letter-spacing:.08em!important; text-transform:uppercase; line-height:1.5; }
.tpc-honour-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; color:#f1c30b; border:1px solid #f1c30b55; background:#f1c30b15; border-radius:10px; }
.tpc-honour-icon svg { width:19px; height:19px; }
.tpc-award-recipients { display:grid; gap:.8rem; min-width:0; }
html .tpc-match-honours .tpc-honour-card .tpc-award-recipients .tpc-award-player-name { display:inline; color:#fff!important; font-size:clamp(1.1rem,2.6vw,1.65rem); font-weight:850; line-height:1.25; letter-spacing:-.025em; overflow-wrap:anywhere; text-decoration:none; }
html .tpc-match-honours .tpc-honour-card .tpc-award-recipients .tpc-award-player-name:hover { color:#f8e185!important; }
.tpc-honour-card .tpc-award-player-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem .6rem; margin:.35rem 0 0!important; color:#d6e1ff!important; font-size:.75rem; line-height:1.5; }
.tpc-award-shirt { border:1px solid #ffffff26; padding:.05rem .3rem; border-radius:5px; font-weight:850; color:#f8e185; }
.tpc-award-sponsor { position:relative; z-index:1; display:grid; justify-items:center; gap:.45rem; min-width:0; padding: .9rem 0 .9rem 1.2rem; border-left:1px solid #ffffff26; color:#fff!important; text-align:center; text-decoration:none; }
.tpc-award-sponsor-label { color:#bfcdf2; font-size:.58rem; letter-spacing:.13em; font-weight:800; text-transform:uppercase; }
.tpc-award-logo-plate { display:grid; place-items:center; box-sizing:border-box; width:100%; min-height:76px; padding:.65rem .8rem; border:1px solid #ffffffb3; border-radius:.9rem; background:#fff; color:#00145f; box-shadow:0 3px 18px #000d4033; }
.tpc-award-logo-plate img { display:block; width:100%; height:64px; object-fit:contain; }
.tpc-award-logo-plate img[hidden] { display:none; }
.tpc-award-logo-plate strong { font-size:1.1rem; overflow-wrap:anywhere; }
.tpc-award-sponsor-name { color:#e5ecff; font-size:.68rem; font-weight:750; overflow-wrap:anywhere; }
.tpc-award-sponsor:is(a):hover .tpc-award-logo-plate { box-shadow:0 0 0 3px #f1c30b; }
.tpc-honour-card :is(a,button):focus-visible { outline:3px solid #f1c30b; outline-offset:4px; }
.tpc-award-play-title { margin:.9rem 0 .25rem; color:#f8e185!important; font-weight:850; font-size:.95rem; }
.tpc-award-play-description { margin:.45rem 0 0; color:#d6e1ff!important; font-size:.84rem; line-height:1.65; white-space:pre-line; overflow-wrap:anywhere; }
.tpc-match-honours .tpc-honour-play { background:radial-gradient(ellipse at 12% -20%,#456fe840,transparent 65%),linear-gradient(120deg,#102c61,#081a3c); }
/* Transparent particle fireworks share one 60 fps target scheduler. The
   bitmap stays clipped behind the readable award and sponsor foreground. */
.tpc-award-fireworks { position:absolute; inset:0; z-index:0; overflow:hidden; border-radius:inherit; pointer-events:none; user-select:none; contain:paint; opacity:.9; }
.tpc-award-fireworks-canvas { position:absolute; inset:0; display:block; width:100%; height:100%; pointer-events:none; }
.tpc-honour-main .tpc-award-player-name,.tpc-honour-heading,.tpc-award-sponsor-label,.tpc-award-sponsor-name,.tpc-award-player-meta { text-shadow:0 1px 5px #000d40,0 0 10px #000d40; }
@media (prefers-reduced-motion:reduce) { .tpc-award-fireworks { display:none; } }
@media (max-width:520px) {
  .tpc-match-honours .tpc-honour-card.has-sponsor { grid-template-columns:minmax(0,1fr) 104px; gap:.7rem; }
  .tpc-honour-heading { align-items:flex-start; gap:.45rem; margin-bottom:.7rem; }
  .tpc-honour-heading h3 { font-size:.65rem!important; letter-spacing:.05em!important; }
  .tpc-honour-icon { flex-basis:27px; width:27px; height:27px; border-radius:8px; }
  .tpc-honour-icon svg { width:16px; height:16px; }
  .tpc-award-sponsor { padding:.7rem 0 .7rem .7rem; gap:.4rem; }
  .tpc-award-logo-plate { min-height:66px; padding:.45rem; border-radius:.65rem; }
  .tpc-award-logo-plate img { height:48px; }
  .tpc-award-sponsor-name { font-size:.6rem; }
  .tpc-honour-card .tpc-award-player-meta { font-size:.65rem; }
  .tpc-award-fireworks { opacity:.85; }
}
@media (max-width:340px) { .tpc-match-honours .tpc-honour-card.has-sponsor { grid-template-columns:minmax(0,1fr) 86px; } }
@media (prefers-reduced-motion:no-preference) {
  .tpc-award-logo-plate { animation:tpc-award-reveal .65s ease-out both; }
  @keyframes tpc-award-reveal { from { opacity:.4; transform:translateY(4px); } to { opacity:1; transform:none; } }
}
@media print { .tpc-match-honours .tpc-honour-card { break-inside:avoid; box-shadow:none; } .tpc-award-fireworks { display:none; } }
