/* Dopasowanie bloków edytora WordPressa do wyglądu strony. */
.admin-bar .nag { top: 32px; }
@media (max-width: 782px) { .admin-bar .nag { top: 46px; } }
@media (max-width: 600px) { .admin-bar .nag { top: 0; } }

/* obrazy w treści */
.tresc figure { margin: 0 0 1.400em; }
.tresc .wp-block-image img { border-radius: var(--r); }
.tresc .wp-block-image figcaption, .tresc .wp-element-caption { margin-top: .6em; font-size: .9rem; color: var(--tekst2); }
.tresc .wp-block-image.fig-suknia { max-width: 200px; margin-inline: auto; }
.tresc .wp-block-image.fig-symbole { max-width: 560px; }
.tresc .wp-block-image.fig-symbole a { display: block; }
@media (min-width: 560px) { .tresc .wp-block-image.fig-suknia { float: right; max-width: 220px; margin: 0 0 20px 32px; } }
.tresc > .wp-block-image:first-child + h2 { margin-top: 0; }
.tresc h3 { font-size: 1.200rem; margin: 1.400em 0 .5em; }
.tresc ol { margin: 0 0 1.400em 1.400em; list-style: decimal; display: grid; gap: .7em; }
.tresc ol li { padding-left: .3em; }
.tresc ol li::before { content: none; }

/* tabela cennika (blok „Tabela”) */
.tresc .wp-block-table { margin: 0 0 1.600em; overflow-x: visible; }
.tresc .wp-block-table table { width: 100%; border-collapse: collapse; }
.tresc .wp-block-table td, .tresc .wp-block-table th { padding: 15px 4px; border: 0; border-bottom: 1px solid var(--linia); text-align: left; vertical-align: baseline; font-weight: 500; }
.tresc .wp-block-table td:last-child:not(:first-child) { text-align: right; white-space: nowrap; font-weight: 700; color: var(--akc-c); padding-left: 16px; }
.tresc .wp-block-table tr { transition: background-color .25s; }
.tresc .wp-block-table tbody tr:hover { background: var(--tlo2); }
.tresc .wp-block-table thead th { font-weight: 700; border-bottom-width: 2px; }

/* treść z edytora pod listą porad, mapami i danymi kontaktowymi */
.porady-tresc { margin-top: 28px; }
.porady-tresc .porady-symbole { margin-top: 0; }
.lok-tresc { margin-top: clamp(28px, 4vw, 48px); }

/* kontakt: mapy obok danych */
.kt-mapy { display: grid; gap: 22px; min-width: 0; }
.kt-mapa h3 { display: flex; align-items: center; gap: 8px; font-size: 1.150rem; margin: 0 0 10px; }
.kt-mapa h3 .ik { color: var(--akc); }
.kt-mapa .lok-mapa { aspect-ratio: 16 / 10; border: 1px solid var(--linia); }
@media (min-width: 900px) { .pg-kontakt { grid-template-columns: minmax(0, 1fr) minmax(0, 1.150fr); } .pg-kontakt .kt-tresc { grid-column: 1 / -1; } }

/* ---------- menu na telefonie i tablecie: panel wysuwany z prawej, zamykany przyciskiem ---------- */
.menu-gora, .menu-tlo { display: none; }
@media (max-width: 1039.98px) {
  .menu { inset: 0 0 0 auto; width: min(84vw, 340px); z-index: 20; padding: 0 22px 28px; border-radius: 24px 0 0 24px; box-shadow: -18px 0 48px rgba(10, 61, 107, .22); opacity: 1; transform: translateX(105%); transition: transform .38s cubic-bezier(.2, .7, .2, 1), visibility 0s .38s; }
  .menu-otw .menu { transform: none; transition: transform .38s cubic-bezier(.2, .7, .2, 1); }
  .menu-tlo { display: block; position: fixed; inset: 0; z-index: 10; background: rgba(8, 38, 68, .5); opacity: 0; visibility: hidden; transition: opacity .3s, visibility 0s .3s; }
  .menu-otw .menu-tlo { opacity: 1; visibility: visible; transition: opacity .3s; }
  .menu-gora { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: sticky; top: 0; z-index: 1; min-height: 72px; margin: 0 -22px 6px; padding: 0 22px; background: var(--menu-tlo); border-bottom: 1px solid var(--linia); border-radius: 24px 0 0 0; }
  .menu-gora-t { font: 700 .82rem/1 var(--ft); letter-spacing: .14em; text-transform: uppercase; color: var(--tekst2); }
  .menu-zamknij { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--tlo2); color: var(--akc-c); font: 600 .95rem/1 var(--ft); cursor: pointer; }
  .menu-zamknij:hover, .menu-zamknij:focus-visible { background: var(--akc); color: #fff; }
  .menu-l a { min-height: 54px; font-size: 1.080rem; }
  .menu-l a::after { content: '\203A'; margin-left: auto; font-size: 1.300rem; line-height: 1; color: var(--akc); opacity: .6; }
  .menu-kontakt { gap: 8px; margin-top: 20px; }
  .menu-kontakt a { padding: 6px 14px; border-radius: 16px; background: var(--tlo2); }
  .admin-bar .menu { top: 46px; }
}
@media (max-width: 600px) { .admin-bar .menu { top: 0; } }

/* ---------- stopka ---------- */
.st { position: relative; overflow: hidden; background: linear-gradient(165deg, #0d477c 0%, #0a3d6b 45%, #072e52 100%); border-radius: clamp(24px, 5vw, 56px) clamp(24px, 5vw, 56px) 0 0; }
.st::before { content: ''; position: absolute; left: 50%; top: 0; width: min(220px, 40%); height: 5px; transform: translateX(-50%); border-radius: 0 0 6px 6px; background: linear-gradient(90deg, #5db8ec, #fff, #5db8ec); opacity: .9; }
.st .banki i { border-color: rgba(255, 255, 255, .13); background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0) 60%); }
.st-w, .st-dol { position: relative; }
.st-kol h2 { color: #8fc7ee; }
.st-kol li a { transition: color .2s, transform .2s; }
.st-kol li a:hover { text-decoration: none; color: #8fc7ee; transform: translateX(3px); }
.st-punkty { display: grid; gap: 12px; }
.st-punkt { padding: 14px 16px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 18px; background: rgba(255, 255, 255, .06); }
.st-punkt p { display: flex; align-items: center; gap: 10px; margin: 0; }
.st-punkt .ik { width: 18px; height: 18px; flex: none; color: #8fc7ee; }
.st-p-adres b { font: 700 1.050rem/1.3 var(--fn); }
.st-punkt .st-p-godz { margin-top: 4px; font-size: .9rem; color: var(--st-tekst2); }
.st-p-tel, .st-mail { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 10px; padding: 0 16px; border-radius: 999px; background: rgba(255, 255, 255, .12); color: #fff; font-weight: 700; text-decoration: none; transition: background-color .25s, color .25s; }
.st a.st-p-tel:hover, .st a.st-mail:hover { background: #fff; color: #0a3d6b; }
.st-p-tel:hover .ik, .st-mail:hover .ik { color: #0165ad; }
.st-mail { margin-top: 14px; overflow-wrap: anywhere; }
.st-mail .ik { width: 18px; height: 18px; flex: none; color: #8fc7ee; }
.st-dol { background: rgba(0, 0, 0, .14); }
@media (max-width: 639.98px) {
  .st-firma { text-align: center; }
  .st-opis { margin-inline: auto; }
  .st-menu ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
  .st-p-tel, .st-mail { display: flex; justify-content: center; }
  .st-dol-w { flex-direction: column; text-align: center; gap: 2px; padding-bottom: 18px; }
  .st-dol-l { justify-content: center; }
  .st-gora { margin-left: 0; }
}
@media (min-width: 640px) and (max-width: 1039.98px) { .st-punkty { grid-template-columns: 1fr 1fr; } }
