/* Jednolita typografia: tytuły i podtytuły = Unbounded, opisy i pozostałe teksty = Onest (oba hostowane lokalnie, @font-face w site-header.css) */
:root {
  --font-title: 'Unbounded Variable', 'Unbounded', system-ui, sans-serif;
  --font-text: 'Onest Variable', 'Onest', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  /* zmienne starego motywu wskazują teraz te same czcionki */
  --font-header: var(--font-title);
}
body, .pageWrapper { --font-header: var(--font-title); --font-text: 'Onest Variable', 'Onest', system-ui, sans-serif; }

html, body, button, input, select, textarea, table {
  font-family: var(--font-text);
}
body { font-optical-sizing: auto; font-synthesis: none; }

/* wszystkie teksty treści (poza ikonami czcionkowymi) */
body :where(p, li, a, span, div, strong, em, b, small, td, th, label, address, blockquote, figcaption, dt, dd, cite, time):not(.fa):not(i):not([class*="fa-"]):not([class*="glyphicon"]) {
  font-family: var(--font-text);
}

/* tytuły i podtytuły */
body :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .box-content-header, .hero-slide__title, .hero-slide__eyebrow, .footer__heading, .reviewName) {
  font-family: var(--font-title);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.22;
  text-wrap: balance;
}
body :is(h1, h2, h3, h4, h5, h6) strong, body :is(h1, h2, h3, h4, h5, h6) span, body :is(h1, h2, h3, h4, h5, h6) b {
  font-family: inherit;
}

/* skala tytułów (Unbounded jest szeroki, więc mniejsze rozmiary niż dawna czcionka wąska) */
.pageWrapper h1 { font-size: clamp(1.6rem, 2.6vw, 2.4rem); }
.pageWrapper h2 { font-size: clamp(1.35rem, 2vw, 1.85rem); }
.pageWrapper h3 { font-size: clamp(1.05rem, 1.4vw, 1.25rem); }
.pageWrapper h4 { font-size: 1.05rem; }
.pageWrapper h5, .pageWrapper h6 { font-size: .95rem; }
.pageWrapper .box-content-header { font-size: 1rem; font-weight: 600; }
.pageWrapper .reviewName { font-size: .95rem; font-weight: 600; }
.pageWrapper .reviewRate { font-size: 1.2rem; }

/* opisy */
.pageWrapper p, .pageWrapper li, .pageWrapper td, .pageWrapper th,
.pageWrapper .box-content-short-text, .pageWrapper .short-content, .pageWrapper .reviewText, .pageWrapper .reviewDate {
  font-size: 1rem;
  line-height: 1.65;
}
.pageWrapper .button, .pageWrapper .button-link, .pageWrapper .btn { font-weight: 600; letter-spacing: 0; }

/* stopka: wiersze kontaktu czytelnie, linki w osobnych liniach */
.site-footer .footer__contact-row > span:last-child > a,
.site-footer .footer__contact-row > span:last-child > span,
.site-footer .footer__contact-row > span:last-child > strong { display: block; }
.site-footer .footer__contact-row { align-items: flex-start; }
.site-footer .footer__contact-row > span:last-child { gap: .3rem; line-height: 1.5; }
.site-footer .footer__contact-row > span:last-child > a { min-height: 0; padding: 0; }
.site-footer .footer__contact-row > span:last-child > a:hover { color: #fff; }
.site-footer .footer__contact-icon { margin-top: -.1rem; }
.site-footer .footer__contact { gap: 1.25rem; }

/* stopka na tablecie/telefonie: miejsce na stały dolny pasek (64 px) */
@media (max-width: 1279.98px) { .site-footer { padding-bottom: 64px; } }


/* ===== Treść stron (sekcje pod sliderem): tytuły też w Onest; Unbounded zostaje w sliderze, nagłówku i stopce ===== */
.pageWrapper main :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .box-content-header, .reviewName),
.pageWrapper main :is(h1, h2, h3, h4, h5, h6) :is(strong, span, b) {
  font-family: var(--font-text);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.2;
}
.pageWrapper main h1 { font-size: clamp(1.9rem, 3vw, 2.8rem); }
.pageWrapper main h2 { font-size: clamp(1.6rem, 2.5vw, 2.3rem); }
.pageWrapper main h3 { font-size: clamp(1.25rem, 1.8vw, 1.55rem); }
.pageWrapper main h4 { font-size: 1.2rem; }
.pageWrapper main h5, .pageWrapper main h6 { font-size: 1.05rem; }
.pageWrapper main .box-content-header { font-size: 1.2rem; font-weight: 700; }
.pageWrapper main .reviewName { font-size: 1rem; font-weight: 600; }

/* stare reguły motywu używają var(--font-header) – w treści stron wskazuje na Onest */
.pageWrapper main { --font-header: 'Onest Variable', 'Onest', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }

/* ===== Dofinansowanie: kompaktowy, w całości klikalny pasek z logotypami ===== */
section.section:has(.funding-strip) { padding-block: 0 !important; margin-block: 0 !important; }
section.section:has(.funding-strip) .inner-content,
section.section:has(.funding-strip) .section-container { padding-block: 0 !important; }
section.section:has(.funding-strip) .section-container { padding-block: clamp(1.5rem, 3vw, 2.25rem) !important; }
section.section:has(.funding-strip) .row { margin: 0; }
section.section:has(.funding-strip) .column { padding: 0; }

.funding-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(.4rem, 1vw, .75rem) 0;
  cursor: pointer;
}
.funding-strip img { display: block; width: 100%; max-width: 1100px; height: auto; margin: 0 auto; object-fit: contain; }
/* bez ramki i efektów najechania; zostaje tylko widoczny fokus dla klawiatury */
.funding-strip:focus-visible { outline: 3px solid #63a322; outline-offset: 4px; border-radius: 12px; }

/* ===== Mapa lokalizacji (iframe bez klucza) ===== */
.location-map { position: relative; width: 100%; height: var(--map-h, 450px); max-height: 70vh; min-height: 300px; overflow: hidden; background: #e8ece4; }
.location-map__frame { display: block; width: 100%; height: 100%; border: 0; }
.location-map__open {
  position: absolute; left: var(--edge, 20px); bottom: var(--edge, 20px);
  display: inline-flex; align-items: center; gap: .5rem; padding: .65rem 1.1rem .65rem .9rem;
  border-radius: 999px; background: #fff; color: #17311e; font-weight: 600; font-size: .9rem; line-height: 1;
  text-decoration: none; box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.location-map__open svg { width: 1.1rem; height: 1.1rem; color: #63a322; }
.location-map__open:hover, .location-map__open:focus-visible { background: #63a322; color: #fff; transform: translateY(-2px); }
.location-map__open:hover svg, .location-map__open:focus-visible svg { color: #fff; }
.location-map__open:focus-visible { outline: 3px solid #17311e; outline-offset: 2px; }
@media (max-width: 767.98px) { .location-map { min-height: 260px; } }

/* ===== Mapa (Leaflet): ograniczona do szerokości sekcji, bez przypadkowego zoomu przy przewijaniu, karta po lewej ===== */
.location-map-layout { width: var(--page-shell, 100%); max-width: 100%; margin-inline: auto; }
.location-map__stage .location-map__canvas { min-height: clamp(26rem, 46vw, 38rem); }
.location-map__shield {
  position: absolute; inset: 0; z-index: 1000; display: flex; align-items: flex-end; justify-content: center;
  padding: 0 0 1.25rem; border: 0; background: transparent; cursor: pointer; font: inherit;
}
.location-map__shield span { padding: .55rem 1rem; border-radius: 999px; background: rgba(23, 49, 30, .82); color: #fff; font-size: .85rem; opacity: 0; transform: translateY(6px); transition: opacity .2s ease, transform .2s ease; pointer-events: none; }
.location-map__shield:hover span, .location-map__shield:focus-visible span { opacity: 1; transform: none; }
.location-map__shield.is-off { display: none; }
@media (min-width: 992px) {
  .location-map__stage .location-map-card { right: auto; left: clamp(1rem, 2.2vw, 1.5rem); z-index: 1001; }
}
.location-map__stage .location-map-card { z-index: 1001; }

/* ===== Mapa: pinezki, komunikaty „jak daleko skąd" i przyciski spójne ze stroną ===== */
/* brak stałego napisu nad pinezką (zostaje tylko dymek po kliknięciu) */
.location-map-marker-label { display: none !important; }

/* etykiety miast: biała pigułka, nazwa + czas dojazdu */
.location-map__canvas .location-map-place-label {
  display: inline-flex !important; flex-direction: column; align-items: center; gap: .1rem;
  width: auto !important; height: auto !important; margin: 0 !important; transform-origin: center;
  padding: .4rem .8rem .45rem; border-radius: 14px;
  background: #fff; color: #17311e; border: 0;
  box-shadow: 0 8px 20px rgba(11, 40, 20, .28), 0 1px 3px rgba(11, 40, 20, .18);
  font-family: var(--font-text); line-height: 1.15; text-align: center; white-space: nowrap;
  translate: -50% -50%;
}
.location-map__canvas .location-map-place-label__name { font-size: .82rem; font-weight: 700; letter-spacing: 0; text-transform: none; color: #17311e; }
.location-map__canvas .location-map-place-label__time { display: inline-flex; align-items: center; gap: .3rem; font-size: .74rem; font-weight: 600; color: #4f8a1c; text-transform: none; letter-spacing: 0; }
.location-map__canvas .location-map-place-label__time::before {
  content: ''; width: .95rem; height: .95rem; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.6 6.6A2.25 2.25 0 0 1 7.7 5.2h8.6a2.25 2.25 0 0 1 2.1 1.4l1.1 2.9c1 .3 1.8 1.2 1.8 2.3v4.1a.9.9 0 0 1-.9.9h-1v.8a1.2 1.2 0 0 1-1.2 1.2h-.6a1.2 1.2 0 0 1-1.2-1.2v-.8H8.6v.8a1.2 1.2 0 0 1-1.2 1.2h-.6a1.2 1.2 0 0 1-1.2-1.2v-.8h-1a.9.9 0 0 1-.9-.9v-4.1c0-1.1.8-2 1.8-2.3l1.1-2.9Zm2.1 1.3-.8 2.1h10.2l-.8-2.1H7.7ZM7 13.2a1.1 1.1 0 1 0 0 2.2 1.1 1.1 0 0 0 0-2.2Zm10 0a1.1 1.1 0 1 0 0 2.2 1.1 1.1 0 0 0 0-2.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.6 6.6A2.25 2.25 0 0 1 7.7 5.2h8.6a2.25 2.25 0 0 1 2.1 1.4l1.1 2.9c1 .3 1.8 1.2 1.8 2.3v4.1a.9.9 0 0 1-.9.9h-1v.8a1.2 1.2 0 0 1-1.2 1.2h-.6a1.2 1.2 0 0 1-1.2-1.2v-.8H8.6v.8a1.2 1.2 0 0 1-1.2 1.2h-.6a1.2 1.2 0 0 1-1.2-1.2v-.8h-1a.9.9 0 0 1-.9-.9v-4.1c0-1.1.8-2 1.8-2.3l1.1-2.9Zm2.1 1.3-.8 2.1h10.2l-.8-2.1H7.7ZM7 13.2a1.1 1.1 0 1 0 0 2.2 1.1 1.1 0 0 0 0-2.2Zm10 0a1.1 1.1 0 1 0 0 2.2 1.1 1.1 0 0 0 0-2.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.location-map__canvas .location-map-place-label.is-active { background: #63a322; }
.location-map__canvas .location-map-place-label.is-active .location-map-place-label__name,
.location-map__canvas .location-map-place-label.is-active .location-map-place-label__time { color: #fff; }

/* parkingi: spójne zielone kółka z białą literą P */
.location-map__canvas .location-map-parking-pin { background: #17311e; color: #fff; border: 2px solid #fff; box-shadow: 0 4px 10px rgba(11, 40, 20, .35); font-family: var(--font-text); }
.location-map__canvas .location-map-parking-pin__letter { font-size: .8rem; font-weight: 700; }
.location-map__canvas .location-map-parking-pin--ciuchcia { background: #63a322; }

/* pinezka z logo: zielona, bez dodatkowych napisów */
.location-map__canvas .location-map-marker__pin { background: linear-gradient(180deg, #76b72e, #4f8a1c); }

/* okienko po kliknięciu */
.location-map__canvas .location-map-popup__title { font-family: var(--font-text); font-weight: 700; color: #17311e; }
.location-map__canvas .location-map-popup__address { font-family: var(--font-text); color: #4b5d4f; }

/* przyciski karty i okienek – jak „Kup bilet" na reszcie strony */
.location-map-card .hero-slide__action, .location-map-popup .hero-slide__action {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  min-height: 3rem; padding: 0 1.4rem; border-radius: 999px; border: 0;
  font-family: var(--font-text); font-size: .95rem; font-weight: 600; letter-spacing: 0; line-height: 1; text-decoration: none; text-transform: none;
  transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.location-map-card .hero-slide__action .hero-slide__action-icon svg { width: 1.1rem; height: 1.1rem; }
.location-map-card .hero-slide__action--primary, .location-map-popup .hero-slide__action--primary {
  background: #63a322; color: #fff; box-shadow: 0 10px 22px -10px rgba(60, 100, 20, .6);
}
.location-map-card .hero-slide__action--primary:hover, .location-map-card .hero-slide__action--primary:focus-visible,
.location-map-popup .hero-slide__action--primary:hover { background: #76b72e; color: #fff; transform: translateY(-2px); }
.location-map-card .hero-slide__action--secondary {
  background: #fff; color: #17311e; box-shadow: inset 0 0 0 1px rgba(23, 49, 30, .16);
}
.location-map-card .hero-slide__action--secondary:hover, .location-map-card .hero-slide__action--secondary:focus-visible {
  background: #f1f6ec; color: #17311e; transform: translateY(-2px); box-shadow: inset 0 0 0 1px rgba(99, 163, 34, .5);
}
.location-map-card .hero-slide__action:focus-visible { outline: 3px solid #17311e; outline-offset: 2px; }
.location-map-card__actions { display: grid; gap: .6rem; }
.location-map-card__actions .hero-slide__action { width: 100%; }

/* ===== Hero podstron (wzór: strona referencyjna) ===== */
.subpage-hero, .subpage-hero * { box-sizing: border-box; }
.subpage-hero { position: relative; min-height: clamp(26rem, 56vh, 36rem); overflow: hidden; background: #0b391e; color: #fff; }
.subpage-hero::after { content: ""; position: absolute; inset: auto 0 0; height: clamp(5rem, 12vw, 9rem); background: linear-gradient(180deg, rgba(11,57,30,0) 0%, rgba(11,57,30,.55) 100%); pointer-events: none; }
.subpage-hero__media { position: absolute; inset: 0; }
.subpage-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.subpage-hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,27,16,.28) 0%, rgba(7,27,16,.5) 46%, rgba(7,27,16,.72) 100%), linear-gradient(90deg, rgba(11,57,30,.66) 0%, rgba(11,57,30,.34) 42%, rgba(11,57,30,.08) 76%, rgba(11,57,30,0) 100%); }
.subpage-hero__inner { position: relative; display: flex; width: var(--page-shell); min-height: clamp(26rem, 56vh, 36rem); align-items: center; justify-content: center; margin-inline: auto; padding: clamp(6rem, 11vw, 8rem) 0 clamp(2.5rem, 6vw, 4rem); }
.subpage-hero__content { position: relative; z-index: 1; display: grid; gap: .85rem; justify-items: center; max-width: min(52rem, 100%); margin-inline: auto; padding: clamp(1rem, 3vw, 2rem); text-align: center; }
.subpage-hero .subpage-hero__title { margin: 0; color: #fff; font-family: var(--font-header, 'Unbounded', sans-serif); font-size: clamp(2rem, 4.4vw, 3.4rem); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; text-shadow: none; }
.subpage-hero .subpage-hero__lead { max-width: 44rem; margin: 0; color: rgba(255,255,255,.9); font-size: clamp(1rem, 1.5vw, 1.125rem); line-height: 1.7; }
.subpage-hero__breadcrumb { margin-top: .25rem; }
.subpage-hero__breadcrumb ol { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .25rem .5rem; margin: 0; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.12); padding: .5rem 1rem; list-style: none; color: rgba(255,255,255,.9); font-size: .8rem; font-weight: 700; box-shadow: 0 14px 28px -24px rgba(0,0,0,.52); backdrop-filter: blur(10px); }
.subpage-hero__breadcrumb li { display: inline-flex; align-items: center; gap: .5rem; margin: 0; padding: 0; }
.subpage-hero__breadcrumb li::before { display: none; }
.subpage-hero__breadcrumb-separator { color: rgba(255,255,255,.64); line-height: 1; }
.subpage-hero__breadcrumb a, .subpage-hero__breadcrumb span { color: rgba(255,255,255,.9); text-decoration: none; }
.subpage-hero__breadcrumb a:hover, .subpage-hero__breadcrumb a:focus-visible { color: #fff; }
.subpage-hero__breadcrumb a:focus-visible { outline: 2px solid rgba(255,255,255,.62); outline-offset: .2rem; }
@media (max-width: 767.98px) {
  .subpage-hero, .subpage-hero__inner { min-height: 22rem; }
  .subpage-hero__inner { padding-top: 5.5rem; }
  .subpage-hero .subpage-hero__title { font-size: clamp(1.7rem, 7vw, 2.4rem); }
  .subpage-hero .subpage-hero__lead { font-size: .98rem; }
}
/* pasek pod hero: zostaje tylko „Udostępnij" (okruszki są już w hero) */
.pageWrapper main .naviPage .breadCrumbs { display: none; }
.pageWrapper main .naviPage { justify-content: flex-end; }
.slider-wrapper > .slider:has(+ .subpage-hero) { display: none; }
.subpage-hero__inner { padding-top: clamp(3rem, 6vw, 4.5rem); }
@media (max-width: 767.98px) { .subpage-hero__inner { padding-top: 3rem; } }
.location-map__canvas .location-map-parking-pin--disabled { background: #1f5fbf; }
.location-map__canvas .location-map-parking-pin--disabled svg { width: 70%; height: 70%; }

/* Karta „Kontakt i dojazd": czasy dojazdu */
.location-map-layout .location-map-card__times { margin: .9rem 0 .2rem; padding-top: .8rem; border-top: 1px solid rgba(23,49,30,.12); }
.location-map-layout .location-map-card__times-title { margin: 0 0 .5rem; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5b6b60; }
.location-map-layout .location-map-card__times ul { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem .9rem; margin: 0; padding: 0; list-style: none; }
.location-map-layout .location-map-card__times li { display: flex; justify-content: space-between; gap: .5rem; margin: 0; padding: 0; font-size: .82rem; line-height: 1.4; color: #17311e; }
.location-map-layout .location-map-card__times li::before { display: none; }
.location-map-layout .location-map-card__times li strong { font-weight: 700; white-space: nowrap; color: #3f7d12; }
.location-map-layout .location-map-card__value { font-size: 1rem; line-height: 1.45; font-weight: 600; color: #17311e; }
.location-map-layout .location-map-card__actions { margin-top: .9rem; }

/* Pinezki parkingów: styl jak ikony w nagłówku (zielone koło, biała ikona) */
.location-map__canvas .location-map-parking-pin { background: #63a322; color: #fff; border: 2px solid #fff; box-shadow: 0 6px 14px -6px rgba(11,40,20,.55); }
.location-map__canvas .location-map-parking-pin__letter { font-family: var(--font-header, 'Unbounded', sans-serif); font-size: .78rem; font-weight: 700; }
.location-map__canvas .location-map-parking-pin--disabled { background: #63a322; }
.location-map__canvas .location-map-parking-pin--disabled svg { width: 72%; height: 72%; }
.location-map__canvas .maplibregl-canvas { outline: none; }

/* Panel czasów dojazdu (prawy górny róg mapy) */
.location-map__canvas .leaflet-top.leaflet-right { margin: 1rem 1rem 0 0; display: flex; flex-direction: column; align-items: flex-end; gap: .6rem; }
.location-map__canvas .leaflet-top.leaflet-right .leaflet-control { margin: 0; float: none; }
.location-map__canvas .location-map-times { width: 14.5rem; padding: .85rem 1rem; border: 0; border-radius: 1.1rem; background: rgba(255,255,255,.96); box-shadow: 0 14px 30px -18px rgba(11,40,20,.55); color: #17311e; }
.location-map__canvas .location-map-times__title { margin: 0 0 .5rem; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5b6b60; }
.location-map__canvas .location-map-times ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .3rem; }
.location-map__canvas .location-map-times li { display: flex; justify-content: space-between; gap: .6rem; margin: 0; padding: 0; font-size: .84rem; line-height: 1.35; }
.location-map__canvas .location-map-times li::before { display: none; }
.location-map__canvas .location-map-times strong { white-space: nowrap; font-weight: 700; color: #3f7d12; }
.location-map__canvas .leaflet-control-zoom { border: 0; border-radius: 999px; overflow: hidden; box-shadow: 0 14px 30px -18px rgba(11,40,20,.55); }
.location-map__canvas .leaflet-control-zoom a { width: 2.4rem; height: 2.4rem; line-height: 2.4rem; font-size: 1.3rem; color: #17311e; background: rgba(255,255,255,.96); }
@media (max-width: 991.98px) { .location-map__canvas .location-map-times { display: none; } }

/* Dymki mapy: wyśrodkowane, tytuł w dwóch liniach, ciaśniejsze odstępy */
.location-map-popup { text-align: center; }
.leaflet-popup-content-wrapper .location-map-popup { min-width: 15rem; max-width: 19rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; }
.location-map-popup .location-map-popup__title { display: block; margin: 0; font-family: var(--font-header, 'Unbounded', sans-serif); font-size: .9rem; line-height: 1.3; color: #17311e; }
.location-map-popup .location-map-popup__address { margin: 0; font-size: .86rem; line-height: 1.45; color: #4a5a4f; }
.location-map-popup .location-map-popup__action { margin: .35rem 0 0; width: 100%; justify-content: center; }
.location-map-popup .location-map-popup__action + .location-map-popup__action { margin-top: .3rem; }
.location-map-popup .hero-slide__action--secondary { background: #fff; color: #17311e; border: 1px solid rgba(23,49,30,.2); }

/* Pinezki parkingów: oficjalny zielony, pozostałe niebieskie, większe ikony */
.location-map__canvas .location-map-parking-pin { width: 2.4rem; height: 2.4rem; background: linear-gradient(180deg, #3b82f0 0%, #1f5fc4 100%); border-width: 2.5px; }
.location-map__canvas .location-map-parking-pin__letter { font-size: 1.05rem; }
.location-map__canvas .location-map-parking-pin svg { width: 1.45rem; height: 1.45rem; }
.location-map__canvas .location-map-parking-pin--disabled svg { width: 1.6rem; height: 1.6rem; }
.location-map__canvas .location-map-parking-pin--disabled { background: linear-gradient(180deg, #3b82f0 0%, #1f5fc4 100%); }
.location-map__canvas .location-map-parking-pin--ciuchcia { background: linear-gradient(180deg, #f39a2e 0%, #d97a0c 100%); }
.location-map__canvas .location-map-parking-pin--official { background: linear-gradient(180deg, #7cc031 0%, #4f8f14 100%); }

/* Karta: same przyciski bez tła */
.location-map__stage .location-map-card { background: none !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; width: min(17rem, calc(100% - 2rem)); gap: .55rem; }
.location-map__stage .location-map-card .hero-slide__action--secondary { box-shadow: 0 10px 24px -14px rgba(11,40,20,.55); }
.location-map__stage .location-map-card .hero-slide__action--primary { box-shadow: 0 12px 26px -12px rgba(63,125,18,.7); }

/* Źródła mapy: mała ikona „i", po kliknięciu wysuwany pasek */
.location-map__canvas .leaflet-control-attribution.location-map-attribution { position: relative; display: flex; align-items: center; justify-content: flex-end; min-width: 1.9rem; height: 1.9rem; max-width: 1.9rem; overflow: hidden; margin: 0 .6rem .6rem 0; padding: 0 0 0 1.9rem; border-radius: 999px; background: rgba(255,255,255,.96); color: #17311e; font-size: 0; white-space: nowrap; cursor: pointer; box-shadow: 0 8px 20px -12px rgba(11,40,20,.55); transition: max-width .35s ease, padding .35s ease; }
.location-map__canvas .leaflet-control-attribution.location-map-attribution::before { content: "i"; position: absolute; left: 0; top: 0; width: 1.9rem; height: 1.9rem; display: grid; place-items: center; font: 700 .9rem/1 Georgia, serif; font-style: italic; color: #3f7d12; }
.location-map__canvas .leaflet-control-attribution.location-map-attribution.is-open { max-width: 30rem; padding-right: .8rem; font-size: .72rem; }
.location-map__canvas .leaflet-control-attribution a { color: #3f7d12; }

/* Panel czasów dojazdu także na mniejszych ekranach (kompaktowo) */
@media (max-width: 991.98px) {
  .location-map__canvas .leaflet-top.leaflet-right { margin: .6rem .6rem 0 0; }
  .location-map__canvas .location-map-times { display: block; width: 10.5rem; padding: .6rem .75rem; border-radius: .9rem; }
  .location-map__canvas .location-map-times li { font-size: .74rem; }
  .location-map__canvas .location-map-times__title { font-size: .62rem; margin-bottom: .35rem; }
}

/* === Układ mapy: zoom prawy górny, dojazd prawy dolny, CTA po lewej === */
.location-map__canvas .leaflet-top.leaflet-right { margin: .8rem .8rem 0 0; display: block; }
.location-map__canvas .leaflet-bottom.leaflet-right { margin: 0 .8rem .8rem 0; display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; }
.location-map__canvas .leaflet-bottom.leaflet-right .leaflet-control { margin: 0; float: none; }
.location-map__canvas .location-map-times { width: 11.5rem; padding: .6rem .8rem; border-radius: .9rem; box-shadow: 0 10px 24px -16px rgba(11,40,20,.5); }
.location-map__canvas .location-map-times__title { margin: 0 0 .35rem; font-size: .62rem; }
.location-map__canvas .location-map-times ul { gap: .12rem; }
.location-map__canvas .location-map-times li { font-size: .76rem; line-height: 1.3; }
.location-map__canvas .leaflet-control-attribution.location-map-attribution { margin: 0; }
@media (max-width: 991.98px) {
  .location-map__canvas .leaflet-top.leaflet-right { margin: .6rem .6rem 0 0; }
  .location-map__canvas .location-map-times { width: 9.8rem; padding: .5rem .65rem; }
  .location-map__canvas .location-map-times li { font-size: .7rem; }
}

/* przyciski po lewej: lżejsze, węższe, ciaśniej */
.location-map__stage .location-map-card { width: min(14.5rem, calc(100% - 2rem)); gap: .4rem; }
.location-map__stage .location-map-card .hero-slide__action { min-height: 2.6rem; padding-block: .5rem; font-size: .86rem; }
.location-map__stage .location-map-card .hero-slide__action--secondary { background: rgba(255,255,255,.92); }
@media (min-width: 992px) { .location-map__stage .location-map-card { top: 50%; bottom: auto; transform: translateY(-50%); } }

/* podpowiedź „Kliknij, aby przesuwać mapę": mała, subtelna, znika po chwili */
.location-map__shield span { padding: .3rem .7rem; font-size: .72rem; background: rgba(23,49,30,.6); backdrop-filter: blur(4px); transform: none; transition: none; opacity: 0; }
.location-map__shield { align-items: flex-start; padding-top: 1rem; }
.location-map__shield:hover span, .location-map__shield:focus-visible span { animation: lmHint 2.8s ease forwards; opacity: 0; }
@keyframes lmHint { 0% { opacity: 0; } 12% { opacity: 1; } 75% { opacity: 1; } 100% { opacity: 0; } }

/* === Poprawka: dojazd w lewym górnym rogu, przyciski w lewym dolnym, czytelniejsze teksty === */
.location-map__canvas .leaflet-top.leaflet-left { margin: .8rem 0 0 .8rem; }
.location-map__canvas .leaflet-top.leaflet-left .leaflet-control { margin: 0; float: none; }
.location-map__canvas .location-map-times { width: 13rem; padding: .75rem .9rem; background: #fff; border: 1px solid rgba(23,49,30,.14); box-shadow: 0 12px 28px -14px rgba(11,40,20,.55); }
.location-map__canvas .location-map-times__title { font-size: .7rem; color: #3b4a40; margin-bottom: .45rem; }
.location-map__canvas .location-map-times ul { gap: .22rem; }
.location-map__canvas .location-map-times li { font-size: .88rem; line-height: 1.35; color: #10261a; font-weight: 500; }
.location-map__canvas .location-map-times strong { color: #2f6a0c; font-weight: 700; }
@media (min-width: 992px) { .location-map__stage .location-map-card { top: auto; bottom: 1.25rem; transform: none; left: .8rem; } }
@media (max-width: 991.98px) {
  .location-map__canvas .leaflet-top.leaflet-left { margin: .6rem 0 0 .6rem; }
  .location-map__canvas .location-map-times { width: 10.8rem; padding: .55rem .7rem; }
  .location-map__canvas .location-map-times li { font-size: .76rem; }
}

/* pasek źródeł: ciemny, czytelny tekst */
.location-map__canvas .leaflet-control-attribution.location-map-attribution.is-open { gap: .35rem; padding-right: 1rem; font-size: .78rem; }
.location-map__canvas .leaflet-control-attribution.location-map-attribution a,
.location-map__canvas .leaflet-control-attribution.location-map-attribution a:visited { color: #1f4f0a !important; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; padding: 0 .15rem; }
.location-map__canvas .leaflet-control-attribution.location-map-attribution { color: #10261a; }

/* Marker dostępności: ten sam rozmiar i styl co pozostałe pinezki parkingowe */
.location-map__canvas .location-map-parking-pin--disabled svg { width: 1.45rem; height: 1.45rem; }

/* === Mapa: jeden odstęp od krawędzi dla wszystkich czterech narożników (30 / 20 / 16 px jak menu i slider) === */
.location-map__stage { --map-edge-spacing: var(--edge, 30px); }
.location-map__stage .location-map__canvas .leaflet-top.leaflet-left,
.location-map__stage .location-map__canvas .leaflet-top.leaflet-right,
.location-map__stage .location-map__canvas .leaflet-bottom.leaflet-left,
.location-map__stage .location-map__canvas .leaflet-bottom.leaflet-right { margin: 0; }
.location-map__stage .location-map__canvas .leaflet-top { top: var(--map-edge-spacing); }
.location-map__stage .location-map__canvas .leaflet-bottom { bottom: var(--map-edge-spacing); }
.location-map__stage .location-map__canvas .leaflet-left { left: var(--map-edge-spacing); }
.location-map__stage .location-map__canvas .leaflet-right { right: var(--map-edge-spacing); }
.location-map__stage .location-map__canvas .leaflet-control-zoom.leaflet-bar { margin: 0; }
.location-map__stage .location-map__canvas .location-map-times { margin: 0; }
.location-map__stage .location-map__canvas .leaflet-control-attribution.location-map-attribution { margin: 0; }
@media (min-width: 992px) {
  .location-map__stage .location-map-card { left: var(--map-edge-spacing); bottom: var(--map-edge-spacing); }
}
.location-map__stage .location-map__canvas .leaflet-control-zoom a { transition: background-color .2s ease, color .2s ease; }
.location-map__stage .location-map__canvas .leaflet-control-zoom a:hover,
.location-map__stage .location-map__canvas .leaflet-control-zoom a:focus-visible { background: #eef6e3; color: #2f6a0c; }
@media (max-width: 767.98px) {
  /* na telefonie panel dojazdu schodzi na dół, żeby nie zasłaniać pinezki Bramy */
  .location-map__stage .location-map__canvas .leaflet-top.leaflet-left { top: auto; bottom: var(--map-edge-spacing); }
}

/* Marker dostępności: okrąg 40×40, biała ikona Font Awesome 24×24, bez dodatkowych transformacji */
.location-map__canvas .location-map-parking-pin--disabled { box-sizing: border-box; width: 40px; height: 40px; }
.location-map__canvas .location-map-parking-pin--disabled svg { display: block; width: 24px; height: 24px; transform: none; }

/* === Znaczniki POI mapy: jedna rodzina (Lucide), te same proporcje === */
.location-map__canvas .location-map-parking-pin,
.location-map__canvas .location-map-parking-pin--disabled { box-sizing: border-box; width: 40px; height: 40px; border: 2px solid #fff; box-shadow: 0 8px 18px -8px rgba(11,40,20,.55); }
.location-map__canvas .location-map-parking-pin svg,
.location-map__canvas .location-map-parking-pin--disabled svg { display: block; width: 24px; height: 24px; transform: none; fill: none; stroke: currentColor; }

/* Panel: godziny otwarcia + dojazd */
.location-map__canvas .location-map-times__note { margin: .35rem 0 0; font-size: .74rem; line-height: 1.35; color: #4a5a4f; }
.location-map__canvas .location-map-times__title--next { margin-top: .7rem; padding-top: .6rem; border-top: 1px solid rgba(23,49,30,.12); }
.location-map__canvas .location-map-times { width: 14rem; }

/* Przyciski na mapie: wyraźne, kontrastowe */
.location-map__stage .location-map-card .hero-slide__action { border-radius: 999px; font-weight: 700; letter-spacing: .01em; }
.location-map__stage .location-map-card .hero-slide__action--primary { background: #3f7d12; color: #fff; border: 2px solid #fff; box-shadow: 0 12px 26px -10px rgba(11,40,20,.75); }
.location-map__stage .location-map-card .hero-slide__action--primary:hover { background: #2f6a0c; }
.location-map__stage .location-map-card .hero-slide__action--secondary { background: #fff; color: #10261a; border: 2px solid #17311e; box-shadow: 0 12px 26px -12px rgba(11,40,20,.65); }
.location-map__stage .location-map-card .hero-slide__action--secondary:hover { background: #eef6e3; }
.location-map__stage .location-map-card .hero-slide__action .hero-slide__action-icon svg { color: inherit; }

/* Dymki mapy: dwa przyciski obok siebie, mniejsze, poprawne hovery */
.leaflet-popup-content-wrapper .location-map-popup { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; align-items: stretch; justify-items: stretch; min-width: 17rem; max-width: 21rem; }
.leaflet-popup-content-wrapper .location-map-popup .location-map-popup__title,
.leaflet-popup-content-wrapper .location-map-popup .location-map-popup__address { grid-column: 1 / -1; text-align: center; }
.leaflet-popup-content-wrapper .location-map-popup .location-map-popup__action { margin: .3rem 0 0; width: auto; min-height: 2.3rem; padding: .35rem .6rem; font-size: .78rem; font-weight: 700; line-height: 1.15; white-space: normal; text-align: center; justify-content: center; border-radius: 999px; transform: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease; }
/* gdy jest tylko jeden przycisk (główna pinezka), rozciąga się na całą szerokość */
.leaflet-popup-content-wrapper .location-map-popup .location-map-popup__action:only-of-type { grid-column: 1 / -1; }
.leaflet-popup-content-wrapper .location-map-popup .hero-slide__action--primary { background: #3f7d12; color: #fff; border: 2px solid #3f7d12; }
.leaflet-popup-content-wrapper .location-map-popup .hero-slide__action--primary:hover,
.leaflet-popup-content-wrapper .location-map-popup .hero-slide__action--primary:focus-visible { background: #2f6a0c; border-color: #2f6a0c; color: #fff; transform: none; }
.leaflet-popup-content-wrapper .location-map-popup .hero-slide__action--secondary { background: #fff; color: #17311e; border: 2px solid #17311e; }
.leaflet-popup-content-wrapper .location-map-popup .hero-slide__action--secondary:hover,
.leaflet-popup-content-wrapper .location-map-popup .hero-slide__action--secondary:focus-visible { background: #17311e; color: #fff; border-color: #17311e; transform: none; }

/* podpowiedź „Kliknij, aby przesuwać mapę" na dole */
.location-map__shield { align-items: flex-end; padding: 0 0 1rem; }
.location-map__canvas .location-map-times { width: 15rem; }
.location-map__canvas .location-map-times__hours li { flex-direction: column; align-items: flex-start; gap: 0; }
.location-map__canvas .location-map-times__hours li strong { font-size: .9rem; }
.leaflet-popup-content-wrapper .location-map-popup { min-width: 19rem; max-width: 23rem; grid-template-columns: 1fr 1fr; }
.leaflet-popup-content-wrapper .location-map-popup .location-map-popup__action { white-space: nowrap; padding-inline: .5rem; font-size: .78rem; }
.leaflet-popup-content-wrapper .location-map-popup .location-map-popup__action .hero-slide__action-label { white-space: nowrap; }
@media (max-width: 420px) { .leaflet-popup-content-wrapper .location-map-popup { min-width: 16rem; } }

/* === Jeden panel: godziny + dojazd + przyciski, bez ramek === */
.location-map__stage .location-map__canvas .location-map-times,
.location-map__stage .location-map__canvas .location-map-times.leaflet-bar { border: 0; width: 15.5rem; padding: 1rem 1.1rem 1.1rem; border-radius: 1.2rem; background: #fff; box-shadow: 0 18px 40px -22px rgba(11,40,20,.6); }
.location-map__stage .location-map__canvas .location-map-times .location-map-card { position: static; transform: none; width: auto; margin: .9rem 0 0; padding: 0; background: none; box-shadow: none; display: grid; gap: .45rem; }
.location-map__stage .location-map__canvas .location-map-times .location-map-card__actions { display: grid; gap: .45rem; margin: 0; }
.location-map__stage .location-map__canvas .location-map-times .hero-slide__action { min-height: 2.5rem; padding: .45rem .9rem; border: 0; box-shadow: none; font-size: .85rem; font-weight: 700; border-radius: 999px; justify-content: center; transition: background-color .2s ease, color .2s ease; }
.location-map__stage .location-map__canvas .location-map-times .hero-slide__action--primary { background: #4f8f14; color: #fff; }
.location-map__stage .location-map__canvas .location-map-times .hero-slide__action--primary:hover,
.location-map__stage .location-map__canvas .location-map-times .hero-slide__action--primary:focus-visible { background: #3f7d12; color: #fff; }
.location-map__stage .location-map__canvas .location-map-times .hero-slide__action--secondary { background: #eef3e8; color: #17311e; }
.location-map__stage .location-map__canvas .location-map-times .hero-slide__action--secondary:hover,
.location-map__stage .location-map__canvas .location-map-times .hero-slide__action--secondary:focus-visible { background: #dfe9d4; color: #10261a; }
/* tablet/telefon: przyciski zostają pod mapą, lżejsze i bez grubych ramek */
@media (max-width: 991.98px) {
  .location-map__stage .location-map-card .hero-slide__action--primary { border: 0; background: #4f8f14; box-shadow: 0 10px 22px -12px rgba(11,40,20,.6); }
  .location-map__stage .location-map-card .hero-slide__action--secondary { border: 0; background: #fff; color: #17311e; box-shadow: 0 10px 22px -14px rgba(11,40,20,.5); }
}
.location-map__stage .location-map__canvas .location-map-times .location-map-card,
.location-map__stage .location-map__canvas .location-map-times .location-map-card__actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
.location-map__stage .location-map__canvas .location-map-times .hero-slide__action { width: 100%; white-space: nowrap; }

/* Panel na wysokość mapy minus odstępy od krawędzi; przyciski przy dolnej krawędzi panelu */
@media (min-width: 992px) {
  .location-map__stage .location-map__canvas .leaflet-top.leaflet-left { bottom: var(--map-edge-spacing); display: flex; }
  .location-map__stage .location-map__canvas .leaflet-top.leaflet-left .location-map-times { display: flex; flex-direction: column; height: 100%; overflow-y: auto; }
  .location-map__stage .location-map__canvas .location-map-times .location-map-card { margin-top: auto; padding-top: .9rem; }
}
/* przyciski karty: „Jak dojadę?" wyróżniony konturem, żeby nie wyglądał jak „Zobacz w Google Maps" */
.location-map__stage .location-map-card .location-map-card__secondary[download],
.location-map__stage .location-map__canvas .location-map-times .location-map-card__secondary[download] { background: transparent; box-shadow: none; border: 2px solid #4f8f14; color: #2f6a0c; }
.location-map__stage .location-map__canvas .location-map-times .location-map-card__secondary[download]:hover,
.location-map__stage .location-map-card .location-map-card__secondary[download]:hover { background: #4f8f14; color: #fff; }

/* Menu główne: bez zielonego podkreślenia */
.main-nav__surface::after, .main-nav__surface:hover::after, .main-nav__surface.is-active::after, .main-nav__item.is-active .main-nav__surface::after { display: none !important; content: none !important; }

/* Hero podstron: okruszki + „Udostępnij" w jednym rzędzie */
.subpage-hero__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem; margin-top: .25rem; }
.subpage-hero__row .subpage-hero__breadcrumb { margin-top: 0; }
.subpage-hero .subpage-hero__share { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem 1rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.12); color: rgba(255,255,255,.92); font-size: .8rem; font-weight: 700; line-height: 1.25; text-decoration: none; box-shadow: 0 14px 28px -24px rgba(0,0,0,.52); backdrop-filter: blur(10px); transition: background-color .2s ease, color .2s ease; }
.subpage-hero .subpage-hero__share svg { width: 1rem; height: 1rem; fill: currentColor; flex: none; }
.subpage-hero .subpage-hero__share:hover, .subpage-hero .subpage-hero__share:focus-visible { background: #fff; color: #17311e; }
.subpage-hero .subpage-hero__share:focus-visible { outline: 2px solid rgba(255,255,255,.7); outline-offset: .2rem; }

/* Okno „Udostępnij" */
#share-box { font-family: var(--font-text, 'Onest', sans-serif); min-width: 19rem; max-width: calc(100vw - 2rem); padding: 1.25rem 1.25rem 1.1rem; border-radius: 1.4rem; background: #fff; box-shadow: 0 30px 70px -20px rgba(11,40,20,.55); }
#share-box header { margin-bottom: .75rem; font-family: var(--font-header, 'Unbounded', sans-serif); font-size: .95rem; font-weight: 700; color: #17311e; }
#share-box header div:first-child { display: flex; align-items: center; gap: .6rem; }
#share-box header div:first-child svg { margin-right: 0; width: 1.1rem; height: 1.1rem; }
#share-box header path { fill: #4f8f14; }
#share-box .closeShareBox { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 999px; background: #eef3e8; transition: background-color .2s ease; }
#share-box .closeShareBox:hover { background: #dfe9d4; }
#share-box .share-box-body { gap: .45rem; }
#share-box .share-box-body a { display: flex; align-items: center; margin: 0; padding: .75rem 1rem; border-radius: .9rem; background: #f6f9f2; box-shadow: none; color: #17311e; font-weight: 600; transition: background-color .2s ease, color .2s ease; }
#share-box .share-box-body a:hover { background: #4f8f14; color: #fff; }
#share-box .share-box-body a:hover svg path, #share-box .share-box-body a:hover svg g path { fill: #fff; }
#share-box .share-box-body a svg { flex: none; }
#share-box .share-box-body a span { margin-left: .85rem; }

/* Hero: przycisk linków/kontaktu jako okrągła ikona, jak pastylka okruszków */
.subpage-hero .subpage-hero__share { width: 2.4rem; height: 2.4rem; padding: 0; justify-content: center; gap: 0; }
.subpage-hero .subpage-hero__share svg { width: 1.05rem; height: 1.05rem; }

/* Okno „Udostępnij i kontakt" (przebudowane): przyciski-wiersze, toast, overlay */
#share-box[hidden], .pop-up-overlay[data-share-overlay][hidden] { display: none !important; }
#share-box { display: block; width: min(24rem, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); max-height: calc(100dvh - 2rem); overflow-y: auto; box-sizing: border-box; }
.pop-up-overlay[data-share-overlay]:not([hidden]) { display: block; }
#share-box header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
#share-box #share-box-title { display: flex; align-items: center; gap: .6rem; }
#share-box #share-box-title svg { width: 1.1rem; height: 1.1rem; fill: #4f8f14; flex: none; }
#share-box .closeShareBox { border: 0; padding: 0; cursor: pointer; flex: none; }
#share-box .closeShareBox svg { width: 1rem; height: 1rem; fill: #17311e; }
#share-box .share-box-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: .45rem; }
#share-box .share-item { display: flex; align-items: center; gap: .85rem; width: 100%; box-sizing: border-box; margin: 0; padding: .75rem 1rem; border: 0; border-radius: .9rem; background: #f6f9f2; color: #17311e; font: inherit; font-weight: 600; text-align: left; text-decoration: none; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
#share-box .share-item:hover, #share-box .share-item:focus-visible { background: #4f8f14; color: #fff; outline: 0; }
#share-box .share-item:focus-visible { box-shadow: 0 0 0 3px rgba(79,143,20,.35); }
#share-box .share-item__icon { display: grid; place-items: center; flex: none; width: 1.5rem; height: 1.5rem; }
#share-box .share-item__icon svg { width: 1.35rem; height: 1.35rem; margin: 0; fill: #4f8f14; transition: fill .2s ease; }
#share-box .share-item:hover .share-item__icon svg, #share-box .share-item:focus-visible .share-item__icon svg { fill: #fff; }
#share-box .share-item__text { display: flex; flex-direction: column; min-width: 0; margin: 0; line-height: 1.25; }
#share-box .share-item__text span { margin: 0; }
#share-box .share-item__text small { margin-top: .15rem; font-size: .78rem; font-weight: 400; opacity: .75; }
#share-box .share-box-toast { min-height: 1.2rem; margin: .7rem 0 0; font-size: .85rem; font-weight: 600; color: #4f8f14; text-align: center; }

/* Komunikat o godzinach w święto (okno czasowe) */
.location-map__canvas .location-map-times__special { margin: .45rem 0 0; padding: .4rem .6rem; border-radius: .6rem; background: #eef6e3; color: #2f5a0e; font-size: .76rem; font-weight: 600; line-height: 1.35; }

/* Przycisk udostępniania w nagłówku sekcji (po prawej) */
.section-header-share { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.section-header-share .header-line { flex-basis: 100%; }
.section-share-btn { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; margin-left: auto; border-radius: 999px; background: #eef3e8; color: #4f8f14; transition: background-color .2s ease, color .2s ease; }
.section-share-btn svg { width: 1.05rem; height: 1.05rem; fill: currentColor; }
.section-share-btn:hover, .section-share-btn:focus-visible { background: #4f8f14; color: #fff; outline: 0; }
.subpage-hero__row:not(:has(.subpage-hero__share)) { justify-content: center; }

/* FAQ: dwie kolumny, mniejsze odstępy, spójne paddingi odpowiedzi */
.widget-accordion .accordion { gap: .6rem; }
@media (min-width: 992px) {
  .widget-accordion .accordion { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: .6rem 1rem; }
}
.widget-accordion .accordion > div[itemprop="mainEntity"] { min-width: 0; margin: 0; }
.widget-accordion .accordion-body { padding: 1rem 1.25rem 1.25rem; }
.widget-accordion .accordion-body p { margin: 0 0 .75rem; }
.widget-accordion .accordion-body p:last-child { margin-bottom: 0; }
.widget-accordion .accordion-body .row, .widget-accordion .accordion-body [class*="col-"] { margin: 0; padding: 0; }
