/* =========================================================
   KOLIBUS — dodatki specyficzne dla WordPressa.
   main.css to 1:1 kopia stylów ze strona-www — zmiany wyglądu rób tam,
   a tutaj tylko to, czego statyczna strona nie potrzebowała.
   ========================================================= */

/* Pasek administratora nie może zasłaniać przyklejonej nawigacji */
.admin-bar .nav { top: 32px; }
.admin-bar .route-rail { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .nav { top: 46px; }
  .admin-bar .route-rail { top: 46px; }
}
@media (max-width: 600px) {
  .admin-bar .nav { top: 0; }
}

.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
  position: absolute !important; word-wrap: normal !important;
}

/* Pułapka na boty w formularzu */
.form-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.form-card button[disabled] { opacity: .6; cursor: progress; }

/* Telefon w nawigacji i sekcji kontaktu jako klikalny link */
.nav__phone, .contact-info__item a { color: inherit; text-decoration: none; }
.contact-info__item a:hover { text-decoration: underline; }

/* Treść wpisów z edytora blokowego */
article.prose img { max-width: 100%; height: auto; border-radius: var(--radius-m); }
article.prose figure { margin: 1.8rem 0; }
article.prose figcaption { font-size: .85rem; color: var(--ink-soft); margin-top: .5rem; text-align: center; }
article.prose a:not(.btn) { text-decoration: underline; color: var(--flare-dark); }
article.prose .alignleft { float: left; margin: .3rem 1.4rem 1rem 0; }
article.prose .alignright { float: right; margin: .3rem 0 1rem 1.4rem; }
article.prose .aligncenter { margin-left: auto; margin-right: auto; display: block; }

/* Lead w ciemnym nagłówku — w oryginale za mały kontrast (szary na granatowym) */
.page-hero .lede { color: rgba(255,255,255,.72); }

/* Paginacja listy wpisów */
.pagination { display: flex; gap: .5rem; justify-content: center; margin-top: 2.5rem; flex-wrap: wrap; }
.pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.6rem; height: 2.6rem; padding: 0 .8rem; border-radius: 999px;
  border: 1px solid var(--line-strong); font-family: var(--font-mono); font-weight: 700; font-size: .9rem;
}
.pagination .page-numbers.current { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.pagination a.page-numbers:hover { border-color: var(--ink); }

/* Karty wpisów i podstron w siatce */
a.card { display: flex; flex-direction: column; }

/* Pusty stan */
.empty-state { text-align: center; padding: 3rem 0; color: var(--ink-soft); }

/* Dopisek pod sekcją (pole "Dopisek" w Sekcjach strony) */
.section-note { margin-top: 1.6rem; font-size: .9rem; color: var(--ink-soft); }
.section-note p { margin: 0 0 .6rem; }
.section-note a { text-decoration: underline; font-weight: 600; }

/* Specyfikacja przy parzystej liczbie grup: 2 kolumny, na telefonie 1 */
.grid-spec { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }

/* Zdjęcie auta w sekcji floty */
.fleet__art { display: flex; align-items: center; justify-content: center; }
.fleet__art--photo { background: none; padding: 0; }
.fleet__photo { margin: 0; width: 100%; }
.fleet__photo img { display: block; width: 100%; height: auto; }
.fleet__photo figcaption { margin-top: .6rem; text-align: right; font-family: var(--font-mono); font-size: .7rem; letter-spacing: .04em; color: var(--ink-soft); }

/* Odznaka nad wartością licznika (np. „Promocja”) */
.stat { position: relative; }
.stat__badge {
  position: absolute; top: .55rem; left: 50%; transform: translateX(-50%); white-space: nowrap;
  font-family: var(--font-mono); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink); background: var(--gold); padding: .25em .7em; border-radius: 999px;
}

/* Cennik promocyjny: pasek nad pakietami + etykiety na kartach */
.promo-banner {
  display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.1rem;
  background: linear-gradient(100deg, rgba(255,194,69,.28), rgba(255,194,69,.08));
  border: 1px solid rgba(255,194,69,.75); border-radius: var(--radius-m);
  padding: .95rem 1.3rem; margin-bottom: 1.8rem;
}
.promo-banner__tag {
  display: inline-flex; align-items: center; gap: .45em; white-space: nowrap;
  font-family: var(--font-mono); font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  background: var(--gold); color: var(--ink); padding: .4em .9em; border-radius: 999px;
}
.promo-banner__tag::before { content: "\2605"; font-size: .9em; }
.promo-banner p { margin: 0; flex: 1 1 320px; font-size: .9rem; line-height: 1.5; color: var(--ink); }
.price-card__promo {
  display: inline-block; margin-bottom: .7rem;
  font-family: var(--font-mono); font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: #7a5600; background: rgba(255,194,69,.28); padding: .25em .7em; border-radius: 999px;
}
.price-card__promo-inline {
  display: inline-block; margin-left: .3em; vertical-align: 1px;
  font-family: var(--font-mono); font-size: .6rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: #7a5600; background: rgba(255,194,69,.28); padding: .15em .55em; border-radius: 999px;
}

/* Liczniki: tyle kolumn, ile kafelków (bez pustych pól przy 3 lub 5 licznikach) */
@media (min-width: 720px) { .stats { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 1fr; } }

/* Logo pionowe z hasłem (znak B + kolibus + WYNAJEM BUSÓW) */
.nav__brand img { height: 76px; }
.nav.is-scrolled .nav__brand img { height: 60px; }
.nav__brand img { transition: height .25s ease; }
@media (max-width: 420px) { .nav__brand img, .nav.is-scrolled .nav__brand img { height: 56px; } }
.footer__brand img { height: 120px; }

/* Odznaka w rogu kafelka zalety (np. „Promocja”) */
.usp { position: relative; }
.usp__badge {
  position: absolute; top: 1rem; right: 1rem; white-space: nowrap;
  font-family: var(--font-mono); font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink); background: var(--gold); padding: .25em .7em; border-radius: 999px;
}

/* Nagłówek: etykiety menu się nie łamią; na średnich ekranach bez telefonu, poniżej 1100 px menu „hamburger” */
.nav__links a, .nav__phone { white-space: nowrap; }
@media (min-width: 900px) and (max-width: 1279px) {
  .nav__phone { display: none; }
  .nav__links { gap: 1.4rem; }
}
@media (min-width: 900px) and (max-width: 1099px) {
  .nav__links { display: none; }
  .nav__burger { display: flex; }
  .mobile-menu { display: flex; }
}

/* Menu mobilne: zamknięte jest całkiem niewidoczne (nie wystaje przy niskim oknie), otwarte da się przewinąć */
.mobile-menu { overflow-y: auto; visibility: hidden; transition: transform .35s cubic-bezier(.2,.8,.2,1), visibility 0s linear .35s; }
.mobile-menu.is-open { visibility: visible; transition: transform .35s cubic-bezier(.2,.8,.2,1), visibility 0s; }

/* Hero: zdjęcie/mapa zamiast rysunku trasy - wypełnia kartę */
.hero__van-card--map { padding: 0; overflow: hidden; }
.hero__van-card--map img { display: block; width: 100%; height: auto; }
.hero__map-credit {
  position: absolute; right: .7rem; bottom: .6rem;
  font-size: .68rem; color: var(--ink); background: rgba(255,255,255,.85); padding: .15em .5em; border-radius: 4px;
}

/* Hero z mapą: jasna ramka jak przy zdjęciu (bez ciemnej obwódki i bez przechylenia, które szarpało krawędzie) */
.hero__van-card--map {
  background: #fff; padding: 10px; transform: none;
  border: 1px solid var(--line); box-shadow: var(--shadow-lg);
}
.hero__van-card--map img { border-radius: calc(var(--radius-l) - 10px); }
.hero__van-card--map .hero__map-credit { right: 1.25rem; bottom: 1.15rem; }

/* Mapka w hero jako link do Map Google */
a.hero__van-card--map { display: block; transition: transform .25s ease, box-shadow .25s ease; }
a.hero__van-card--map:hover { transform: translateY(-4px); box-shadow: 0 36px 70px -24px rgba(16,24,38,.35); }
a.hero__van-card--map:focus-visible { outline: 3px solid var(--flare); outline-offset: 4px; }

/* Przewijanie: menu NIE zmienia wysokości (inaczej strona podskakuje i menu wpada w pętlę „shake”).
   Zmienia się tylko tło/cień, a logo zmniejsza się wizualnie przez transform - bez wpływu na układ. */
.nav.is-scrolled { padding-block: 1.1rem; }
.nav__brand img, .nav.is-scrolled .nav__brand img { height: 76px; }
.nav__brand img { transform-origin: left center; transition: transform .25s ease; }
.nav.is-scrolled .nav__brand img { transform: scale(.8); }
@media (max-width: 420px) {
  .nav__brand img, .nav.is-scrolled .nav__brand img { height: 56px; transform: none; }
}

/* Hero: Ford „zaparkowany” w lewym dolnym rogu mapy (przezroczyste tło zdjęcia) */
.hero__car {
  position: absolute; left: -9%; bottom: -12%; width: 58%; height: auto; z-index: 3;
  pointer-events: none; /* kliknięcie przechodzi do mapy (link do Map Google) */
  filter: drop-shadow(0 16px 14px rgba(16,24,38,.28)) drop-shadow(0 3px 4px rgba(16,24,38,.18));
  transition: transform .25s ease;
}
.hero__visual:has(a.hero__van-card--map:hover) .hero__car { transform: translateY(-4px); }
@media (max-width: 899px) {
  .hero__car { left: -2%; bottom: -9%; width: 52%; }
  .hero__visual:has(.hero__car) { margin-bottom: 1.5rem; }
}

/* Nagłówek podstron (ciemny pas z tytułem): węższy góra-dół */
.page-hero { padding: clamp(1.9rem, 4vw, 3rem) 0 clamp(1.5rem, 3vw, 2.2rem); }
.page-hero .breadcrumb { margin-bottom: .75rem; }
.page-hero .lede { margin-top: .6rem !important; }
