/* Fichas de deportistas: retratos originales, medalleros y trayectoria. */
.athletes-roster-count{display:inline-flex;margin-top:28px!important;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-white);font-size:.9375rem!important;color:var(--color-blue)!important;font-weight:var(--fw-medium)}
.athletes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none}
.athletes-grid>li{min-width:0;display:flex}
.athlete-card{display:flex;flex-direction:column;width:100%;height:100%;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-alt);color:var(--color-text);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}
.athlete-card:hover{border-color:var(--color-blue);box-shadow:var(--shadow-md);transform:translateY(-4px)}
.athlete-portrait{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--color-navy)}
.athlete-portrait img{position:absolute;top:0;left:0;width:230%;max-width:none;height:auto}
.athlete-card__body{position:relative;z-index:1;margin:-28px 14px 14px;padding:24px;display:flex;flex-direction:column;flex:1;gap:16px;border-radius:var(--radius-md);background:var(--color-white)}
.athlete-card__meta{font-size:.875rem;color:var(--color-text-muted);line-height:1.5}
.athlete-card h2{font-size:1.35rem;line-height:1.35;letter-spacing:-.03em}
.medal-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto}
.medal-stat{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;border-radius:var(--radius-sm);color:var(--color-slate);background:var(--color-bg-alt)}
.medal-stat dt{font-size:.875rem;font-weight:var(--fw-medium)}
.medal-stat dd{font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:1.65rem;line-height:1.2;order:-1}
.medal-stat--oro{color:var(--medal-gold-text);background:var(--medal-gold-bg)}
.medal-stat--plata{color:var(--medal-silver-text);background:var(--medal-silver-bg)}
.medal-stat--bronce{color:var(--medal-bronze-text);background:var(--medal-bronze-bg)}
.medal-stat--total{color:var(--color-white);background:var(--color-navy)}
.athlete-card__total{font-size:.875rem;color:var(--color-text-muted)}
.athlete-card__total strong{font-size:1.05rem;color:var(--color-navy);margin-right:4px}
.athlete-card__action{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--color-border);font-size:.875rem;line-height:1.5;font-weight:var(--fw-semibold);color:var(--color-blue)}
.athlete-card:hover .athlete-card__action{text-decoration:underline;text-underline-offset:4px}
.athletes-source-note{font-size:.875rem;color:var(--color-text-muted);line-height:1.6;margin-top:32px;max-width:80ch}
.athlete-header h1{font-size:clamp(2.4rem,4.8vw,4.3rem);max-width:1080px;line-height:1.17}
.athlete-profile-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.5fr);gap:40px;align-items:start}
.athlete-profile-aside{min-width:0}
.athlete-profile-photo{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.athlete-original{margin-top:20px;width:100%}
.athlete-contact{margin-top:30px;padding:24px;background:var(--color-bg-alt);border-radius:var(--radius-md)}
.athlete-contact h2{font-size:1.15rem;margin-bottom:12px}
.athlete-contact p,.athlete-contact a{font-size:.9375rem;line-height:1.6}
.athlete-contact a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-blue);font-weight:var(--fw-semibold);text-decoration:underline;text-underline-offset:4px}
.athlete-profile-content{min-width:0;padding:32px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-sm)}
.athlete-profile-block+.athlete-profile-block{margin-top:40px}
.athlete-profile-block>h2{font-size:1.7rem;margin-bottom:22px}
.medal-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.medal-summary .medal-stat{padding:20px 6px}
.medal-summary dd{font-size:2.4rem}
.athlete-data-note{margin-top:20px;padding:18px;border-left:3px solid var(--color-blue);background:var(--color-bg-alt);color:var(--color-text);font-size:.9375rem;line-height:1.7}
.athlete-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:32px 0 40px;border-top:1px solid var(--color-border)}
.athlete-facts>div{padding:18px 0;border-bottom:1px solid var(--color-border);min-width:0}
.athlete-facts>div:last-child{grid-column:1/-1}
.athlete-facts dt{font-size:.875rem;color:var(--color-text-muted);margin-bottom:6px}
.athlete-facts dd{font-size:1rem;font-weight:var(--fw-medium);line-height:1.6}
.athlete-strengths{display:flex;flex-direction:column;gap:12px;list-style:none}
.athlete-strengths li{padding-left:18px;border-left:3px solid var(--color-soft-blue);line-height:1.65}
.athlete-career{display:flex;flex-direction:column;gap:24px}
.career-event{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}
.career-event__header{display:flex;align-items:flex-start;gap:18px;padding:22px;background:var(--color-bg-alt)}
.career-event__year{padding:6px 10px;border-radius:var(--radius-sm);background:var(--color-navy);color:var(--color-white);font-family:var(--font-heading);font-size:.875rem;font-weight:var(--fw-semibold);flex-shrink:0}
.career-event__header h3{font-size:1.08rem;line-height:1.5}
.career-event__date{font-size:.875rem;color:var(--color-text-muted);margin-top:6px}
.athlete-results{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.9375rem}
.athlete-results thead{font-size:.8125rem;color:var(--color-text-muted)}
.athlete-results th,.athlete-results td{padding:14px 20px;text-align:left;border-top:1px solid var(--color-border);vertical-align:middle;line-height:1.55;overflow-wrap:anywhere}
.athlete-results thead th:first-child{width:62%}
.athlete-results th[scope=row]{font-weight:var(--fw-medium)}
.result-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;font-size:.875rem;font-weight:var(--fw-semibold);border-radius:var(--radius-full);line-height:1.5}
.result-badge--oro{color:var(--medal-gold-text);background:var(--medal-gold-bg)}
.result-badge--plata{color:var(--medal-silver-text);background:var(--medal-silver-bg)}
.result-badge--bronce{color:var(--medal-bronze-text);background:var(--medal-bronze-bg)}
.result-badge--place{color:var(--color-blue);background:var(--color-bg-alt)}
.career-event__note{border-top:1px solid var(--color-border);padding:14px 20px;font-size:.875rem;color:var(--color-text-muted);line-height:1.6}
.athlete-profile-end{margin-top:56px;padding-top:32px;border-top:1px solid var(--color-border)}
.athlete-neighbours{display:flex;gap:32px;justify-content:space-between;margin-top:28px}
.athlete-neighbours a{display:flex;flex-direction:column;gap:10px;max-width:46%;padding-block:12px;color:var(--color-blue);line-height:1.5}
.athlete-neighbours span{font-size:.875rem}
.athlete-neighbours a:hover strong{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1080px){.athletes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.athlete-profile-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px}.athlete-profile-content{padding:24px}.athlete-card__body{padding:22px}.career-event__header{gap:12px;padding:18px}.athlete-results th,.athlete-results td{padding:12px 14px}}
@media(max-width:900px){.athlete-profile-layout{grid-template-columns:minmax(0,1fr);gap:32px}.athlete-profile-aside{max-width:440px;width:100%}.athlete-header h1{font-size:clamp(2.25rem,7vw,3.5rem)}.athlete-neighbours{gap:20px}.medal-summary dd{font-size:2rem}}
@media(max-width:580px){.athletes-grid{grid-template-columns:minmax(0,1fr);gap:28px}.athlete-card__body{padding:22px}.athlete-profile-content{padding:0;border:0;border-radius:0;box-shadow:none}.athlete-facts{grid-template-columns:minmax(0,1fr)}.athlete-facts>div:last-child{grid-column:auto}.medal-summary{gap:7px}.medal-summary .medal-stat{padding:16px 3px}.medal-summary dd{font-size:1.8rem}.career-event__header{flex-direction:column;gap:12px}.athlete-results th,.athlete-results td{padding:12px}.athlete-results thead th:first-child{width:58%}.athlete-neighbours{flex-direction:column;gap:14px}.athlete-neighbours a{max-width:100%}.athlete-profile-block>h2{font-size:1.5rem}.athlete-contact{padding:20px}}
