/**
 * Parní Kaktus – odvážný redesign (homepage, podstránky, portál)
 * Načítat po pk-brand.css a stránkových CSS.
 */

/* ========== HOMEPAGE ========== */
body.pk-portal-nastym,
body.pk-home {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  color: var(--pk-text, #0f1f14) !important;
  /* Světlé pozadí stránky – tmavý pitch jen v hero (ne fixed řez přes logo) */
  background: #f3f7f4 !important;
  background-attachment: scroll !important;
  animation: none !important;
}

body.pk-portal-nastym::before,
body.pk-home::before {
  display: none !important;
}

/* Nav – glass over pitch */
body.pk-portal-nastym .modern-nav {
  background: rgba(7, 20, 12, 0.88) !important;
  backdrop-filter: blur(18px) saturate(1.2) !important;
  border-bottom: 1px solid rgba(143, 190, 99, 0.22) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35) !important;
  border-radius: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  transition: background var(--pk-transition, 0.35s ease), box-shadow var(--pk-transition, 0.35s ease);
}

body.pk-portal-nastym .modern-nav.is-scrolled {
  background: rgba(5, 12, 8, 0.95) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45) !important;
}

body.pk-portal-nastym .modern-nav::before {
  height: 2px !important;
  background: linear-gradient(90deg, transparent, #1faa3a, #8fbe63, #1faa3a, transparent) !important;
  animation: none !important;
}

body.pk-portal-nastym .nav-title,
body.pk-portal-nastym .nav-title-line {
  color: #e8f5e9 !important;
  font-family: var(--pk-font-display, "ProtestStrike", sans-serif) !important;
}

body.pk-portal-nastym .nav-link,
body.pk-portal-nastym .nav-category-toggle,
body.pk-portal-nastym .nav-link-mobile {
  color: rgba(232, 245, 233, 0.88) !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
  border-radius: var(--pk-radius-pill, 999px) !important;
}

body.pk-portal-nastym .nav-link:hover,
body.pk-portal-nastym .nav-category-toggle:hover {
  color: #fff !important;
  background: rgba(31, 170, 58, 0.2) !important;
}

body.pk-portal-nastym .hamburger-line {
  background: #e8f5e9 !important;
}

body.pk-portal-nastym .nav-links-mobile {
  background: rgba(7, 20, 12, 0.97) !important;
  border-color: rgba(143, 190, 99, 0.2) !important;
}

body.pk-portal-nastym .global-search-form .input {
  background-color: #0d5c1a !important;
  color: #fff !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
  border-radius: 50% !important;
  border: none !important;
  box-shadow: 0 0 3px #1faa3a !important;
}

body.pk-portal-nastym .global-search-form .icon:focus ~ .input,
body.pk-portal-nastym .global-search-form .input:focus,
body.pk-portal-nastym .global-search-form .input:valid {
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border-bottom: 3px solid #1faa3a !important;
}

body.pk-portal-nastym .global-search-form .input::placeholder {
  color: rgba(232, 245, 233, 0.55) !important;
}

body.pk-portal-nastym .nav-dropdown .dropdown-toggle,
body.pk-portal-nastym .nav-link.nav-link-portal,
body.pk-portal-nastym .nav-link-mobile-portal {
  background: linear-gradient(135deg, #1faa3a, #0d5c1a) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 8px 22px rgba(13, 92, 26, 0.4) !important;
}

body.pk-portal-nastym .nav-dropdown .dropdown-toggle:hover,
body.pk-portal-nastym .nav-link.nav-link-portal:hover {
  filter: brightness(1.08);
  transform: translateY(-1px) !important;
}

/* ----- Hero: full-bleed brand ----- */
body.pk-portal-nastym .hero-section {
  min-height: 0 !important;
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 2.5rem 1.5rem 0 !important;
  margin: 0 !important;
  position: relative !important;
  overflow: visible !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #e8f5e9 !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
  /* Pozadí samotné měkne do barvy stránky — žádná ostrá hrana boxu */
  background:
    radial-gradient(ellipse 90% 70% at 78% 22%, rgba(45, 212, 74, 0.35), transparent 55%),
    radial-gradient(ellipse 70% 55% at 10% 55%, rgba(13, 92, 26, 0.45), transparent 50%),
    linear-gradient(
      180deg,
      #04200e 0%,
      #0a4219 28%,
      #0f6b22 48%,
      #0c4f1c 62%,
      #1a6b2e 72%,
      #4a8f55 82%,
      #a8c9ad 90%,
      #dce8de 95%,
      #f3f7f4 100%
    ) !important;
  background-size: auto !important;
  animation: none !important;
  z-index: 1 !important;
}

/* Jemný dozvuk zelené pod herem (bez ostré linky) */
body.pk-portal-nastym .hero-section::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 100% !important;
  bottom: auto !important;
  height: clamp(48px, 8vw, 96px) !important;
  transform: none !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background: linear-gradient(
    to bottom,
    #f3f7f4 0%,
    rgba(243, 247, 244, 0.85) 40%,
    rgba(243, 247, 244, 0) 100%
  ) !important;
  opacity: 1 !important;
  animation: none !important;
  font-size: 0 !important;
}

body.pk-portal-nastym .hero-section::before {
  content: none !important;
  display: none !important;
}

body.pk-portal-nastym .hero-container {
  max-width: 1180px !important;
  width: 100% !important;
  margin: 0 auto clamp(3.5rem, 9vw, 6.5rem) !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
  gap: 1.5rem 2rem !important;
  align-items: center !important;
  position: relative !important;
  z-index: 3 !important;
  overflow: visible !important;
}

body.pk-portal-nastym .hero-content {
  order: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 1rem !important;
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  text-align: left !important;
  flex: none !important;
}

body.pk-portal-nastym .hero-text {
  text-align: left !important;
  flex: none !important;
}

body.pk-portal-nastym .hero-logo {
  order: 2 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  align-self: center !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 2 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 360px !important;
}

/* Zrušit staré absolute/rotate motto z nastym.css */
body.pk-portal-nastym .hero-motto-box {
  position: static !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  height: auto !important;
  width: auto !important;
  display: block !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 0.15rem !important;
  text-align: left !important;
  z-index: auto !important;
}

body.pk-portal-nastym .hero-motto-text {
  display: block !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
  font-size: clamp(1rem, 2vw, 1.35rem) !important;
  font-weight: 400 !important;
  color: #a8d978 !important;
  -webkit-text-fill-color: #a8d978 !important;
  opacity: 1 !important;
  letter-spacing: 0.03em !important;
  text-transform: lowercase !important;
  line-height: 1.35 !important;
  text-shadow: none !important;
  transform: none !important;
  text-align: left !important;
}

body.pk-portal-nastym .hero-title {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  font-size: clamp(2.75rem, 7vw, 5.25rem) !important;
  line-height: 0.95 !important;
  color: #fff !important;
  margin: 0 !important;
  text-shadow: 0 8px 40px rgba(0, 0, 0, 0.35) !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;
}

body.pk-portal-nastym .hero-subtitle {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  font-size: 1.15rem !important;
  color: rgba(232, 245, 233, 0.85) !important;
  margin: 0 !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;
}

body.pk-portal-nastym .hero-year {
  color: #2dd44a !important;
  font-weight: 400 !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
}

body.pk-portal-nastym .hero-cta-row {
  display: none !important;
}

body.pk-portal-nastym .hero-buttons {
  margin-top: 0.35rem !important;
  position: relative !important;
  z-index: 3 !important;
}

body.pk-portal-nastym .hero-buttons .example-2 .icon-content a {
  color: #e8f5e9 !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
}

body.pk-portal-nastym .hero-logo-img {
  width: 100% !important;
  max-width: 340px !important;
  height: auto !important;
  display: block !important;
  transform: none !important;
  filter: drop-shadow(0 14px 40px rgba(31, 170, 58, 0.4)) !important;
  animation: none !important;
}

body.pk-portal-nastym .hero-section.pk-hero-enter .hero-content {
  animation: pkHeroIn 0.75s var(--pk-ease, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

body.pk-portal-nastym .hero-section.pk-hero-enter .hero-logo {
  animation: pkHeroIn 0.75s 0.1s var(--pk-ease, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

@keyframes pkHeroIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.pk-portal-nastym .hero-section.pk-hero-enter .hero-content,
  body.pk-portal-nastym .hero-section.pk-hero-enter .hero-logo {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (max-width: 900px) {
  body.pk-portal-nastym .hero-section {
    min-height: auto !important;
    padding: 1.75rem 1.15rem 0 !important;
    overflow: visible !important;
  }
  body.pk-portal-nastym .hero-section::after {
    height: 64px !important;
    transform: none !important;
  }
  body.pk-portal-nastym .hero-container {
    margin-bottom: 3.5rem !important;
  }
  body.pk-portal-nastym .main-container {
    margin-top: -0.5rem !important;
    padding-top: 0.25rem !important;
  }
  body.pk-portal-nastym .hero-buttons {
    margin-bottom: 0.25rem !important;
  }
  body.pk-portal-nastym .hero-container {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 1.25rem !important;
    justify-items: center !important;
  }
  body.pk-portal-nastym .hero-logo {
    order: -1 !important;
    max-width: 220px !important;
    width: min(220px, 58vw) !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    opacity: 1 !important;
  }
  body.pk-portal-nastym .hero-logo-img {
    max-width: 220px !important;
    width: 100% !important;
    transform: none !important;
  }
  body.pk-portal-nastym .hero-motto-box,
  body.pk-portal-nastym .hero-content,
  body.pk-portal-nastym .hero-text {
    align-items: center !important;
    text-align: center !important;
  }
  body.pk-portal-nastym .hero-motto-text,
  body.pk-portal-nastym .hero-title,
  body.pk-portal-nastym .hero-subtitle {
    text-align: center !important;
  }
  body.pk-portal-nastym .hero-title {
    font-size: clamp(2.4rem, 12vw, 3.4rem) !important;
  }
}

@media (max-width: 480px) {
  body.pk-portal-nastym .hero-logo,
  body.pk-portal-nastym .hero-logo-img {
    max-width: 180px !important;
  }
  body.pk-portal-nastym .hero-section {
    padding: 1.5rem 1rem 1.75rem !important;
  }
}

/* Homepage – ProtestStrike jako hlavní font */
body.pk-portal-nastym,
body.pk-portal-nastym .nav-link,
body.pk-portal-nastym .nav-category-toggle,
body.pk-portal-nastym .nav-link-mobile,
body.pk-portal-nastym .nav-submenu-item,
body.pk-portal-nastym .dropdown-item,
body.pk-portal-nastym .card-title,
body.pk-portal-nastym .btn,
body.pk-portal-nastym .btn-primary,
body.pk-portal-nastym .ical-main-button,
body.pk-portal-nastym .next-match .opponent,
body.pk-portal-nastym .countdown-number,
body.pk-portal-nastym .countdown-label,
body.pk-portal-nastym .team-description,
body.pk-portal-nastym .stat-item,
body.pk-portal-nastym .card-content,
body.pk-portal-nastym .card-content p,
body.pk-portal-nastym .global-search-form .input {
  font-family: "ProtestStrike", Impact, sans-serif !important;
}

/* ----- Content below hero – široký 2–3 sloupcový grid ----- */
body.pk-portal-nastym .main-container {
  max-width: 1180px !important;
  width: 100% !important;
  margin: -2rem auto 0 !important;
  padding: 0 1.25rem 4rem !important;
  position: relative !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
}

body.pk-portal-nastym .content-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  width: 100% !important;
  align-items: start !important;
}

body.pk-portal-nastym .grid-column {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
  width: 100% !important;
  min-width: 0 !important;
  order: unset !important;
}

body.pk-portal-nastym .grid-column .card {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

@media (min-width: 721px) {
  body.pk-portal-nastym .grid-column .card {
    order: unset !important;
  }
}

body.pk-portal-nastym .card {
  background: #fff !important;
  border: 1px solid rgba(15, 31, 20, 0.08) !important;
  border-radius: var(--pk-radius-lg, 22px) !important;
  box-shadow: 0 12px 36px rgba(10, 22, 16, 0.08) !important;
  overflow: hidden !important;
  opacity: 1 !important;
  transform: none !important;
  transition: transform var(--pk-transition-fast, 0.2s ease), box-shadow var(--pk-transition, 0.35s ease) !important;
}

body.pk-portal-nastym .card.pk-reveal {
  opacity: 1 !important;
  transform: none !important;
}

body.pk-portal-nastym .card::before {
  display: none !important;
}

body.pk-portal-nastym .card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 48px rgba(10, 22, 16, 0.12) !important;
}

body.pk-portal-nastym .card-title {
  font-family: var(--pk-font-display, "ProtestStrike", sans-serif) !important;
  color: var(--pk-text, #0f1f14) !important;
  font-size: 1.35rem !important;
}

body.pk-portal-nastym .card-content,
body.pk-portal-nastym .team-description,
body.pk-portal-nastym .stat-item {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  color: var(--pk-text-muted, #3d5444) !important;
}

body.pk-portal-nastym .btn,
body.pk-portal-nastym .btn-primary {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  border-radius: var(--pk-radius-pill, 999px) !important;
  font-weight: 700 !important;
}

body.pk-portal-nastym .btn-primary,
body.pk-portal-nastym .ical-main-button {
  background: linear-gradient(135deg, #1faa3a, #0d5c1a) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(13, 92, 26, 0.3) !important;
}

body.pk-portal-nastym .next-match .opponent {
  font-family: var(--pk-font-display, "ProtestStrike", sans-serif) !important;
  font-size: clamp(1.5rem, 3vw, 2.1rem) !important;
  color: var(--pk-green-deep, #0d5c1a) !important;
}

body.pk-portal-nastym .countdown {
  background: linear-gradient(135deg, #0a1610, #0d5c1a) !important;
  border-radius: var(--pk-radius-md, 16px) !important;
  padding: 1.1rem !important;
}

body.pk-portal-nastym .countdown-number {
  color: #fff !important;
  font-family: var(--pk-font-display, "ProtestStrike", sans-serif) !important;
}

body.pk-portal-nastym .countdown-label {
  color: rgba(232, 245, 233, 0.7) !important;
}

body.pk-portal-nastym .modern-footer {
  background: #07140c !important;
  color: rgba(232, 245, 233, 0.75) !important;
  border-top: 1px solid rgba(143, 190, 99, 0.2) !important;
  font-family: var(--pk-font-ui, "ProtestStrike", Impact, sans-serif) !important;
  width: 100% !important;
  max-width: none !important;
}

@media (max-width: 1024px) {
  body.pk-portal-nastym .content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body.pk-portal-nastym .content-grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
  }

  body.pk-portal-nastym .grid-column {
    display: contents !important;
  }

  body.pk-portal-nastym .card[data-pk-card="about"] {
    order: var(--pk-ord-about, 1) !important;
  }

  body.pk-portal-nastym .card[data-pk-card="next-match"] {
    order: var(--pk-ord-next_match, 2) !important;
  }

  body.pk-portal-nastym .card[data-pk-card="table"] {
    order: var(--pk-ord-table, 3) !important;
  }

  body.pk-portal-nastym .card[data-pk-card="calendar"] {
    order: var(--pk-ord-calendar, 4) !important;
  }

  body.pk-portal-nastym .card[data-pk-card="news"] {
    order: var(--pk-ord-news, 5) !important;
  }

  body.pk-portal-nastym .card[data-pk-card="instagram"] {
    order: var(--pk-ord-instagram, 6) !important;
  }
}

/* ========== PUBLIC SUBPAGES ========== */
body.pk-portal-subpage {
  font-family: var(--pk-font-ui, "ProtestStrike", Impact, sans-serif) !important;
}

body.pk-portal-subpage .modern-header {
  background: rgba(7, 20, 12, 0.88) !important;
  backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(143, 190, 99, 0.22) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28) !important;
}

body.pk-portal-subpage .site-title {
  color: #e8f5e9 !important;
  font-family: var(--pk-font-display, "ProtestStrike", sans-serif) !important;
}

body.pk-portal-subpage .pk-public-brand-link {
  text-decoration: none;
  color: inherit;
}

body.pk-portal-subpage .header-nav a.nav-button.primary:not(.pk-portal-nav-toolbar-btn),
body.pk-portal-subpage .header-nav button.nav-button.primary:not(.pk-portal-nav-toolbar-btn) {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #e8f5e9 !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  font-family: var(--pk-font-ui, "ProtestStrike", Impact, sans-serif) !important;
}

body.pk-portal-subpage .header-nav a.nav-button.primary:not(.pk-portal-nav-toolbar-btn):hover {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
}

body.pk-portal-subpage .page-title,
body.pk-portal-subpage .squad-hero__title {
  font-family: var(--pk-font-display, "ProtestStrike", sans-serif) !important;
  color: var(--pk-text, #0f1f14) !important;
}

body.pk-portal-subpage .page-subtitle,
body.pk-portal-subpage .squad-hero__lead {
  font-family: var(--pk-font-ui, "ProtestStrike", Impact, sans-serif) !important;
  color: var(--pk-text-muted, #3d5444) !important;
}

body.pk-portal-subpage .content-container,
body.pk-portal-subpage .page-content-block {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(15, 31, 20, 0.08) !important;
  border-radius: var(--pk-radius-lg, 22px) !important;
  box-shadow: var(--pk-shadow-soft) !important;
  padding: 1.75rem !important;
}

body.pk-portal-subpage .main-content {
  padding: 2rem 1.25rem 3.5rem !important;
}

/* ========== PORTAL ========== */
body.pk-portal-page,
body.pk-portal-hrac {
  font-family: var(--pk-font-ui, "ProtestStrike", Impact, sans-serif) !important;
}

body.pk-portal-page .modern-header,
body.pk-portal-hrac .modern-header {
  background: rgba(7, 20, 12, 0.9) !important;
  backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(143, 190, 99, 0.22) !important;
}

body.pk-portal-page .site-title,
body.pk-portal-hrac .site-title {
  color: #e8f5e9 !important;
  font-family: var(--pk-font-display, "ProtestStrike", sans-serif) !important;
}

body.pk-portal-hrac .pk-portal-nav-tile,
body.pk-portal-hrac .nav-tile {
  border-radius: var(--pk-radius-md, 16px) !important;
  transition: transform var(--pk-transition-fast), box-shadow var(--pk-transition) !important;
}

body.pk-portal-hrac .pk-portal-nav-tile:hover,
body.pk-portal-hrac .nav-tile:hover {
  transform: translateY(-2px);
}

body.pk-portal-page .login-card {
  border-radius: var(--pk-radius-lg, 22px) !important;
  box-shadow: var(--pk-shadow-lift) !important;
  border: 1px solid rgba(15, 31, 20, 0.08) !important;
}

body.pk-portal-hrac .section-nav--tiles .nav-tile,
body.pk-portal-hrac .section-nav--tiles a {
  font-family: var(--pk-font-ui, "ProtestStrike", Impact, sans-serif) !important;
}

body.pk-portal-hrac .modern-header .nav-button.primary {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #e8f5e9 !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}

body.pk-portal-hrac .modern-header .nav-button.danger {
  background: rgba(220, 38, 38, 0.18) !important;
  color: #fecaca !important;
  border-color: rgba(248, 113, 113, 0.35) !important;
  border-radius: 999px !important;
}

body.pk-portal-hrac .profile-wrapper,
body.pk-portal-hrac .matches-wrapper,
body.pk-portal-hrac .stats-wrapper,
body.pk-portal-hrac .trophies-wrapper {
  transition: transform var(--pk-transition-fast, 0.2s ease), box-shadow var(--pk-transition, 0.35s ease);
}

body.pk-portal-page .header-nav .nav-button.primary {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #e8f5e9 !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}

body.pk-portal-subpage .header-nav a.nav-button.secondary:not(.pk-portal-nav-toolbar-btn),
body.pk-portal-subpage .header-nav button.nav-button.secondary:not(.pk-portal-nav-toolbar-btn) {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #e8f5e9 !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  font-family: var(--pk-font-ui, "ProtestStrike", Impact, sans-serif) !important;
}

body.pk-portal-subpage .header-nav a.nav-button.secondary:not(.pk-portal-nav-toolbar-btn):hover {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #fff !important;
}

/* Avoid double white boxes on squad/content when DS already styles wrappers */
body.pk-portal-subpage .content-container.content-container--squad {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* ========== SITE-WIDE UNIFY (public + portal) ========== */
body.pk-portal-subpage,
body.pk-portal-page,
body.pk-portal-hrac:not(.portal-birthday-bg):not(.portal-emoji-bg):not(.portal-match-bg):not(.portal-tournament-bg):not(.portal-akce-bg):not(.portal-xmas-bg):not(.portal-ny-bg):not(.portal-easter-bg) {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  color: var(--pk-text, #0f1f14) !important;
  background:
    radial-gradient(ellipse 80% 50% at 100% 0%, rgba(31, 170, 58, 0.14), transparent 55%),
    radial-gradient(ellipse 60% 40% at 0% 100%, rgba(13, 92, 26, 0.1), transparent 50%),
    radial-gradient(ellipse 50% 30% at 50% 50%, rgba(143, 190, 99, 0.08), transparent 60%),
    linear-gradient(180deg, #e8f2ea 0%, #f3f7f4 40%, #eef5f0 100%) !important;
  background-size: auto !important;
  animation: none !important;
}

body.pk-portal-subpage,
body.pk-portal-page,
body.pk-portal-hrac {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  color: var(--pk-text, #0f1f14) !important;
}

body.pk-portal-subpage::after,
body.pk-portal-page::after,
body.pk-portal-hrac::after {
  display: none !important;
}

/* Shared dark chrome */
body.pk-portal-subpage .modern-header,
body.pk-portal-page .modern-header,
body.pk-portal-hrac .modern-header {
  background: rgba(7, 20, 12, 0.92) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(143, 190, 99, 0.22) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28) !important;
}

body.pk-portal-subpage .site-title,
body.pk-portal-page .site-title,
body.pk-portal-hrac .site-title {
  color: #e8f5e9 !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
}

body.pk-portal-subpage .header-nav .nav-button,
body.pk-portal-page .header-nav .nav-button,
body.pk-portal-hrac .header-nav .nav-button {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  border-radius: 999px !important;
}

body.pk-portal-page .header-nav a.nav-button.primary:not(.pk-portal-nav-toolbar-btn),
body.pk-portal-page .header-nav button.nav-button.primary:not(.pk-portal-nav-toolbar-btn),
body.pk-portal-hrac .header-nav a.nav-button.primary:not(.pk-portal-nav-toolbar-btn),
body.pk-portal-hrac .header-nav button.nav-button.primary:not(.pk-portal-nav-toolbar-btn),
body.pk-portal-page .header-nav a.nav-button.secondary:not(.pk-portal-nav-toolbar-btn),
body.pk-portal-page .header-nav button.nav-button.secondary:not(.pk-portal-nav-toolbar-btn),
body.pk-portal-hrac .header-nav a.nav-button.secondary:not(.pk-portal-nav-toolbar-btn),
body.pk-portal-hrac .header-nav button.nav-button.secondary:not(.pk-portal-nav-toolbar-btn) {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #e8f5e9 !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}

body.pk-portal-page .header-nav a.nav-button.primary:not(.pk-portal-nav-toolbar-btn):hover,
body.pk-portal-hrac .header-nav a.nav-button.primary:not(.pk-portal-nav-toolbar-btn):hover,
body.pk-portal-page .header-nav a.nav-button.secondary:not(.pk-portal-nav-toolbar-btn):hover,
body.pk-portal-hrac .header-nav a.nav-button.secondary:not(.pk-portal-nav-toolbar-btn):hover {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
}

/* Page titles & section heads */
body.pk-portal-subpage .page-title,
body.pk-portal-subpage .squad-hero__title,
body.pk-portal-subpage h1,
body.pk-portal-page h1,
body.pk-portal-hrac h1,
body.pk-portal-page .page-title,
body.pk-portal-hrac .page-title {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  color: var(--pk-text, #0f1f14) !important;
  letter-spacing: 0.02em;
}

body.pk-portal-subpage h2,
body.pk-portal-subpage h3,
body.pk-portal-page h2,
body.pk-portal-page h3,
body.pk-portal-hrac h2,
body.pk-portal-hrac h3,
body.pk-portal-subpage .card-title,
body.pk-portal-page .card-title,
body.pk-portal-hrac .card-title,
body.pk-portal-hrac .section-title,
body.pk-portal-page .section-title {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  color: var(--pk-text, #0f1f14) !important;
}

/* Soft white surfaces (cards / panels) – ne na každý grid item (galerie/fotky) */
body.pk-portal-subpage .content-container:not(.content-container--squad),
body.pk-portal-subpage .page-content-block,
body.pk-portal-subpage .stats-card,
body.pk-portal-subpage .stat-card,
body.pk-portal-subpage .player-card,
body.pk-portal-subpage .match-card,
body.pk-portal-subpage .result-card,
body.pk-portal-subpage .news-card,
body.pk-portal-subpage .novinky-card,
body.pk-portal-subpage .novinky-single,
body.pk-portal-subpage .product-card,
body.pk-portal-subpage .contact-card,
body.pk-portal-subpage .trophy-card,
body.pk-portal-subpage .award-card,
body.pk-portal-subpage .multimedia-card,
body.pk-portal-subpage .hlasovani-karta,
body.pk-portal-subpage .hlasovani-poznamka,
body.pk-portal-page .content-container,
body.pk-portal-page .profile-card,
body.pk-portal-page .login-card,
body.pk-portal-hrac .profile-card,
body.pk-portal-hrac .matches-wrapper,
body.pk-portal-hrac .stats-wrapper,
body.pk-portal-hrac .trophies-wrapper,
body.pk-portal-hrac .profile-wrapper,
body.pk-portal-hrac .section-panel,
body.pk-portal-page .pokladna-card,
body.pk-portal-page .vybaveni-card,
body.pk-portal-page .card {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(15, 31, 20, 0.08) !important;
  border-radius: var(--pk-radius-lg, 22px) !important;
  box-shadow: 0 12px 36px rgba(10, 22, 16, 0.08) !important;
}

/* Primary actions */
body.pk-portal-subpage .btn-primary,
body.pk-portal-subpage .btn.primary,
body.pk-portal-subpage button.primary,
body.pk-portal-subpage .ical-main-button,
body.pk-portal-subpage .cta-button,
body.pk-portal-page .btn-primary,
body.pk-portal-page button[type="submit"]:not(.pk-ui3d-submit),
body.pk-portal-hrac .btn-primary,
body.pk-portal-hrac button[type="submit"]:not(.nav-button):not(.pk-portal-nav-toolbar-btn):not(.pk-ui3d-submit),
body.pk-portal-page .login-button {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  background: linear-gradient(135deg, #1faa3a, #0d5c1a) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 28px rgba(13, 92, 26, 0.3) !important;
}

body.pk-portal-subpage .btn-primary:hover,
body.pk-portal-page .btn-primary:hover,
body.pk-portal-page .login-button:hover,
body.pk-portal-hrac .btn-primary:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

/* Tables */
body.pk-portal-subpage table,
body.pk-portal-page table,
body.pk-portal-hrac table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  overflow: hidden;
  border-radius: var(--pk-radius-md, 16px);
}

body.pk-portal-subpage thead th,
body.pk-portal-page thead th,
body.pk-portal-hrac thead th {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  background: linear-gradient(135deg, #0a1610, #0d5c1a) !important;
  color: #e8f5e9 !important;
  border: none !important;
  padding: 0.85rem 1rem !important;
}

body.pk-portal-subpage tbody td,
body.pk-portal-page tbody td,
body.pk-portal-hrac tbody td {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  border-color: rgba(15, 31, 20, 0.08) !important;
  color: var(--pk-text, #0f1f14) !important;
}

body.pk-portal-subpage tbody tr:nth-child(even),
body.pk-portal-page tbody tr:nth-child(even),
body.pk-portal-hrac tbody tr:nth-child(even) {
  background: rgba(143, 190, 99, 0.06) !important;
}

/* Forms */
body.pk-portal-subpage input,
body.pk-portal-subpage select,
body.pk-portal-subpage textarea,
body.pk-portal-page input,
body.pk-portal-page select,
body.pk-portal-page textarea,
body.pk-portal-hrac input,
body.pk-portal-hrac select,
body.pk-portal-hrac textarea {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  border-radius: var(--pk-radius-sm, 10px) !important;
  border: 1px solid rgba(15, 31, 20, 0.14) !important;
}

body.pk-portal-subpage input:focus,
body.pk-portal-subpage select:focus,
body.pk-portal-subpage textarea:focus,
body.pk-portal-page input:focus,
body.pk-portal-page select:focus,
body.pk-portal-page textarea:focus,
body.pk-portal-hrac input:focus,
body.pk-portal-hrac select:focus,
body.pk-portal-hrac textarea:focus {
  outline: none !important;
  border-color: rgba(31, 170, 58, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(31, 170, 58, 0.18) !important;
}

/* Footer */
body.pk-portal-subpage .modern-footer,
body.pk-portal-page .modern-footer,
body.pk-portal-hrac .modern-footer {
  background: #07140c !important;
  color: rgba(232, 245, 233, 0.75) !important;
  border-top: 1px solid rgba(143, 190, 99, 0.2) !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Portal login polish – wrapper je jen layout, karta je .login-card */
body.pk-portal-page .login-wrapper {
  max-width: none;
  margin: 0 auto;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.pk-portal-page .login-wrapper h1,
body.pk-portal-page .login-wrapper h2,
body.pk-portal-page .login-card h1,
body.pk-portal-page .login-card h2 {
  color: var(--pk-green-deep, #0d5c1a) !important;
}

/* Portal nav tiles */
body.pk-portal-hrac .section-nav--tiles .nav-tile,
body.pk-portal-hrac .pk-portal-nav-tile,
body.pk-portal-hrac .nav-tile {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(15, 31, 20, 0.08) !important;
  border-radius: var(--pk-radius-md, 16px) !important;
  box-shadow: 0 8px 24px rgba(10, 22, 16, 0.06) !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
  color: var(--pk-text, #0f1f14) !important;
}

body.pk-portal-hrac .section-nav--tiles .nav-tile:hover,
body.pk-portal-hrac .pk-portal-nav-tile:hover,
body.pk-portal-hrac .nav-tile:hover {
  border-color: rgba(31, 170, 58, 0.35) !important;
  box-shadow: 0 12px 32px rgba(13, 92, 26, 0.12) !important;
}

body.pk-portal-hrac .pk-hlasovani-banner {
  background: linear-gradient(135deg, #0a1610, #0d5c1a) !important;
  border-radius: var(--pk-radius-lg, 22px) !important;
  color: #e8f5e9 !important;
  border: 1px solid rgba(143, 190, 99, 0.28) !important;
}

/* Accents – green links in content (ne header/footer) */
body.pk-portal-subpage .main-content a:not(.nav-button):not(.btn):not(.btn-primary):not(.filter-btn):not(.tab-btn),
body.pk-portal-page .main-content a:not(.nav-button):not(.btn):not(.login-button),
body.pk-portal-hrac .main-content a:not(.nav-button):not(.btn):not(.nav-tile) {
  color: var(--pk-green-deep, #0d5c1a);
}

body.pk-portal-subpage .modern-footer a,
body.pk-portal-page .modern-footer a,
body.pk-portal-hrac .modern-footer a {
  color: rgba(232, 245, 233, 0.85) !important;
}

body.pk-portal-subpage .badge,
body.pk-portal-subpage .tag,
body.pk-portal-subpage .status-badge,
body.pk-portal-hrac .badge,
body.pk-portal-hrac .position-badge {
  border-radius: 999px !important;
}

/* Filters / tabs */
body.pk-portal-subpage .filter-btn,
body.pk-portal-subpage .tab-btn,
body.pk-portal-subpage .season-btn,
body.pk-portal-page .filter-btn,
body.pk-portal-hrac .filter-btn {
  font-family: "ProtestStrike", Impact, sans-serif !important;
  border-radius: 999px !important;
}

body.pk-portal-subpage .filter-btn.active,
body.pk-portal-subpage .tab-btn.active,
body.pk-portal-subpage .season-btn.active {
  background: linear-gradient(135deg, #1faa3a, #0d5c1a) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* Mobile spacing */
@media (max-width: 768px) {
  body.pk-portal-subpage .main-content,
  body.pk-portal-page .main-content,
  body.pk-portal-hrac .main-content {
    padding-left: 0.85rem !important;
    padding-right: 0.85rem !important;
  }

  body.pk-portal-subpage .content-container:not(.content-container--squad),
  body.pk-portal-subpage .page-content-block {
    padding: 1.15rem !important;
  }
}
