/* ════════════════════════════════════════════════════════════════════
   PRIMAVERA: wygląd kalendarza i formularza WP Booking System
   Tylko wygląd. Ustawienia kalendarzy, synchronizacja iCal, ceny
   i pola formularza zostają w wtyczce bez zmian.

   Klasy sprawdzone na WP Booking System Premium 5.12.8.2
   (strona apartament-primavera.pl, październik 2026).

   Wtyczka ma reguły z !important i ładuje swój CSS na końcu strony,
   więc przy równej szczegółowości wygrywałaby ona. Każda nasza reguła
   zaczyna się od :is(body.pv-site, #pv-wbs): :is() przyjmuje
   szczegółowość identyfikatora (1,0,0), nawet gdy #pv-wbs nie istnieje,
   więc skórka zawsze jest silniejsza od klas wtyczki.
   ════════════════════════════════════════════════════════════════════ */

/* ---------- miejsce na stronie ----------
   Widżet kalendarza stoi w Elementorze zaraz pod widżetem
   „Primavera: Rezerwacja”, więc dostaje ten sam rytm co sekcje. */
/* Widżet skopiowany ze starej strony może mieć własne ustawienia układu
   z Elementora (szerokość, marginesy, wyrównanie), które Elementor
   wypisuje w CSS strony. Stąd !important: kalendarz ma zawsze stać
   w tej samej kolumnie co nagłówek sekcji. */
:is(body.pv-site, #pv-wbs) .elementor-widget:has(.wpbs-main-wrapper) {
  width: 100% !important; max-width: var(--pv-max) !important;
  margin: 0 auto !important; padding: 0 var(--pv-pad-x) var(--pv-pad-y) !important;
  align-self: center !important; flex: 0 0 auto !important;
  position: relative !important; inset: auto !important; transform: none !important;
}
:is(body.pv-site, #pv-wbs) .elementor-widget:has(.wpbs-main-wrapper) > .elementor-widget-container {
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
  width: auto !important; max-width: none !important;
}

:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper {
  display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px); align-items: start;
  width: 100% !important; max-width: calc(var(--pv-max) - 2 * var(--pv-pad-x)) !important;
  margin: 0 auto !important; padding: 0 !important; float: none !important;
  font-family: var(--pv-sans); color: var(--pv-ink);
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper > .wpbs-container,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper > .wpbs-form-container {
  width: auto !important; max-width: none !important; min-width: 0 !important;
  margin: 0 !important; float: none !important;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-calendars-wrapper { max-width: none !important; width: 100% !important; }
@media (max-width: 980px) {
  :is(body.pv-site, #pv-wbs) .wpbs-main-wrapper { grid-template-columns: 1fr; }
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-skip-to-content-link { position: absolute; }

/* ---------- kalendarz ---------- */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container { font-family: var(--pv-sans) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-calendars {
  /* siatka zamiast flexa: miesiące mają równą szerokość i wypełniają kolumnę;
     wtyczka daje tu margines -5px, przez który kalendarz wystawał na telefonie */
  display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(20px, 3vw, 36px); margin: 0 !important; padding: 0 !important; width: 100% !important;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-calendar-wrapper { padding: 0 !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-calendar {
  background: transparent !important; border: 0 !important;
  border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important;
  /* wtyczka wpisuje max-width 380px w atrybucie style: miesiące nie wypełniały kolumny */
  max-width: none !important; min-width: 0 !important; width: auto !important; float: none !important;
}

/* nagłówek miesiąca: strzałki i lista miesięcy */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-calendar-header {
  background: transparent !important; border: 0 !important; padding: 0 0 14px !important;
  border-bottom: 1px solid var(--pv-hair) !important; margin-bottom: 12px !important;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-calendar-header-navigation {
  display: flex !important; align-items: center; gap: 8px; width: 100%; min-height: 36px;
  padding: 0 !important; margin: 0 !important; background: transparent !important;
}
/* Pierwszy miesiąc ma listę wyboru, kolejne tylko nazwę. Ta sama
   wysokość i typografia, żeby nagłówki stały w jednej linii. */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-calendar-header-navigation-month-name {
  flex: 1; text-align: center; font-family: var(--pv-sans) !important; font-size: 11px !important;
  font-weight: 400 !important; letter-spacing: 0.22em; text-transform: uppercase; color: var(--pv-ink) !important;
  line-height: 36px !important; padding: 0 4px !important; margin: 0 !important; background: transparent !important;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-select-container { flex: 1; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-select-container select {
  width: 100%; font-family: var(--pv-sans) !important; font-size: 11px !important; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--pv-ink) !important; background: transparent !important;
  border: 0 !important; border-radius: 0 !important; padding: 0 4px !important; height: 36px !important; line-height: 36px !important;
  box-shadow: none !important; text-align: center; text-align-last: center; cursor: pointer;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-prev,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-next {
  flex: none; width: 36px !important; height: 36px !important; padding: 0 !important;
  background: transparent !important; border: 1px solid var(--pv-line) !important; border-radius: 0 !important;
  color: var(--pv-ink) !important; display: flex !important; align-items: center; justify-content: center;
  transition: background .25s ease, border-color .25s ease;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-prev:hover,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-next:hover { background: var(--pv-ink) !important; border-color: var(--pv-ink) !important; }
/* strzałka to trójkąt z ramek: kolorujemy tylko jeden bok */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-prev .wpbs-arrow { border-right-color: var(--pv-ink) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-next .wpbs-arrow { border-left-color: var(--pv-ink) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-prev:hover .wpbs-arrow { border-right-color: var(--pv-sand) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-next:hover .wpbs-arrow { border-left-color: var(--pv-sand) !important; }

/* dni tygodnia */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-calendar table { border: 0 !important; margin: 0 !important; border-collapse: separate !important; border-spacing: 2px !important; width: 100%; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-calendar th {
  font-size: 10px !important; font-weight: 400 !important; letter-spacing: 0.1em; color: var(--pv-faint) !important;
  background: transparent !important; border: 0 !important; text-align: center; padding: 6px 0 !important;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-calendar td { border: 0 !important; padding: 0 !important; background: transparent !important; }

/* komórka dnia */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-date { border-radius: 0 !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-date-number { font-size: 13px; font-weight: 300; color: var(--pv-ink); }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-legend-item-icon { border-radius: 0 !important; }

/* 1: dostępne, białe pole z cienką ramką */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-1 div:first-of-type { background: var(--pv-white) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-1 div:nth-of-type(2) { background: transparent !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-date.wpbs-legend-item-1 .wpbs-legend-item-icon { box-shadow: inset 0 0 0 1px var(--pv-shell); }

/* 2: zajęte, paski i przekreślenie: sam kolor to za mało dla osób,
   które słabiej rozróżniają barwy */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-2 div:first-of-type {
  background: repeating-linear-gradient(135deg, var(--pv-shell) 0 5px, var(--pv-hair) 5px 10px) !important;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-2 div:nth-of-type(2) { background: transparent !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-date.wpbs-legend-item-2 .wpbs-date-number { color: var(--pv-busy); text-decoration: line-through; }

/* 3 i 4: dni zmiany (wyjazd rano, przyjazd po południu) */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-3 div:first-of-type,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-4 div:nth-of-type(2) { background-color: var(--pv-white) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-3 div:nth-of-type(2),
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-4 div:first-of-type { background-color: var(--pv-hair) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-3 div:first-of-type svg,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-4 div:nth-of-type(2) svg { fill: var(--pv-white) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-3 div:nth-of-type(2) svg,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-container .wpbs-legend-item-icon-4 div:first-of-type svg { fill: var(--pv-hair) !important; }

/* dzisiaj: cienka ramka w kolorze akcentu zamiast grubej niebieskiej */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-date-today:not(.wpbs-date-hover):not(.wpbs-date-selected) .wpbs-legend-item-icon { border: 1px solid var(--pv-accent) !important; }

/* najechanie: jasny beż; wybrany zakres: czerń z piaskowym numerem.
   Złote tło z jasnym numerem miało za słaby kontrast (3,3:1). */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-enable-hover .wpbs-is-bookable:hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-hover.wpbs-selected-first.wpbs-selected-last .wpbs-legend-item-icon div:first-of-type { background: var(--pv-shell) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-enable-hover .wpbs-is-bookable:hover .wpbs-legend-item-icon[data-type="split"] div svg,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-hover .wpbs-legend-item-icon[data-type="split"] div svg { fill: var(--pv-shell) !important; }
/* pierwszy kliknięty dzień: wyraźny znacznik w kolorze akcentu
   (jasny beż przy najechaniu był prawie niewidoczny na białym) */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-legend-item-icon .wpbs-legend-icon-select svg { fill: var(--pv-accent) !important; }

:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected.wpbs-selected-first.wpbs-selected-last .wpbs-legend-item-icon div:first-of-type,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-enable-hover .wpbs-date-selected:hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type { background: var(--pv-ink) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected .wpbs-legend-item-icon[data-type="split"] div svg,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected .wpbs-legend-item-icon .wpbs-legend-icon-select svg { fill: var(--pv-ink) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-date-selected .wpbs-date-number { color: var(--pv-sand); }

/* przerwy przed 1. i po ostatnim dniu miesiąca */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-date.wpbs-gap,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-gap .wpbs-date-inner,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper td:has(> .wpbs-gap) { background: transparent !important; box-shadow: none !important; }

/* legenda */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-legend { background: transparent !important; display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 18px !important; padding: 0 !important; border: 0 !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-legend-item { display: flex; align-items: center; gap: 8px; margin: 0 !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-legend .wpbs-legend-item-icon { width: 12px !important; height: 12px !important; position: relative !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-legend-item-name { font-size: 11px; letter-spacing: 0.1em; color: var(--pv-muted); }

/* dymek z ceną nad dniem */
:is(body.pv-site, #pv-wbs) .wpbs-tooltip,
:is(body.pv-site, #pv-wbs) .wpbs-calendar-tooltip { background: var(--pv-ink) !important; color: var(--pv-sand) !important; border-radius: 0 !important; font-family: var(--pv-sans) !important; font-size: 12px !important; }

/* ---------- formularz ---------- */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-container {
  background: var(--pv-shell); padding: clamp(26px, 3vw, 40px) !important; margin: 0 !important;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-fields { display: flex; flex-wrap: wrap; gap: 14px 12px; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field { flex: 1 1 100%; margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field:is(.wpbs-field-layout-left, .wpbs-field-layout-right, .left, .right) { flex: 1 1 calc(50% - 6px); }
@media (max-width: 480px) {
  :is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field:is(.wpbs-field-layout-left, .wpbs-field-layout-right, .left, .right) { flex-basis: 100%; }
}

/* wybrane daty: to nie są pola do wpisania, więc wyglądają inaczej niż inputy */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-selected-dates {
  flex: 1 1 100%; display: flex; gap: 1px; background: var(--pv-line); border: 1px dashed var(--pv-stripe);
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-selected-date { flex: 1; background: var(--pv-shell); padding: 14px 16px; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-selected-date .wpbs-form-field-input { font-size: 15px; margin-top: 6px; }

/* koszt pobytu */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field-total { padding: 16px 0 !important; border-bottom: 1px solid var(--pv-line); }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-total-price { font-family: var(--pv-serif); font-size: 20px; color: var(--pv-ink); }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-total-price table { width: 100%; font-family: var(--pv-sans); font-size: 13px; border: 0 !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-total-price td,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-total-price th { border: 0 !important; border-bottom: 1px solid var(--pv-line) !important; padding: 8px 0 !important; background: transparent !important; }

/* etykiety */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field-label,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field-label label,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field-label span {
  display: block; font-family: var(--pv-sans) !important; font-size: 10px !important; font-weight: 400 !important;
  letter-spacing: 0.22em !important; text-transform: uppercase !important; color: var(--pv-muted) !important;
  margin: 0 0 8px !important; padding: 0 !important; width: auto !important; float: none !important;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-field-required-asterisk { color: var(--pv-accent-text); }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field-input { width: auto !important; float: none !important; }

/* pola */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field input[type="text"],
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field input[type="email"],
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field input[type="tel"],
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field input[type="number"],
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field select,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field textarea {
  width: 100% !important; font-family: var(--pv-sans) !important; font-size: 14px !important; font-weight: 300 !important;
  line-height: 1.5 !important; color: var(--pv-ink) !important; background: var(--pv-sand) !important;
  border: 1px solid var(--pv-line) !important; border-radius: 0 !important; box-shadow: none !important;
  padding: 14px 16px !important; height: auto !important; min-height: 0 !important; transition: border-color .25s ease, background .25s ease;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field :is(input, select, textarea):focus {
  outline: none !important; border-color: var(--pv-accent) !important; background: var(--pv-white) !important;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field textarea { min-height: 110px !important; resize: vertical; }

/* zgody, jeśli dodasz je w ustawieniach formularza */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field-checkbox label,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field-consent label {
  text-transform: none !important; letter-spacing: 0 !important; font-size: 12px !important; line-height: 1.65; font-weight: 300 !important;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper input[type="checkbox"] { accent-color: var(--pv-accent); width: 16px; height: 16px; }

/* przycisk wysyłki */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-submit-button { margin-top: 18px !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-submit-button button {
  width: 100% !important; font-family: var(--pv-sans) !important; font-size: 11px !important; font-weight: 400 !important;
  letter-spacing: 0.24em !important; text-transform: uppercase !important; color: var(--pv-sand) !important;
  background: var(--pv-ink) !important; border: 1px solid var(--pv-ink) !important; border-radius: 0 !important;
  padding: 18px 20px !important; cursor: pointer; white-space: normal;
  transition: background .3s ease, border-color .3s ease;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-submit-button button:hover,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-submit-button button:focus-visible {
  background: var(--pv-accent-text) !important; border-color: var(--pv-accent-text) !important; color: var(--pv-sand) !important;
}

/* komunikaty i błędy */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-confirmation-message,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-general-error {
  font-size: 14px; line-height: 1.8; border: 1px solid var(--pv-line) !important; border-radius: 0 !important;
  background: var(--pv-sand) !important; color: var(--pv-ink) !important; padding: 18px 20px !important;
}
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field-error input,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field-error select { border-color: var(--pv-brick) !important; }
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field-error-message,
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper .wpbs-form-field-error small { font-size: 11px; color: var(--pv-brick) !important; margin-top: 6px; display: block; }

/* fokus z klawiatury: wtyczka domyślnie go gasi */
:is(body.pv-site, #pv-wbs) .wpbs-main-wrapper :is(input, select, textarea, button, a, .wpbs-date):focus-visible {
  outline: 2px solid var(--pv-accent) !important; outline-offset: 2px !important;
}
