/* TROPHY CABINET + the winner's avatar ring (job 04; includes/forum/26-trophy-cabinet.php). Site-wide because avatars show everywhere.
   Colours are the brief's own (no tokens re-declared): graphite #23211E · plaque #2C2A26 · rules #3A3731 · gold #E8C07A · brass #C99A45 ·
   plate text #2A2010 · bone #EFEBE3 · secondary on graphite #A9A396 · amber #A86A00 / #FBF6EC · paper #FAF9F6. Square corners except
   avatars and the medal. Free smooth scroll, never snapping (site rule). */

/* ── The ring + medal: drawn by the wrapper, so it works on photos and on the initials circle ── */
.pt-trc-av { position: relative; display: inline-block; flex: none; line-height: 0; border-radius: 50%; vertical-align: middle; }
.pt-trc-av::after { content: ""; position: absolute; inset: -2px; border-radius: 50%; box-shadow: 0 0 0 2px #A86A00; pointer-events: none; }
.pt-trc-av--s::after { inset: -1px; }
.pt-trc-av--hero::after { inset: -4px; box-shadow: 0 0 0 3px #A86A00; }   /* 4px paper gap, 3px amber ring */
.pt-trc-medal { position: absolute; right: -5px; bottom: -4px; z-index: 1; box-sizing: border-box; width: 18px; height: 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: #23211E; border: 1.5px solid #FAF9F6; color: #E8C07A; font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 10px; font-weight: 700; line-height: 1; pointer-events: none; }
.pt-trc-medal b { font-weight: 700; color: #E8C07A; }
.pt-trc-cup { fill: none; stroke: #E8C07A; stroke-width: 2; flex: none; }
.pt-trc-av--hero .pt-trc-medal { width: 38px; height: 38px; right: -6px; bottom: 2px; border-width: 3px; font-size: 12px; gap: 1px; }   /* the profile avatar is 120px: the brief's 46px-on-150 in proportion */
.pt-trc-av--hero .pt-trc-medal .pt-trc-cup { width: 13px; height: 13px; }
@media (max-width: 760px) {
	.pt-trc-av--hero::after { inset: -3px; box-shadow: 0 0 0 2px #A86A00; }
	.pt-trc-av--hero .pt-trc-medal { width: 30px; height: 30px; right: -7px; bottom: -2px; border-width: 2px; font-size: 10px; }   /* 72px phone avatar (brief: 32 on 78) */
	.pt-trc-av--hero .pt-trc-medal .pt-trc-cup { width: 10px; height: 10px; }
}

/* ── The band: full bleed, content on the site container ── */
/* Full bleed without widening the page: a box-shadow spread + a border-image outset are ink overflow (never scroll width), clipped to
   the band's own height. (An absolutely placed ::before reaching 100vmax out made the page 2,800px wide at 1440 — found 11 Oct.) */
.pt-trc { position: relative; margin: 4px 0 20px; padding: 20px 40px 22px; color: #EFEBE3; background: #23211E; border-top: 4px solid #A86A00;
	border-image: linear-gradient(#A86A00, #A86A00) 1 0 0 0 / 4px 0 0 0 / 0 100vmax; box-shadow: 0 0 0 100vmax #23211E; clip-path: inset(0 -100vmax); }
.pt-trc__top { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.pt-trc__top b { color: #fff; font-size: 17px; font-weight: 600; }
.pt-trc__c { font-size: 13px; color: #A9A396; }
.pt-trc .pt-trc__hof, .pt-trc .pt-trc__hof:visited { margin-left: auto; color: #E8C07A; font-size: 14px; text-decoration: none; }
.pt-trc .pt-trc__hof:hover { color: #E8C07A; text-decoration: underline; }
.pt-trc__shelfw { position: relative; }
.pt-trc__shelf { display: flex; gap: 16px; overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; padding-bottom: 12px; border-bottom: 6px solid #3A3731; }
.pt-trc__shelf::-webkit-scrollbar { display: none; }
.pt-trc__shelf:focus-visible { outline: 2px solid #E8C07A; outline-offset: 2px; }
/* a plaque: up to 5 across on desktop */
.pt-trc .pt-trc-pl, .pt-trc .pt-trc-pl:visited { flex: 0 0 min(230px, calc((100% - 64px) / 5)); min-width: 180px; display: flex; flex-direction: column; background: #2C2A26; border: 1px solid #3A3731; color: #EFEBE3; text-decoration: none; }
.pt-trc a.pt-trc-pl:hover, .pt-trc a.pt-trc-pl:focus-visible { border-color: #5A564E; color: #EFEBE3; }
.pt-trc-pl__ph { position: relative; display: block; height: 130px; background: #23211E; overflow: hidden; }
.pt-trc-pl__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pt-trc-pl__rib { position: absolute; left: 0; top: 10px; background: #A86A00; color: #fff; font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 11px; font-weight: 600; padding: 3px 8px; }
.pt-trc-pl__plate { position: relative; display: block; margin: -14px 12px 0; padding: 8px 10px; background: linear-gradient(180deg, #E8C07A, #C99A45); color: #2A2010; text-align: center; box-shadow: 0 2px 0 #8A6A2A; }
.pt-trc-pl__wk { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.pt-trc-pl__t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 2px; font-size: 12px; font-weight: 600; line-height: 1.25; }
.pt-trc-pl__car { display: block; padding: 8px 10px 10px; font-size: 11px; color: #A9A396; text-align: center; }
/* owner: room for the next one */
.pt-trc .pt-trc-pl--next { align-items: center; justify-content: center; gap: 6px; min-height: 220px; padding: 16px; background: transparent; border: 1.5px dashed #5A564E; color: #A9A396; font-size: 13px; text-align: center; }
.pt-trc-pl--next b { color: #EFEBE3; font-size: 14px; }
.pt-trc-pl--next b.pt-mono { color: #E8C07A; font-size: 13px; }
.pt-trc-pl--next a, .pt-trc-pl--next a:visited { color: #E8C07A; font-weight: 600; }
/* arrows (more than fit) — rule 5a: background + colour in every state */
.pt-trc .pt-trc__arr, .pt-trc .pt-trc__arr:focus, .pt-trc .pt-trc__arr:active { position: absolute; top: 50px; z-index: 2; width: 36px; height: 36px; padding: 0; border: 1px solid #3A3731; border-radius: 0; background: #2C2A26; color: #EFEBE3; font-size: 22px; line-height: 1; cursor: pointer; }
.pt-trc .pt-trc__arr:hover { background: #3A3731; color: #EFEBE3; }
.pt-trc .pt-trc__arr:focus-visible { outline: 2px solid #E8C07A; outline-offset: 1px; }
.pt-trc .pt-trc__arr--l { left: -18px; } .pt-trc .pt-trc__arr--r { right: -18px; }
.pt-trc .pt-trc__arr[hidden] { display: none; }
@media (max-width: 760px) {
	.pt-trc { padding: 16px 16px 18px; margin-bottom: 16px; }
	.pt-trc__top b { font-size: 15px; }
	.pt-trc .pt-trc-pl, .pt-trc .pt-trc-pl:visited { flex-basis: 170px; min-width: 170px; }
	.pt-trc-pl__ph { height: 96px; }
	.pt-trc .pt-trc-pl--next { min-height: 180px; }
}

/* ── Stats: the winners' first cell ── */
.pt-pp-stats:has(.pt-pp-stat--win) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.pt-pp-stat--win { background: #FBF6EC; }
.pt-pp-stats .pt-pp-stat--win b { color: #A86A00; }
@media (max-width: 760px) { .pt-pp-stats:has(.pt-pp-stat--win) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
