/* Fokus.Schalke – eigene, responsive Spielerprofilseite. Eigenständiges Design,
   angelehnt an den tabellarischen Aufbau klassischer Fußball-Datenbanken. */
.player-page{--pp-blue:#0755b4;--pp-royal:#013a88;--pp-navy:#061c40;--pp-line:#d8e3f2;--pp-ink:#1b3150;--pp-paper:#fff;--pp-muted:#647790}
.pp-container{padding-top:27px;padding-bottom:88px;color:var(--theme-text,var(--pp-ink))}
.pp-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:26px;font:800 11px var(--display);letter-spacing:1px;color:var(--theme-muted,var(--pp-muted))}
.pp-breadcrumb a{color:var(--blue);text-decoration:none}
.pp-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.pp-breadcrumb strong{color:var(--theme-heading,var(--pp-ink))}
.pp-headline{margin:0 0 25px;border-bottom:3px solid var(--blue);padding:0 0 19px}
.pp-eyebrow{font:800 11px var(--display);letter-spacing:2px;color:var(--blue)}
.pp-headline h1{font:900 clamp(53px,8vw,89px)/.95 var(--display);margin:7px 0 10px;color:var(--theme-heading,var(--pp-navy))}
.pp-headline h1 span{color:var(--blue)}
.pp-headline p{margin:0;color:var(--theme-muted,var(--pp-muted));font-size:13px;line-height:1.6}
.pp-hero{background:var(--theme-surface,var(--pp-paper));border:1px solid var(--theme-line,var(--pp-line));overflow:hidden;box-shadow:0 8px 28px #0623480e}
.pp-hero-banner{background:linear-gradient(100deg,#003d95,#066bcc);color:white;min-height:66px;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 23px}
.pp-club{display:flex;align-items:center;gap:12px;font:900 23px var(--display);min-width:0}
.pp-club>.mc-team-logo{width:34px;height:34px}
.pp-club>.mc-team-fallback{font-size:13px}
.pp-club span:last-child{overflow-wrap:anywhere}
.pp-role{font:900 12px var(--display);letter-spacing:1.3px;flex-shrink:0;padding:8px 11px;border:1px solid #ffffff90}
.pp-hero-grid{display:grid;grid-template-columns:minmax(230px,31%) minmax(0,1fr);gap:28px;padding:24px}
.pp-portrait{position:relative;min-height:310px;height:100%;max-height:440px;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(135deg,#eff6ff 0%,#e4eefb 56%,#f9fbfe 100%);border:1px solid #dce8f6;overflow:hidden}
.pp-portrait::before{content:'04';position:absolute;z-index:0;right:11px;top:7px;font:900 110px/.9 var(--display);color:#c4d9ef;opacity:.65;pointer-events:none}
.pp-portrait>img{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center top;padding:0;box-sizing:border-box;image-rendering:auto}
.pp-portrait-empty{position:relative;z-index:2;display:flex;align-self:center;flex-direction:column;align-items:center;gap:3px;color:#6e9aca}
.pp-portrait-empty span{font:900 86px/.95 var(--display)}
.pp-portrait-empty small{font:800 11px var(--display);letter-spacing:1.5px}
.pp-hero-info{min-width:0;display:flex;flex-direction:column;align-items:stretch}
.pp-player-subtitle{font:800 12px var(--display);text-transform:uppercase;letter-spacing:1.5px;color:var(--blue);padding-top:9px}
.pp-hero-info h2{font:900 clamp(44px,6vw,80px)/.98 var(--display);letter-spacing:-.4px;color:var(--theme-heading,var(--pp-navy));margin:9px 0 15px;overflow-wrap:anywhere}
.pp-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding-bottom:21px;margin-bottom:20px;border-bottom:1px solid var(--theme-line,var(--pp-line))}
.pp-number{background:none;color:var(--blue);padding:0;font:900 26px var(--display);line-height:1}
.pp-position{font:800 17px var(--display);letter-spacing:1px;color:var(--theme-muted,var(--pp-muted))}
.pp-personal h3{font:900 22px var(--display);color:var(--theme-heading,var(--pp-navy));margin:0 0 12px}
.pp-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}
.pp-fact{display:flex;flex-direction:column;gap:3px;padding:11px 0;border-bottom:1px solid var(--theme-line,var(--pp-line));min-width:0}
.pp-fact span{color:var(--theme-muted,var(--pp-muted));font-size:11px;font-weight:700}
.pp-fact strong{font-size:13px;font-weight:750;overflow-wrap:anywhere;color:var(--theme-heading,var(--pp-ink))}
.pp-fact strong.pp-unavailable{font-weight:500;color:var(--theme-muted,var(--pp-muted))}
.pp-tabs{display:flex;gap:0;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;margin:23px 0 27px;background:var(--theme-surface,var(--pp-paper));border:1px solid var(--theme-line,var(--pp-line));border-bottom:3px solid var(--blue)}
.pp-tabs a{padding:16px 23px;flex:0 0 auto;text-decoration:none;color:var(--theme-heading,var(--pp-navy));font:900 14px var(--display);letter-spacing:.5px;border-right:1px solid var(--theme-line,var(--pp-line))}
.pp-tabs a:first-child{background:var(--blue);color:#fff}
.pp-tabs a:hover,.pp-tabs a:focus-visible{background:#dcecff;color:#003977}
.pp-section{margin:23px 0 0;background:var(--theme-surface,var(--pp-paper));border:1px solid var(--theme-line,var(--pp-line));color:var(--theme-text,var(--pp-ink));scroll-margin-top:20px}
.pp-section-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 20px;background:var(--theme-raised,#eaf2fb);border-bottom:2px solid var(--blue)}
.pp-section-bar h2{font:900 clamp(23px,3vw,30px) var(--display);line-height:1;margin:0;color:var(--theme-heading,var(--pp-navy))}
.pp-section-bar>span{font:800 10px var(--display);letter-spacing:1px;color:var(--theme-muted,var(--pp-muted));text-align:right}
.pp-key-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:20px}
.pp-stat-tile{background:var(--theme-raised,#eaf2fb);padding:18px 12px;display:flex;flex-direction:column;gap:9px;text-align:center;min-width:0}
.pp-stat-tile span{font:800 12px var(--display);letter-spacing:.4px;color:var(--theme-muted,var(--pp-muted))}
.pp-stat-tile strong{font:900 clamp(26px,4vw,40px)/1 var(--display);color:var(--blue)}
.pp-stats-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:0 20px 23px}
.pp-stat-row{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0;border-bottom:1px solid var(--theme-line,var(--pp-line));padding:13px 0;font-size:12px}
.pp-stat-row strong{font-size:14px;color:var(--theme-heading,var(--pp-navy));text-align:right}
.pp-empty{color:var(--theme-muted,var(--pp-muted));font-size:12px;line-height:1.7;padding:5px 20px 23px;margin:0}
.pp-game{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px}
.pp-game>div{display:flex;flex-direction:column;gap:8px;border-left:3px solid var(--blue);padding:8px 13px;background:var(--theme-raised,#eff5fc)}
.pp-game small{font:800 11px var(--display);color:var(--theme-muted,var(--pp-muted))}
.pp-game strong{font:800 15px var(--display);overflow-wrap:anywhere}
.pp-swaps{padding:0 20px 20px}
.pp-swap{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:12px 0;border-top:1px solid var(--theme-line,var(--pp-line));font-size:12px}
.pp-swap-in{color:#057e54;font-weight:850}.pp-swap-out{color:#bc344b;font-weight:850}
.pp-back-button{display:inline-flex;align-items:center;padding:11px 17px;margin:0 20px 20px;background:var(--blue);color:white;text-decoration:none;font:800 14px var(--display);letter-spacing:.5px}
.pp-back-button:hover{background:var(--pp-navy)}
.pp-player-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;padding:20px}
.pp-teammate{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:var(--theme-text,var(--pp-ink));gap:6px;min-width:0;transition:transform .15s}
.pp-teammate:hover{transform:translateY(-3px)}
.pp-teammate-photo{display:flex;align-items:flex-end;justify-content:center;width:100%;max-width:130px;aspect-ratio:1/1;background:linear-gradient(140deg,#eef5fc,#dceaf8);border:1px solid #d8e4f0;overflow:hidden;color:var(--blue);font:900 25px var(--display)}
.pp-teammate-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.pp-teammate>span:nth-child(2){font:800 13px/1.2 var(--display);overflow-wrap:anywhere}
.pp-teammate small{font:750 11px var(--display);color:var(--theme-muted,var(--pp-muted))}
.pp-disclaimer{font-size:11px;color:var(--theme-muted,var(--pp-muted));line-height:1.7;padding-top:16px;max-width:850px}
.pp-loading,.pp-error{padding:42px 25px;margin:20px 0 90px;border-left:4px solid var(--blue);background:var(--theme-surface,#fff);line-height:1.7}
.pp-error h1{font:900 40px var(--display);color:var(--theme-heading,var(--pp-navy))}
.pp-error a{color:var(--blue);font-weight:800}
:root[data-theme=dark] .pp-hero-banner{background:linear-gradient(110deg,#003482,#0358b7)}
:root[data-theme=dark] .pp-portrait{border-color:#4771a0}
:root[data-theme=dark] .pp-tabs a:hover{color:#002f73}
@media(max-width:850px){.pp-hero-grid{grid-template-columns:220px 1fr;gap:20px}.pp-portrait{min-height:290px}.pp-facts{gap:0 13px}.pp-player-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){
  .pp-container{padding-top:19px;padding-bottom:54px}.pp-breadcrumb{font-size:10px;margin-bottom:17px}
  .pp-headline{margin-bottom:17px}.pp-headline h1{font-size:clamp(50px,12.5vw,71px)}
  .pp-hero-banner{padding:11px 13px;min-height:56px}.pp-club{font-size:18px;gap:7px}.pp-role{font-size:10px;padding:7px}
  .pp-hero-grid{grid-template-columns:38% minmax(0,1fr);gap:12px;padding:12px}
  .pp-portrait{min-height:185px;max-height:260px;align-self:start}.pp-portrait>img{padding:0}
  .pp-portrait::before{font-size:60px;right:4px}.pp-portrait-empty span{font-size:49px}.pp-portrait-empty small{font-size:9px}
  .pp-player-subtitle{font-size:10px;padding-top:0}.pp-hero-info h2{font-size:clamp(30px,8vw,43px);margin:5px 0 9px}
  .pp-hero-meta{margin-bottom:13px;padding-bottom:13px;gap:8px}.pp-number{font-size:19px;padding:0}.pp-position{font-size:12px}
  .pp-personal h3{font-size:17px;margin-bottom:7px}.pp-facts{grid-template-columns:1fr;gap:0}.pp-fact{padding:7px 0}.pp-fact span{font-size:10px}.pp-fact strong{font-size:11px}
  .pp-tabs{margin:15px 0 17px}.pp-tabs a{padding:13px 15px;font-size:12px}
  .pp-section{margin-top:16px}.pp-section-bar{padding:12px}.pp-section-bar h2{font-size:23px}.pp-section-bar>span{font-size:9px}
  .pp-key-numbers{gap:6px;padding:12px}.pp-stat-tile{padding:12px 5px;gap:8px}.pp-stat-tile span{font-size:10px}.pp-stat-tile strong{font-size:27px}
  .pp-stats-list{grid-template-columns:1fr;padding:0 13px 15px}.pp-game{grid-template-columns:1fr;gap:8px;padding:12px}.pp-game>div{padding:8px 10px}
  .pp-back-button{margin:0 12px 15px}.pp-swaps{padding:0 12px 12px}
  .pp-player-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px;padding:13px}.pp-teammate>span:nth-child(2){font-size:12px}
}
@media(max-width:370px){.pp-hero-grid{grid-template-columns:35% minmax(0,1fr);gap:9px;padding:9px}.pp-hero-info h2{font-size:30px}.pp-portrait{min-height:155px}.pp-hero-banner{gap:7px}.pp-club{font-size:16px}.pp-key-numbers{gap:4px}.pp-stat-tile strong{font-size:24px}}

/* Spieler-Detailseite: eigenständiges club-inspiriertes Layout, responsive. */
.pp-headline--new h1{font-size:clamp(52px,7vw,81px)}
.pp-hero--club{border-top:3px solid var(--blue)}
.pp-new-layout{display:grid;grid-template-columns:minmax(260px,39%) minmax(0,1fr);gap:0;min-height:465px}
.pp-portrait--large{margin:0;max-height:none;height:auto;min-height:465px;border:0;background:linear-gradient(160deg,#d9e9fa,#f1f6fb)}
.pp-portrait--large>img{object-fit:cover;object-position:center center;width:100%;height:100%;image-rendering:auto}
.pp-new-content{min-width:0;padding:27px 30px 31px}
.pp-player-heading{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin:8px 0 18px}
.pp-player-heading h2{font:900 clamp(43px,5.9vw,83px)/.98 var(--display);margin:0;overflow-wrap:anywhere;color:var(--theme-heading,#06275a)}
.pp-player-identity{display:flex;align-items:center;gap:8px 12px;margin-bottom:17px;padding-bottom:14px;border-bottom:1px solid var(--theme-line,#d3deeb)}
.pp-player-identity .pp-number{font:900 34px var(--display);color:#0755b4;background:none}

.pp-player-identity .pp-position{margin-left:auto;font:900 20px var(--display);color:var(--blue)}
.pp-loan-pill{display:inline-block;padding:6px 12px;font:900 12px var(--display);letter-spacing:.7px;border:1px solid #0755b4;background:#e5f1ff;color:#074b9f}
.pp-loan-panel{display:flex;gap:12px;padding:14px 16px;background:#eaf3ff;color:#133865;border-left:4px solid var(--blue);margin:0 0 22px}
.pp-loan-panel .pp-loan-icon{font-size:27px;line-height:1}
.pp-loan-panel strong{font:900 15px/1.2 var(--display);letter-spacing:.3px}
.pp-loan-panel p{margin:5px 0 0;font-size:12px;line-height:1.5}
.pp-loan-panel p span{color:#506f91}
.pp-extra-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-top:10px}
.pp-extra-facts>div{border-bottom:1px solid var(--theme-line,#d8e3f2);padding:10px 0;display:flex;flex-direction:column;gap:4px}
.pp-extra-facts span{font-weight:700;font-size:11px;color:var(--theme-muted,#647790)}.pp-extra-facts strong{font-size:13px}
.pp-source-link{display:inline-block;margin:13px 0 0;color:var(--blue);font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.pp-profile-story>p{padding:21px 22px 5px;margin:0;max-width:850px;line-height:1.7;font-size:14px}
.pp-profile-story>.pp-source-link{margin:0 22px 23px}.pp-profile-nav{padding:20px;background:var(--theme-raised,#eaf2fb)}.pp-profile-nav a{font:900 15px var(--display);color:var(--blue)}
.mc-photo-number{position:absolute;top:4px;left:4px;z-index:4;min-width:20px;padding:1px 4px;background:#fff;color:#034c9f;font:900 14px/1.1 var(--display);text-align:center;box-shadow:0 2px 8px #001e4220}
.mc-loan-mark{display:inline-flex;margin:2px auto 0;padding:1px 5px;background:#e4efff;border:1px solid #b7cbe4;color:#024a94;font:900 10px var(--display);letter-spacing:.5px}
.mc-bench-photo{position:relative}
.mc-bench-photo .mc-photo-number{font-size:12px;top:2px;left:2px}
@media(max-width:800px){.pp-new-layout{grid-template-columns:37% 63%}.pp-new-content{padding:17px 18px}.pp-portrait--large{min-height:460px}.pp-player-heading h2{font-size:clamp(38px,5.8vw,66px)}}
@media(max-width:650px){.pp-new-layout{grid-template-columns:1fr}.pp-portrait--large{height:min(86vw,420px);min-height:0;max-height:none}.pp-portrait--large>img{object-fit:cover;object-position:center center}.pp-new-content{padding:20px}.pp-player-heading h2{font-size:clamp(38px,10vw,58px)}.pp-extra-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-loan-panel{padding:12px}.pp-hero-banner{min-height:58px}}

/* Erweiterter Profikader: hochgeladene Bilder verlustarm und ganz zeigen */
.pp-portrait--extended{background:#cac9cb}
.pp-portrait--extended img{object-fit:contain;object-position:center bottom}

/* Ruhiger Foto-Übergang und Größen ohne verzerrte Pixel */
.pp-portrait--large img{image-rendering:auto;filter:none}.pp-source-link+.pp-source-link{margin-left:14px}

/* Final: full-bleed portrait on a neutral background, no blue band above the photo. */
.pp-portrait,.pp-portrait--large{background:#f5f5f5!important;border:0!important}
.pp-portrait::before{display:none!important}
.pp-portrait--large{min-height:515px}
.pp-portrait--large>img{width:100%;height:100%;inset:0;object-fit:cover;object-position:center 18%;padding:0;display:block}
.pp-portrait-shirt{position:absolute;z-index:5;top:14px;left:16px;pointer-events:none;color:#0052ac;background:none;border:0;padding:0;font:900 46px/1 var(--display);text-shadow:-1px -1px 1px white,1px -1px 1px white,-1px 1px 1px white,1px 1px 1px white,0 2px 7px #fff}
.pp-player-identity{border:0;padding:0 0 14px}
/* Real tab panels: clicking changes the content instead of scrolling to the page end. */
.pp-tabs button{padding:16px 23px;border:0;border-right:1px solid var(--theme-line,var(--pp-line));background:transparent;white-space:nowrap;color:var(--theme-heading,var(--pp-navy));font:900 14px var(--display);letter-spacing:.5px;cursor:pointer}
.pp-tabs button[aria-selected="true"]{background:var(--blue);color:white}
.pp-tabs button:focus-visible{outline:3px solid #009cf3;outline-offset:-3px}
.pp-tabs button:hover:not([aria-selected="true"]){background:#dcecff;color:#003977}
.pp-tab-pane[hidden]{display:none!important}
.pp-tab-pane{min-height:190px}
.pp-profile-intro{margin-top:0}
@media(max-width:650px){.pp-portrait--large{height:min(105vw,480px);min-height:0}.pp-portrait-shirt{font-size:39px;top:9px;left:12px}.pp-tabs button{padding:13px 15px;font-size:12px}}

/* Version 4 – weißer Text auf blauen Spielstatistiken (auch im Darkmode). */
.pp-stat-tile,.pp-key-numbers .pp-stat-tile{background:#16447b;color:#fff;}
.pp-stat-tile strong,.pp-key-numbers .pp-stat-tile strong{color:#fff!important;text-shadow:none!important}
.pp-stat-tile span,.pp-key-numbers .pp-stat-tile span{color:#ecf5ff!important;opacity:1!important}
:root[data-theme=dark] .pp-breadcrumb a,:root[data-theme=dark] .pp-breadcrumb strong,:root[data-theme=dark] .pp-breadcrumb span,:root[data-theme=dark] .pp-eyebrow{color:#fff!important}
.pp-portrait--extended img,.pp-portrait--extended>img{object-fit:cover!important;object-position:center 20%!important;transform:scale(1.13);transform-origin:center 18%}
.pp-portrait--large{border-top:0!important;background:#eee!important}
.pp-portrait--large>img{object-position:center 14%!important}
:root[data-theme=dark] .pp-hero-banner{color:#fff}

/* Eigenständige Vereinsfarbe im gegnerischen Spielerprofil. */
.pp-container .pp-hero-banner,:root[data-theme=dark] .pp-container .pp-hero-banner{background:var(--pp-club-accent,#0755b4)!important;color:white!important;}
.pp-container .pp-tabs button[aria-selected="true"]{background:var(--pp-club-accent,#0755b4)!important;color:white!important;}
.pp-container .pp-stat-tile,.pp-container .pp-key-numbers .pp-stat-tile{background:var(--pp-club-accent,#16447b)!important;color:#fff!important;}
.pp-container .pp-stat-tile strong,.pp-container .pp-key-numbers .pp-stat-tile strong{color:#fff!important;}
.pp-container .pp-stat-tile span,.pp-container .pp-key-numbers .pp-stat-tile span{color:#fff!important;}

/* Team eyebrow/role in readable club colors; sources as non-clickable text. */
.pp-player-subtitle,.pp-container .pp-eyebrow,.pp-container .pp-position{color:var(--pp-club-accent,#0055ae)!important}
.pp-source-plain{display:block;margin:12px 0 2px;font:700 11px/1.5 var(--body);color:var(--theme-muted,#66778e)}
:root[data-theme=dark] .pp-container .pp-eyebrow{color:#e6f2ff!important}
:root[data-theme=dark] .pp-player-subtitle,:root[data-theme=dark] .pp-container .pp-position{color:#f5f6ff!important}
.pp-profile-story .pp-source-plain{padding:2px 22px 18px;margin:0}


/* Reiter und Komponenten des Gegnerprofils nutzen die jeweilige Vereinsfarbe,
   ohne in der Dunkelansicht auf die Schalke-Palette zurückzufallen. */
.pp-container .pp-tabs{border-bottom:3px solid var(--pp-club-accent,#0755b4)!important}
.pp-container .pp-tabs button{border-bottom:2px solid transparent}
.pp-container .pp-tabs button[aria-selected="true"]{
 background:var(--pp-club-accent,#0755b4)!important;color:var(--pp-club-on,#fff)!important;
 border-bottom-color:var(--pp-club-accent,#0755b4)!important
}
.pp-container .pp-tabs button:hover:not([aria-selected="true"]),
.pp-container .pp-tabs button:focus-visible:not([aria-selected="true"]){
 color:var(--pp-club-accent,#0755b4)!important;border-bottom-color:var(--pp-club-accent,#0755b4)!important
}
.pp-container .pp-hero-banner{color:var(--pp-club-on,#fff)!important}
.pp-container .pp-club,.pp-container .pp-role{color:inherit!important}
.pp-container .pp-profile-nav a,.pp-container .pp-back-button{color:var(--pp-club-accent,#0755b4)}
.pp-container .pp-section-bar{border-left:5px solid var(--pp-club-accent,#0755b4)}
:root[data-theme=dark] .pp-container .pp-player-subtitle,
:root[data-theme=dark] .pp-container .pp-position{
 color:color-mix(in srgb,var(--pp-club-accent,#0755b4) 50%,white)!important
}
:root[data-theme=dark] .pp-container .pp-eyebrow{color:#fff!important}
:root[data-theme=dark] .pp-container .pp-tabs button:not([aria-selected="true"]){color:#fff!important}
:root[data-theme=dark] .pp-container .pp-tabs button:hover:not([aria-selected="true"]){
 color:color-mix(in srgb,var(--pp-club-accent,#0755b4) 35%,white)!important
}
.pp-container .pp-stat-tile,.pp-container .pp-key-numbers .pp-stat-tile{
 background:color-mix(in srgb,var(--pp-club-accent,#16447b) 78%,#001a3d)!important;
 border-top:3px solid var(--pp-club-accent,#0755b4)
}
.pp-container .pp-stat-tile strong,.pp-container .pp-stat-tile span{color:#fff!important}
