/* ============================================================
   PLAYER-DETAIL.CSS — Page-specific styles for player-detail.html
   ============================================================ */

/* ============ AD / OVERFLOW SAFETY ============
   Same pattern as the other pages: unconstrained AdSense units were
   what pushed content/ads flush against the right edge. Layout-only,
   no ad logic touched. */
.main-wrap,
.detail-layout,
.detail-content,
.detail-sidebar {
    max-width: 100%;
}
ins.adsbygoogle,
.adsbygoogle {
    display: block !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
    margin: 0 auto !important;
}
.horizontal-player-detail-add,
.ad-slot {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    margin: 20px 0;
    text-align: center;
}

/* ============ PAGE HERO ============ */
.page-hero {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--primary);
    max-width: 100%;
}
.page-hero-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #0a0f1e, #1e3a5f);
    filter: brightness(0.35) blur(2px);
}
.page-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.5) 50%, transparent 100%);
}
.page-hero-inner {
    position: relative;
    z-index: 1;
    padding: 60px 0 40px;
}

.breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,0.5);
    margin-bottom: 20px;
    background: rgba(255,255,255,0.06);
    padding: 6px 16px;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,0.1);
    flex-wrap: wrap;
}
.breadcrumb a { color: rgba(255,255,255,0.5); transition: color var(--transition); }
.breadcrumb a:hover { color: var(--accent); }

.player-hero-content {
    display: flex;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
    max-width: 100%;
}
.player-hero-avatar {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid var(--accent);
    box-shadow: 0 0 0 8px rgba(232,25,44,0.2);
    background: var(--surface);
    flex-shrink: 0;
}
.player-hero-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.player-hero-info { min-width: 0; max-width: 100%; }
.player-hero-info h1 {
    font-family: "Oswald", sans-serif;
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
}
.player-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--accent);
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
    margin-bottom: 12px;
}
.player-hero-info p {
    font-size: 15px;
    color: rgba(255,255,255,0.7);
    margin-bottom: 16px;
}

/* Hero quick stats — was flex-wrap with no per-item width, so two
   boxes always fit per row on narrow screens (the "2-column" look).
   Give each item a real basis so it degrades predictably, then force
   a single column below 480px per the "fully vertical on mobile" ask. */
.player-hero-stats {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
.hero-stat-item {
    flex: 1 1 130px;
    text-align: center;
    background: rgba(255,255,255,0.1);
    padding: 10px 18px;
    border-radius: var(--radius-sm);
    backdrop-filter: blur(8px);
}
.hero-stat-item .stat-value {
    font-family: "Oswald", sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: var(--accent);
    line-height: 1;
}
.hero-stat-item .stat-label {
    font-size: 10px;
    color: rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ============ MAIN LAYOUT ============ */
.main-wrap {
    width: 100%;
    max-width: 1560px;
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
}
.detail-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 32px;
    padding: 48px 0 60px;
    align-items: start;
}

/* ============ DETAIL CONTENT ============ */
.detail-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Stats Grid — single source of truth now (was duplicated further down
   the file with a non-media rule that silently beat the mobile media
   queries via source order; that duplicate is removed). Base is a
   responsive auto-fit grid, and the @media rules below correctly win
   on smaller screens since this is the only place it's declared. */
.stats-grid-custom {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
}
.stat-card {
    background: var(--surface);
    border-radius: var(--radius);
    padding: 20px;
    text-align: center;
    border: 1px solid var(--border);
    transition: all var(--transition);
    min-width: 0;
}
.stat-card:hover {
    transform: translateY(-4px);
    border-color: var(--accent);
}
.stat-card .stat-number {
    font-family: "Oswald", sans-serif;
    font-size: 25px;
    font-weight: 700;
    color: var(--accent);
    line-height: 1;
}
.stat-card .stat-title {
    font-size: 12px;
    color: var(--text3);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-top: 8px;
}

/* Info Section */
.info-section {
    background: var(--surface);
    border-radius: var(--radius);
    padding: 28px;
    border: 1px solid var(--border);
    max-width: 100%;
}
.info-section h3 {
    font-family: "Oswald", sans-serif;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text);
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--accent);
    display: flex;
    align-items: center;
    gap: 12px;
}
.info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.info-item {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed var(--border);
    flex-wrap: wrap;
    min-width: 0;
}
.info-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--text2);
    min-width: 100px;
}
.info-value {
    font-size: 14px;
    font-weight: 500;
    color: var(--text);
    word-break: break-word;
}

/* Bio Section */
.bio-section {
    background: var(--surface);
    border-radius: var(--radius);
    padding: 28px;
    border: 1px solid var(--border);
    max-width: 100%;
    --bio-link-color: var(--accent, #e8192c);
    --bio-code-bg: #1e1e2e;
    --bio-blockquote-border: var(--accent, #e8192c);
    --bio-table-header-bg: rgba(232, 25, 44, 0.1);
    --bio-table-row-hover: rgba(232, 25, 44, 0.05);
}
.bio-section h3 {
    font-family: "Oswald", sans-serif;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--accent);
    display: flex;
    align-items: center;
    gap: 12px;
}
.bio-section p {
    font-size: 15px;
    color: var(--text2);
    line-height: 1.8;
}

/* Career Timeline */
.timeline-mini {
    margin-top: 24px;
}
.timeline-item-mini {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
    padding-left: 20px;
    border-left: 2px solid var(--accent);
    flex-wrap: wrap;
}
.timeline-year {
    font-family: "Oswald", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--accent);
    min-width: 70px;
}
.timeline-text {
    font-size: 13px;
    color: var(--text2);
    line-height: 1.6;
    min-width: 0;
}
.timeline-text strong {
    color: var(--text);
}

/* Achievements */
.achievements-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}
.achievement-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background:linear-gradient(135deg, #ff2d55, #ef4444); 
    border-radius: 30px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
}
.achievement-badge i {
    font-size: 11px;
}

/* Related Players */
.related-players {
    margin-top: 32px;
}
.related-players h3 {
    font-family: "Oswald", sans-serif;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text);
    margin-bottom: 20px;
}
.related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.related-card {
    background: var(--surface);
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--border);
    cursor: pointer;
    transition: all var(--transition);
    min-width: 0;
}
.related-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}
.related-card-img {
    height: 220px;
    overflow: hidden;
}
.related-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.related-card-body {
    padding: 12px;
    text-align: center;
}
.related-card-body h4 {
    font-family: "Oswald", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 4px;
}
.related-card-body p {
    font-size: 11px;
    color: var(--text3);
}

/* ============ SIDEBAR ============ */
.detail-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
    max-width: 100%;
}
.sidebar-widget {
    background: var(--surface);
    border-radius: var(--radius);
    padding: 20px;
    border: 1px solid var(--border);
    max-width: 100%;
    overflow: hidden;
}
.widget-title {
    font-family: "Oswald", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text);
    margin-bottom: 16px;
    padding-bottom: 9px;
    border-bottom: 2px solid var(--accent);
}
.social-stats {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.social-stat-item {
    display: flex;
    flex-direction: column;
    padding: 10px;
    background: var(--surface2);
    border-radius: var(--radius-sm);
    min-width: 0;
}
.social-stat-item i {
    font-size: 18px;
}
.social-stat-item .stat {
    font-weight: 700;
    color: var(--text);
    word-break: break-word;
}
.follow-btn {
    margin-top: 12px;
    width: 100%;
    padding: 10px;
    background: var(--accent);
    color: #fff;
    border-radius: var(--radius-sm);
    font-weight: 700;
    text-align: center;
    display: inline-block;
    transition: all var(--transition);
}
.follow-btn:hover {
    background: #c7152a;
    transform: translateY(-2px);
}

/* -- hero social buttons -- */
.player-hero-social {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    flex-wrap: wrap;
}
.hero-social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.12);
    color: #fff;
    font-size: 14px;
    transition: all var(--transition);
    border: 1px solid rgba(255,255,255,0.2);
}
.hero-social-btn:hover {
    background: var(--accent);
    border-color: var(--accent);
    transform: translateY(-2px);
}

/* -- bio content (rich text) -- */
.bio-content {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--text2, #cbd5e1);
    overflow-x: auto;
}
.bio-content p { margin: 0 0 1.25em; line-height: 1.75; }
.bio-content ul, .bio-content ol { margin: 0 0 1.25em 1.5em; padding: 0; }
.bio-content li { margin: 0.5em 0; line-height: 1.7; }
.bio-content li > ul, .bio-content li > ol { margin: 0.25em 0 0.25em 1.5em; }
.bio-content ul li { list-style-type: disc; }
.bio-content ul ul li { list-style-type: circle; }
.bio-content ul ul ul li { list-style-type: square; }
.bio-content ol li { list-style-type: decimal; }
.bio-content ol ol li { list-style-type: lower-alpha; }
.bio-content ol ol ol li { list-style-type: lower-roman; }
.bio-content strong { font-weight: 700; color: var(--text, #ffffff); }
.bio-content em { font-style: italic; color: var(--text2, #cbd5e1); }
.bio-content a {
    color: var(--bio-link-color);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: all 0.2s ease;
    font-weight: 500;
}
.bio-content a:hover { border-bottom-color: var(--bio-link-color); opacity: 0.85; }
.bio-content small { font-size: 0.875em; color: var(--text3, #8a8aa8); }
.bio-content mark {
    background: rgba(232, 25, 44, 0.2);
    color: var(--text, #ffffff);
    padding: 0.1em 0.3em;
    border-radius: 4px;
}
.bio-content sup, .bio-content sub { font-size: 0.75em; line-height: 0; }

.bio-content h1 {
    font-family: "Oswald", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 1.5em 0 0.5em;
    color: var(--text, #ffffff);
    letter-spacing: -0.02em;
    border-left: 4px solid var(--accent, #e8192c);
    padding-left: 1rem;
}
.bio-content h2 {
    font-family: "Oswald", sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 1.4em 0 0.5em;
    color: var(--text, #ffffff);
    letter-spacing: -0.01em;
    border-bottom: 2px solid var(--border, #2a2a3a);
    padding-bottom: 0.5rem;
}
.bio-content h3 {
    font-family: "Oswald", sans-serif;
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.35;
    margin: 1.3em 0 0.5em;
    color: var(--text, #ffffff);
    border: none !important;
}
.bio-content h4 {
    font-family: "Oswald", sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 1.2em 0 0.5em;
    color: var(--text, #ffffff);
}
.bio-content h5 {
    font-family: "Oswald", sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.45;
    margin: 1.1em 0 0.4em;
    color: var(--text, #ffffff);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.bio-content h6 {
    font-family: "Oswald", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    margin: 1em 0 0.4em;
    color: var(--accent, #e8192c);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.bio-content blockquote {
    margin: 1.5em 0;
    padding: 1.25em 1.5em;
    background: rgba(255, 255, 255, 0.03);
    border-left: 4px solid var(--bio-blockquote-border);
    border-radius: var(--radius, 8px);
    font-style: italic;
    color: var(--text2, #cbd5e1);
    position: relative;
}
.bio-content blockquote p:last-child { margin-bottom: 0; }
.bio-content blockquote::before {
    content: '"';
    font-size: 3rem;
    font-family: serif;
    position: absolute;
    top: -0.5rem;
    left: 0.75rem;
    opacity: 0.1;
    color: var(--accent, #e8192c);
}

.bio-content hr {
    margin: 2em 0;
    border: none;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--accent, #e8192c), transparent);
}

.bio-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius, 8px);
    display: block;
    margin: 1.5em auto;
    box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.3));
}
.bio-content figure { margin: 1.5em 0; text-align: center; }
.bio-content figure img { margin: 0 auto; }
.bio-content figcaption {
    font-size: 0.875rem;
    color: var(--text3, #8a8aa8);
    text-align: center;
    margin-top: 0.75em;
    font-style: italic;
}

.bio-content table {
    width: 100%;
    min-width: 500px;
    margin: 1.5em 0;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: var(--radius, 8px);
    overflow: hidden;
    background: var(--surface, #1a1a2a);
    box-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.3));
}
.bio-content thead { background: var(--bio-table-header-bg); }
.bio-content th {
    padding: 0.875rem 1rem;
    text-align: left;
    font-weight: 700;
    color: var(--text, #ffffff);
    font-family: "Oswald", sans-serif;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--border, #2a2a3a);
}
.bio-content td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border, #2a2a3a);
    color: var(--text2, #cbd5e1);
}
.bio-content tr:last-child td { border-bottom: none; }
.bio-content tbody tr:hover { background: var(--bio-table-row-hover); transition: background 0.2s ease; }
.bio-content th:first-child, .bio-content td:first-child { padding-left: 1rem; }

.bio-content code {
    font-family: 'Fira Code', 'Cascadia Code', 'JetBrains Mono', monospace;
    font-size: 0.875em;
    padding: 0.2em 0.4em;
    background: var(--bio-code-bg);
    border-radius: 6px;
    color: #f87171;
    white-space: nowrap;
}
.bio-content pre {
    margin: 1.5em 0;
    padding: 1.25em;
    background: var(--bio-code-bg);
    border-radius: var(--radius, 8px);
    overflow-x: auto;
    position: relative;
}
.bio-content pre code {
    background: none;
    padding: 0;
    white-space: pre;
    word-break: normal;
    word-wrap: normal;
    color: #e2e8f0;
    font-size: 0.875rem;
    line-height: 1.6;
}
.bio-content kbd {
    display: inline-block;
    padding: 0.2em 0.5em;
    font-family: monospace;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text, #ffffff);
    background: var(--surface2, #2a2a3a);
    border: 1px solid var(--border, #3a3a4a);
    border-radius: 6px;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.bio-content dl {
    margin: 1.25em 0;
    background: rgba(255, 255, 255, 0.02);
    border-radius: var(--radius, 8px);
    padding: 1em;
}
.bio-content dt {
    font-weight: 700;
    color: var(--text, #ffffff);
    margin: 0.75em 0 0.25em;
    font-family: "Oswald", sans-serif;
}
.bio-content dt:first-of-type { margin-top: 0; }
.bio-content dd { margin: 0 0 0.5em 1.5em; color: var(--text2, #cbd5e1); }

.bio-content details {
    margin: 1.25em 0;
    padding: 0.75em 1em;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--border, #2a2a3a);
    border-radius: var(--radius, 8px);
    cursor: pointer;
}
.bio-content summary { font-weight: 600; color: var(--text, #ffffff); cursor: pointer; outline: none; }
.bio-content summary::-webkit-details-marker { color: var(--accent, #e8192c); }
.bio-content details[open] summary {
    margin-bottom: 1em;
    padding-bottom: 0.75em;
    border-bottom: 1px solid var(--border, #2a2a3a);
}

.bio-content iframe, .bio-content video, .bio-content audio {
    max-width: 100%;
    display: block;
    margin: 1.5em auto;
    border-radius: var(--radius, 8px);
}
.bio-content iframe { aspect-ratio: 16 / 9; width: 100%; }

.bio-content address {
    margin: 1.25em 0;
    padding: 0.75em 1em;
    background: rgba(255, 255, 255, 0.02);
    border-radius: var(--radius, 8px);
    font-style: normal;
    color: var(--text2, #cbd5e1);
    border-left: 3px solid var(--accent, #e8192c);
}
.bio-content abbr[title] {
    text-decoration: underline dotted;
    cursor: help;
    text-decoration-color: var(--accent, #e8192c);
}

.bio-content pre::-webkit-scrollbar, .bio-content::-webkit-scrollbar { height: 8px; width: 8px; }
.bio-content pre::-webkit-scrollbar-track, .bio-content::-webkit-scrollbar-track {
    background: var(--surface, #1a1a2a);
    border-radius: 4px;
}
.bio-content pre::-webkit-scrollbar-thumb, .bio-content::-webkit-scrollbar-thumb {
    background: var(--accent, #e8192c);
    border-radius: 4px;
}
.bio-content pre::-webkit-scrollbar-thumb:hover, .bio-content::-webkit-scrollbar-thumb:hover { background: #c7152a; }

/* -- back to players buttons -- */
.btn-back-players {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    background: var(--accent);
    color: #fff;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 700;
    transition: all var(--transition);
    width: 100%;
}
.btn-back-players:hover { opacity: 0.85; transform: translateY(-2px); }

/* ============ SECTION HEADER WITH PLAYER IMAGE ============ */
.section-icon-wrap {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--surface2);
    border: 2px solid var(--accent);
    box-shadow: 0 0 0 3px rgba(var(--accent-rgb, 232, 25, 44), 0.1);
    transition: all var(--transition);
}
.section-player-icon { width: 100%; height: 100%; object-fit: cover; display: block; }
.section-icon-wrap i { font-size: 16px; color: var(--accent); }
.section-icon-wrap:hover { transform: scale(1.1); box-shadow: 0 0 0 5px rgba(var(--accent-rgb, 232, 25, 44), 0.2); }

/* ============ RESPONSIVE ============ */
@media (min-width: 1901px) {
    .main-wrap { max-width: 1680px; }
}
@media (max-width: 1100px) {
    .detail-layout { grid-template-columns: 1fr; }
    .detail-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (max-width: 768px) {
    .stats-grid-custom { grid-template-columns: repeat(2, 1fr); }
    .info-grid { grid-template-columns: 1fr; }
    .related-grid { grid-template-columns: repeat(2, 1fr); }
    .detail-sidebar { grid-template-columns: 1fr; }
    .player-hero-content { flex-direction: column; text-align: center; }
    .player-hero-avatar { width: 140px; height: 140px; }
    .player-hero-stats { justify-content: center; }
    .section-icon-wrap { width: 30px; height: 30px; }
    .info-section h3, .bio-section h3 { gap: 10px; }
    .bio-content { font-size: 0.9375rem; line-height: 1.7; }
    .bio-content h1 { font-size: 1.75rem; }
    .bio-content h2 { font-size: 1.5rem; }
    .bio-content h3 { font-size: 1.375rem; }
    .bio-content h4 { font-size: 1.125rem; }
    .bio-content blockquote { padding: 1em; margin: 1.25em 0; }
    .bio-content ul, .bio-content ol { margin-left: 1.25em; }
    .bio-content th, .bio-content td { padding: 0.5rem 0.75rem; }
    .bio-content table { font-size: 0.875rem; }
    .horizontal-player-detail-add,
    .ad-slot { margin: 14px 0; }
}
@media (max-width: 640px) {
    /* Explicit "fully vertical, one item per row" mobile layout,
       per the request — hero stat boxes stack instead of pairing up. */
    .player-hero-stats { flex-direction: column; }
    .hero-stat-item { flex: 1 1 auto; width: 100%; }
}
@media (max-width: 480px) {
    .stats-grid-custom { grid-template-columns: 1fr; }
    .related-grid { grid-template-columns: 1fr; }
    .info-item { flex-direction: column; gap: 4px; }
    .info-label { min-width: 0; }
    .bio-content { font-size: 0.875rem; }
    .bio-content h1 { font-size: 1.5rem; }
    .bio-content h2 { font-size: 1.375rem; }
    .bio-content h3 { font-size: 1.25rem; }
    .bio-content blockquote { padding: 0.75em; }
    .bio-content blockquote::before { font-size: 2rem; top: -0.25rem; }
}

/* ============ PRINT STYLES ============ */
@media print {
    .bio-content { color: #000; font-size: 11pt; line-height: 1.5; }
    .bio-content a { color: #000; text-decoration: underline; }
    .bio-content blockquote { border-left-color: #666; background: none; }
    .bio-content pre, .bio-content code { background: #f5f5f5; color: #000; }
}