/* =============================================================================
   PremiumLeague – Ergänzungen zum Overworld-Theme (public/theme/css/modules.min.css)
   - Schriften: fonts.css (lokal, keine Verbindung zu Google)
   - Werte, die das Theme in WordPress per "style_dynamic.css" aus seinen Optionen erzeugt hat
   - Bausteine, die es im Theme nicht gibt: Karten, Formulare, Konto, Hinweise
   ========================================================================== */

:root {
  --plr-purple: #6b54b6;
  --plr-purple-bright: #7228e2;
  --plr-red: #fd3147;
  --plr-bg: #1b0f23;
  --plr-panel: #22152c;
  --plr-deep: #120b18;
  --plr-text: #bab9bb;
  --plr-text-light: #c3bace;
  --plr-ok: #3ccf91;
  --plr-warn: #ffd740;
  /* Platzhalter für fehlende Bilder (News, Spieler, Turniere): Schraffur in der Schräge der Ecken */
  --plr-hatch: repeating-linear-gradient(-45deg, rgba(107, 84, 182, .09) 0 2px, transparent 2px 16px), linear-gradient(135deg, #2c1b3a, var(--plr-deep));
  --plr-cut: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px));
}

/* --- Werte aus den Theme-Optionen (vorher style_dynamic.css) ---------------- */
.edgtf-page-header .edgtf-vertical-align-containers { padding-left: 5%; padding-right: 5%; }
.edgtf-page-header .edgtf-sticky-header { height: 90px; background-color: var(--plr-bg); box-shadow: 0 10px 27px 0 rgba(14, 8, 18, .5); }
.edgtf-sticky-header .edgtf-sticky-holder .edgtf-vertical-align-containers { padding-left: 5%; padding-right: 5%; }
.edgtf-mobile-header .edgtf-mobile-header-inner { height: 90px; }
.edgtf-page-footer .edgtf-footer-top-holder { background-color: #150f1a; }
.edgtf-page-footer .edgtf-footer-bottom-holder { background-color: #100d12; }
.plr-title { height: 240px; background-color: var(--plr-deep); }
.plr-title .edgtf-title-wrapper { height: 240px; }

/* --- Logo: Bild aus SITE_LOGO oder Schriftzug --------------------------------- */
.plr-logo { display: flex; align-items: center; height: 100%; color: #fff; }
.plr-logo:hover { color: #fff; }
.plr-logo img { display: block; width: auto; max-height: 64px; }
.edgtf-sticky-header .plr-logo img, .edgtf-mobile-header .plr-logo img { max-height: 52px; }
.plr-logo-text { display: inline-flex; align-items: center; gap: 14px; }
.plr-logo-badge {
  display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; flex: none;
  background: var(--plr-purple); clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 24px; letter-spacing: .02em; color: #fff;
}
.plr-logo-name { font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 28px; line-height: 1; letter-spacing: .02em; text-transform: uppercase; }
.plr-logo:hover .plr-logo-badge { background: var(--plr-purple-bright); }
.edgtf-mobile-header .plr-logo-badge { width: 44px; height: 44px; font-size: 20px; }
.edgtf-mobile-header .plr-logo-name { font-size: 24px; }
.edgtf-logo-wrapper, .edgtf-mobile-logo-wrapper { height: 100%; display: flex; align-items: center; }
.plr-footer-logo img { max-height: 110px; }

/* --- Menü: Untermenüs ohne jQuery ------------------------------------------- */
.edgtf-drop-down li.has_sub:hover > .second,
.edgtf-drop-down li.has_sub:focus-within > .second { visibility: visible; overflow: visible; opacity: 1; transition: opacity .2s ease-out; }
.edgtf-main-menu > ul > li.edgtf-active-item > a, .edgtf-main-menu > ul > li > a.current { color: var(--plr-purple); }

/* Mobiles Menü */
.plr-menu-toggle { background: none; border: 0; padding: 0; color: #fff; cursor: pointer; display: flex; align-items: center; }
.plr-menu-toggle:hover { color: var(--plr-purple); }
.edgtf-mobile-header .edgtf-mobile-nav.plr-open { display: block; }
.edgtf-mobile-header .edgtf-mobile-nav li.has_sub { display: flex; flex-wrap: wrap; align-items: center; }
.edgtf-mobile-header .edgtf-mobile-nav li.has_sub > a { flex: 1; }
.edgtf-mobile-header .edgtf-mobile-nav .mobile_arrow { background: none; border: 0; color: #fff; cursor: pointer; padding: 6px 4px 6px 16px; font-size: 16px; }
.edgtf-mobile-header .edgtf-mobile-nav .mobile_arrow i { display: inline-block; transition: transform .2s ease-out; }
.edgtf-mobile-header .edgtf-mobile-nav li.plr-sub-open > .mobile_arrow i { transform: rotate(135deg); }
.edgtf-mobile-header .edgtf-mobile-nav li.has_sub > ul.sub_menu { flex-basis: 100%; }
.edgtf-mobile-header .edgtf-mobile-nav li.plr-sub-open > ul.sub_menu { display: block; }

/* Das Theme setzt overflow:hidden – das lässt sich aber versehentlich seitlich verschieben (Fokus, Klicks) */
.edgtf-wrapper .edgtf-wrapper-inner { overflow: clip; }

#edgtf-back-to-top .edgtf-icon-stack { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; background-color: var(--plr-purple); color: #fff; font-size: 20px; }

/* --- Barrierefreiheit --------------------------------------------------------- */
.plr-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.plr-skip-link { position: absolute; left: 16px; top: -60px; z-index: 20000; padding: 10px 16px; background: var(--plr-purple); color: #fff; font-family: Rajdhani, sans-serif; font-weight: 700; text-transform: uppercase; }
.plr-skip-link:focus { top: 16px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--plr-purple-bright); outline-offset: 3px; }

.plr-test-banner { position: relative; z-index: 2000; padding: 6px 16px; text-align: center; background: var(--plr-warn); color: #1b0f23; font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .05em; text-transform: uppercase; }

/* --- Typografie ---------------------------------------------------------------- */
body { color: var(--plr-text); }
.plr-lead { font-size: 18px; line-height: 1.6; color: var(--plr-text-light); }
.plr-center { text-align: center; margin-top: 40px; }
.plr-empty { text-align: center; color: var(--plr-text); padding: 30px 0; }
.plr-narrow { max-width: 760px; margin-left: auto; margin-right: auto; }
.plr-page-section { padding-bottom: 40px; }
#inhalt > .edgtf-container > .edgtf-container-inner { padding-top: 80px; padding-bottom: 60px; }
.plr-meta { font-family: Rajdhani, sans-serif; font-weight: 600; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--plr-purple); margin-bottom: 8px; }

/* Text aus Markdown (News, Seiten) */
.plr-prose { font-size: 16px; line-height: 1.75; color: var(--plr-text-light); }
.plr-prose > :first-child { margin-top: 0; }
.plr-prose p, .plr-prose ul, .plr-prose ol, .plr-prose blockquote, .plr-prose table { margin: 0 0 1.1em; }
.plr-prose h2 { font-size: 40px; margin: 1.3em 0 .5em; }
.plr-prose h3 { font-size: 28px; margin: 1.3em 0 .5em; }
.plr-prose h4 { font-size: 22px; margin: 1.2em 0 .4em; }
.plr-prose a { color: #fff; text-decoration: underline; text-decoration-color: var(--plr-purple); text-underline-offset: 3px; }
.plr-prose a:hover { color: var(--plr-purple); }
.plr-prose ul, .plr-prose ol { padding-left: 1.4em; }
.plr-prose ul li::marker { color: var(--plr-purple); }
.plr-prose strong { color: #fff; }
.plr-prose blockquote { padding: 14px 22px; border-left: 3px solid var(--plr-purple); background: var(--plr-panel); color: var(--plr-text); }
.plr-prose blockquote p { margin: 0; }
.plr-prose img { max-width: 100%; height: auto; }
.plr-prose code { padding: 2px 6px; background: var(--plr-panel); color: #fff; font-size: .9em; }
.plr-prose table { width: 100%; border-collapse: collapse; }
.plr-prose th, .plr-prose td { padding: 10px 12px; border-bottom: 1px solid #3c3556; text-align: left; }
.plr-prose th { color: #fff; font-family: Rajdhani, sans-serif; text-transform: uppercase; letter-spacing: .05em; }

/* --- Startseite ------------------------------------------------------------- */
.plr-hero {
  position: relative; overflow: hidden; padding: 140px 0 150px;
  background:
    radial-gradient(ellipse 60% 70% at 85% 30%, rgba(114, 40, 226, .35), transparent 70%),
    radial-gradient(ellipse 50% 60% at 10% 90%, rgba(253, 49, 71, .14), transparent 70%),
    linear-gradient(180deg, var(--plr-deep) 0%, var(--plr-bg) 100%);
}
.plr-hero::after {
  content: ''; position: absolute; right: -6%; top: 12%; width: 46%; height: 76%;
  border: 2px solid rgba(107, 84, 182, .45); clip-path: var(--plr-cut); transform: skewX(-12deg); pointer-events: none;
}
/* Mit Match: die Anzeigetafel ersetzt den Deko-Rahmen */
.plr-hero-with-match::after { display: none; }
.plr-hero-grid { position: relative; z-index: 1; }
.plr-hero-with-match .plr-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 460px); gap: 64px; align-items: center; }
.plr-hero-inner { position: relative; z-index: 1; max-width: 760px; }
.plr-hero-kicker { font-family: Rajdhani, sans-serif; font-weight: 600; font-size: 16px; letter-spacing: .14em; color: var(--plr-text-light); }
.plr-hero-title { margin: 16px 0 24px; font-size: 96px; line-height: .95; }
.plr-hero-with-match .plr-hero-title { font-size: clamp(56px, 6.4vw, 88px); }
.plr-hero-text { font-size: 18px; line-height: 1.7; color: var(--plr-text-light); max-width: 620px; }
.plr-hero-actions { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 40px; }

/* Anzeigetafel: nächstes Match. Rote Oberkante = Spieltag (Rot steht nur für Spieltag, heute, Sieg) */
.plr-next-match {
  display: flex; flex-direction: column; padding: 26px 30px 24px; color: var(--plr-text-light);
  background: linear-gradient(180deg, #2a1a37, var(--plr-panel)); clip-path: var(--plr-cut); box-shadow: inset 0 3px 0 var(--plr-red);
  transition: background-color .2s ease-out;
}
.plr-next-match:hover { color: var(--plr-text-light); background: linear-gradient(180deg, #321f42, #281a33); }
.plr-next-label { font-family: Rajdhani, sans-serif; font-weight: 600; font-size: 16px; letter-spacing: .04em; color: var(--plr-red); }
.plr-next-board { display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 16px; margin: 22px 0 24px; }
.plr-next-team { display: flex; flex-direction: column; align-items: center; gap: 12px; min-width: 0; text-align: center; }
.plr-next-team .plr-team-badge { --badge: 84px; }
.plr-next-team img { width: 84px; height: 84px; object-fit: contain; }
.plr-next-name { font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 18px; line-height: 1.1; text-transform: uppercase; color: #fff; overflow-wrap: anywhere; }
.plr-next-when { display: flex; flex-direction: column; align-items: center; padding-top: 10px; }
.plr-next-time { font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 60px; line-height: .9; letter-spacing: -.01em; font-variant-numeric: tabular-nums; color: #fff; }
.plr-next-day { margin-top: 8px; font-size: 14px; white-space: nowrap; }
.plr-next-context { padding-top: 16px; border-top: 1px solid rgba(107, 84, 182, .28); font-size: 14px; color: #8f8796; }

.plr-section { padding: 100px 0; }
.plr-section-alt { background: var(--plr-deep); }
.plr-section-title { margin-bottom: 50px; }
.plr-section-title.plr-align-center { text-align: center; }
.plr-section-title .edgtf-st-title { margin: 0; }
.plr-section-title .edgtf-st-text { margin: 18px auto 0; max-width: 620px; font-size: 17px; }

/* --- Karten (News, Mitgliedsstufen) ----------------------------------------- */
.plr-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.plr-card-grid-center { grid-template-columns: repeat(auto-fit, minmax(280px, 360px)); justify-content: center; }
.plr-card { display: flex; flex-direction: column; background: var(--plr-panel); clip-path: var(--plr-cut); filter: drop-shadow(0 3px 7px rgba(14, 8, 18, .44)); }
.plr-card-image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: linear-gradient(135deg, #2c1b3a, var(--plr-deep)); }
.plr-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.plr-card:hover .plr-card-image img { transform: scale(1.04); }
.plr-card-image-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: var(--plr-hatch); font-family: Rajdhani, sans-serif; font-size: 22px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .14); }
.plr-card-body { display: flex; flex-direction: column; flex: 1; padding: 30px 32px 34px; }
.plr-card-title { margin: 0 0 12px; font-size: 26px; line-height: 1.05; }
.plr-card-title a:hover { color: var(--plr-purple); }
.plr-card-text { margin: 0 0 18px; }
.plr-read-more { margin-top: auto; align-self: flex-start; display: inline-flex; gap: 8px; align-items: center; }

.plr-level-card .plr-card-body { align-items: flex-start; }
.plr-level-price { font-family: Rajdhani, sans-serif; font-size: 34px; font-weight: 700; color: #fff; margin-bottom: 14px; }
.plr-level-description { flex: 1; margin-bottom: 26px; font-size: 15px; }
.plr-level-current { outline: 2px solid var(--plr-purple); outline-offset: -2px; }
.plr-badge { display: inline-block; padding: 6px 14px; background: var(--plr-purple); color: #fff; font-family: Rajdhani, sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 14px; }

.plr-steps { margin-top: 70px; padding: 36px 40px; background: var(--plr-panel); clip-path: var(--plr-cut); }
.plr-steps h3 { margin-top: 0; }
.plr-steps ol { margin: 0; padding-left: 1.3em; line-height: 1.9; color: var(--plr-text-light); }

/* --- Artikel ---------------------------------------------------------------------- */
.plr-article { max-width: 860px; margin: 0 auto; }
.plr-article-cover { display: block; width: 100%; height: auto; margin: 10px 0 40px; clip-path: var(--plr-cut); }

/* --- Pagination -------------------------------------------------------------- */
.plr-pagination ul { display: flex; justify-content: center; gap: 8px; list-style: none; margin: 50px 0 0; padding: 0; }
.plr-pagination a, .plr-pagination span { display: inline-block; min-width: 44px; padding: 8px 12px; text-align: center; font-family: Rajdhani, sans-serif; font-weight: 700; background: var(--plr-panel); color: #fff; }
.plr-pagination .edgtf-pag-active span, .plr-pagination a:hover { background: var(--plr-purple); }

/* --- Formulare --------------------------------------------------------------- */
.plr-form h3 { margin: 40px 0 20px; font-size: 28px; }
.plr-field-row { display: flex; flex-wrap: wrap; gap: 0 24px; }
.plr-field { flex: 1 1 100%; margin-bottom: 22px; }
.plr-field-half { flex: 1 1 calc(50% - 12px); min-width: 220px; }
.plr-field label { display: block; margin-bottom: 8px; font-family: Rajdhani, sans-serif; font-weight: 600; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.plr-required { color: var(--plr-red); }
.plr-field input[type=date], .plr-field input[type=tel], .plr-field input[type=number], .plr-field input[type=search],
.plr-field select, .plr-field textarea, .plr-field input[type=text], .plr-field input[type=email], .plr-field input[type=password] {
  display: block; width: 100%; margin: 0; padding: 16px 22px; font: inherit; font-size: 15px; line-height: 24px;
  color: var(--plr-text-light); background-color: var(--plr-panel); border: 1px solid transparent; border-radius: 0;
  box-sizing: border-box; -webkit-appearance: none; appearance: none; filter: drop-shadow(0 3px 7px rgba(14, 8, 18, .44));
  transition: border-color .2s ease-in-out;
}
.plr-field input:focus, .plr-field select:focus, .plr-field textarea:focus { border-color: var(--plr-purple); outline: 0; }
.plr-field select { background-image: linear-gradient(45deg, transparent 50%, #fff 50%), linear-gradient(135deg, #fff 50%, transparent 50%); background-position: calc(100% - 26px) 50%, calc(100% - 20px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 48px; }
.plr-field input[type=date] { color-scheme: dark; }
.plr-field-error input, .plr-field-error select, .plr-field-error textarea { border-color: var(--plr-red); }
.plr-hint { display: block; margin-top: 6px; font-size: 13px; color: #8f8796; }
.plr-error-text { display: block; margin-top: 6px; font-size: 14px; color: #ff7b89; }
.plr-checkbox { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; margin: 10px 0 30px; }
.plr-checkbox input { width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--plr-purple); flex: none; }
.plr-checkbox label { flex: 1; margin: 0; font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--plr-text-light); line-height: 1.6; }
.plr-checkbox label a { text-decoration: underline; text-decoration-color: var(--plr-purple); }
.plr-checkbox .plr-error-text { flex-basis: 100%; }
button.edgtf-btn { cursor: pointer; }
.edgtf-btn.edgtf-btn-simple { background: none; border: 0; padding: 0; color: #fff; }
.edgtf-btn.edgtf-btn-simple:hover { color: var(--plr-purple); }

.plr-summary { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline; padding: 22px 28px; background: var(--plr-panel); clip-path: var(--plr-cut); }
.plr-summary span:first-child { flex-basis: 100%; font-family: Rajdhani, sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; font-size: 13px; color: var(--plr-purple); }
.plr-summary strong { font-family: Rajdhani, sans-serif; font-size: 26px; color: #fff; text-transform: uppercase; }

/* --- Hinweise --------------------------------------------------------------- */
.plr-flash-holder { margin: 0 0 30px; }
.plr-content-full .plr-flash-holder, .plr-home .plr-flash-holder { width: 1100px; max-width: calc(100% - 32px); margin: 30px auto 0; }
.plr-flash, .plr-notice { padding: 16px 22px; margin-bottom: 14px; background: var(--plr-panel); border-left: 3px solid var(--plr-purple); color: var(--plr-text-light); }
.plr-flash-success { border-left-color: var(--plr-ok); }
.plr-flash-error, .plr-notice-error { border-left-color: var(--plr-red); }
.plr-notice-warn { border-left-color: var(--plr-warn); }

/* --- Mein Konto -------------------------------------------------------------- */
.plr-account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 30px; }
.plr-panel { padding: 34px 38px; margin-bottom: 30px; background: var(--plr-panel); clip-path: var(--plr-cut); }
.plr-account-grid .plr-panel { margin-bottom: 0; }
.plr-panel h3 { margin: 0 0 22px; font-size: 28px; }
.plr-panel .plr-field input, .plr-panel .plr-field select { background-color: var(--plr-bg); }
.plr-facts { display: grid; grid-template-columns: max-content 1fr; gap: 10px 22px; margin: 0 0 24px; }
.plr-facts dt { font-family: Rajdhani, sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: 14px; color: #8f8796; }
.plr-facts dd { margin: 0; color: #fff; }
.plr-actions { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; margin-top: 24px; }
.plr-actions form { margin: 0; }
.plr-status { display: inline-block; padding: 2px 10px; font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; background: #3c3556; color: #fff; }
.plr-status-active { background: rgba(60, 207, 145, .18); color: var(--plr-ok); }
.plr-status-past_due, .plr-status-pending { background: rgba(255, 215, 64, .14); color: var(--plr-warn); }
.plr-status-ended { background: rgba(253, 49, 71, .14); color: #ff7b89; }
.plr-timeline { list-style: none; margin: 0; padding: 0; }
.plr-timeline li { padding: 10px 0; border-bottom: 1px solid #3c3556; }
.plr-timeline time { display: inline-block; min-width: 170px; color: #8f8796; font-size: 14px; }

/* --- Footer ---------------------------------------------------------------- */
.edgtf-page-footer .edgtf-footer-top-holder { padding: 70px 0; }
.edgtf-page-footer .edgtf-footer-bottom-holder { padding: 26px 0; }
.edgtf-page-footer .widget_nav_menu ul.menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 40px; }
.edgtf-page-footer .widget_nav_menu ul.menu li { margin: 0 !important; }
.edgtf-page-footer .widget_nav_menu ul.menu a { font-family: Rajdhani, sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; font-size: 15px; color: #fff; }
.edgtf-page-footer .widget_nav_menu ul.menu a:hover { color: var(--plr-purple); }
.plr-footer-cta { text-align: right; }
.plr-footer-cta .edgtf-btn { padding: 10px 34px; white-space: nowrap; }
.plr-footer-small { margin: 0; color: #5d5470; }
.plr-footer-small a { color: #8f8796; }
.plr-footer-small a:hover { color: #fff; }
.plr-footer-links { text-align: right; }

/* --- Esports: Teams, Spieler, Matches, Turniere, Stream-Plan ------------------ */
/* Listen: Karten aus dem Theme, Spalten per CSS-Grid statt Float */
.plr-grid > .edgtf-pl-inner { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.plr-grid-3 > .edgtf-pl-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* Teams: meist nur wenige, deshalb mittig */
.edgtf-team-list-holder.plr-grid > .edgtf-pl-inner { grid-template-columns: repeat(auto-fit, minmax(230px, 270px)); justify-content: center; }
.plr-grid .edgtf-item-space { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }

.plr-esports-section { margin-bottom: 80px; }
.plr-esports-section:last-child { margin-bottom: 0; }
.plr-decorated-title { margin-bottom: 36px; }
.plr-decorated-title .edgtf-st-title { margin: 0; font-size: 35px; }
.plr-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 30px; margin-bottom: 36px; }
.plr-section-head .plr-decorated-title { margin-bottom: 0; }
.plr-back-link { margin: 50px 0 0; }
.plr-hint.plr-center { margin-top: 24px; }

/* Ersatz für fehlende Logos und Fotos: Kürzel im Theme-Stil */
.plr-team-badge {
  --badge: 130px;
  display: inline-flex; align-items: center; justify-content: center; width: var(--badge); height: var(--badge); vertical-align: middle;
  background: linear-gradient(135deg, var(--plr-purple), #4b2c8f); clip-path: var(--plr-cut);
  font-family: Rajdhani, sans-serif; font-weight: 700; font-size: calc(var(--badge) * .36); line-height: 1; letter-spacing: .02em; color: #fff;
}
.edgtf-match-list-simple-widget .plr-team-badge { --badge: 64px; clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px)); }
.edgtf-match-scoreboard .plr-team-badge { --badge: 190px; }
.edgtf-team .plr-team-badge { --badge: 140px; }
.plr-single-top .plr-team-badge { --badge: 160px; margin: 12px 0 18px; }
.edgtf-player-team-thumb .plr-team-badge { --badge: 52px; clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px)); }
.edgtf-player-team-thumb img { max-width: 70px; }
/* Gegner ohne Logo: neutral statt Vereinslila, damit das eigene Team sofort erkennbar ist */
.edgtf-team-2 .plr-team-badge, .plr-next-team:not(.plr-next-own) .plr-team-badge { background: linear-gradient(135deg, #3d3150, #261b33); color: var(--plr-text-light); }



/* Matches */
.edgtf-match-list-holder { padding: 40px 0 20px; }
.edgtf-match-list-holder .edgtf-match { margin-bottom: 44px; }
.edgtf-match .edgtf-match-score { font-variant-numeric: tabular-nums; }
.edgtf-match .edgtf-team-holder .edgtf-team-logo img { max-width: 160px; }
.plr-match-vs { letter-spacing: .04em; }
.plr-match-context { margin-top: 4px; text-align: center; font-family: Rajdhani, sans-serif; font-weight: 600; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #8f8796; }
.edgtf-match .edgtf-team-meta .edgtf-stream-link:hover { color: #fff; }
.edgtf-match-single-holder .edgtf-match-single-top-holder .edgtf-match-single-info-top .edgtf-match-bg-ribbon { background: linear-gradient(90deg, rgba(107, 84, 182, .28), rgba(32, 19, 42, .95) 30%, rgba(32, 19, 42, .95) 70%, rgba(107, 84, 182, .28)); box-shadow: 0 10px 27px 0 rgba(14, 8, 18, .5); }
.edgtf-match-single-holder .edgtf-match-scoreboard .edgtf-match-team-logo img { max-width: 100%; }
.plr-esports-single h1.edgtf-match-title { font-size: 60px; }
.plr-vs { color: var(--plr-purple); }
.plr-match-status { margin: 14px 0 0; font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 18px; letter-spacing: .1em; text-transform: uppercase; color: var(--plr-purple); }
.plr-match-status-win { color: var(--plr-ok); }
.plr-match-status-loss { color: #ff7b89; }
.plr-match-stream { margin: 34px 0 10px; scroll-margin-top: 110px; }
.edgtf-match-single-holder .edgtf-match-content { margin-top: 30px; }
.plr-widget-title { margin: 0 0 30px; font-size: 25px; }
.edgtf-match-simple .edgtf-match-date a { color: inherit; }
.edgtf-match-simple .edgtf-match-date a:hover { color: #fff; }

/* Ansicht (Anstehend/Ergebnisse) und Teamfilter */
.plr-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 26px; }
.plr-tabs a {
  padding: 12px 36px; background: var(--plr-panel); color: #fff; font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 17px;
  letter-spacing: .08em; text-transform: uppercase; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}
.plr-tabs a:hover, .plr-tabs a.plr-tab-active { background: var(--plr-purple); color: #fff; }
.plr-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; margin: 0 0 20px; }
.plr-filter a { font-family: Rajdhani, sans-serif; font-weight: 600; font-size: 15px; letter-spacing: .1em; text-transform: uppercase; color: #8f8796; border-bottom: 2px solid transparent; }
.plr-filter a:hover, .plr-filter a.plr-filter-active { color: #fff; border-bottom-color: var(--plr-purple); }

/* Karten: Teams, Spieler, Turniere */
.edgtf-team .edgtf-team-image img { max-width: 100%; }
.edgtf-team .edgtf-team-name { font-size: 25px; }
.edgtf-team .edgtf-team-inner:hover { background-color: #2a1938; }
.edgtf-player .edgtf-player-image img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.edgtf-player .edgtf-player-info { background: linear-gradient(180deg, transparent 45%, rgba(18, 11, 24, .92)); text-align: left; }
.edgtf-player .edgtf-player-name { font-size: 25px; }
.edgtf-player .edgtf-player-nickname { font-family: Rajdhani, sans-serif; font-weight: 600; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--plr-purple); }
.edgtf-player:hover .edgtf-player-nickname { color: #fff; }
.plr-player-placeholder {
  display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1;
  background: var(--plr-hatch); font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 80px; color: rgba(255, 255, 255, .12);
}
.edgtf-tournament .edgtf-tournament-image > img { width: 100%; aspect-ratio: 800 / 507; object-fit: cover; }
.edgtf-tournament .edgtf-tournament-name { font-size: 25px; }
.edgtf-tournament .edgtf-tournament-info { text-align: left; }
.plr-tournament-placeholder {
  display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 800 / 507; padding: 30px; box-sizing: border-box;
  background: var(--plr-hatch);
  font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 34px; text-transform: uppercase; text-align: center; color: rgba(255, 255, 255, .14);
}
.plr-tournament-placeholder img { width: auto; max-width: 70%; max-height: 70%; }

/* Detailseiten: Kopfbereich mit Hintergrundbild (als <img>, die CSP verbietet Inline-Styles) */
.plr-esports-single .plr-single-top .plr-cover {
  position: relative; overflow: hidden; height: 520px;
  background: radial-gradient(ellipse 60% 70% at 80% 20%, rgba(114, 40, 226, .32), transparent 70%), radial-gradient(ellipse 50% 60% at 10% 90%, rgba(253, 49, 71, .12), transparent 70%), linear-gradient(180deg, var(--plr-deep) 0%, var(--plr-bg) 100%);
}
.plr-esports-single .edgtf-match-single-top-holder .plr-cover { height: 458px; }
.plr-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.plr-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18, 11, 24, .25) 0%, rgba(27, 15, 35, .96) 100%); }
.plr-esports-single .plr-single-top .edgtf-team-single-info-top,
.plr-esports-single .plr-single-top .edgtf-player-single-info-top,
.plr-esports-single .plr-single-top .edgtf-tournament-single-info-top { align-items: center; padding: 0 16px 80px; box-sizing: border-box; }
.plr-esports-single .edgtf-name, .plr-esports-single .edgtf-nickname { font-size: 60px; overflow-wrap: anywhere; }
.plr-esports-single .edgtf-player-single-info-top img { width: 170px; height: 170px; object-fit: cover; }
.plr-esports-single .edgtf-player-single-info-top .edgtf-name { margin: 0; font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 20px; letter-spacing: .06em; text-transform: uppercase; color: var(--plr-purple); }
.plr-player-avatar {
  display: inline-flex; align-items: center; justify-content: center; width: 170px; height: 170px; margin: 6px 0 25px; box-sizing: border-box;
  border: 3px solid #5821a9; border-radius: 50%; background: var(--plr-panel); font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 60px; color: #fff;
}
.plr-game-icon { font-size: 44px; line-height: 1; color: var(--plr-purple); }
.edgtf-team-single-outer, .edgtf-player-single-outer, .edgtf-tournament-single-outer { padding-bottom: 90px; }
.edgtf-team-single-holder .edgtf-team-single-content, .edgtf-tournament-single-holder .edgtf-tournament-single-content { margin-top: 50px; }
.edgtf-team-icon a, .edgtf-player-icon a { font-size: 20px; color: #fff; }
.edgtf-team-icon a:hover, .edgtf-player-icon a:hover { color: var(--plr-purple); }
.edgtf-tournament-info-description .plr-actions { margin-top: 30px; }

/* Stream-Plan und eingebettete Streams (Zwei-Klick-Lösung, site.js) */
.plr-stream-channel { max-width: 980px; margin-left: auto; margin-right: auto; }
.plr-embed {
  position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9;
  background: radial-gradient(ellipse 60% 70% at 80% 20%, rgba(114, 40, 226, .28), transparent 70%), var(--plr-panel); clip-path: var(--plr-cut);
}
.plr-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.plr-embed-consent { padding: 30px; text-align: center; }
.plr-embed-consent p { max-width: 560px; margin: 12px auto 24px; font-size: 14px; line-height: 1.6; color: var(--plr-text-light); }
.plr-embed-consent p a { color: #fff; text-decoration: underline; text-decoration-color: var(--plr-purple); }
.plr-embed-provider { font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 30px; text-transform: uppercase; color: #fff; }
.plr-embed-provider i { color: var(--plr-purple); margin-right: 6px; }
.plr-embed-actions { display: flex; flex-wrap: wrap; gap: 16px 30px; align-items: center; justify-content: center; }
.plr-timetable .plr-tt-today .edgtf-tt-item-holder { box-shadow: inset 4px 0 0 var(--plr-red); }
.plr-tt-today-label { color: var(--plr-red); }

/* Mein Konto → Spielerprofil */
.plr-photo-row { display: flex; flex-wrap: wrap; gap: 18px 24px; align-items: flex-start; }
.plr-photo-preview { width: 110px; height: 110px; flex: none; object-fit: cover; border: 3px solid #5821a9; border-radius: 50%; box-sizing: border-box; }
.plr-photo-empty { display: inline-flex; align-items: center; justify-content: center; background: var(--plr-bg); font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 38px; color: #fff; }
.plr-photo-input { flex: 1 1 240px; }
.plr-photo-input input[type=file] { display: block; max-width: 100%; color: var(--plr-text-light); font-size: 14px; }
.plr-photo-input input[type=file]::file-selector-button {
  margin-right: 14px; padding: 9px 18px; border: 1px solid var(--plr-purple); background: transparent; color: #fff; cursor: pointer;
  font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .08em; text-transform: uppercase;
}
.plr-photo-input input[type=file]::file-selector-button:hover { background: var(--plr-purple); }
.plr-photo-input .plr-checkbox { margin: 14px 0 0; }
.plr-delete-profile { margin-top: 10px; text-align: right; }
.plr-delete-profile .edgtf-btn-simple { color: #ff7b89; }

/* App-Symbole (views/icons.tsx): Profile und Links mit Hinweis beim Darüberfahren */
.plr-brand-icon { display: block; width: 20px; height: 20px; }
.plr-accounts { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; vertical-align: middle; }
.plr-accounts .edgtf-team-icon, .plr-accounts .edgtf-player-icon { margin: 0 !important; }
.plr-account { position: relative; display: inline-flex; padding: 2px; border: 0; background: none; color: #fff; cursor: pointer; line-height: 1; }
.plr-account:hover, .plr-account:focus-visible { color: var(--plr-purple); }
.plr-account.plr-copied { color: var(--plr-ok); }
.plr-account[data-tip]:hover::after, .plr-account[data-tip]:focus-visible::after, .plr-account.plr-copied::after {
  content: attr(data-tip); position: absolute; bottom: calc(100% + 8px); left: 50%; z-index: 20; transform: translateX(-50%);
  padding: 5px 10px; background: var(--plr-purple); color: #fff; white-space: nowrap; pointer-events: none;
  font-family: Rajdhani, sans-serif; font-weight: 600; font-size: 14px; letter-spacing: .04em; text-transform: none;
}
.edgtf-team .plr-accounts { justify-content: center; gap: 10px 14px; }
.edgtf-team .plr-brand-icon { width: 17px; height: 17px; }
.plr-esports-single .edgtf-player-social-holder, .plr-esports-single .edgtf-team-social-holder { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 0; }
.plr-esports-single .edgtf-player-social-holder .edgtf-player-social-title, .plr-esports-single .edgtf-team-social-holder .edgtf-team-social-title { margin-right: 18px; }
.plr-embed-provider .plr-brand-icon { display: inline-block; width: 26px; height: 26px; margin-right: 8px; vertical-align: -3px; color: var(--plr-purple); }

/* Formular: Gaming-Konten */
.plr-accounts-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.plr-accounts-fields .plr-field label { display: flex; align-items: center; gap: 8px; }
.plr-accounts-fields .plr-field label .plr-brand-icon { width: 18px; height: 18px; color: var(--plr-purple); }
.plr-form .plr-accounts-intro { margin: -6px 0 20px; font-size: 14px; color: var(--plr-text); }
@media only screen and (max-width: 680px) { .plr-accounts-fields { grid-template-columns: 1fr; } }

/* --- Fehlerseite ohne Datenbank ---------------------------------------------- */
.plr-error-page { display: flex; min-height: 100vh; align-items: center; justify-content: center; background: var(--plr-bg); color: var(--plr-text); font-family: 'Open Sans', sans-serif; text-align: center; }
.plr-error-page h1 { font-family: Rajdhani, sans-serif; color: #fff; text-transform: uppercase; }
.plr-error-page a { color: #fff; }

/* --- Responsiv ---------------------------------------------------------------- */
@media only screen and (max-width: 1200px) {
  .plr-hero-title { font-size: 76px; }
}
@media only screen and (max-width: 1024px) {
  .plr-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plr-grid > .edgtf-pl-inner, .plr-grid-3 > .edgtf-pl-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* Infoleiste untereinander: nur leicht über das Kopfbild schieben, sonst verdeckt sie den Namen */
  .plr-esports-single .edgtf-team-info-holder .edgtf-team-info-main,
  .plr-esports-single .edgtf-player-info-holder .edgtf-player-info-main,
  .plr-esports-single .edgtf-tournament-info-holder .edgtf-tournament-info-main { position: relative; z-index: 1; transform: none; margin-top: -50px; }
  .plr-esports-single .edgtf-team-info-holder .edgtf-team-info-description,
  .plr-esports-single .edgtf-player-info-holder .edgtf-player-info-description,
  .plr-esports-single .edgtf-tournament-info-holder .edgtf-tournament-info-description { margin-top: 50px; }
  .edgtf-match-list-holder .edgtf-match { margin-bottom: 40px; }
  #inhalt > .edgtf-container > .edgtf-container-inner { padding-top: 50px; }
  .plr-hero { padding: 90px 0 100px; }
  .plr-hero::after { display: none; }
  .plr-hero-with-match .plr-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .plr-next-match { max-width: 520px; }
  .plr-section { padding: 70px 0; }
  .plr-account-grid { grid-template-columns: 1fr; }
}
@media only screen and (max-width: 768px) {
  .edgtf-container-inner, .edgtf-grid { width: auto !important; max-width: none; padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
  .edgtf-page-footer .edgtf-footer-top-inner, .edgtf-page-footer .edgtf-footer-bottom-inner { padding-left: 16px !important; padding-right: 16px !important; }
  .plr-title, .plr-title .edgtf-title-wrapper { height: 170px; }
  .edgtf-title-holder.edgtf-standard-with-breadcrumbs-type .edgtf-title-info { padding-left: 16px; }
  .edgtf-title-holder .edgtf-page-title { font-size: 42px; }
  .edgtf-title-holder.edgtf-standard-with-breadcrumbs-type .edgtf-breadcrumbs-info { white-space: normal; }
  .plr-hero-title, .plr-hero-with-match .plr-hero-title { font-size: clamp(36px, 10.5vw, 52px); overflow-wrap: break-word; }
  .plr-hero-actions { gap: 16px; }
  .plr-next-match { padding: 22px 20px 20px; }
  .plr-next-team .plr-team-badge { --badge: 64px; }
  .plr-next-team img { width: 64px; height: 64px; }
  .plr-next-time { font-size: 46px; }
  .plr-next-name { font-size: 16px; }
  .plr-hero-actions .edgtf-btn { padding-left: 40px; padding-right: 40px; }
  .plr-card-grid, .plr-card-grid-center { grid-template-columns: 1fr; }
  .plr-panel, .plr-steps { padding: 26px 22px; }
  .plr-prose h2 { font-size: 32px; }
  .plr-facts { grid-template-columns: 1fr; gap: 2px; }
  .plr-facts dd { margin-bottom: 10px; }
  .plr-footer-cta, .plr-footer-links { text-align: left; }
  .edgtf-page-footer .widget_nav_menu ul.menu { justify-content: flex-start; }
  .edgtf-page-footer .edgtf-grid-row > div { margin-bottom: 24px; }
  .edgtf-btn { padding-left: 36px; padding-right: 36px; }
  .plr-grid:not(.edgtf-player-list-holder) > .edgtf-pl-inner { grid-template-columns: 1fr; }
  .plr-grid > .edgtf-pl-inner { gap: 20px; }
  .plr-esports-single .plr-single-top .plr-cover { height: 420px; }
  .plr-esports-single .edgtf-match-single-top-holder .plr-cover { height: 340px; }
  .plr-esports-single .edgtf-match-single-holder .edgtf-match-main-content { margin-top: 50px; }
  .plr-esports-single .edgtf-name, .plr-esports-single .edgtf-nickname, .plr-esports-single h1.edgtf-match-title { font-size: 40px; }
  .plr-single-top .plr-team-badge { --badge: 120px; }
  .edgtf-match-scoreboard .plr-team-badge { --badge: 96px; }
  .edgtf-match .plr-team-badge { --badge: 90px; }
  .plr-decorated-title .edgtf-st-title { font-size: 28px; }
  .plr-embed { aspect-ratio: auto; min-height: 56vw; }
  .plr-embed.plr-embed-active { aspect-ratio: 16 / 9; min-height: 0; }
  .plr-embed-consent { padding: 26px 18px; }
  .plr-tabs a { padding: 10px 24px; }
}
@media only screen and (max-width: 480px) {
  /* Kader bleibt zweispaltig, sonst füllt jede Karte den ganzen Bildschirm */
  .edgtf-player-list-holder.plr-grid > .edgtf-pl-inner { gap: 12px; }
  .edgtf-player .edgtf-player-name { font-size: 19px; }
  .plr-player-placeholder { font-size: 52px; }
}

/* Anmelde-Seite (/auth/login) */
.plr-login { text-align: center; }
.plr-login-lead { font-size: 1.15em; color: var(--plr-text-light); margin-bottom: 28px; }
.plr-login-actions { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-bottom: 28px; }
.plr-login-actions .edgtf-btn { min-width: 320px; justify-content: center; }
.plr-login-discord { background-color: #5865f2; border-color: #5865f2; }
.plr-login-discord:hover { background-color: #4752c4; border-color: #4752c4; }
.plr-login-discord .edgtf-btn-text { display: inline-flex; align-items: center; gap: 10px; }
.plr-login-discord svg { width: 22px; height: 22px; fill: currentColor; }
.plr-login-hint { max-width: 520px; margin: 0 auto; font-size: .95em; }
.plr-login-or { display: flex; align-items: center; gap: 16px; max-width: 420px; margin: 0 auto 24px; font-size: .9em; color: #8f8796; }
.plr-login-or::before, .plr-login-or::after { content: ""; flex: 1; border-top: 1px solid rgba(255, 255, 255, .15); }
.plr-login-form { max-width: 420px; margin: 0 auto 28px; text-align: left; }
.plr-login-form .plr-field { margin-bottom: 20px; }
.plr-login-form .plr-login-error { margin-bottom: 20px; }
.plr-login-submit { width: 100%; justify-content: center; }
.plr-login-submit[disabled] { opacity: .6; cursor: progress; }
.plr-login-recovery { margin: 14px 0 0; text-align: center; font-size: .95em; }
.plr-login-done { margin-bottom: 20px; }
.plr-login-form .plr-field label input[type=checkbox] { margin-right: 10px; }
.plr-login [hidden] { display: none !important; }
@media (max-width: 480px) { .plr-login-actions .edgtf-btn { min-width: 0; width: 100%; } }

/* Dateiaustausch (/dateien) */
.plr-folder-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.plr-folder { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 18px 22px; background: var(--plr-panel); border-left: 3px solid var(--plr-purple); color: var(--plr-text-light); }
.plr-folder:hover { border-left-color: var(--plr-purple-bright); background: #2c1b3a; }
.plr-folder-name { font-family: Rajdhani, sans-serif; font-weight: 700; font-size: 20px; text-transform: uppercase; color: #fff; }
.plr-folder-count { font-size: 14px; color: var(--plr-text); align-self: center; }
.plr-folder-text { grid-column: 1 / -1; font-size: 15px; color: var(--plr-text); }
.plr-file-table { width: 100%; border-collapse: collapse; margin-bottom: 30px; }
.plr-file-table th, .plr-file-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #2c1b3a; vertical-align: middle; }
.plr-file-table th { font-family: Rajdhani, sans-serif; text-transform: uppercase; font-size: 14px; color: var(--plr-text); }
.plr-file-table td:first-child { overflow-wrap: anywhere; }
.plr-file-uploader { color: var(--plr-text); }
.plr-file-delete { margin: 0; }
.plr-link-button { background: none; border: 0; padding: 0; color: var(--plr-red); cursor: pointer; font: inherit; text-decoration: underline; }
.plr-file-upload { margin-top: 10px; }
@media (max-width: 600px) { .plr-file-table th:nth-child(3), .plr-file-table td:nth-child(3) { display: none; } }
