/* Gemeinsames öffentliches Seitenlayout nach Startseite und Team. */
body.public-layout { background: #080808; color: #fff; --accent: #f5a524; --border: #292725; }
body.public-layout .container { width: var(--home-page-width); max-width: none; padding-inline: 0; margin-inline: auto; }
body.public-layout .nav img.nav-logo-img { width: auto; height: 36px; max-width: 44px; object-fit: contain; flex-shrink: 0; }
body.public-layout .home-footer img.footer-logo-img { width: auto; height: 36px; max-width: 44px; object-fit: contain; }
body.public-layout .nav .nav-links { margin: 0; padding: 0; list-style: none; }
body.public-layout .reveal { opacity: 1; transform: none; }
body.public-layout .page-header { position: relative; isolation: isolate; overflow: hidden; padding: 114px 0 48px; background: #080808; border-bottom: 1px solid #24211b; }
body.public-layout .page-header::before { content: ''; position: absolute; inset: 64px 0 0; z-index: -1; background-image: linear-gradient(90deg,#080808f0,#080808b0 55%,#08080880),linear-gradient(0deg,#080808,transparent 90%),var(--public-hero-image); background-size: cover; background-position: center top; opacity: .8; pointer-events: none; }
body.public-layout .page-header-grid, body.public-layout .page-header-glow { display: none; }
body.public-layout .page-header-inner { text-align: left; }
body.public-layout .page-header-inner:not(.act-header-layout) { display: flex; flex-direction: column; align-items: flex-start; }
body.public-layout .page-header-inner:not(.act-header-layout) > .partner-strip { order: 5; }
body.public-layout .page-header .page-header-inner > .partner-strip { position: static; inset: auto; width: 100%; max-width: none; align-self: stretch; grid-column: 1 / -1; margin: 24px 0 0; }
body.public-layout .partner-strip { width: 100%; max-width: none; margin: 24px 0 0; padding: 20px 0; border: 0; border-top: 1px solid #393126; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; }
body.public-layout .partner-sub { display: none; }
body.public-layout .partner-meta { margin-bottom: 12px; }
body.public-layout .partner-eyebrow { color: #aaa; font-size: 12px; letter-spacing: .05em; }
body.public-layout .partner-logos { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
body.public-layout .partner-item { min-height: 50px; border: 0; border-radius: 0; background: none; padding: 6px 18px; }
body.public-layout .partner-item + .partner-item { border-left: 1px solid #393126; }
body.public-layout .partner-item img { max-height: 40px; max-width: min(100%,180px); object-fit: contain; filter: grayscale(1); opacity: .8; }
body.public-layout .partner-item:hover img { filter: none; opacity: 1; }
body.public-layout .page-breadcrumb { justify-content: flex-start; margin-bottom: 24px; font-size: 12px; }
body.public-layout .page-header h1 { font-size: clamp(36px,3.8vw,66px); line-height: 1.07; letter-spacing: -.045em; font-weight: 850; max-width: 22ch; margin: 0 0 20px; }
body.public-layout .page-header h1 em { color: #f5ba42; font-style: normal; }
body.public-layout .page-desc { max-width: 65ch; margin-inline: 0; font-size: 17px; line-height: 1.65; color: #c8c8cc; }
body.public-layout .eyebrow { color: #f5ba42; font-size: 12px; letter-spacing: .1em; }
body.public-layout .section { padding-block: 40px 64px; }
body.public-layout .section-title { font-size: clamp(27px,2.5vw,40px); line-height: 1.14; letter-spacing: -.035em; }
body.public-layout .btn { min-height: 46px; border-radius: 7px; padding: 12px 22px; font-size: 14px; }
body.public-layout .btn-ghost { border: 1px solid #a97924; color: #fff; background: #08080899; }
body.public-layout a:focus-visible, body.public-layout button:focus-visible, body.public-layout input:focus-visible, body.public-layout select:focus-visible { outline: 2px solid #f5ba42; outline-offset: 4px; }
body.public-layout .cta-section { padding-block: 8px 48px; }
body.public-layout .cta-box { background: #14120e; border: 1px solid #665026; border-radius: 10px; padding: 30px 36px; }
body.public-layout .cta-title { font-size: clamp(26px,2.6vw,38px); }
body.public-layout .events { position: relative; isolation: isolate; padding-top: 108px; background: #080808; }
body.public-layout .events::before { content: ''; position: absolute; inset: 64px 0 auto; height: 276px; z-index: -1; background-image: linear-gradient(90deg,#080808f0,#08080890),linear-gradient(0deg,#080808 5%,transparent),var(--public-hero-image); background-size: cover; background-position: center top; pointer-events: none; }
body.public-layout .events > .container > .events-header { min-height: 185px; align-items: center; margin-bottom: 32px; }
body.public-layout .events-header h1, body.public-layout .events-header h2 { font-size: clamp(36px,3.8vw,66px); letter-spacing: -.04em; }
body.public-layout .events-grid { grid-template-columns: repeat(auto-fit,minmax(280px,360px)); justify-content: start; gap: 24px; max-width: none; }
body.public-layout .event-card { --public-card-radius: 10px; border-radius: var(--public-card-radius); border-color: #4c391f; background: #111112; }
body.public-layout .event-card::before { border-radius: calc(var(--public-card-radius) - 1px); }
body.public-layout .event-card-img-wrap { aspect-ratio: auto; height: auto; background: #090909; }
body.public-layout .event-card-img-wrap img { width: 100%; height: auto; object-fit: contain; }
body.public-layout .event-name { font-size: 21px; }
body.public-layout .events-filter-bar { max-width: none; }
body.public-layout .ranking-frame-wrap, body.public-layout .standing-panel, body.public-layout .standings-panel { max-width: none; border-radius: 10px; border-color: #393126; background: #111112; }
body.public-layout .ranking-tabs { justify-content: flex-start; }
body.public-layout .ranking-tab { border-radius: 7px; }
body.public-layout .ranking-table-scroll, body.public-layout .ranking-table-wrap, body.public-layout .standings-table-wrap { overflow-x: auto; overscroll-behavior-x: contain; }
body.public-layout .rw-card, body.public-layout .partner-page-card, body.public-layout .lan-feature-card, body.public-layout .shop-card, body.public-layout .act-tier-card { border-radius: 10px; border-color: #393126; background-color: #111112; }
body.public-layout .rw-card::before { border-radius: 9px; }
body.public-layout .rw-grid { grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 24px; }
body.public-layout .rw-card-visual { min-height: 150px; }
body.public-layout .rw-content { max-width: 100%; }
body.public-layout .rw-content p, body.public-layout .rw-content li { max-width: 80ch; }
body.public-layout .rw-article { border-color: #393126; border-radius: 10px; background: #111112; }
body.public-layout .rw-sidebar { border-radius: 10px; background: #111112; }
body.public-layout .rw-content-inner { grid-template-columns: minmax(200px,260px) minmax(0,1fr); gap: 32px; }
body.public-layout .rw-main { min-width: 0; }
body.public-layout .partner-page-grid { grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 24px; }
body.public-layout .partner-page-logo { min-height: 100px; }
body.public-layout .partner-page-card { padding: 30px; }
body.public-layout .partner-page-logo img { max-height: 65px; width: auto; max-width: 100%; object-fit: contain; }
body.public-layout .players-page { padding-top: 112px; }
body.public-layout .players-page .events-header { margin-bottom: 30px; }
body.public-layout .players-grid { gap: 24px; }
body.public-layout .shop-hero { padding-top: 114px; background: linear-gradient(90deg,#080808e8,#080808aa),var(--public-hero-image) center 64px / cover no-repeat; }
body.public-layout .shop-grid { gap: 24px; }
body.public-layout .imp-grid { max-width: 980px; margin-inline: 0; }
body.public-layout .imp-text, body.public-layout .leistung-content { max-width: 80ch; color: #c8c8cc; }
body.public-layout .leistung-layout { grid-template-columns: minmax(200px,280px) minmax(0,1fr); gap: 40px; }
body.public-layout .act-header-layout > *, body.public-layout .rw-layout > *, body.public-layout .leistung-layout > * { min-width: 0; }
body.public-layout .ctc25-hero { border-radius: 0; }
body.public-layout .ctc25-hero-inner { width: var(--home-page-width); max-width: none; margin-inline: auto; }
body.public-layout .ctc25-title { font-size: clamp(38px,4vw,72px); letter-spacing: -.04em; }
body.public-layout .ctc25-card { border-radius: 10px; }
body.public-layout.ctc25-page { --ctc-green: #f5ba42; }
body.public-layout .ctc25-hero { min-height: 640px; padding: 112px 0 60px; text-align: left; background: linear-gradient(90deg,#080808ee,#08080899),var(--public-hero-image) center 64px / cover no-repeat; }
body.public-layout .ctc25-hero-inner { text-align: left; }
body.public-layout .ctc25-grid, body.public-layout .ctc25-scanlines, body.public-layout .ctc25-chars, body.public-layout .ctc25-brackets { display: none; }
body.public-layout .ctc25-badge { color: #f5ba42; border-color: #665026; background: #f5ba421a; }
body.public-layout .ctc25-badge-dot { background: #f5ba42; box-shadow: none; }
body.public-layout .ctc25-desc { margin-inline: 0; color: #c8c8cc; }
body.public-layout .ctc25-pw-wrapper { margin-inline: 0; margin-top: 26px; background: #111112; border: 1px solid #665026; border-radius: 10px; padding: 24px; }
body.public-layout .ctc25-pw-input { border-color: #665026; border-radius: 7px; color: #eee; }
body.public-layout .ctc25-pw-btn { border-radius: 7px; background: #f5a524; }
body.public-layout .ctc25-term-prompt { color: #f5ba42; }
body.public-layout .act-bottom-grid > .section, body.public-layout .act-media-card { border-radius: 10px; border-color: #393126; }
body.public-layout .act-cta-btn { border: 1px solid #a97924; color: #fff; background: #08080899; box-shadow: none; border-radius: 7px; }
body.public-layout .scrim-wrap { max-width: none; margin-inline: 0; }
body.public-layout .scrim-top-layout { grid-template-columns: minmax(280px,.9fr) minmax(0,1.4fr); gap: 28px; }
body.public-layout .scrim-top-layout:not(:has(.scrim-image-wrap)) { grid-template-columns: minmax(0,1fr); }
body.public-layout .scrim-top-layout:not(:has(.scrim-image-wrap)) .scrim-info-stack { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
body.public-layout .scrim-description, body.public-layout .scrim-dates, body.public-layout .scrim-table-card { border-radius: 10px; border-color: #393126; background-color: #111112; }
body.public-layout .scrim-image-wrap { max-width: none; }
body.public-layout [id] { scroll-margin-top: 88px; }
body.public-layout.woocommerce-page .site-header, body.public-layout.woocommerce-page .site-footer { display: none; }
body.public-layout.woocommerce-page .site-container { background: #080808; }
body.public-layout.woocommerce-page .entry-hero { padding-top: 80px; background: linear-gradient(90deg,#080808f0,#08080899),var(--public-hero-image) center 64px / cover no-repeat; }
body.public-layout.woocommerce-page .content-container { width: var(--home-page-width); max-width: none; padding-inline: 0; }
body.public-layout.woocommerce-page .entry-content-wrap { background: transparent; padding-inline: 0; }
body.public-layout.woocommerce-page ul.products { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 24px; }
body.public-layout.woocommerce-page ul.products::before, body.public-layout.woocommerce-page ul.products::after { display: none; }
body.public-layout.woocommerce-page ul.products li.product { width: auto !important; margin: 0 !important; padding: 18px; border: 1px solid #393126; border-radius: 10px; background: #111112; }
body.public-layout.woocommerce-page .woocommerce-ordering select, body.public-layout.woocommerce-page input.input-text, body.public-layout.woocommerce-page textarea, body.public-layout.woocommerce-page select { background: #151515; color: #eee; border-color: #514129; }
body.public-layout.woocommerce-page .button { background: #f5a524; color: #080808; border-radius: 7px; }
body.public-layout.woocommerce-page .woocommerce-coming-soon-store-only { width: var(--home-page-width); padding: 80px 24px 60px; min-height: 360px; border: 1px solid #393126; border-radius: 10px; background: linear-gradient(130deg,#1c160e,#111112); margin: 96px auto 40px; }
body.public-layout.woocommerce-page .woocommerce-coming-soon-store-only .wp-block-spacer { display: none; }
body.public-layout.woocommerce-page .woocommerce-coming-soon-store-only h1 { color: #fff; font-family: Inter,Arial,sans-serif !important; font-weight: 800; font-size: clamp(34px,3.5vw,60px); line-height: 1.1; letter-spacing: -.04em; margin: 0 0 24px; }
body.public-layout.woocommerce-page .woocommerce-coming-soon-store-only p { color: #c8c8cc; max-width: 65ch; font-family: inherit; font-size: 17px; line-height: 1.65; }
@media(max-width:1000px) {
  body.public-layout .act-header-layout, body.public-layout .leistung-layout { grid-template-columns: minmax(0,1fr); }
  body.public-layout .rw-content-inner { grid-template-columns: minmax(0,1fr); gap: 24px; }
  body.public-layout .rw-sidebar { position: static; }
  body.public-layout .ranking-tabs { flex-wrap: wrap; }
  body.public-layout .scrim-top-layout { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:640px) {
  body.public-layout .page-header { padding-top: 94px; padding-bottom: 32px; }
  body.public-layout .page-header h1 { font-size: 37px; overflow-wrap: anywhere; }
  body.public-layout .partner-logos { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  body.public-layout .partner-item { padding-inline: 12px; }
  body.public-layout .partner-item + .partner-item { border-left: 0; }
  body.public-layout .page-desc { font-size: 15px; }
  body.public-layout .events { padding-top: 94px; }
  body.public-layout .events > .container > .events-header { min-height: 150px; align-items: flex-start; flex-direction: column; }
  body.public-layout .events-grid { grid-template-columns: minmax(0,1fr); max-width: 360px; margin-inline: auto; }
  body.public-layout .rw-grid, body.public-layout .partner-page-grid, body.public-layout .shop-grid { grid-template-columns: minmax(0,1fr); }
  body.public-layout .cta-box { padding: 24px 22px; }
  body.public-layout .cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }
  body.public-layout .partner-page-card { padding: 24px; }
  body.public-layout .shop-hero { padding-top: 94px; }
  body.public-layout .players-page { padding-top: 94px; }
  body.public-layout .ctc25-hero { padding-top: 94px; min-height: 0; }
  body.public-layout .ctc25-pw-row { flex-wrap: wrap; }
  body.public-layout .ctc25-input-wrap, body.public-layout .ctc25-pw-btn { flex-basis: 100%; }
  body.public-layout .scrim-top-layout:not(:has(.scrim-image-wrap)) .scrim-info-stack { grid-template-columns: minmax(0,1fr); }
  body.public-layout.woocommerce-page ul.products { grid-template-columns: minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
  body.public-layout .reveal { animation: none !important; transition: none !important; }
}

/* Spielerprofil: klare Kontoverwaltung neben kompakten Spielinformationen. */
body.public-layout .players-page { padding: 106px 0 48px; }
body.public-layout .players-page > .container { width: min(1240px, var(--home-page-width)); display: flex; flex-direction: column; }
body.public-layout .players-page > .container > .partner-strip { order: 10; margin-top: 36px; }
body.public-layout .players-page .events-header { text-align: left; justify-content: flex-start; margin-bottom: 14px; }
body.public-layout .players-page .events-header .eyebrow { display: none; }
body.public-layout .players-page .section-title { font-size: clamp(32px,3vw,46px); margin-bottom: 10px; }
body.public-layout .players-page:has(.players-profile) .events-header .section-sub { display: none; }
body.public-layout .players-page .players-meta { text-align: left; margin-bottom: 20px !important; }
body.public-layout .players-profile { width: 100%; max-width: none; margin: 0; }
body.public-layout .players-event-card { border-color: #514129; border-radius: 10px; background: #111112; box-shadow: none; overflow: hidden; }
body.public-layout .players-profile-tabs { padding: 18px 26px; margin: 0; border-bottom: 1px solid #302c25; gap: 12px; flex-wrap: wrap; }
body.public-layout .players-profile-tab { padding: 10px 16px; font-size: 13px; border-radius: 6px; }
body.public-layout .players-event-header--mode { padding: 18px 26px; gap: 18px; flex-wrap: wrap; background: #151413; }
body.public-layout .players-mode-switch { width: min(100%,540px); max-width: none; margin: 0; background: #0b0b0c; border-radius: 7px; }
body.public-layout .players-mode-btn { min-height: 50px; border-radius: 5px; }
body.public-layout .players-mode-btn span { font-size: 13px; }
body.public-layout .players-mode-btn em { font-size: 11px; }
body.public-layout .players-discord-body { padding: 28px 26px; }
body.public-layout .players-hero { gap: 24px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid #302c25; }
body.public-layout .players-profile-name { font-size: clamp(24px,2.5vw,34px); overflow-wrap: anywhere; }
body.public-layout .players-hero-kpis { min-width: 300px; gap: 12px; }
body.public-layout .players-hero-kpis > div { background: #1b1813; padding: 14px 16px; border-radius: 7px; }
body.public-layout .players-hero-kpis strong { font-size: 25px; }
body.public-layout .players-panels { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 24px; align-items: start; }
body.public-layout .players-panel { padding: 0; border: 0; border-radius: 0; background: none; min-width: 0; }
body.public-layout .players-panel:first-child { grid-row: 1 / 3; }
body.public-layout .players-panel:nth-child(2), body.public-layout .players-panel:nth-child(3) { grid-column: 2; }
body.public-layout .players-section-title { margin-bottom: 14px; font-size: 17px; text-transform: none; letter-spacing: 0; color: #fff; }
body.public-layout .players-links-grid, body.public-layout .players-ranking-grid, body.public-layout .players-stats-grid { gap: 0; }
body.public-layout .players-links-grid > div, body.public-layout .players-ranking-grid > div, body.public-layout .players-stats-grid > div { padding: 12px 0; border: 0; border-bottom: 1px solid #292725; border-radius: 0; background: transparent; gap: 14px; min-width: 0; }
body.public-layout .players-links-grid > div > span, body.public-layout .players-profile-edit-row label { font-size: 13px; color: #aaa; }
body.public-layout .players-links-grid strong { font-size: 13px; overflow-wrap: anywhere; }
body.public-layout .players-profile-edit-row { display: grid; grid-template-columns: 110px minmax(0,1fr); align-items: center; }
body.public-layout .players-profile-edit-input { width: 100%; min-width: 0; max-width: none; padding: 11px 12px; font-size: 14px; border: 1px solid #454039; border-radius: 6px; background: #191919; text-align: left; }
body.public-layout .players-profile-save-row { padding-top: 18px !important; border-bottom: 0 !important; }
body.public-layout .players-profile-save { padding: 11px 22px; border-radius: 6px; font-size: 14px; background: #f5a524; color: #080808; }
body.public-layout .players-history-wrap { margin-top: 26px; padding-top: 22px; border-top: 1px solid #302c25; text-align: left; }
body.public-layout .players-history-toggle { min-height: 44px; border-radius: 6px; font-size: 14px; }
@media(max-width:760px) {
  body.public-layout .players-page { padding-top: 92px; }
  body.public-layout .players-profile-tabs, body.public-layout .players-event-header--mode { padding: 16px; }
  body.public-layout .players-discord-body { padding: 22px 16px; }
  body.public-layout .players-hero { flex-direction: column; align-items: stretch; }
  body.public-layout .players-hero-kpis { width: 100%; min-width: 0; grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.public-layout .players-hero-kpis > div { padding: 12px 10px; }
  body.public-layout .players-panels { grid-template-columns: minmax(0,1fr); gap: 28px; }
  body.public-layout .players-panel:first-child { grid-row: auto; }
  body.public-layout .players-panel:nth-child(2), body.public-layout .players-panel:nth-child(3) { grid-column: auto; }
  body.public-layout .players-profile-edit-row { grid-template-columns: minmax(0,1fr); gap: 7px; }
  body.public-layout .players-mode-switch { width: 100%; }
}

body.public-layout .players-page .events-header > div { width: 100%; text-align: left; }
body.public-layout .players-profile-edit-input { min-height: 42px; }
body.public-layout .players-page .events-header .section-title { text-align: left; margin-inline: 0; }

/* Turnierübersicht: dieselbe kompakte Kartengröße wie auf der Startseite. */
body.public-layout .events.home-layout :is(.events-grid,.turniere-grid) { grid-template-columns: repeat(auto-fit,minmax(0,314px)); justify-content: start; align-items: start; margin-inline: 0; gap: 22px; }
body.public-layout .events.home-layout .event-name { font-size: 18px; }
body.public-layout .events.home-layout .event-cta { padding: 12px; font-size: 12px; }
body.public-layout .events.home-layout .event-card-header { border-bottom: 0; }
body.public-layout .events.home-layout .event-card { min-height: 0; }
@media(max-width:640px) {
  body.public-layout .events.home-layout :is(.events-grid,.turniere-grid) { grid-template-columns: minmax(0,314px); }
}
body.public-layout .events.home-layout .turniere-grid { max-width: none; display: grid; }

/* Gleiche Bildflächen auch bei Turnierplakaten im Hochformat. */
body.public-layout .events.home-layout .event-card-img-wrap { aspect-ratio: 1; height: auto; }
body.public-layout .events.home-layout .event-card-img-wrap img { width: 100%; height: 100%; object-fit: contain; }
