/* =====================================================================
   PODSTRONY v3 — nagłówek strony, O klubie, Projekty, Kontakt, Aktualności
   ===================================================================== */

/* ---------- nagłówek podstrony (H1) ---------- */
.pio-ph { background: var(--pio-navy-dark); color: #fff; padding: 64px 0 56px; position: relative; overflow: hidden; }
.pio-ph--img { min-height: 380px; display: flex; align-items: flex-end; padding-bottom: 48px; }
.pio-ph--img .pio-px-wrap { z-index: 0; }
.pio-ph--img::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,26,69,.95) 0%, rgba(10,26,69,.75) 50%, rgba(10,26,69,.35) 100%); z-index: 1; }
.pio-ph > .pio-wrap { position: relative; z-index: 2; width: 100%; }
.pio-ph__kicker { display: block; font-family: var(--pio-display); font-weight: 600; text-transform: uppercase; letter-spacing: 2px; font-size: 14px; color: #ffb3b6; margin-bottom: 10px; }
.pio-ph h1 { font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: clamp(44px, 6vw, 84px); line-height: .9; letter-spacing: -1px; color: #fff; margin: 0; }
.pio-ph h1 span { color: var(--pio-red); }
.pio-ph__lead { font-size: 19px; line-height: 1.55; color: rgba(255,255,255,.85); max-width: 640px; margin: 18px 0 0; }
.pio-ph__meta { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.18); }
.pio-ph__meta div { font-size: 16px; }
.pio-ph__meta span { display: block; font-family: var(--pio-display); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; color: rgba(255,255,255,.55); margin-bottom: 4px; }
/* ukrycie oryginalnego tytułu motywu nad treścią na stronach z własnym nagłówkiem */
.pio-v3 .stm-title-box-unit, .pio-v3 .stm-page-title { display: none !important; }
.pio-v3:not(.home) #main, .pio-v3:not(.home) .wpb-content-wrapper { padding-top: 0 !important; }
.pio-v3:not(.home) .wpb-content-wrapper > .vc_row:first-child { margin-top: 0 !important; }

/* ---------- treść dwukolumnowa ---------- */
.pio-two { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: start; }
.pio-prose { font-size: 17px; line-height: 1.7; color: var(--pio-ink); }
.pio-prose p { margin: 0 0 18px; }
.pio-prose h2, .pio-prose h3 { font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; color: var(--pio-navy); line-height: .95; margin: 34px 0 14px; }
.pio-prose h2 { font-size: 36px; } .pio-prose h3 { font-size: 26px; }
.pio-prose h2 span { color: var(--pio-red); }
.pio-prose a { color: var(--pio-red); font-weight: 700; }
.pio-prose ul, .pio-prose ol { padding-left: 20px; margin: 0 0 18px; }
.pio-prose li { margin-bottom: 6px; }
.pio-quote { border-left: 6px solid var(--pio-red); padding: 10px 0 10px 24px; margin: 28px 0; font-family: var(--pio-display); font-weight: 600; font-size: 26px; line-height: 1.2; color: var(--pio-navy); }
.pio-figure { margin: 0; }
.pio-figure img { display: block; width: 100%; height: auto; }
.pio-figure figcaption { font-size: 14px; color: var(--pio-muted); margin-top: 10px; }
.pio-stack { display: grid; gap: 24px; }
.pio-sticky { position: sticky; top: 110px; }

/* ---------- historia: oś czasu ---------- */
.pio-timeline { border-top: 3px solid var(--pio-navy); margin-top: 8px; }
.pio-tl { display: grid; grid-template-columns: 140px 1fr; gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--pio-line); align-items: baseline; }
.pio-tl__y { font-family: var(--pio-display); font-weight: 800; font-size: 44px; line-height: .9; color: var(--pio-red); }
.pio-tl__t { font-size: 17px; line-height: 1.6; color: var(--pio-ink); }
.pio-tl__t strong { display: block; font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: 20px; color: var(--pio-navy); margin-bottom: 4px; }

/* ---------- lista projektów (strona Nasze projekty) ---------- */
.pio-proj-list { border-top: 3px solid var(--pio-navy); }
.pio-proj { display: grid; grid-template-columns: 320px 1fr auto; gap: 32px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--pio-line); text-decoration: none !important; color: var(--pio-ink) !important; }
.pio-proj__img { aspect-ratio: 16 / 10; background: center/cover no-repeat; }
.pio-proj__t { font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: 30px; line-height: .95; color: var(--pio-navy); margin: 0 0 8px; }
.pio-proj:hover .pio-proj__t { color: var(--pio-red); }
.pio-proj__d { font-size: 16px; line-height: 1.55; color: var(--pio-muted); margin: 0 0 10px; max-width: 60ch; }
.pio-proj__m { font-family: var(--pio-display); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; color: var(--pio-red); }
.pio-proj__go { font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: 15px; color: var(--pio-navy); border-bottom: 3px solid var(--pio-red); white-space: nowrap; }

/* ---------- kontakt ---------- */
.pio-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.pio-cblock { padding: 0 0 28px; margin-bottom: 28px; border-bottom: 1px solid var(--pio-line); }
.pio-cblock:last-child { border-bottom: 0; }
.pio-cblock h2 { font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: 28px; line-height: 1; color: var(--pio-navy); margin: 0 0 16px; }
.pio-cblock dl { display: grid; grid-template-columns: 120px 1fr; gap: 10px 16px; margin: 0; font-size: 17px; }
.pio-cblock dt { font-family: var(--pio-display); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; color: var(--pio-muted); padding-top: 4px; }
.pio-cblock dd { margin: 0; color: var(--pio-ink); }
.pio-cblock dd a { color: var(--pio-navy); font-weight: 700; text-decoration: none; }
.pio-cblock dd a:hover { color: var(--pio-red); }
.pio-cblock dd.pio-big a { font-family: var(--pio-display); font-weight: 800; font-size: 34px; line-height: 1; }
.pio-cblock dd code { color: var(--pio-ink) !important; font-family: var(--pio-body); font-variant-numeric: tabular-nums; letter-spacing: .5px; background: var(--pio-bg); padding: 2px 6px; }
.pio-map { aspect-ratio: 16 / 9; background: var(--pio-bg); margin-top: 8px; }
.pio-map iframe { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(.2); }
.pio-form h2 { font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: 28px; color: var(--pio-navy); margin: 0 0 6px; }
.pio-form > p { color: var(--pio-muted); margin: 0 0 22px; }
.pio-form .wpcf7 label { display: block; font-family: var(--pio-display); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; color: var(--pio-navy); margin-bottom: 6px; }
.pio-form .wpcf7 p { margin: 0 0 16px; }
.pio-v3 .pio-form .wpcf7 input:not([type=submit]):not([type=checkbox]), .pio-v3 .pio-form .wpcf7 textarea, .pio-v3 .pio-form .wpcf7 select { background-color: #fff !important; width: 100%; border: 1px solid var(--pio-line) !important; border-bottom: 2px solid var(--pio-navy) !important; background: #fff !important; padding: 13px 14px; font-size: 16px; color: var(--pio-ink); box-shadow: none !important; }
.pio-v3 .pio-form .wpcf7 input:focus, .pio-v3 .pio-form .wpcf7 textarea:focus { outline: 3px solid rgba(215,38,45,.35); outline-offset: 2px; }
.pio-v3 .pio-form .wpcf7 textarea { min-height: 150px; }
.pio-form .wpcf7-acceptance { font-size: 14px; color: var(--pio-muted); line-height: 1.5; }
.pio-form .wpcf7-acceptance label { text-transform: none; letter-spacing: 0; font-family: var(--pio-body); font-weight: 400; display: inline; }

/* ---------- aktualności: lista (home.php) ---------- */
.pio-blog { padding: 56px 0 72px; }
.pio-blog .pio-ed { display: grid; grid-template-columns: 1.35fr 1fr; gap: 0 56px; }
.pio-blog .pio-ed__lead { display: block; text-decoration: none !important; color: var(--pio-ink) !important; }
.pio-blog .pio-ed__img { display: block; aspect-ratio: 16 / 10; background: center/cover no-repeat; margin-bottom: 22px; }
.pio-blog .pio-ed__date { display: block; font-family: var(--pio-display); font-weight: 600; font-size: 15px; letter-spacing: 1px; color: var(--pio-red); margin-bottom: 8px; }
.pio-blog .pio-ed__title { display: block; font-family: var(--pio-display); font-weight: 800; font-size: 38px; line-height: 1; text-transform: uppercase; color: var(--pio-navy); }
.pio-blog .pio-ed__title--s { font-size: 22px; line-height: 1.05; }
.pio-blog .pio-ed__excerpt { display: block; margin: 14px 0 16px; font-size: 16px; line-height: 1.6; color: var(--pio-muted); max-width: 60ch; }
.pio-blog .pio-ed__more { display: inline-block; font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: 15px; color: var(--pio-navy); border-bottom: 3px solid var(--pio-red); padding-bottom: 2px; }
.pio-blog .pio-ed__lead:hover .pio-ed__title, .pio-blog .pio-ed__item:hover .pio-ed__title { color: var(--pio-red); }
.pio-blog .pio-ed__list { display: flex; flex-direction: column; border-top: 3px solid var(--pio-navy); }
.pio-blog .pio-ed__item { display: grid; grid-template-columns: 132px 1fr; gap: 18px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--pio-line); text-decoration: none !important; color: var(--pio-ink) !important; }
.pio-blog .pio-ed__thumb { display: block; aspect-ratio: 4 / 3; background: center/cover no-repeat; }
.pio-blog__rest { margin-top: 64px; border-top: 3px solid var(--pio-navy); }
.pio-blog__row { display: grid; grid-template-columns: 220px 1fr; gap: 32px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--pio-line); text-decoration: none !important; color: var(--pio-ink) !important; }
.pio-blog__row .pio-ed__thumb { aspect-ratio: 16 / 10; }
.pio-blog__row .pio-ed__title { font-size: 26px; line-height: 1; }
.pio-blog__row .pio-ed__excerpt { margin: 10px 0 0; }
.pio-pag { display: flex; gap: 8px; margin-top: 40px; }
.pio-pag a, .pio-pag span { font-family: var(--pio-display); font-weight: 800; font-size: 18px; min-width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--pio-line); color: var(--pio-navy); text-decoration: none !important; padding: 0 14px; }
.pio-pag .current { background: var(--pio-navy); border-color: var(--pio-navy); color: #fff; }
.pio-pag a:hover { border-color: var(--pio-red); color: var(--pio-red); }

/* ---------- cele dotykowe ---------- */
.pio-plan .h a, .pio-hala a, .pio-gal-nav a, .pio-rbc__link, .pio-ed__more, .pio-proj__go { display: inline-block; padding: 8px 0; margin: -8px 0; }

@media (max-width: 991px) {
  .pio-two, .pio-contact { grid-template-columns: 1fr; gap: 36px; }
  .pio-sticky { position: static; }
  .pio-proj { grid-template-columns: 1fr; gap: 16px; }
  .pio-proj__go { justify-self: start; }
  .pio-blog .pio-ed { grid-template-columns: 1fr; gap: 32px; }
  .pio-blog .pio-ed__title { font-size: 30px; }
  .pio-blog__row { grid-template-columns: 1fr; gap: 14px; }
  .pio-ph { padding: 48px 0 40px; }
  .pio-ph--img { min-height: 300px; }
  .pio-tl { grid-template-columns: 90px 1fr; gap: 16px; }
  .pio-tl__y { font-size: 32px; }
  .pio-cblock dl { grid-template-columns: 1fr; gap: 4px 0; }
  .pio-cblock dt { padding-top: 10px; }
}

/* kadrowanie nagłówków podstron: bez powiększenia, punkt kadru per strona */
.pio-ph--img { min-height: 440px; }
.pio-ph--img .pio-px-wrap { inset: 0; }
.pio-ph--img .pio-px { inset: 0; transform: none !important; background-position: var(--pos, center 30%); }
.pio-ph--img::before { background: linear-gradient(90deg, rgba(10,26,69,.93) 0%, rgba(10,26,69,.70) 45%, rgba(10,26,69,.25) 100%); }
@media (max-width: 767px) { .pio-ph--img .pio-px { background-position: var(--pos-m, var(--pos, center 30%)); } }

/* kadrowanie zdjęć w tle: twarze są zwykle w górnej 1/3, więc kadrujemy od góry */
.pio-ed__img, .pio-ed__thumb, .pio-mosaic__img, .pio-proj__img, .pio-album__img, .pio-grid__item, .pio-about__img, .pio-news__img, .pio-project__img { background-position: center 28% !important; }
.pio-rbc .pio-px { background-position: center 35%; }
.pio-rbc .pio-px-wrap { inset: 0; }
.pio-rbc .pio-px { transform: scale(1.06) !important; inset: 0; }

/* strony projektów */
.pio-ph__back { display: inline-block; font-family: var(--pio-display); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 13px; color: #fff !important; text-decoration: none !important; border-bottom: 2px solid rgba(255,255,255,.4); margin-bottom: 22px; padding: 6px 0; }
.pio-ph__back::before { content: "← "; }
.pio-ph--project .pio-ph__meta div { max-width: 320px; }
.pio-project-body { padding: 48px 0 24px; }
.pio-project-body .wpb_text_column, .pio-project-body .wpb_single_image { max-width: 1240px; margin-left: auto; margin-right: auto; }
.pio-project-body .wpb_text_column p, .pio-project-body .wpb_text_column li { font-size: 17px; line-height: 1.7; color: var(--pio-ink); }
.pio-project-body .wpb_text_column h1, .pio-project-body .wpb_text_column h2, .pio-project-body .wpb_text_column h3, .pio-project-body .wpb_text_column p > strong:only-child { font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; color: var(--pio-navy); }
.pio-project-body .wpb_text_column > .wpb_wrapper > h1:first-child, .pio-project-body .wpb_text_column > .wpb_wrapper > h2:first-child, .pio-project-body .wpb_text_column > .wpb_wrapper > p:first-child > strong:only-child { display: none; } /* tytuł jest już w nagłówku */
.pio-project-body img { border-radius: 0 !important; }
.pio-project-body .vc_grid-item .vc_gitem-zone { border-radius: 0 !important; }
.pio-ph--project { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.pio-project-body { padding: 64px 0 24px; }
.pio-project-body .vc_row:first-child .wpb_text_column:first-of-type .wpb_wrapper > :first-child:is(h1, h2, h3, h4) ,
.pio-project-body .vc_row:first-child .wpb_text_column:first-of-type .wpb_wrapper > p:first-child:has(> strong:only-child) { display: none; }
.pio-project-body .vc_row:first-child .wpb_text_column:first-of-type .wpb_wrapper > :first-child:is(h1,h2,h3,h4) + br, .pio-project-body .wpb_text_column br:first-child { display: none; }

/* galeria we wpisie */
.pio-post-gallery { margin: 40px 0 10px; }
.pio-post-gallery .pio-h2 small { font-family: var(--pio-display); font-weight: 600; font-size: 16px; color: var(--pio-muted); margin-left: 10px; vertical-align: middle; }
.pio-post-gallery .pio-grid { grid-template-columns: repeat(4, 1fr); gap: 10px; }
.pio-post-gallery .pio-grid__item--more { display: none; }
.pio-post-gallery.is-open .pio-grid__item--more { display: block; }
.pio-grid-more { margin-top: 18px; }
@media (max-width: 991px) { .pio-post-gallery .pio-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .pio-post-gallery .pio-grid { grid-template-columns: repeat(2, 1fr); } }

/* stopka: czytelny tekst „O nas” */
.stm-footer .textwidget, .stm-footer .textwidget p, .stm-footer .widget p { color: rgba(255,255,255,.88) !important; font-size: 15px; line-height: 1.6; }

/* strona 404 */
.pio-404 { padding: 80px 0 100px; }
.pio-404__code { font-family: var(--pio-display); font-weight: 800; font-size: clamp(120px, 20vw, 240px); line-height: .8; color: var(--pio-navy); letter-spacing: -4px; }
.pio-404__code span { color: var(--pio-red); }
.pio-404 h1 { font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: 40px; color: var(--pio-ink); margin: 20px 0 10px; }
.pio-404 p { font-size: 18px; color: var(--pio-muted); max-width: 56ch; }
.pio-404__links { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }

/* pojedynczy wpis */
.pio-ph--post h1 { font-size: clamp(34px, 4.6vw, 62px); max-width: 20ch; }
.pio-post__hero { margin: -40px 0 0; position: relative; z-index: 3; }
.pio-post__hero img { display: block; width: 100%; max-height: 620px; object-fit: cover; object-position: center 28%; }
.pio-post__body { max-width: 760px; margin: 48px 0 0; }
.pio-post__body > p:first-child { font-size: 20px; line-height: 1.6; color: var(--pio-ink); }
.pio-post__body img { max-width: 100%; height: auto; }
.pio-post__body .pio-post-gallery { max-width: none; }
.pio-post__body .pio-post-gallery .pio-grid { grid-template-columns: repeat(3, 1fr); }
.pio-post__share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 40px 0 0; padding: 22px 0; border-top: 1px solid var(--pio-line); border-bottom: 1px solid var(--pio-line); }
.pio-post__share span { font-family: var(--pio-display); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; color: var(--pio-muted); margin-right: 8px; }
.pio-post__share a, .pio-post__share button { font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: 15px; color: var(--pio-navy); background: none; border: 0; border-bottom: 3px solid var(--pio-red); padding: 8px 0 2px; cursor: pointer; text-decoration: none !important; }
.pio-post__share a:hover, .pio-post__share button:hover { color: var(--pio-red); }
.pio-post__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 32px 0 56px; }
.pio-post__nav-item { text-decoration: none !important; color: var(--pio-ink) !important; }
.pio-post__nav-item--r { text-align: right; }
.pio-post__nav-item span { display: block; font-family: var(--pio-display); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; color: var(--pio-red); margin-bottom: 6px; }
.pio-post__nav-item strong { font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: 22px; line-height: 1.05; color: var(--pio-navy); }
.pio-post__nav-item:hover strong { color: var(--pio-red); }
.pio-more { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.pio-more__item { text-decoration: none !important; color: var(--pio-ink) !important; display: block; }
.pio-more__item .pio-ed__thumb { display: block; aspect-ratio: 16 / 10; background: center 28%/cover no-repeat; margin-bottom: 14px; }
.pio-more__item .pio-ed__date { display: block; font-family: var(--pio-display); font-weight: 600; font-size: 14px; letter-spacing: 1px; color: var(--pio-red); margin-bottom: 6px; }
.pio-more__item .pio-ed__title { display: block; font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: 22px; line-height: 1.05; color: var(--pio-navy); }
.pio-more__item:hover .pio-ed__title { color: var(--pio-red); }
@media (max-width: 991px) { .pio-post__nav { grid-template-columns: 1fr; } .pio-post__nav-item--r { text-align: left; } .pio-more { grid-template-columns: 1fr; } .pio-post__body .pio-post-gallery .pio-grid { grid-template-columns: repeat(2, 1fr); } }
/* galeria we wpisie na pełną szerokość siatki, tekst w 760px */
.pio-post__body { max-width: none; }
.pio-post__body > *:not(.pio-post-gallery) { max-width: 760px; }
.pio-post__body .pio-post-gallery .pio-grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 991px) { .pio-post__body .pio-post-gallery .pio-grid { grid-template-columns: repeat(2, 1fr); } }

/* ===== Spotlight card (adaptacja Hirael feature-08): światło za kursorem, linie poza kartą, znaczniki w rogach ===== */
.pio-spot { position: relative; isolation: isolate; --mx: 50%; --my: 0%; --spot: rgba(215,38,45,.14); --line: var(--pio-line); --mark: var(--pio-muted); }
.pio-spot::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0; transition: opacity .3s; background: radial-gradient(circle 220px at var(--mx) var(--my), var(--spot), transparent 70%); }
.pio-spot:hover::before, .pio-spot:focus-within::before { opacity: 1; }
.pio-spot > * { position: relative; z-index: 1; }
/* linie wychodzące poza krawędzie */
.pio-spot::after { content: ""; position: absolute; inset: -16px -1px; pointer-events: none; z-index: 0; border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.pio-spot .pio-spot__h { position: absolute; left: -16px; right: -16px; top: -1px; height: 1px; background: var(--line); pointer-events: none; z-index: 0; }
.pio-spot .pio-spot__h--b { top: auto; bottom: -1px; }
/* znaczniki + w rogach (lewy górny, prawy dolny) */
.pio-spot .pio-spot__x { position: absolute; width: 14px; height: 14px; z-index: 2; pointer-events: none; color: var(--mark); background: linear-gradient(currentColor, currentColor) center/1px 100% no-repeat, linear-gradient(currentColor, currentColor) center/100% 1px no-repeat; }
.pio-spot .pio-spot__x--tl { top: -7px; left: -7px; }
.pio-spot .pio-spot__x--br { bottom: -7px; right: -7px; }
/* zastosowania */
.pio-karta.pio-spot { border: 1px solid var(--pio-line) !important; border-top: 5px solid var(--pio-navy) !important; background: #fff; }
.pio-karta--red.pio-spot { border-top-color: var(--pio-red) !important; }
.pio-info__box.pio-spot { background: #fff; }
.pio-grupa.pio-spot { --spot: rgba(255,255,255,.10); --line: rgba(255,255,255,.18); --mark: rgba(255,255,255,.55); }
.pio-grupa.pio-spot::after { inset: -1px -16px; border: 0; }
.pio-grupa.pio-spot .pio-spot__h { display: none; }
.pio-grupa.pio-spot .pio-spot__x--tl { display: none; }
.pio-grupa.pio-spot:last-child .pio-spot__x--br { display: block; }
.pio-grupy, .pio-info, .pio-rows { overflow: visible; }
@media (hover: none) { .pio-spot::before { display: none; } }

/* ===== Spotlight v2: bez plusów i linii, cień + tilt 3D ===== */
.pio-spot::after, .pio-spot .pio-spot__h, .pio-spot .pio-spot__x { display: none !important; }
.pio-v3 .pio-karta.pio-spot, .pio-v3 .pio-info__box.pio-spot {
  transform-style: preserve-3d; will-change: transform;
  transition: transform .18s ease-out, box-shadow .3s ease, border-color .3s ease;
  box-shadow: 0 1px 2px rgba(10,26,69,.06), 0 14px 34px -18px rgba(10,26,69,.35) !important;
}
.pio-v3 .pio-karta.pio-spot:hover, .pio-v3 .pio-info__box.pio-spot:hover {
  box-shadow: 0 2px 4px rgba(10,26,69,.08), 0 32px 60px -24px rgba(10,26,69,.45), 0 0 0 1px rgba(215,38,45,.25) !important;
}
.pio-v3 .pio-karta.pio-spot::before, .pio-v3 .pio-info__box.pio-spot::before { background: radial-gradient(circle 260px at var(--mx) var(--my), rgba(215,38,45,.16), rgba(21,49,126,.06) 45%, transparent 70%); }
/* lekki połysk na krawędzi w kierunku kursora */
.pio-v3 .pio-karta.pio-spot:hover { border-color: rgba(21,49,126,.25) !important; }
.pio-grupa.pio-spot:hover { background: rgba(255,255,255,.03); }

/* ===== Marquee sponsorów ===== */
.pio-v3 .pio-sponsors.pio-marquee { display: block; overflow: hidden; position: relative; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.pio-marquee__track { display: flex; align-items: center; gap: 72px; width: max-content; animation: pio-marquee var(--pio-marquee-dur, 32s) linear infinite; padding: 10px 0; }
.pio-marquee:hover .pio-marquee__track { animation-play-state: paused; }
.pio-marquee__track img { height: 60px; width: auto; flex: 0 0 auto; filter: none; opacity: 1; }
@keyframes pio-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .pio-marquee__track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; gap: 28px 40px; } .pio-marquee__track > .pio-marquee__dup { display: none; } }
@media (max-width: 600px) { .pio-marquee__track { gap: 44px; } .pio-marquee__track img { height: 44px; } }

/* ===== Lightbox ===== */
.pio-lb { position: fixed; inset: 0; z-index: 10000; background: rgba(8,16,40,.94); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
.pio-lb.is-open { opacity: 1; visibility: visible; }
.pio-lb__img { max-width: min(92vw, 1400px); max-height: 84vh; width: auto; height: auto; display: block; box-shadow: 0 30px 80px rgba(0,0,0,.6); transform: scale(.96); transition: transform .3s cubic-bezier(.2,.7,.2,1), opacity .2s; user-select: none; }
.pio-lb.is-open .pio-lb__img { transform: none; }
.pio-lb__img.is-loading { opacity: .3; }
.pio-lb__bar { position: absolute; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; color: #fff; font-family: var(--pio-display); font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; font-size: 13px; }
.pio-lb__count { font-size: 18px; font-weight: 800; letter-spacing: 1px; }
.pio-lb__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 24px; text-align: center; color: rgba(255,255,255,.8); font-size: 15px; }
.pio-lb__btn { position: absolute; width: 56px; height: 56px; border: 0; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; display: grid; place-items: center; transition: background .2s; }
.pio-lb__btn:hover { background: var(--pio-red); }
.pio-lb__btn svg { width: 26px; height: 26px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.pio-lb__prev { left: 16px; top: 50%; transform: translateY(-50%); }
.pio-lb__next { right: 16px; top: 50%; transform: translateY(-50%); }
.pio-lb__close { position: static; }
.pio-lb__spin { position: absolute; width: 36px; height: 36px; border: 3px solid rgba(255,255,255,.25); border-top-color: #fff; border-radius: 50%; animation: pio-spin .8s linear infinite; display: none; }
.pio-lb.is-loading .pio-lb__spin { display: block; }
@keyframes pio-spin { to { transform: rotate(360deg); } }
body.pio-lb-open { overflow: hidden; }
@media (max-width: 767px) { .pio-lb__btn { width: 46px; height: 46px; } .pio-lb__prev { left: 6px; } .pio-lb__next { right: 6px; } .pio-lb__img { max-width: 100vw; max-height: 78vh; } }
/* lightbox: przyciski niezależne od stylów motywu dla <button> */
.pio-lb .pio-lb__btn { all: unset; box-sizing: border-box; position: absolute; width: 56px !important; height: 56px !important; min-width: 0; padding: 0 !important; margin: 0 !important; background: rgba(255,255,255,.1) !important; color: #fff !important; cursor: pointer; display: grid !important; place-items: center; transition: background .2s; border-radius: 0 !important; }
.pio-lb .pio-lb__btn:hover, .pio-lb .pio-lb__btn:focus-visible { background: var(--pio-red) !important; outline: 2px solid #fff; outline-offset: 2px; }
.pio-lb .pio-lb__close { position: static; }
.pio-lb .pio-lb__prev { left: 16px; top: 50%; transform: translateY(-50%); }
.pio-lb .pio-lb__next { right: 16px; top: 50%; transform: translateY(-50%); }
.pio-lb .pio-lb__btn svg { width: 26px; height: 26px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
#lightbox, #lightboxOverlay, .lightboxOverlay { display: none !important; }
@media (max-width: 767px) { .pio-lb .pio-lb__btn { width: 46px !important; height: 46px !important; } }
.pio-lb .pio-lb__bar { background: transparent !important; pointer-events: none; }
.pio-lb .pio-lb__count { pointer-events: auto; }
.pio-lb .pio-lb__close { position: absolute !important; top: 18px; right: 24px; left: auto; pointer-events: auto; }
.pio-lb .pio-lb__btn:focus:not(:focus-visible) { background: rgba(255,255,255,.1) !important; outline: none; }

/* ===== Pełnoekranowe menu mobilne (adaptacja Kinetic Navigation) ===== */
:root { --pio-ease: cubic-bezier(.65, .01, .05, .99); }
@media (min-width: 992px) { .pio-nav, .pio-nav-btn { display: none !important; } }
@media (max-width: 991px) {
  .stm-header-mobile.pio-has-nav .stm-menu-toggle, .stm-header-mobile.pio-has-nav .stm-mobile-menu-unit { display: none !important; }
  .stm-header-mobile.pio-has-nav .stm-mobile-right { display: flex; align-items: center; }
  .pio-nav-btn { all: unset; box-sizing: border-box; position: relative; z-index: 10002; display: inline-flex !important; align-items: center; gap: 12px; height: 48px; padding: 0 6px 0 16px !important; cursor: pointer; color: #fff; font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; font-size: 15px; background: transparent !important; width: auto !important; }
  .pio-nav-btn__txt { position: relative; height: 1.1em; overflow: hidden; display: block; min-width: 5.6ch; }
  .pio-nav-btn__txt span { display: block; line-height: 1.1; transition: transform .6s var(--pio-ease); }
  .pio-nav-btn.is-open .pio-nav-btn__txt span { transform: translateY(-100%); }
  .pio-nav-btn.is-open .pio-nav-btn__txt span:nth-child(2) { transition-delay: .1s; }
  .pio-nav-btn__icon { width: 44px; height: 44px; display: grid; place-items: center; background: var(--pio-red); color: #fff; }
  .pio-nav-btn__icon svg { width: 16px; height: 16px; transition: transform .7s var(--pio-ease); }
  .pio-nav-btn.is-open .pio-nav-btn__icon svg { transform: rotate(315deg); }

  .pio-nav { position: fixed; inset: 0; z-index: 10001; visibility: hidden; pointer-events: none; }
  .pio-nav[data-nav="open"] { visibility: visible; pointer-events: auto; }
  .pio-nav__overlay { position: absolute; inset: 0; background: rgba(8,16,40,.55); opacity: 0; transition: opacity .5s var(--pio-ease); }
  .pio-nav[data-nav="open"] .pio-nav__overlay { opacity: 1; }
  .pio-nav__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(100%, 440px); transform: translateX(120%); transition: transform .5s var(--pio-ease) .35s; overflow: hidden; }
  .pio-nav[data-nav="open"] .pio-nav__panel { transform: none; transition-delay: 0s; }
  .pio-nav__bg { position: absolute; inset: 0; }
  .pio-nav__layer { position: absolute; inset: 0; transform: translateX(101%); transition: transform .575s var(--pio-ease); }
  .pio-nav__layer--1 { background: var(--pio-red); }
  .pio-nav__layer--2 { background: var(--pio-navy); transition-delay: .12s; }
  .pio-nav__layer--3 { background: var(--pio-navy-dark); transition-delay: .24s; }
  .pio-nav[data-nav="open"] .pio-nav__layer { transform: none; }
  .pio-nav__inner { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 104px 28px 32px; overflow-y: auto; }
  .pio-nav__list { list-style: none; margin: 0; padding: 0; }
  .pio-nav__item { overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.12); }
  .pio-nav__item::before { display: none; }
  .pio-nav__link { display: block; padding: 14px 0; color: #fff !important; text-decoration: none !important; font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; font-size: clamp(32px, 8vw, 42px); line-height: 1; letter-spacing: -.5px; transform: translateY(140%) rotate(10deg); transform-origin: left top; transition: transform .7s var(--pio-ease), color .2s; }
  .pio-nav[data-nav="open"] .pio-nav__link { transform: none; }
  .pio-nav__item:nth-child(1) .pio-nav__link { transition-delay: .35s; }
  .pio-nav__item:nth-child(2) .pio-nav__link { transition-delay: .40s; }
  .pio-nav__item:nth-child(3) .pio-nav__link { transition-delay: .45s; }
  .pio-nav__item:nth-child(4) .pio-nav__link { transition-delay: .50s; }
  .pio-nav__item:nth-child(5) .pio-nav__link { transition-delay: .55s; }
  .pio-nav__item:nth-child(6) .pio-nav__link { transition-delay: .60s; }
  .pio-nav__item:nth-child(7) .pio-nav__link { transition-delay: .65s; }
  .pio-nav__item:nth-child(8) .pio-nav__link { transition-delay: .70s; }
  .pio-nav[data-nav="closed"] .pio-nav__link { transition-delay: 0s; transition-duration: .3s; }
  .pio-nav__link.is-current, .pio-nav__link:active { color: #ffb3b6 !important; }
  .pio-nav__item:last-child .pio-nav__link { color: var(--pio-red) !important; }
  .pio-nav__foot { opacity: 0; transform: translateY(50%); transition: opacity .6s var(--pio-ease) .6s, transform .6s var(--pio-ease) .6s; padding-top: 24px; }
  .pio-nav[data-nav="open"] .pio-nav__foot { opacity: 1; transform: none; }
  .pio-nav__tel { display: block; color: #fff !important; text-decoration: none !important; font-family: var(--pio-display); font-weight: 800; font-size: 30px; margin-bottom: 12px; }
  .pio-nav__social { display: flex; gap: 20px; }
  .pio-nav__social a { color: rgba(255,255,255,.8) !important; text-decoration: none !important; font-family: var(--pio-display); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 13px; border-bottom: 2px solid rgba(255,255,255,.35); padding: 6px 0; }
  body.pio-nav-open { overflow: hidden; }
  .pio-nav-btn:focus-visible .pio-nav-btn__icon { outline: 2px solid #fff; outline-offset: 2px; }
  @media (prefers-reduced-motion: reduce) { .pio-nav *, .pio-nav-btn * { transition-duration: .01s !important; transition-delay: 0s !important; } }
}

@media (max-width: 991px) {
  .pio-nav__item, .pio-nav__list { padding: 0 !important; margin: 0 !important; }
  .pio-nav__link { padding-left: 0 !important; }
  .pio-nav__close { all: unset; box-sizing: border-box; position: absolute; top: 22px; right: 22px; z-index: 3; display: inline-flex; align-items: center; gap: 12px; cursor: pointer; color: #fff; font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; font-size: 15px; opacity: 0; transition: opacity .4s var(--pio-ease) .5s; }
  .pio-nav[data-nav="open"] .pio-nav__close { opacity: 1; }
  .pio-nav__close svg { width: 16px; height: 16px; transform: rotate(45deg); background: var(--pio-red); padding: 14px; box-sizing: content-box; }
  .pio-nav__close:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
}
@media (max-width: 991px) {
  .pio-nav__close { background: var(--pio-red) !important; height: 48px; padding: 0 16px 0 18px !important; gap: 14px; }
  .pio-nav__close svg { background: none !important; padding: 0 !important; width: 16px; height: 16px; }
}
@media (max-width: 991px) {
  /* znak wodny: herb klubu w tle menu */
  .pio-nav__panel::after { content: ""; position: absolute; right: -18%; bottom: 6%; width: 78vw; max-width: 420px; aspect-ratio: 1; background: url('../../uploads/2023/10/logotypemks.png') center/contain no-repeat; opacity: 0; filter: grayscale(1) brightness(3); mix-blend-mode: soft-light; pointer-events: none; z-index: 1; transform: translateX(40px) rotate(-8deg); transition: opacity .8s var(--pio-ease) .55s, transform .9s var(--pio-ease) .55s; }
  .pio-nav[data-nav="open"] .pio-nav__panel::after { opacity: .16; transform: rotate(-8deg); }
}

/* ===== Formularz w krokach + toast ===== */
.pio-steps__bar { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 26px; padding: 0; counter-reset: none; }
.pio-steps__bar li { display: flex; align-items: center; gap: 10px; font-family: var(--pio-display); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; color: var(--pio-muted); padding-bottom: 10px; border-bottom: 3px solid var(--pio-line); transition: color .3s, border-color .3s; }
.pio-steps__bar li::before { display: none; }
.pio-steps__bar li span { width: 26px; height: 26px; display: grid; place-items: center; font-size: 13px; font-weight: 800; background: var(--pio-line); color: var(--pio-navy); transition: background .3s, color .3s; }
.pio-steps__bar li.is-active { color: var(--pio-navy); border-color: var(--pio-navy); }
.pio-steps__bar li.is-active span { background: var(--pio-navy); color: #fff; }
.pio-steps__bar li.is-done { border-color: var(--pio-red); }
.pio-steps__bar li.is-done span { background: var(--pio-red); color: #fff; }
.pio-step { display: none; animation: pio-up .4s both; }
.pio-step.is-active { display: block; }
.pio-steps__nav { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-top: 8px !important; }
.pio-steps__nav .pio-steps__next { margin-left: auto; }
.pio-steps .pio-btn, .pio-steps input[type=submit] { all: unset; box-sizing: border-box; cursor: pointer; display: inline-block; font-family: var(--pio-display); font-weight: 800; text-transform: uppercase; letter-spacing: .5px; font-size: 16px; padding: 16px 28px; border-radius: 6px; color: #fff !important; transition: transform .12s, filter .2s; }
.pio-steps .pio-btn--red, .pio-steps input[type=submit] { background-image: linear-gradient(180deg, #e8474d 0%, #c81f26 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 1px 2px rgba(10,26,69,.25); }
.pio-steps .pio-btn--navy { background-image: linear-gradient(180deg, #1f45a8 0%, #122a6e 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 1px 2px rgba(10,26,69,.25); }
.pio-steps .pio-btn:hover, .pio-steps input[type=submit]:hover { filter: brightness(1.08); }
.pio-steps .pio-btn:active, .pio-steps input[type=submit]:active { transform: translateY(1px) scale(.985); }
.pio-steps input.is-invalid, .pio-steps select.is-invalid, .pio-steps .wpcf7-not-valid { border-color: var(--pio-red) !important; box-shadow: 0 0 0 3px rgba(215,38,45,.15) !important; }
.pio-err, .pio-steps .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: 13px; color: var(--pio-red); font-weight: 600; }
.pio-steps label { display: block; font-family: var(--pio-display); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; color: var(--pio-navy); margin-bottom: 6px; }
.pio-steps .wpcf7-acceptance label { display: inline; text-transform: none; letter-spacing: 0; font-family: var(--pio-body); font-weight: 400; font-size: 14px; color: var(--pio-muted); }
.pio-steps p { margin: 0 0 16px; }
.pio-zapisy-row .wpcf7 .pio-steps input:not([type=submit]):not([type=checkbox]), .pio-zapisy-row .wpcf7 .pio-steps select, .pio-zapisy-row .wpcf7 .pio-steps textarea { width: 100%; border: 1px solid var(--pio-line) !important; border-bottom: 2px solid var(--pio-navy) !important; background: #fff !important; padding: 13px 14px; font-size: 16px; color: var(--pio-ink); box-shadow: none !important; border-radius: 0 !important; }
.pio-zapisy-row .wpcf7 .pio-steps input:focus, .pio-zapisy-row .wpcf7 .pio-steps select:focus, .pio-zapisy-row .wpcf7 .pio-steps textarea:focus { outline: 3px solid rgba(215,38,45,.35); outline-offset: 2px; }
form.wpcf7-form.is-sending .pio-steps { opacity: .6; pointer-events: none; }
.wpcf7 form .wpcf7-response-output { margin: 18px 0 0; padding: 14px 16px; border: 0 !important; border-left: 4px solid var(--pio-navy) !important; background: var(--pio-bg); font-size: 15px; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-left-color: var(--pio-red) !important; }
.wpcf7 form.sent .wpcf7-response-output { border-left-color: #1f9d55 !important; }
.wpcf7-spinner { display: none !important; }
/* toast */
.pio-toast { position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 20px); z-index: 10003; background: var(--pio-navy-dark); color: #fff; padding: 16px 22px 16px 18px; border-left: 5px solid #1f9d55; font-family: var(--pio-body); font-size: 15px; line-height: 1.4; max-width: min(92vw, 480px); box-shadow: 0 20px 40px -10px rgba(10,26,69,.5); opacity: 0; visibility: hidden; transition: opacity .3s, transform .3s, visibility .3s; }
.pio-toast.is-on { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.pio-toast.is-error { border-left-color: var(--pio-red); }
@media (max-width: 600px) { .pio-steps__nav { flex-direction: column-reverse; align-items: stretch; } .pio-steps__nav .pio-steps__next { margin-left: 0; } .pio-steps .pio-btn, .pio-steps input[type=submit] { text-align: center; } }
.pio-steps .pio-step.is-active, .pio-steps .pio-steps__bar li.is-active, .pio-steps .is-active { background: transparent !important; color: inherit; }
.pio-steps__bar li.is-active { color: var(--pio-navy) !important; }
.pio-steps__bar li.is-active span { background: var(--pio-navy) !important; color: #fff !important; }
.pio-steps__bar li.is-done span { background: var(--pio-red) !important; }
/* motyw pozycjonuje <button> absolutnie na 100% – twardy reset dla naszych przycisków */
.pio-steps .pio-btn, .pio-steps input[type=submit], .pio-post__share button, .pio-grid-more { position: static !important; inset: auto !important; width: auto !important; height: auto !important; min-width: 0 !important; line-height: 1 !important; }
/* motyw dodaje button::before z czerwonym tłem na cały pozycjonowany rodzic – wyłączone dla naszych przycisków */
.pio-v3 button[class*="pio-"]::before, .pio-v3 button[class*="pio-"]::after, .pio-v3 .pio-steps input[type=submit]::before, .pio-v3 .pio-steps input[type=submit]::after, .pio-v3 .wpcf7 input[type=submit]::before { display: none !important; content: none !important; }
.pio-steps .pio-btn, .pio-steps input[type=submit] { position: relative !important; }

/* ===== Pasek ogłoszeń: zamykanie ===== */
.pio-pasek { position: relative; overflow: hidden; max-height: 400px; transition: max-height .45s var(--pio-ease), opacity .3s; }
.pio-pasek.is-hidden { max-height: 0; opacity: 0; }
.pio-pasek__inner { padding-right: 56px; }
.pio-pasek .pio-pasek__close { all: unset; box-sizing: border-box; position: absolute !important; top: 50%; right: 14px; transform: translateY(-50%); width: 40px !important; height: 40px !important; display: grid !important; place-items: center; cursor: pointer; color: #fff; background: rgba(0,0,0,.18) !important; transition: background .2s; }
.pio-pasek .pio-pasek__close:hover, .pio-pasek .pio-pasek__close:focus-visible { background: rgba(0,0,0,.35) !important; outline: 2px solid #fff; outline-offset: 1px; }
.pio-pasek .pio-pasek__close svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; fill: none; }
@media (max-width: 600px) { .pio-pasek__inner { padding-right: 48px; } .pio-pasek .pio-pasek__close { right: 6px; top: 14px; transform: none; } }

/* ===== Przycisk „do góry” ===== */
.pio-top { all: unset; box-sizing: border-box; position: fixed !important; right: 20px; bottom: 20px; z-index: 9990; width: 52px !important; height: 52px !important; display: grid !important; place-items: center; cursor: pointer; background: var(--pio-navy-dark) !important; color: #fff; box-shadow: 0 10px 24px -8px rgba(10,26,69,.6); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .3s, transform .3s, visibility .3s, background .2s; }
.pio-top.is-on { opacity: 1; visibility: visible; transform: none; }
.pio-top:hover, .pio-top:focus-visible { background: var(--pio-red) !important; outline: 2px solid #fff; outline-offset: 2px; }
.pio-top svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; fill: none; }
body.pio-lb-open .pio-top, body.pio-nav-open .pio-top { opacity: 0; visibility: hidden; }
@media (max-width: 600px) { .pio-top { right: 14px; bottom: 14px; width: 46px !important; height: 46px !important; } }

/* ===== Pasek RBC w kolorach turnieju (niebieski RBC + pomarańcz), stały, bez zamykania ===== */
.pio-pasek, .pio-pasek__inner { padding-right: 0; }
.pio-pasek.pio-pasek--rbc { --rbc-blue: #006edf; --rbc-blue-dark: #0a63e6; --rbc-navy: #0b1b33; --rbc-orange: #ff5a00; --rbc-orange-dark: #e65200; background: var(--rbc-blue) !important; color: #fff; max-height: none; overflow: visible; }
.pio-pasek--rbc .pio-pasek__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; padding: 0; }
.pio-pasek--rbc .pio-pasek__logo { display: flex; align-items: center; gap: 14px; align-self: stretch; background: var(--rbc-navy); padding: 10px 22px 10px 18px; text-decoration: none !important; }
.pio-pasek--rbc .pio-pasek__logo img { display: block; height: 52px; width: auto; }
.pio-pasek--rbc .pio-pasek__logo .pio-pasek__word { height: 30px; opacity: .95; }
.pio-pasek--rbc .pio-pasek__text { padding: 14px 0; color: #fff; }
.pio-pasek--rbc .pio-pasek__text small { color: rgba(255,255,255,.88); }
.pio-pasek--rbc .pio-btn--ghost, .pio-v3 .pio-pasek--rbc .pio-btn { background-image: linear-gradient(180deg, #ff7a2e 0%, var(--rbc-orange-dark) 100%), linear-gradient(180deg, rgba(255,255,255,.6), rgba(0,0,0,.3)) !important; color: #fff !important; backdrop-filter: none; text-shadow: none; margin-right: 18px; }
.pio-pasek--rbc .pio-btn:hover { filter: brightness(1.08); }
/* pomarańczowa krawędź jak na stronie RBC */
.pio-pasek--rbc { border-top: 4px solid var(--rbc-orange); }
@media (max-width: 767px) {
  .pio-pasek--rbc .pio-pasek__inner { grid-template-columns: 1fr; gap: 0; }
  .pio-pasek--rbc .pio-pasek__logo { padding: 10px 16px; }
  .pio-pasek--rbc .pio-pasek__logo .pio-pasek__word { display: none; }
  .pio-pasek--rbc .pio-pasek__text { padding: 14px 16px 6px; }
  .pio-pasek--rbc .pio-btn { margin: 0 16px 16px; justify-self: start; }
}
/* pasek RBC: jedno logo (biały napis), bez ciemnego tła */
.pio-pasek--rbc .pio-pasek__logo { background: transparent; padding: 10px 0 10px 0; border-right: 1px solid rgba(255,255,255,.25); padding-right: 24px; }
.pio-pasek--rbc .pio-pasek__logo .pio-pasek__word { height: 44px; opacity: 1; }
@media (max-width: 767px) { .pio-pasek--rbc .pio-pasek__logo { border-right: 0; padding: 16px 16px 0; } .pio-pasek--rbc .pio-pasek__logo .pio-pasek__word { display: block; height: 36px; } }

/* ===== Efekt najechania na zdjęcia: granatowy filtr → pełny kolor, zbliżenie, czerwona linia ===== */
.pio-ed__img, .pio-ed__thumb, .pio-mosaic__img, .pio-proj__img, .pio-album__img, .pio-grid__item, .pio-about__img, .pio-news__img, .pio-project__img { position: relative; overflow: hidden; isolation: isolate; background-image: none !important; }
.pio-ed__img::before, .pio-ed__thumb::before, .pio-mosaic__img::before, .pio-proj__img::before, .pio-album__img::before, .pio-grid__item::before, .pio-about__img::before, .pio-news__img::before, .pio-project__img::before {
  content: ""; position: absolute; inset: 0; background-image: var(--img); background-size: cover; background-position: center 28%; background-repeat: no-repeat;
  transform: scale(1.001); transition: transform .9s cubic-bezier(.2,.7,.2,1), filter .5s ease; filter: saturate(.78) contrast(1.02); z-index: 0;
}
.pio-ed__img::after, .pio-ed__thumb::after, .pio-mosaic__img::after, .pio-proj__img::after, .pio-album__img::after, .pio-grid__item::after, .pio-about__img::after, .pio-news__img::after, .pio-project__img::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(0deg, rgba(14,34,89,.28), rgba(14,34,89,.28)); transition: opacity .45s ease;
  box-shadow: inset 0 -4px 0 0 var(--pio-red); clip-path: inset(0 100% 0 0);
}
/* czerwona linia: osobny element przez box-shadow + clip-path animowany na hover */
a:hover > .pio-ed__img::before, a:hover > .pio-ed__thumb::before, a:hover > .pio-mosaic__img::before, a:hover > .pio-proj__img::before, a:hover > .pio-album__img::before, .pio-grid__item:hover::before, .pio-about__img:hover::before, a:hover > .pio-news__img::before, a:hover > .pio-project__img::before { transform: scale(1.05); filter: saturate(1.08) contrast(1.04); }
a:hover > .pio-ed__img::after, a:hover > .pio-ed__thumb::after, a:hover > .pio-mosaic__img::after, a:hover > .pio-proj__img::after, a:hover > .pio-album__img::after, .pio-grid__item:hover::after, .pio-about__img:hover::after, a:hover > .pio-news__img::after, a:hover > .pio-project__img::after { background: linear-gradient(0deg, rgba(14,34,89,0), rgba(14,34,89,0)); clip-path: inset(0 0 0 0); transition: opacity .45s ease, clip-path .55s cubic-bezier(.2,.7,.2,1); }
/* domyślnie linia schowana, bez przejścia w tył szybciej */
.pio-grid__item::after, .pio-ed__img::after, .pio-mosaic__img::after, .pio-proj__img::after, .pio-album__img::after, .pio-ed__thumb::after, .pio-news__img::after, .pio-project__img::after, .pio-about__img::after { transition: background .45s ease, clip-path .3s ease; }
@media (hover: none) { .pio-ed__img::before, .pio-ed__thumb::before, .pio-mosaic__img::before, .pio-proj__img::before, .pio-album__img::before, .pio-grid__item::before, .pio-about__img::before, .pio-news__img::before, .pio-project__img::before { filter: none; } .pio-ed__img::after, .pio-ed__thumb::after, .pio-mosaic__img::after, .pio-proj__img::after, .pio-album__img::after, .pio-grid__item::after, .pio-about__img::after, .pio-news__img::after, .pio-project__img::after { display: none; } }
@media (prefers-reduced-motion: reduce) { .pio-ed__img::before, .pio-mosaic__img::before, .pio-grid__item::before { transition: none; } }

/* ===== Pasek postępu czytania (wpisy) ===== */
.pio-progress { position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 10005; background: rgba(14,34,89,.12); pointer-events: none; }
.pio-progress__bar { height: 100%; width: 0; background: var(--pio-red); transform-origin: left; transition: width .08s linear; }
@media (prefers-reduced-motion: reduce) { .pio-progress__bar { transition: none; } }

/* ===== Stopka: ikony FB/IG (motyw używa nazw Font Awesome 4, które nie istnieją w FA5) + podpisy ===== */
.footer-bottom-socials { display: flex !important; gap: 10px; align-items: center; }
.footer-bottom-socials li { margin: 0 !important; }
.footer-bottom-socials li a { display: inline-flex !important; align-items: center; gap: 8px; height: 40px; padding: 0 14px 0 10px; background: rgba(255,255,255,.08) !important; color: #fff !important; border-radius: 0 !important; font-family: var(--pio-display); font-weight: 700; text-transform: uppercase; letter-spacing: 1px; font-size: 13px; text-decoration: none !important; transition: background .2s; width: auto !important; }
.footer-bottom-socials li a:hover { background: var(--pio-red) !important; }
.footer-bottom-socials li a i { display: none !important; }
.footer-bottom-socials li a::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--ico) center/contain no-repeat; mask: var(--ico) center/contain no-repeat; }
.stm-social-facebook a { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M13.5 22v-8h2.7l.4-3.2h-3.1V8.8c0-.9.3-1.6 1.6-1.6h1.7V4.4c-.3 0-1.3-.1-2.5-.1-2.5 0-4.1 1.5-4.1 4.2v2.3H7.4V14h2.8v8h3.3z'/></svg>"); }
.stm-social-facebook a::after { content: "Facebook"; }
.stm-social-instagram a { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 7.4a4.6 4.6 0 1 0 0 9.2 4.6 4.6 0 0 0 0-9.2zm0 7.6a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm5.9-7.8a1.1 1.1 0 1 1-2.2 0 1.1 1.1 0 0 1 2.2 0zM12 3c-2.4 0-2.7 0-3.7.1-2.6.1-4.1 1.6-4.2 4.2C4 8.3 4 8.6 4 11s0 2.7.1 3.7c.1 2.6 1.6 4.1 4.2 4.2 1 .1 1.3.1 3.7.1s2.7 0 3.7-.1c2.6-.1 4.1-1.6 4.2-4.2.1-1 .1-1.3.1-3.7s0-2.7-.1-3.7c-.1-2.6-1.6-4.1-4.2-4.2C14.7 3 14.4 3 12 3zm0 1.6c2.4 0 2.6 0 3.6.1 1.8.1 2.7 1 2.8 2.8.1 1 .1 1.2.1 3.6s0 2.6-.1 3.6c-.1 1.8-1 2.7-2.8 2.8-1 .1-1.2.1-3.6.1s-2.6 0-3.6-.1c-1.8-.1-2.7-1-2.8-2.8-.1-1-.1-1.2-.1-3.6s0-2.6.1-3.6c.1-1.8 1-2.7 2.8-2.8 1-.1 1.2-.1 3.6-.1z'/></svg>"); }
.stm-social-instagram a::after { content: "Instagram"; }
.footer-socials-title { color: rgba(255,255,255,.7) !important; font-family: var(--pio-display); font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; font-size: 12px; margin-right: 12px; }
#stm-footer-bottom .footer-socials-unit { display: flex !important; align-items: center; gap: 12px; }
#stm-footer-bottom .footer-socials-title { margin: 0 !important; line-height: 1; }
#stm-footer-bottom .footer-bottom-right .clearfix { display: flex; align-items: center; gap: 28px; justify-content: flex-end; flex-wrap: wrap; }
#stm-footer-bottom .footer-bottom-right-navs { float: none !important; }
@media (max-width: 767px) { #stm-footer-bottom .footer-bottom-right .clearfix { justify-content: flex-start; } }
.pio-ph--auto { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); margin-bottom: 40px; }
.page-id-764 .pio-gal-intro__t { display: none; }

/* ===== Menu desktop v2: jak menu mobilne, ale w poziomie ===== */
@media (min-width: 992px) {
  .stm-header .stm-main-menu-unit { background: transparent !important; }
  .stm-header .stm-main-menu-unit > ul { display: flex !important; align-items: stretch; height: 64px; border-left: 1px solid rgba(255,255,255,.18); }
  .stm-header .stm-main-menu-unit > ul > li { float: none !important; margin: 0 !important; display: flex; border-right: 1px solid rgba(255,255,255,.18); }
  .stm-header .stm-main-menu-unit > ul > li > a { display: flex !important; align-items: center; height: 100%; padding: 0 22px !important; font-family: var(--pio-display) !important; font-weight: 800 !important; font-size: 19px !important; letter-spacing: .5px; line-height: 1 !important; color: #fff !important; background: transparent !important; position: relative; transition: color .2s; }
  .stm-header .stm-main-menu-unit > ul > li > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--pio-red); transform: scaleX(0); transform-origin: left; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
  .stm-header .stm-main-menu-unit > ul > li > a:hover::after, .stm-header .stm-main-menu-unit > ul > li.current-menu-item > a::after, .stm-header .stm-main-menu-unit > ul > li.current_page_item > a::after { transform: scaleX(1); }
  .stm-header .stm-main-menu-unit > ul > li > a:hover { color: #ffb3b6 !important; }
  .stm-header .stm-main-menu-unit > ul > li.current-menu-item > a, .stm-header .stm-main-menu-unit > ul > li.current_page_item > a { background: transparent !important; color: #ffb3b6 !important; }
  .stm-header .stm-main-menu-unit > ul > li:last-child { border-right: 0; margin-left: 10px !important; }
  .stm-header .stm-main-menu-unit > ul > li:last-child > a { background: var(--pio-red) !important; color: #fff !important; padding: 0 26px !important; }
  .stm-header .stm-main-menu-unit > ul > li:last-child > a::after { display: none; }
  .stm-header .stm-main-menu-unit > ul > li:last-child > a:hover { background: var(--pio-red-dark) !important; filter: brightness(1.08); }
  /* nagłówek: logo i menu w jednej linii, bez czarnego podkładu pod menu */
  .stm-header .container.stm-header-container { display: flex; align-items: center; justify-content: space-between; }
  .stm-header .stm-main-menu { float: none !important; margin: 0 !important; }
  .home .stm-transparent-header .stm-main-menu-unit > ul { border-left-color: rgba(255,255,255,.25); }
}
@media (min-width: 992px) {
  .stm-header .stm-main-menu-unit > ul > li:not(:last-child) > a, .stm-header .stm-main-menu-unit > ul > li:not(:last-child) > a:hover, .stm-header .stm-main-menu-unit > ul > li.active > a, .stm-header .stm-main-menu-unit > ul > li.current-menu-ancestor > a { background: transparent !important; }
}
@media (min-width: 992px) {
  .stm-header .stm-main-menu-unit > ul > li { background: transparent !important; }
  .stm-header .stm-main-menu-unit > ul > li > a::before, .stm-header .stm-main-menu-unit > ul > li::before, .stm-header .stm-main-menu-unit > ul > li::after { display: none !important; content: none !important; }
}

/* ===== Menu desktop: wejście z przejściem kolorów (jak panele w menu mobilnym) ===== */
@media (min-width: 992px) and (prefers-reduced-motion: no-preference) {
  .stm-header .stm-main-menu-unit > ul { position: relative; overflow: hidden; isolation: isolate; }
  .stm-header .stm-main-menu-unit > ul::before, .stm-header .stm-main-menu-unit > ul::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; transform: translateX(-101%); }
  .stm-header .stm-main-menu-unit > ul::before { background: var(--pio-red); animation: pio-wipe .95s cubic-bezier(.65,.01,.05,.99) .05s both; }
  .stm-header .stm-main-menu-unit > ul::after { background: var(--pio-navy); animation: pio-wipe .95s cubic-bezier(.65,.01,.05,.99) .17s both; }
  .stm-header .stm-main-menu-unit > ul > li { overflow: hidden; }
  .stm-header .stm-main-menu-unit > ul > li > a { animation: pio-menu-in .7s cubic-bezier(.65,.01,.05,.99) both; }
  .stm-header .stm-main-menu-unit > ul > li:nth-child(1) > a { animation-delay: .45s; }
  .stm-header .stm-main-menu-unit > ul > li:nth-child(2) > a { animation-delay: .50s; }
  .stm-header .stm-main-menu-unit > ul > li:nth-child(3) > a { animation-delay: .55s; }
  .stm-header .stm-main-menu-unit > ul > li:nth-child(4) > a { animation-delay: .60s; }
  .stm-header .stm-main-menu-unit > ul > li:nth-child(5) > a { animation-delay: .65s; }
  .stm-header .stm-main-menu-unit > ul > li:nth-child(6) > a { animation-delay: .70s; }
  .stm-header .stm-main-menu-unit > ul > li:nth-child(7) > a { animation-delay: .75s; }
  .stm-header .stm-main-menu-unit > ul > li:nth-child(8) > a { animation-delay: .80s; }
  @keyframes pio-wipe { 0% { transform: translateX(-101%); } 45% { transform: translateX(0); } 100% { transform: translateX(101%); } }
  @keyframes pio-menu-in { from { transform: translateY(140%) rotate(6deg); opacity: 0; } to { transform: none; opacity: 1; } }
  /* po animacji wejścia pozycje nie mogą być przycięte przez overflow (podkreślenie) */
  .stm-header .stm-main-menu-unit > ul > li > a { transform-origin: left bottom; }
}
@media (min-width: 992px) and (prefers-reduced-motion: no-preference) {
  /* motyw ustawia ul::before/::after jako clearfix (display:table) – wymuszamy warstwy przejścia */
  .stm-header .stm-main-menu-unit > ul::before, .stm-header .stm-main-menu-unit > ul::after { display: block !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; clear: none !important; }
}

/* ===== Hover na zdjęciach v2: tylko transform + opacity (bez filter/clip-path), płynnie na GPU ===== */
.pio-ed__img::before, .pio-ed__thumb::before, .pio-mosaic__img::before, .pio-proj__img::before, .pio-album__img::before, .pio-grid__item::before, .pio-about__img::before, .pio-news__img::before, .pio-project__img::before { filter: none !important; will-change: transform; backface-visibility: hidden; transition: transform .7s cubic-bezier(.2,.7,.2,1) !important; }
.pio-ed__img::after, .pio-ed__thumb::after, .pio-mosaic__img::after, .pio-proj__img::after, .pio-album__img::after, .pio-grid__item::after, .pio-about__img::after, .pio-news__img::after, .pio-project__img::after { background: rgba(14,34,89,.26) !important; box-shadow: none !important; clip-path: none !important; opacity: 1; transition: opacity .4s ease !important; }
a:hover > .pio-ed__img::after, a:hover > .pio-ed__thumb::after, a:hover > .pio-mosaic__img::after, a:hover > .pio-proj__img::after, a:hover > .pio-album__img::after, .pio-grid__item:hover::after, .pio-about__img:hover::after, a:hover > .pio-news__img::after, a:hover > .pio-project__img::after { opacity: 0; background: rgba(14,34,89,.26) !important; }
a:hover > .pio-ed__img::before, a:hover > .pio-ed__thumb::before, a:hover > .pio-mosaic__img::before, a:hover > .pio-proj__img::before, a:hover > .pio-album__img::before, .pio-grid__item:hover::before, .pio-about__img:hover::before, a:hover > .pio-news__img::before, a:hover > .pio-project__img::before { transform: scale(1.05); filter: none !important; }
/* czerwona linia pod zdjęciem jako tanie podkreślenie kontenera */
.pio-ed__img, .pio-ed__thumb, .pio-mosaic__img, .pio-proj__img, .pio-album__img, .pio-grid__item, .pio-news__img, .pio-project__img { box-shadow: inset 0 0 0 0 var(--pio-red); transition: box-shadow .3s ease; }
a:hover > .pio-ed__img, a:hover > .pio-ed__thumb, a:hover > .pio-mosaic__img, a:hover > .pio-proj__img, a:hover > .pio-album__img, .pio-grid__item:hover, a:hover > .pio-news__img, a:hover > .pio-project__img { box-shadow: inset 0 -4px 0 0 var(--pio-red); }

/* ===== Menu desktop: podmenu (po animacji wejścia zdejmujemy overflow, inaczej lista jest przycięta) ===== */
@media (min-width: 992px) {
  .pio-menu-ready .stm-header .stm-main-menu-unit > ul, .pio-menu-ready .stm-header .stm-main-menu-unit > ul > li { overflow: visible !important; }
  .pio-menu-ready .stm-header .stm-main-menu-unit > ul::before, .pio-menu-ready .stm-header .stm-main-menu-unit > ul::after { display: none !important; }
  .stm-header .stm-main-menu-unit > ul > li.menu-item-has-children { position: relative; }
  .stm-header .stm-main-menu-unit > ul > li > ul.sub-menu { position: absolute !important; top: 100% !important; left: -1px !important; min-width: 300px; margin: 0 !important; padding: 8px 0 !important; list-style: none; background: var(--pio-navy) !important; border: 1px solid rgba(255,255,255,.18); border-top: 4px solid var(--pio-red); box-shadow: 0 18px 40px rgba(0,0,0,.35); z-index: 60; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .25s, transform .25s, visibility 0s .25s; display: block !important; }
  .stm-header .stm-main-menu-unit > ul > li:hover > ul.sub-menu, .stm-header .stm-main-menu-unit > ul > li:focus-within > ul.sub-menu { opacity: 1; visibility: visible; transform: none; transition: opacity .25s, transform .25s, visibility 0s; }
  .stm-header .stm-main-menu-unit > ul > li > ul.sub-menu::before, .stm-header .stm-main-menu-unit > ul > li > ul.sub-menu::after { display: none !important; content: none !important; }
  .stm-header .stm-main-menu-unit > ul > li > ul.sub-menu > li { float: none !important; margin: 0 !important; padding: 0 !important; width: auto !important; border: 0 !important; background: transparent !important; }
  .stm-header .stm-main-menu-unit > ul > li > ul.sub-menu > li::before, .stm-header .stm-main-menu-unit > ul > li > ul.sub-menu > li > a::before, .stm-header .stm-main-menu-unit > ul > li > ul.sub-menu > li > a::after { display: none !important; content: none !important; }
  .stm-header .stm-main-menu-unit > ul > li > ul.sub-menu > li > a { display: block !important; padding: 11px 22px !important; font-family: var(--pio-display) !important; font-weight: 700 !important; font-size: 15px !important; letter-spacing: .4px; text-transform: uppercase; line-height: 1.2 !important; color: #fff !important; background: transparent !important; border-left: 4px solid transparent; transition: border-color .2s, background .2s, color .2s; }
  .stm-header .stm-main-menu-unit > ul > li > ul.sub-menu > li > a:hover, .stm-header .stm-main-menu-unit > ul > li > ul.sub-menu > li.current-menu-item > a { border-left-color: var(--pio-red); background: rgba(255,255,255,.07) !important; color: #ffb3b6 !important; }
}

/* ===== Tabele we wpisach (np. wyniki turnieju) ===== */
body.pio-v3.single-post .wp-block-table { margin: 28px 0; overflow-x: auto; }
body.pio-v3.single-post .wp-block-table table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.35; border: 0 !important; }
body.pio-v3.single-post .wp-block-table th { background: var(--pio-navy) !important; color:#fff !important; border:0 !important; color: #fff; font-family: var(--pio-display); font-weight: 800; font-size: 15px; letter-spacing: .6px; text-transform: uppercase; text-align: left; padding: 12px 14px; border: 0; }
body.pio-v3.single-post .wp-block-table td { padding: 11px 14px; border: 0 !important; border-bottom: 1px solid #e3e6ee !important; vertical-align: top; }
body.pio-v3.single-post .wp-block-table tr:last-child td { border-bottom: 3px solid var(--pio-red) !important; }
body.pio-v3.single-post .wp-block-table td:last-child, body.pio-v3.single-post .wp-block-table th:last-child { font-family: var(--pio-display); font-weight: 800; font-size: 20px; white-space: nowrap; text-align: right; }
body.pio-v3.single-post .wp-block-table strong { color: var(--pio-navy); }
body.pio-v3.single-post .wp-block-table figcaption { font-size: 14px; color: #5b6170; margin-top: 10px; text-align: left; }
@media (max-width: 640px) { body.pio-v3.single-post .wp-block-table table { font-size: 14px; } .pio-v3 .single-post .wp-block-table td, body.pio-v3.single-post .wp-block-table th { padding: 9px 8px; } }

/* ===== Stopka v3 ===== */
.stm-footer { padding: 0 !important; }
.pio-foot { background: var(--pio-navy-dark); color: #fff; font-family: var(--pio-body); position: relative; }
.pio-foot::before { content: ""; display: block; height: 6px; background: linear-gradient(90deg, var(--pio-red) 0 33%, #fff 33% 36%, var(--pio-navy) 36%); }
.pio-foot a { color: #fff !important; text-decoration: none; }
.pio-foot a:hover { color: #ffb3b6 !important; }
.pio-foot__main { max-width: 1240px; margin: 0 auto; padding: 64px 24px 56px; display: grid; grid-template-columns: 1.2fr 1.1fr .65fr 1.05fr; gap: 40px; }
.pio-foot__crest img { display: block; width: 104px; height: auto; filter: drop-shadow(0 10px 20px rgba(0,0,0,.45)); }
.pio-foot__name { font-family: var(--pio-display) !important; font-weight: 800; font-size: 40px; line-height: .92; letter-spacing: .5px; text-transform: uppercase; margin: 22px 0 14px !important; color: #fff !important; }
.pio-foot__name span { color: var(--pio-red); }
.pio-foot__tag { font-size: 16px; line-height: 1.5; color: rgba(255,255,255,.72) !important; max-width: 300px; margin: 0 0 22px !important; }
.pio-foot__social { display: flex; gap: 10px; }
.pio-foot__social a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px 10px 11px; background: rgba(255,255,255,.08); font-family: var(--pio-display); font-weight: 800; font-size: 14px; letter-spacing: .8px; text-transform: uppercase; transition: background .2s; }
.pio-foot__social a:hover { background: var(--pio-red); color: #fff !important; }
.pio-foot__social svg { width: 18px; height: 18px; fill: currentColor; }
.pio-foot__h { font-family: var(--pio-display) !important; font-weight: 800; font-size: 20px; letter-spacing: 1.2px; text-transform: uppercase; color: #fff !important; margin: 10px 0 20px !important; padding-bottom: 10px; position: relative; }
.pio-foot__h::after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 3px; background: var(--pio-red); }
.pio-foot__h span { color: rgba(255,255,255,.5); }
.pio-foot ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.pio-foot li { margin: 0 !important; padding: 0 !important; }
.pio-foot li::before, .pio-foot li::after { display: none !important; }
.pio-foot__groups li { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; align-items: baseline; padding: 9px 0 !important; border-bottom: 1px solid rgba(255,255,255,.12); }
.pio-foot__groups li > a { display: contents; }
.pio-foot__groups b { font-family: var(--pio-display); font-weight: 800; font-size: 22px; color: var(--pio-red); line-height: 1; min-width: 44px; }
.pio-foot__groups .r { font-size: 15px; color: #fff; }
.pio-foot__groups .t { grid-column: 2; font-size: 14px; color: rgba(255,255,255,.65); }
.pio-foot__groups .t a { color: rgba(255,255,255,.85) !important; white-space: nowrap; }
.pio-foot__more { display: inline-block; margin-top: 16px; font-family: var(--pio-display); font-weight: 800; font-size: 15px; letter-spacing: .6px; text-transform: uppercase; border-bottom: 2px solid var(--pio-red); padding-bottom: 2px; }
.pio-foot__nav li { padding: 6px 0 !important; }
.pio-foot__nav a { font-size: 16px; position: relative; padding-left: 16px; display: inline-block; }
.pio-foot__nav a::before { content: ""; position: absolute; left: 0; top: .62em; width: 8px; height: 3px; background: var(--pio-red); transition: width .2s; }
.pio-foot__nav a:hover::before { width: 12px; }
.pio-foot__contact { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; font-size: 16px; line-height: 1.45; }
.pio-foot__contact dt { font-family: var(--pio-display); font-weight: 600; font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; color: rgba(255,255,255,.5); padding-top: 4px; }
.pio-foot__contact dd { margin: 0; color: #fff; }
.pio-foot__contact small { font-size: 13px; color: rgba(255,255,255,.6); }
.pio-foot__contact code { white-space: nowrap; font-family: var(--pio-display); font-weight: 600; font-size: 15px; letter-spacing: .5px; background: none; color: #fff; padding: 0; }
.pio-foot__tel { font-family: var(--pio-display) !important; font-weight: 800; font-size: 24px; letter-spacing: .5px; line-height: 1.1; }

.pio-foot__bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 32px; max-width: 1240px; margin: 0 auto; padding: 18px 24px; font-size: 14px; color: rgba(255,255,255,.65); }
.pio-foot__bottom > * { margin: 0 !important; }
.pio-foot__bottom p { color: rgba(255,255,255,.65) !important; font-size: 14px; }
.pio-foot__bottom a { color: rgba(255,255,255,.85) !important; }
.pio-foot__som { margin-left: auto !important; font-family: var(--pio-display); font-weight: 700; font-size: 13px; letter-spacing: .8px; text-transform: uppercase; padding-right: 72px; }
.pio-foot__som small { font-size: 11px; color: rgba(255,255,255,.5); text-transform: none; letter-spacing: 0; }
.pio-foot__bottom-wrap { background: #08153a; }
@media (max-width: 1100px) { .pio-foot__main { grid-template-columns: 1fr 1fr; gap: 44px 40px; } }
@media (max-width: 640px) {
  .pio-foot__main { grid-template-columns: 1fr; gap: 36px; padding: 44px 16px 36px; }
  .pio-foot__name { font-size: 34px; }
  .pio-foot__bottom { padding: 16px 16px 20px; gap: 8px; flex-direction: column; align-items: flex-start; }
  .pio-foot__som { margin-left: 0 !important; padding-right: 0; }
  .pio-foot__bottom { padding-bottom: 84px; }
}
