/* Sports archive: shared layout for teams, accounts and facility galleries. */
.sports-main {max-width:1120px;}
.sports-main a {color:var(--red);text-underline-offset:.2em;}
.sports-main a:focus-visible,#sports-dialog a:focus-visible,#sports-dialog button:focus-visible {outline:3px solid var(--red);outline-offset:5px;}
.sports-prose {max-width:76ch;line-height:1.85;margin-bottom:2rem;}
.sports-prose h2 {margin:2.2rem 0 1rem;}
.sports-prose p+p {margin-top:1.2rem;}
.sports-section-heading {border-bottom:2px solid var(--red);padding-bottom:.6rem;margin:3rem 0 1.5rem;}
.sports-cards {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.8rem;margin:1.5rem 0 3rem;}
.sports-tracks {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:2rem 0 3rem;}
.sports-card {border:1px solid #ccbfac;background:#f1eadf;min-width:0;}
.sports-card-copy {padding:1.35rem;}
.sports-card h3 {font-family:Georgia,serif;font-size:1.5rem;line-height:1.3;margin:.7rem 0 1rem;}
.sports-card p {line-height:1.65;}
.sports-card-image {height:190px;display:flex;align-items:center;justify-content:center;padding:1rem;border-bottom:1px solid #ccbfac;background:#e9e0d2;}
.sports-card-image img {width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;}
.sports-tracks .sports-card h3 {font-size:1.9rem;}
.current-track {background:var(--red);color:#fff8ec;border-color:var(--red);display:flex;align-items:center;}
.current-track a,.current-track .eyebrow {color:#fff8ec;}
.sports-gallery-guide {padding:1rem 0;border-block:1px solid #ccbfac;font-size:.95rem;}
.sports-photos {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2rem;margin:2.5rem 0;align-items:start;}
.sports-photo {min-width:0;}
.sports-photo .enlarge-photo {display:block;width:fit-content;max-width:100%;margin:auto;}
.sports-photo img {display:block;max-width:100%;height:auto;width:auto;max-height:390px;border:1px solid #ccbfac;object-fit:contain;}
.sports-photo .enlarge-photo span {display:block;font-size:.8rem;text-align:right;padding-top:.4rem;}
.sports-main .sports-photo figcaption {font-size:.95rem;line-height:1.7;color:#443c34;}
.sports-photo figcaption p {margin:.7rem 0;}
.sports-current-preview {background:#292723;color:#fff8ec;padding:2rem;margin:2rem 0;border-top:5px solid var(--red);}
.sports-current-preview .eyebrow {color:#eedbd0;}.sports-current-preview h2{color:inherit;}
.sports-current-preview dl {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin:2rem 0;}
.sports-current-preview dt {font-weight:bold;margin-bottom:.75rem;}.sports-current-preview dd{margin:0;color:#e0d6c8;}
.source-date,.source-credit {font-size:.95rem;color:#685c50;}
.resource-list li,.rankings li {margin:.8rem 0;}.resource-list {padding-left:1.3rem;}
.sports-prose audio {display:block;width:100%;max-width:520px;margin:1.5rem 0;}
.alma-mater {font-family:Georgia,serif;font-style:italic;border-left:3px solid var(--red);padding-left:1.5rem;}
#sports-dialog {width:min(1120px,96vw);max-height:94dvh;overflow:auto;padding:1.2rem;background:#f6f2e9;color:#292723;border:1px solid #887564;}
#sports-dialog::backdrop {background:rgb(24 20 16 / .85);}
.sports-dialog-bar,.sports-dialog-controls {display:flex;gap:1rem;align-items:center;justify-content:space-between;}
.sports-dialog-bar {position:sticky;top:-1.2rem;background:#f6f2e9;padding-block:.6rem;z-index:1;}
.sports-dialog-bar h2 {font-size:1.1rem;margin:0;}
#sports-dialog button {font:inherit;min-height:44px;padding:.5rem .8rem;background:#f6f2e9;border:1px solid var(--red);color:var(--red);cursor:pointer;}
#sports-dialog button:disabled {opacity:.4;cursor:default;}
.sports-dialog-image img {display:block;max-width:100%;height:auto;margin:1rem auto;}
#sports-photo-caption {max-width:80ch;margin:1.5rem auto;line-height:1.7;}
#photo-position {font-size:.9rem;text-align:center;}
@media(max-width:900px){.sports-cards{grid-template-columns:repeat(2,minmax(0,1fr));}.sports-current-preview dl{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.sports-tracks,.sports-cards,.sports-photos{grid-template-columns:1fr;}.sports-tracks{gap:1.5rem;}.sports-card-copy{padding:1.2rem;}.sports-current-preview{padding:1.3rem;}.sports-current-preview dl{grid-template-columns:1fr;gap:1rem;}.sports-photo img{max-height:440px;}.sports-dialog-controls{gap:.4rem;}#sports-dialog{padding:.75rem;}.sports-dialog-bar{top:-.75rem;}#sports-dialog button{font-size:.9rem;padding:.5rem;}}
@media print {
 .preview-notice,.site-header,.site-footer,.breadcrumbs,.history-return,dialog,.enlarge-photo span,.sports-gallery-guide,audio {display:none!important;}
 .sports-main {width:100%;max-width:none;margin:0;padding:0;}
 .sports-prose {max-width:none;line-height:1.5;}
 .sports-cards,.sports-tracks {display:block;}.sports-card{break-inside:avoid;margin:1rem 0;background:none;color:#000;}.sports-card-image{display:none;}.sports-card a,.sports-card .eyebrow{color:#000;}
 .sports-photos {display:block;}.sports-photo {break-inside:avoid;margin:1.5rem 0!important;}.sports-photo img{max-height:3.3in;max-width:100%;}.sports-main .sports-photo figcaption{font-size:10pt;line-height:1.45;}.sports-photo a{color:inherit;text-decoration:none;}
 .sports-current-preview{color:#000;background:none;border:1px solid #999;}.sports-current-preview dd,.sports-current-preview .eyebrow{color:#000;}
}

/* Short portrait identifications align with the centered image; group captions stay left aligned. */
.sports-main .sports-photo.caption-center figcaption {text-align:center;}
.sports-main .sports-photo.caption-left figcaption {text-align:left;}

/* Contributor photographs retain their original proportions and remain subordinate to the text. */
.sports-contributor {display:flex;align-items:flex-start;gap:1.5rem;margin:1.5rem 0;}
.sports-contributor>img {width:140px;height:auto;max-height:180px;object-fit:contain;flex:none;}
.sports-contributor>div {flex:1;min-width:0;}
.sports-signature {border-top:1px solid #ccbfac;padding-top:1.5rem;align-items:center;}
.all-state-table {width:100%;border-collapse:collapse;margin:1rem 0 3rem;table-layout:fixed;font:1rem/1.55 var(--sans);}
.all-state-table caption {text-align:left;font-family:Georgia,serif;font-size:1.3rem;margin-bottom:1rem;}
.all-state-table th,.all-state-table td {padding:.9rem .7rem;text-align:left;vertical-align:top;border-bottom:1px solid #ccbfac;overflow-wrap:break-word;}
.all-state-table thead th {background:#e9e0d2;border-top:2px solid var(--red);font-size:.85rem;}
.all-state-table th[scope=row] {font-weight:normal;}
.all-state-table thead th:nth-child(1) {width:13%;}
.all-state-table thead th:nth-child(2) {width:42%;}
.all-state-table thead th:nth-child(3) {width:15%;}
.all-state-table thead th:nth-child(4) {width:30%;}
.all-state-table tbody tr:nth-child(even) {background:#f0e9df;}
@media(max-width:600px){.sports-contributor{flex-direction:column;align-items:center;}.sports-contributor>div{width:100%;}.all-state-table{font-size:.8rem;}.all-state-table th,.all-state-table td{padding:.65rem .3rem;}.all-state-table thead th{font-size:.7rem;}.all-state-table thead th:nth-child(1){width:15%;}.all-state-table thead th:nth-child(2){width:40%;}.all-state-table thead th:nth-child(3){width:17%;}.all-state-table thead th:nth-child(4){width:28%;}}
@media print {.sports-contributor{display:flex;flex-direction:row;break-inside:avoid;}.sports-contributor>img{width:25mm;max-height:32mm;margin:0;}.all-state-table{font-size:10pt;}.all-state-table thead{display:table-header-group;}.all-state-table tr{break-inside:avoid;}.all-state-table th,.all-state-table td{padding:.4rem;}}

/* Feature photographs sit with the account without displacing its opening. */
.sports-prose:has(.sports-feature-photo)::after {content:"";display:block;clear:both;}
.sports-main .sports-feature-photo {float:right;width:240px;max-width:45%;margin:0 0 1.5rem 2rem;}
.sports-feature-photo img {display:block;width:100%;height:auto;}
.sports-main .sports-feature-photo figcaption {text-align:center;}
.sports-feature-photo~.sports-signature {clear:both;}
@media(max-width:600px){.sports-main .sports-feature-photo{float:none;width:210px;max-width:100%;margin:0 auto 1.5rem;}}
@media print{.sports-main .sports-feature-photo{width:40mm;max-width:40%;margin:0 0 1rem 1rem;float:right;}.sports-feature-photo img{max-height:none;width:100%;}}
