/*
Theme Name: Goal Child Theme
Theme URI: https://goal.ancorathemes.com
Description: Goal Child Theme for Poddębicka Liga Halowa
Author: AncoraThemes
Version: 1.3.1
Template: goal
*/

/* ============================================================
   PLH — Sports Platform Edition
   ============================================================ */


/* ============================================================
   GLOBAL
   ============================================================ */

body.wp-theme-goal .post_content:has(> .plh-data),
body.wp-theme-goal .entry-content:has(> .plh-data) {
  padding: 0 !important;
  margin: 0 !important;
}

.plh-data {
  background: #f5f8fb !important;
}


/* ============================================================
   HERO — Full-screen, cinematic
   ============================================================ */

body.frontpage .plh-data .hero {
  min-height: 100vh !important;
}

.plh-data .hero::before {
  background: linear-gradient(
    to bottom,
    rgba(3,10,20,0.04) 0%,
    rgba(3,10,20,0.12) 20%,
    rgba(3,10,20,0.60) 58%,
    rgba(3,10,20,0.94) 82%,
    rgba(3,10,20,1)   100%
  ) !important;
}

/* Green-blue stripe at hero bottom */
.plh-data .hero::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 5px;
  background: linear-gradient(90deg, #54ce63 0%, #0b8fd7 100%);
  z-index: 2;
}

.plh-data .hero h1 {
  font-size: clamp(52px, 9vw, 100px) !important;
  line-height: 0.93 !important;
  letter-spacing: -0.04em !important;
  margin-bottom: 20px !important;
}

.plh-data .hero .kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #54ce63 !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  margin-bottom: 18px !important;
}

.plh-data .hero .kicker::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #54ce63;
  flex-shrink: 0;
  animation: plh-live 2.2s ease-in-out infinite;
}

@keyframes plh-live {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(84,206,99,0.6); }
  50%       { opacity: .7; box-shadow: 0 0 0 7px rgba(84,206,99,0); }
}

.plh-data .hero .lead {
  font-size: clamp(17px, 2.2vw, 22px) !important;
  color: rgba(215,235,255,0.88) !important;
  max-width: 580px !important;
  margin-top: 16px !important;
  line-height: 1.58 !important;
}

.plh-data .hero .wrap {
  padding-bottom: 88px;
}


/* ============================================================
   STATS — Dark impactful numbers
   ============================================================ */

.plh-data .section.white:has(> .wrap > .stats-grid) {
  background: #061727 !important;
}

.plh-data .section.white:has(> .wrap > .stats-grid) .stats-grid {
  background: transparent !important;
  border-color: rgba(255,255,255,0.08) !important;
}

.plh-data .section.white:has(> .wrap > .stats-grid) .stat {
  border-right-color: rgba(255,255,255,0.08) !important;
  min-height: 220px !important;
  padding: 44px 36px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.plh-data .section.white:has(> .wrap > .stats-grid) .stat .kicker {
  color: #54ce63 !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
}

.plh-data .section.white:has(> .wrap > .stats-grid) .stat strong {
  font-size: clamp(60px, 9vw, 100px) !important;
  color: #fff !important;
  letter-spacing: -0.05em !important;
  line-height: 0.88 !important;
  margin: 12px 0 10px !important;
}

.plh-data .section.white:has(> .wrap > .stats-grid) .stat > p:not(.kicker) {
  color: rgba(190,215,238,0.62) !important;
  font-size: 13px !important;
}


/* ============================================================
   QUICK-LINKS — White cards with sport accent
   ============================================================ */

.plh-data .section.white:has(> .wrap > .quick-grid) {
  background: #fff !important;
}

.plh-data .section.white:has(> .wrap > .quick-grid) > .wrap > h2 {
  font-size: clamp(26px, 4vw, 42px) !important;
  letter-spacing: -0.03em !important;
}

.plh-data .quick-link {
  background: #fff !important;
  border: 1px solid #dde8f0 !important;
  border-top: 4px solid #0b8fd7 !important;
  border-radius: 10px !important;
  min-height: 148px !important;
  padding: 24px !important;
  box-shadow: 0 2px 10px rgba(6,23,39,0.06) !important;
  transition: transform 0.18s, box-shadow 0.2s, border-top-color 0.18s !important;
}

.plh-data .quick-link:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(6,23,39,0.13) !important;
  border-top-color: #54ce63 !important;
  color: inherit !important;
}

.plh-data .quick-link span {
  color: #0b8fd7 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}

.plh-data .quick-link strong {
  font-size: 18px !important;
  line-height: 1.2 !important;
  color: #061727 !important;
}


/* ============================================================
   FEATURE SECTIONS — Homepage champion + typer (full-bleed)
   ============================================================ */

.plh-data .section:has(> .wrap > .feature-layout):not(:has(> .wrap > .section-intro)) {
  background: #040f1c !important;
  padding: 0 !important;
}

.plh-data .section:has(> .wrap > .feature-layout):not(:has(> .wrap > .section-intro)) > .wrap {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}

.plh-data .feature-layout {
  min-height: 500px !important;
}

.plh-data .feature-copy {
  padding: 64px 56px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.plh-data .feature-copy h2 {
  font-size: clamp(34px, 5.5vw, 66px) !important;
  letter-spacing: -0.04em !important;
  margin: 14px 0 22px !important;
}

.plh-data .feature-layout .kicker,
.plh-data .feature-copy .kicker {
  color: #54ce63 !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
}

.plh-data .feature-copy p {
  color: #b8d4e8 !important;
  line-height: 1.65 !important;
}

.plh-data .feature-copy p + p {
  margin-top: 12px !important;
}

.plh-data .source-links {
  margin-top: 28px !important;
  gap: 12px !important;
}

.plh-data .source-links a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 12px 22px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  transition: transform 0.16s, background 0.16s !important;
}

.plh-data .source-links a:first-child {
  background: #54ce63 !important;
  border-color: #54ce63 !important;
  color: #061727 !important;
}

.plh-data .source-links a:first-child:hover {
  background: #3dbe52 !important;
  transform: translateY(-2px);
}

.plh-data .source-links a:not(:first-child) {
  background: rgba(255,255,255,0.08) !important;
  border: 1.5px solid rgba(255,255,255,0.22) !important;
  color: rgba(255,255,255,0.88) !important;
}

.plh-data .source-links a:not(:first-child):hover {
  background: rgba(255,255,255,0.14) !important;
}


/* ============================================================
   NEWS SECTION
   ============================================================ */

.plh-data .section:has(> .wrap > .news-grid) {
  background: #edf3f8 !important;
}

.plh-data .section:has(> .wrap > .news-grid) > .wrap > .kicker,
.plh-data .section:has(> .wrap > .news-grid) > .wrap > h2 {
  text-align: center !important;
}

.plh-data .section:has(> .wrap > .news-grid) > .wrap > h2 {
  font-size: clamp(26px, 4vw, 42px) !important;
  letter-spacing: -0.03em !important;
}

.plh-data .news-card {
  border-radius: 10px !important;
  overflow: hidden !important;
  border: none !important;
  box-shadow: 0 2px 12px rgba(6,23,39,0.08) !important;
  transition: transform 0.18s, box-shadow 0.2s !important;
}

.plh-data .news-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 44px rgba(6,23,39,0.15) !important;
}

.plh-data .news-copy {
  padding: 20px 22px 24px !important;
  background: #fff !important;
}

.plh-data .news-copy .kicker {
  color: #8fa8be !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 4px !important;
}

.plh-data .news-copy h3 {
  font-size: 18px !important;
  line-height: 1.28 !important;
  margin: 6px 0 10px !important;
  color: #061727 !important;
}

.plh-data .news-copy p {
  font-size: 14px !important;
  color: #607486 !important;
  line-height: 1.6 !important;
  margin: 0 0 14px !important;
}

.plh-data .news-copy a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-top: auto !important;
  padding: 7px 14px !important;
  background: #061727 !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  border: none !important;
  transition: background 0.15s !important;
}

.plh-data .news-copy a:hover {
  background: #54ce63 !important;
  color: #061727 !important;
}


/* ============================================================
   SUBPAGES — Section-intro + content
   ============================================================ */

.plh-data .section:has(> .wrap > .section-intro) {
  background: #f5f8fb !important;
}

.plh-data .section-intro {
  padding: 0 0 32px 20px !important;
  margin-bottom: 48px !important;
  border-left: 5px solid #54ce63 !important;
  border-bottom: 1px solid #d7e6ef !important;
  background: none !important;
}

.plh-data .section-intro .kicker {
  color: #54ce63 !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  margin-bottom: 6px !important;
  text-transform: uppercase !important;
}

.plh-data .section-intro > p:not(.kicker) {
  color: #607486 !important;
  font-size: 15px !important;
  max-width: 600px !important;
  line-height: 1.62 !important;
  margin: 4px 0 0 !important;
}

/* Feature / champion as contained card on subpages */
.plh-data .section:has(> .wrap > .section-intro) .feature-layout,
.plh-data .section:has(> .wrap > .section-intro) .champion-layout {
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 56px !important;
  min-height: 360px !important;
  box-shadow: 0 10px 40px rgba(6,23,39,0.18) !important;
}

.plh-data .section:has(> .wrap > .section-intro) .feature-copy,
.plh-data .section:has(> .wrap > .section-intro) .champion-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Content headings on subpages */
.plh-data .section:has(.section-intro) > .wrap > h2 {
  font-size: clamp(20px, 3vw, 30px) !important;
  letter-spacing: -0.02em !important;
  margin: 56px 0 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 3px solid #54ce63 !important;
  color: #061727 !important;
}

/* Info note */
.plh-data .note {
  background: #f0f6fa !important;
  border-left: 4px solid #0b8fd7 !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 12px 16px !important;
  color: #607486 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  margin: 0 0 28px !important;
}


/* ============================================================
   SCHEDULE / TERMINARZ
   ============================================================ */

.plh-data .round-list {
  gap: 20px !important;
}

.plh-data .round-block {
  border: none !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 14px rgba(6,23,39,0.09) !important;
}

.plh-data .round-head {
  background: linear-gradient(135deg, #061727 0%, #0b3553 100%) !important;
  border-bottom: 3px solid #54ce63 !important;
  padding: 16px 24px !important;
}

.plh-data .round-head h3 {
  font-size: 18px !important;
  letter-spacing: -0.01em !important;
}

.plh-data .round-head .kicker {
  color: rgba(200,225,245,0.65) !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  margin-bottom: 4px !important;
}

.plh-data .round-head strong {
  color: #f2c94c !important;
}

.plh-data .round-block .table-wrap {
  border: none !important;
  border-radius: 0 !important;
}

.plh-data .image-gallery figure {
  border: none !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(6,23,39,0.1) !important;
  transition: transform 0.18s, box-shadow 0.18s !important;
  margin: 0 !important;
}

.plh-data .image-gallery figure:hover {
  transform: scale(1.025) !important;
  box-shadow: 0 8px 28px rgba(6,23,39,0.18) !important;
}


/* ============================================================
   TABLES — Global
   ============================================================ */

.plh-data .table-wrap {
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1px solid #d7e6ef !important;
  box-shadow: 0 1px 8px rgba(6,23,39,0.06) !important;
}

.plh-data table th {
  background: #0b2d48 !important;
  color: rgba(210,235,255,0.88) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 11px 14px !important;
}

.plh-data tbody tr:hover td {
  background: #edf5fb !important;
}

.plh-data .table-wrap tbody td:last-child {
  font-weight: 900 !important;
  font-size: 15px !important;
  color: #061727 !important;
}

.plh-data .score,
.plh-data td.score {
  font-weight: 900 !important;
  font-variant-numeric: tabular-nums !important;
}

.plh-data .table-wrap tbody tr:first-child td {
  background: rgba(242,201,76,0.07) !important;
}

.plh-data .table-wrap tbody tr:first-child td:first-child {
  color: #b8860b !important;
  font-weight: 900 !important;
}

.plh-data .table-wrap tbody tr:nth-child(2) td:first-child,
.plh-data .table-wrap tbody tr:nth-child(3) td:first-child {
  font-weight: 900 !important;
}


/* ============================================================
   STANDINGS / TABELA — Podium
   ============================================================ */

.plh-data .podium-grid {
  margin-bottom: 48px !important;
  gap: 16px !important;
}

.plh-data .podium-card {
  border: none !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 18px rgba(6,23,39,0.1) !important;
  transition: transform 0.18s, box-shadow 0.2s !important;
}

.plh-data .podium-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 14px 40px rgba(6,23,39,0.16) !important;
}

.plh-data .podium-copy {
  padding: 16px 20px !important;
}

.plh-data .podium-copy > strong {
  font-size: 20px !important;
  color: #061727 !important;
  display: block !important;
  margin: 4px 0 6px !important;
  letter-spacing: -0.01em !important;
}

.plh-data .podium-copy > span:first-child {
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #8fa8be !important;
}


/* ============================================================
   TEAMS / DRUŻYNY
   ============================================================ */

.plh-data .tv-team-card {
  border-radius: 12px !important;
  overflow: hidden !important;
  border-color: #0f2f49 !important;
  transition: transform 0.18s, box-shadow 0.2s !important;
}

.plh-data .tv-team-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 52px rgba(6,23,39,0.26) !important;
}

.plh-data .tv-team-top h3 {
  font-size: clamp(20px, 3vw, 26px) !important;
  letter-spacing: -0.02em !important;
}

.plh-data .lineup-player b {
  background: #54ce63 !important;
  color: #061727 !important;
  font-weight: 900 !important;
  width: 32px !important;
  height: 32px !important;
  font-size: 13px !important;
}


/* ============================================================
   PLAY-OFF / FINAŁY
   ============================================================ */

.plh-data .champion-layout {
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 52px !important;
  min-height: 380px !important;
  box-shadow: 0 12px 48px rgba(6,23,39,0.22) !important;
}

.plh-data .champion-copy {
  padding: 56px 52px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.plh-data .champion-copy h2 {
  font-size: clamp(34px, 5.5vw, 64px) !important;
  letter-spacing: -0.04em !important;
  margin-bottom: 18px !important;
}

.plh-data .champion-copy .kicker {
  color: #54ce63 !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
}

.plh-data .champion-copy p {
  color: #b8d4e8 !important;
}

.plh-data .poster-strip {
  gap: 16px !important;
  margin: 28px 0 !important;
}

.plh-data .poster-strip figure {
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 14px rgba(6,23,39,0.12) !important;
  transition: transform 0.18s, box-shadow 0.2s !important;
  margin: 0 !important;
}

.plh-data .poster-strip figure:hover {
  transform: scale(1.02) !important;
  box-shadow: 0 10px 30px rgba(6,23,39,0.18) !important;
}


/* ============================================================
   HEROES / BOHATEROWIE
   ============================================================ */

.plh-data .person-card {
  border: none !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(6,23,39,0.08) !important;
  transition: transform 0.18s, box-shadow 0.2s !important;
}

.plh-data .person-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 36px rgba(6,23,39,0.15) !important;
}

.plh-data .person-body {
  padding: 16px 18px 20px !important;
}

.plh-data .person-body h3 {
  font-size: 16px !important;
  color: #061727 !important;
  margin-bottom: 6px !important;
}

.plh-data .person-body p {
  color: #607486 !important;
  font-size: 13px !important;
}


/* ============================================================
   SPONSORS / PARTNERZY
   ============================================================ */

.plh-data .sponsor-card {
  border-radius: 8px !important;
  transition: box-shadow 0.18s, transform 0.18s !important;
}

.plh-data .sponsor-card:hover {
  box-shadow: 0 8px 24px rgba(6,23,39,0.12) !important;
  transform: translateY(-2px) !important;
}


/* ============================================================
   SIGNUP / SPACER
   ============================================================ */

.plh-signup-panel {
  border-radius: 12px !important;
  overflow: hidden !important;
}

.plh-data .spacer {
  border-top: 1px solid #d7e6ef !important;
  margin: 8px 0 !important;
}


/* ============================================================
   HEADER / NAV
   ============================================================ */

.top_panel .sc_layouts_logo::before {
  background: #061c2f !important;
}

.top_panel .trx-addons-main-nav-menu > .menu-item.current-menu-item > a,
.top_panel .trx-addons-main-nav-menu > .menu-item.current-menu-ancestor > a {
  color: #54ce63 !important;
  font-weight: 900 !important;
}

.top_panel .trx-addons-submenu {
  border-top: 3px solid #54ce63 !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 14px 40px rgba(6,23,39,0.22) !important;
}


/* ============================================================
   FOOTER
   ============================================================ */

.plh-simple-footer {
  padding: 60px 28px !important;
}

.plh-simple-footer h2 {
  font-size: clamp(22px, 3.5vw, 38px) !important;
  letter-spacing: -0.02em !important;
}

.plh-simple-footer nav a {
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  transition: color 0.15s !important;
}

.plh-simple-footer nav a:hover {
  color: #54ce63 !important;
}


/* ============================================================
   TYPER MODULE — Liga Typerów PLH
   ============================================================ */

/* Spacer between feature-layout and typer content */
.plh-data .spacer {
  height: 0 !important;
  border-top: 1px solid rgba(215,230,239,0.7) !important;
  margin: 52px 0 44px !important;
}

/* Login / main layout: wider left panel */
.plh-typer .login-layout {
  grid-template-columns: minmax(0,1.55fr) minmax(240px,.45fr) !important;
  gap: 20px !important;
  margin-bottom: 28px !important;
  align-items: stretch !important;
}

/* Dark login panel: dramatic gradient */
.plh-typer .panel.dark {
  background: linear-gradient(145deg, #061727 0%, #092c4e 100%) !important;
  border: 1px solid #0f2f49 !important;
  border-radius: 14px !important;
  padding: 38px 40px !important;
  box-shadow: 0 20px 60px rgba(6,23,39,.26) !important;
}

.plh-typer .panel.dark .kicker {
  color: #54ce63 !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  margin-bottom: 10px !important;
}

.plh-typer .panel.dark h2 {
  font-size: clamp(24px, 3.2vw, 36px) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.08 !important;
  margin-bottom: 14px !important;
  color: #fff !important;
}

.plh-typer .panel.dark > p {
  color: rgba(190,215,238,.82) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* Rules grid: impactful scoring chips */
.plh-typer .rules {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 10px !important;
  margin-top: 24px !important;
  padding: 18px !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 10px !important;
}

.plh-typer .rule {
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 8px !important;
  padding: 14px 12px !important;
  background: rgba(255,255,255,.06) !important;
  text-align: center !important;
}

.plh-typer .rule strong {
  display: block !important;
  font-size: 28px !important;
  color: #54ce63 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 6px !important;
}

.plh-typer .rule span {
  display: block !important;
  color: rgba(200,225,245,.7) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
}

/* Login buttons */
.plh-typer .plh-login-buttons {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 10px !important;
  margin-top: 22px !important;
}

.plh-typer .plh-login-button {
  min-height: 54px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  transition: transform .15s, box-shadow .15s !important;
}

.plh-typer .plh-login-button.provider-awnex {
  background: linear-gradient(135deg, #0e6e50, #10b981) !important;
  border-color: #10b981 !important;
  color: #fff !important;
  box-shadow: 0 4px 18px rgba(16,185,129,.3) !important;
}

.plh-typer .plh-login-button.provider-awnex:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(16,185,129,.4) !important;
}

.plh-typer .plh-login-button.provider-google {
  border-color: #4285f4 !important;
  color: #4285f4 !important;
  opacity: .55 !important;
}

.plh-typer .plh-login-button.provider-meta {
  border-color: #1877f2 !important;
  color: #1877f2 !important;
  opacity: .55 !important;
}

/* Register button */
.plh-typer .button-link {
  display: inline-flex !important;
  margin-top: 18px !important;
  padding: 12px 22px !important;
  background: #54ce63 !important;
  color: #061727 !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  transition: background .15s, transform .15s !important;
}

.plh-typer .button-link:hover {
  background: #3dbe52 !important;
  transform: translateY(-1px) !important;
}

/* Small note text under buttons */
.plh-typer .panel.dark > p:last-child {
  margin-top: 12px !important;
  color: rgba(180,205,225,.55) !important;
  font-size: 12px !important;
}

/* Season state panel */
.plh-typer .panel.season-state {
  background: #061727 !important;
  border: 1px solid #0f2f49 !important;
  border-radius: 14px !important;
  padding: 28px 24px !important;
  color: #fff !important;
  box-shadow: 0 8px 32px rgba(6,23,39,.2) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.plh-typer .season-state .kicker {
  color: #54ce63 !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  margin-bottom: 4px !important;
}

.plh-typer .season-state strong {
  font-size: 40px !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  color: #fff !important;
  display: block !important;
}

.plh-typer .season-state span {
  color: rgba(185,213,235,.65) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  display: block !important;
  margin-top: 3px !important;
}

/* Separator between stat items in season-state */
.plh-typer .season-state > div + div {
  border-top: 1px solid rgba(255,255,255,.08) !important;
  padding-top: 16px !important;
}

/* Preview grid: fixture list + ranking */
.plh-typer .preview-grid {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(260px,.4fr) !important;
  gap: 20px !important;
  margin-bottom: 28px !important;
}

/* Section titles above fixture list */
.plh-typer .section-title {
  margin: 0 0 14px !important;
  align-items: center !important;
}

.plh-typer .section-title h3 {
  font-size: 18px !important;
  letter-spacing: -0.02em !important;
  color: #061727 !important;
}

.plh-typer .section-title .kicker {
  color: #54ce63 !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  margin-bottom: 4px !important;
}

.plh-typer .section-title p {
  color: #8fa8be !important;
  font-size: 13px !important;
}

/* Fixture cards: proper sports match cards */
.plh-typer .fixture-list {
  gap: 8px !important;
}

.plh-typer .fixture-card {
  border: 1px solid #dde8f0 !important;
  border-radius: 10px !important;
  padding: 13px 16px !important;
  background: #fff !important;
  box-shadow: 0 1px 6px rgba(6,23,39,.05) !important;
  transition: box-shadow .15s, transform .15s !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
}

.plh-typer .fixture-card:hover {
  box-shadow: 0 4px 18px rgba(6,23,39,.11) !important;
  transform: translateX(2px) !important;
}

.plh-typer .fixture-card small {
  color: #8fa8be !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}

.plh-typer .fixture-card strong {
  font-size: 14px !important;
  color: #061727 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
  display: block !important;
}

/* Score chip: proper scoreboard look */
.plh-typer .score-chip {
  min-width: 58px !important;
  padding: 8px 12px !important;
  background: #061727 !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0.04em !important;
  flex-shrink: 0 !important;
}

.plh-typer .type-chip {
  background: #edf5fb !important;
  color: #0b4d82 !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

/* Ranking panel */
.plh-typer .panel.tight {
  border-radius: 12px !important;
  border: 1px solid #dde8f0 !important;
  box-shadow: 0 2px 12px rgba(6,23,39,.07) !important;
  padding: 20px 20px !important;
  background: #fff !important;
}

.plh-typer .panel.tight h3 {
  font-size: 17px !important;
  letter-spacing: -0.02em !important;
  color: #061727 !important;
  margin-bottom: 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #54ce63 !important;
}

/* Empty state */
.plh-typer .empty-state {
  border: 1px dashed #b8d0e0 !important;
  border-radius: 10px !important;
  background: #f8fbfd !important;
  padding: 22px 18px !important;
  color: #8fa8be !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  text-align: center !important;
}

/* Notice banner */
.plh-typer .notice {
  border-radius: 8px !important;
  border: 1px solid #93c5fd !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  padding: 12px 16px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
}

/* Logged-in: stat cards above betting */
.plh-typer .stats {
  gap: 12px !important;
  margin-bottom: 28px !important;
}

.plh-typer .stat {
  border: 1px solid #dde8f0 !important;
  border-radius: 10px !important;
  padding: 18px 20px !important;
  background: #fff !important;
  box-shadow: 0 1px 6px rgba(6,23,39,.05) !important;
}

.plh-typer .stat strong {
  font-size: 32px !important;
  letter-spacing: -0.03em !important;
  line-height: 1 !important;
  color: #061727 !important;
}

.plh-typer .stat span {
  color: #8fa8be !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-top: 8px !important;
}

/* Betting rows (logged in view) */
.plh-typer details {
  border: none !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 14px !important;
  box-shadow: 0 2px 12px rgba(6,23,39,.08) !important;
}

.plh-typer summary {
  background: linear-gradient(135deg, #061727 0%, #0b3553 100%) !important;
  padding: 16px 22px !important;
  font-size: 15px !important;
  border-bottom: 3px solid #54ce63 !important;
}

.plh-typer summary .stage-summary {
  color: rgba(190,215,238,.72) !important;
  font-size: 12px !important;
}

.plh-typer .bet-row {
  padding: 14px 20px !important;
}

.plh-typer .bet-row.has-bet {
  background: #f4fbf5 !important;
  border-left: 3px solid #54ce63 !important;
}

.plh-typer .teams strong {
  font-size: 15px !important;
  color: #061727 !important;
}

.plh-typer .points {
  background: #dcf5e3 !important;
  color: #155724 !important;
  font-weight: 900 !important;
  border-radius: 999px !important;
}

/* Action buttons */
.plh-typer button {
  background: #0b8fd7 !important;
  border-radius: 8px !important;
  padding: 11px 20px !important;
  font-weight: 900 !important;
  transition: background .15s, transform .15s !important;
}

.plh-typer button:hover {
  background: #0878b8 !important;
  transform: translateY(-1px) !important;
}

/* Leaderboard table */
.plh-typer .leaderboard th {
  background: #0b2d48 !important;
  color: rgba(210,235,255,.88) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.plh-typer .leaderboard tr.is-current td {
  background: #f0fbf3 !important;
  font-weight: 900 !important;
}

/* Gamification arena */
.plh-typer .arena-main {
  border-radius: 12px !important;
  background: linear-gradient(145deg, #061727 0%, #092c4e 100%) !important;
  border-color: #0f3554 !important;
  padding: 28px !important;
}

.plh-typer .arena-main h3 {
  font-size: clamp(22px, 3vw, 30px) !important;
  letter-spacing: -0.02em !important;
}

.plh-typer .arena-metric strong {
  color: #54ce63 !important;
  font-size: 26px !important;
}

/* Progress bar */
.plh-typer .progress span {
  background: linear-gradient(90deg, #54ce63, #0b8fd7) !important;
}

/* Level card */
.plh-typer .level-card {
  border-radius: 10px !important;
  border: 1px solid #dde8f0 !important;
  box-shadow: 0 2px 10px rgba(6,23,39,.06) !important;
}

/* Typer: responsive */
@media (max-width:980px) {
  .plh-typer .login-layout {
    grid-template-columns: 1fr !important;
  }

  .plh-typer .preview-grid {
    grid-template-columns: 1fr !important;
  }

  .plh-typer .rules {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width:720px) {
  .plh-typer .panel.dark {
    padding: 28px 24px !important;
  }

  .plh-typer .plh-login-buttons {
    grid-template-columns: 1fr !important;
  }

  .plh-typer .rules {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width:980px) {
  body.frontpage .plh-data .hero { min-height: 80vh !important; }

  .plh-data .section.white:has(> .wrap > .stats-grid) .stat strong {
    font-size: clamp(48px, 11vw, 80px) !important;
  }

  .plh-data .section.white:has(> .wrap > .stats-grid) .stat {
    min-height: 180px !important;
    padding: 32px 28px !important;
  }

  .plh-data .feature-copy,
  .plh-data .champion-copy {
    padding: 44px 40px !important;
  }
}

@media (max-width:820px) {
  .plh-data .section {
    padding: 52px 0 !important;
  }
}

@media (max-width:720px) {
  body.frontpage .plh-data .hero { min-height: 75vh !important; }

  .plh-data .hero h1 {
    font-size: clamp(42px, 12vw, 64px) !important;
    letter-spacing: -0.03em !important;
  }

  .plh-data .hero .wrap {
    padding-bottom: 64px !important;
  }

  .plh-data .feature-copy,
  .plh-data .champion-copy {
    padding: 30px 28px !important;
  }

  .plh-data .quick-link {
    min-height: 120px !important;
  }

  .plh-data .quick-link strong {
    font-size: 16px !important;
  }

  .plh-data .section-intro {
    padding-left: 16px !important;
    margin-bottom: 36px !important;
  }

  .plh-data .section:has(.section-intro) > .wrap > h2 {
    margin-top: 40px !important;
  }
}
