/*
Theme Name: Lider Boxing Child
Theme URI: https://liderboxing.pl
Description: Child theme for Astra tailored to Lider Boxing Club.
Author: Lider Boxing Club
Template: astra
Version: 1.0.0
Text Domain: lider-boxing-child
*/

:root {
  --lider-black: #0b0b0b;
  --lider-white: #ffffff;
  --lider-red: #c00000;
  --lider-red-hover: #ff2b2b;
  --lider-ink-strong: #ffffff;
  --lider-ink-soft: #f2f4f7;
}

body {
  background: var(--lider-black);
  color: var(--lider-ink-soft);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-weight: 500;
  text-rendering: optimizeLegibility;
}

/*
 * Astra / Spectra: „drugi kolor” globalny to często szary (#575e66) — na czarnym tle jest nieczytelny.
 * Podbijamy kontrast treści i nagłówków (WCAG).
 */
:root {
  /* Tekst drugorzędny na czerni — musi być jasnoszary, nie #666 */
  --ast-global-color-2: #f0f2f5 !important;
  --ast-global-color-3: #ffffff !important;
  --ast-global-color-4: #f5f7fa !important;
  --ast-global-color-5: #ffffff !important;
}

html {
  color-scheme: dark;
}

/* === Treść główna: twarde minimum kontrastu (nadpisuje inline Spectry / bloków) === */
#page,
#primary,
.site-content,
.ast-separate-container .ast-article-single,
.ast-plain-container .site-content,
.ast-page-builder-template .site-content,
.ast-plain-container #primary {
  color: #eef1f5 !important;
}

.entry-content,
.ast-article-inner .entry-content,
.wp-block-group,
.wp-block-columns,
.wp-block-column {
  color: #eef1f5 !important;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.wp-block-heading {
  color: var(--lider-ink-strong) !important;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.entry-content p,
.entry-content li,
.entry-content td,
.entry-content th,
.entry-content figcaption,
.entry-content blockquote,
.entry-content cite,
.wp-block-quote,
.wp-block-list {
  color: var(--lider-ink-soft) !important;
  font-weight: 600;
}

/* Bloki z inline color z palety Astry (często zapisane w atrybucie style) */
[style*="ast-global-color-2"],
[style*="ast-global-color-4"],
[style*="ast-global-color-5"],
.has-ast-global-color-2-color,
.has-ast-global-color-4-color,
.has-ast-global-color-5-color {
  color: #eceff4 !important;
}

/* Spectra / UAGB — pełne pokrycie */
.uagb-ifb-desc,
.uagb-ifb-title,
.uagb-ifb-title-wrap .uagb-ifb-title,
.wp-block-uagb-info-box .uagb-ifb-desc,
.wp-block-uagb-info-box .uagb-ifb-title,
.uagb-tabs__body,
.uagb-tab-desc,
[class*="uagb-"] p {
  color: #e8ecf2 !important;
}

/* Nagłówek Astry / menu — nie szary „ghost” */
.ast-primary-header,
.site-header,
.main-header-menu a,
.ast-header-navigation a,
.ast-builder-menu a {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.ast-builder-menu .menu-link:hover,
.main-header-menu .menu-link:hover {
  color: #ff4b4b !important;
}

.ast-builder-menu .menu-link,
.main-header-menu .menu-link {
  position: relative;
  transition: color 0.2s ease, text-shadow 0.2s ease;
}

.ast-builder-menu .menu-link::after,
.main-header-menu .menu-link::after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 2px;
  height: 2px;
  background: #ff2b2b;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.2s ease;
}

.ast-builder-menu .menu-link:hover::after,
.main-header-menu .menu-link:hover::after,
.ast-builder-menu .current-menu-item > .menu-link::after,
.main-header-menu .current-menu-item > .menu-link::after,
.ast-builder-menu .menu-link.lider-menu-active::after,
.main-header-menu .menu-link.lider-menu-active::after {
  transform: scaleX(1);
}

.ast-builder-menu .menu-link.lider-menu-active,
.main-header-menu .menu-link.lider-menu-active {
  color: #ffffff !important;
  text-shadow: 0 0 18px rgba(255, 43, 43, 0.38);
}

/* Smash Balloon Facebook */
#cff,
.cff-wrapper,
.cff-item,
.cff-post-text,
.cff-text,
.cff-author,
.cff-date,
.cff-link-title {
  color: #e6eaf0 !important;
}

/* Przyciski Gutenberg — jasny tekst */
.wp-block-button__link,
.wp-element-button {
  color: #ffffff !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  color: #ffe0e0 !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
}

.lider-home-hero-content .wp-block-button__link {
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.lider-home-hero-content .wp-block-button__link:hover,
.lider-home-hero-content .wp-block-button__link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(192, 0, 0, 0.35);
}

/* Lighthouse/axe: demo Astry używa #444 na czerni — ~2:1 kontrast (FAIL) */
.has-ast-global-color-3-color,
.ast-global-color-3,
.entry-content .has-ast-global-color-3-color,
.uagb-ifb-desc.has-ast-global-color-3-color,
.wp-block-paragraph.has-ast-global-color-3-color {
  color: #e2e7ef !important;
}

/* Czarny tekst z inline style na tle #111 (sekcja trenera itd.) */
[style*="color:#0b0b0b"],
[style*="color: #0b0b0b"],
[style*="color:rgb(11, 11, 11)"],
[style*="color:rgb(11,11,11)"] {
  color: #f0f3f7 !important;
}

#trener .wp-block-heading,
.lider-home-trainer .wp-block-heading,
.lider-home-trainer h2 {
  color: #ffffff !important;
}

/* CFF / małe metadane — nie #444 */
.cff-wrapper .cff-date,
.cff-wrapper .cff-author,
.cff-wrapper .cff-post-text,
.cff-wrapper span {
  color: #dce2eb !important;
}

.cff-wrapper a:not(.wp-block-button__link),
.cff-viewpost-facebook {
  color: #ff9c9c !important;
}

/* --- Stopka + pasek copyright: twardy kontrast (nadpisuje inline Astry / Spectry) --- */
#colophon,
#colophon.site-footer,
.site-footer.primary-footer-active,
.ast-below-footer-wrap,
.site-below-footer-wrap,
.ast-footer-copyright,
.ast-small-footer {
  color: #f2f4f7 !important;
}

.ast-builder-footer-row,
.ast-builder-grid-row-layout-footer,
.site-footer .footer-widget-area,
.site-footer .widget {
  color: #eef1f4 !important;
}

.site-footer .widget-title,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
.site-footer .wp-block-heading {
  color: #ffffff !important;
}

.site-footer p,
.site-footer li,
.site-footer .wp-block-list,
.site-footer .wp-block-paragraph,
.site-footer .footer-widget-area .textwidget,
.site-footer .footer-widget-area .widget_text {
  color: #e8eaed !important;
}

/* Stopka: totalny kontrast (bez szarości) */
#colophon,
#colophon *,
.site-footer,
.site-footer *,
.ast-below-footer-wrap,
.ast-below-footer-wrap * {
  color: #ffffff !important;
}

#colophon a,
.site-footer a,
.ast-below-footer-wrap a {
  color: #ff2b2b !important;
}

#colophon,
.site-footer,
.ast-below-footer-wrap,
.site-below-footer-wrap {
  background: #000000 !important;
  border-color: #000000 !important;
}

footer#colophon,
footer#colophon .ast-builder-grid-row-container,
footer#colophon .ast-builder-grid-row,
footer#colophon .site-primary-footer-wrap,
footer#colophon .ast-builder-footer-wrap,
footer#colophon [data-section="section-primary-footer-builder"],
footer#colophon [data-section="section-below-footer-builder"] {
  background-color: #000000 !important;
  background-image: none !important;
}

.site-footer .has-background,
.site-footer [style*="background-color"],
#colophon .has-background,
#colophon [style*="background-color"] {
  background-color: #000000 !important;
  background-image: none !important;
}

footer#colophon [style*="background-color" i],
footer#colophon [style*="background:" i],
footer#colophon .has-background {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

/* Brute-force footer contrast */
footer#colophon,
footer#colophon * {
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffffff !important;
}

footer#colophon a {
  color: #ff2b2b !important;
}

footer#colophon input,
footer#colophon textarea {
  background-color: #111111 !important;
  color: #ffffff !important;
  border-color: #333333 !important;
}

footer#colophon .wp-block-button__link,
footer#colophon .wp-element-button {
  background: #c00000 !important;
  color: #ffffff !important;
  border-color: #c00000 !important;
}

/* Wyłącz stary, szary footer z demo Astry */
.site-footer,
#colophon,
.ast-theme-footer,
.ast-footer-wrap {
  display: none !important;
}

#colophon,
footer#colophon,
.site-footer.primary-footer-active,
.ast-builder-footer-wrap,
.site-primary-footer-wrap,
.ast-below-footer-wrap,
.site-below-footer-wrap {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* Nowa, czysta stopka */
.lider-clean-footer {
  background: #000000;
  color: #ffffff;
  border-top: 1px solid #1a1a1a;
  padding: 22px 20px 26px;
  text-align: center;
}

.lider-clean-footer p {
  margin: 6px 0;
  color: #ffffff !important;
  font-weight: 600;
}

.lider-clean-footer a {
  color: #ff2b2b !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

#colophon p,
#colophon li,
#colophon span,
.site-footer p,
.site-footer li,
.site-footer span {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.site-footer a,
#colophon a,
.ast-small-footer a {
  color: #ff4b4b !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.site-footer a:hover,
.site-footer a:focus,
.site-footer a:focus-visible,
#colophon a:hover,
#colophon a:focus,
#colophon a:focus-visible {
  color: #ffffff !important;
  outline: 2px solid rgba(255, 255, 255, 0.6);
  outline-offset: 2px;
}

/* Menu w stopce */
.site-footer .menu-link,
.site-footer .footer-navigation a,
.ast-footer-menu a {
  color: #ffd0d0 !important;
}

.site-footer .wp-block-site-logo img,
.site-footer .custom-logo {
  opacity: 1;
  filter: none;
}

/* Blok site-logo w stopce — czytelny rozmiar */
.site-footer .wp-block-site-logo img,
.site-footer .wp-block-site-logo .custom-logo {
  max-height: 72px;
  width: auto;
  height: auto;
}

/* (scalone wyżej — kontrast treści) */

.entry-content p.has-text-color,
.entry-content .has-ast-global-color-2-color {
  color: #eceff4 !important;
}

/* Sekcja trenera (strona główna — lider-rebuild-homepage.php) */
.lider-home-trainer .lider-home-trainer__photo img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.lider-home-trainer h2,
.lider-home-trainer h5 {
  color: #ffffff !important;
}

/* Trener: wymuszamy jasny tekst (motyw / Spectra potrafią dać czarny na #111) */
#trener,
.lider-home-trainer,
#trener .wp-block-column,
.lider-home-trainer .wp-block-column {
  color: #eef2f7 !important;
}

#trener p,
#trener li,
#trener .wp-block-list,
.lider-home-trainer p,
.lider-home-trainer li,
.lider-home-trainer .wp-block-list {
  color: #e8ecf2 !important;
}

#trener h2,
#trener h5,
.lider-home-trainer h2,
.lider-home-trainer h5 {
  color: #ffffff !important;
}

#trener strong,
.lider-home-trainer strong {
  color: #ffffff !important;
}

#trener a:not(.wp-block-button__link),
.lider-home-trainer a:not(.wp-block-button__link) {
  color: #ffb3b3 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.lider-home-trainer .wp-block-list li {
  margin-bottom: 0.35em;
}

/* Sekcja „Grupy i godziny” — bez covera; podglądy grafik/cennik z IMG */
.lider-home-schedule {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.lider-home-schedule .lider-home-schedule-list li {
  margin-bottom: 0.65em;
  line-height: 1.45;
}

.lider-home-schedule .lider-home-schedule__img img {
  width: 100%;
  height: auto;
  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}

.lider-home-schedule .lider-home-schedule__img figcaption,
.lider-home-schedule .wp-element-caption {
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700;
  margin-top: 0.5rem;
}

.lider-home-schedule .lider-home-schedule__img figcaption a,
.lider-home-schedule .wp-element-caption a {
  color: #ff4b4b !important;
  text-decoration: underline;
}

/* Hero split: trener po prawej, ciemny blur i cinematic look */
.lider-home-hero-split {
  position: relative;
  isolation: isolate;
  background-image: var(--trainer-image);
  background-repeat: no-repeat;
  background-position: right 0 bottom;
  background-size: clamp(260px, 34vw, 520px) auto;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.lider-home-hero-split::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.84) 34%, rgba(0, 0, 0, 0.66) 56%, rgba(0, 0, 0, 0.5) 100%);
  z-index: -2;
}

.lider-home-hero-split::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 100% 50%, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0) 48%),
    radial-gradient(circle at 0% 50%, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0) 58%);
  backdrop-filter: blur(2px);
  z-index: -1;
}

.lider-home-hero-content {
  margin-left: 0;
  margin-right: auto;
  max-width: 680px;
}

@media (max-width: 920px) {
  .lider-home-hero-split {
    background-size: clamp(200px, 40vw, 340px) auto;
    background-position: right -10px bottom;
  }
}

@media (max-width: 640px) {
  .lider-home-hero-split {
    background-size: 0 0;
    background-image: none;
  }
}

.lider-clean-footer .lider-fb-social-proof {
  margin: 14px auto 0;
  justify-content: center;
  max-width: 760px;
}

.lider-clean-footer .lider-fb-social-proof__item {
  min-width: 170px;
}

.lider-fb-social-proof {
  display: none;
}

.lider-footer-proof-wrap .lider-fb-social-proof {
  display: flex;
}

.lider-footer-proof-wrap .lider-fb-social-proof {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
}

.lider-footer-proof-wrap .lider-fb-social-proof__item {
  min-width: 150px;
  background: #0f0f0f;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  padding: 10px 12px;
}

.lider-footer-proof-wrap .lider-fb-social-proof__item strong {
  display: block;
  color: #ffffff;
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 900;
}

.lider-footer-proof-wrap .lider-fb-social-proof__item span {
  display: block;
  margin-top: 2px;
  color: #f2f4f7;
  font-size: 0.88rem;
  font-weight: 700;
}

.lider-footer-proof-wrap .lider-fb-social-proof__quote {
  width: 100%;
  margin: 2px 0 0;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.95rem;
}

.lider-fb-recent-texts {
  margin: 14px auto 18px;
  max-width: 980px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.lider-fb-recent-texts li {
  border-left: 3px solid #c00000;
  background: #0f0f0f;
  color: #ffffff;
  font-weight: 600;
  padding: 10px 12px;
}

/* Oferta treningowa: twardy kontrast (na czarnym tle bez szarości) */
#training,
#training .wp-block-column,
#training p,
#training li {
  color: #f2f4f7 !important;
}

#training h2,
#training h5 {
  color: #ffffff !important;
}

#training a:not(.wp-block-button__link) {
  color: #ff4b4b !important;
}

/* Treningi: wymuszenie kontrastu na wszystkich elementach tekstowych */
#training *:not(.wp-block-button__link):not(.wp-element-button):not(svg):not(path) {
  color: #ffffff !important;
}

/* O klubie: jasny tekst, bez szarzenia */
#about,
#about .wp-block-column,
#about p,
#about li {
  color: #f2f4f7 !important;
}

#about h2,
#about h5 {
  color: #ffffff !important;
}

/* Header logo: czytelność na czarnym tle */
.custom-logo-link img.custom-logo,
.site-branding .custom-logo,
.ast-site-identity .custom-logo {
  max-height: 74px;
  width: auto;
  filter: drop-shadow(0 0 0.35rem rgba(0, 0, 0, 0.65));
}

.entry-content .wp-block-image img {
  border-radius: 14px;
}

.premium-hero {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 28px;
}

.premium-hero-photo .premium-hero-overlay {
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 28px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.78) 100%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  padding: 18px 20px;
}

.premium-hero-photo .premium-hero-overlay h1 {
  margin: 10px 0 6px;
  color: #fff;
  font-size: clamp(28px, 4vw, 52px);
}

.premium-hero-photo .premium-hero-overlay p {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
}

.premium-hero img {
  width: 100%;
  max-height: 560px;
  object-fit: cover;
  filter: saturate(1.1) contrast(1.05);
}

.premium-badge {
  display: inline-block;
  background: var(--lider-red);
  color: #fff;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.premium-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin: 18px 0 24px;
}

.premium-card {
  background: linear-gradient(180deg, #161616 0%, #101010 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 16px;
}

.premium-card h3 {
  margin-top: 0;
  color: #fff;
}

.premium-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0 24px;
}

.premium-cta {
  display: inline-block;
  background: var(--lider-red);
  color: #fff;
  padding: 11px 16px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
}

.premium-cta.alt {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.floating-call-btn {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  background: var(--lider-red);
  color: #fff !important;
  text-decoration: none;
  font-weight: 700;
  border-radius: 999px;
  padding: 12px 16px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.36);
}

.reveal-on-scroll {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.reveal-on-scroll.revealed {
  opacity: 1 !important;
  transform: none !important;
}

/* Hero i sekcje główne: absolutny priorytet czytelności */
.lider-home-hero h1,
.lider-home-hero p,
.lider-home-hero .wp-block-heading,
.lider-home-hero .wp-block-paragraph,
.lider-home-hero .wp-block-cover__inner-container p {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}

#about .wp-block-heading,
#about p,
#training .wp-block-heading,
#training p,
#training li {
  color: #ffffff !important;
}

/* ABSOLUTNY kontrast: zero szarego tekstu na czarnym tle */
body,
.entry-content,
.entry-content p,
.entry-content li,
.entry-content span,
.entry-content strong,
.entry-content em,
.entry-content small,
.entry-content blockquote,
.entry-content cite,
.entry-content figcaption,
.wp-block-group,
.wp-block-column,
.wp-block-list,
.wp-block-heading {
  color: #ffffff !important;
}

/* Ciemne sekcje - wszystko białe, linki czerwone */
#about *,
#training *,
#trener *,
#grupy-godziny *,
.lider-home-hero *,
.has-background[style*="background-color:#0b0b0b"] *,
.has-background[style*="background-color:#111111"] *,
.has-background[style*="background-color:#141414"] * {
  color: #ffffff !important;
}

#about a,
#training a,
#trener a,
#grupy-godziny a,
.lider-home-hero a {
  color: #ff3b3b !important;
}

/* Najczęstsze szarości z Astry/Spectry - brutalne nadpisanie */
[style*="color:#575e66"],
[style*="color: #575e66"],
[style*="color:#444"],
[style*="color: #444"],
[style*="color:#666"],
[style*="color: #666"],
[style*="color:#777"],
[style*="color: #777"],
[style*="color:rgb(87,94,102)"],
[style*="color: rgb(87, 94, 102)"] {
  color: #ffffff !important;
}

/* Jeśli jakiś blok przyciemnia tekst przez opacity - reset */
.entry-content [style*="opacity:0."],
.entry-content [style*="opacity: 0."] {
  opacity: 1 !important;
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}

.testimonial-card {
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 16px;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.pricing-card {
  background: linear-gradient(180deg, #161616 0%, #0f0f0f 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 18px;
}

.pricing-card .price {
  font-size: 28px;
  font-weight: 800;
  color: #fff;
}

/*
 * Globalne linki: czerwień #c00000 na #0b0b0b = słaby kontrast.
 * Jasny koral + hover — czytelne na czerni (treść + stopka).
 */
a:not(.wp-block-button__link):not(.wp-element-button):not(.custom-logo-link):not(.floating-call-btn):not(.ast-button) {
  color: #ffb0b0 !important;
  text-underline-offset: 2px;
}

a:not(.wp-block-button__link):not(.wp-element-button):not(.custom-logo-link):not(.floating-call-btn):not(.ast-button):hover,
a:not(.wp-block-button__link):not(.wp-element-button):not(.custom-logo-link):not(.floating-call-btn):not(.ast-button):focus-visible {
  color: #ffffff !important;
}

/* The Events Calendar - dark look */
.tribe-common,
.tribe-events,
.tribe-events-schedule,
.tribe-events-calendar,
.tribe-events .tribe-events-c-top-bar {
  background: var(--lider-black) !important;
  color: var(--lider-white) !important;
}

.tribe-events .tribe-common h1,
.tribe-events .tribe-common h2,
.tribe-events .tribe-common h3,
.tribe-events .tribe-common p,
.tribe-events .tribe-common a {
  color: var(--lider-white) !important;
}

.tribe-common .tribe-common-c-btn,
.tribe-events .tribe-events-c-top-bar__view-toggle,
.tribe-events .tribe-events-button {
  background: var(--lider-red) !important;
  border-color: var(--lider-red) !important;
  color: var(--lider-white) !important;
}

.tribe-common .tribe-common-c-btn:hover,
.tribe-events .tribe-events-button:hover,
.tribe-common .tribe-common-c-btn:focus {
  background: var(--lider-red-hover) !important;
  border-color: var(--lider-red-hover) !important;
}

/* Facebook visuals (mu-plugin lider-facebook-visuals) */
.lider-fb-embed-section {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.lider-fb-logo-fallback {
  max-height: 72px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
}

.lider-fb-photo-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin: 1rem 0 1.5rem;
}

@media (min-width: 900px) {
  .lider-fb-photo-strip {
    grid-template-columns: repeat(4, 1fr);
  }
}

.lider-fb-photo-strip__item {
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.lider-fb-photo-strip__item img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

.lider-fb-avatar img {
  border-radius: 12px;
  max-width: 100%;
  height: auto;
}

/* A1: pasek nad menu — telefon, CTA, Facebook */
.lider-header-utility {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1rem;
  padding: 0.45rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  background: rgba(0, 0, 0, 0.92);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.lider-header-utility__sep {
  color: rgba(255, 255, 255, 0.35);
  user-select: none;
}

.lider-header-utility__tel,
.lider-header-utility__cta,
.lider-header-utility__fb {
  color: var(--lider-ink-soft);
  text-decoration: none;
  transition: color 0.15s ease;
}

.lider-header-utility__tel:hover,
.lider-header-utility__tel:focus,
.lider-header-utility__cta:hover,
.lider-header-utility__cta:focus,
.lider-header-utility__fb:hover,
.lider-header-utility__fb:focus {
  color: var(--lider-red-hover);
}

.lider-header-utility__cta {
  color: var(--lider-white);
}

@media (max-width: 544px) {
  .lider-header-utility {
    font-size: 0.8125rem;
    padding: 0.4rem 0.75rem;
    gap: 0.35rem 0.65rem;
  }
}
