/*!
Theme Name: Oslobilutleie Redesign
Theme URI: https://grafiduo.pl
Author: Grafiduo
Author URI: https://underscoretw.com/
Description: This is a starter tailwind theme from Grafiduo
Version: 0.1.0
Tested up to: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: gftw
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Grafiduo Starter is based on _tw https://underscoretw.com/, (C) 2021-2023 Greg Sullivan
_tw is distributed under the terms of the GNU GPL v2 or later.

_tw is based on Underscores https://underscores.me/ and Varia https://github.com/Automattic/themes/tree/master/varia, (C) 2012-2023 Automattic, Inc.
Underscores and Varia are distributed under the terms of the GNU GPL v2 or later.
*/

/**
 * The line above injects the WordPress file header. It needs to be first,
 * before this comment.
 */

/**
 * This injects custom `@font-face` rules.
 */

/**
 * Custom `@font-face` rules
 *
 * These will be added immediately before Tailwind’s `base` layer.
 */

@font-face {
  font-display: swap;

  font-family: "Montserrat";

  font-weight: 500;

  font-style: normal;

  src: url("../theme/template-parts/assets/fonts/Montserrat-Medium.ttf") format("truetype");
}

@font-face {
  font-display: swap;

  font-family: "Montserrat";

  font-weight: 600;

  font-style: normal;

  src: url("../theme/template-parts/assets/fonts/Montserrat-SemiBold.ttf") format("truetype");
}

@font-face {
  font-display: swap;

  font-family: "Montserrat";

  font-weight: 700;

  font-style: normal;

  src: url("../theme/template-parts/assets/fonts/Montserrat-Bold.ttf") format("truetype");
}

@font-face {
  font-display: swap;

  font-family: "Montserrat";

  font-weight: 400;

  font-style: normal;

  src: url("../theme/template-parts/assets/fonts/Montserrat-Regular.ttf") format("truetype");
}

/**
 * Design tokens (paleta, zaokrąglenia, cienie). Muszą trafić do arkusza przed
 * warstwą `base`, bo czytają je zarówno klasy Tailwinda, jak i własne style.
 */

/**
 * Design tokens — paleta Oslo (różowo-granatowa)
 *
 * Jedyne miejsce w motywie, w którym żyją wartości palety. `tailwind.config.js`
 * nie zna żadnego heksa — wszystkie kolory czyta stąd przez `var()`, więc
 * zmiana odcienia to zmiana jednej linijki w tym pliku.
 *
 * Wartości odtwarzają paletę motywu `oslobilutleie`; nazwy pozostają
 * semantyczne (`brand`, `deep`, `surface`…), więc markup redesignu nie wymaga
 * żadnych zmian. Odcienie bez odpowiednika w starym motywie (`--deep-2`,
 * `--accent-soft`, `--muted-soft`) wyprowadzono z kolorów bazowych.
 *
 * Kolory zapisane są jako kanały RGB bez `rgb()`, bo tylko taki zapis pozwala
 * Tailwindowi doklejać przezroczystość (`bg-brand/20` → `rgb(228 46 135 / 0.2)`).
 * W ręcznie pisanym CSS używaj więc `rgb(var(--brand))`, nie `var(--brand)`.
 *
 * Plik jest importowany przed warstwą `base`, żeby tokeny były dostępne
 * dla wszystkich pozostałych stylów.
 */

:root {
  /* Marka — róż, kolor akcji: przyciski, linki, ikony, stany aktywne */
  --brand: 228 46 135;
  /* #E42E87 — dawne `pink` */
  --brand-dark: 196 43 118;
  /* #C42B76 — dawne `darkpink`, hover przycisków */
  /* Granat — tła sekcji ciemnych: header, hero, stopka, CTA */
  --deep: 0 61 140;
  /* #003D8C — dawne `primary` */
  --deep-2: 0 42 97;
  /* #002A61 — stopka i dolne warstwy gradientów */
  /* Akcent — błękit: wyróżnienia, ikony, hover w nawigacji */
  --accent: 16 206 255;
  /* #10CEFF — dawne `blue-light` */
  --accent-soft: 231 249 255;
  /* #E7F9FF — tło ikon i badge'y na jasnym */
  /* Powierzchnie i linie */
  --surface: 251 251 251;
  /* #FBFBFB — dawne `grey-bg`, tło sekcji jasnych */
  --surface-2: 242 242 242;
  /* #F2F2F2 — dawne `gray-light`, tło pól i kafli */
  --line: 229 229 229;
  /* #E5E5E5 — dawne `border-gray` */
  /* Typografia */
  --ink: 70 70 70;
  /* #464646 — dawne `gray`, tekst podstawowy */
  --muted: 145 145 145;
  /* #919191 — dawne `gray-dark`, tekst pomocniczy */
  --muted-soft: 179 179 179;
  /* #B3B3B3 — podpisy, elementy nieaktywne */
  /* Kolory statusu */
  --price: 0 61 140;
  /* #003D8C — ceny; granat marki, zieleń odstawała od palety */
  --danger: 255 0 0;
  /* #FF0000 — dawne `red`, błędy walidacji */
  --badge-green: 21 128 61;
  /* #15803D — druga plakietka auta; biały tekst ≈ 5:1 */
  /* Odcienie bez roli semantycznej, potrzebne tylko starym aliasom */
  --legacy-green: 54 171 163;
  /* #36ABA3 — dawne `green` */
  --legacy-green-light: 4 196 62;
  /* #04C43E — dawne `green-light` */
  --legacy-border: 212 212 212;
  /* #D4D4D4 — dawne `border` */
  --legacy-border-green: 199 220 210;
  /* #C7DCD2 — dawne `border-green` */
  --white: 255 255 255;
  --black: 0 0 0;
  /* Zaokrąglenia — te same wartości, co `borderRadius.sm/md` w configu */
  --r-btn: 15px;
  --r-card: 20px;
  /* Cienie — `shadow-card` i `shadow-lift` w Tailwindzie */
  --shadow-card: 0 4px 6px rgb(var(--ink) / 0.04);
  --shadow-lift: 0 20px 40px -10px rgb(var(--ink) / 0.16);
}

/**
 * This injects Tailwind's base styles and any base styles registered by
 * plugins, then adds custom base styles.
 */

/*! tailwindcss v3.3.1 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: currentColor;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
*/

html {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: Montserrat, sans-serif;
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden] {
  display: none;
}

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

/**
 * Custom styles to immediately follow Tailwind’s `base` layer
 *
 * “Add things like base typography styles [or] opinionated global resets.”
 *
 * — from https://tailwindcss.com/docs/plugins#adding-base-styles
 */

/**
 * This uses the background and foreground colors declared in the
 * `theme.json` file and is applied both to the frontend and in the block
 * editor.
*/

body {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  font-family: Montserrat, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(64 64 64 / var(--tw-text-opacity));
}

body .sbi_photo {
  max-height: 317px;
}

.wp-post-image {
  border-top-left-radius: 1.25rem;
  border-top-right-radius: 1.25rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.post .wp-post-image {
  border-radius: 1.25rem;
  margin-bottom: 2rem;
  width: 100%;
}

@media (min-width: 660px) {
  .post .wp-post-image {
    min-height: 36.5rem;
  }

  /* 
	.wp-post-image {
		min-height: 313px;
		max-height: 313px;
	} */
}

@media (min-width: 1024px) {
  .stm_products_grid_class {
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 1024px) {
  .stm_products_grid_class .stm_product_grid_single {
    width: 50% !important;
  }
}

@media (max-width: 767px) {
  .stm_products_grid_class .stm_product_grid_single {
    width: 100% !important;
  }
}

/* breadcrumbs */

#breadcrumbs {
  font-size: 15px;
}

#breadcrumbs span {
  letter-spacing: 0.05em;
}

/* icons */

@media(min-width: 1200px) {
  .icons:not(:last-child)::after {
    content: "";
    left: calc(100% - 75px);
    max-width: 144px;
    position: absolute;
    top: 4rem;
    height: 1px;
    width: 100%;
    --tw-bg-opacity: 1;
    background-color: rgb(var(--accent) / var(--tw-bg-opacity));
  }

  .icons-rtl .icons:not(:last-child)::after {
    content: "";
    left: -78px;
    max-width: 144px;
    position: absolute;
    top: 4rem;
    height: 1px;
    width: 100%;
    --tw-bg-opacity: 1;
    background-color: rgb(var(--accent) / var(--tw-bg-opacity));
  }
}

@media (max-width: 991px) {
  .sbi_type_image:last-child {
    display: none;
  }
}

@media (max-width: 660px) {
  .map,
	iframe {
    max-height: 247px;
  }
}

/* submenu */

.main-nav .sub-menu {
  position: absolute;
  z-index: 50;
  margin: 0px;
  border-radius: var(--r-card);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding: 18px 18px 0 22px;
  margin-top: 11px;
  min-width: 243px;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.35);
  left: -22px;
  display: none;
  text-align: center;
}

@media (min-width: 1280px) {
  .main-nav .sub-menu {
    text-align: left;
  }
}

.main-nav .sub-menu li {
  margin-left: 0px;
  margin-right: 0px;
  margin-bottom: 0.75rem;
  line-height: 1 !important;
}

.main-nav .sub-menu li a {
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
  font-size: .875rem !important;
  line-height: 1.125rem !important;
}

.main-nav .menu-item-has-children {
  position: relative;
  text-align: center;
}

.vrcliststartfrom.main-nav .menu-item-has-children {
  top: -0.375rem;
}

.d-block {
  display: block !important;
}

@media (max-width: 1280px) {
  .main-nav .menu-item-has-children>a:after {
    background: url('template-parts/assets/images/icons/angle-down-white.svg') no-repeat;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 10px;
    margin-left: 15px;
  }

  .main-nav .menu-item-has-children:hover>a:after {
    background: url('template-parts/assets/images/icons/angle-down-pink.svg') no-repeat;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 10px;
    margin-left: 15px;
  }

  .main-nav .menu-item-has-children,
	.main-nav .menu-item-has-children a {
    min-width: 40%;
    display: block !important;
  }

  .main-nav .sub-menu {
    position: relative;
  }

  .vrcliststartfrom.main-nav .sub-menu {
    top: -0.375rem;
  }

  .main-nav .sub-menu {
    padding: 18px 18px 6px;
    left: 0;
  }
}

/**
 * This injects Tailwind's component classes and any component classes
 * registered by plugins, then adds custom component classes.
 *
 * The `@import-glob` line imports all CSS files from the `components`
 * directory (except for `components.css`, which is imported on the following
 * line). This is meant to simplify the process of integrating styles from
 * JavaScript components or WordPress plugins.
 */

.prose {
  color: var(--tw-prose-body);
}

.prose :where(p):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.prose :where(a):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-bold);
  font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(ol):not(:where([class~="not-prose"] *)) {
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-left: 1.625em;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)) {
  list-style-type: decimal;
}

.prose :where(ul):not(:where([class~="not-prose"] *)) {
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-left: 1.625em;
}

.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker {
  font-weight: 400;
  color: var(--tw-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker {
  color: var(--tw-prose-bullets);
}

.prose :where(hr):not(:where([class~="not-prose"] *)) {
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
  border-bottom: none;
}

.prose :where(blockquote):not(:where([class~="not-prose"] *)) {
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-left-width: 0.25rem;
  border-left-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-left: 1em;
  border-left-style: solid;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *))::before {
  content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *))::after {
  content: close-quote;
}

.prose :where(h1):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose :where(h1 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 900;
  color: inherit;
}

.prose :where(h2):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}

.prose :where(h2 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 800;
  color: inherit;
}

.prose :where(h3):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}

.prose :where(h3 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(h4):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose :where(h4 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(img):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(figure > *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose :where(code):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}

.prose :where(code):not(:where([class~="not-prose"] *))::before {
  content: "`";
}

.prose :where(code):not(:where([class~="not-prose"] *))::after {
  content: "`";
}

.prose :where(a code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(pre):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-right: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-left: 1.1428571em;
}

.prose :where(pre code):not(:where([class~="not-prose"] *)) {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.prose :where(pre code):not(:where([class~="not-prose"] *))::before {
  content: none;
}

.prose :where(pre code):not(:where([class~="not-prose"] *))::after {
  content: none;
}

.prose :where(table):not(:where([class~="not-prose"] *)) {
  width: 100%;
  table-layout: auto;
  text-align: left;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}

.prose :where(thead):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}

.prose :where(thead th):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-right: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-left: 0.5714286em;
}

.prose :where(tbody tr):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"] *)) {
  vertical-align: baseline;
}

.prose :where(tfoot):not(:where([class~="not-prose"] *)) {
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"] *)) {
  vertical-align: top;
}

.prose {
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}

.prose :where(video):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(figure):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(li):not(:where([class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"] *)) {
  padding-left: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"] *)) {
  padding-left: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(hr + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)) {
  padding-left: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)) {
  padding-right: 0;
}

.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"] *)) {
  padding-top: 0.5714286em;
  padding-right: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-left: 0.5714286em;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"] *)) {
  padding-left: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"] *)) {
  padding-right: 0;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose :where(blockquote > cite):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-body);
  font-style: normal;
  font-weight: 400;
}

.prose :where(blockquote > cite):not(:where([class~="not-prose"] *))::before {
  content: "\2014";
}

.prose-neutral {
  --tw-prose-body: #404040;
  --tw-prose-headings: #171717;
  --tw-prose-lead: #525252;
  --tw-prose-links: #171717;
  --tw-prose-bold: #171717;
  --tw-prose-counters: #737373;
  --tw-prose-bullets: #d4d4d4;
  --tw-prose-hr: #e5e5e5;
  --tw-prose-quotes: #171717;
  --tw-prose-quote-borders: #e5e5e5;
  --tw-prose-captions: #737373;
  --tw-prose-code: #171717;
  --tw-prose-pre-code: #e5e5e5;
  --tw-prose-pre-bg: #262626;
  --tw-prose-th-borders: #d4d4d4;
  --tw-prose-td-borders: #e5e5e5;
  --tw-prose-invert-body: #d4d4d4;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #a3a3a3;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #a3a3a3;
  --tw-prose-invert-bullets: #525252;
  --tw-prose-invert-hr: #404040;
  --tw-prose-invert-quotes: #f5f5f5;
  --tw-prose-invert-quote-borders: #404040;
  --tw-prose-invert-captions: #a3a3a3;
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d4d4d4;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #525252;
  --tw-prose-invert-td-borders: #404040;
}

.container-full {
  max-width: 100%;
  padding: 0 20px;
}

@media (min-width: 1536px) {
  .container-full {
    max-width: 1640px;
    padding: 0;
  }
}

.container {
  max-width: 100%;
  padding: 0 20px;
}

@media (min-width: 1536px) {
  .container {
    max-width: 1200px;
    padding: 0;
  }
}

/**
 * AOS — animacje przy przewijaniu
 *
 * Bazowy arkusz biblioteki wjeżdża z `node_modules` (rozwiązuje to
 * `postcss-import`), poniżej tylko nasze wyjątki.
 */

[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{
  transition-duration:50ms
}

[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{
  transition-delay:50ms
}

[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{
  transition-duration:.1s
}

[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{
  transition-delay:.1s
}

[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{
  transition-duration:.15s
}

[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{
  transition-delay:.15s
}

[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{
  transition-duration:.2s
}

[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{
  transition-delay:.2s
}

[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{
  transition-duration:.25s
}

[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{
  transition-delay:.25s
}

[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{
  transition-duration:.3s
}

[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{
  transition-delay:.3s
}

[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{
  transition-duration:.35s
}

[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{
  transition-delay:.35s
}

[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{
  transition-duration:.4s
}

[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{
  transition-delay:.4s
}

[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{
  transition-duration:.45s
}

[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{
  transition-delay:.45s
}

[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{
  transition-duration:.5s
}

[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{
  transition-delay:.5s
}

[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{
  transition-duration:.55s
}

[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{
  transition-delay:.55s
}

[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{
  transition-duration:.6s
}

[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{
  transition-delay:.6s
}

[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{
  transition-duration:.65s
}

[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{
  transition-delay:.65s
}

[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{
  transition-duration:.7s
}

[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{
  transition-delay:.7s
}

[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{
  transition-duration:.75s
}

[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{
  transition-delay:.75s
}

[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{
  transition-duration:.8s
}

[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{
  transition-delay:.8s
}

[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{
  transition-duration:.85s
}

[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{
  transition-delay:.85s
}

[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{
  transition-duration:.9s
}

[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{
  transition-delay:.9s
}

[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{
  transition-duration:.95s
}

[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{
  transition-delay:.95s
}

[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{
  transition-duration:1s
}

[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{
  transition-delay:1s
}

[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{
  transition-duration:1.05s
}

[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{
  transition-delay:1.05s
}

[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{
  transition-duration:1.1s
}

[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{
  transition-delay:1.1s
}

[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{
  transition-duration:1.15s
}

[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{
  transition-delay:1.15s
}

[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{
  transition-duration:1.2s
}

[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{
  transition-delay:1.2s
}

[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{
  transition-duration:1.25s
}

[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{
  transition-delay:1.25s
}

[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{
  transition-duration:1.3s
}

[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{
  transition-delay:1.3s
}

[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{
  transition-duration:1.35s
}

[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{
  transition-delay:1.35s
}

[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{
  transition-duration:1.4s
}

[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{
  transition-delay:1.4s
}

[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{
  transition-duration:1.45s
}

[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{
  transition-delay:1.45s
}

[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{
  transition-duration:1.5s
}

[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{
  transition-delay:1.5s
}

[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{
  transition-duration:1.55s
}

[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{
  transition-delay:1.55s
}

[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{
  transition-duration:1.6s
}

[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{
  transition-delay:1.6s
}

[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{
  transition-duration:1.65s
}

[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{
  transition-delay:1.65s
}

[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{
  transition-duration:1.7s
}

[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{
  transition-delay:1.7s
}

[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{
  transition-duration:1.75s
}

[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{
  transition-delay:1.75s
}

[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{
  transition-duration:1.8s
}

[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{
  transition-delay:1.8s
}

[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{
  transition-duration:1.85s
}

[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{
  transition-delay:1.85s
}

[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{
  transition-duration:1.9s
}

[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{
  transition-delay:1.9s
}

[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{
  transition-duration:1.95s
}

[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{
  transition-delay:1.95s
}

[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{
  transition-duration:2s
}

[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{
  transition-delay:2s
}

[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{
  transition-duration:2.05s
}

[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{
  transition-delay:2.05s
}

[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{
  transition-duration:2.1s
}

[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{
  transition-delay:2.1s
}

[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{
  transition-duration:2.15s
}

[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{
  transition-delay:2.15s
}

[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{
  transition-duration:2.2s
}

[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{
  transition-delay:2.2s
}

[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{
  transition-duration:2.25s
}

[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{
  transition-delay:2.25s
}

[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{
  transition-duration:2.3s
}

[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{
  transition-delay:2.3s
}

[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{
  transition-duration:2.35s
}

[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{
  transition-delay:2.35s
}

[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{
  transition-duration:2.4s
}

[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{
  transition-delay:2.4s
}

[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{
  transition-duration:2.45s
}

[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{
  transition-delay:2.45s
}

[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{
  transition-duration:2.5s
}

[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{
  transition-delay:2.5s
}

[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{
  transition-duration:2.55s
}

[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{
  transition-delay:2.55s
}

[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{
  transition-duration:2.6s
}

[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{
  transition-delay:2.6s
}

[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{
  transition-duration:2.65s
}

[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{
  transition-delay:2.65s
}

[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{
  transition-duration:2.7s
}

[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{
  transition-delay:2.7s
}

[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{
  transition-duration:2.75s
}

[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{
  transition-delay:2.75s
}

[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{
  transition-duration:2.8s
}

[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{
  transition-delay:2.8s
}

[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{
  transition-duration:2.85s
}

[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{
  transition-delay:2.85s
}

[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{
  transition-duration:2.9s
}

[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{
  transition-delay:2.9s
}

[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{
  transition-duration:2.95s
}

[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{
  transition-delay:2.95s
}

[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{
  transition-duration:3s
}

[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{
  transition-delay:0
}

[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{
  transition-delay:3s
}

[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{
  transition-timing-function:cubic-bezier(.25,.25,.75,.75)
}

[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{
  transition-timing-function:ease
}

[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{
  transition-timing-function:ease-in
}

[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{
  transition-timing-function:ease-out
}

[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{
  transition-timing-function:ease-in-out
}

[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{
  transition-timing-function:cubic-bezier(.6,-.28,.735,.045)
}

[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{
  transition-timing-function:cubic-bezier(.175,.885,.32,1.275)
}

[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{
  transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)
}

[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{
  transition-timing-function:cubic-bezier(.47,0,.745,.715)
}

[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{
  transition-timing-function:cubic-bezier(.39,.575,.565,1)
}

[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{
  transition-timing-function:cubic-bezier(.445,.05,.55,.95)
}

[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{
  transition-timing-function:cubic-bezier(.55,.085,.68,.53)
}

[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{
  transition-timing-function:cubic-bezier(.25,.46,.45,.94)
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{
  transition-timing-function:cubic-bezier(.455,.03,.515,.955)
}

[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{
  transition-timing-function:cubic-bezier(.55,.085,.68,.53)
}

[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{
  transition-timing-function:cubic-bezier(.25,.46,.45,.94)
}

[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{
  transition-timing-function:cubic-bezier(.455,.03,.515,.955)
}

[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{
  transition-timing-function:cubic-bezier(.55,.085,.68,.53)
}

[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{
  transition-timing-function:cubic-bezier(.25,.46,.45,.94)
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{
  transition-timing-function:cubic-bezier(.455,.03,.515,.955)
}

[data-aos^=fade][data-aos^=fade]{
  opacity:0;
  transition-property:opacity,transform
}

[data-aos^=fade][data-aos^=fade].aos-animate{
  opacity:1;
  transform:translateZ(0)
}

[data-aos=fade-up]{
  transform:translate3d(0,100px,0)
}

[data-aos=fade-down]{
  transform:translate3d(0,-100px,0)
}

[data-aos=fade-right]{
  transform:translate3d(-100px,0,0)
}

[data-aos=fade-left]{
  transform:translate3d(100px,0,0)
}

[data-aos=fade-up-right]{
  transform:translate3d(-100px,100px,0)
}

[data-aos=fade-up-left]{
  transform:translate3d(100px,100px,0)
}

[data-aos=fade-down-right]{
  transform:translate3d(-100px,-100px,0)
}

[data-aos=fade-down-left]{
  transform:translate3d(100px,-100px,0)
}

[data-aos^=zoom][data-aos^=zoom]{
  opacity:0;
  transition-property:opacity,transform
}

[data-aos^=zoom][data-aos^=zoom].aos-animate{
  opacity:1;
  transform:translateZ(0) scale(1)
}

[data-aos=zoom-in]{
  transform:scale(.6)
}

[data-aos=zoom-in-up]{
  transform:translate3d(0,100px,0) scale(.6)
}

[data-aos=zoom-in-down]{
  transform:translate3d(0,-100px,0) scale(.6)
}

[data-aos=zoom-in-right]{
  transform:translate3d(-100px,0,0) scale(.6)
}

[data-aos=zoom-in-left]{
  transform:translate3d(100px,0,0) scale(.6)
}

[data-aos=zoom-out]{
  transform:scale(1.2)
}

[data-aos=zoom-out-up]{
  transform:translate3d(0,100px,0) scale(1.2)
}

[data-aos=zoom-out-down]{
  transform:translate3d(0,-100px,0) scale(1.2)
}

[data-aos=zoom-out-right]{
  transform:translate3d(-100px,0,0) scale(1.2)
}

[data-aos=zoom-out-left]{
  transform:translate3d(100px,0,0) scale(1.2)
}

[data-aos^=slide][data-aos^=slide]{
  transition-property:transform
}

[data-aos^=slide][data-aos^=slide].aos-animate{
  transform:translateZ(0)
}

[data-aos=slide-up]{
  transform:translate3d(0,100%,0)
}

[data-aos=slide-down]{
  transform:translate3d(0,-100%,0)
}

[data-aos=slide-right]{
  transform:translate3d(-100%,0,0)
}

[data-aos=slide-left]{
  transform:translate3d(100%,0,0)
}

[data-aos^=flip][data-aos^=flip]{
  -webkit-backface-visibility:hidden;
          backface-visibility:hidden;
  transition-property:transform
}

[data-aos=flip-left]{
  transform:perspective(2500px) rotateY(-100deg)
}

[data-aos=flip-left].aos-animate{
  transform:perspective(2500px) rotateY(0)
}

[data-aos=flip-right]{
  transform:perspective(2500px) rotateY(100deg)
}

[data-aos=flip-right].aos-animate{
  transform:perspective(2500px) rotateY(0)
}

[data-aos=flip-up]{
  transform:perspective(2500px) rotateX(-100deg)
}

[data-aos=flip-up].aos-animate{
  transform:perspective(2500px) rotateX(0)
}

[data-aos=flip-down]{
  transform:perspective(2500px) rotateX(100deg)
}

[data-aos=flip-down].aos-animate{
  transform:perspective(2500px) rotateX(0)
}

/**
 * AOS chowa element samym atrybutem `data-aos` — nie czeka na klasę
 * `aos-init`. Dlatego wszędzie tam, gdzie animacji nie chcemy, trzeba
 * przywrócić widoczność, a nie „nie włączać AOS-a”.
 *
 * 1. Poniżej `md` kafle aut żyją jeszcze w karuzeli Splide (loop tworzy klony,
 *    a slajdy poza kadrem nigdy nie dostałyby klasy `aos-animate` — zostałyby
 *    puste). Karuzela ma własny ruch, więc AOS jest tam zbędny.
 * 2. `prefers-reduced-motion` — treść pokazujemy od razu, bez przejścia.
 */

@media (max-width: 767px) {
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    visibility: visible !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    visibility: visible !important;
    animation: none !important;
  }
}

/* ============================================================
   BLOG — kafel wpisu, sekcja „Aktualności” i lista wpisów

   Kafel opisuje `template-parts/content/content-excerpt.php`, wspólny
   dla czterech miejsc: sekcji na stronie głównej, listy wpisów
   (`index.php`), archiwum kategorii i kolumny „Zobacz także” przy
   pojedynczym wpisie.

   Widok pojedynczego wpisu (`content-single.php`) opakowuje treść
   w takie samo `<article>` z `post_class()`, więc sama klasa `post`
   nie wystarcza do rozróżnienia — kafel poznajemy po tym, że nagłówek
   jest w nim elementem `<header>`, a w widoku artykułu zwykłym `<div>`.
   ============================================================ */

article.post:has(> header.entry-header) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
}

.rtl .modal-info > article.post:has(> header.entry-header) {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > article.post:has(> header.entry-header) {
    padding-right: 3.5rem;
  }
}

article.post:has(> header.entry-header) {
  transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease;
}

/* Uniesienie i podmianę tła niesie już szablon (`hover:-translate-y-3`,
     `hover:bg-gray-light`) — tutaj dokładamy sam cień, żeby kafel
     odrywał się od tła tak jak w makiecie. */

article.post:has(> header.entry-header):hover {
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* --- Zdjęcie --- */

/* `gftw_post_thumbnail()` opakowuje miniaturę w `<figure>`. Kadr przycina
     `overflow-hidden` kafla, dlatego samo zdjęcie może się przybliżać. */

article.post:has(> header.entry-header) figure {
  margin: 0px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
}

/* `rounded-none` jest tu celowe: kadr przycina już `figure`, a motyw
     zaokrągla górne rogi każdego `aside img` — w panelu „Zobacz także”
     miniatura dostawałaby przez to inny promień niż sama karta. */

article.post:has(> header.entry-header) figure img {
  height: 100%;
  width: 100%;
  border-radius: 0px;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform .5s ease;
}

article.post:has(> header.entry-header):hover figure img {
  transform: scale(1.045);
}

/* Wpis bez zdjęcia nie ma zostawiać pustej ramki nad tekstem. */

article.post:has(> header.entry-header) figure:empty {
  display: none;
}

/* --- Treść kafla --- */

article.post:has(> header.entry-header) .entry-header {
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  gap: 0.625rem;
}

.rtl .modal-info > article.post:has(> header.entry-header) .entry-header {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > article.post:has(> header.entry-header) .entry-header {
    padding-right: 3.5rem;
  }
}

/* Data. Swoistość wyższa niż `.text-pink` z szablonu, żeby przejąć krój
     metryczki z makiety — sam kolor i tak jest już kolorem marki. */

article.post:has(> header.entry-header) .entry-header span {
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  letter-spacing: .08em;
}

article.post:has(> header.entry-header) .entry-header a {
  text-decoration-line: none;
}

article.post:has(> header.entry-header) .entry-header .h5 {
  margin: 0px;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

article.post:has(> header.entry-header):hover .entry-header .h5 {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.blog-list--related .blog h2 {
  margin-bottom: 2rem;
}

.blog h2 {
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: clamp(1.625rem, 3.4vw, 2.25rem);
}

/* Okruszki nawigacyjne — jak wyżej, mięta na bieli jest nieczytelna. */

#breadcrumbs.text-blue-light {
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

#breadcrumbs a {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  text-decoration-line: none;
}

#breadcrumbs a:hover {
  text-decoration-line: underline;
}

/* ============================================================
   Pojedynczy wpis — układ przeniesiony z motywu `leiebiloslo`

   Ciemny nagłówek niesie wspólna klasa `.page-head` (sections.css);
   tutaj zostaje typografia artykułu i sekcja powiązanych wpisów.
   ============================================================ */

/* Tytuł wpisu bywa dłuższy niż nagłówki podstron, więc dostaje więcej miejsca
   niż domyślne 24 znaki z `.page-head__title`. */

.single-post__title {
  max-width: 34ch;
}

.single-post__meta {
  font-size: .8125rem;
  text-transform: uppercase;
  color: rgb(var(--white) / 0.6);
  letter-spacing: .08em;
}

.single-post__body {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-top: 3rem;
  padding-bottom: 3rem;
}

@media (min-width: 640px) {
  .single-post__body {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.single-post__art {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.5rem;
  max-width: 64rem;
}

.single-post__art img {
  width: 100%;
  border-radius: var(--r-card);
  -o-object-fit: cover;
     object-fit: cover;
}

/* Jedna kolumna o szerokości czytelnej linijki — bez paska bocznego, który
   przy artykule tylko odciąga uwagę. */

.single-post__content {
  margin-left: auto;
  margin-right: auto;
  max-width: 51.25rem;
  font-size: 1rem;
  line-height: 1.75rem;
  line-height: 2;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.single-post__content :where(h2, h3, h4) {
  margin-bottom: 1rem;
  margin-top: 2.5rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.single-post__content h2 {
  font-size: clamp(1.375rem, 2.6vw, 1.75rem);
}

.single-post__content h3 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.single-post__content p {
  margin-bottom: 1.25rem;
}

.single-post__content :where(ul, ol) {
  margin-bottom: 1.25rem;
  padding-left: 1.5rem;
}

.single-post__content ul {
  list-style: disc;
}

.single-post__content ol {
  list-style: decimal;
}

.single-post__content li {
  margin-bottom: 0.5rem;
}

.single-post__content a {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  text-decoration-line: underline;
}

.single-post__content img {
  margin-top: 2rem;
  margin-bottom: 2rem;
  border-radius: var(--r-card);
}

.single-post__content blockquote {
  margin-top: 2rem;
  margin-bottom: 2rem;
  border-width: 0px;
  border-left-width: 4px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  padding-left: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-style: italic;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

/* --- Sekcja „Les også” --- */

.blog-list {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

@media (min-width: 640px) {
  .blog-list {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.blog-list--related {
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
}

.blog-list--related .section-heading {
  margin-bottom: 2rem;
}

/* Kafle są wspólne z listą wpisów (`content-excerpt.php`), więc siatka
   wnosi tu tylko rozkład kolumn. */

.blog-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  @media (max-width: 768px) {
    .blog-grid {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
  }
}

@media (min-width: 1280px) {
  .blog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  @media (max-width: 768px) {
    .blog-grid {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
  }
}

.section-cars-list .vrc-searchmod-section-pickup,
.section-cars-list .vrc-searchmod-section-datetimes {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
}

@media (min-width: 1280px) {
  .section-cars-list .vrc-searchmod-section-pickup,
.section-cars-list .vrc-searchmod-section-datetimes {
    flex-wrap: nowrap;
  }
}

.vrcdivsearch {
  max-width: 100% !important;
  padding: 0px !important;
}

.section-cars-list .vrcdivsearch form {
  margin-bottom: 2.25rem;
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: center;
  border-radius: var(--r-card);
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.rtl .modal-info > .section-cars-list .vrcdivsearch form {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-cars-list .vrcdivsearch form {
    padding-right: 3.5rem;
  }
}

@media (min-width: 768px) {
  .section-cars-list .vrcdivsearch form {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.section-cars-list .vrcdivsearch form .choices__list {
  width: 100% !important;
  border-bottom-left-radius: var(--r-btn);
  border-bottom-right-radius: var(--r-btn);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
}

.section-cars-list .choices__inner {
  padding: 0px;
}

.section-cars-list .vrc-searchmod-section-datetimes .vrcsfentrycont:first-child {
  margin-right: 0.375rem !important;
}

/* Search-widget submit only — .btn excludes the booking form's own buttons,
   which must keep their label instead of turning into the search icon. */

.section-cars-list button[type="submit"]:not(.btn) {
  position: relative;
  margin-bottom: 0.375rem;
  border-radius: var(--r-btn);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.vrcliststartfrom.section-cars-list button[type="submit"]:not(.btn) {
  top: -0.375rem;
}

.section-cars-list .choices__inner {
  border: none !important;
  background-color: transparent !important;
}

.section-cars-list .choices__list--single {
  display: none !important;
}

.section-cars-list .vrc-searchmod-section-pickup {
  flex: 1 1 auto;
}

.section-cars-list .vrc-main-title {
  display: none;
}

.section-cars-list .vrc-searchmod-section-sbmt {
  width: 100%;
}

@media (min-width: 1024px) {
  .section-cars-list .vrc-searchmod-section-sbmt {
    width: auto;
  }
}

.vrcdivsearch:not(.vrcdivsearchmodule) {
  margin-top: 1rem;
}

@media (min-width: 640px) {
  .vrcdivsearch:not(.vrcdivsearchmodule) {
    margin-top: 2rem;
  }
}

.vrcdivsearch-noresults form {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
}

.rtl .modal-info > .vrcdivsearch-noresults form {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrcdivsearch-noresults form {
    padding-right: 3.5rem;
  }
}

.vrcdivsearch-noresults form .vrc-searchf-section-locations,
.vrcdivsearch-noresults form .vrc-searchf-section-datetimes {
  width: 100%;
}

.vrcdivsearch-noresults form input,
.vrc-searchf-section-sbmt {
  width: 100%;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.vrcdivsearch-inner form,
.vrcdivsearch-inner .vrc-searchf-section-datetimes {
  width: 100%;
}

@media (min-width: 1024px) {
  .section-cars-list .vrc-searchmod-section-datetimes {
    max-width: 55%;
  }

  .section-cars-list .vrc-searchmod-section-sbmt {
    margin-top: 30px !important;
    margin-left: 30px;
  }

  .section-cars-list button[type="submit"]:not(.btn-cancel):not(.btn)::before {
    background: url('template-parts/assets/images/icons/search.svg');
    width: 1.125rem;
    height: 1.125rem;
    transform: translate(-50%, -50%);
  }

  .section-cars-list button[type="submit"]:not(.btn-cancel):not(.btn) {
    width: 50px !important;
    height: 50px;
    position: relative;
    border-radius: var(--r-btn);
    color: transparent !important;
  }

  .vrcliststartfrom.section-cars-list button[type="submit"]:not(.btn-cancel):not(.btn) {
    top: -0.375rem;
  }

  .section-cars-list button[type="submit"]:not(.btn-cancel):not(.btn)::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    --tw-content: '';
    content: var(--tw-content);
  }
}

.page-template-template-carslist .vrcdivsearch-noresults,
.stm_locations_description.text-right_position {
  display: none;
}

.stm_date_input {
  position: relative;
}

.vrcliststartfrom.stm_date_input {
  top: -0.375rem;
}

.stm-icon-date {
  position: absolute;
  left: 20px;
  top: 16px;
}

.stm_rent_car_form input {
  padding: 1.25rem 3rem !important;
  border: 1px solid #ddd !important;
  font-weight: 500 !important;
  font-size: 1rem;
  color: black;
  margin-top: 0 !important;
  margin-bottom: 10px;
}

.form-btn-wrap {
  gap: 1.25rem;
}

.stm_rent_car_form_wrapper .stm_pickup_location .select2-container--default .select2-selection--single {
  border-radius: 15px !important;
  height: 50px !important;
}

.stm_rent_car_form_wrapper .stm_pickup_location.stm_error .select2-container {
  border-radius: 15px !important;
}

.select2-selection__rendered {
  border: 1px solid #ddd !important;
  font-weight: 500 !important;
  font-size: 1rem !important;
  border-radius: 15px;
  background-color: rgb(242 242 242);
  height: 50px !important;
  line-height: 3.125rem !important;
  color: black;
  margin-bottom: 20px;
}

.stm-service-icon-pin::before {
  background: url('template-parts/assets/images/icons/icon-location-pin.svg') no-repeat;
  width: 15px;
  height: 17px;
  left: 9px;
  top: 12px;
  transform: translateY(-50%);
  content: "";
  position: absolute;
  display: block !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  left: -10px !important;
  line-height: 1.5625rem !important;
}

.stm_pickup_location+label {
  display: flex;
}

.rtl .modal-info > .stm_pickup_location+label {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .stm_pickup_location+label {
    padding-right: 3.5rem;
  }
}

.stm_rent_car_form_wrapper label .checker .checked {
  background: white !important;
}

.stm_rent_car_form_wrapper label {
  margin: 28px 0 14px !important;
}

.stm_date_time_input {
  margin-bottom: 0.375rem;
}

.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
  padding: 0px !important;
}

.stm_rent_car_form_wrapper {
  text-align: left !important;
}

.stm_date_input {
  margin-top: 0.75rem;
}

.stm_rent_car_form_wrapper button[type="submit"] {
  margin-top: 0.25rem !important;
}

.stm-icon-date::before {
  background: url('template-parts/assets/images/icons/icon-calendar.svg') no-repeat;
  transform: translateY(-50%);
  content: "";
  position: absolute;
  top: 9px !important;
  left: -0.25rem;
  height: 23px;
  width: 23px;
  display: block !important;
}

.select2-results__options li {
  font-size: 1rem !important;
}

.stm_rent_car_form_wrapper input::-moz-placeholder {
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

.stm_rent_car_form_wrapper input::placeholder {
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

.stm_rent_car_form_wrapper .stm_pickup_location .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-left: 48px !important;
}

.stm_rent_car_form_wrapper label .checker {
  margin-right: 0.75rem !important;
}

.stm_rent_car_form_wrapper .checker input {
  height: auto !important;
}

/* ============================================================
   KARTA AUTA — widok pojedynczego pojazdu
   ============================================================ */

.car-single {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-top: 2rem;
}

/* ---- Okruszki ---- */

.car-single__crumbs {
  margin-bottom: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .car-single__crumbs {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car-single__crumbs {
    padding-right: 3.5rem;
  }
}

.car-single__crumbs a {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.car-single__crumbs a:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-dark) / var(--tw-text-opacity));
}

.car-single__crumbs span[aria-current] {
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* ---- Układ: treść + panel rezerwacji ---- */

.car-single__layout {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: flex-start;
  padding-bottom: 2.5rem;
}

@media (min-width: 1024px) {
  .car-single__layout {
    grid-template-columns: 1fr 396px;
    gap: 2.75rem;
  }
}

.car-single__layout {
  gap: 1.125rem;
}

/* ---- Galeria ---- */

.car-gallery {
  position: relative;
  margin: 0px;
}

.vrcliststartfrom.car-gallery {
  top: -0.375rem;
}

/* Plakietki w rogu głównego zdjęcia — te same co na kartach aut. */

.car-gallery__badges {
  position: absolute;
  left: 1rem;
  top: 1rem;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.rtl .modal-info > .car-gallery__badges {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car-gallery__badges {
    padding-right: 3.5rem;
  }
}

.car-gallery__badge {
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.car-gallery__badge--green {
  background-color: rgb(var(--badge-green));
}

.car-gallery__main {
  margin-bottom: 0.875rem;
  aspect-ratio: 16 / 9;
  width: 100%;
  cursor: zoom-in;
  border-radius: var(--r-card);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  -o-object-fit: cover;
     object-fit: cover;
}

.car-gallery__thumbs {
  position: relative;
}

.vrcliststartfrom.car-gallery__thumbs {
  top: -0.375rem;
}

.car-gallery__track {
  display: flex;
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
  --tw-scroll-snap-strictness: mandatory;
  gap: 0.75rem;
  overflow-x: auto;
  scroll-behavior: smooth;
}

.rtl .modal-info > .car-gallery__track {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car-gallery__track {
    padding-right: 3.5rem;
  }
}

.car-gallery__track {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.car-gallery__track::-webkit-scrollbar {
  display: none;
}

.car-gallery__nav {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: grid;
  height: 2.25rem;
  width: 2.25rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  place-items: center;
  border-radius: 9999px;
  border-width: 0px;
  background-color: rgb(var(--white) / 0.9);
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  opacity: 0;
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-backdrop-blur: blur(8px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
          backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  transition-property: opacity,transform,background-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.car-gallery__nav svg {
  height: 1.25rem;
  width: 1.25rem;
}

.car-gallery__nav:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.car-gallery__nav--prev {
  left: 0.5rem;
  --tw-translate-x: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.car-gallery__nav--next {
  right: 0.5rem;
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Strzałka wyłączona, gdy track dojechał do końca — klasę ustawia JS. */

.car-gallery__nav[hidden],
.car-gallery__nav.is-disabled {
  pointer-events: none;
  display: none;
}

.car-gallery__thumbs:hover .car-gallery__nav,
.car-gallery__nav:focus-visible {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 1;
}

.car-thumb {
  aspect-ratio: 4/3;
  width: calc((100% - 2.25rem) / 4);
  flex-shrink: 0;
  cursor: pointer;
  scroll-snap-align: start;
  border-radius: 0.75rem;
  border-width: 2px;
  border-style: solid;
  border-color: transparent;
  -o-object-fit: cover;
     object-fit: cover;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.car-thumb:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Miniatura odpowiadająca zdjęciu w dużym kadrze. */

.car-thumb.is-current {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
}

/* ---- Nagłówek i wyposażenie ---- */

.car-single__title {
  margin-bottom: 0.75rem;
  margin-top: 2rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: clamp(1.625rem, 3.4vw, 2.125rem);
}

/* ---- Kafle wyposażenia ---- */

.car-specs {
  margin: 0px;
  display: grid;
  list-style-type: none;
  gap: 0.75rem;
  padding: 0px;
}

@media (min-width: 768px) {
  .car-specs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .car-specs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.car-specs {
  margin: 2rem 0;
}

@media (max-width: 767px) {
  .car-specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.car-spec {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  border-radius: 1rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: center;
}

.rtl .modal-info > .car-spec {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car-spec {
    padding-right: 3.5rem;
  }
}

/* Ikony przychodzą z ACF w różnych rozmiarach i formatach — wspólny box
   trzyma je w jednej linii bazowej niezależnie od proporcji pliku. */

.car-spec__icon {
  height: 1.5rem;
  width: 1.5rem;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

/* Rastrowe ikony (PNG/JPG) niosą własne białe tło i nie da się ich
   przekolorować — mnożenie wtapia je w jasny kafel zamiast rysować kwadrat. */

img.car-spec__icon {
  mix-blend-mode: multiply;
}

.car-spec b {
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 400;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  display: block !important;
}

@media (min-width: 1024px) {
  .car-spec b {
    font-size: 15px;
  }
}

/* ---- Treść opisowa ---- */

.car-prose {
  margin-top: 2rem;
}

.car-prose h2 {
  margin-bottom: 0.875rem;
  font-size: 1.25rem;
  line-height: 2.375rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.car-prose h3 {
  margin-bottom: 0.625rem;
  margin-top: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.car-prose p {
  margin-bottom: 0.875rem;
  max-width: 70ch;
  line-height: 2;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.car-prose ul {
  margin: 0px;
  display: grid;
  list-style-type: none;
  gap: 0.625rem;
  padding: 0px;
}

@media (min-width: 640px) {
  .car-prose__checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.car-prose__checklist li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 15px;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .car-prose__checklist li {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car-prose__checklist li {
    padding-right: 3.5rem;
  }
}

.car-prose__check {
  height: 19px;
  width: 19px;
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

/* ---- Panel rezerwacji ---- */

.car-bookbox {
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

@media (min-width: 1024px) {
  .car-bookbox {
    position: sticky;
    top: 6rem;
  }
}

.car-bookbox__price {
  margin: 0px;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.rtl .modal-info > .car-bookbox__price {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car-bookbox__price {
    padding-right: 3.5rem;
  }
}

.car-bookbox__price b {
  font-size: 1.5rem;
  line-height: 1.75rem;
  font-weight: 700;
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(var(--price) / var(--tw-text-opacity));
}

@media (min-width: 1024px) {
  .car-bookbox__price b {
    font-size: 34px;
  }
}

.car-bookbox__price b {
  font-variant-numeric: tabular-nums;
}

.car-bookbox__price span {
  font-size: 15px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Bez wybranych dat: etykieta „Pris per dag fra:” nad kwotą. */

.car-bookbox__price--from {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.car-bookbox__amounts {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.rtl .modal-info > .car-bookbox__amounts {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car-bookbox__amounts {
    padding-right: 3.5rem;
  }
}

/* Przekreślona normalna cena przy obniżce z okresu cenowego — ten sam
   szary, mniejszy zapis co etykiety, żeby nie konkurował z ceną. */

.car-bookbox__price .osl-price-old {
  font-size: 15px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.car-bookbox__price .osl-price-old + b {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.car-bookbox__note {
  margin: 0px;
  margin-top: 0.25rem;
  font-size: 13px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Wybór z formularza wyszukiwania: data i godzina dzielą wiersz, adres
   odbioru zajmuje całą szerokość. */

.car-bookbox__trip {
  margin: 0px;
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  row-gap: 0.875rem;
}

.car-bookbox__trip-item--wide {
  grid-column: span 2 / span 2;
}

.car-bookbox__trip dt {
  margin-bottom: 0.375rem;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.car-bookbox__trip dd {
  margin: 0px;
  border-radius: var(--r-btn);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  padding-left: 0.875rem;
  padding-right: 0.875rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 15px;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.car-bookbox__trip dd span {
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Godzina jest krótka — kolumna zwęża się do jej szerokości. */

.car-bookbox__trip-item--time dd {
  white-space: nowrap;
  text-align: center;
}

.car-bookbox__sum {
  margin-top: 1.25rem;
  display: grid;
  gap: 0.5rem;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-top: 1rem;
}

.car-bookbox__row {
  display: flex;
  justify-content: space-between;
  gap: 0.875rem;
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .car-bookbox__row {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car-bookbox__row {
    padding-right: 3.5rem;
  }
}

.car-bookbox__row b {
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-variant-numeric: tabular-nums;
}

.car-bookbox__total {
  margin-top: 0.375rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.875rem;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-top: 0.875rem;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.rtl .modal-info > .car-bookbox__total {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car-bookbox__total {
    padding-right: 3.5rem;
  }
}

.car-bookbox__total b {
  font-size: 1.5rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--price) / var(--tw-text-opacity));
  font-variant-numeric: tabular-nums;
}

.car-bookbox__alert {
  margin-top: 1rem;
  border-radius: var(--r-btn);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--danger) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--danger) / var(--tw-text-opacity));
}

.car-bookbox__cta {
  margin-top: 1.25rem;
  display: flex;
  height: 54px;
  width: 100%;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .car-bookbox__cta {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car-bookbox__cta {
    padding-right: 3.5rem;
  }
}

.car-bookbox__cta:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

.car-bookbox__cta:disabled {
  cursor: not-allowed;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--muted-soft) / var(--tw-bg-opacity));
}

/* Odnośnik pomocniczy pod przyciskiem — surowe podkreślenie ciążyło pod CTA,
   więc zostaje delikatna ramka, a reakcją na hover jest sam kolor. */

.car-bookbox__info {
  margin-top: 1rem;
  display: flex;
  width: 100%;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  background-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .car-bookbox__info {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car-bookbox__info {
    padding-right: 3.5rem;
  }
}

.car-bookbox__info:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

/* Galeria dodatkowych zdjęć pod kartą auta (`single-car.php`).
   Przeniesione z `single-car-view.css` przy jego rozbiórce. */

@media (min-width: 768px) {
  .cardetails_moreimages {
    margin-top: 3rem;
  }
}

.car-bookbox__cta-bar {
  display: contents;
}

/* Cena w pasku dubluje tę z panelu, więc poza telefonem jej nie ma. */

.car-bookbox__bar-price {
  display: none;
}

@media (max-width: 768px) {
  .car-bookbox__cta-bar {
    position: fixed;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 40;
    display: flex;
    align-items: center;
    gap: 20px;
    border-width: 0px;
    border-top-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(var(--line) / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(var(--white) / var(--tw-bg-opacity));
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.875rem;
  }

  .rtl .modal-info > .car-bookbox__cta-bar {
    padding-right: 2rem;
    padding-left: 2.5rem;
  }

  @media (min-width: 640px) {
    .rtl .modal-info > .car-bookbox__cta-bar {
      padding-right: 3.5rem;
    }
  }

  .car-bookbox__cta-bar {
    padding-bottom: calc(0.875rem + env(safe-area-inset-bottom));
    box-shadow: 0 -2px 12px rgb(0 0 0 / 0.08);
  }

  .car-bookbox__bar-price {
    margin: 0px;
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    line-height: 1.25;
  }

  .rtl .modal-info > .car-bookbox__bar-price {
    padding-right: 2rem;
    padding-left: 2.5rem;
  }

  @media (min-width: 640px) {
    .rtl .modal-info > .car-bookbox__bar-price {
      padding-right: 3.5rem;
    }
  }

  .car-bookbox__bar-price b {
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(var(--ink) / var(--tw-text-opacity));
  }

  .car-bookbox__bar-price span {
    font-size: 0.875rem;
    line-height: 1.375rem;
    --tw-text-opacity: 1;
    color: rgb(var(--muted) / var(--tw-text-opacity));
  }

  .car-bookbox__cta {
    margin-top: 0px;
    flex: 1 1 0%;
  }

  /* Pasek zasłania dolną krawędź strony, więc stopka dostaje na niego zapas. */

  body.single-car {
    padding-bottom: calc(5.25rem + env(safe-area-inset-bottom));
  }
}

/* cars slider */

.vrcmodcarsgridview a,
.vrc-pref-color-btn,
 .stm_rent_car_form_wrapper .form-btn-wrap button {
  width: 100%;
  border-radius: var(--r-btn) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity)) !important;
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
  font-size: 1rem !important;
  line-height: 1.75rem !important;
  text-transform: none !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--white) / var(--tw-text-opacity)) !important;
}

.vrcmodcarsgridview a:hover,
.vrc-pref-color-btn:hover,
 .stm_rent_car_form_wrapper .form-btn-wrap button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

/* Booking button for a car an admin flagged as unavailable. */

.vrc-pref-color-btn:disabled,
.vrc-pref-color-btn[disabled] {
  pointer-events: none;
  cursor: not-allowed;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(var(--muted) / var(--tw-bg-opacity)) !important;
}

/* Wewnętrzne odstępy niesie teraz kafel (patrz sekcja niżej), więc blok
   wyposażenia nie może już zerować paddingu z `!important`. */

.vrcmodcarsgridboxdiv {
  border-style: none !important;
  padding: 0px !important;
}

.vrc_price {
  font-size: 1.25rem;
  line-height: 2.375rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--legacy-green-light) / var(--tw-text-opacity));
}

.vrcmodcarsgridcont-items {
  flex-wrap: nowrap !important;
}

.vrcmodcarsgrid-item_title {
  margin-bottom: 0.625rem;
  text-align: left;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .vrcmodcarsgrid-item_title {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 768px) {
  .vrcmodcarsgrid-item_title {
    margin-top: 0.75rem;
    margin-bottom: 0.375rem;
  }
}

.vrcmodcarsgridstartfrom {
  display: none;
}

.vrc_currency {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

[data-vrc-expl]::before,
[data-vrc-expl]::after {
  display: none;
}

.section-cars .vrc-expl {
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

/* Feature icons row in slider cards */

.vrcmodcarsgrid-item_carat {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 0;
}

.vrcmodcarsgrid-item_carat .vrccarcarat {
  display: inline-flex;
  align-items: center;
  margin: 0 14px 6px 0;
}

.vrcmodcarsgrid-item_carat .vrccarcarat img {
  margin-right: 4px;
  flex-shrink: 0;
}

.vrcmodcarsgrid-item_carat .vrccarcarat .vrc-expl {
  position: relative;
  font-size: 0.875rem;
  line-height: 20px;
}

.vrcliststartfrom.vrcmodcarsgrid-item_carat .vrccarcarat .vrc-expl {
  top: -0.375rem;
}

@media (min-width: 1024px) {
  .vrcmodcarsgrid-item_carat .vrccarcarat .vrc-expl {
    font-size: 1rem;
  }
}

.section-cars .vrc-pref-color-btn {
  height: 39px;
  padding: 5px 25px !important;
  width: auto;
}

.btn-vrcmodcarsgrid-btn {
  margin-right: 0.75rem;
}

@media (min-width: 768px) {
  .btn-vrcmodcarsgrid-btn {
    margin-right: 0px;
  }
}

.splide__slide .badge {
  position: absolute;
  right: 0px;
  top: 1.25rem !important;
}

.section-cars .badge {
  top: 3.5rem;
  margin-right: 0.875rem;
}

@media (min-width: 640px) {
  .section-cars .badge {
    top: 2.75rem;
    margin-right: 0px;
  }
}

/* slider arrows */

.section-cars .splide__arrow--next {
  position: relative !important;
}

@media (min-width: 640px) {
  .section-cars .splide__arrow--next {
    right: auto !important;
    left: auto !important;
  }
}

.section-cars .splide__arrow--prev {
  position: relative !important;
  left: auto !important;
}

@media (min-width: 640px) {
  .section-cars .splide__arrow--prev {
    right: auto !important;
    margin-right: 0px;
  }
}

.section-cars .splide__arrow {
  position: relative !important;
  bottom: auto;
  height: auto !important;
  width: auto !important;
  transform: none;
  background-color: transparent !important;
}

@media (min-width: 640px) {
  .section-cars .splide__arrow {
    top: 2rem;
  }
}

@media (min-width: 768px) {
  .section-cars .splide__arrow {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
}

.section-cars .splide__arrow svg {
  display: none;
}

.section-cars .splide__arrow::after {
  content: "";
  background: url('template-parts/assets/images/icons/icon-arrow.svg') no-repeat;
  width: 63px;
  height: 63px;
  display: block !important;
}

@media (max-width: 767px) {
  .section-cars .splide__arrow::after {
    width: 47px;
    height: 47px;
    background: url('template-parts/assets/images/icons/icon-arrow-small.svg') no-repeat;
  }
}

.section-cars .splide__arrow--next::after {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.section-cars .vrc-expl {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  line-height: 20px;
}

.rtl .modal-info > .section-cars .vrc-expl {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-cars .vrc-expl {
    padding-right: 3.5rem;
  }

  .section-cars .vrc-expl {
    font-size: 1rem;
    line-height: 1.75rem;
  }
}

.section-cars .vrc-expl img {
  margin-right: 0.625rem;
  width: 1.25rem;
}

/* ============================================================
   Kafel auta w karuzeli

   Wygląd przeniesiony z `.car-card` w motywie `leiebiloslo`, ale
   selektory celują w markup tutejszego szablonu (`vrcmodcarsgrid*`).

   Wcześniej blokom nadawano stałe wysokości (83 px na tytuł, 112 px na
   wyposażenie) i odstęp stopki marginesem 49 px. Przy dłuższej nazwie
   auta tytuł zajmował cztery wiersze zamiast dwóch i cały spód karty
   zjeżdżał w dół — ceny i przyciski sąsiednich kart przestawały stać
   w jednej linii. Zamiast tego karta jest kolumną `flex`, a stopka
   dociskana jest do dołu `margin-top: auto`, więc wyrównuje się sama,
   niezależnie od długości nazwy.
   ============================================================ */

/* Slajdy rozciągają się na wysokość najwyższej karty — bez tego karta
   kończy się na swojej treści i `margin-top: auto` nie ma do czego
   dociskać stopki. */

.section-cars .splide__list {
  align-items: stretch;
}

.section-cars .splide__slide {
  display: flex;
  height: auto;
}

.rtl .modal-info > .section-cars .splide__slide {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-cars .splide__slide {
    padding-right: 3.5rem;
  }
}

.section-cars .splide__slide > .car_result {
  height: auto;
  min-height: 100%;
  width: 100%;
}

/* Do `md` sekcja jest karuzelą (jeden slajd na ekran), powyżej Splide
   rozbiera się (`destroy`) i lista staje się siatką kafelków: 2 w rzędzie
   od `md`, 3 od `lg`. Wariant `--slider` (powiązane auta na karcie auta)
   cofa te reguły niżej w pliku. */

@media (min-width: 768px) {
  .section-cars .splide__track {
    overflow: visible;
  }

  .section-cars .splide__list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }

  @media (max-width: 768px) {
    .section-cars .splide__list {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
  }

  .section-cars .splide__slide {
    width: auto;
  }
}

@media (min-width: 1024px) {
  .section-cars .splide__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  @media (max-width: 768px) {
    .section-cars .splide__list {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
  }
}

/* Kropki karuzeli stoją w normalnym flow pod kaflami. Reguła globalna
   pozycjonuje paginację absolutnie (`bottom: -5.275em`) — tutaj wyszłaby
   poza sekcję i wylądowała na tle następnej. */

.section-cars .splide__pagination {
  position: static;
  margin-top: 1.75rem;
  padding: 0px;
}

/* `min-h-full`, nie `h-full`: karta ma wypełnić slajd (dzięki temu stopki
   sąsiednich kart stoją w jednej linii), ale musi też móc urosnąć ponad
   jego wysokość. Splide narzuca torowi własną wysokość przy `autoHeight`
   i w trybie `grid` — przy sztywnym `height` karta z dłuższą listą
   wyposażenia była wtedy przycinana, a kontener zdjęcia ściskany do zera. */

.section-cars .splide__slide figure {
  margin: 0px;
  display: flex;
  min-height: 100%;
  width: 100%;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
}

.rtl .modal-info > .section-cars .splide__slide figure {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-cars .splide__slide figure {
    padding-right: 3.5rem;
  }
}

.section-cars .splide__slide figure {
  transition: transform .3s ease, box-shadow .3s ease;
}

.section-cars .splide__slide figure:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.section-cars .vrcmodcarsgridboxdiv {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}

.rtl .modal-info > .section-cars .vrcmodcarsgridboxdiv {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-cars .vrcmodcarsgridboxdiv {
    padding-right: 3.5rem;
  }
}

/* --- Zdjęcie --- */

/* Kadr 4:3 liczony od szerokości slajdu. Wcześniej zdjęcie miało
   `min-width: 390px`, a slajd przy czterech kartach w rzędzie ma około
   270 px — obrazek wychodził poza swoją kartę i nachodził na sąsiednią. */

/* `shrink-0` jest tu istotne: karta jest kolumną `flex`, więc bez tego
   kontener zdjęcia oddaje swoją wysokość dłuższej treści poniżej i przy
   ciasnym kadrze kurczy się do zera — zdjęcie znikało wtedy zupełnie. */

.section-cars .vrcmodcarsgridboxdiv > a {
  position: relative;
  aspect-ratio: 4/3;
  width: 100%;
  flex-shrink: 0;
  overflow: hidden;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  display: block !important;
}

.vrcliststartfrom.section-cars .vrcmodcarsgridboxdiv > a {
  top: -0.375rem;
}

/* Zdjęcia floty to ujęcia na jednolitym tle — kadrowanie ucinałoby
   nadwozie, więc mieszczą się w całości. */

.section-cars .vrcmodcarsgridimg {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  padding: 0.75rem;
  transition: transform .5s ease;
}

.section-cars .splide__slide figure:hover .vrcmodcarsgridimg {
  transform: scale(1.045);
}

/* --- Treść --- */

.section-cars .vrcmodcarsgrid-item_details {
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1.25rem;
}

.section-cars .vrcmodcarsgrid-item_title {
  margin: 0px;
  font-size: 1.25rem;
  line-height: 2.375rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.section-cars .vrcmodcarsgrid-item-btm {
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.875rem;
}

/* Wyposażenie jako pigułki: etykiety mają bardzo różną długość, więc
   zawijany rząd czytał się jak ciąg luźnych słów — obrys daje każdej
   pozycji własną granicę. */

.section-cars .vrcmodcarsgrid-item_carat {
  margin: 0px;
  display: flex;
  list-style-type: none;
  flex-wrap: wrap;
  gap: 0.375rem;
  padding-bottom: 1.5rem;
}

.rtl .modal-info > .section-cars .vrcmodcarsgrid-item_carat {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-cars .vrcmodcarsgrid-item_carat {
    padding-right: 3.5rem;
  }
}

.section-cars .vrcmodcarsgrid-item_carat .vrccarcarat {
  margin: 0px;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 9999px;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  line-height: 1;
}

.section-cars .vrcmodcarsgrid-item_carat .vrccarcarat .vrc-expl {
  margin: 0px;
  font-size: 13px;
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Rastrowe ikony z ACF niosą własne białe tło — mnożenie wtapia je w kartę. */

.section-cars .vrcmodcarsgrid-item_carat .vrccarcarat img {
  margin: 0px;
  height: 15px;
  width: 15px;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
  mix-blend-mode: multiply;
}

/* --- Stopka: cena i przycisk --- */

/* `mt-auto` dociska stopkę do dołu karty, dzięki czemu ceny i przyciski
   wszystkich kart w rzędzie stoją w jednej linii. */

.section-cars .vrcmodcarsgridview {
  margin-left: 0px;
  margin-right: 0px;
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-bottom: 1.25rem;
  padding-top: 0.875rem;
}

.rtl .modal-info > .section-cars .vrcmodcarsgridview {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-cars .vrcmodcarsgridview {
    padding-right: 3.5rem;
  }
}

.section-cars .vrcmodcarsgrid-box-cost {
  margin: 0px;
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
}

.rtl .modal-info > .section-cars .vrcmodcarsgrid-box-cost {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-cars .vrcmodcarsgrid-box-cost {
    padding-right: 3.5rem;
  }
}

.section-cars .vrc_currency {
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.section-cars .vrc_price {
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--price) / var(--tw-text-opacity));
  font-variant-numeric: tabular-nums;
}

.section-cars .btn-vrcmodcarsgrid-btn {
  margin: 0px;
  display: inline-flex;
  height: 39px;
  width: auto;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-size: 15px;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.section-cars .btn-vrcmodcarsgrid-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

/* Jedna karta na ekran nie konkuruje o szerokość z sąsiadami, więc
   zdjęcie może dostać niższy, szerszy kadr. */

@media (max-width: 567px) {
  .section-cars .vrcmodcarsgridboxdiv > a {
    aspect-ratio: 16/10;
  }
}

/* ============================================================
   Wariant „karuzela” — sekcja „Andre biler” na karcie auta

   Ten sam `.section-cars` obsługuje dwie różne sekcje: slajder na
   stronie głównej (markup `vrcmodcarsgrid*`, reguły powyżej) oraz
   powiązane auta na karcie pojazdu, gdzie kaflem jest `.car-card`.
   Reguły wariantu stoją na końcu pliku celowo — mają tę samą swoistość
   co reguły ogólne `.section-cars`, więc o wyniku decyduje kolejność.

   Wygląd przeniesiony z motywu `leiebiloslo`.
   ============================================================ */

.section-cars--slider {
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

@media (min-width: 640px) {
  .section-cars--slider {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

/* Nagłówek sekcji: tytuł po lewej, strzałki po prawej, wyrównane do
   wspólnej linii bazowej. */

.section-cars__head {
  margin-bottom: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
}

.rtl .modal-info > .section-cars__head {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-cars__head {
    padding-right: 3.5rem;
  }
}

.section-cars__arrows {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.625rem;
}

.rtl .modal-info > .section-cars__arrows {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-cars__arrows {
    padding-right: 3.5rem;
  }
}

/* Odnośnik „zobacz wszystkie” — w makiecie wypełniony granatem. */

.car-section__more {
  display: inline-flex;
  height: 45px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-size: 1rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.car-section__more:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep-2) / var(--tw-bg-opacity));
}

/* Karuzela nie rozbiera się tu na szerokich ekranach — trzeba cofnąć
   siatkę i przycinanie kadru z reguł ogólnych. */

.section-cars--slider .splide__track {
  overflow: hidden !important;
}

/* `gap` dokładałby się do marginesów, którymi Splide realizuje własny
   odstęp — slajdy nie zmieściłyby się wtedy w kadrze. */

.section-cars--slider .splide__list {
  display: flex !important;
  gap: 0px !important;
}

/* Strzałki siedzą w nagłówku sekcji, nie na kadrze. Sekcja na stronie
   głównej rysuje je obrazkiem w `::after` i chowa `svg`; tutaj wracamy
   do wektora z szablonu, więc trzeba oba zabiegi odwrócić. */

/* Reguła ogólna wymusza `!w-auto !h-auto !bg-transparent !relative` (strzałki
   na stronie głównej są samym obrazkiem), więc wariant musi je przebić
   równie mocno — przy zwykłych deklaracjach `!important` wygrywa niezależnie
   od kolejności i swoistości. */

.section-cars--slider .splide__arrow {
  position: static !important;
  height: 2.75rem !important;
  width: 2.75rem !important;
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1 !important;
  background-color: rgb(var(--white) / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  opacity: 1;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.section-cars--slider .splide__arrow::after {
  display: none;
  content: none;
}

.section-cars--slider .splide__arrow svg {
  height: 1.25rem;
  width: 1.25rem;
  fill: none;
  display: block !important;
}

/* Splide domyślnie odbija ikonę „wstecz” — nasza już wskazuje w lewo. */

.section-cars--slider .splide__arrow--prev svg {
  transform: none;
}

.section-cars--slider .splide__arrow:hover:not(:disabled) {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-bg-opacity: 1 !important;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  opacity: 1;
}

.section-cars--slider .splide__arrow:disabled {
  opacity: 0.4;
}

.page-template-template-car-category .vrc-main-title,
  .page-template-template-car-category .tab-content {
  display: none;
}

.vrccatdescr {
  display: none;
}

.vrc-car-result-inner {
  min-height: auto !important;
}

.imgresult {
  -o-object-fit: contain;
     object-fit: contain;
  margin-left: auto;
  margin-right: auto;
  min-height: 200px;
}

@media (min-width: 640px) {
  .imgresult {
    min-height: 291px;
  }
}

.stm_product_grid_single:hover {
  transform: scale(1.05, 1.05);
  transition: all .4s ease-in-out 0s;
}

.stm_products_grid_class .stm_product_grid_single:hover .inner {
  background: transparent !important;
}

.stm_image {
  order: -1;
  min-height: 238px;
}

@media (max-width: 1024px) {
  .stm_products_grid_class .stm_product_grid_single .inner .stm_top {
    padding: 0px !important;
  }

  .stm_image {
    min-height: 138px;
  }
}

.stm_product_grid_single .inner {
  display: flex !important;
  flex-direction: column !important;
}

.stm_products_grid_class .stm_product_grid_single .inner .stm_top .stm_left {
  width: 100% !important;
}

.stm_products_grid_class .stm_product_grid_single .inner .stm_top .stm_right,
.stm_top.clearfix {
  margin-top: 1rem;
  display: flex !important;
  width: 100% !important;
  flex-wrap: wrap;
}

.stm_products_grid_class .stm_product_grid_single .inner .stm_top .stm_right .single_info {
  margin-right: 18px !important;
  display: inline-block;
}

.stm_products_grid_class .stm_product_grid_single .inner .stm_image img {
  min-height: 208px;
  -o-object-fit: contain;
     object-fit: contain;
}

.stm_products_grid_class .stm_product_grid_single .inner .stm_top .stm_left .price {
  background-color: transparent !important;
  color: rgb(4 196 62) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
}

.stm_products_grid_class .stm_product_grid_single .inner .stm_top .stm_left .price>mark {
  background-color: transparent !important;
  margin-right: 12px;
  color: black !important;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
}

.stm_products_grid_class .stm_product_grid_single .inner .stm_top .stm_left h3 {
  margin-bottom: 1.75rem !important;
  font-weight: 600 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

.stm_products_grid_class .stm_product_grid_single .inner .stm_top .stm_right .single_info i {
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

input[type=date]:required:invalid::-webkit-datetime-edit {
  color: transparent;
}

input[type=date]:focus::-webkit-datetime-edit {
  color: black !important;
}

.custom-checkbox {
  position: relative;
  display: inline-block;
  cursor: pointer;
  padding-left: 2rem;
  font-size: 0.875rem;
  line-height: 20px;
}

.vrcliststartfrom.custom-checkbox {
  top: -0.375rem;
}

.custom-checkbox input {
  position: absolute;
  cursor: pointer;
  opacity: 0;
}

.checkmark {
  position: absolute;
  left: 0px;
  top: 0px;
  border-width: 1px;
  border-style: solid;
  background-color: transparent;
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--brand) / var(--tw-border-opacity)) !important;
}

.checkmark::after {
  position: absolute;
  display: none;
  --tw-content: '';
  content: var(--tw-content);
}

.checkmark {
  width: 19px;
  height: 19px;
}

.checkmark-grey {
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--line) / var(--tw-border-opacity)) !important;
}

.custom-checkbox input:checked+.checkmark {
  background-color: transparent;
}

.custom-checkbox input:checked+.checkmark::after {
  display: block !important;
}

.custom-checkbox .checkmark::after {
  left: 0.375rem;
  height: 0.625rem;
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-style: solid;
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--brand) / var(--tw-border-opacity)) !important;
  top: 2px;
  width: 5px;
  border-width: 0 2px 2px 0;
}

.checkbox-options .checkmark {
  top: -0.8rem
}

.vrc-showprc-option-cell-price-sel {
  width: 2rem;
}

.osl-checkout-section {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  padding: 2.75rem 0 5rem;
}

@media (min-width: 1024px) {
  .osl-checkout-section {
    padding: 2.75rem 0 6.5rem;
  }
}

/* --- Pasek kroków (makieta: .lb-stepbar) ---------------------------------- */

/* Trzy kroki mieszczą się w jednym rzędzie także na najwęższych ekranach —
   pod warunkiem, że zrezygnują tam z kresek łączących i zejdą z rozmiarów.
   Przy zawijaniu (`flex-wrap`) ostatni krok spadał do drugiego wiersza,
   a kreska po przedostatnim zostawała wisieć na końcu pierwszego. */

.osl-steps {
  display: flex;
  list-style-type: none;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0px;
  padding: 0px;
}

.rtl .modal-info > .osl-steps {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-steps {
    padding-right: 3.5rem;
  }
}

.osl-steps {
  margin: 0 0 2.25rem;
}

.osl-steps li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: .8125rem;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-steps li {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-steps li {
    padding-right: 3.5rem;
  }
}

.osl-steps li {
  padding-right: .75rem;
}

.osl-steps li:last-child {
  padding-right: 0px;
}

/* Kreski dopiero od `sm` — niżej zabierały miejsce potrzebne etykietom. */

.osl-steps li::after {
  display: none;
}

@media (min-width: 640px) {
  .osl-steps li {
    gap: .6875rem;
    font-size: 0.875rem;
    line-height: 20px;
    padding-right: 1.25rem;
  }

  .osl-steps li::after {
    content: "";
    height: 1px;
    --tw-bg-opacity: 1;
    background-color: rgb(var(--line) / var(--tw-bg-opacity));
    display: block !important;
    width: 1.625rem;
    margin-left: .875rem;
  }

  .osl-steps li:last-child::after {
    display: none !important;
  }
}

.osl-steps a {
  display: flex;
  align-items: center;
  gap: .6875rem;
  color: inherit;
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .osl-steps a {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-steps a {
    padding-right: 3.5rem;
  }
}

.osl-steps a:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.osl-steps i {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--line) / var(--tw-bg-opacity));
  font-size: .8125rem;
  font-weight: 700;
  font-style: normal;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-steps i {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-steps i {
    padding-right: 3.5rem;
  }
}

.osl-steps i {
  width: 1.625rem;
  height: 1.625rem;
}

@media (min-width: 640px) {
  .osl-steps i {
    font-size: 0.875rem;
    line-height: 20px;
    width: 1.875rem;
    height: 1.875rem;
  }
}

.osl-steps .is-now {
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.osl-steps .is-now i {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.osl-steps .is-done i {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

/* --- Siatka: kolumna główna + lepki panel zamówienia ---------------------- */

.osl-checkout {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .osl-checkout {
    grid-template-columns: minmax(0, 1fr) 24.75rem;
    align-items: flex-start;
    gap: 2.75rem;
  }
}

.osl-checkout-main {
  display: flex;
  min-width: 0px;
  flex-direction: column;
  gap: 1.5rem;
}

.rtl .modal-info > .osl-checkout-main {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-checkout-main {
    padding-right: 3.5rem;
  }
}

/* --- Panele (makieta: .lb-panel) ------------------------------------------ */

.osl-card {
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  --tw-shadow: var(--shadow-card);
  --tw-shadow-colored: var(--shadow-card);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  padding: 1.875rem 1.75rem;
}

@media (max-width: 640px) {
  .osl-card {
    padding: 1.5rem 1.25rem;
  }
}

.osl-card-head {
  margin: 0px;
  font-family: Montserrat, sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.osl-card-hint {
  margin-top: 0.375rem;
  margin-bottom: 1.375rem;
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Grupy wewnątrz panelu nie mają własnej ramki ani paddingu. */

.osl-plain-wrap {
  margin-bottom: 1.5rem;
  border-width: 0px;
  padding: 0px;
}

.osl-plain-wrap:last-child {
  margin-bottom: 0px;
}

/* --- Kafle opcji i płatności (makieta: .lb-opt) --------------------------- */

/* Na telefonie wychodzi z tego lista w jednej kolumnie. `min()` pilnuje, żeby
   na najwęższych ekranach kafel nie wystawał poza panel. */

.osl-opt-grid {
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .osl-opt-grid {
    gap: 20px;
  }
}

.osl-opt-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr));
}

.osl-option-row {
  display: flex;
  width: 100%;
  cursor: pointer;
  align-items: flex-start;
  gap: .875rem;
  border-radius: 1rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding: 1.125rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .osl-option-row {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-option-row {
    padding-right: 3.5rem;
  }
}

.osl-option-row:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
}

/* Dodatek w cenie (0 kr) — informacja, nie wybór: bez reakcji na hover. */

.osl-option-row--included,
.osl-option-row--included:hover {
  cursor: default;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
}

.osl-option-row--included .osl-option-price {
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.osl-option-row.is-selected {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  background-color: rgb(var(--brand) / 0.04);
}

.osl-option-row input[type="checkbox"],
.osl-option-row input[type="radio"] {
  margin-top: 0.25rem;
  height: 1.1875rem;
  width: 1.1875rem;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: rgb(var(--brand) / 1);
}

.osl-option-txt {
  min-width: 0px;
  flex: 1 1 0%;
}

.osl-option-name {
  font-size: .96875rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  display: block !important;
}

.osl-option-note {
  margin-top: 0.125rem;
  font-size: .84375rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  display: block !important;
}

.osl-option-price {
  flex-shrink: 0;
  white-space: nowrap;
  font-size: .9375rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--price) / var(--tw-text-opacity));
  font-variant-numeric: tabular-nums;
}

/* --- Pola formularza (makieta: .lb-field / .lb-input) --------------------- */

.osl-field-row {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 20px;
}

@media (min-width: 640px) {
  .osl-field-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.osl-checkout .osl-driver-form-fields {
  gap: 20px;
}

.osl-checkout .osl-form-field label {
  margin-bottom: 0.375rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  display: block !important;
  letter-spacing: .09em;
  line-height: 1.4;
}

.osl-checkout .osl-form-field input[type="text"],
.osl-checkout .osl-form-field input[type="email"],
.osl-checkout .osl-form-field input[type="tel"],
.osl-checkout .osl-form-field textarea {
  width: 100%;
  border-radius: 0.75rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  padding-left: .875rem;
  padding-right: .875rem;
  font-size: .9375rem;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  height: 3.25rem;
  padding-top: 0;
  padding-bottom: 0;
}

.osl-checkout .osl-form-field textarea {
  resize: none;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  line-height: 1.625;
  height: auto;
  min-height: 6.25rem;
}

.osl-checkout .osl-form-field input:focus,
.osl-checkout .osl-form-field textarea:focus {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.18);
}

.osl-checkout .osl-form-field input:-webkit-autofill,
.osl-checkout .osl-form-field input:-webkit-autofill:hover,
.osl-checkout .osl-form-field textarea:-webkit-autofill {
  -webkit-text-fill-color: rgb(var(--ink));
  box-shadow: 0 0 0 62.5rem rgb(var(--surface)) inset;
  caret-color: rgb(var(--ink));
}

.osl-checkout .osl-form-field input:-webkit-autofill:focus,
.osl-checkout .osl-form-field textarea:-webkit-autofill:focus {
  box-shadow: 0 0 0 62.5rem rgb(var(--surface)) inset, 0 0 0 3px rgb(var(--brand) / 0.18);
}

.osl-checkout .osl-field-has-error input,
.osl-checkout .osl-field-has-error textarea {
  --tw-border-opacity: 1;
  border-color: rgb(var(--danger) / var(--tw-border-opacity));
  background-color: rgb(var(--danger) / 0.05);
}

.osl-error-msg {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.375rem;
  --tw-text-opacity: 1;
  color: rgb(var(--danger) / var(--tw-text-opacity));
  display: block !important;
}

/* Widget telefonu (intl-tel-input) dopasowany do wysokości pól. */

.osl-checkout .osl-form-field .iti input[type="tel"] {
  width: 100%;
}

/* --- Zgoda na warunki ----------------------------------------------------- */

/* Swoistość 0,2,0 — przebija bazową regułę pola z `booking-form.css` (0,1,0). */

.osl-checkout .osl-form-field--checkbox {
  margin-top: 1.25rem;
}

/* Zgoda jest `<label>` wewnątrz `.osl-form-field`, więc łapała wersaliki i
   pogrubienie z reguły dla etykiet pól — stąd dodatkowy człon selektora
   (0,3,0), który tamtą regułę (0,2,1) przebija. */

.osl-checkout .osl-form-field .osl-terms-label {
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.625rem;
  font-weight: 400;
  text-transform: none;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-checkout .osl-form-field .osl-terms-label {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-checkout .osl-form-field .osl-terms-label {
    padding-right: 3.5rem;
  }
}

.osl-checkout .osl-form-field .osl-terms-label {
  font-size: .8125rem;
  letter-spacing: normal;
}

.osl-checkout .osl-terms-label input[type="checkbox"] {
  position: relative;
  top: 0.25rem;
  margin-right: 0.5rem;
  height: 1.125rem;
  width: 1.125rem;
  flex-shrink: 0;
  cursor: pointer;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  accent-color: rgb(var(--brand) / 1);
}

.vrcliststartfrom.osl-checkout .osl-terms-label input[type="checkbox"] {
  top: -0.375rem;
}

.osl-checkout .osl-terms-label input[type="checkbox"] {
  border-radius: .25rem;
}

.osl-checkout .osl-terms-label a {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  text-decoration-line: underline;
}

/* --- Panel zamówienia (makieta: .lb-bookbox) ------------------------------ */

.osl-checkout-side {
  min-width: 0px;
}

@media (min-width: 1024px) {
  .osl-checkout-side {
    position: sticky;
    /* Poniżej lepkiego nagłówka strony. */
    top: 5.5rem;
    max-height: calc(100vh - 7rem);
    overflow-y: auto;
  }
}

.osl-summary-card {
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  padding: 1.625rem 1.5rem;
}

/* `mt-0` kasuje `my-5` z globalnej reguły dla `h3` w `typography.css`. */

.osl-summary-title {
  margin-bottom: 1rem;
  margin-top: 0px;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

/* Miniatura auta + nazwa */

.osl-summary-car {
  margin-bottom: 1.125rem;
  display: flex;
  align-items: center;
  gap: .875rem;
}

.rtl .modal-info > .osl-summary-car {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-summary-car {
    padding-right: 3.5rem;
  }
}

/* `object-contain`, nie `cover`: zdjęcia floty są kadrowane szeroko i przy
   przycięciu do miniatury ucinały auto po bokach. Jasne tło kafelka wypełnia
   wtedy margines, który zostaje po proporcjach zdjęcia. */

.osl-summary-car img {
  flex-shrink: 0;
  border-radius: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  -o-object-fit: contain;
     object-fit: contain;
  padding: 0.25rem;
  width: 6.5rem;
  height: 4.875rem;
}

.osl-summary-car-name {
  font-size: .9375rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  display: block !important;
}

.osl-summary-car-specs {
  font-size: .8125rem;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  display: block !important;
}

/* Lista „odbiór / zwrot / miejsce” (makieta: .lb-dl) */

.osl-summary-dl {
  margin: 0px;
  display: grid;
}

.osl-summary-dl > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  font-size: .90625rem;
}

.rtl .modal-info > .osl-summary-dl > div {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-summary-dl > div {
    padding-right: 3.5rem;
  }
}

.osl-summary-dl > div {
  padding: .8125rem 0;
}

.osl-summary-dl > div:last-child {
  border-bottom-width: 0px;
}

.osl-summary-dl dt {
  margin: 0px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.osl-summary-dl dd {
  margin: 0px;
  text-align: right;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

/* Podsumowanie kwot (makieta: .lb-sum) */

.osl-summary-rows {
  display: grid;
  gap: .5625rem;
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-top: 1rem;
}

.osl-sum-row {
  display: flex;
  justify-content: space-between;
  gap: 0.875rem;
  font-size: .90625rem;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-sum-row {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-sum-row {
    padding-right: 3.5rem;
  }
}

.osl-sum-label {
  display: flex;
  min-width: 0px;
  flex-direction: column;
}

.rtl .modal-info > .osl-sum-label {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-sum-label {
    padding-right: 3.5rem;
  }
}

.osl-sum-label small {
  font-size: 0.875rem;
  line-height: 1.375rem;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.osl-sum-value {
  flex-shrink: 0;
  white-space: nowrap;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-variant-numeric: tabular-nums;
}

.osl-sum-total {
  margin-top: 0.375rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.875rem;
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-sum-total {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-sum-total {
    padding-right: 3.5rem;
  }
}

.osl-sum-total {
  padding-top: .875rem;
}

.osl-sum-total strong {
  white-space: nowrap;
  --tw-text-opacity: 1;
  color: rgb(var(--price) / var(--tw-text-opacity));
  font-size: 1.5rem;
  font-variant-numeric: tabular-nums;
}

/* „Herav MVA” pod sumą — informacja, nie pozycja do zapłaty, więc drobniej. */

.osl-sum-tax {
  margin: 0px;
  margin-top: 0.25rem;
  display: flex;
  justify-content: space-between;
  gap: 0.875rem;
  font-size: 13px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-sum-tax {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-sum-tax {
    padding-right: 3.5rem;
  }
}

.osl-sum-tax {
  font-variant-numeric: tabular-nums;
}

/* Przycisk potwierdzenia — pełna szerokość, jak w makiecie. */

.osl-summary-submit {
  margin-top: 1.25rem;
  display: inline-flex;
  height: 54px !important;
  width: 100% !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--white) / var(--tw-text-opacity)) !important;
}

.osl-summary-back {
  margin-top: 0.75rem;
  display: flex;
  height: 49px;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .osl-summary-back {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-summary-back {
    padding-right: 3.5rem;
  }
}

.osl-summary-back:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

/* Lista zaufania (makieta: .lb-trust) */

.osl-trust {
  margin-top: 1.125rem;
  display: grid;
  list-style-type: none;
  gap: .5625rem;
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding: 0px;
  padding-top: 1rem;
}

.osl-trust li {
  display: flex;
  align-items: center;
  gap: .5625rem;
  font-size: .84375rem;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-trust li {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-trust li {
    padding-right: 3.5rem;
  }
}

.osl-trust svg {
  height: 1.0625rem;
  width: 1.0625rem;
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

/* --- Pasek mobilny -------------------------------------------------------- */

.osl-mobile-bar {
  position: fixed;
  bottom: 0px;
  left: 0px;
  right: 0px;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

.rtl .modal-info > .osl-mobile-bar {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-mobile-bar {
    padding-right: 3.5rem;
  }
}

.osl-mobile-bar {
  box-shadow: 0 -4px 16px rgb(var(--ink) / 0.08);
  padding-bottom: calc(0.875rem + env(safe-area-inset-bottom));
}

@media (min-width: 1024px) {
  .osl-mobile-bar {
    display: none;
  }
}

.osl-mobile-bar-price {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-mobile-bar-price {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-mobile-bar-price {
    padding-right: 3.5rem;
  }
}

.osl-mobile-bar-price strong {
  white-space: nowrap;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(var(--price) / var(--tw-text-opacity));
  font-variant-numeric: tabular-nums;
}

.osl-mobile-bar .btn {
  height: 2.875rem !important;
  width: auto !important;
  flex-shrink: 0;
  align-items: center;
  border-radius: var(--r-btn) !important;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--white) / var(--tw-text-opacity)) !important;
}

/* Miejsce na pasek, żeby nie zasłaniał ostatniego pola. */

@media (max-width: 1023px) {
  .osl-booking-form {
    padding-bottom: 6rem;
  }
}

/* ---------------------------------------------------------------------------
   Potwierdzenie zamówienia (order-success-component) — widok „Bekreftelse”
   z makiety: nagłówek z ikoną, paragon w dwóch kolumnach i panel „co dalej”.
--------------------------------------------------------------------------- */

.osl-done {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.5rem;
  text-align: center;
  max-width: 38.75rem;
}

.osl-done-ico {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--accent-soft) / var(--tw-bg-opacity));
}

.rtl .modal-info > .osl-done-ico {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-done-ico {
    padding-right: 3.5rem;
  }
}

.osl-done-ico {
  width: 5.75rem;
  height: 5.75rem;
}

.osl-done-ico svg {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  width: 2.75rem;
  height: 2.75rem;
}

.osl-done h1 {
  margin-bottom: 0.75rem;
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: clamp(1.625rem, 3.4vw, 2.125rem);
  line-height: 1.2;
}

.osl-done p {
  margin: 0px;
  font-size: 1rem;
  line-height: 1.75rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.osl-done strong {
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

/* Plakietka z numerem zamówienia (makieta: .lb-ref) */

.osl-ref {
  margin-top: 1.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: var(--r-btn);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.osl-ref span {
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  letter-spacing: .09em;
}

.osl-ref b {
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: 1.1875rem;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
}

/* Paragon (makieta: .lb-receipt) */

.osl-receipt {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  overflow: hidden;
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
}

@media (min-width: 768px) {
  .osl-receipt {
    grid-template-columns: minmax(0, 1fr) 18.75rem;
  }
}

.osl-receipt-body {
  min-width: 0px;
  padding: 1.875rem 1.75rem;
}

.osl-receipt-title {
  margin: 0px;
  margin-bottom: 1.25rem;
  font-family: Montserrat, sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.osl-receipt-total {
  --tw-text-opacity: 1;
  color: rgb(var(--price) / var(--tw-text-opacity));
  font-size: 1.0625rem;
}

.osl-receipt-side {
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  text-align: center;
  padding: 1.875rem 1.75rem;
}

@media (min-width: 768px) {
  .osl-receipt-side {
    border-left-width: 1px;
    border-top-width: 0px;
  }
}

.osl-receipt-side-label {
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  display: block !important;
  letter-spacing: .09em;
}

.osl-receipt-side-ref {
  margin-top: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  display: block !important;
  font-size: 1.75rem;
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
}

/* Kod QR — biała podkładka, żeby czytniki miały kontrast także na tle sekcji. */

.osl-qr {
  margin-left: auto;
  margin-right: auto;
  border-radius: 0.75rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding: 0.625rem;
  width: -moz-fit-content;
  width: fit-content;
}

.osl-qr svg {
  display: block !important;
  width: 11.875rem;
  height: 11.875rem;
}

.osl-receipt-side p {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0px;
  margin-top: 0.75rem;
  font-size: .84375rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  max-width: 22ch;
}

/* Przyciski pod paragonem (makieta: .lb-btn) */

.osl-receipt-actions {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.rtl .modal-info > .osl-receipt-actions {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-receipt-actions {
    padding-right: 3.5rem;
  }
}

.osl-receipt-actions--center {
  justify-content: center;
}

.osl-btn {
  display: inline-flex;
  height: 45px;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

@media (min-width: 640px) {
  .osl-btn {
    width: auto;
  }
}

.osl-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.osl-btn--ghost {
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.osl-btn--ghost:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

/* „Hva skjer nå?” */

.osl-next {
  margin-top: 1.5rem;
}

.osl-next-list {
  margin: 0px;
  margin-top: 1rem;
  display: grid;
  list-style-type: none;
  gap: 0.75rem;
  padding: 0px;
}

.osl-next-list li {
  display: flex;
  min-width: 0px;
  gap: 0.75rem;
  font-size: .9375rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-next-list li {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-next-list li {
    padding-right: 3.5rem;
  }
}

.osl-next-list svg {
  margin-top: 0.25rem;
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  width: 1.1875rem;
  height: 1.1875rem;
}

.osl-next-list strong {
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

/* Adres e-mail, nazwa auta czy nazwa punktu odbioru to jeden nierozdzielny
   wyraz — na wąskim ekranie wychodziły poza kafel. `anywhere`, nie
   `break-word`: tylko ta wartość wpływa na szerokość min-content, więc dopiero
   ona pozwala zmieścić się elastycznemu elementowi w kolumnie. */

.osl-next-list li,
.osl-done p,
.osl-summary-dl dd,
.osl-receipt-side p {
  overflow-wrap: anywhere;
}

/* ============================================================
   Elementy checkoutu obecne tylko w tym motywie

   Baza powyżej pochodzi z motywu `leiebiloslo`, ale tutejszy checkout
   ma kilka rzeczy, których tamten nie zna: wybór typu klienta wraz
   z polami firmowymi (Bedrift / MVA), wybór metody płatności oraz
   numerowane kroki. Szablon zostaje nietknięty — poniżej sam wygląd,
   dociągnięty do palety Nordic Teal.
   ============================================================ */

/* Numer kroku w nagłówku sekcji. */

.osl-step-num {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  width: 1.75rem;
  height: 1.75rem;
}

.osl-field-group-title {
  margin-bottom: 0.75rem;
  padding-bottom: 0px;
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

/* Pola firmowe pojawiają się dopiero po wybraniu „Bedrift”. */

.osl-company-fields[hidden] {
  display: none !important;
}

.osl-form-field input:focus,
.osl-form-field textarea:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(var(--brand) / var(--tw-ring-opacity));
}

.osl-field-has-error input,
.osl-field-has-error textarea {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(var(--danger) / var(--tw-ring-opacity));
}

.vrc-showprc-price-row {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

/* Pozycja opcji w podsumowaniu — lżejsza niż wiersz z ceną najmu. */

.osl-sum-row--option .osl-sum-label {
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* ---- Wybór metody płatności ---- */

.osl-payment-options {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.rtl .modal-info > .osl-payment-options {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-payment-options {
    padding-right: 3.5rem;
  }
}

.osl-payment-legend {
  margin-bottom: 0.5rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  display: block !important;
}

.osl-payment-option {
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.75rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 15px;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .osl-payment-option {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-payment-option {
    padding-right: 3.5rem;
  }
}

.osl-payment-option:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
}

/* `:has()` podświetla wybraną opcję bez pomocy JavaScriptu. */

.osl-payment-option:has(input:checked) {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity));
}

.osl-payment-option input {
  height: 1rem;
  width: 1rem;
  flex-shrink: 0;
  accent-color: rgb(var(--brand) / 1);
}

.choices{
  position:relative;
  overflow:hidden;
  margin-bottom:24px;
  font-size:16px
}

.choices:focus{
  outline:0
}

.choices:last-child{
  margin-bottom:0
}

.choices.is-open{
  overflow:visible
}

.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{
  background-color:#eaeaea;
  cursor:not-allowed;
  -webkit-user-select:none;
  -moz-user-select:none;
       user-select:none
}

.choices.is-disabled .choices__item{
  cursor:not-allowed
}

.choices [hidden]{
  display:none!important
}

.choices[data-type*=select-one]{
  cursor:pointer
}

.choices[data-type*=select-one] .choices__inner{
  padding-bottom:7.5px
}

.choices[data-type*=select-one] .choices__input{
  display:block;
  width:100%;
  padding:10px;
  border-bottom:1px solid #ddd;
  background-color:#fff;
  margin:0
}

.choices[data-type*=select-one] .choices__button{
  background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);
  padding:0;
  background-size:8px;
  position:absolute;
  top:50%;
  right:0;
  margin-top:-10px;
  margin-right:25px;
  height:20px;
  width:20px;
  border-radius:10em;
  opacity:.25
}

.choices[data-type*=select-one] .choices__button:focus,.choices[data-type*=select-one] .choices__button:hover{
  opacity:1
}

.choices[data-type*=select-one] .choices__button:focus{
  box-shadow:0 0 0 2px #00bcd4
}

.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{
  display:none
}

.choices[data-type*=select-one]::after{
  content:"";
  height:0;
  width:0;
  border-style:solid;
  border-color:#333 transparent transparent;
  border-width:5px;
  position:absolute;
  right:11.5px;
  top:50%;
  margin-top:-2.5px;
  pointer-events:none
}

.choices[data-type*=select-one].is-open::after{
  border-color:transparent transparent #333;
  margin-top:-7.5px
}

.choices[data-type*=select-one][dir=rtl]::after{
  left:11.5px;
  right:auto
}

.choices[data-type*=select-one][dir=rtl] .choices__button{
  right:auto;
  left:0;
  margin-left:25px;
  margin-right:0
}

.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{
  cursor:text
}

.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{
  position:relative;
  display:inline-block;
  margin:0-4px 0 8px;
  padding-left:16px;
  border-left:1px solid #008fa1;
  background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);
  background-size:8px;
  width:8px;
  line-height:1;
  opacity:.75;
  border-radius:0
}

.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=text] .choices__button:focus,.choices[data-type*=text] .choices__button:hover{
  opacity:1
}

.choices__inner{
  display:inline-block;
  vertical-align:top;
  width:100%;
  background-color:#f9f9f9;
  padding:7.5px 7.5px 3.75px;
  border:1px solid #ddd;
  border-radius:2.5px;
  font-size:14px;
  min-height:44px;
  overflow:hidden
}

.is-focused .choices__inner,.is-open .choices__inner{
  border-color:#b7b7b7
}

.is-open .choices__inner{
  border-radius:2.5px 2.5px 0 0
}

.choices__list{
  margin:0;
  padding-left:0;
  list-style:none
}

.choices__list--single{
  display:inline-block;
  padding:4px 16px 4px 16px;
  width:100%
}

[dir=rtl] .choices__list--single{
  padding-right:4px;
  padding-left:16px
}

.choices__list--single .choices__item{
  width:100%
}

.choices__list--multiple{
  display:inline
}

.choices__list--multiple .choices__item{
  display:inline-block;
  vertical-align:middle;
  border-radius:20px;
  padding:4px 10px;
  font-size:12px;
  font-weight:500;
  margin-right:3.75px;
  margin-bottom:3.75px;
  background-color:#00bcd4;
  border:1px solid #00a5bb;
  color:#fff;
  word-break:break-all;
  box-sizing:border-box
}

.choices__list--multiple .choices__item[data-deletable]{
  padding-right:5px
}

[dir=rtl] .choices__list--multiple .choices__item{
  margin-right:0;
  margin-left:3.75px
}

.choices__list--multiple .choices__item.is-highlighted{
  background-color:#00a5bb;
  border:1px solid #008fa1
}

.is-disabled .choices__list--multiple .choices__item{
  background-color:#aaa;
  border:1px solid #919191
}

.choices__list--dropdown,.choices__list[aria-expanded]{
  visibility:hidden;
  z-index:1;
  position:absolute;
  width:100%;
  top:100%;
  margin-top:-1px;
  border-bottom-left-radius:2.5px;
  border-bottom-right-radius:2.5px;
  overflow:hidden;
  word-break:break-all;
  will-change:visibility
}

.is-active.choices__list--dropdown,.is-active.choices__list[aria-expanded]{
  visibility:visible
}

.is-open .choices__list--dropdown,.is-open .choices__list[aria-expanded]{
  border-color:#b7b7b7
}

.is-flipped .choices__list--dropdown,.is-flipped .choices__list[aria-expanded]{
  top:auto;
  margin-top:0;
  margin-bottom:-1px;
}

.choices__list--dropdown .choices__list,.choices__list[aria-expanded] .choices__list{
  position:relative;
  z-index:99;
  max-height:300px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  will-change:scroll-position;
  border:1px solid #f2f2f2;
}

.choices__list--dropdown .choices__item,.choices__list[aria-expanded] .choices__item{
  position:relative;
  padding:10px;
  font-size:14px
}

[dir=rtl] .choices__list--dropdown .choices__item,[dir=rtl] .choices__list[aria-expanded] .choices__item{
  text-align:right
}

@media (min-width:640px){
  .choices__list--dropdown .choices__item--selectable,.choices__list[aria-expanded] .choices__item--selectable{
    padding-right:87px
  }

  .choices__list--dropdown .choices__item--selectable::after,.choices__list[aria-expanded] .choices__item--selectable::after{
    content:attr(data-select-text);
    font-size:12px;
    opacity:0;
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%)
  }

  [dir=rtl] .choices__list--dropdown .choices__item--selectable,[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable{
    text-align:right;
    padding-left:100px;
    padding-right:10px
  }

  [dir=rtl] .choices__list--dropdown .choices__item--selectable::after,[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable::after{
    right:auto;
    left:10px
  }
}

.choices__list--dropdown .choices__item--selectable.is-highlighted,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{
  background-color:#f2f2f2
}

.choices__list--dropdown .choices__item--selectable.is-highlighted::after,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted::after{
  opacity:.5
}

.choices__item{
  cursor:default
}

.choices__item--selectable{
  cursor:pointer
}

.choices__item--disabled{
  cursor:not-allowed;
  -webkit-user-select:none;
  -moz-user-select:none;
       user-select:none;
  opacity:.5
}

.choices__heading{
  font-weight:600;
  font-size:12px;
  padding:10px;
  border-bottom:1px solid #f7f7f7;
  color:gray
}

.choices__button{
  text-indent:-9999px;
  -webkit-appearance:none;
  -moz-appearance:none;
       appearance:none;
  border:0;
  background-color:transparent;
  background-repeat:no-repeat;
  background-position:center;
  cursor:pointer
}

.choices__button:focus,.choices__input:focus{
  outline:0
}

.choices__input{
  display:inline-block;
  vertical-align:baseline;
  background-color:#f9f9f9;
  font-size:14px;
  margin-bottom:5px;
  border:0;
  border-radius:0;
  max-width:100%;
  padding:4px 0 4px 2px
}

.choices__input::-webkit-search-cancel-button,.choices__input::-webkit-search-decoration,.choices__input::-webkit-search-results-button,.choices__input::-webkit-search-results-decoration{
  display:none
}

.choices__input::-ms-clear,.choices__input::-ms-reveal{
  display:none;
  width:0;
  height:0
}

[dir=rtl] .choices__input{
  padding-right:2px;
  padding-left:0
}

.choices__placeholder{
  opacity:.5
}

/* ============================================================
   KONTAKT — formularz w białym panelu + karty z danymi obok
   Układ i kolorystyka wg makiety (`lb-contact`, `lb-panel`, `lb-office`).
   ============================================================ */

.contact {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

@media (min-width: 1024px) {
  .contact {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}

/* Do 940 px karty schodzą pod formularz — tak jak w makiecie. */

/* `gap-8` znaczyło tu 1.125rem (a nie 2rem) przez globalny override w
   `utilities.css`, który zbijał też odstęp do zera poniżej 768px. Override
   zniknął, więc zapisujemy zamierzone wartości wprost. */

.contact__layout {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: flex-start;
  gap: 1.125rem;
}

@media (max-width: 767px) {
  .contact__layout {
    gap: 0;
  }
}

@media (min-width: 1024px) {
  .contact__layout {
    grid-template-columns: 1fr 400px;
    gap: 2.75rem;
  }
}

/* ---- Panel z formularzem ---- */

.contact__panel {
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
  --tw-shadow: var(--shadow-card);
  --tw-shadow-colored: var(--shadow-card);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

@media (min-width: 640px) {
  .contact__panel {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
  }
}

/* CF7 ma wyłączony autop (`wpcf7_autop_or_not` → false), więc treść formularza
   trafia do znaczników dosłownie i bezpośrednimi dziećmi <form> są kolejne
   <label>. Sam formularz jest siatką — odpowiednikiem `.lb-formgrid` z makiety. */

/* `gap-4` jest w configu nadpisane na 20px, a makieta ma 16px — zgodnie z
   zasadą z CLAUDE.md wpisujemy wartość wprost zamiast ruszać nazwę Tailwinda. */

.contact__panel form {
  margin: 0px;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  border-width: 0px;
  padding: 0px;
  gap: 1rem;
}

/* Część pól formularz układa w dwie kolumny — ten układ siedzi w treści CF7
   (baza), więc motyw go nie kontroluje i nie niósł żadnego odstępu: pola
   stykały się krawędziami.

   `gap` obowiązuje wyłącznie kontenery flex/grid, więc reguła jest obojętna
   dla zwykłych bloków w formularzu. Przy siatce (`grid-cols-2`) odstęp jest
   odliczany od szerokości kolumn automatycznie; przy `flex` z połówkami
   trzeba jeszcze odjąć go od szerokości pola, inaczej wiersz by się przelał. */

.contact__panel form [class*="grid"],
.contact__panel form [class*="flex"] {
  gap: 1rem;
}

.contact__panel form [class*="flex"] > [class*="w-1/2"],
.contact__panel form [class*="flex"] > [class*="w-6/12"],
.contact__panel form [class*="flex"] > [class*="basis-1/2"],
.contact__panel form [class*="flex"] > [class*="basis-6/12"] {
  width: calc(50% - .5rem);
  flex-basis: calc(50% - .5rem);
}

/* Wstęp nad polami — `.lb-panel__hint` z makiety. Odstęp daje `gap` siatki. */

.contact__panel p {
  margin: 0px;
  font-size: 0.875rem;
  line-height: 20px;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.contact__panel p strong {
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.contact__panel h2 {
  margin: 0px;
  font-size: 1.25rem;
  line-height: 1.75rem;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

/* Etykieta pola — drobne wersaliki, tak samo jak w checkoucie i widgecie
   wyszukiwania. Rozmiar i kolor dziedziczy pole, więc reguła pól niżej musi
   je jawnie odkręcić. */

.contact__panel label {
  margin: 0px;
  font-size: 0.75rem;
  line-height: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.375;
  letter-spacing: .09em;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  display: block !important;
}

.contact__panel label > br {
  display: none;
}

.contact__panel input:not(.wpcf7-submit):not([type="checkbox"]):not([type="radio"]),
.contact__panel textarea,
.contact__panel select {
  margin-top: 0.375rem;
  width: 100%;
  border-radius: 0.75rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  padding-left: .875rem;
  padding-right: .875rem;
  font-size: .9375rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0em;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  height: 3.25rem;
  padding-top: 0;
  padding-bottom: 0;
}

/* Makietowe `rows="5"` przy interlinii 1.6 daje ok. 9rem wysokości. */

.contact__panel textarea {
  resize: none;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  line-height: 1.625;
  height: auto;
  min-height: 9rem;
  max-height: none;
}

.contact__panel input:not(.wpcf7-submit):not([type="checkbox"]):not([type="radio"]):focus,
.contact__panel textarea:focus,
.contact__panel select:focus {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.18);
}

.contact__panel ::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
}

.contact__panel ::placeholder {
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
}

/* ---- Wiersz zgody i wysyłki ---- */

/* Treść formularza siedzi w bazie, więc nie da się jej dopisać klasy — łapiemy
   element, który bezpośrednio zawiera przycisk. `:not(:has(textarea))` pilnuje,
   żeby regułą nie objąć całego <form>, gdyby przycisk okazał się jego
   bezpośrednim dzieckiem. */

.contact__panel *:has(> input[type="submit"]):not(:has(textarea)) {
  position: relative;
  margin-top: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 0.75rem;
}

.rtl .modal-info > .contact__panel *:has(> input[type="submit"]):not(:has(textarea)) {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .contact__panel *:has(> input[type="submit"]):not(:has(textarea)) {
    padding-right: 3.5rem;
  }
}

.vrcliststartfrom.contact__panel *:has(> input[type="submit"]):not(:has(textarea)) {
  top: -0.375rem;
}

/* Zgoda ma być drobniejsza od pól formularza. `pr-8` z `form.css` rezerwowało
   miejsce, którego w tym układzie nie potrzeba. */

.contact__panel .wpcf7-acceptance label {
  margin-bottom: 0px;
  font-size: 13px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0em;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.contact__panel .wpcf7-acceptance .wpcf7-list-item-label {
  padding-right: 0px;
  font-size: 13px;
  line-height: 1.375;
}

/* Przycisk w metryce `.lb-btn` z makiety (45px, tekst 16px bez pogrubienia),
   dosunięty do prawej; na wąskich ekranach pełna szerokość.
   Selektor celowo zawiera `form` — bez tego `input[type="submit"]` z `form.css`
   ma tę samą swoistość, a leży w arkuszu później (glob alfabetyczny) i wygrywa
   m.in. wysokością 54px oraz `sm:mt-6`. */

.contact__panel form input[type="submit"] {
  margin: 0px;
  height: 45px;
  width: 100%;
  cursor: pointer;
  border-radius: var(--r-btn);
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  padding-left: 22px;
  padding-right: 22px;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 400;
  text-transform: none;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.contact__panel form input[type="submit"]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

@media (min-width: 640px) {
  .contact__panel form input[type="submit"] {
    margin-left: auto;
    width: auto;
  }
}

/* CF7 ukrywa spinner przez `visibility`, więc ukryty nadal zajmuje w wierszu
   ~72px (24px + marginesy) i odpychał przycisk od prawej krawędzi. Wyjmujemy
   go z układu — pojawia się nad przyciskiem dopiero na czas wysyłki. */

.contact__panel .wpcf7-spinner {
  pointer-events: none;
  position: absolute;
  right: 1rem;
  top: 50%;
  margin: 0px;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* ---- Karty z danymi kontaktowymi ---- */

.contact__aside {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rtl .modal-info > .contact__aside {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .contact__aside {
    padding-right: 3.5rem;
  }
}

/* `global.css` kadruje wszystkie obrazki w `aside` (`object-cover`, `w-full`) —
   dla ikon oznacza to obcięte krawędzie. Tu wracamy do naturalnych proporcji. */

.contact__aside img {
  max-height: none;
  width: auto;
  border-radius: 0px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

.contact-card {
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.contact-card__logo {
  margin-bottom: 1rem;
  display: inline-block;
}

.contact-card__logo img {
  height: auto;
  max-width: 200px;
}

.contact-card__title {
  margin-bottom: 0.75rem;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.contact-card__text {
  font-size: 14.5px;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Akapity w kartach są drobniejsze od reszty treści — to dane pomocnicze,
   nie tekst do czytania ciągiem. */

.contact-card__text p {
  margin-bottom: 0.5rem;
  font-size: 13.5px;
  line-height: 1.625;
}

.contact-card__text p:last-child {
  margin-bottom: 0px;
}

.contact-card__text a {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.contact-card__text a:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-dark) / var(--tw-text-opacity));
}

/* Godziny otwarcia — dwie kolumny (dzień / zakres), jak `dl` w makiecie. */

.contact-card__hours p {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-bottom: 0.5rem;
}

.rtl .modal-info > .contact-card__hours p {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .contact-card__hours p {
    padding-right: 3.5rem;
  }
}

.contact-card__hours p:last-child {
  border-width: 0px;
  padding-bottom: 0px;
}

.contact-card__hours strong {
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.contact-card__list {
  margin: 0px;
  display: flex;
  list-style-type: none;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0px;
}

.rtl .modal-info > .contact-card__list {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .contact-card__list {
    padding-right: 3.5rem;
  }
}

.contact-card__link {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .contact-card__link {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .contact-card__link {
    padding-right: 3.5rem;
  }
}

.contact-card__link:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.contact-card__link img {
  height: auto;
  width: 22px;
  flex-shrink: 0;
}

/* ---- Karta z social mediami — ciemna, jak blok „veihjelp” w makiecie ---- */

.contact-card--dark {
  --tw-border-opacity: 1;
  border-color: rgb(var(--deep) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
}

.contact-card--dark .contact-card__title {
  margin-bottom: 1rem;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.contact-card__socials {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.rtl .modal-info > .contact-card__socials {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .contact-card__socials {
    padding-right: 3.5rem;
  }
}

/* Ikony przychodzą jako inline SVG z `osl_icon()` (przemalowane na
   `currentColor`), więc kolor ustawia sam odnośnik. */

.contact-card__social {
  display: flex;
  height: 2.75rem;
  width: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: rgb(var(--white) / 0.1);
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .contact-card__social {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .contact-card__social {
    padding-right: 3.5rem;
  }
}

.contact-card__social:hover {
  background-color: rgb(var(--white) / 0.2);
  --tw-text-opacity: 1;
  color: rgb(var(--accent) / var(--tw-text-opacity));
}

.contact-card__social svg {
  flex-shrink: 0;
  display: block !important;
}

/* ---- Mapa ---- */

.contact__map {
  margin-top: 2.5rem;
  overflow: hidden;
}

@media (min-width: 1024px) {
  .contact__map {
    margin-top: 3.5rem;
  }
}

.contact__map iframe {
  height: 320px;
  width: 100%;
  border-width: 0px;
  display: block !important;
}

@media (min-width: 640px) {
  .contact__map iframe {
    height: 420px;
  }
}

/* lang switcher */

.language-switcher {
  width: 94px;
  height: 45px;
  cursor: pointer;
  border-radius: var(--r-btn);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--white) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.language-switcher:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.language-switcher:focus-visible {
  --tw-ring-color: transparent;
}

.language-switcher ul {
  padding: 9px 13px;
}

.language-switcher .sub-menu {
  position: relative;
  left: -0.875rem;
  z-index: 10;
  display: none;
  border-bottom-right-radius: var(--r-btn);
  border-bottom-left-radius: var(--r-btn);
  border-width: 1px;
  border-style: solid;
  border-color: rgb(var(--white) / var(--tw-border-opacity));
  border-left-color: rgb(var(--white) / var(--tw-border-opacity));
  border-right-color: rgb(var(--white) / var(--tw-border-opacity));
  --tw-border-opacity: 1;
  border-bottom-color: rgb(var(--white) / var(--tw-border-opacity));
  border-top-color: transparent !important;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
  font-size: 1rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.vrcliststartfrom.language-switcher .sub-menu {
  top: -0.375rem;
}

.language-switcher .sub-menu {
  width: 94px;
}

select:focus-visible:focus,
.select-place:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

select:focus-visible:focus-visible,
.select-place:focus-visible {
  --tw-ring-color: transparent;
}

.language-switcher::after {
  content: "";
  position: absolute;
  background: url('template-parts/assets/images/icons/angle-down-white.svg') no-repeat;
  width: 16px;
  height: 8px;
  top: 45%;
  right: 14px;
}

.language-switcher.is-open {
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-left-radius: var(--r-btn) !important;
  border-top-right-radius: var(--r-btn) !important;
  border-bottom-width: 0px !important;
  border-bottom-color: transparent !important;
}

.language-switcher.is-open .pll-parent-menu-item a {
  text-align: left;
  display: block !important;
}

.is-open .choices__list[aria-expanded] {
  border-top-width: 0px !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--white) / var(--tw-border-opacity)) !important;
  border-top-color: transparent !important;
}

/* calendar select */

:is(.hero, .page-head__search) .choices__inner {
  display: block !important;
  border-style: none !important;
  background-color: transparent !important;
  padding: 0px !important;
}

:is(.hero, .page-head__search) .choices__list--single,
.vrc-searchf-section-locations .choices__list--single {
  display: none !important;
}

.vrcsfentrycont select,
.choices__list,
.vrcdivsearchmodule .vrcsfentryselect select {
  font-size: 1rem !important;
  line-height: 1.75rem !important;
}

:is(.hero, .page-head__search) select,
:is(.hero, .page-head__search) .choices__item,
:is(.hero, .page-head__search) .choices__list,
.select-place {
  width: 100%;
}

:is(.hero, .page-head__search) .choices__list {
  border-bottom-right-radius: var(--r-btn);
  border-bottom-left-radius: var(--r-btn);
}

:is(.hero, .page-head__search) .choices__item {
  padding: 10px 20px 10px 57px !important;
  width: 100%;
  font-size: 1rem !important;
  line-height: 1.75rem !important;
}

.choices__item {
  width: 100%;
}

:is(.hero, .page-head__search) .is-open select {
  border-bottom-right-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
}

:is(.hero, .page-head__search) .vrc-sf-time-container {
  display: flex !important;
  justify-content: center;
}

/* select date */

@media (max-width: 660px) {
  .pickuph,
  .vrcsfentrycont #vrccomselph select {
    background: none !important;
    padding: 0px !important;
    text-align: center;
  }
}

/* ============================================================
   LightChoices — location selects inside osl-select-wrap
   ============================================================ */

.osl-select-wrap .choices {
  margin: 0;
  height: 100%;
  font-size: .875rem;
}

/* Reset domyślne style choices__inner — transparent + bez borderu */

.osl-select-wrap .choices__inner {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 100%;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
  border-radius: 0 !important;
}

/* Selected text — padding jak w .osl-location-select (40px dla ikony pin i chevron) */

.osl-select-wrap .choices__list--single {
  display: flex !important;
  align-items: center !important;
  width: 100%;
  height: 100%;
}

.osl-select-wrap .choices__list--single .choices__item {
  padding: 0 !important;
  font-size: .875rem;
  font-weight: 500;
  color: #1a1a1a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}

/* Ukryj trójkąt CSS — SVG chevron już to obsługuje */

.osl-select-wrap .choices[data-type*=select-one]::after {
  display: none;
}

.osl-select-wrap:has(.choices.is-open),
.osl-select-wrap .choices.is-open,
.osl-select-wrap .choices.is-open .choices__inner,
.osl-select-wrap .choices.is-open .osl-location-select {
  border-radius: .9375rem .9375rem 0 0 !important;
}

.osl-select-wrap .choices__list--dropdown,
.osl-select-wrap .choices__list[aria-expanded] {
  border-radius: 0 0 .9375rem .9375rem;
  border: none !important;
  background: #f2f2f2 !important;
  overflow: hidden;
  margin-top: 0;
  z-index: 50;
}

.osl-select-wrap .choices__list--dropdown .choices__list {
  border: none !important;
  border-radius: 0 0 .9375rem .9375rem;
  background: transparent !important;
  max-height: 260px;
}

/* Opcje w dropdown — override choices.css padding-right:87px na 640px+ */

.osl-select-wrap .choices__list--dropdown .choices__item {
  padding: 10px 2.5rem;
  font-size: .875rem !important;
  font-weight: 500;
  background: transparent;
  color: #1a1a1a;
}

.osl-select-wrap .choices__list--dropdown .choices__item--selectable {
  padding-right: 2.5rem;
}

/* Aktualnie wybrana + hover/podświetlenie — ciemniejszy szary, bo tło panelu
   jest już szare. */

.osl-select-wrap .choices__list--dropdown .choices__item.is-selected {
  background: #e6e6e6;
}

.osl-select-wrap .choices__list--dropdown .choices__item--selectable.is-highlighted {
  background: #dedede;
}

/* ============================================================
   LightChoices — sort select (.select-sort)
   ============================================================ */

/* Outer container — override choices{overflow:hidden} żeby ::after był widoczny */

.choices.select-sort {
  overflow: visible !important;
  margin-bottom: 0 !important;
}

/* Zastępuje .select-sort .choices__input — teraz styling na choices__inner */

.select-sort .choices__inner {
  cursor: pointer;
  font-family: Montserrat, sans-serif;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 15px !important;
  position: relative;
  overflow: visible !important;
  padding: 10px 48px 10px 20px !important;
  font-size: .9375rem !important;
  min-width: 180px !important;
  min-height: auto !important;
  display: flex !important;
  align-items: center !important;
}

/* Gdy dropdown otwarty — górne zaokrąglenie, dół prosty */

.select-sort.is-open .choices__inner {
  border-radius: 15px 15px 0 0 !important;
  border-bottom-color: transparent !important;
}

.select-sort .choices__inner::after {
  content: '' !important;
  position: absolute !important;
  right: 18px;
  width: 19px;
  height: 11px;
  background: url('template-parts/assets/images/icons/angle-down-info.svg') no-repeat center / contain;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .2s;
}

.select-sort.is-open .choices__inner::after {
  transform: translateY(-50%) rotate(180deg);
}

.select-sort .choices__list--single {
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  height: auto !important;
}

.select-sort .choices__list--single .choices__item {
  padding: 0 !important;
  font-size: .9375rem;
}

/* Ukryj trójkąt CSS dla sort */

.select-sort.choices[data-type*=select-one]::after {
  display: none;
}

/* Dropdown sort */

.select-sort .choices__list--dropdown,
.select-sort .choices__list[aria-expanded] {
  right: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 257px;
  border: 1px solid #e5e5e5 !important;
  border-top: none !important;
  border-radius: 0 0 15px 15px !important;
  overflow: hidden;
  margin-top: -1px;
}

.select-sort .choices__list {
  border: none !important;
  max-height: 200px;
}

.select-sort .choices__list--dropdown .choices__item,
.select-sort .choices__list[aria-expanded] .choices__item {
  padding: 12px 20px !important;
  font-size: .9375rem !important;
}

.select-sort .choices__list--dropdown .choices__item.is-selected,
.select-sort .choices__list[aria-expanded] .choices__item.is-selected {
  background-color: #f5f5f5;
}

.select-sort .choices__list--dropdown .choices__item--selectable.is-highlighted,
.select-sort .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  background-color: #f0f0f0;
}

.select-sort .choices__list--dropdown .choices__item--selectable {
  padding-right: 20px !important;
}

.select-sort:focus-visible {
  border-style: none !important;
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
}

.plugin-container label {
  margin-bottom: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.1875rem;
}

@media (min-width: 640px) {
  .plugin-container label {
    margin-right: 1.5rem;
  }
}

#options .choices__list[aria-expanded] .choices__item--selectable {
  padding-left: 1rem !important;
}

#options .choices__list--dropdown .choices__item--selectable,
.choices__list[aria-expanded] .choices__item--selectable {
  padding-left: 1.25rem !important;
}

/* ============================================================
   Kalendarz zakresowy formularza wyszukiwania

   Panel budowany jest w JS (`javascript/modules/date-range-picker.js`)
   i wstawiany do `.osl-search-form-wrap`. Jest `position: fixed`, więc
   nie przycina go żaden przewijalny przodek — formularz bywa wstawiony
   w modal na karcie auta.
   ============================================================ */

.osl-datepicker {
  position: fixed;
  z-index: 9998;
  top: 0;
  left: 0;
  /* Panel jest pozycjonowany skryptem, więc szerokość musi wynikać z treści —
     bez tego przy dużym `left` przeglądarka zawijałaby oba miesiące. */
  width: -moz-max-content;
  width: max-content;
}

.osl-datepicker[hidden] {
  display: none;
}

/* Przesłona ma sens tylko w wariancie mobilnym (arkusz niżej) — na desktopie
   panel zamyka kliknięcie w dokument, obsłużone w JS. */

.osl-datepicker__backdrop {
  display: none;
}

.osl-datepicker__panel {
  position: relative;
  border-radius: var(--r-card);
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding: 1.25rem;
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.vrcliststartfrom.osl-datepicker__panel {
  top: -0.375rem;
}

/* ---------- Nawigacja ---------- */

.osl-datepicker__nav {
  position: absolute;
  top: 1.25rem;
  display: flex;
  height: 2.25rem;
  width: 2.25rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 0px;
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .osl-datepicker__nav {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-datepicker__nav {
    padding-right: 3.5rem;
  }
}

.osl-datepicker__nav:hover:not(:disabled) {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
}

.osl-datepicker__nav:disabled {
  cursor: default;
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
  opacity: 0.4;
}

.osl-datepicker__nav--prev {
  left: 1rem;
}

.osl-datepicker__nav--next {
  right: 1rem;
}

/* Zamknięcie siedzi w stopce obok „Bekreft”, nie w rogu panelu — na telefonie
   w rogu nachodziło na strzałkę „Neste måned” i przechwytywało jej tapnięcia.
   Na desktopie panel zamyka klik obok, więc przycisk pojawia się tylko na mobile. */

.osl-datepicker__close {
  display: none;
  height: 2.5rem;
  width: 2.5rem;
  flex-shrink: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.osl-datepicker__close:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
}

.osl-datepicker__actions {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.5rem;
}

.rtl .modal-info > .osl-datepicker__actions {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-datepicker__actions {
    padding-right: 3.5rem;
  }
}

/* ---------- Miesiące ---------- */

.osl-datepicker__months {
  display: flex;
  gap: 1.75rem;
}

.rtl .modal-info > .osl-datepicker__months {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-datepicker__months {
    padding-right: 3.5rem;
  }
}

.osl-datepicker__month {
  min-width: 0px;
  width: 16.5rem;
}

.osl-datepicker__month-title {
  margin-bottom: 0.75rem;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  text-transform: capitalize;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.osl-datepicker__weekdays,
.osl-datepicker__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.osl-datepicker__weekdays {
  margin-bottom: 0.25rem;
}

.osl-datepicker__weekdays span {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
}

/* ---------- Dni ---------- */

.osl-datepicker__day {
  position: relative;
  display: flex;
  height: 2.25rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-width: 0px;
  background-color: transparent;
  font-size: 13.5px;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .osl-datepicker__day {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-datepicker__day {
    padding-right: 3.5rem;
  }
}

.vrcliststartfrom.osl-datepicker__day {
  top: -0.375rem;
}

.osl-datepicker__day {
  border-radius: 9999px;
}

.osl-datepicker__day:hover:not(.is-disabled):not(.is-start):not(.is-end) {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--accent-soft) / var(--tw-bg-opacity));
}

.osl-datepicker__day.is-today {
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.osl-datepicker__day.is-disabled {
  cursor: default;
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
  opacity: 0.5;
}

/* Dni w środku zakresu tworzą ciągły pasek — dlatego bez zaokrągleń i bez
   odstępów; krańce zakresu dostają pełne kółko w kolorze marki. */

.osl-datepicker__day.is-in-range {
  background-color: rgb(var(--brand) / 0.1);
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  border-radius: 0;
}

.osl-datepicker__day.is-start,
.osl-datepicker__day.is-end {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

/* Tło łączące kraniec zakresu z paskiem dni pośrednich. Rysujemy je dopiero,
   gdy znane są obie daty — inaczej przy samym odbiorze zostawałby wiszący
   pasek w bok. Stanem steruje klasa na panelu, a nie `:has()` w siatce, bo
   zakres bywa rozpięty na dwa miesiące i każda siatka zna tylko swój kraniec. */

.osl-datepicker.has-range .osl-datepicker__day.is-start::before,
.osl-datepicker.has-range .osl-datepicker__day.is-end::before {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0px;
  bottom: 0px;
  background-color: rgb(var(--brand) / 0.1);
  width: 50%;
  z-index: -1;
}

.osl-datepicker.has-range .osl-datepicker__day.is-start::before {
  right: 0;
}

.osl-datepicker.has-range .osl-datepicker__day.is-end::before {
  left: 0;
}

.osl-datepicker__blank {
  height: 2.25rem;
}

/* ---------- Stopka ---------- */

.osl-datepicker__foot {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-top: 1rem;
}

.rtl .modal-info > .osl-datepicker__foot {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-datepicker__foot {
    padding-right: 3.5rem;
  }
}

.osl-datepicker__summary {
  font-size: 13px;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.osl-datepicker__apply {
  height: 2.5rem;
  cursor: pointer;
  border-radius: var(--r-btn);
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.osl-datepicker__apply:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

/* ============================================================
   Mobile — panel wjeżdża od dołu ekranu
   ============================================================ */

@media (max-width: 767px) {
  .osl-datepicker {
    inset: 0px;
    z-index: 9998;
    top: 0 !important;
    left: 0 !important;
    width: auto;
  }

  .osl-datepicker__backdrop {
    position: absolute;
    inset: 0px;
    background-color: rgb(var(--black) / 0.5);
    display: block !important;
  }

  .osl-datepicker__panel {
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    max-height: 88vh;
    overflow-y: auto;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 1.25rem;
    padding-top: 1.5rem;
  }

  .osl-datepicker__close {
    display: flex;
  }

  .rtl .modal-info > .osl-datepicker__close {
    padding-right: 2rem;
    padding-left: 2.5rem;
  }

  @media (min-width: 640px) {
    .rtl .modal-info > .osl-datepicker__close {
      padding-right: 3.5rem;
    }
  }

  .osl-datepicker__nav {
    top: 1rem;
  }

  .osl-datepicker__month {
    width: 100%;
  }

  .osl-datepicker__day,
  .osl-datepicker__blank {
    height: 2.5rem;
  }
}

.filter .accordion__title::after {
  background: url('template-parts/assets/images/icons/icon-plus.svg') no-repeat !important;
  right: 0px;
  height: 1rem;
  width: 1rem;
}

.filter .accordion__title {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.filter .active.accordion__title::after {
  background: url('template-parts/assets/images/icons/icon-minus.svg') no-repeat !important;
  height: 0.375rem;
  width: 1rem;
}

.vrc-searchfilter-characteristic {
  background-color: transparent !important;
}

.vrc-searchfilter-cquantity,
.vrc-searchfilter-cicon {
  display: none;
}

.vrc-searchfilter-characteristic {
  padding: 0px !important;
}

.filter .accordion__content {
  display: flex;
  flex-direction: column;
}

.rtl .modal-info > .filter .accordion__content {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .filter .accordion__content {
    padding-right: 3.5rem;
  }
}

.filter .vrc-expl {
  font-size: 0.9375rem;
  line-height: 1.1875rem;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* ============================================================
   STOPKA

   Szablon (`template-parts/layout/footer-content.php`) układa kolumny
   na `flex` z szerokościami w dwunastkach i `xl:flex-nowrap`. Na
   szerokich ekranach kolumna „Kontakt” dostaje w ten sposób 2/12
   (~200 px), co nie mieści adresu e-mail — tekst wylewał się na
   sąsiednią kolumnę „Social media”.

   Zamiast korygować pojedyncze szerokości przestawiamy wiersz na
   siatkę o proporcjach dobranych do treści: najwięcej miejsca dostaje
   kolumna z najdłuższymi pozycjami menu, a „Kontakt” tyle, ile zajmuje
   pełny adres. Szablon zostaje nietknięty.
   ============================================================ */

@media (min-width: 1024px) {
  #footer > .container > div {
    display: grid;
    align-items: flex-start;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    row-gap: 2.5rem;
    /* logo · oferta · menu dolne · kontakt · social */
    grid-template-columns: 2.4fr 1.6fr 3fr 2.4fr 1.6fr;
  }

  /* Kolumny biorą szerokość ze ścieżki siatki, więc procenty, ujemne
     marginesy i wewnętrzne odstępy z szablonu przestają obowiązywać —
     to one powodowały nachodzenie. */

  #footer > .container > div > div {
    margin: 0px;
    width: 100%;
    max-width: 100%;
    padding-left: 0px;
    padding-right: 0px;
  }
}

/* Zabezpieczenie na wypadek dłuższego adresu niż obecny: łamiemy go
   w środku zamiast pozwolić mu wyjść poza kolumnę. */

#footer a[href^="mailto:"],
#footer a[href^="tel:"] {
  overflow-wrap: anywhere;
}

/* ============================================================
   Typografia i kolory — przeniesione z motywu `leiebiloslo`

   Szablon nadaje stopce `bg-primary` i `text-blue-light`, przez co cała
   treść szła miętą — to wariant przeznaczony na wyróżnienia, nie na
   akapity. Tekst jest przygaszoną bielą, a wyróżnienie niesie dopiero
   najechanie — różem marki. Zaczepiamy się o `#footer`, bo identyfikator bije
   klasy narzędziowe z szablonu niezależnie od kolejności w arkuszu.
   ============================================================ */

#footer {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep-2) / var(--tw-bg-opacity));
  font-size: 14.5px;
  color: rgb(var(--white) / 0.7);
}

/* Nagłówki kolumn — kapitaliki, wyraźnie oddzielone od pozycji listy. */

#footer h4 {
  margin-bottom: 1rem;
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

/* Odnośniki dziedziczą kolor tekstu; wyróżnia je dopiero najechanie —
   różem marki, tym samym co przyciski akcji. */

#footer a {
  color: inherit;
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

#footer a:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

#footer ul {
  margin: 0px;
  display: flex;
  list-style-type: none;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0px;
}

.rtl .modal-info > #footer ul {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > #footer ul {
    padding-right: 3.5rem;
  }
}

#footer li {
  margin: 0px;
}

/* Pozycje menu przychodzą z szablonu w dwóch rozmiarach (`text-mlinks`
   i `sm:text-links`); stopka trzyma jeden. */

#footer ul a,
#footer ul li {
  font-size: 14.5px;
  line-height: 1.625;
}

/* Przycisk „Skriv til oss” — obrys w kolorze akcentu, wypełnienie dopiero
   po najechaniu. Nie ma się rozciągać na całą szerokość kolumny, bo
   w siatce dostałby jej pełną szerokość. */

#footer .container a[class*="border-blue-light"] {
  width: -moz-fit-content;
  width: fit-content;
  border-width: 2px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--accent) / var(--tw-border-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

#footer .container a[class*="border-blue-light"]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

/* ---- Dolny pasek ---- */

/* Ostatnie dziecko stopki to pasek z prawami autorskimi. Celujemy w nie
   pozycją, a nie klasą `border-t` — nazwa klasy narzędziowej użyta
   w selektorze jest dla Tailwinda jej redefinicją. */

#footer > div:last-child {
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  border-color: rgb(var(--white) / 0.1);
  font-size: 13px;
  color: rgb(var(--white) / 0.5);
}

#footer > div:last-child p {
  margin: 0px;
  font-size: 13px;
  color: rgb(var(--white) / 0.5);
}

#footer > div:last-child a {
  font-weight: 700;
  color: rgb(var(--white) / 0.7);
}

#footer > div:last-child a:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

/* ---- Ikony społecznościowe ---- */

/* Okrągłe kafle jak w motywie `leiebiloslo`. Reguła ogólna `#footer ul`
   układa listy w kolumnę — tu wracamy do rzędu, a identyfikator w selektorze
   pilnuje, żeby to ten wariant wygrał. */

#footer .site-footer__socials {
  margin-top: 1rem;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

/* Wektor przychodzi z `osl_icon(..., recolor)` przemalowany na `currentColor`,
   więc barwę ustawia sam kafel — biała w spoczynku, akcent po najechaniu. */

#footer .site-footer__socials a {
  display: flex;
  height: 2.25rem;
  width: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  border-style: solid;
  border-color: rgb(var(--white) / 0.2);
  background-color: rgb(var(--white) / 0.05);
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > #footer .site-footer__socials a {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > #footer .site-footer__socials a {
    padding-right: 3.5rem;
  }
}

#footer .site-footer__socials a:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  background-color: rgb(var(--white) / 0.1);
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

#footer .site-footer__socials svg,
#footer .site-footer__socials img {
  height: 1.125rem;
  width: 1.125rem;
  -o-object-fit: contain;
     object-fit: contain;
}

/* ---- Ikony telefonu i adresu ---- */

/* Rysowane konturem w `currentColor` (pliki `icon-call.svg`, `icon-email.svg`),
   więc dziedziczą kolor odnośnika: przygaszona biel w spoczynku, akcent po
   najechaniu — bez drugiego pliku na stan `hover`. `shrink-0` pilnuje, żeby
   przy dłuższym adresie ikona nie została ściśnięta. */

#footer .osl-contact-icon {
  height: 1.125rem;
  width: 1.125rem;
  flex-shrink: 0;
}

.section-form form {
  border-radius: var(--r-btn);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--accent) / var(--tw-border-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1.25rem;
}

@media (min-width: 768px) {
  .section-form form {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
    padding-top: 2.75rem;
    padding-bottom: 0.75rem;
  }
}

label {
  width: 100%;
}

input:not(.wpcf7-submit):not([type="checkbox"]):not([type="radio"]),
textarea {
  width: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: var(--r-btn);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  outline-width: 0px;
}

input.wpcf7-file {
  margin-top: 0.25rem !important;
  padding: 12px !important;
}

input:not(.wpcf7-submit):not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus {
  border: none;
  outline: none;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
  height: 50px;
  border-radius: var(--r-btn);
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (max-width: 992px) {
  input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
    height: 44px;
  }

  textarea,
  input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
    font-size: 0.875rem;
    line-height: 20px;
  }
}

input[type="submit"] {
  height: 54px;
  width: 100%;
  border-radius: var(--r-btn);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  input[type="submit"] {
    margin-top: 1.5rem;
  }
}

textarea {
  min-height: 6.25rem;
  max-height: 6.25rem;
  resize: none;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

::placeholder {
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.wpcf7-not-valid-tip {
  font-size: 0.875rem;
  line-height: 1.375rem;
}

.wpcf7-response-output {
  margin: 2em 0 1em !important;
}

/* checkboxes */

.wpcf7-acceptance label {
  margin-bottom: 1rem;
  display: block !important;
  margin-left: 35px;
}

.wpcf7-acceptance input {
  display: none;
}

.wpcf7-acceptance .wpcf7-list-item {
  margin: 0 !important;
}

.wpcf7-acceptance .wpcf7-list-item-label {
  position: relative;
  cursor: pointer;
  padding-right: 2rem;
  display: block !important;
}

.vrcliststartfrom.wpcf7-acceptance .wpcf7-list-item-label {
  top: -0.375rem;
}

.wpcf7-acceptance .wpcf7-list-item-label::before {
  position: relative;
  display: inline-block;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
}

.vrcliststartfrom.wpcf7-acceptance .wpcf7-list-item-label::before {
  top: -0.375rem;
}

.wpcf7-acceptance .wpcf7-list-item-label::before {
  content: "";
  border: 1px solid #D4D4D4;
  width: 19px;
  height: 19px;
  vertical-align: middle;
  margin-right: 15px;
  margin-left: -35px;
  top: -2px;
}

.wpcf7-acceptance input:checked+.wpcf7-list-item-label::after {
  position: absolute;
  top: 0px;
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--legacy-border) / var(--tw-border-opacity));
  display: block !important;
  content: "";
  left: -28px;
  width: 6px;
  height: 14px;
  border-width: 0 2px 2px 0;
}

.wpcf7-acceptance input:checked+.wpcf7-list-item-label::before {
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--legacy-border) / var(--tw-border-opacity));
  background-color: transparent;
}

.wpcf7-acceptance .wpcf7-list-item-label,
.wpcf7-not-valid-tip {
  font-size: 0.875rem;
  line-height: 20px;
}

.section-form p strong {
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

/* order - form */

.vrccustomfields {
  display: block !important;
  border-color: transparent !important;
  padding: 0px !important;
}

@media (min-width: 640px) {
  .vrccustomfields {
    border-radius: var(--r-card) !important;
    --tw-border-opacity: 1 !important;
    border-color: rgb(var(--line) / var(--tw-border-opacity)) !important;
    padding: 28px 8px !important;
  }
}

.vrcseparatorcf {
  border-bottom-width: 0px !important;
  font-size: 1rem !important;
  line-height: 1.75rem !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

@media (min-width: 640px) {
  .vrcseparatorcf {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
  }
}

sup,
.iti__flag-container {
  display: none;
}

.vrctextarea,
.vrcinput {
  margin-top: 1rem !important;
  border-radius: var(--r-btn);
  border-width: 0px !important;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
}

.vrctextarea {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

.iti--allow-dropdown {
  margin-top: 1rem;
}

.vrc-oconfirm-footer {
  align-items: center;
}

.vrcdivcustomfield{
  margin: 0 0 15px 0 !important;
}

@media (min-width: 640px) {
  .vrcdivcustomfield {
    margin: 0 20px 15px 20px !important;
  }
}

.vrcdivcustomfield label {
  font-family: Montserrat, sans-serif;
  line-height: 1 !important;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.vrcmodal {
  font-family: Montserrat, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  text-decoration-line: none !important;
}

.form-complaints input[type="submit"] {
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
  display: block !important;
  max-width: 386px;
}

.form-file {
  width: 100%;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: var(--r-btn);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  outline-width: 0px;
}

.form-file,
.form-file-output {
  color: #9ca3af;
}

.form-file-output {
  font-size: 12px;
  position: absolute;
  top: 47px;
  right: 20px;
}

input[type="file"] {
  display: none;
}

/* ============================================================
   HERO — strona główna
   ============================================================ */

/* Bez `overflow: hidden` — rozwinięta lista miejsc w pasku wyszukiwania stoi
   przy dolnej krawędzi sekcji i przycięcie ucinałoby ją w połowie. Warstwa
   zdjęcia i przyciemnienie są `inset-0`, więc nie mają czego przepełniać. */

.hero {
  position: relative;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
}

.vrcliststartfrom.hero {
  top: -0.375rem;
}

/* Dopiero od `xl` sekcja dostaje minimalną wysokość — niżej o wysokości
   decyduje sama treść, żeby na tablecie i telefonie nie powstawała pustka
   pod paskiem wyszukiwania. Szablon ma `items-center`, więc zawartość
   wyśrodkowuje się w tej przestrzeni pionowo. */

@media (min-width: 1280px) {
  .hero {
    min-height: 70vh;
  }
}

/* Warstwa ze zdjęciem. Wariant mobilny i desktopowy renderowane są jako dwa
   osobne elementy przełączane breakpointem, a nie przez `wp_is_mobile()` —
   dzięki temu sekcja pozostaje poprawna także wtedy, gdy stronę serwuje cache. */

.hero__art {
  position: absolute;
  inset: 0px;
  background-size: cover;
  background-position: center;
}

/* Przyciemnienie zdjęcia. Zastępuje wcześniejsze czarne plakietki pod
   nagłówkiem — tekst jest czytelny dzięki gradientowi na całej sekcji. */

.hero::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0px;
  z-index: 1;
  background:
    linear-gradient(
      100deg,
      rgb(var(--deep)) 8%,
      rgb(var(--deep) / 0.82) 46%,
      rgb(var(--deep-2) / 0.62) 100%
    ),
    linear-gradient(180deg, rgb(var(--deep-2) / 0.55) 0%, transparent 34%);
}

.hero__inner {
  max-width: 100%;
  padding: 0 20px;
}

@media (min-width: 1536px) {
  .hero__inner {
    max-width: 1200px;
    padding: 0;
  }
}

.hero__inner {
  position: relative;
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1024px) {
  #footer > .hero__inner > div {
    display: grid;
    align-items: flex-start;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    row-gap: 2.5rem;
    /* logo · oferta · menu dolne · kontakt · social */
    grid-template-columns: 2.4fr 1.6fr 3fr 2.4fr 1.6fr;
  }

  #footer > .hero__inner > div > div {
    margin: 0px;
    width: 100%;
    max-width: 100%;
    padding-left: 0px;
    padding-right: 0px;
  }
}

#footer .hero__inner a[class*="border-blue-light"] {
  width: -moz-fit-content;
  width: fit-content;
  border-width: 2px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--accent) / var(--tw-border-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

#footer .hero__inner a[class*="border-blue-light"]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

#terms.section-icon > .hero__inner > div:first-child > span {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  display: block !important;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

#terms.section-icon > .hero__inner > div:first-child > h2 {
  margin-bottom: 4rem;
}

.blog-list--related #terms.section-icon > .hero__inner > div:first-child > h2 {
  margin-bottom: 2rem;
}

#terms.section-icon > .hero__inner > div:first-child > h2 {
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: clamp(1.625rem, 3.4vw, 2.25rem);
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

#terms > .hero__inner > div:last-child > div {
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
  align-items: flex-start;
  row-gap: 2.75rem;
}

@media (min-width: 768px) {
  #terms > .hero__inner > div:last-child > div {
    row-gap: 0px;
  }
}

.vrcliststartfrom.hero__inner {
  top: -0.375rem;
}

/* ---------- Treść ---------- */

.hero-text {
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: center;
  gap: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.rtl .modal-info > .hero-text {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .hero-text {
    padding-right: 3.5rem;
  }
}

.hero-text h1 {
  margin-bottom: 0px;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  font-size: clamp(1.875rem, 4.4vw, 3.125rem);
  line-height: 1.14;
}

/* Wyróżnienie w nagłówku: w edytorze wystarczy zaznaczyć fragment kursywą. */

.hero-text h1 em {
  font-style: normal;
  --tw-text-opacity: 1;
  color: rgb(var(--accent) / var(--tw-text-opacity));
}

.hero-text h2 {
  margin-bottom: 0px;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  line-height: 1.3;
}

.hero-text p {
  margin-bottom: 0px;
  max-width: 62ch;
  font-size: 17px;
  line-height: 1.625;
  color: rgb(var(--white) / 0.9);
}

.hero-text > div:first-child > :not(:last-child) {
  margin-bottom: 0.875rem;
}

/* ---------- Przyciski ---------- */

.hero__actions {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.75rem;
}

.rtl .modal-info > .hero__actions {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .hero__actions {
    padding-right: 3.5rem;
  }
}

@media (min-width: 768px) {
  .hero__actions {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
  }
}

.hero__btn {
  display: inline-flex;
  height: 54px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  text-align: center;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 400;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.hero__btn--primary {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.hero__btn--primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

/* Wariant informacyjny (pole „button” w ACF) — nie jest odnośnikiem, więc
   celowo nie ma stanu hover ani kursora wskazującego. */

.hero__btn--ghost {
  cursor: default;
  background-color: rgb(var(--white) / 0.2);
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  --tw-backdrop-blur: blur(6px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
          backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

/* ---------- Widżet wyszukiwania w hero ---------- */

.hero .osl-search-form {
  --tw-shadow: 0 24px 50px -18px rgb(var(--black)/0.45);
  --tw-shadow-colored: 0 24px 50px -18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hero .widget-title {
  margin-bottom: 1.25rem;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

/* Pasek wyszukiwania pod tekstem. Rozwinięty kalendarz i lista miejsc muszą
   wychodzić poza obrys sekcji, dlatego kontekst piętrzenia jest tu wyżej niż
   w przyciemnieniu tła (`.hero::after`, z-index 1). */

.hero__search {
  position: relative;
  z-index: 3;
  margin-top: 2.25rem;
}

.vrcliststartfrom.hero__search {
  top: -0.375rem;
}

@media (min-width: 1024px) {
  .hero__search {
    margin-top: 3rem;
  }
}

.hero__search-title {
  margin-bottom: 0.75rem;
  font-size: 15px;
  font-weight: 600;
  color: rgb(var(--white) / 0.9);
}

@media (min-width: 1024px) {
  .hero__search-title {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}

/* Telefon: formularz zaraz pod nagłówkiem, przyciski „Gratis…” pod nim.
   W kolejności z szablonu trzy pełnej szerokości przyciski spychały pasek
   wyszukiwania pod pierwszy ekran. `display: contents` rozbiera `.hero-text`,
   więc nagłówek, przyciski i formularz stają się rodzeństwem we flexie
   i można je przestawić `order`em bez dublowania markupu. */

@media (max-width: 767px) {
  .hero__inner {
    display: flex;
    flex-direction: column;
  }

  .rtl .modal-info > .hero__inner {
    padding-right: 2rem;
    padding-left: 2.5rem;
  }

  @media (min-width: 640px) {
    .rtl .modal-info > .hero__inner {
      padding-right: 3.5rem;
    }
  }

  .hero-text {
    display: contents;
  }

  .hero-text > div:first-child {
    order: 1;
  }

  .hero__search {
    order: 2;
    margin-top: 1.75rem;
  }

  .hero__actions {
    order: 3;
    margin-top: 1.5rem;
    gap: 0.5rem;
  }

  /* Pod formularzem to już tylko argumenty, nie wezwanie do działania —
     niższe kafelki zabierają mniej miejsca. */

  .hero__btn {
    height: auto;
    min-height: 2.75rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    font-size: 15px;
  }
}

/* Notka pod paskiem — na ciemnym tle sekcji, nie w środku białego pola. */

.hero__note {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0px;
  margin-top: 1.25rem;
  max-width: 62rem;
  text-align: center;
  font-size: 15px;
  line-height: 1.625;
  color: rgb(var(--white) / 0.8);
}

/* ============================================================
   Homepage New Sections — VRC UI Components

   Szata graficzna przeniesiona z motywu `leiebiloslo` (paleta Nordic
   Teal). Wszystkie wartości kolorów pochodzą z tokenów
   (`tailwind/custom/tokens.css`) — w tym pliku nie ma już heksów.
   ============================================================ */

/* Fleet Selection (dark background) */

.vrc-premium-bg {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.vrc-container-max {
  max-width: 75rem;
  margin: 0 auto;
}

.vrc-section-subtitle {
  text-align: center;
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  display: block !important;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-section-title {
  margin-bottom: 3rem;
  text-align: center;
}

.blog-list--related .vrc-section-title {
  margin-bottom: 2rem;
}

.vrc-section-title {
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: clamp(1.625rem, 3.4vw, 2.25rem);
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

/* Do `md` kafle jadą karuzelą (Splide), powyżej wracają do siatki — dlatego
   `grid` i `gap` włączają się dopiero od tego progu. Niżej odstępem zarządza
   sam Splide (opcja `gap`); własny `gap` sumowałby się z jego marginesami
   i wypychał ostatni kafel poza kontener. */

.vrc-fleet-grid {
  gap: 0px;
}

.vrc-fleet-slider .splide__slide {
  display: flex;
  height: auto;
}

.rtl .modal-info > .vrc-fleet-slider .splide__slide {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-fleet-slider .splide__slide {
    padding-right: 3.5rem;
  }
}

/* Kafel po najechaniu unosi się i dostaje cień — bez zapasu w pionie
   przycinałby go `overflow: hidden` toru karuzeli. */

.vrc-fleet-slider .splide__track {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* Kropki stoją w normalnym flow pod karuzelą. Reguła globalna pozycjonuje
   paginację absolutnie (`bottom: -5.275em`) — tutaj wyszłaby poza ciemną
   sekcję i wylądowała na tle następnej. */

.vrc-fleet-slider .splide__pagination {
  position: static;
  margin-top: 1.75rem;
  padding: 0px;
}

@media (min-width: 768px) {
  .vrc-fleet-slider .splide__track {
    overflow: visible;
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .vrc-fleet-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px;
  }

  .vrc-fleet-slider .splide__slide {
    width: auto;
  }
}

@media (min-width: 1280px) {
  .vrc-fleet-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

/* Obramowanie i tło kafla są ledwie widoczne w spoczynku — dopiero
   najechanie wydobywa go akcentem i uniesieniem. */

.vrc-fleet-card {
  display: flex;
  height: 11.25rem;
  width: 100%;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  border-color: rgb(var(--white) / 0.1);
  background-color: rgb(var(--white) / 0.05);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  text-decoration-line: none !important;
}

.rtl .modal-info > .vrc-fleet-card {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-fleet-card {
    padding-right: 3.5rem;
  }
}

.vrc-fleet-card {
  transition: transform .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.vrc-fleet-card img,
.vrc-fleet-card svg {
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  width: 4.75rem !important;
  height: auto !important;
  transition: transform .3s ease, color .3s ease;
}

.vrc-fleet-card:hover {
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-border-opacity: 1;
  border-color: rgb(var(--accent) / var(--tw-border-opacity));
  background-color: rgb(var(--white) / 0.1);
  box-shadow: 0 .9375rem 1.875rem -0.3125rem rgb(var(--accent) / 0.3);
}

.vrc-fleet-card:hover img,
.vrc-fleet-card:hover svg {
  --tw-text-opacity: 1;
  color: rgb(var(--accent) / var(--tw-text-opacity));
  transform: scale(1.08);
}

.vrc-fleet-card span {
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.vrc-fleet-card:hover span {
  --tw-text-opacity: 1;
  color: rgb(var(--accent) / var(--tw-text-opacity));
}

/* Benefits (white background) */

.vrc-white-bg {
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

/* Jak wyżej: karuzela na wąskich ekranach, siatka od `md`. */

.vrc-benefits-grid {
  gap: 0px;
}

.vrc-benefits-slider .splide__slide {
  display: flex;
  height: auto;
}

.rtl .modal-info > .vrc-benefits-slider .splide__slide {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-benefits-slider .splide__slide {
    padding-right: 3.5rem;
  }
}

/* Karta jest jedynym dzieckiem slajdu — bez pełnej szerokości kurczyłaby się
   do własnej treści zamiast wypełnić slajd. */

.vrc-benefits-slider .splide__slide > .vrc-benefit-card {
  width: 100%;
}

/* Jak przy kaflach floty — miejsce na uniesienie karty i jej cień. */

.vrc-benefits-slider .splide__track {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* Kropki w normalnym flow pod karuzelą (reguła globalna pozycjonuje je
   absolutnie i wypychałaby poza sekcję). */

.vrc-benefits-slider .splide__pagination {
  position: static;
  margin-top: 1.75rem;
  padding: 0px;
}

@media (min-width: 768px) {
  .vrc-benefits-slider .splide__track {
    overflow: visible;
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .vrc-benefits-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem;
  }

  .vrc-benefits-slider .splide__slide {
    width: auto;
  }
}

@media (min-width: 1024px) {
  .vrc-benefits-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1.5rem;
  }
}

/* Obramowanie jest przezroczyste już w stanie spoczynku — dodawanie go dopiero
   na hover przesuwało zawartość karty o .0625rem. */

.vrc-benefit-card {
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding: 1.25rem;
  text-align: center;
}

@media (min-width: 1024px) {
  .vrc-benefit-card {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.vrc-benefit-card {
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.vrc-benefit-card:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.vrc-benefit-icon-wrapper {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
  display: flex;
  height: 5rem;
  width: 5rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: rgb(var(--deep) / 0.8);
}

.rtl .modal-info > .vrc-benefit-icon-wrapper {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-benefit-icon-wrapper {
    padding-right: 3.5rem;
  }
}

.vrc-benefit-icon-wrapper img,
.vrc-benefit-icon-wrapper svg {
  height: 2.25rem;
  width: 2.25rem;
  -o-object-fit: contain;
     object-fit: contain;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-benefit-text {
  margin: 0px;
  font-size: .9375rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.vrc-benefit-text p {
  margin-bottom: 0px;
}

.vrc-benefit-text p + p {
  margin-top: 0.5rem;
}

/* Pierwsza linia treści wyróżniona pogrubieniem pełni rolę tytułu karty. */

.vrc-benefit-text b,
.vrc-benefit-text strong {
  margin-bottom: 0.375rem;
  font-size: 1rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  display: block !important;
}

/* ============================================================
   Elementy wspólne pozostałych sekcji strony głównej
   ============================================================ */

.vrc-ui-section {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
  font-family: inherit;
}

.vrc-ui-section-bg {
  border-bottom-width: 1px;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
}

.vrc-ui-container {
  max-width: 75rem;
  margin: 0 auto;
}

.vrc-ui-row {
  margin-bottom: 3.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.rtl .modal-info > .vrc-ui-row {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-ui-row {
    padding-right: 3.5rem;
  }
}

@media (min-width: 1024px) {
  .vrc-ui-row {
    margin-bottom: 5rem;
    gap: 3.125rem;
  }
}

.vrc-ui-row:last-child {
  margin-bottom: 0px;
}

.vrc-ui-row-rev {
  flex-direction: row-reverse;
}

.vrc-ui-col {
  flex: 1 1 25rem;
}

.vrc-ui-img {
  width: 100%;
  border-radius: 1.5rem;
  -o-object-fit: cover;
     object-fit: cover;
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  aspect-ratio: 4/3;
}

.vrc-ui-label {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  display: block !important;
}

.vrc-ui-title {
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: clamp(26px, 3.4vw, 36px);
}

.vrc-ui-title-center {
  margin-bottom: 2.5rem;
  text-align: center;
}

.vrc-ui-text {
  margin-bottom: 1.25rem;
  font-size: 1rem;
  line-height: 1.75rem;
  line-height: 2;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.vrc-ui-grid-2 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2rem !important;
}

@media (min-width: 768px) {
  .vrc-ui-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.vrc-ui-card {
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding: 1.5rem;
  --tw-shadow: var(--shadow-card);
  --tw-shadow-colored: var(--shadow-card);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

@media (min-width: 640px) {
  .vrc-ui-card {
    padding: 2.5rem;
  }
}

.vrc-ui-card {
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.vrc-ui-card:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.vrc-ui-icon {
  margin-bottom: 1.5rem;
  display: flex;
  height: 3.5rem;
  width: 3.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity));
  font-size: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.rtl .modal-info > .vrc-ui-icon {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-ui-icon {
    padding-right: 3.5rem;
  }
}

.vrc-ui-icon img,
.vrc-ui-icon svg {
  height: 2rem;
  width: 2rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.vrc-ui-btn {
  display: inline-flex;
  height: 54px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  text-decoration-line: none !important;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.vrc-ui-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

/* Accordion */

/* Pozycje oferty — lista, nie kafle. Białe karty z cieniem na białym tle
   sekcji ledwie się od niego odcinały, a każdy kafel niósł własną ramkę
   i promień, przez co lista rozpadała się na osobne bloki. Teraz porządek
   trzyma linia rozdzielająca i numer, a wyróżnienie otwartej pozycji niesie
   belka w kolorze marki. */

.vrc-ui-accordion {
  position: relative;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 3.5rem;
  padding-right: 0.5rem;
}

.vrcliststartfrom.vrc-ui-accordion {
  top: -0.375rem;
}

.vrc-ui-accordion {
  transition: background-color .3s ease;
}

/* Belka otwartej pozycji. Rysowana zawsze, ale przezroczysta — przy
   dorysowywaniu jej dopiero po otwarciu tekst przeskakiwałby o jej grubość. */

.vrc-ui-accordion::before {
  content: "";
  pointer-events: none;
  position: absolute;
  bottom: 0px;
  left: 0px;
  top: 0px;
  width: .1875rem;
  background-color: transparent;
  transition: background-color .3s ease;
}

.vrc-ui-accordion[open]::before {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
}

.vrc-ui-accordion:last-child {
  border-bottom-width: 0px;
}

.vrc-ui-accordion summary {
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 20px;
  font-size: 1.5rem;
  line-height: 1.75rem;
  font-weight: 700;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  outline: 2px solid transparent;
  outline-offset: 2px;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .vrc-ui-accordion summary {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-ui-accordion summary {
    padding-right: 3.5rem;
  }
}

.vrc-ui-accordion summary {
  list-style: none;
}

.vrc-ui-accordion summary:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-ui-accordion summary::-webkit-details-marker {
  display: none;
}

/* Numer porządkowy — drobny, w kolorze pomocniczym; otwarta pozycja
   przejmuje kolor marki. Stała szerokość trzyma tytuły w jednej osi. */

.vrc-ui-accordion-num {
  position: absolute;
  left: 1rem;
  top: 1.9rem;
  width: 1.5rem;
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  letter-spacing: .06em;
}

.vrc-ui-accordion[open] .vrc-ui-accordion-num {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-ui-accordion-label {
  flex: 1 1 0%;
}

.vrc-ui-accordion summary svg {
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
  transition: transform .3s ease, color .3s ease;
}

.vrc-ui-accordion summary:hover svg,
.vrc-ui-accordion[open] summary svg {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-ui-accordion[open] summary svg {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.vrc-ui-accordion-content {
  margin-top: 1rem;
  line-height: 2;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  animation: vrcFadeIn .4s ease;
}

.vrc-ui-accordion-content p {
  margin-bottom: 1rem;
}

.vrc-ui-accordion-content p:last-child {
  margin-bottom: 0px;
}

.vrc-ui-accordion-content h3 {
  margin-bottom: 1rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

@keyframes vrcFadeIn {
  from {
    opacity: 0;
    transform: translateY(-0.625rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Services section (accordion + dynamic image) */

/* Kolumny są rozciągnięte na wysokość wiersza, żeby zdjęcie kończyło się
   równo z ostatnią pozycją listy. Przyklejanie obsługuje dopiero element
   wewnątrz kolumny — sam rozciągnięty kontener nie miałby się gdzie
   zatrzymać. */

.vrc-services-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 2.5rem;
}

.rtl .modal-info > .vrc-services-wrap {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-services-wrap {
    padding-right: 3.5rem;
  }
}

.vrc-services-left {
  display: flex;
  max-width: 60%;
  flex-direction: column;
}

.rtl .modal-info > .vrc-services-left {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-services-left {
    padding-right: 3.5rem;
  }
}

.vrc-services-left {
  flex: 1 1 calc(60% - 1.25rem);
}

.vrc-services-right {
  display: flex;
  max-width: 40%;
  flex-direction: column;
}

.rtl .modal-info > .vrc-services-right {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-services-right {
    padding-right: 3.5rem;
  }
}

.vrc-services-right {
  flex: 1 1 calc(40% - 1.25rem);
}

/* Zdjęcie wypełnia kolumnę, więc dolna krawędź kadru trafia dokładnie w linię
   ostatniej pozycji listy — bez proporcji narzuconej z góry i bez liczenia
   wysokości skryptem (robił to `lockHeight()` przy każdym `resize`, przez co
   kolumna skakała po otwarciu pozycji).

   Przy długiej liście kadr byłby wyższy niż okno, dlatego ograniczamy go do
   jego wysokości — dopiero ten zapas daje `sticky` co przyklejać, więc
   zdjęcie towarzyszy przewijaniu, a przy krótkiej liście po prostu stoi
   równo z nią. */

.vrc-services-img-wrap {
  position: sticky;
  top: 7rem;
  height: 100%;
  width: 100%;
  overflow: hidden;
  border-radius: 1.5rem;
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  max-height: calc(100vh - 8rem);
}

.vrc-services-dynamic-img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right;
     object-position: right;
  transition: opacity .3s ease-in-out;
}

/* Mobility CTA (ciemny pas) */

.vrc-mobility-bg {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
  text-align: center;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.vrc-mobility-bg .vrc-ui-title {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.875rem;
  max-width: 26ch;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.vrc-mobility-bg .vrc-ui-text {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.75rem;
  max-width: 56ch;
  line-height: 1.625;
  color: rgb(var(--white) / 0.8);
}

/* USP Box (long-term rental) */

.vrc-usp-box {
  position: relative;
  margin-bottom: 1rem;
  overflow: hidden;
  border-radius: 1.5rem;
  padding: 3.125rem;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.vrcliststartfrom.vrc-usp-box {
  top: -0.375rem;
}

@media (min-width: 1024px) {
  .vrc-usp-box {
    margin-bottom: 5rem;
  }
}

.vrc-usp-box {
  /* Dwie warstwy: pod spodem sam granat, róż wchodzi dopiero
       z przezroczystością w dolnym rogu — jak w sekcji kroków. */
  background:
        linear-gradient(
            135deg,
            transparent 45%,
            rgb(var(--brand) / 0.18) 78%,
            rgb(var(--brand) / 0.38) 100%
        ),
        linear-gradient(
            135deg,
            rgb(var(--deep-2)) 0%,
            rgb(var(--deep)) 100%
        );
  box-shadow: 0 1.25rem 3.125rem -0.625rem rgb(var(--deep-2) / 0.45);
}

/* Miękka poświata w rogu — ten sam akcent, co w kaflach floty. */

.vrc-usp-box::after {
  content: '';
  pointer-events: none;
  position: absolute;
  right: 0px;
  top: 0px;
  height: 18.75rem;
  width: 18.75rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--accent) / var(--tw-bg-opacity));
  opacity: 0.1;
  filter: blur(5rem);
}

.vrc-usp-box > * {
  position: relative;
  z-index: 1;
}

.vrcliststartfrom.vrc-usp-box > * {
  top: -0.375rem;
}

.vrc-usp-box .vrc-ui-label {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  display: block !important;
}

.vrc-usp-box .vrc-ui-title {
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  font-size: clamp(30px, 3.8vw, 42px);
}

.vrc-usp-box .vrc-ui-text p {
  font-size: 1rem;
  line-height: 1.75rem;
  color: rgb(var(--white) / 0.9);
}

@media (min-width: 1024px) {
  .vrc-usp-box .vrc-ui-text p {
    font-size: 1.25rem;
  }
}

.vrc-usp-box .vrc-ui-text a {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-usp-list {
  margin-top: 2rem;
  margin-bottom: 2rem;
  list-style-type: none;
  padding: 0px;
}

.vrc-usp-list li {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.rtl .modal-info > .vrc-usp-list li {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-usp-list li {
    padding-right: 3.5rem;
  }
}

@media (min-width: 1024px) {
  .vrc-usp-list li {
    font-size: 1.125rem;
  }
}

.vrc-usp-list li svg {
  height: 1.5rem;
  width: 1.5rem;
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-usp-details summary {
  cursor: pointer;
  border-top-width: 1px;
  border-style: solid;
  border-color: rgb(var(--white) / 0.1);
  padding-top: 1.25rem;
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  outline: 2px solid transparent;
  outline-offset: 2px;
  list-style: none;
}

.vrc-usp-details summary::-webkit-details-marker {
  display: none;
}

.vrc-usp-details-content p {
  margin-top: 1rem;
  font-size: 0.875rem;
  line-height: 20px;
  line-height: 1.625;
  color: rgb(var(--white) / .85);
}

/* Card accordion (more services) */

.vrc-card-accordion summary {
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.375rem;
  border-style: none;
  padding: 0px;
  font-size: .9375rem;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.rtl .modal-info > .vrc-card-accordion summary {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-card-accordion summary {
    padding-right: 3.5rem;
  }
}

.vrc-card-accordion summary {
  margin: 0;
  list-style: none;
}

.vrc-card-accordion summary::-webkit-details-marker {
  display: none;
}

.vrc-card-accordion summary svg {
  height: 1rem;
  width: 1rem;
  transition: transform .3s ease;
}

.vrc-card-accordion[open] summary svg {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.vrc-card-accordion-content {
  margin-top: 1rem;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-top: 1rem;
  font-size: 0.875rem;
  line-height: 20px;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.vrc-card-accordion-content p {
  margin-bottom: 0.75rem;
}

/* Układ mobilny sekcji strony głównej. */

@media (max-width: 62rem) {
  .vrc-services-left {
    max-width: 100%;
    flex: 1 1 100%;
  }

  /* Zdjęcie zostaje także na wąskich ekranach — wcześniej znikało, więc
       z sekcji zostawała sama lista. Idzie nad nią, jako niski pasek. */

  .vrc-services-right {
    order: -9999;
    max-width: 100%;
    flex: 1 1 100%;
  }

  .vrc-services-img-wrap {
    position: static;
    height: auto;
    aspect-ratio: 16 / 9;
    max-height: none;
  }

  .vrc-ui-section {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .vrc-premium-bg {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .vrc-white-bg {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .vrc-usp-box {
    padding: 2rem;
  }
}

/* Oddziały i godziny otwarcia */

.branches__head {
  margin-bottom: 2.5rem;
  max-width: 62ch;
}

.branches__head .vrc-ui-text {
  margin-bottom: 0px;
}

.branches__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem !important;
}

@media (min-width: 768px) {
  .branches__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .branches__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.branches__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  --tw-shadow: var(--shadow-card);
  --tw-shadow-colored: var(--shadow-card);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.rtl .modal-info > .branches__card {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .branches__card {
    padding-right: 3.5rem;
  }
}

.branches__body {
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  padding: 1.5rem;
}

.rtl .modal-info > .branches__body {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .branches__body {
    padding-right: 3.5rem;
  }

  .branches__body {
    padding: 2rem;
  }
}

.branches__card-head {
  margin-bottom: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.rtl .modal-info > .branches__card-head {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .branches__card-head {
    padding-right: 3.5rem;
  }
}

.branches__name {
  margin: 0px;
  font-size: 1.5rem;
  line-height: 1.75rem;
  font-weight: 700;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.branches__badge {
  border-radius: 9999px;
  background-color: rgb(var(--brand) / 0.1);
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.branches__details {
  margin: 0px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.rtl .modal-info > .branches__details {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .branches__details {
    padding-right: 3.5rem;
  }
}

.branches__details dt {
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
}

.branches__details dd {
  margin: 0px;
  font-size: 1rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.branches__note {
  margin-bottom: 0px;
  margin-top: 0px;
  font-size: 1rem;
  line-height: 1.75rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.branches__details + .branches__note {
  margin-top: 1.25rem;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-top: 1.25rem;
}

/* Mapa na górze karty, od krawędzi do krawędzi — w każdej karcie zaczyna
   się na tej samej wysokości, niezależnie od długości treści pod nią. */

.branches__map {
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
}

.branches__map iframe {
  height: 220px;
  width: 100%;
  border-width: 0px;
  display: block !important;
}

/* Ceny i co jest w cenie */

.prices__head {
  margin-bottom: 2.5rem;
  max-width: 62ch;
}

.prices__head .vrc-ui-text {
  margin-bottom: 0px;
}

.prices__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem !important;
}

@media (min-width: 640px) {
  .prices__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .prices__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .prices__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.prices__card {
  display: flex;
  flex-direction: column;
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding: 1.5rem;
  --tw-shadow: var(--shadow-card);
  --tw-shadow-colored: var(--shadow-card);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.rtl .modal-info > .prices__card {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .prices__card {
    padding-right: 3.5rem;
  }
}

.prices__card {
  transition: transform .3s ease, box-shadow .3s ease;
}

.prices__card:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.prices__name {
  margin: 0px;
  margin-bottom: 1rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.prices__price {
  margin: 0px;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
}

.rtl .modal-info > .prices__price {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .prices__price {
    padding-right: 3.5rem;
  }
}

.prices__price span {
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
}

.prices__price strong {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.prices__text {
  margin: 0px;
  font-size: .9375rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.prices__link {
  margin-top: auto;
  padding-top: 1.25rem;
  font-size: .9375rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  text-decoration-line: none;
}

.prices__link:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-dark) / var(--tw-text-opacity));
}

/* „Co jest w cenie” — box i lista z sekcji Long-Term Rental, tu w dwóch
   kolumnach i z ikoną przy pierwszej linii, bo pozycje bywają dwuwierszowe. */

.prices__included {
  margin-bottom: 0px;
  margin-top: 3rem;
}

@media (min-width: 1024px) {
  .prices__included {
    margin-bottom: 0px;
  }
}

.prices__included .vrc-ui-title {
  margin-bottom: 0px;
  margin-top: 0px;
  font-size: clamp(24px, 2.8vw, 32px);
}

.prices__included .vrc-usp-list {
  margin-bottom: 0px;
  display: grid;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
  row-gap: 20px;
}

@media (min-width: 1024px) {
  .prices__included .vrc-usp-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prices__included .vrc-usp-list li {
  margin-bottom: 0px;
  align-items: flex-start;
  font-size: 1rem;
  line-height: 1.75rem;
}

@media (min-width: 1024px) {
  .prices__included .vrc-usp-list li {
    font-size: 1rem;
    line-height: 1.75rem;
  }
}

.prices__included .vrc-usp-list li svg {
  margin-top: 0.125rem;
}

/* ============================================================
   DOSTĘPNOŚĆ — mapa z nałożoną kartą

   Układ przeniesiony z motywu `leiebiloslo`: na szerokich ekranach
   mapa wypełnia tło sekcji, a treść leży na niej jako ciemna karta.
   Poniżej `lg` mapa wraca do zwykłego bloku nad kartą, żeby nakładka
   nie zasłoniła całego podglądu.
   ============================================================ */

.map-section {
  position: relative;
  z-index: 1;
  overflow: hidden;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
}

.vrcliststartfrom.map-section {
  top: -0.375rem;
}

/* Do `lg` mapa jest zwykłym blokiem nad treścią; wyżej wypełnia tło sekcji,
   a karta kładzie się na niej. Interaktywna część mapy zostaje odsłonięta
   po prawej stronie karty. */

.map-section__canvas {
  position: relative;
  height: 20rem;
  width: 100%;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
}

.vrcliststartfrom.map-section__canvas {
  top: -0.375rem;
}

@media (min-width: 640px) {
  .map-section__canvas {
    height: 26.25rem;
  }
}

.map-section__canvas iframe {
  height: 100%;
  width: 100%;
  border-width: 0px;
}

.map-section__inner {
  position: relative;
  z-index: 2;
  display: flex;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.rtl .modal-info > .map-section__inner {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .map-section__inner {
    padding-right: 3.5rem;
  }
}

.vrcliststartfrom.map-section__inner {
  top: -0.375rem;
}

@media (min-width: 1024px) {
  .map-section__inner {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.map-section__card {
  width: 100%;
  max-width: 100%;
  border-radius: var(--r-card);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .map-section__card {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }
}

@media (min-width: 1024px) {
  .map-section__card {
    max-width: 29.625rem;
  }
}

.map-section__card {
  box-shadow: 0 1.875rem 3.75rem -1.25rem rgb(var(--deep-2) / 0.55);
}

.map-section__title {
  margin-bottom: 0.875rem;
  font-weight: 700;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.map-section__text {
  margin-bottom: 0px;
  font-size: .9375rem;
  line-height: 1.625;
  color: rgb(var(--white) / 0.8);
}

/* Legenda punktów odbioru — odpowiednik listy „checkpoints”. */

.map-section__legend {
  margin: 0px;
  margin-top: 1.5rem;
  display: flex;
  list-style-type: none;
  flex-direction: column;
  gap: 0.5rem;
  border-top-width: 1px;
  border-style: solid;
  border-color: rgb(var(--white) / 0.1);
  padding: 0px;
  padding-top: 1.5rem;
  font-size: .84375rem;
  color: rgb(var(--white) / 0.8);
}

.rtl .modal-info > .map-section__legend {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .map-section__legend {
    padding-right: 3.5rem;
  }

  .map-section__legend {
    flex-direction: row;
    flex-wrap: wrap;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}

.map-section__legend li {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.rtl .modal-info > .map-section__legend li {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .map-section__legend li {
    padding-right: 3.5rem;
  }
}

.map-section__legend i {
  height: 0.625rem;
  width: 0.625rem;
  flex-shrink: 0;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  display: block !important;
}

.map-section__legend strong {
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

@media (min-width: 1024px) {
  .map-section__canvas {
    position: absolute;
    inset: 0px;
    height: 100%;
  }
}

.modal-info .accordion__title::after {
  height: 0.75rem;
  width: 1.25rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  background: url('template-parts/assets/images/icons/angle-down-info.svg') no-repeat !important;
}

.modal-info .active.accordion__title::after {
  right: 0px;
  height: 0.75rem;
  width: 1.25rem;
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.modal-info .accordion__content p:not(:last-child) {
  margin-bottom: 2.25rem;
}

.modal-info .accordion__content p:first-child {
  margin-top: 2.25rem;
}

.modal-info .accordion__wrapper:last-child {
  border-bottom-width: 0px !important;
}

.modal-info {
  transform: translate(-50%, -50%);
  max-width: 920px;
}

.modal-info form {
  margin-bottom: 0px !important;
  flex-basis: 100% !important;
  flex-direction: column;
}

.modal-info .vrc-pref-color-btn {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.modal-info .choices__inner {
  padding: 0px;
}

.vrc-cardetails-book-wrap {
  max-width: 36rem;
  padding: 1.25rem;
}

.vrcdivsearch {
  border-style: none !important;
}

.modal-info .choices__item,
.modal-info .choices__list,
.modal-info .vrc-searchf-section-locations {
  width: 100% !important;
}

.modal-info .choices__list--dropdown,
.choices__list[aria-expanded] {
  left: 0px;
  z-index: 10;
}

.modal-info .choices__list {
  border-bottom-right-radius: var(--r-btn);
  border-bottom-left-radius: var(--r-btn);
}

.modal-info .choices__list--dropdown .choices__item--selectable,
.choices__list[aria-expanded] .choices__item--selectable {
  padding-left: 57px;
  font-size: 1rem;
  line-height: 1.75rem;
}

.select-place.is-open .choices__input {
  border-bottom-right-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
}

.modal-info .vrcdivsearch .vrc-searchf-section-datetimes .vrcsfentrycont .vrcsfentrytime {
  flex-basis: 33.333333% !important;
}

.overlay::before {
  position: fixed;
  z-index: 20;
  height: 100%;
  width: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.5);
}

.vrcmodal {
  font-size: 0.875rem;
  line-height: 1.25rem !important;
}

@media (min-width: 640px) {
  .vrcmodal {
    font-size: 1rem;
    line-height: 1.75rem;
  }
}

#infoModal {
  max-height: 620px;
  /* `scroll` rysował pusty pasek przewijania zawsze — w RTL jako szary pas
     przy lewej krawędzi. Pasek ma się pojawiać tylko przy długiej treści. */
  overflow-y: auto;
}

/* ============================================================
   POTWIERDZENIE ZAMÓWIENIA (krok „Bestill”, adres z `?sid=`)

   Motyw `leiebiloslo` nie ma tego widoku — jego checkout jest
   jednoetapowy, a tutejszy przepływ prowadzi przez osobny krok
   z podsumowaniem i danymi kierowcy (`oconfirm-component.php`).
   Nie było więc czego kopiować 1:1; poniżej przeniesiony jest sam
   język wizualny stamtąd: pasek kroków wzorowany na `.osl-steps`,
   tabela podsumowania na `.osl-summary-card` i `.osl-sum-row`.

   Szablon zostaje nietknięty, dlatego selektory sięgają głębiej niż
   zwykle — nagłówki kroków niosą w `class` własne klasy narzędziowe
   (łącznie z zapisanym na sztywno `border-[#e5e5e5]`), a warstwa
   `utilities` wchodzi do arkusza po `components`.
   ============================================================ */

/* ---- Pasek kroków ---- */

.vrc-stepbar {
  margin: 0px;
  margin-bottom: 2.25rem;
  display: flex;
  list-style-type: none;
  flex-wrap: wrap;
  gap: 0px;
  border-radius: 0px;
  border-width: 0px;
  padding: 0px;
}

.rtl .modal-info > .vrc-stepbar {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-stepbar {
    padding-right: 3.5rem;
  }
}

.vrc-stepbar > li {
  display: flex;
  align-items: center;
  gap: .6875rem;
  padding-right: 1.25rem;
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .vrc-stepbar > li {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-stepbar > li {
    padding-right: 3.5rem;
  }
}

.vrc-stepbar > li {
  height: auto !important;
}

/* Łącznik między krokami — kreska w kolorze linii, nie tło kafla. */

.vrc-stepbar > li::after {
  content: "";
  height: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--line) / var(--tw-bg-opacity));
  width: 1.625rem;
  margin-left: .875rem;
}

.vrc-stepbar > li:last-child {
  border-radius: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.vrc-stepbar > li:last-child::after {
  display: none;
}

.vrc-stepbar li a {
  display: flex;
  align-items: center;
  gap: .6875rem;
  font-weight: 400;
  color: inherit;
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .vrc-stepbar li a {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-stepbar li a {
    padding-right: 3.5rem;
  }
}

.vrc-stepbar li a:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

/* Numer kroku. Szablon nadaje mu własny obrys i rozmiar — stąd komplet
   nadpisań zamiast kilku deklaracji. */

.vrc-stepbar li > span:first-of-type,
.vrc-stepbar li a > span:first-of-type {
  margin-right: 0px;
  display: inline-flex;
  height: 1.875rem;
  width: 1.875rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--line) / var(--tw-bg-opacity));
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 700;
  font-style: normal;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.vrc-stepbar li a:hover > span:first-of-type {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

/* Krok bieżący — wypełniony kolorem marki. */

.vrc-stepbar li.vrc-step-current > span:first-of-type {
  border-width: 0px !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--white) / var(--tw-text-opacity)) !important;
}

.vrc-stepbar li.vrc-step-current {
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

/* Kroki już przebyte — czytelniejsze niż nieodwiedzone, ale bez akcentu. */

.vrc-stepbar li.vrc-step-complete > a > span:first-of-type {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--accent-soft) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-stepbar li.vrc-step-next {
  background-color: transparent;
}

/* ---- Podsumowanie zamówienia ---- */

.blog-list--related .vrc-rental-summary-title {
  margin-bottom: 2rem;
}

.vrc-rental-summary-title {
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: clamp(1.625rem, 3.4vw, 2.25rem);
}

.vrc-oconfirm-summary-container {
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  padding: 1.625rem 1.5rem;
}

.vrc-oconfirm-summary-car-wrapper {
  border-width: 0px;
}

/* Nagłówek tabeli — etykiety kolumn kapitalikami, jak metryczki w kaflach. */

.vrc-oconfirm-summary-car-head {
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-bottom: 0.625rem;
}

.vrc-oconfirm-summary-car-head-cell {
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  letter-spacing: .08em;
}

.vrc-oconfirm-summary-car-row {
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  font-size: .90625rem;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.vrc-oconfirm-summary-car-row:last-child {
  border-bottom-width: 0px;
}

.vrc-oconfirm-carname {
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.vrc-oconfirm-optname {
  font-size: .90625rem;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.vrc-oconfirm-priceinfo {
  font-size: 13px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
}

/* Suma — jedyny wiersz wyróżniony wagą i kolorem tekstu podstawowego. */

.vrc-oconfirm-summary-total-wrapper {
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-top: 0.875rem;
}

.vrc-oconfirm-summary-total-row {
  border-width: 0px;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.vrc-oconfirm-total-block {
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  text-transform: none;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

/* Kwoty w kolumnie „razem” — kolor ceny, cyfry o równej szerokości. */

.vrc-oconfirm-summary-car-cell-tot {
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-variant-numeric: tabular-nums;
}

.vrc-oconfirm-summary-total-row .vrc-oconfirm-summary-car-cell-tot {
  --tw-text-opacity: 1;
  color: rgb(var(--price) / var(--tw-text-opacity));
}

/* Odnośnik powrotu i tekst pomocniczy w kolorze marki. */

.vrc-pref-color-text {
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

/* Wiersz opcji dodatkowej — lżejszy niż wiersz z autem, bo to pozycja
   podrzędna wobec najmu. */

.vrc-oconfirm-summary-option-row .vrc-oconfirm-summary-car-cell-descr {
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Blok z przyciskiem potwierdzenia. Sam przycisk ma klasy `booknow`
   i `vrc-pref-color-btn`, więc kolor bierze z reguł wspólnych — tutaj
   zostaje tylko ustawienie go w wierszu akcji. */

.vrc-save-order-block {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
}

.rtl .modal-info > .vrc-save-order-block {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-save-order-block {
    padding-right: 3.5rem;
  }
}

.vrc-save-order-block input[type="submit"] {
  width: 100%;
  cursor: pointer;
}

@media (min-width: 640px) {
  .vrc-save-order-block input[type="submit"] {
    width: auto;
  }

  .vrc-showprc-options-wrap {
    border-radius: var(--r-card);
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(var(--line) / var(--tw-border-opacity));
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    padding-top: 2rem;
    padding-bottom: 2.75rem;
  }
}

.vrc-showprc-options-wrap .vrc-showprc-option-row {
  margin-bottom: 1rem;
}

.vrc-showprc-options-wrap .vrc-showprc-title {
  padding-bottom: 1.25rem;
}

.vrcoptionforcequant {
  margin-top: 0.25rem;
  display: flex;
  align-items: center;
  border-radius: 0px;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  background-color: transparent;
  padding: 0.25rem;
  font-weight: 400;
}

.rtl .modal-info > .vrcoptionforcequant {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrcoptionforcequant {
    padding-right: 3.5rem;
  }
}

.vrcoptionforcequant {
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--brand) / var(--tw-border-opacity)) !important;
  width: 19px;
  height: 19px;
}

/* ============================================================
   PAGINACJA

   Markup pochodzi z `the_posts_pagination()` (WordPress), wywoływanego
   przez `gftw_the_posts_navigation()`.
   ============================================================ */

/* WordPress opisuje paginację nagłówkiem „Sidepaginering” przeznaczonym
   wyłącznie dla czytników ekranu — i oznacza go klasą `.screen-reader-text`.
   Motyw nigdzie tej klasy nie definiował, więc nagłówek był po prostu
   widoczny. Ukrywamy go wzrokowo, ale zostawiamy w drzewie dostępności:
   `display: none` usunąłby go także czytnikom. */

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}

/* Po fokusie z klawiatury odsyłacz pomijający musi być widoczny. */

.screen-reader-text:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  white-space: normal;
  clip: auto;
  -webkit-clip-path: none;
          clip-path: none;
}

.pagination {
  margin-bottom: 6rem;
  margin-top: 2.75rem;
}

@media (min-width: 1024px) {
  .pagination {
    margin-bottom: 9rem;
  }
}

.nav-links,
.pagination-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.rtl .modal-info > .nav-links,.rtl .modal-info > 
.pagination-links {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .nav-links,.rtl .modal-info > 
.pagination-links {
    padding-right: 3.5rem;
  }
}

/* Odnośniki „poprzednie / następne strony” zostają ukryte — nawigacja
   opiera się na numerach stron. */

.next.page-numbers,
.prev.page-numbers {
  display: none;
}

.page-numbers,
.next-page,
.prev-page,
.total-pages {
  margin: 0px;
  display: inline-flex;
  height: 2.75rem;
  min-width: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 15px;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  font-variant-numeric: tabular-nums;
}

a.page-numbers:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.page-numbers.current,
.total-pages {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

/* Wielokropek między odległymi numerami nie jest przyciskiem, więc nie
   dostaje ani ramki, ani tła. */

.page-numbers.dots {
  border-color: transparent;
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
}

.section-qr .qr-background {
  background: url('template-parts/assets/images/bg/qr-bg.png') no-repeat;
  background-position: top center;
  padding: 73px 0;
  display: flex;
  height: 662px;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.rtl .modal-info > .section-qr .qr-background {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-qr .qr-background {
    padding-right: 3.5rem;
  }
}

@media (max-width: 575px) {
  .section-qr .qr-background {
    padding: 40px 0;
    height: 100%;
    gap: 30px;
    background-size: contain
  }
}

.section-qr .qr-background .qr-column {
  margin-left: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.rtl .modal-info > .section-qr .qr-background .qr-column {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .section-qr .qr-background .qr-column {
    padding-right: 3.5rem;
  }

  .section-qr .qr-background .qr-column {
    margin-left: 50px;
  }
}

.section-qr .qr-background .qr-column .qr-image {
  max-width: 197px;
  max-height: 197px;
}

@media (max-width: 575px) {
  .section-qr .qr-background .qr-column .qr-image {
    max-width: 80px;
    max-height: 80px
  }
}

.rtl .vrcmodcarsgrid-item_title {
  text-align: right;
}

.rtl .splide__slide:nth-child(4 of .is-visible) {
  opacity: 1;
}

.rtl .splide__slide:nth-child(1 of .is-visible) {
  opacity: 0.5;
}

.rtl .splide__arrows--rtl .splide__arrow--next {
  left: 5em;
}

.rtl .splide__arrows--rtl .splide__arrow--prev {
  right: auto;
  left: 0px;
}

.rtl .language-switcher .sub-menu {
  left: 14px;
}

@media (min-width: 1280px) {
  .rtl .language-switcher .sub-menu {
    left: -14px;
  }
}

@media (max-width: 1280px) {
  .rtl .main-nav .menu-item-has-children>a:after {
    left: auto;
    width: 20px;
    height: 20px;
    margin-right: 0;
  }

  .rtl .main-nav .menu-item-has-children,
        .rtl .main-nav .menu-item-has-children a {
    min-width: auto;
    display: block !important;
  }

  .rtl .main-nav .menu-item-has-children:hover>a:after {
    left: auto;
    width: 20px;
    height: 20px;
    margin-right: 0;
  }

  .rtl #vrcmodselpm,
        .rtl #vrcmodseldm {
    margin-right: 0px;
  }
}

.rtl .vrc-searchmod-wrap-vertical .vrc-searchmod-section-datetimes .vrcsfentrycont {
  align-items: flex-end;
}

@media (min-width: 1024px) {
  .rtl .vrc-searchmod-wrap-vertical .vrc-searchmod-section-datetimes .vrcsfentrycont {
    flex-direction: row-reverse;
  }
}

.rtl .vrcdivsearch .vrcsfentrylabsel label {
  position: relative;
}

.vrcliststartfrom.rtl .vrcdivsearch .vrcsfentrylabsel label {
  top: -0.375rem;
}

@media (min-width: 1024px) {
  .rtl .vrcdivsearch .vrcsfentrylabsel label {
    right: -80px;
  }
}

.rtl .vrcsfentrylabsel label::before,
    .rtl .vrc-searchmod-section-pickup label::before,
    .rtl .vrc-searchf-section-locations label::before {
  left: auto;
  right: 0px;
}

.rtl .iti__country-container {
  right: 0.75rem;
  left: auto;
}

.rtl input[type="tel"] {
  padding-right: 6rem !important;
  text-align: right;
}

.rtl .iti__country-selector {
  right: 0px;
  left: auto !important;
}

@media (min-width: 768px) {
  .rtl .iti__country-selector {
    right: -0.75rem;
  }
}

/* ============================================================
   Bidi: kwoty, daty i nazwy w wersji arabskiej
   ============================================================

   W akapicie RTL zwykła spacja nie łączy cyfr, więc „1 000 kr” rozpadało się
   na „000 1 kr”, „500 kr × 2” na „kr × 2 500”, a „1. Oslo-Sentrum-Norbygata 2”
   gubiło kropkę na drugim końcu. `plaintext` izoluje element i ustala jego
   kierunek po pierwszym mocnym znaku — łacińskie „kr” czy „Oslo” dają LTR,
   arabskie tłumaczenie zostaje RTL. Działa też dla treści wstawianej przez
   JS (podsumowanie checkoutu), czego nie dałoby obkładanie `<bdi>` w PHP. */

.rtl :is(
  .car-bookbox__price b,
  .car-bookbox__amounts,
  .car-bookbox__row > span,
  .car-bookbox__row > b,
  .car-bookbox__total b,
  .car-bookbox__bar-price b,
  .car-bookbox__trip dd,
  .car_cost,
  .osl-price-old,
  .osl-option-note,
  .osl-option-price,
  .osl-sum-value,
  .osl-sum-total strong,
  .osl-sum-tax span,
  .osl-mobile-bar-price strong,
  .osl-summary-dl dd,
  .osl-receipt-total,
  .page-head__text,
  .vrc-showprc-pricecost,
  .vrc-showprc-option-cell-price-descr,
  .choices__item,
  .osl-datepicker__summary
) {
  unicode-bidi: plaintext;
}

/* W bloku `plaintext` przestawia też kierunek akapitu, a z nim wyrównanie
   „start” — łacińska nazwa miejsca uciekłaby do lewej krawędzi listy.
   Wyrównanie przypinamy więc fizycznie, tak jak wygląda reszta strony RTL. */

.rtl :is(.car-bookbox__trip dd, .page-head__text, .choices__item) {
  text-align: right;
}

/* Zwinięty pasek wyszukiwania to flex — kolejność dzieci ustala `direction`,
   nie bidi, więc daty zamieniłyby się miejscami („15.10 → 12.10”). */

.rtl .page-head__search-dates {
  direction: ltr;
}

/* Filtry na liście aut: plus/minus stał na prawej krawędzi, czyli tam, gdzie
   w RTL zaczyna się tekst, i nachodził na nazwę grupy. Ikona idzie na lewo,
   a tekst dostaje po tej stronie zapas. */

.rtl .filter .accordion__title {
  padding-left: 1.5rem;
  padding-right: 0px;
}

.rtl .filter .accordion__title::after {
  left: 0px;
  right: auto;
}

/* Kalendarz: w RTL „poprzedni miesiąc” jest po prawej i wskazuje w prawo,
   „następny” po lewej i wskazuje w lewo — tak czyta się miesiące od prawej.
   Pozycje są fizyczne (left/right), więc zamieniamy je wprost, a strzałki
   w SVG odbijamy lustrzanie. */

.rtl .osl-datepicker__nav--prev {
  left: auto;
  right: 1rem;
}

.rtl .osl-datepicker__nav--next {
  left: 1rem;
  right: auto;
}

.rtl .osl-datepicker__nav svg {
  transform: scaleX(-1);
}

/* Pasek wyszukiwania: strzałka listy rozwijanej stała na sztywno po prawej
   (`right-3.5`), czyli tam, gdzie w RTL zaczyna się tekst — zasłaniała nazwę
   miejsca i godzinę. Strzałka idzie na lewo, zapas na nią w polach też,
   a tekst pól wyrównujemy do prawej (w LTR mają jawne `text-left`). */

.rtl .osl-chevron {
  left: 0.875rem;
  right: auto;
}

.rtl .osl-location-select {
  padding-left: 2.5rem;
  padding-right: 1.125rem;
  text-align: right;
}

.rtl .osl-time-select {
  padding-left: 2.25rem;
  padding-right: 1.125rem;
  text-align: right;
}

.rtl .osl-select-wrap .choices__list--single {
  padding-left: 2.5rem !important;
}

.rtl .osl-datefield__trigger {
  text-align: right;
}

/* Wariant „bar” (hero, nagłówek listy) ma własne, specyficzniejsze reguły
   w `search-bar.css` — strzałka `right-3`, pola `px-0 text-left` i zapas na
   strzałkę po prawej. Lustrzane odbicie musi mieć tę samą specyficzność. */

.rtl .osl-search-form--bar .osl-chevron {
  left: 0.75rem;
  right: auto;
}

.rtl .osl-search-form--bar .osl-location-select,
.rtl .osl-search-form--bar .osl-datefield__trigger {
  padding-left: 1.75rem;
  padding-right: 0;
  text-align: right;
}

/* Godzina w LTR nie ma zapasu na strzałkę (`px-0`) — „09:00” jest krótkie,
   a kafelek wąski. Dodatkowy padding ucinał pierwszą cyfrę („)9:00”). */

.rtl .osl-search-form--bar .osl-time-select {
  padding-left: 0px;
  padding-right: 0px;
  text-align: right;
}

.rtl .osl-search-form--bar .osl-select-wrap .choices__list--single {
  padding-left: 1.75rem !important;
  padding-right: 0 !important;
}

/* Wybrana nazwa miejsca jest ucinana wielokropkiem. `unicode-bidi: plaintext`
   (reguła bidi wyżej) psuło to w Safari: tekst ucinał się z prawej, a „…”
   lądowało z lewej („…slo-Sentrum-Norbygata 2”). Nazwy miejsc są łacińskie,
   więc jawny LTR z wyrównaniem do prawej daje poprawne cięcie w obu silnikach. */

.rtl .osl-search-form--bar .osl-select-wrap .choices__list--single .choices__item {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: right;
}

/* Lista aut: odstęp między filtrami a wynikami to `xl:ml-10` na kolumnie
   wyników, czyli margines z lewej. W RTL filtry stoją po prawej, więc odstęp
   lądował po złej stronie i kolumny się sklejały. */

@media (min-width: 1280px) {
  .rtl .section-cars-list .xl\:ml-10 {
    margin-left: 0;
    margin-right: 2.5rem;
  }
}

/* Modal „Viktig informasjon”: marginesy i paddingi są fizyczne (pl/pr, mr),
   więc w RTL zostawały po stronie LTR — X stał obok nagłówka (ml-auto pcha
   w stronę początku wiersza), ikona kleiła się do tekstu, a tytuły odsunięte
   były od prawej krawędzi o miejsce przeznaczone na strzałkę. Strzałka idzie
   na lewo, a tytuł dosuwa się do prawej. */

.rtl .modal-info > .flex {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .flex {
    padding-right: 3.5rem;
  }
}

.rtl .modal-info [data-modal-hide] {
  margin-left: 0px;
  margin-right: auto;
}

.rtl .modal-info > .accordion {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .accordion {
    padding-right: 3.5rem;
  }
}

.rtl .modal-info .accordion__wrapper {
  padding-right: 0px;
  padding-left: 0.75rem;
}

.rtl .modal-info .accordion__title {
  padding-right: 0px;
  padding-left: 2.5rem;
}

.rtl .modal-info .accordion__title img {
  margin-right: 0px;
  margin-left: 1.5rem;
}

/* `translate(-50%)` z globalnej reguły przesuwa strzałkę o pół szerokości
   w lewo — w LTR to ją dosuwa do krawędzi, w RTL wypchnęłoby ją poza nią. */

.rtl .modal-info .accordion__title::after,
.rtl .modal-info .active.accordion__title::after {
  left: 0.5rem;
  right: auto;
}

/* ============================================================
   Widżet wyszukiwania — układ pionowy (hero)
   Pola odwzorowują makietę: etykieta kapitalikami nad ramką pola,
   data i godzina obok siebie w siatce 1fr / 96px.
   ============================================================ */

.osl-search-form-wrap {
  width: 100%;
}

.osl-search-form {
  display: flex;
  flex-direction: column;
  border-radius: var(--r-card);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 1.625rem;
  padding-right: 1.625rem;
  padding-bottom: 1.875rem;
  padding-top: 1.75rem;
}

.rtl .modal-info > .osl-search-form {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-search-form {
    padding-right: 3.5rem;
  }
}

/* ---- Grupa: etykieta + pole ---- */

.osl-form-group {
  margin-bottom: 0.875rem;
}

.osl-form-group label {
  margin-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Kolumna wiersza „data / godzina” — etykieta nad własną ramką pola. */

.osl-datetime-col {
  min-width: 0px;
}

/* Wspólny wygląd ramki pola — używają go select miejsca oraz obie części
   wiersza z datą i godziną. */

.osl-select-wrap,
.osl-date-part,
.osl-time-part {
  position: relative;
  display: flex;
  min-width: 0px;
  align-items: center;
  border-radius: 0.75rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
}

.rtl .modal-info > .osl-select-wrap,.rtl .modal-info > 
.osl-date-part,.rtl .modal-info > 
.osl-time-part {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-select-wrap,.rtl .modal-info > 
.osl-date-part,.rtl .modal-info > 
.osl-time-part {
    padding-right: 3.5rem;
  }
}

.vrcliststartfrom.osl-select-wrap,.vrcliststartfrom
.osl-date-part,.vrcliststartfrom
.osl-time-part {
  top: -0.375rem;
}

.osl-select-wrap,
.osl-date-part,
.osl-time-part {
  height: 3.25rem;
  transition: border-color .2s, box-shadow .2s;
}

.osl-select-wrap:focus-within,
.osl-date-part:focus-within,
.osl-time-part:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  box-shadow: 0 0 0 3px rgb(var(--brand) / .18);
}

/* Makieta nie stawia ikon wewnątrz pól — zostaje sama strzałka listy
   rozwijanej, bez której `appearance: none` nie daje żadnej wskazówki,
   że pole się rozwija. */

.osl-icon-pin,
.osl-icon-cal,
.osl-icon-clock {
  display: none;
}

.osl-chevron {
  pointer-events: none;
  position: absolute;
  right: 0.875rem;
  display: flex;
  align-items: center;
}

.rtl .modal-info > .osl-chevron {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-chevron {
    padding-right: 3.5rem;
  }
}

.osl-chevron {
  top: 50%;
  transform: translateY(-50%);
}

.osl-chevron svg {
  height: 0.5rem;
  width: 0.875rem;
}

.osl-chevron svg path {
  stroke: rgb(var(--muted-soft));
  stroke-width: 2.5;
}

.osl-location-select {
  width: 100%;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-width: 0px;
  background-color: transparent;
  padding-left: 1.125rem;
  font-size: 15px;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  outline: 2px solid transparent;
  outline-offset: 2px;
  padding-right: 2.5rem;
  height: 100%;
  margin: 0;
}

.osl-location-select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

/* ---- Data + godzina ---- */

.osl-datetime-row {
  display: grid;
  min-width: 0px;
  align-items: center;
  gap: 0.5rem;
  /* Kolumna godziny mieści „09:00” razem ze strzałką listy rozwijanej. */
  grid-template-columns: 1fr 7.5rem;
}

/* Pole daty otwiera własny kalendarz (`javascript/modules/date-range-picker.js`)
   — widoczną warstwą jest przycisk, a wartość ISO niesie ukryty input obok
   niego. Natywny `<input type="date">` odpadł, bo jego wygląd jest inny w
   każdej przeglądarce i nie poddaje się stylowaniu. */

.osl-datefield {
  cursor: pointer;
}

.osl-datefield__trigger {
  display: flex;
  height: 100%;
  width: 100%;
  cursor: pointer;
  align-items: center;
  border-width: 0px;
  background-color: transparent;
  padding-left: 1.125rem;
  padding-right: 1.125rem;
  text-align: left;
  font-size: 15px;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.rtl .modal-info > .osl-datefield__trigger {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-datefield__trigger {
    padding-right: 3.5rem;
  }
}

.osl-datefield__trigger {
  border-radius: 0;
  box-shadow: none;
  margin: 0;
}

.osl-datefield__trigger:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.osl-datefield__value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block !important;
}

.osl-time-part {
  justify-content: flex-start;
}

.osl-time-select {
  width: 100%;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-width: 0px;
  background-color: transparent;
  padding-left: 1.125rem;
  text-align: left;
  font-size: 15px;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  outline: 2px solid transparent;
  outline-offset: 2px;
  padding-right: 2.25rem;
  background-image: none;
  height: 100%;
  margin: 0;
  min-width: 0;
  border-radius: 0;
}

.osl-time-select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

/* ---- Komunikat o dostępności terminu ---- */

.osl-slot-msg {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.375rem;
  min-height: 16px;
}

.osl-slot-msg--error {
  --tw-text-opacity: 1;
  color: rgb(var(--danger) / var(--tw-text-opacity));
}

/* ---- Notka pod formularzem ---- */

.osl-form-note {
  margin: 0px;
  margin-top: 0.875rem;
  text-align: center;
  font-size: 12.5px;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* ---- Przycisk ---- */

.osl-submit-btn {
  margin-top: 1rem;
  height: 54px;
  width: 100%;
  cursor: pointer;
  border-radius: var(--r-btn);
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.osl-submit-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

/* ============================================================
   Compact / horizontal layout  (cars list page)
   ============================================================ */

.osl-search-form--compact {
  display: grid;
  grid-template-columns: 1fr 1fr 3.375rem;
  grid-template-rows: auto auto;
  gap: 1rem 1rem;
  align-items: end;
  position: static !important;
  top: 0 !important;
  padding: 1.25rem 1.5rem 1.5rem;
  border: 1px solid rgb(var(--line));
  border-radius: 1rem;
  max-width: 100%;
}

/* Odstępy w tym wariancie daje `gap` siatki — marginesy grup by je podwoiły. */

.osl-search-form--compact .osl-form-group {
  margin-bottom: 0px;
  min-width: 0;
}

/* Title spans full width if present */

.osl-search-form--compact h2 {
  grid-column: 1 / -1;
  grid-row: auto;
}

/* Row 1, col 1-2: location selects */

.osl-search-form--compact .osl-group-pickup-loc {
  grid-column: 1;
  grid-row: 1;
}

.osl-search-form--compact .osl-group-dropoff-loc {
  grid-column: 2 / 4;
  grid-row: 1;
}

/* Row 2: date fields + button */

.osl-search-form--compact .osl-group-pickup-date {
  grid-column: 1;
  grid-row: 2;
}

.osl-search-form--compact .osl-group-dropoff-date {
  grid-column: 2;
  grid-row: 2;
}

/* Hide note text in compact mode */

.osl-search-form--compact .osl-form-note {
  display: none !important;
}

/* Square icon submit button — row 2, col 3 */

.osl-search-form--compact .osl-submit-btn {
  grid-column: 3;
  grid-row: 2;
  align-self: end;
  width: 3.375rem !important;
  height: 3.375rem;
  border-radius: .9375rem;
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

/* ---- Mobile: single column ---- */

@media (max-width: 767px) {
  .osl-search-form--compact {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 1rem;
  }

  .osl-search-form--compact .osl-group-pickup-loc,
    .osl-search-form--compact .osl-group-dropoff-loc,
    .osl-search-form--compact .osl-group-pickup-date,
    .osl-search-form--compact .osl-group-dropoff-date {
    grid-column: 1;
    grid-row: auto;
  }

  .osl-search-form--compact .osl-submit-btn {
    grid-column: 1;
    grid-row: auto;
    width: 100% !important;
    height: 3.375rem;
    border-radius: .9375rem;
  }
}

/* ============================================================
   Elementy wspólne dla sekcji strony
   Jedno miejsce na nadtytuł, nagłówek i lead — poszczególne sekcje
   dokładają już tylko własny układ.
   ============================================================ */

.section-eyebrow {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  display: block !important;
}

.section-eyebrow--on-dark {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.section-heading {
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: clamp(1.625rem, 3.4vw, 2.25rem);
}

.section-heading--on-dark {
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.section-lead {
  margin-bottom: 1.25rem;
  max-width: 62ch;
  font-size: 1rem;
  line-height: 1.75rem;
  line-height: 2;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* ============================================================
   Pas CTA — ciemne tło, treść wyśrodkowana
   ============================================================ */

.cta-band {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
  padding-top: 4rem;
  padding-bottom: 4rem;
  text-align: center;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .cta-band {
    padding-top: 72px;
    padding-bottom: 72px;
  }
}

.cta-band__title {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.875rem;
  max-width: 26ch;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  font-size: clamp(1.5rem, 3.2vw, 2.125rem);
}

.cta-band__text {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.75rem;
  max-width: 56ch;
  font-size: 1rem;
  line-height: 1.75rem;
  line-height: 1.625;
  color: rgb(var(--white) / 0.8);
}

.cta-band__btn {
  display: inline-flex;
  height: 54px;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cta-band__btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

/* ============================================================
   Sekcja „tekst + obraz”
   ============================================================ */

.split-section {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

@media (min-width: 640px) {
  .split-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

/* Kolumny zawijają się na wąskich ekranach — zdjęcie ląduje nad tekstem,
   zamiast znikać (wcześniej było ukrywane poniżej `lg`). */

/* `gap-8` znaczyło tu 1.125rem (a nie 2rem) przez globalny override w
   `utilities.css`, który zbijał też odstęp do zera poniżej 768px. Override
   zniknął, więc zapisujemy zamierzone wartości wprost. */

.split-section__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.rtl .modal-info > .split-section__row {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .split-section__row {
    padding-right: 3.5rem;
  }
}

@media (min-width: 1024px) {
  .split-section__row {
    gap: 50px !important;
  }
}

.split-section__row {
  gap: 1.125rem;
}

@media (max-width: 767px) {
  .split-section__row {
    gap: 0;
  }
}

.split-section__col {
  flex: 1 1 400px;
}

.split-section__art {
  aspect-ratio: 4/3;
  width: 100%;
  border-radius: 24px;
  -o-object-fit: cover;
     object-fit: cover;
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.split-section__subheading {
  margin-bottom: 1rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.split-section__text {
  font-size: 1rem;
  line-height: 1.75rem;
  line-height: 2;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.split-section__text p {
  margin-bottom: 1.25rem;
}

@media (min-width: 1280px) {
  .split-section__text p {
    max-width: 62ch;
  }
}

.split-section__text p:last-child {
  margin-bottom: 0px;
}

.split-section__cta {
  margin-top: 1.75rem;
  display: inline-flex;
  height: 54px;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.split-section__cta:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

/* ============================================================
   Sekcja „tekst + obraz” — markup tego motywu

   `about-us-component.php` buduje sekcję z samych klas narzędziowych,
   więc rytm typograficzny z makiety dokładamy tutaj, zaczepiając się
   o identyfikator sekcji. Sam `#about` podbija swoistość ponad warstwę
   `utilities`, dzięki czemu nadtytuł przejmuje kolor marki — mięta
   (`text-blue-light`) jest wariantem na ciemne tło i na bieli ginie.
   ============================================================ */

#about {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
}

#about .text-blue-light {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  display: block !important;
}

.blog-list--related #about h2 {
  margin-bottom: 2rem;
}

#about h2 {
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: clamp(1.625rem, 3.4vw, 2.25rem);
}

#about h3 {
  margin-bottom: 1rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

#about p {
  margin-bottom: 1.25rem;
  font-size: 1rem;
  line-height: 1.75rem;
  line-height: 2;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

#about p:last-of-type {
  margin-bottom: 0px;
}

#about img {
  width: 100%;
  border-radius: 24px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 4/3;
}

.page-head {
  position: relative;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.vrcliststartfrom.page-head {
  top: -0.375rem;
}

@media (min-width: 640px) {
  .page-head {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}

/* Miękka poświata w rogu, jak w makiecie. */

.page-head::after {
  content: "";
  pointer-events: none;
  position: absolute;
  right: -8rem;
  top: -10rem;
  height: 32.5rem;
  width: 32.5rem;
  border-radius: 9999px;
  background: radial-gradient(circle, rgb(var(--accent) / .26), transparent 68%);
}

.page-head > * {
  position: relative;
  z-index: 1;
}

.vrcliststartfrom.page-head > * {
  top: -0.375rem;
}

.page-head__crumbs {
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: .8125rem;
  color: rgb(var(--white) / 0.6);
}

.rtl .modal-info > .page-head__crumbs {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .page-head__crumbs {
    padding-right: 3.5rem;
  }
}

.page-head__crumbs a {
  color: rgb(var(--white) / 0.6);
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.page-head__crumbs a:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--accent) / var(--tw-text-opacity));
}

.page-head__title {
  margin-bottom: 0.875rem;
  max-width: 24ch;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  font-size: clamp(1.5rem, 3.2vw, 2.25rem);
}

.page-head__text {
  margin: 0px;
  max-width: 62ch;
  font-size: 1rem;
  line-height: 1.75rem;
  line-height: 1.625;
  color: rgb(var(--white) / 0.8);
}

/* Wariant z paskiem wyszukiwania (lista aut). Tytuł stoi bliżej okruszków,
   bo pod nim jest jeszcze widżet — bez tego nagłówek robił się bardzo wysoki. */

.page-head--search {
  padding-bottom: 2rem;
}

@media (min-width: 640px) {
  .page-head--search {
    padding-bottom: 2.5rem;
  }
}

.page-head--search .page-head__title {
  margin-bottom: 0.5rem;
}

.page-head--search .page-head__text {
  margin-bottom: 0px;
}

.page-head__search {
  margin-top: 1.75rem;
}

/* Zwinięty pasek wyszukiwania na telefonie (lista aut po wyszukiwaniu).
   Od `md` pigułki nie ma, a formularz jest zawsze widoczny. */

.page-head__search-toggle {
  margin-top: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-radius: var(--r-btn);
  background-color: rgb(var(--white) / 0.1);
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  padding-left: 1rem;
  padding-right: 0.625rem;
}

.rtl .modal-info > .page-head__search-toggle {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .page-head__search-toggle {
    padding-right: 3.5rem;
  }
}

.page-head__search-toggle[hidden] {
  display: none;
}

.page-head__search-dates {
  margin: 0px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  font-size: .9375rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.rtl .modal-info > .page-head__search-dates {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .page-head__search-dates {
    padding-right: 3.5rem;
  }
}

.page-head__search-dates span {
  color: rgb(var(--white) / 0.6);
}

.page-head__search-edit {
  flex-shrink: 0;
  cursor: pointer;
  border-radius: var(--r-btn);
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.page-head__search-edit:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--accent) / var(--tw-bg-opacity));
}

@media (max-width: 767px) {
  .page-head__search.is-collapsible:not(.is-open) {
    display: none;
  }

  .page-head__search.is-collapsible.is-open {
    margin-top: 1.25rem;
  }
}

@media (min-width: 768px) {
  .page-head__search-toggle {
    display: none;
  }
}

/* article */

.wp-block-quote p {
  padding-right: 3rem;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.25rem;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .wp-block-quote p {
    font-size: 1.5rem;
    line-height: 2.375rem;
  }
}

article p:not(#breadcrumbs) a {
  text-decoration: none !important;
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(var(--deep) / var(--tw-text-opacity));
}

article p:not(#breadcrumbs) a:hover {
  text-decoration-line: underline !important;
}

@media (min-width: 640px) {
  article p:not(#breadcrumbs) a {
    font-size: 1rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1536px) {
  .wp-block-media-text .wp-block-media-text__content {
    padding: 0px;
  }
}

@media (min-width: 1200px) {
  .wp-block-media-text:not(.has-media-on-the-right) figure {
    max-width: 34.5625rem;
  }
}

.has-media-on-the-right .wp-block-media-text__content {
  padding: 0 11% 0 0;
}

article p.text-cite {
  font-size: 0.875rem !important;
  line-height: 20px !important;
}

@media (min-width: 640px) {
  article p.text-cite {
    font-size: 1.5rem !important;
    line-height: 2.375rem !important;
  }
}

@media (max-width: 992px) {
  .wp-block-media-text {
    grid-template-columns: 100% !important;
  }

  .wp-block-media-text .wp-block-media-text__content,
  .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
    grid-column: 1 !important;
  }

  .wp-block-media-text .wp-block-media-text__content {
    grid-row: auto !important;
    padding: 0px;
  }
}

.splide__container {
  box-sizing: border-box;
  position: relative
}

.splide__list {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
  display: none
}

.splide__progress__bar {
  width: 0
}

.splide {
  position: relative;
  visibility: hidden
}

.splide.is-initialized,
.splide.is-rendered {
  visibility: visible
}

.splide__slide {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative
}

.splide__slide img {
  vertical-align: bottom
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0
}

@keyframes splide-loading {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(1turn)
  }
}

.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
  opacity: 1;
  z-index: 1
}

.splide--rtl {
  direction: rtl
}

.splide__track--ttb>.splide__list {
  display: block
}

.splide__arrow {
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 2em;
  justify-content: center;
  opacity: .7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em
}

.splide__arrow:hover:not(:disabled) {
  opacity: .9
}

.splide__arrow:disabled {
  opacity: .3
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px
}

.splide__arrow--prev {
  left: 1em
}

.splide__arrow--prev svg {
  transform: scaleX(-1)
}

.splide__arrow--next {
  right: 1em
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px
}

.splide__pagination {
  bottom: -5.275em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1
}

@media (max-width: 660px) {
  .splide__pagination {
    bottom: -3.875em;
  }
}

.splide__pagination__page {
  background: transparent;
  border: 1px solid rgb(var(--brand));
  border-radius: 50%;
  display: inline-block;
  height: 10px;
  margin: 0 5px;
  padding: 0;
  position: relative;
  transition: transform .2s linear, opacity .2s linear;
  width: 10px;
}

.splide__pagination__page.is-active {
  background: rgb(var(--brand));
  z-index: 1
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: .9
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px
}

.splide__progress__bar {
  background: #ccc;
  height: 3px
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.splide__slide:focus {
  outline: 0
}

@supports(outline-offset:-3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px
  }
}

@media screen and (-ms-high-contrast:none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf
  }
}

@supports(outline-offset:-3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px
  }
}

@media screen and (-ms-high-contrast:none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf
  }

  .splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus {
    border-color: #0bf
  }
}

.splide__toggle {
  cursor: pointer
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px
}

.splide__track--nav>.splide__list>.splide__slide {
  border: 3px solid transparent;
  cursor: pointer
}

.splide__track--nav>.splide__list>.splide__slide.is-active {
  border: 3px solid #000
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1)
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1)
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%)
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg)
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg)
}

.splide__pagination--ttb {
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: .5em;
  top: 0
}

.section-testimonials .splide__slide::after {
  background: url('template-parts/assets/images/icons/icon-cite.svg') no-repeat;
}

/* Na ciemnym tle teal ginie — tam kropki idą w kolorze akcentu. */

.vrc-premium-bg .splide__pagination__page {
  border-color: rgb(var(--accent));
}

.vrc-premium-bg .splide__pagination__page.is-active {
  background: rgb(var(--accent));
}

/* ============================================================
   KROKI — „jak to działa” w trzech punktach

   Wygląd przeniesiony z motywu `leiebiloslo`, ale selektory celują
   w markup tego motywu (`#terms.section-icon` + `.icons`), bo szablony
   pozostają nietknięte. Stąd zaczepienie o `#terms` — sekcja niesie
   w atrybucie `class` klasy narzędziowe Tailwinda (`pt-16`, `pb-8`),
   a te wchodzą do arkusza po warstwie `components`; identyfikator
   podbija swoistość na tyle, by odstępy z makiety wygrały.
   ============================================================ */

/* Ukośne ścięcie dolnej krawędzi. W odróżnieniu od makiety nie wciągamy
   następnej sekcji ujemnym marginesem: kolejność sekcji ustawia redaktor
   w polu elastycznym, więc nie wiadomo, co znajdzie się pod spodem. */

#terms.section-icon {
  position: relative;
  z-index: 2;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center;
}

.vrcliststartfrom#terms.section-icon {
  top: -0.375rem;
}

#terms.section-icon {
  padding: 6.5rem 0 8.25rem;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 78px));
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 78px));
}

/* Gradient marki. Leży nad zdjęciem tła wstawionym w atrybucie `style`,
   dlatego zdjęcie pozostaje czytelne, a sekcja trzyma kolorystykę
   z makiety — bez walki o nadpisanie stylu inline.

   Dwie warstwy zamiast jednej: pod spodem sam granat, a róż wchodzi
   dopiero z przezroczystością w prawym górnym rogu. Dzięki temu
   przejście jest łagodne i nie odciąga uwagi od treści sekcji. */

#terms.section-icon::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0px;
  z-index: 0;
  background:
    linear-gradient(
      105deg,
      transparent 45%,
      rgb(var(--brand) / .18) 78%,
      rgb(var(--brand) / .38) 100%
    ),
    linear-gradient(
      105deg,
      rgb(var(--deep-2)) 0%,
      rgb(var(--deep)) 100%
    );
  opacity: .9;
}

#terms.section-icon > * {
  position: relative;
  z-index: 1;
}

.vrcliststartfrom#terms.section-icon > * {
  top: -0.375rem;
}

/* Nadtytuł i nagłówek sekcji — wspólny rytm z pozostałymi sekcjami. */

#terms.section-icon > .container > div:first-child > span {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  display: block !important;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

#terms.section-icon > .container > div:first-child > h2 {
  margin-bottom: 4rem;
}

.blog-list--related #terms.section-icon > .container > div:first-child > h2 {
  margin-bottom: 2rem;
}

#terms.section-icon > .container > div:first-child > h2 {
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: clamp(1.625rem, 3.4vw, 2.25rem);
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

/* Siatka kroków. Szablon daje jej klasy `grid sm:grid-cols-3` — tutaj
   zostają już tylko szerokość i odstępy zgodne z makietą.

   Celujemy w nią przez pozycję, a nie przez klasę `.grid`: nazwa klasy
   narzędziowej użyta w selektorze jest dla Tailwinda jej redefinicją,
   więc każde `@apply grid` w motywie wciągałoby te reguły ze sobą. */

#terms > .container > div:last-child > div {
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
  align-items: flex-start;
  row-gap: 2.75rem;
}

@media (min-width: 768px) {
  #terms > .container > div:last-child > div {
    row-gap: 0px;
  }
}

.section-icon .icons {
  position: relative;
  padding-left: 1rem;
  padding-right: 1rem;
}

.vrcliststartfrom.section-icon .icons {
  top: -0.375rem;
}

/* Ikona kroku. W tym motywie szablon renderuje samo `<img>` — bez
   kontenera, który w `leiebiloslo` niósł ramkę — więc kafelek budujemy
   na samym obrazku: stałe pole 114×114 z wewnętrznym marginesem. */

.section-icon .icons img {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
  height: 114px;
  width: 114px;
  border-radius: 22px;
  border-style: solid;
  border-color: rgb(var(--white) / 0.5);
  background-color: rgb(var(--white) / 0.05);
  -o-object-fit: contain;
     object-fit: contain;
  border-width: 1.5px;
  padding: 35px;
  transition: background-color .3s ease, border-color .3s ease, transform .3s ease;
}

.section-icon .icons:hover img {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-border-opacity: 1;
  border-color: rgb(var(--white) / var(--tw-border-opacity));
  background-color: rgb(var(--white) / 0.1);
}

.section-icon .icons h4 {
  margin-bottom: 0.75rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.section-icon .icons p {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0px;
  max-width: 30ch;
  font-size: 15px;
  line-height: 1.625;
  color: rgb(var(--white) / 0.8);
}

@media (max-width: 767px) {
  #terms.section-icon {
    padding: 3.5rem 0 5rem;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 44px));
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 44px));
  }
}

/* ============================================================
   OPINIE

   Sekcja dostaje to samo tło, co pas „Mobility CTA” — jednolity
   granat z palety. Szablon wstawia zdjęcie tła i półprzezroczysty
   granat w atrybucie `style`, więc nadpisanie wymaga `!important`;
   to jedyny sposób, by sięgnąć stylu inline bez ruszania szablonu.
   ============================================================ */

#testimonials.section-testimonials {
  background: rgb(var(--deep)) !important;
}

/* Nadtytuł i nagłówek — wspólny rytm z pozostałymi sekcjami na ciemnym tle. */

#testimonials.section-testimonials .text-blue-light {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  display: block !important;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.blog-list--related #testimonials.section-testimonials h2 {
  margin-bottom: 2rem;
}

#testimonials.section-testimonials h2 {
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: clamp(1.625rem, 3.4vw, 2.25rem);
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.page-template-template-tuttut #terms:after {
  content: "";
  position: absolute;
  top: 0;
  left: -50px;
  background: linear-gradient(246deg, #10CEFF 0%, #003D8C 100%) no-repeat;
  opacity: 1;
  transform: skewY(4deg);
  width: 2000px;
  height: 660px;
  z-index: -1;
  background-size: cover;
}

@media (max-width: 767px) {
  .page-template-template-tuttut #terms:after {
    transform: skew(0);
    height: 100%
  }
}

.page-template-template-tuttut #video:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  height: 318px;
  width: 100%;
  background: #F2F2F2;
  z-index: -2;
}

.page-template-template-tuttut .video-container {
  position: relative;
  display: flex;
  height: 470px;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
}

.rtl .modal-info > .page-template-template-tuttut .video-container {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .page-template-template-tuttut .video-container {
    padding-right: 3.5rem;
  }
}

.vrcliststartfrom.page-template-template-tuttut .video-container {
  top: -0.375rem;
}

.page-template-template-tuttut .video-overlay {
  position: relative;
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.rtl .modal-info > .page-template-template-tuttut .video-overlay {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .page-template-template-tuttut .video-overlay {
    padding-right: 3.5rem;
  }
}

.vrcliststartfrom.page-template-template-tuttut .video-overlay {
  top: -0.375rem;
}

.page-template-template-tuttut .background-img {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  z-index: -1;
  margin-left: auto;
  margin-right: auto;
}

.page-template-template-tuttut .play-button {
  display: flex;
  height: 60px;
  width: 60px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border-style: none;
}

.rtl .modal-info > .page-template-template-tuttut .play-button {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .page-template-template-tuttut .play-button {
    padding-right: 3.5rem;
  }
}

.page-template-template-tuttut .play-button {
  background-color: rgba(255, 255, 255, 0.8);
}

.page-template-template-tuttut .video-text h3 {
  font-size: 1.5rem;
  line-height: 2rem;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.page-template-template-tuttut .video-text p {
  font-size: 1rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

@media(max-width: 767px) {
  .page-template-template-tuttut #map {
    background: transparent!important
  }
}

/**
 * Custom styles to immediately follow Tailwind’s `components` layer
 *
 * “Add more opinionated, complex classes like buttons, form controls, alerts,
 * etc; the sort of pre-built components you often see in other frameworks that
 * you might need to override with utility classes.”
 *
 * — from https://tailwindcss.com/docs/plugins#adding-components
 */

/**
 * Post title styles
 *
 * These will be applied to all headings with a `page-title` or `entry-title`
 * class on the frontend and to the post title in the block editor.
 *
 * The supplied styles are meant to match the default `h1` classes from
 * Tailwind Typography.
 */

.page-title,
.entry-title {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
  max-width: 40rem;
  font-size: 2rem;
  line-height: 2.875rem;
  font-weight: 800;
  --tw-text-opacity: 1;
  color: rgb(23 23 23 / var(--tw-text-opacity));
}

/**
 * Layout styles for centered content areas
 *
 * If you are controlling the width of your content area with styles applied
 * to its container, you can delete the following styles whose selectors begin
 * with `.page-content >` and `.entry-content >`. For more details, please see
 * the following:
 *
 * https://make.wordpress.org/core/2021/06/29/on-layout-and-content-width-in-wordpress-5-8/
 */

.single .page-content>*,
.single .entry-content>* {
  /* Content width from the `theme.json` file */
  margin-left: auto;
  margin-right: auto;
  max-width: 56rem;
}

.entry-content>.alignwide {
  /* Wide width from the `theme.json` file */
  max-width: 100%;
}

.entry-content>.alignfull {
  max-width: none;
}

.entry-content>.alignleft {
  float: left;
  margin-right: 2rem;
}

.entry-content>.alignright {
  float: right;
  margin-left: 2rem;
}

.prose:where(p):not(:where([class~="not-prose"] *)) {
  margin-top: 1em !important;
}

.prose:where(h3):not(:where([class~="not-prose"] *)) {
  font-size: 1.5rem !important;
}

.prose:where(h3):not(:where([class~="not-prose"] *)),
.prose:where(h4):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1em;
}

.prose:where(ul):not(:where([class~="not-prose"] *)),
.wysiwyg-content ul {
  padding-left: 1.25em;
  margin-bottom: 1.75em;
}

.prose:where(ul > li):not(:where([class~="not-prose"] *))::marker,
article ul li::marker {
  line-height: 0 !important;
  height: 0.5rem;
  width: 0.5rem;
  font-size: 1.5rem;
  line-height: 2rem;
  --tw-text-opacity: 1;
  color: rgb(var(--accent) / var(--tw-text-opacity));
}

#breadcrumbs.prose:where(ul > li):not(:where([class~="not-prose"] *))::marker,#breadcrumbs
article ul li::marker {
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

#about .prose:where(ul > li):not(:where([class~="not-prose"] *))::marker,#about 
article ul li::marker {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  display: block !important;
}

#testimonials.section-testimonials .prose:where(ul > li):not(:where([class~="not-prose"] *))::marker,#testimonials.section-testimonials 
article ul li::marker {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  display: block !important;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.wysiwyg-content ul {
  list-style: disc;
}

.wysiwyg-content ul li {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose:where(blockquote):not(:where([class~="not-prose"] *)) {
  border-left-width: 0.5rem;
  border-left-color: rgb(var(--brand));
  padding-left: 1.7em;
  margin-bottom: 4.75rem;
}

.prose:where(hr):not(:where([class~="not-prose"] *)) {
  margin-top: 4.2em;
  margin-bottom: 2.5em;
}

.prose:where(a):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0.625rem;
  display: inline-block;
  font-weight: 400;
  text-decoration-line: none;
}

.prose:where(a):not(:where([class~="not-prose"] *)):hover {
  text-decoration-line: underline !important;
}

/**
 * This injects Tailwind's utility classes and any utility classes registered
 * by plugins, then adds custom utility classes.
 */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.visible {
  visibility: visible;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

.inset-x-0 {
  left: 0px;
  right: 0px;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-4 {
  bottom: 1rem;
}

.left-0 {
  left: 0px;
}

.left-1\/2 {
  left: 50%;
}

.left-4 {
  left: 1rem;
}

.left-\[30px\] {
  left: 30px;
}

.right-0 {
  right: 0px;
}

.right-4 {
  right: 1rem;
}

.right-5 {
  right: 1.25rem;
}

.top-0 {
  top: 0px;
}

.top-1\/2 {
  top: 50%;
}

.top-4 {
  top: 1rem;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-50 {
  z-index: 50;
}

.z-\[9997\] {
  z-index: 9997;
}

.z-\[9999\] {
  z-index: 9999;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.mx-0 {
  margin-left: 0px;
  margin-right: 0px;
}

.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.mx-5 {
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-10 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.-ml-10 {
  margin-left: -2.5rem;
}

.-ml-5 {
  margin-left: -1.25rem;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-10 {
  margin-bottom: 2.5rem;
}

.mb-11 {
  margin-bottom: 2.75rem;
}

.mb-15 {
  margin-bottom: 0.938rem;
}

.mb-16 {
  margin-bottom: 4rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-2\.5 {
  margin-bottom: 0.625rem;
}

.mb-20 {
  margin-bottom: 5rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-3\.5 {
  margin-bottom: 0.875rem;
}

.mb-32 {
  margin-bottom: 8rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-5 {
  margin-bottom: 1.25rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-7 {
  margin-bottom: 1.75rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mb-9 {
  margin-bottom: 2.25rem;
}

.me-0 {
  -webkit-margin-end: 0px;
          margin-inline-end: 0px;
}

.ml-1 {
  margin-left: 0.25rem;
}

.ml-4 {
  margin-left: 1rem;
}

.ml-auto {
  margin-left: auto;
}

.mr-1 {
  margin-right: 0.25rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mr-2\.5 {
  margin-right: 0.625rem;
}

.mr-3 {
  margin-right: 0.75rem;
}

.mr-4 {
  margin-right: 1rem;
}

.mr-5 {
  margin-right: 1.25rem;
}

.mr-6 {
  margin-right: 1.5rem;
}

.mr-auto {
  margin-right: auto;
}

.ms-auto {
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}

.mt-0 {
  margin-top: 0px;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-1\.5 {
  margin-top: 0.375rem;
}

.mt-10 {
  margin-top: 2.5rem;
}

.mt-11 {
  margin-top: 2.75rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-2\.5 {
  margin-top: 0.625rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-7 {
  margin-top: 1.75rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mt-9 {
  margin-top: 2.25rem;
}

.mt-auto {
  margin-top: auto;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.aspect-video {
  aspect-ratio: 16 / 9;
}

.h-1 {
  height: 0.25rem;
}

.h-4 {
  height: 1rem;
}

.h-8 {
  height: 2rem;
}

.h-\[1\.125rem\] {
  height: 1.125rem;
}

.h-\[35px\] {
  height: 35px;
}

.h-\[39px\] {
  height: 39px;
}

.h-\[45px\] {
  height: 45px;
}

.h-\[54px\] {
  height: 54px;
}

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.max-h-0 {
  max-height: 0px;
}

.max-h-10 {
  max-height: 2.5rem;
}

.max-h-\[101px\] {
  max-height: 101px;
}

.max-h-\[90vh\] {
  max-height: 90vh;
}

.max-h-\[95vh\] {
  max-height: 95vh;
}

.min-h-screen {
  min-height: 100vh;
}

.w-1\/2 {
  width: 50%;
}

.w-10 {
  width: 2.5rem;
}

.w-11\/12 {
  width: 91.666667%;
}

.w-4 {
  width: 1rem;
}

.w-44 {
  width: 11rem;
}

.w-56 {
  width: 226px;
}

.w-7\/12 {
  width: 58.333333%;
}

.w-8 {
  width: 2rem;
}

.w-9 {
  width: 2.25rem;
}

.w-9\/12 {
  width: 75%;
}

.w-\[1\.125rem\] {
  width: 1.125rem;
}

.w-\[35px\] {
  width: 35px;
}

.w-\[64\%\] {
  width: 64%;
}

.w-\[66px\] {
  width: 66px;
}

.w-auto {
  width: auto;
}

.w-full {
  width: 100%;
}

.min-w-0 {
  min-width: 0px;
}

.min-w-\[111px\] {
  min-width: 111px;
}

.min-w-\[134px\] {
  min-width: 134px;
}

.min-w-\[226px\] {
  min-width: 226px;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-\[101px\] {
  max-width: 101px;
}

.max-w-\[33\.75rem\] {
  max-width: 33.75rem;
}

.max-w-\[90vw\] {
  max-width: 90vw;
}

.max-w-\[92\%\] {
  max-width: 92%;
}

.max-w-full {
  max-width: 100%;
}

.max-w-max {
  max-width: -moz-max-content;
  max-width: max-content;
}

.max-w-none {
  max-width: none;
}

.max-w-xs {
  max-width: 20rem;
}

.flex-auto {
  flex: 1 1 auto;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.shrink-0 {
  flex-shrink: 0;
}

.basis-3\/12 {
  flex-basis: 25%;
}

.basis-6\/12 {
  flex-basis: 50%;
}

.basis-full {
  flex-basis: 100%;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.cursor-pointer {
  cursor: pointer;
}

.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.resize {
  resize: both;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.flex-row {
  flex-direction: row;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-10 {
  gap: 2.5rem;
}

.gap-12 {
  gap: 3rem;
}

.gap-16 {
  gap: 4rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 20px;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-9 {
  gap: 2.25rem;
}

.gap-\[15px\] {
  gap: 15px;
}

.gap-y-3 {
  row-gap: 0.75rem;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-clip {
  overflow-x: clip;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-\[\.3125rem\] {
  border-radius: .3125rem;
}

.rounded-\[47px\] {
  border-radius: 47px;
}

.rounded-\[5px\] {
  border-radius: 5px;
}

.rounded-\[8px\] {
  border-radius: 8px;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-md {
  border-radius: var(--r-card);
}

.rounded-sm {
  border-radius: var(--r-btn);
}

.rounded-b-sm {
  border-bottom-right-radius: var(--r-btn);
  border-bottom-left-radius: var(--r-btn);
}

.border {
  border-width: 1px;
}

.border-2 {
  border-width: 2px;
}

.border-3 {
  border-width: 3px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-l-0 {
  border-left-width: 0px;
}

.border-r-0 {
  border-right-width: 0px;
}

.border-t {
  border-top-width: 1px;
}

.border-t-0 {
  border-top-width: 0px;
}

.border-solid {
  border-style: solid;
}

.border-\[\#e5e5e5\] {
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity));
}

.border-blue-light {
  --tw-border-opacity: 1;
  border-color: rgb(var(--accent) / var(--tw-border-opacity));
}

.border-border-gray {
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
}

.border-border-green {
  --tw-border-opacity: 1;
  border-color: rgb(var(--legacy-border-green) / var(--tw-border-opacity));
}

.border-danger {
  --tw-border-opacity: 1;
  border-color: rgb(var(--danger) / var(--tw-border-opacity));
}

.border-green {
  --tw-border-opacity: 1;
  border-color: rgb(var(--legacy-green) / var(--tw-border-opacity));
}

.border-neutral-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity));
}

.border-red {
  --tw-border-opacity: 1;
  border-color: rgb(var(--danger) / var(--tw-border-opacity));
}

.border-b-border-gray {
  --tw-border-opacity: 1;
  border-bottom-color: rgb(var(--line) / var(--tw-border-opacity));
}

.border-b-neutral-200 {
  --tw-border-opacity: 1;
  border-bottom-color: rgb(229 229 229 / var(--tw-border-opacity));
}

.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--black) / var(--tw-bg-opacity));
}

.bg-black\/60 {
  background-color: rgb(var(--black) / 0.6);
}

.bg-black\/90 {
  background-color: rgb(var(--black) / 0.9);
}

.bg-blue-light {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--accent) / var(--tw-bg-opacity));
}

.bg-deep {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
}

.bg-gray-light {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
}

.bg-grey-bg {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
}

.bg-pink {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
}

.bg-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--deep) / var(--tw-bg-opacity));
}

.bg-surface {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
}

.bg-transparent {
  background-color: transparent;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
}

.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}

.px-9 {
  padding-left: 2.25rem;
  padding-right: 2.25rem;
}

.px-\[23px\] {
  padding-left: 23px;
  padding-right: 23px;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-11 {
  padding-top: 2.75rem;
  padding-bottom: 2.75rem;
}

.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-\[13px\] {
  padding-top: 13px;
  padding-bottom: 13px;
}

.pb-10 {
  padding-bottom: 2.5rem;
}

.pb-11 {
  padding-bottom: 2.75rem;
}

.pb-12 {
  padding-bottom: 3rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-20 {
  padding-bottom: 5rem;
}

.pb-24 {
  padding-bottom: 6rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-7 {
  padding-bottom: 1.75rem;
}

.pb-8 {
  padding-bottom: 2rem;
}

.pb-\[80px\] {
  padding-bottom: 80px;
}

.pl-4 {
  padding-left: 1rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pr-24 {
  padding-right: 6rem;
}

.pr-3 {
  padding-right: 0.75rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pt-10 {
  padding-top: 2.5rem;
}

.pt-11 {
  padding-top: 2.75rem;
}

.pt-12 {
  padding-top: 3rem;
}

.pt-16 {
  padding-top: 4rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-24 {
  padding-top: 6rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-5 {
  padding-top: 1.25rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

.pt-9 {
  padding-top: 2.25rem;
}

.pt-\[55px\] {
  padding-top: 55px;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.\!text-3xl {
  font-size: 2rem !important;
  line-height: 2.875rem !important;
}

.\!text-mediumHeading {
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl {
  font-size: 2rem;
  line-height: 2.875rem;
}

.text-5xl {
  font-size: 6rem;
  line-height: 6.875rem;
}

.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}

.text-\[1\.5rem\] {
  font-size: 1.5rem;
}

.text-\[32px\] {
  font-size: 32px;
}

.text-base {
  font-size: 1rem;
  line-height: 1.75rem;
}

.text-large {
  font-size: 1.25rem;
  line-height: 2.375rem;
}

.text-links {
  font-size: 1rem;
  line-height: 1.875rem;
}

.text-medium {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-mlinks {
  font-size: 0.875rem;
  line-height: 2.125rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 20px;
}

.text-small {
  font-size: 1rem;
  line-height: 1.1875rem;
}

.text-spacing {
  font-size: 0.875rem;
  line-height: 1.75rem;
}

.text-xl {
  font-size: 1.5rem;
  line-height: 1.75rem;
}

.text-xs {
  font-size: 0.875rem;
  line-height: 1.375rem;
}

.\!font-normal {
  font-weight: 400 !important;
}

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.italic {
  font-style: italic;
}

.not-italic {
  font-style: normal;
}

.leading-7 {
  line-height: 1.75rem;
}

.leading-\[1\.75rem\] {
  line-height: 1.75rem;
}

.leading-none {
  line-height: 1;
}

.tracking-08 {
  letter-spacing: 0.8px;
}

.tracking-\[0\.8px\] {
  letter-spacing: 0.8px;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.\!text-white {
  --tw-text-opacity: 1 !important;
  color: rgb(var(--white) / var(--tw-text-opacity)) !important;
}

.text-black {
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.text-blue-light {
  --tw-text-opacity: 1;
  color: rgb(var(--accent) / var(--tw-text-opacity));
}

.text-danger {
  --tw-text-opacity: 1;
  color: rgb(var(--danger) / var(--tw-text-opacity));
}

.text-gray {
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.text-gray-dark {
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.text-green {
  --tw-text-opacity: 1;
  color: rgb(var(--legacy-green) / var(--tw-text-opacity));
}

.text-pink {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.text-primary {
  --tw-text-opacity: 1;
  color: rgb(var(--deep) / var(--tw-text-opacity));
}

.text-red {
  --tw-text-opacity: 1;
  color: rgb(var(--danger) / var(--tw-text-opacity));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.underline {
  text-decoration-line: underline;
}

.underline-offset-2 {
  text-underline-offset: 2px;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-70 {
  opacity: 0.7;
}

.bg-blend-multiply {
  background-blend-mode: multiply;
}

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.content-none {
  --tw-content: none;
  content: var(--tw-content);
}

/**
 * Custom styles to immediately follow Tailwind’s `utilities` layer
 *
 * Add your own utility classes to this theme. Complex utility classes should
 * be added using Tailwind’s plugin system:
 *
 * https://tailwindcss.com/docs/plugins#adding-utilities
 */

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gap-8 {
  gap: 1.125rem;
}

@media (max-width: 768px) {
  .grid-cols-3,
  .grid-cols-2 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .gap-8 {
    gap: 0;
  }
}

h1 {
  position: relative;
  font-size: 2rem;
  line-height: 2.875rem;
  font-weight: 700;
}

h1.vrcliststartfrom {
  top: -0.375rem;
}

@media (min-width: 1280px) {
  h1 {
    font-size: 4.5rem;
    line-height: 1;
    line-height: 90px;
  }
}

h2 {
  margin-bottom: 2rem;
  margin-top: 0.75rem;
}

h2, 
.h2 {
  font-size: 2rem;
  line-height: 2.875rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

@media (min-width: 1280px) {
  h2, 
.h2 {
    font-size: 3rem;
    line-height: 3.75rem;
  }
}

h3,
.h3 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

@media (min-width: 1280px) {
  h3,
.h3 {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }
}

h4,
.h4 {
  font-size: 1.25rem;
  line-height: 2.375rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

h5,
.h5 {
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  h5,
.h5 {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}

h6,
.h6 {
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

@media (min-width: 1280px) {
  h6,
.h6 {
    font-size: 1rem;
    line-height: 1.1875rem;
  }
}

p {
  margin-bottom: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  p {
    font-size: 1rem;
    line-height: 1.75rem;
  }
}

.p-large {
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--deep) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .p-large {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}

.p-spacing-sm {
  font-size: 1rem;
  line-height: 1.375rem;
  letter-spacing: 0.05em;
}

.p-spacing-md {
  font-size: 0.875rem;
  line-height: 1.75rem;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .p-spacing-md {
    font-size: 1rem;
    line-height: 1.875rem;
  }
}

article h5 {
  line-height: 2.125rem;
}

article h3,
article h4 {
  font-weight: 700;
}

article h6 {
  font-weight: 400 !important;
  text-decoration-line: none !important;
}

html {
  scroll-behavior: smooth;
}

section {
  scroll-margin-top: 7rem;
}

@media (min-width: 768px) {
  .home .size-medium {
    display: none !important;
  }
}

.box-shadow-left {
  box-shadow: -33px -34px 0px 0px rgba(16, 206, 255, 1);
}

.box-shadow-right {
  box-shadow: 33px -34px 0px 0px rgba(16, 206, 255, 1);
}

/* accordion */

.accordion__title::after {
  background: url('template-parts/assets/images/icons/angle-down-circle.svg') no-repeat;
  width: 33px;
  height: 33px;
  transform: translate(-50%, -50%);
}

.active.accordion__title::after {
  background: url('template-parts/assets/images/icons/angle-down-active.svg') no-repeat;
  width: 33px;
  height: 33px;
}

aside {
  width: 100%;
}

@media (min-width: 1280px) {
  aside {
    width: 360px;
  }

  aside + div {
    margin-left: 3rem;
  }
}

aside img {
  max-height: 24rem;
  width: 100%;
  border-top-left-radius: var(--r-btn);
  border-top-right-radius: var(--r-btn);
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

@media (min-width: 1280px) {
  aside img {
    max-height: 100%;
  }
}

button[data-modal-target] {
  font-size: 0.875rem;
  line-height: 20px;
}

@media (min-width: 640px) {
  button[data-modal-target] {
    font-size: 1rem;
    line-height: 1.375rem;
  }
}

.tab-content.active {
  display: flex;
}

.rtl .modal-info > .tab-content.active {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .tab-content.active {
    padding-right: 3.5rem;
  }
}

.color-black {
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

.border-pink {
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--brand) / var(--tw-border-opacity)) !important;
}

.block {
  display: block !important;
}

header {
  position: sticky;
  top: 0px;
  z-index: 50;
  width: 100%;
}

.anchor {
  display: block;
  position: relative;
  top: -100px;
}

/* Custom Components */

/* Plugins */

/* Pages */

/* ============================================================
   Lista wyników wyszukiwania — siatka kafli

   Karta jest odpowiednikiem kafla ze slajdera na stronie głównej
   (`components/cars.css`): ten sam kadr zdjęcia, pigułki wyposażenia
   i stopka z ceną. Różni ją tylko dodatkowa lista opcji i para
   przycisków akcji.

   Wcześniej wyniki były listą kart w układzie poziomym (zdjęcie po
   lewej, treść po prawej), po jednej w rzędzie.
   ============================================================ */

.vrc-search-results-block {
  margin-top: 0.5rem;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.25rem;
}

@media (min-width: 640px) {
  .vrc-search-results-block {
    margin-top: 0px;
  }
}

@media (min-width: 768px) {
  .vrc-search-results-block {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .vrc-search-results-block {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Komunikaty „brak wyników” nie są kaflami — mają zająć całą szerokość. */

.vrc-search-results-block > p {
  grid-column: 1 / -1;
}

/* Strona „Cars List” trzyma się dwóch kolumn. To tam obok wyników stoi
   panel filtrów, więc trzeci kafel schodziłby poniżej czytelnej
   szerokości; pozostałe widoki (archiwum kategorii, strony z listą
   w treści) idą pełną szerokością i zostają przy trzech. */

@media (min-width: 1024px) {
  .page-template-template-carslist .vrc-search-results-block {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.car_result {
  margin: 0px;
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
}

.rtl .modal-info > .car_result {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car_result {
    padding-right: 3.5rem;
  }
}

.car_result {
  transition: transform .3s ease, box-shadow .3s ease;
}

.car_result:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* --- Zdjęcie --- */

.vrc-car-result-left {
  position: relative;
  margin-left: 0px;
  margin-right: 0px;
  aspect-ratio: 16 / 9;
  width: 100%;
  flex-shrink: 0;
  overflow: hidden;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 0px;
  padding-right: 0px;
}

.vrcliststartfrom.vrc-car-result-left {
  top: -0.375rem;
}

@media (min-width: 768px) {
  .vrc-car-result-left {
    aspect-ratio: 4/3;
  }
}

.vrc-car-result-left > a {
  height: 100%;
  width: 100%;
  display: block !important;
}

/* Zdjęcia floty to ujęcia na jednolitym tle — kadrowanie ucinałoby
   nadwozie, więc mieszczą się w całości. */

.car_result .imgresult {
  margin: 0px;
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  padding: 0.75rem;
  min-height: 0 !important;
  transition: transform .5s ease;
}

.car_result:hover .imgresult {
  transform: scale(1.045);
}

/* --- Treść --- */

/* Kolumna treści wypełnia resztę wysokości kafla, żeby stopka mogła
   zostać dociśnięta do dołu. */

.vrc-car-result-right {
  display: flex;
  min-width: 0px;
  flex: 1 1 0%;
  flex-direction: column;
}

.rtl .modal-info > .vrc-car-result-right {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-car-result-right {
    padding-right: 3.5rem;
  }
}

.vrc-car-result-rightinner {
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
}

.rtl .modal-info > .vrc-car-result-rightinner {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-car-result-rightinner {
    padding-right: 3.5rem;
  }
}

.vrc-car-result-rightinner {
  width: 100%;
}

.vrc-car-result-rightinner-deep {
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  flex-wrap: nowrap;
}

.rtl .modal-info > .vrc-car-result-rightinner-deep {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-car-result-rightinner-deep {
    padding-right: 3.5rem;
  }
}

.vrc-car-result-inner {
  position: relative;
  display: flex;
  min-width: 0px;
  flex: 1 1 0%;
  flex-direction: column;
  padding: 1.25rem;
}

.rtl .modal-info > .vrc-car-result-inner {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-car-result-inner {
    padding-right: 3.5rem;
  }
}

.vrcliststartfrom.vrc-car-result-inner {
  top: -0.375rem;
}

.vrc-car-name {
  margin: 0px;
  margin-bottom: 0.75rem;
  margin-top: 0px;
  font-size: 1.25rem;
  line-height: 2.375rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  min-height: 2.5em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* „Viktig informasjon” siedzi w bloku treści, nie w stopce, więc bez
   `mt-auto` płynęłoby tuż za pigułkami — tym niżej, im więcej wyposażenia
   ma auto. Dociśnięte do dołu stoi w każdym kaflu nad tą samą linią. */

.vrc-car-result-inner > .vrc-car-info {
  margin-top: auto;
  padding-top: 1rem;
}

.vrc-car-name a {
  color: inherit;
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.vrc-car-name a:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

/* --- Stopka: cena i przyciski --- */

/* `mt-auto` wyrównuje stopki wszystkich kafli w rzędzie niezależnie od
   długości nazwy auta i liczby opcji. Linia odcinająca siedzi nie tutaj,
   lecz na bloku z ceną — nad nią ląduje jeszcze „Viktig informasjon”
   (patrz niżej), które należy do listy opcji, a nie do stopki. */

.vrc-car-lastblock {
  margin-top: auto;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
  border-width: 0px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-bottom: 1.25rem;
  padding-top: 0px;
  text-align: left;
}

.rtl .modal-info > .vrc-car-lastblock {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-car-lastblock {
    padding-right: 3.5rem;
  }
}

.vrc-car-info {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
}

.rtl .modal-info > .vrc-car-info {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-car-info {
    padding-right: 3.5rem;
  }
}

/* Odnośnik „Viktig informasjon” stoi w szablonie na końcu stopki, a należy
   wzrokowo do listy opcji powyżej. `order` przesuwa go nad blok z ceną,
   bez ruszania kolejności w markupie — czytniki ekranu i nawigacja
   klawiaturą zachowują pierwotną sekwencję. */

.vrc-car-lastblock > .vrc-car-info:last-child {
  order: -9999;
  margin-bottom: 0.25rem;
}

/* Blok ceny i przycisków przejmuje linię odcinającą stopkę. `m-0` musi
   stać tutaj, a nie na `.vrc-car-info`: szablon nadaje temu blokowi
   `my-4`, a warstwa `utilities` wchodzi do arkusza po `components`,
   więc przy równej swoistości wygrywałaby klasa z szablonu. */

.vrc-car-lastblock > .vrc-car-info:first-child {
  margin: 0px;
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-top: 1rem;
}

.vrc-car-lastblock-price {
  margin: 0px;
  width: 100%;
  text-align: left;
}

.vrc-car-price {
  margin: 0px;
  text-align: left;
}

/* Etykieta i kwota w jednej linii: „Pris per dag fra: 750 kr”. */

.car_result .vrcsrowpricediv {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  row-gap: 0px;
}

.rtl .modal-info > .car_result .vrcsrowpricediv {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car_result .vrcsrowpricediv {
    padding-right: 3.5rem;
  }
}

.car_result .vrcsrowpricediv .vrcstartfrom {
  margin: 0px;
  display: inline;
}

.car_result .vrcsrowpricediv > div {
  display: inline-flex;
  align-items: baseline;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

/* Okres cenowy z obniżką: normalna cena przekreślona przed promocyjną. */

.osl-price-old {
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  text-decoration-line: line-through;
  font-variant-numeric: tabular-nums;
}

.car_result .car_cost.is-promo .vrc_price {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-car-bookingbtn {
  margin: 8px 0 0;
}

.osl-card-actions {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  gap: 0.625rem;
}

.rtl .modal-info > .osl-card-actions {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-card-actions {
    padding-right: 3.5rem;
  }

  .osl-card-actions {
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
  }
}

.osl-card-actions .btn {
  margin: 0px;
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: center;
  font-size: 15px;
  line-height: 1.25;
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  min-height: 45px;
}

/* Akcja główna — pełny kolor marki. */

.osl-card-actions .vrc-pref-color-btn {
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.osl-card-actions .vrc-pref-color-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

/* Akcja poboczna — sam obrys, żeby nie konkurowała z „Bestill nå!”. */

.osl-card-actions .vrc-pref-color-btn-secondary {
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  height: auto !important;
  min-height: 45px;
}

.osl-card-actions .vrc-pref-color-btn-secondary:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-car-info button:not(.vrc-pref-color-btn) {
  position: relative;
  margin-left: 2rem;
  cursor: pointer;
  align-self: flex-start;
  background-color: transparent;
  padding: 0px;
  font-size: 13px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.vrcliststartfrom.vrc-car-info button:not(.vrc-pref-color-btn) {
  top: -0.375rem;
}

.vrc-car-info button:not(.vrc-pref-color-btn)::before {
  position: absolute;
  left: -2rem;
  top: 0px;
  display: block;
  height: 1.25rem;
  width: 1.25rem;
  --tw-content: '';
  content: var(--tw-content);
}

.vrc-car-info button:not(.vrc-pref-color-btn):hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-car-info button:not(.vrc-pref-color-btn)::before {
  background: url('template-parts/assets/images/icons/file-text-search.svg');
}

.vrcarsfound {
  order: 1;
  width: 100%;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  line-height: 1.1875rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .vrcarsfound {
    font-size: 2rem;
    line-height: 2.875rem;
  }
}

@media (min-width: 1280px) {
  .vrcarsfound {
    order: -9999;
    width: auto;
  }
}

#vrc-search-suggestions {
  display: none;
}

/* Itinerary summary */

.vrc-itinerary-summary {
  display: none;
}

.vrc-itinerary-pickup,
.vrc-itinerary-dropoff {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.rtl .modal-info > .vrc-itinerary-pickup,.rtl .modal-info > 
.vrc-itinerary-dropoff {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-itinerary-pickup,.rtl .modal-info > 
.vrc-itinerary-dropoff {
    padding-right: 3.5rem;
  }
}

.vrc-itinerary-pickup h4,
.vrc-itinerary-dropoff h4 {
  margin-bottom: 0.25rem;
  padding-top: 1rem;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 400;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

@media (min-width: 1024px) {
  .vrc-itinerary-pickup h4,
.vrc-itinerary-dropoff h4 {
    padding-top: 0px;
  }
}

.vrc-itinerary-pickup-location,
.vrc-itinerary-dropoff-location {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.rtl .modal-info > .vrc-itinerary-pickup-location,.rtl .modal-info > 
.vrc-itinerary-dropoff-location {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-itinerary-pickup-location,.rtl .modal-info > 
.vrc-itinerary-dropoff-location {
    padding-right: 3.5rem;
  }
}

.vrc-itinerary-pickup-date,
.vrc-itinerary-dropoff-date {
  margin-top: 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .vrc-itinerary-pickup-date,.rtl .modal-info > 
.vrc-itinerary-dropoff-date {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-itinerary-pickup-date,.rtl .modal-info > 
.vrc-itinerary-dropoff-date {
    padding-right: 3.5rem;
  }
}

.vrc-itinerary-duration {
  margin-left: 0.5rem;
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.875rem;
  line-height: 1.375rem;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Plakietka w rogu zdjęcia — w szablonie stoi przed odnośnikiem, więc
   bez pozycjonowania rozpychałaby kadr od góry. */

.car_result .badge {
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
  z-index: 10;
  margin: 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.375rem;
}

.rtl .modal-info > .car_result .badge {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car_result .badge {
    padding-right: 3.5rem;
  }
}

.car_result .badge span.badge--green {
  background-color: rgb(var(--badge-green));
}

.car_result .badge span {
  border-radius: var(--r-btn);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  display: block !important;
}

/* Cena w stopce — ten sam zapis, co w kaflu na stronie głównej: kwota, a po
   niej waluta. */

.car_result .vrc_currency {
  margin-left: 0.25rem;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.car_result .vrc_price {
  font-size: 1.25rem;
  line-height: 2.375rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--price) / var(--tw-text-opacity));
  font-variant-numeric: tabular-nums;
}

/* Suma za okres: kwota w tym samym zapisie co stawka dzienna, etykieta i
   liczba dni jako tekst pomocniczy. */

.car_result .vrc-car-total {
  margin: 0px;
  display: flex;
  flex-basis: 100%;
  flex-wrap: wrap;
  align-items: baseline;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.rtl .modal-info > .car_result .vrc-car-total {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car_result .vrc-car-total {
    padding-right: 3.5rem;
  }
}

/* Wyposażenie jako pigułki — te same, co w kaflu na stronie głównej. */

.vrc-car-characteristics {
  margin: 0px;
  display: flex;
  list-style-type: none;
  flex-wrap: wrap;
  gap: 0.375rem;
  border-width: 0px;
  padding: 0px;
  padding-bottom: 1rem;
}

.rtl .modal-info > .vrc-car-characteristics {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-car-characteristics {
    padding-right: 3.5rem;
  }
}

.vrc-car-characteristics > div {
  margin: 0px;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 9999px;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 13px;
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.vrc-car-characteristics span {
  margin: 0px;
  margin-right: 0px;
  font-size: 13px;
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Rastrowe ikony z ACF niosą własne białe tło — mnożenie wtapia je w kartę. */

.vrc-car-characteristics img {
  margin: 0px;
  margin-right: 0px;
  height: 15px;
  width: 15px;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
  mix-blend-mode: multiply;
}

/* Ikona cechy trafia tu z taksonomii `car_feature`: nazwa ikony motywu wjeżdża
   jako inline SVG (dziedziczy kolor tekstu), plik wgrany w ACF jako <img>.
   Wspólna klasa trzyma oba warianty w jednym rozmiarze. */

.vrc-car-characteristic__icon {
  margin: 0px;
  height: 15px;
  width: 15px;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}

img.vrc-car-characteristic__icon {
  mix-blend-mode: multiply;
}

/* Jedna kolumna: na kaflu o szerokości około 300 px dwie kolumny łamały
   etykiety opcji po jednym słowie. */

.options ul {
  margin-bottom: 0px;
  margin-top: 0.5rem;
  -moz-columns: 1;
       columns: 1;
}

.options ul li {
  position: relative;
  margin-left: 1.5rem;
  margin-bottom: 0.25rem;
  font-size: 13px;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.vrcliststartfrom.options ul li {
  top: -0.375rem;
}

.options ul li::before {
  position: absolute;
  left: -1.5rem;
  top: 0.25rem;
  display: block;
  height: 0.75rem;
  width: 0.75rem;
  --tw-content: '';
  content: var(--tw-content);
  background: url('template-parts/assets/images/icons/icon-list.svg') no-repeat;
}

.vrcstartfrom {
  font-size: 13px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
  display: block !important;
}

.vrc-car-result-price-before-discount span {
  font-size: 0.9375rem;
  line-height: 1.1875rem;
  --tw-text-opacity: 1;
  color: rgb(var(--danger) / var(--tw-text-opacity));
}

/* "Bestill nå!" button — pink, matching theme */

.section-cars-list .booknow,
.section-cars-list a.booknow {
  display: inline-flex;
  cursor: pointer !important;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn) !important;
  border-width: 0px !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity)) !important;
  font-size: 1rem !important;
  line-height: 1.75rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--white) / var(--tw-text-opacity)) !important;
}

.section-cars-list .booknow:hover,
.section-cars-list a.booknow:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity)) !important;
}

.section-cars-list .booknow,
.section-cars-list a.booknow {
  padding: 10px 20px;
  text-decoration: none !important;
  transition: background-color 0.2s;
}

/* Car description excerpt */

.vrc-car-result-description {
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.vrcliststartfrom.relative {
  top: -0.375rem;
}

.vrc-searchf-section-categories {
  display: none;
}

.vrc-results-pager {
  margin-bottom: 0px;
  margin-top: 2.5rem;
}

.vrc-results-pager button.page-numbers {
  cursor: pointer;
  font-family: Montserrat, sans-serif;
}

.vrc-results-pager button.page-numbers:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.osl-more-options {
  margin-top: 0.25rem;
}

.osl-more-options summary {
  display: inline-flex;
  cursor: pointer;
  align-items: center;
  gap: 0.375rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 13px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  outline: 2px solid transparent;
  outline-offset: 2px;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  list-style: none;
}

.osl-more-options summary::-webkit-details-marker {
  display: none;
}

.osl-more-options summary:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-dark) / var(--tw-text-opacity));
}

.osl-more-options summary svg {
  height: 0.875rem;
  width: 0.875rem;
  flex-shrink: 0;
  transition: transform .3s ease;
}

.osl-more-options[open] summary svg {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Lista rozwinięta dziedziczy wygląd listy widocznej powyżej — te same
   ptaszki i odstępy, żeby nie było widać szwu między jedną a drugą. */

.osl-more-options ul {
  margin-bottom: 0px;
  margin-top: 0.25rem;
  -moz-columns: 1;
       columns: 1;
}

/* step bar */

.vrc-stepbar {
  border-radius: var(--r-card);
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--line) / var(--tw-border-opacity)) !important;
}

.vrc-stepbar>li {
  height: 93px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rtl .modal-info > .vrc-stepbar>li {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-stepbar>li {
    padding-right: 3.5rem;
  }
}

.vrc-stepbar.vrc-step-current >li > span {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.vrc-stepbar>li:last-child {
  border-bottom-left-radius: .75rem;
  border-bottom-right-radius: .75rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

@media (min-width: 640px) {
  .vrc-stepbar>li:last-child {
    border-bottom-left-radius: 0px;
    border-top-right-radius: var(--r-card);
    border-bottom-right-radius: var(--r-card);
  }
}

.vrcstepsbarcont .vrc-stepbar li.vrc-step-current> ::before {
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--brand) / var(--tw-border-opacity)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity)) !important;
}

.vrc-stepbar li a {
  font-weight: 400 !important;
}

.vrcstepsbarcont .vrc-stepbar li:after,
.vrcstepsbarcont .vrc-stepbar li:before {
  content: none !important;
}

.vrcstepsbarcont .vrc-stepbar>li> ::before {
  width: 33px !important;
  height: 33px !important;
  line-height: 33px !important;
  font-size: 1rem !important;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
}

.vrc-step-current .vrc-step-lbl {
  width: auto;
  font-weight: 600;
  display: block !important;
}

@media (min-width: 640px) {
  .vrc-step-current .vrc-step-lbl {
    display: inline !important;
  }
}

.vrc-step-current > span:first-of-type {
  border-style: none !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--white) / var(--tw-text-opacity)) !important;
}

.vrc-step-next {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
}

.vrc-step-lbl {
  width: auto;
  font-size: 0.875rem;
  line-height: 1.375rem;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

@media (min-width: 768px) {
  .vrc-step-lbl {
    font-size: 1rem !important;
    line-height: 1.75rem !important;
  }
}

.vrc-stepbar li.vrc-step-complete> ::before,
.vrc-stepbar li.vrc-step-next> ::before {
  margin-right: 0px;
  border-width: 1px !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--line) / var(--tw-border-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

@media (min-width: 640px) {
  .vrc-stepbar li.vrc-step-complete> ::before,
.vrc-stepbar li.vrc-step-next> ::before {
    margin-right: 0.625rem;
  }
}

.vrcstepsbarcont .vrc-stepbar li.vrc-step-complete> :hover::before {
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--brand) / var(--tw-border-opacity)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--white) / var(--tw-text-opacity)) !important;
}

.vrc-showprc-prices-wrap {
  display: none;
}

/* options */

.vrc-showprc-options-wrap .vrc-showprc-options-inner {
  border-width: 0px !important;
  padding: 0px !important;
}

.vrc-showprc-options-wrap .vrc-showprc-option-row {
  border-radius: var(--r-btn);
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
}

.vrc-showprc-options-wrap .vrc-showprc-option-row:last-child {
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
}

.vrc-showprc-option-name span {
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .vrc-showprc-option-name span {
    font-size: 1rem;
    line-height: 1.75rem;
  }

  .vrc-showprc-option-row {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.vrc-rental-summary-title {
  font-size: 1.5rem;
  line-height: 1.75rem;
}

@media (min-width: 640px) {
  .vrc-rental-summary-title {
    font-size: 2rem;
    line-height: 2.875rem;
  }
}

.vrc-showprc-option-cell-price-descr span {
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .vrc-showprc-option-cell-price-descr span {
    font-size: 1rem;
    line-height: 1.75rem;
  }
}

/* buttons */

.booknow {
  height: 49px !important;
  cursor: pointer;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity)) !important;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  font-weight: 500;
  text-transform: none !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--white) / var(--tw-text-opacity)) !important;
}

.goback {
  order: -9999;
  display: flex;
}

.rtl .modal-info > .goback {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .goback {
    padding-right: 3.5rem;
  }
}

.btn-grey,
.vrc-pref-color-btn-secondary {
  height: 49px !important;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-btn);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
  padding-left: 2.25rem;
  padding-right: 2.25rem;
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  text-decoration-line: none !important;
}

.rtl .modal-info > .btn-grey,.rtl .modal-info > 
.vrc-pref-color-btn-secondary {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .btn-grey,.rtl .modal-info > 
.vrc-pref-color-btn-secondary {
    padding-right: 3.5rem;
  }

  .btn-grey,
.vrc-pref-color-btn-secondary {
    width: auto;
  }
}

.car_buttons_box {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.rtl .modal-info > .car_buttons_box {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .car_buttons_box {
    padding-right: 3.5rem;
  }
}

/* last step */

.vrc-summary-car-img {
  flex: 100% !important;
}

.vrc-summary-car-img img {
  float: left !important;
}

.vrc-oconfirm-summary-car-wrapper,
.vrcrentforlocs,
.vrc-oconfirm-summary-total-wrapper {
  background-color: rgb(var(--accent-soft));
  display: block;
  width: 100%;
  padding: 30px;
  border-radius: 20px;
}

/* grid kolumn podsumowania */

.vrc-oconfirm-summary-car-head,
.vrc-oconfirm-summary-car-row {
  display: flex;
  align-items: baseline;
  width: 100%;
  gap: 8px;
}

.vrc-oconfirm-summary-car-head {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgb(var(--muted));
  padding-bottom: 10px;
  border-bottom: 1px solid rgb(var(--line));
  margin-bottom: 8px;
}

.vrc-oconfirm-summary-car-cell-descr,
.vrc-oconfirm-summary-car-head-cell:first-child {
  flex: 1;
  min-width: 0;
}

.vrc-oconfirm-summary-car-cell-days,
.vrc-oconfirm-summary-car-head-cell:nth-child(2) {
  width: 80px;
  text-align: center;
  flex-shrink: 0;
}

.vrc-oconfirm-summary-car-cell-tot,
.vrc-oconfirm-summary-car-head-cell:nth-child(3) {
  width: 120px;
  text-align: right;
  flex-shrink: 0;
}

/* ukryj responsywne duplikaty nagłówków wewnątrz wierszy */

.vrc-oconfirm-summary-car-head-cell-responsive {
  display: none;
}

.vrc-oconfirm-summary-total-wrapper {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.vrcrentforlocs {
  margin-top: 0.75rem;
  border-style: none !important;
}

@media (min-width: 640px) {
  .vrcrentforlocs {
    margin-top: 2.25rem;
  }
}

.vrc-itinerary-confirmation {
  position: relative;
  padding-inline: 30px;
  display: flex;
  flex-wrap: wrap;
}

.rtl .modal-info > .vrc-itinerary-confirmation {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-itinerary-confirmation {
    padding-right: 3.5rem;
  }
}

.vrc-itinerary-confirmation::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 0;
  left: 0px;
}

.vrc-itinerary-confirmation h4 {
  font-size: .9em;
}

.vrc-itinerary-confirmation > div {
  position: relative;
  width: 50%;
}

.vrc-itinerary-confirmation > div > div {
  margin: 2px 0;
  display: flex;
}

.vrc-itinerary-confirmation > div > div > * {
  display: inline-block;
  vertical-align: top;
  margin-right: 8px;
}

.vrc-itinerary-confirmation > div > div > i {
  margin: 6px 5px 0 0;
  font-size: .9em;
}

.vrc-itinerary-confirmation .vrc-itinerary-pickup {
  margin-bottom: 0;
  padding-bottom: 16px;
}

.fa-location-arrow,
.vrc-itinerary-pickup::before,
.vrc-itinerary-pickup::after,
.vrc-itinerary-dropoff::after,
.vrc-coupon-outer,
.vrc-oconfirm-priceinfo {
  display: none !important;
}

.vrc-itinerary-pickup {
  width: 50%;
}

.vrc-oconfirm-summary-car-wrapper {
  border-inline: 1px solid rgb(var(--line)) !important;
  border-top: 1px solid rgb(var(--line)) !important;
  margin-bottom: 0px !important;
  border-bottom-right-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
  border-bottom-width: 0px !important;
}

.vrc-oconfirm-summary-car-wrapper .vrc_price,
.vrc-oconfirm-summary-total-wrapper .vrc-price,
.vrc-oconfirm-summary-total-wrapper,
.vrc-oconfirm-summary-car-wrapper .vrc_currency,
.vrc-oconfirm-summary-total-wrapper .vrc_currency {
  font-size: .9375rem;
  font-weight: 500;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

.vrc-oconfirm-summary-total-wrapper {
  border-inline: 1px solid rgb(var(--line)) !important;
  border-bottom: 1px solid rgb(var(--line)) !important;
  border-top-right-radius: 0px !important;
  border-top-left-radius: 0px !important;
  border-top-width: 0px;
  --tw-shadow: 0 0 #0000 !important;
  --tw-shadow-colored: 0 0 #0000 !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.vrcinfocarcontainer {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

@media (min-width: 640px) {
  .vrcinfocarcontainer {
    border-radius: var(--r-card);
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(var(--line) / var(--tw-border-opacity));
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

.vrc-summary-car-img {
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-bottom-color: rgb(var(--line) / var(--tw-border-opacity));
}

.vrc-itinerary-pickup-date span,
.vrc-itinerary-pickup-location span,
.vrc-itinerary-dropfff-locdet span,
.vrc-itinerary-dropoff-date span {
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.vrc-oconfirm-summary-car-wrapper {
  font-size: .9375rem;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.vrc-oconfirm-summary-car-row {
  border-bottom-width: 0px !important;
}

.vrc-oconfirm-summary-total-row .vrc_price {
  font-size: .9375rem;
  font-family: Montserrat, sans-serif;
  font-weight: 600;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

.vrc-oconfirm-summary-car-row {
  margin: 0px;
}

@media (min-width: 1280px) {
  .vrc-oconfirm-summary-car-row {
    max-height: 2rem;
  }
}

.vrc-oconfirm-summary-car-head-cell {
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

/* notifications */

.is-dismissible {
  margin-bottom: 2.5rem;
  margin-top: 1rem;
  border-radius: var(--r-card);
  border-width: 1px;
  border-style: solid;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-bottom: 0.75rem;
  padding-top: 1rem;
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--brand) / var(--tw-border-opacity)) !important;
}

.successmade {
  position: relative;
  border-width: 0px !important;
  background-color: transparent !important;
  padding-left: 4rem;
  text-align: left !important;
  font-size: 1rem !important;
  line-height: 1.75rem !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

.vrcliststartfrom.successmade {
  top: -0.375rem;
}

.successmade::before {
  position: absolute;
  left: 0px;
  display: block;
  height: 2.75rem;
  width: 2.75rem;
  --tw-content: '';
  content: var(--tw-content);
}

@media (min-width: 768px) {
  .successmade {
    font-size: 2rem !important;
    line-height: 2.875rem !important;
  }
}

.successmade + .vrc-docsupload-container {
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important;
}

.successmade::before {
  background: url('template-parts/assets/images/icons/check-circle.svg') no-repeat;
}

.successmade a {
  font-weight: 600;
}

.fa-check-circle {
  display: none !important;
}

.vrc-order-details-info-val .vrc-pref-color-btn {
  margin-top: 1rem !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

/* ============================================================
   Responsywność – mobile fixes
   ============================================================ */

@media (max-width: 640px) {
  /* vrcrentforlocs – zmniejsz padding karty i usuń podwójny wcięcie */

  .vrcrentforlocs {
    padding: 24px;
  }

  .vrc-itinerary-confirmation {
    padding-inline: 0;
  }

  /* vrcrentforlocs – układaj pickup i dropoff pionowo */

  .vrc-itinerary-confirmation > div {
    width: 100% !important;
  }

  .vrc-itinerary-pickup {
    width: 100% !important;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgb(var(--line));
  }

  /* vrc-showprc-options-inner – nazwa rozciąga się, cena zostaje po prawej */

  .vrc-showprc-option-cell-info {
    /* auto, nie 100% — przy 100% cena z checkboxem spadała pod nazwę */
    width: auto;
    min-width: 0;
    flex: 1 1 auto;
  }

  .vrc-showprc-option-cell-price {
    flex-shrink: 0;
  }

  /* vrc-oconfirm-summary – responsywna tabela podsumowania */

  .vrc-oconfirm-summary-car-wrapper,
  .vrc-oconfirm-summary-total-wrapper {
    padding: 20px 16px;
  }

  .vrc-oconfirm-summary-car-head {
    display: none;
  }

  .vrc-oconfirm-summary-car-row {
    display: grid !important;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "descr total"
      "days  .    ";
    max-height: none !important;
    padding: 10px 0;
    gap: 2px 12px;
    border-bottom: 1px solid rgb(var(--line));
  }

  .vrc-oconfirm-summary-car-row:last-child {
    border-bottom: none;
  }

  .vrc-oconfirm-summary-car-cell-descr {
    grid-area: descr;
    flex: unset;
    width: auto;
    min-width: 0;
  }

  .vrc-oconfirm-summary-car-cell-days {
    grid-area: days;
    width: auto;
    text-align: left;
    font-size: .8125rem;
    color: rgb(var(--muted));
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .vrc-oconfirm-summary-car-cell-tot {
    grid-area: total;
    width: auto;
    text-align: right;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 4px;
  }

  /* ukryj etykiety responsywne – layout mówi sam za siebie */

  .vrc-oconfirm-summary-car-head-cell-responsive {
    display: none;
  }

  /* wiersz "Totalt" – jedna linia, bez kolumny dni */

  .vrc-oconfirm-summary-total-row {
    grid-template-areas: "descr total";
    grid-template-rows: auto;
    border-bottom: none;
  }

  .vrc-oconfirm-summary-total-row .vrc-oconfirm-summary-car-cell-days {
    display: none;
  }
}

.vrc-cardetails-legend,
.vrc-avcals-container {
  display: none;
}

.car-details ul {
  list-style: disc;
  padding-left: 1.5rem;
}

.car-details ul li {
  font-size: 0.875rem;
  line-height: 20px;
  line-height: 1.25rem;
}

@media (min-width: 640px) {
  .car-details ul li {
    font-size: 1rem;
    line-height: 1.75rem;
  }
}

.car-details ul li::marker {
  line-height: 0 !important;
  height: 0.5rem;
  width: 0.5rem;
  font-size: 1.5rem;
  line-height: 2rem;
  --tw-text-opacity: 1;
  color: rgb(var(--accent) / var(--tw-text-opacity));
}

#breadcrumbs.car-details ul li::marker {
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

#about .car-details ul li::marker {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  display: block !important;
}

#testimonials.section-testimonials .car-details ul li::marker {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  display: block !important;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-cdetails-cost {
  background-color: transparent !important;
  padding-left: 0px !important;
  padding-right: 0px !important;
  padding-bottom: 1.25rem !important;
}

@media (min-width: 640px) {
  .vrc-cdetails-cost {
    border-top-width: 0px;
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-bottom-color: rgb(var(--line) / var(--tw-border-opacity));
  }
}

.vrc-cdetails-cost .vrcliststartfrom {
  font-size: 13px;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.vrc-cdetails-infocar .vrccaratsdiv {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.vrc-cdetails-infocar .vrccaratsdiv .vrccarcarat {
  margin-bottom: 0.25rem;
  margin-right: 0.5rem;
}

.vrc-cdetails-infocar .vrccaratsdiv .vrc-expl {
  display: flex;
  align-items: center;
}

.rtl .modal-info > .vrc-cdetails-infocar .vrccaratsdiv .vrc-expl {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-cdetails-infocar .vrccaratsdiv .vrc-expl {
    padding-right: 3.5rem;
  }
}

.vrc-cdetails-infocar .vrccaratsdiv .vrc-expl img {
  margin-right: 1rem;
}

.vrc-cdetails-cmainimg img {
  width: 100%;
}

.vrc-cdetails-infocar .vrc-car-name {
  font-size: 1.5rem;
  line-height: 1.75rem;
}

@media (min-width: 640px) {
  .vrc-cdetails-infocar .vrc-car-name {
    font-size: 2rem;
    line-height: 2.875rem;
  }
}

.vrc-cdetails-infocar .vrc-car-characteristics {
  margin-top: 0.75rem;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-top-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-top: 1rem;
}

@media (min-width: 640px) {
  .vrc-cdetails-infocar .vrc-car-characteristics {
    margin-top: 1.75rem;
    border-top-width: 0px;
    border-bottom-width: 0px !important;
    padding-top: 0px;
  }
}

.vrc-carat-cont {
  font-size: 0.75rem;
  line-height: 0.9375rem;
}

@media (min-width: 640px) {
  .vrc-carat-cont {
    font-size: 0.9375rem;
    line-height: 1.1875rem;
  }
}

.vrc-cdetails-infocar .vrc-pref-color-btn {
  display: none;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 500;
}

@media (min-width: 640px) {
  .vrc-cdetails-infocar .vrc-pref-color-btn {
    display: block;
  }
}

.vrc-cdetails-infocar .vrc-pref-color-btn {
  padding: 5px 30px;
}

.vrc-cdetails-img .vrc-pref-color-btn {
  width: 100%;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

@media (min-width: 640px) {
  .vrc-cdetails-img .vrc-pref-color-btn {
    display: none;
    width: auto;
  }
}

.vrc-cdetails-cost .vrc_price {
  margin-left: 1rem !important;
}

.vrc-cdetails-cinfo {
  margin-bottom: 1rem;
}

@media (min-width: 640px) {
  .vrc-cdetails-cinfo {
    padding-bottom: 2.25rem;
  }
}

/* 
.vrc-cdetails-cinfo .badge {
  flex: 1 1 auto !important;
} */

.vrc-cdetails-cgroup,
.vrc-cdetails-cost {
  display: none;
}

@media (min-width: 640px) {
  .vrc-cdetails-cgroup,
.vrc-cdetails-cost {
    display: flex;
  }
}

.vrc-cdetails-cinfo .vrcliststartfrom {
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

/* tabs */

.box-full-width {
  padding-bottom: 3.5rem;
  padding-top: 4.4rem;
}

@media (max-width: 1280px) {
  .box-full-width {
    padding: 33px 23px !important
  }

  .cars-list .box-full-width {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
}

.tablinks {
  margin-right: 1.5rem;
}

@media (min-width: 640px) {
  .tablinks {
    margin-right: 6rem;
  }
}

.tablinks p {
  font-size: 1rem !important;
  line-height: 1.75rem !important;
}

@media (min-width: 640px) {
  .tablinks p {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
  }
}

.tablinks.active p {
  position: relative;
  font-family: Montserrat, sans-serif;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.vrcliststartfrom.tablinks.active p {
  top: -0.375rem;
}

.tablinks.active p::after {
  position: absolute;
  bottom: -1rem;
  display: block;
  height: 0.375rem;
  width: 100%;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  --tw-content: '';
  content: var(--tw-content);
}

.tabcontent:not(.active) {
  display: none;
}

.tabcontent h3 {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  line-height: 1.75rem;
}

@media (min-width: 640px) {
  .tabcontent h3 {
    margin-bottom: 2rem;
    font-size: 1.5rem;
    line-height: 1.75rem;
  }
}

.tabcontent h3 + p {
  line-height: 2.125rem !important;
}

@media (max-width: 768px) {
  .tabcontent h3 + p {
    line-height: 1.25rem !important;
  }

  .tabcontent p {
    line-height: 1.25rem !important;
  }
}

.tabcontent > div {
  margin-bottom: 2.5rem;
}

@media (min-width: 640px) {
  .tabcontent > div {
    margin-bottom: 4rem;
  }
}

.tab_content p,
.tab_content ul li {
  line-height: 1.75rem;
}

.tab_content p strong {
  font-size: 0.875rem !important;
  line-height: 20px !important;
  font-weight: 500 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(var(--black) / var(--tw-text-opacity)) !important;
}

@media (min-width: 640px) {
  .tab_content p strong {
    font-size: 1.125rem !important;
    line-height: 1.75rem !important;
  }
}

.tab_content iframe {
  margin-right: 4rem;
}

.tab_content:nth-of-type(2) {
  margin-top: 1.75rem;
}

@media (min-width: 640px) {
  .tab_content:nth-of-type(2) {
    margin-top: 4rem;
  }
}

@media (min-width: 1280px) {
  .tab_content img {
    max-width: 649px
  }

  @media (min-width: 768px) {
    .tab_content img {
      margin-left: 4rem;
    }
  }
}

.tabcontent.active p {
  order: -1;
}

@media (min-width: 640px) {
  .tabcontent.active p {
    order: 1;
  }
}

table {
  width: 100%;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

tr:nth-child(odd) {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
}

td {
  width: 50%;
  padding: 0.75rem;
  letter-spacing: 0.05em;
}

tr td:first-child {
  text-align: right;
}

@media (max-width: 1280px) {
  .video-container {
    position: relative;
    width: 100%;
  }

  .vrcliststartfrom.video-container {
    top: -0.375rem;
  }

  .video-container {
    padding-bottom: 56.25%;
    overflow: hidden;
    margin-bottom: 1.25rem;
  }

  @media (min-width: 1280px) {
    .video-container {
      margin-bottom: 0px;
    }
  }

  .video-container iframe {
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .car-details + .section-cars .container-full {
    padding: 0px !important;
  }
}

article .vrcclistheadt,
article .filter, 
article .filter > div {
  display: none;
}

@media (max-width: 768px) {
  .vrcmodcarsgridimg {
    height: 272px;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

/* ============================================================
   Showprc – booking options step (VikRentCar override)
   ============================================================ */

/* Steps progress bar */

.vrc-stepbar {
  width: 100%;
  margin: 0 0 30px 0;
  padding: 0;
  display: flex;
  border-radius: 20px;
  border: 1px solid rgb(229, 229, 229);
  list-style: none;
  counter-reset: item;
  box-sizing: border-box;
}

.vrcstepsbarcont .vrc-stepbar > li {
  flex: 1;
  height: 40px;
  line-height: 40px;
  padding: 0 25px;
  text-align: center;
  position: relative;
}

/* Desktop: <a> jako flex żeby circle + label nie zawijały się */

.vrcstepsbarcont .vrc-stepbar > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 640px) {
  .vrcstepsbarcont .vrc-stepbar {
    flex-direction: column;
    border-radius: 12px;
  }

  .vrcstepsbarcont .vrc-stepbar > li {
    height: auto;
    line-height: 1;
    padding: 10px 16px;
    text-align: left;
    justify-content: flex-start;
  }

  /* Ukryj pseudo-elementy VRC kolidujące z custom circle spanami */

  .vrcstepsbarcont .vrc-stepbar > li > ::before {
    display: none !important;
  }

  /* <a> na pełną szerokość, wyrównanie do lewej */

  .vrcstepsbarcont .vrc-stepbar > li > a {
    justify-content: flex-start;
    width: 100%;
  }
}

.vrc-step a,
.vrc-step > span {
  text-decoration-line: none;
}

.vrc-step-complete a {
  --tw-text-opacity: 1;
  color: rgb(var(--accent) / var(--tw-text-opacity));
}

#breadcrumbs.vrc-step-complete a {
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

#about .vrc-step-complete a {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  display: block !important;
}

#testimonials.section-testimonials .vrc-step-complete a {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  display: block !important;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.vrc-step-complete a:hover {
  text-decoration-line: underline;
}

.vrc-step-current > span {
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

/* Rental summary title */

.vrc-rental-summary-title {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-family: Montserrat, sans-serif;
  font-size: 1.5rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .vrc-rental-summary-title {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}

/* Price selection */

.vrc-showprc-prices-wrap {
  margin-top: 1.5rem;
  border-radius: var(--r-btn);
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

@media (min-width: 640px) {
  .vrc-showprc-prices-wrap {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

.vrc-showprc-title {
  margin-bottom: 0.75rem;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.vrc-showprc-prices-inner {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.rtl .modal-info > .vrc-showprc-prices-inner {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-showprc-prices-inner {
    padding-right: 3.5rem;
  }
}

.vrc-showprc-price-row {
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  border-radius: var(--r-btn);
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .vrc-showprc-price-row {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-showprc-price-row {
    padding-right: 3.5rem;
  }
}

.vrc-showprc-price-row:hover {
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--brand) / var(--tw-border-opacity)) !important;
}

.vrc-showprc-price-selected {
  background-color: rgb(var(--brand) / 0.05);
  --tw-border-opacity: 1 !important;
  border-color: rgb(var(--brand) / var(--tw-border-opacity)) !important;
}

.vrc-showprc-price-row-cell-first {
  min-width: 0px;
  flex: 1 1 0%;
}

.vrc-showprc-price-row-cell-last {
  margin-left: 1rem;
  flex-shrink: 0;
}

.vrc-showprc-priceinfo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.rtl .modal-info > .vrc-showprc-priceinfo {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-showprc-priceinfo {
    padding-right: 3.5rem;
  }
}

.vrc-showprc-pricename {
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.vrc-showprc-pricecost {
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.vrc-showprc-priceattr {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.375rem;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Itinerary confirmation in showprc */

.vrc-oconfirm-itinerary .vrc-itinerary-confirmation {
  margin-top: 1rem;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
  gap: 20px;
  border-radius: var(--r-btn);
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding: 1rem;
}

.rtl .modal-info > .vrc-oconfirm-itinerary .vrc-itinerary-confirmation {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-oconfirm-itinerary .vrc-itinerary-confirmation {
    padding-right: 3.5rem;
  }

  .vrc-oconfirm-itinerary .vrc-itinerary-confirmation {
    flex-direction: row;
    gap: 2.5rem;
  }
}

.vrc-oconfirm-itinerary .vrc-itinerary-pickup h4,
.vrc-oconfirm-itinerary .vrc-itinerary-dropoff h4 {
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 600;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* Footer with Back / Book now */

.vrc-oconfirm-footer {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 1.5rem;
}

.rtl .modal-info > .vrc-oconfirm-footer {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .vrc-oconfirm-footer {
    padding-right: 3.5rem;
  }
}

.vrc-goback-block a {
  font-size: 0.875rem !important;
  line-height: 20px !important;
}

/* Car disclaimer */

.car_disclaimer {
  margin-top: 1rem;
  font-size: 0.875rem;
  line-height: 1.375rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* ============================================================
   Oconfirm – step 4: order summary + driver form
   ============================================================ */

/* Order summary table */

.osl-order-summary {
  background: rgb(var(--accent-soft));
  overflow: hidden;
  border-radius: var(--r-btn);
}

.osl-order-table {
  width: 100%;
  font-size: 0.875rem;
  line-height: 20px;
  border-collapse: collapse;
}

.osl-order-table thead tr {
  background: transparent;
}

.osl-order-table th {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: right;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
  background: transparent !important;
}

.osl-order-table th.osl-order-col-desc {
  text-align: left;
}

.osl-order-table td {
  width: auto;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: right;
  background: transparent !important;
}

.osl-order-col-desc {
  width: 100%;
  text-align: left;
}

.osl-order-col-days {
  white-space: nowrap;
  text-align: center;
  min-width: 70px;
}

.osl-order-col-price {
  white-space: nowrap;
  text-align: right;
  min-width: 100px;
}

.osl-order-row-car td {
  padding-top: 1rem;
  padding-bottom: 0.5rem;
}

.osl-order-row-tier td,
.osl-order-row-option td {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.osl-order-total {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top-width: 1px;
  border-color: rgb(var(--white) / 0.6);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-order-total {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-order-total {
    padding-right: 3.5rem;
  }
}

.osl-order-total-label {
  font-size: 0.875rem;
  line-height: 20px;
  font-weight: 700;
}

.osl-order-total-price {
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  min-width: 100px;
  text-align: right;
}

/* Driver form card */

.osl-driver-form {
  border-radius: var(--r-btn);
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

@media (min-width: 640px) {
  .osl-driver-form {
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

.osl-driver-form-title {
  margin-bottom: 1.5rem;
  font-family: Montserrat, sans-serif;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .osl-driver-form-title {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }
}

.osl-driver-form-fields {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rtl .modal-info > .osl-driver-form-fields {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-driver-form-fields {
    padding-right: 3.5rem;
  }
}

.osl-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.rtl .modal-info > .osl-form-field {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-form-field {
    padding-right: 3.5rem;
  }
}

.osl-form-field label {
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(145 145 145 / var(--tw-text-opacity));
}

@media (min-width: 1024px) {
  .osl-form-field label {
    font-size: 1rem;
    line-height: 1.75rem;
  }
}

.osl-form-field input[type="text"],
.osl-form-field input[type="email"],
.osl-form-field input[type="tel"],
.osl-form-field textarea {
  width: 100%;
  border-radius: 15px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
  outline: 2px solid transparent;
  outline-offset: 2px;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  font-family: inherit;
}

.osl-form-field input:focus,
.osl-form-field textarea:focus {
  --tw-border-opacity: 1;
  border-color: rgb(var(--accent) / var(--tw-border-opacity));
}

.osl-form-field textarea {
  resize: none;
  min-height: 100px;
}

/* intl-tel-input phone widget — fit the booking form fields */

.osl-form-field .iti {
  width: 100%;
  margin-top: 0;
  /* override legacy .iti--allow-dropdown { mt-4 } from form.css */
}

.osl-form-field .iti input[type="tel"] {
  width: 100%;
}

/* Keep the country selector readable on the grey field background */

.osl-form-field .iti__selected-dial-code {
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.osl-form-field--checkbox {
  margin-top: 0.5rem;
}

.osl-form-field--payment {
  margin-top: 0.5rem;
}

.osl-payment-legend {
  margin-bottom: 0.5rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(145 145 145 / var(--tw-text-opacity));
  display: block !important;
}

@media (min-width: 1024px) {
  .osl-payment-legend {
    font-size: 1rem;
    line-height: 1.75rem;
  }
}

.osl-payment-options {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.rtl .modal-info > .osl-payment-options {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-payment-options {
    padding-right: 3.5rem;
  }
}

.osl-payment-option {
  display: flex;
  width: auto;
  cursor: pointer;
  align-items: center;
  gap: 0.75rem;
  font-size: 1rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--line) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-payment-option {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-payment-option {
    padding-right: 3.5rem;
  }
}

.osl-form-field--payment .osl-payment-option {
  width: auto;
}

.osl-payment-option input[type="radio"] {
  position: relative;
  top: 3px;
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
  cursor: pointer;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  accent-color: rgb(var(--brand) / 1);
}

.vrcliststartfrom.osl-payment-option input[type="radio"] {
  top: -0.375rem;
}

/* Success page */

.osl-order-success-icon svg {
  color: rgb(var(--accent));
}

/* Form validation */

.osl-field-has-error input[type="text"],
.osl-field-has-error input[type="email"],
.osl-field-has-error input[type="tel"],
.osl-field-has-error textarea {
  border: 1px solid rgb(var(--danger));
  background-color: rgb(var(--danger) / .06);
}

.osl-field-has-error .osl-terms-label {
  color: rgb(var(--danger));
}

.osl-error-msg {
  color: rgb(var(--danger));
  font-size: .8125rem;
  margin-top: 2px;
}

.osl-server-error {
  border: 1px solid rgb(var(--danger));
  background-color: rgb(var(--danger) / .06);
  color: rgb(var(--danger));
  margin-bottom: 1.5rem;
  border-radius: var(--r-card);
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 20px;
}

/* Widok pojedynczego auta. Kolejność jak w motywie `leiebiloslo`: te trzy
   bloki mają tę samą swoistość co reguły z warstwy `components`, więc
   o wyniku decyduje pozycja w arkuszu. */

/**
 * Listy w rozwijanych szczegółach auta (`cars-list-component.php`).
 *
 * Wydzielone z `single-car-view.css`. Plik wchodzi na końcu arkusza — tak jak
 * jego poprzednik — bo `.car-details ul` ma tę samą swoistość co reguły list
 * z warstwy `components` i o wyniku decyduje kolejność.
 */

.car-details ul {
  list-style: disc;
  padding-left: 1.5rem;
}

.car-details ul li {
  font-size: 0.875rem;
  line-height: 20px;
  line-height: 1.25rem;
}

@media (min-width: 640px) {
  .car-details ul li {
    font-size: 1rem;
    line-height: 1.75rem;
  }
}

.car-details ul li::marker {
  line-height: 0 !important;
  height: 0.5rem;
  width: 0.5rem;
  font-size: 1.5rem;
  line-height: 2rem;
  --tw-text-opacity: 1;
  color: rgb(var(--accent) / var(--tw-text-opacity));
}

#breadcrumbs.car-details ul li::marker {
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

#about .car-details ul li::marker {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
  display: block !important;
}

#testimonials.section-testimonials .car-details ul li::marker {
  margin-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .115em;
  display: block !important;
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

/**
 * Globalne style tabel z treści redakcyjnej (`the_content()`).
 *
 * Wydzielone z `single-car-view.css` bez zmian. Selektory są elementowe, więc
 * plik musi zostać na końcu arkusza, żeby nie zmienić rozstrzygnięć kaskady.
 *
 * Uwaga: `td { w-1/2 }` zakłada dokładnie dwie kolumny — w tabeli o innej
 * liczbie kolumn rozjedzie się szerokość.
 */

table {
  width: 100%;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

tr:nth-child(odd) {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
}

td {
  width: 50%;
  padding: 0.75rem;
  letter-spacing: 0.05em;
}

tr td:first-child {
  text-align: right;
}

/**
 * Pola formularza rezerwacji (`template-parts/global/showprc-component.php`).
 *
 * Wydzielone z dawnego `single-car-view.css`, który mieszał ten formularz z
 * martwym widokiem zakładek. Warianty tych pól osadzone w kasie dokłada
 * `checkout.css` — tam selektory zaczynają się od `.osl-checkout`.
 */

.osl-driver-form-fields {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rtl .modal-info > .osl-driver-form-fields {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-driver-form-fields {
    padding-right: 3.5rem;
  }
}

.osl-form-field {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
}

.rtl .modal-info > .osl-form-field {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-form-field {
    padding-right: 3.5rem;
  }
}

.osl-form-field label {
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(145 145 145 / var(--tw-text-opacity));
}

@media (min-width: 1024px) {
  .osl-form-field label {
    font-size: 1rem;
    line-height: 1.75rem;
  }
}

.osl-form-field input[type="text"],
.osl-form-field input[type="email"],
.osl-form-field input[type="tel"],
.osl-form-field textarea {
  width: 100%;
  border-radius: 15px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
  outline: 2px solid transparent;
  outline-offset: 2px;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  font-family: inherit;
}

.osl-form-field input:focus,
.osl-form-field textarea:focus {
  --tw-border-opacity: 1;
  border-color: rgb(var(--accent) / var(--tw-border-opacity));
}

.osl-form-field textarea {
  resize: none;
  min-height: 100px;
}

/* intl-tel-input phone widget — fit the booking form fields */

.osl-form-field .iti {
  width: 100%;
  margin-top: 0;
  /* override legacy .iti--allow-dropdown { mt-4 } from form.css */
}

.osl-form-field .iti input[type="tel"] {
  width: 100%;
}

/* Klasę nadaje sama biblioteka intl-tel-input w czasie działania — nie znajdziesz
   jej w szablonach. Bez tego kierunkowy ginie na szarym tle pola. */

.osl-form-field .iti__selected-dial-code {
  font-size: 0.875rem;
  line-height: 20px;
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.osl-form-field--checkbox {
  margin-top: 0.5rem;
}

/* --- Walidacja ------------------------------------------------------------ */

.osl-field-has-error input[type="text"],
.osl-field-has-error input[type="email"],
.osl-field-has-error input[type="tel"],
.osl-field-has-error textarea {
  border: 1px solid rgb(var(--danger));
  background-color: rgb(var(--danger) / .04);
}

.osl-field-has-error .osl-terms-label {
  color: rgb(var(--danger));
}

.osl-error-msg {
  color: rgb(var(--danger));
  font-size: .8125rem;
  margin-top: 2px;
}

.osl-server-error {
  border: 1px solid rgb(var(--danger));
  background-color: rgb(var(--danger) / .04);
  color: rgb(var(--danger));
  margin-bottom: 1.5rem;
  border-radius: var(--r-card);
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 20px;
}

/* Wariant poziomy widżetu wyszukiwania (`layout="bar"`). Musi wejść po
   `components/custom-select.css` — tamtejsze reguły `.hero .choices__item`
   są oznaczone `!important` i o wyniku decyduje kolejność importów.

   UWAGA: arkusz czeka na markup, którego wtyczka `oslo-car-rental` 1.0.0
   jeszcze nie generuje (klasa `osl-search-form--bar`, kafelki
   `osl-datetime-col`, pole `osl-datefield`). Do czasu rozszerzenia
   shortcode'u żadna z tych reguł się nie dopasuje. */

.osl-search-form--bar {
  display: grid;
  border-radius: var(--r-btn);
  background-color: rgb(var(--white) / 0.2);
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: .5rem;
  padding: .5rem;
  box-shadow: 0 18px 40px -16px rgb(var(--black) / .45);
}

/* Elementy rozciągnięte na całą szerokość paska. */

.osl-search-form--bar .osl-search-form__title,
.osl-search-form--bar .osl-slot-msg,
.osl-search-form--bar .osl-form-note {
  grid-column: 1 / -1;
}

.osl-search-form--bar .osl-search-form__title {
  margin-bottom: 0px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
}

.osl-search-form--bar .osl-slot-msg {
  margin-top: 0px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.osl-search-form--bar .osl-slot-msg--error {
  display: flex;
  align-items: center;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.375;
}

.rtl .modal-info > .osl-search-form--bar .osl-slot-msg--error {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-search-form--bar .osl-slot-msg--error {
    padding-right: 3.5rem;
  }
}

.osl-search-form--bar .osl-slot-msg--error {
  justify-self: start;
  color: #B91C1C;
  min-height: 0;
  box-shadow: 0 4px 12px -4px rgb(var(--black) / .3);
}

.osl-search-form--bar .osl-form-note {
  margin: 0px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.25rem;
}

/* ---- Kafelek pola ---- */

.osl-search-form--bar .osl-group-pickup-loc,
.osl-search-form--bar .osl-group-dropoff-loc,
.osl-search-form--bar .osl-datetime-col {
  position: relative;
  margin: 0px;
  display: flex;
  min-width: 0px;
  flex-direction: column;
  justify-content: center;
  border-radius: 0.75rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  background-color: rgb(var(--white) / 0.8);
}

.rtl .modal-info > .osl-search-form--bar .osl-group-pickup-loc,.rtl .modal-info > 
.osl-search-form--bar .osl-group-dropoff-loc,.rtl .modal-info > 
.osl-search-form--bar .osl-datetime-col {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-search-form--bar .osl-group-pickup-loc,.rtl .modal-info > 
.osl-search-form--bar .osl-group-dropoff-loc,.rtl .modal-info > 
.osl-search-form--bar .osl-datetime-col {
    padding-right: 3.5rem;
  }
}

.vrcliststartfrom.osl-search-form--bar .osl-group-pickup-loc,.vrcliststartfrom
.osl-search-form--bar .osl-group-dropoff-loc,.vrcliststartfrom
.osl-search-form--bar .osl-datetime-col {
  top: -0.375rem;
}

.osl-search-form--bar .osl-group-pickup-loc,
.osl-search-form--bar .osl-group-dropoff-loc,
.osl-search-form--bar .osl-datetime-col {
  padding: .5rem .875rem;
  min-height: 3.75rem;
  transition: border-color .2s, box-shadow .2s;
}

.osl-search-form--bar .osl-group-pickup-loc:focus-within,
.osl-search-form--bar .osl-group-dropoff-loc:focus-within,
.osl-search-form--bar .osl-datetime-col:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand) / var(--tw-border-opacity));
  box-shadow: 0 0 0 3px rgb(var(--brand) / .18);
}

/* Rozwinięta lista miejsc musi zasłonić sąsiednie kafelki. */

.osl-search-form--bar .osl-group-pickup-loc:has(.choices.is-open),
.osl-search-form--bar .osl-group-dropoff-loc:has(.choices.is-open) {
  z-index: 60;
}

.osl-search-form--bar .osl-form-group label,
.osl-search-form--bar .osl-datetime-col label {
  margin-bottom: 0.125rem;
  display: flex;
  min-width: 0px;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0em;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-search-form--bar .osl-form-group label,.rtl .modal-info > 
.osl-search-form--bar .osl-datetime-col label {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-search-form--bar .osl-form-group label,.rtl .modal-info > 
.osl-search-form--bar .osl-datetime-col label {
    padding-right: 3.5rem;
  }
}

.osl-search-form--bar .osl-form-group label,
.osl-search-form--bar .osl-datetime-col label {
  gap: .375rem;
  line-height: 1.35;
}

.osl-search-form--bar .osl-field-label {
  min-width: 0px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Ikona stoi w wierszu etykiety, a nie w osi kafelka — dzięki temu wartość
   pola zaczyna się przy lewej krawędzi i wszystkie kafelki mają wspólną
   linię tekstu. */

.osl-search-form--bar .osl-icon-pin,
.osl-search-form--bar .osl-icon-cal,
.osl-search-form--bar .osl-icon-clock {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  --tw-text-opacity: 1;
  color: rgb(var(--muted-soft) / var(--tw-text-opacity));
}

.rtl .modal-info > .osl-search-form--bar .osl-icon-pin,.rtl .modal-info > 
.osl-search-form--bar .osl-icon-cal,.rtl .modal-info > 
.osl-search-form--bar .osl-icon-clock {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-search-form--bar .osl-icon-pin,.rtl .modal-info > 
.osl-search-form--bar .osl-icon-cal,.rtl .modal-info > 
.osl-search-form--bar .osl-icon-clock {
    padding-right: 3.5rem;
  }
}

.osl-search-form--bar .osl-icon-pin svg,
.osl-search-form--bar .osl-icon-cal svg,
.osl-search-form--bar .osl-icon-clock svg {
  height: .875rem;
  width: auto;
}

.osl-search-form--bar .osl-icon-pin svg path {
  fill: rgb(var(--muted-soft));
}

/* ---- Pola wewnątrz kafelka: bez własnej ramki i wysokości ---- */

.osl-search-form--bar .osl-select-wrap,
.osl-search-form--bar .osl-date-part,
.osl-search-form--bar .osl-time-part {
  width: 100%;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  height: auto;
  min-height: 0;
  border-radius: 0;
  box-shadow: none;
  /* Kontenerem pozycjonowania staje się cały kafelek — ikona i strzałka mają
       stać w jego osi, a nie w osi samego wiersza z wartością. */
  position: static;
}

.osl-search-form--bar .osl-select-wrap:focus-within,
.osl-search-form--bar .osl-date-part:focus-within,
.osl-search-form--bar .osl-time-part:focus-within {
  box-shadow: none;
}

/* ---- Wspólna typografia wartości ----
   Wszystkie pola mają czytać się jak jedno: ten sam stopień, waga, kolor
   i interlinia. `!important` przy liście miejsc jest konieczne, bo
   `components/custom-select.css` narzuca w hero `.choices__item { !text-base }`
   — bez tego wartość miejsca renderowała się o stopień większa niż data. */

.osl-search-form--bar .osl-location-select,
.osl-search-form--bar .osl-datefield__trigger,
.osl-search-form--bar .osl-time-select,
.osl-search-form--bar .osl-select-wrap .choices__list--single .choices__item {
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: .9375rem !important;
  line-height: 1.35 !important;
}

.osl-search-form--bar .osl-location-select,
.osl-search-form--bar .osl-datefield__trigger {
  padding-left: 0px;
  padding-right: 0px;
  height: auto;
  padding-right: 1.75rem;
}

.osl-search-form--bar .osl-chevron {
  right: 0.75rem;
}

/* Strzałka ma stać na środku całego kafelka (etykieta + wartość), a nie
   samego wiersza wartości — dlatego odnosi się do kafelka, który jest
   `relative`, a nie do ramki pola. */

.osl-search-form--bar .osl-select-wrap,
.osl-search-form--bar .osl-time-part {
  position: static;
}

/* LightChoices podmienia select na własny znacznik — wyrównujemy go do
   wiersza wartości kafelka. */

.osl-search-form--bar .osl-select-wrap .choices,
.osl-search-form--bar .osl-select-wrap .choices__inner {
  height: auto !important;
  min-height: 0 !important;
}

/* Wartość renderuje Choices we własnym znaczniku, więc odstęp na strzałkę
   trzeba powtórzyć tutaj — `padding` selecta go nie obejmuje. Bez tego
   dłuższe nazwy miejsc („Oslo-Sentrum-Norbygata 2") nachodziły na ikonę. */

.osl-search-form--bar .osl-select-wrap .choices__list--single {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  height: auto;
  padding-right: 1.75rem;
}

/* Nazwa dłuższa niż kafelek ma być ucięta wielokropkiem, a nie zawijana
   ani wypychająca strzałkę. */

.osl-search-form--bar .osl-select-wrap .choices__list--single .choices__item {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block !important;
  max-width: 100%;
  /* `custom-select.css` ustawia kontenerowi `display: flex !important`,
       a pozycja siatki flex domyślnie nie kurczy się poniżej swojej treści
       — bez `min-width: 0` wielokropek nigdy by się nie pojawił. */
  min-width: 0;
}

.osl-search-form--bar .osl-select-wrap .choices__list--dropdown,
.osl-search-form--bar .osl-select-wrap .choices__list[aria-expanded] {
  border-radius: 0.75rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  --tw-shadow: var(--shadow-lift);
  --tw-shadow-colored: var(--shadow-lift);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  margin-top: .75rem;
  left: -.875rem;
  width: calc(100% + 1.75rem);
}

.osl-search-form--bar .osl-select-wrap .choices__list--dropdown .choices__list {
  border-radius: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
}

.osl-search-form--bar .choices__item--choice {
  --tw-text-opacity: 1;
  color: rgb(var(--ink) / var(--tw-text-opacity));
  font-size: .9375rem !important;
  line-height: 1.4 !important;
  padding: .625rem 1.25rem !important;
}

.osl-search-form--bar .choices__item--choice.is-selected,
.osl-search-form--bar .choices__item--choice.is-highlighted {
  background: rgb(var(--surface-2)) !important;
}

/* ---- Godzina ---- */

.osl-search-form--bar .osl-time-part {
  justify-content: flex-start;
}

.osl-search-form--bar .osl-time-select {
  padding-left: 0px;
  padding-right: 0px;
  text-align: left;
}

/* ---- Przycisk ---- */

.osl-search-form--bar .osl-submit-btn {
  margin: 0px;
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.75rem;
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
  font-size: 15px;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rtl .modal-info > .osl-search-form--bar .osl-submit-btn {
  padding-right: 2rem;
  padding-left: 2.5rem;
}

@media (min-width: 640px) {
  .rtl .modal-info > .osl-search-form--bar .osl-submit-btn {
    padding-right: 3.5rem;
  }
}

.osl-search-form--bar .osl-submit-btn {
  height: auto;
  min-height: 3.5rem;
  padding: 0 1.75rem;
  width: 100%;
}

.osl-search-form--bar .osl-submit-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

/* ============================================================
   Tablet — miejsca obok siebie, pod nimi daty z godzinami
   ============================================================ */

@media (min-width: 640px) {
  .osl-search-form--bar {
    grid-template-columns:
            minmax(0, 1fr) minmax(0, .62fr)
            minmax(0, 1fr) minmax(0, .62fr);
  }

  .osl-search-form--bar .osl-group-pickup-loc,
    .osl-search-form--bar .osl-group-dropoff-loc {
    grid-column: span 2;
  }

  .osl-search-form--bar .osl-submit-btn {
    grid-column: 1 / -1;
  }
}

/* ============================================================
   Desktop — jeden rząd, jak w makiecie
   ============================================================ */

@media (min-width: 1200px) {
  .osl-search-form--bar {
    grid-template-columns:
            minmax(0, 1.4fr) minmax(0, 1.4fr)
            minmax(0, 1.05fr) minmax(0, .58fr)
            minmax(0, 1.05fr) minmax(0, .58fr)
            auto;
  }

  .osl-search-form--bar .osl-group-pickup-loc,
    .osl-search-form--bar .osl-group-dropoff-loc,
    .osl-search-form--bar .osl-submit-btn {
    grid-column: auto;
  }

  .osl-search-form--bar .osl-submit-btn {
    width: auto;
  }
}

/* ============================================================
   Pasek na tle hero
   ============================================================ */

:is(.hero, .page-head__search) .osl-search-form--bar {
  --tw-shadow: 0 24px 50px -18px rgb(var(--black)/0.55);
  --tw-shadow-colored: 0 24px 50px -18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:is(.hero, .page-head__search) .osl-search-form--bar .osl-form-note {
  text-align: center;
  --tw-text-opacity: 1;
  color: rgb(var(--muted) / var(--tw-text-opacity));
}

/* ============================================================
   Pasek poza sekcją hero (np. nad wynikami wyszukiwania)

   Reguły powyżej zakładają ciemne tło: pasek jest półprzezroczystą
   bielą, która na zdjęciu w hero czyta się jak szkło. Na jasnych
   podstronach ten sam zabieg czyniłby go niewidocznym, więc tam
   dostaje pełne tło, obrys i delikatniejszy cień.
   ============================================================ */

.section-cars-list .osl-search-form--bar {
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(var(--line) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--white) / var(--tw-bg-opacity));
  box-shadow: 0 10px 30px -18px rgb(var(--ink) / .35);
}

/* Kafelki pól na jasnym tle nie potrzebują już rozjaśniania — biel
   na bieli zlewałaby ich obrys z tłem paska. */

.section-cars-list .osl-search-form--bar .osl-group-pickup-loc,
.section-cars-list .osl-search-form--bar .osl-group-dropoff-loc,
.section-cars-list .osl-search-form--bar .osl-datetime-col {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface) / var(--tw-bg-opacity));
}

.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}

.after\:-right-1::after {
  content: var(--tw-content);
  right: -0.25rem;
}

.after\:-right-3::after {
  content: var(--tw-content);
  right: -0.75rem;
}

.after\:bottom-8::after {
  content: var(--tw-content);
  bottom: 2rem;
}

.after\:right-2::after {
  content: var(--tw-content);
  right: 0.5rem;
}

.after\:top-1\/2::after {
  content: var(--tw-content);
  top: 50%;
}

.after\:block::after {
  content: var(--tw-content);
  display: block;
}

.after\:h-12::after {
  content: var(--tw-content);
  height: 3rem;
}

.after\:w-24::after {
  content: var(--tw-content);
  width: 6rem;
}

.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}

.hover\:-translate-y-3:hover {
  --tw-translate-y: -0.75rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:bg-blue-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--accent) / var(--tw-bg-opacity));
}

.hover\:bg-darkpink:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-dark) / var(--tw-bg-opacity));
}

.hover\:bg-gray-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--surface-2) / var(--tw-bg-opacity));
}

.hover\:bg-pink:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand) / var(--tw-bg-opacity));
}

.hover\:text-black:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--black) / var(--tw-text-opacity));
}

.hover\:text-pink:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand) / var(--tw-text-opacity));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--white) / var(--tw-text-opacity));
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:opacity-70:hover {
  opacity: 0.7;
}

.hover\:opacity-90:hover {
  opacity: 0.9;
}

.prose-a\:text-primary :is(:where(a):not(:where([class~="not-prose"] *))) {
  --tw-text-opacity: 1;
  color: rgb(var(--deep) / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .sm\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }

  .sm\:my-36 {
    margin-top: 9rem;
    margin-bottom: 9rem;
  }

  .sm\:mb-0 {
    margin-bottom: 0px;
  }

  .sm\:mb-1 {
    margin-bottom: 0.25rem;
  }

  .sm\:mb-10 {
    margin-bottom: 2.5rem;
  }

  .sm\:mb-17 {
    margin-bottom: 4.5rem;
  }

  .sm\:mb-20 {
    margin-bottom: 5rem;
  }

  .sm\:mb-3 {
    margin-bottom: 0.75rem;
  }

  .sm\:mb-32 {
    margin-bottom: 8rem;
  }

  .sm\:mb-4 {
    margin-bottom: 1rem;
  }

  .sm\:mb-5 {
    margin-bottom: 1.25rem;
  }

  .sm\:mb-7 {
    margin-bottom: 1.75rem;
  }

  .sm\:mb-\[1\.875rem\] {
    margin-bottom: 1.875rem;
  }

  .sm\:mr-7 {
    margin-right: 1.75rem;
  }

  .sm\:mt-10 {
    margin-top: 2.5rem;
  }

  .sm\:mt-12 {
    margin-top: 3rem;
  }

  .sm\:mt-14 {
    margin-top: 3.5rem;
  }

  .sm\:mt-20 {
    margin-top: 5rem;
  }

  .sm\:mt-7 {
    margin-top: 1.75rem;
  }

  .sm\:mt-8 {
    margin-top: 2rem;
  }

  .sm\:block {
    display: block;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:max-h-\[57px\] {
    max-height: 57px;
  }

  .sm\:w-1\/2 {
    width: 50%;
  }

  .sm\:w-2\/12 {
    width: 16.666667%;
  }

  .sm\:w-max {
    width: -moz-max-content;
    width: max-content;
  }

  .sm\:max-w-\[96\%\] {
    max-width: 96%;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:justify-end {
    justify-content: flex-end;
  }

  .sm\:justify-center {
    justify-content: center;
  }

  .sm\:gap-7 {
    gap: 1.75rem;
  }

  .sm\:gap-x-8 {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }

  .sm\:gap-y-10 {
    row-gap: 2.5rem;
  }

  .sm\:border-b {
    border-bottom-width: 1px;
  }

  .sm\:border-b-neutral-200 {
    --tw-border-opacity: 1;
    border-bottom-color: rgb(229 229 229 / var(--tw-border-opacity));
  }

  .sm\:p-7 {
    padding: 1.75rem;
  }

  .sm\:py-22 {
    padding-top: 5.625rem;
    padding-bottom: 5.625rem;
  }

  .sm\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .sm\:pb-0 {
    padding-bottom: 0px;
  }

  .sm\:pb-14 {
    padding-bottom: 3.5rem;
  }

  .sm\:pb-22 {
    padding-bottom: 5.625rem;
  }

  .sm\:pb-24 {
    padding-bottom: 6rem;
  }

  .sm\:pb-26 {
    padding-bottom: 6.5rem;
  }

  .sm\:pb-9 {
    padding-bottom: 2.25rem;
  }

  .sm\:pb-\[3\.3rem\] {
    padding-bottom: 3.3rem;
  }

  .sm\:pl-14 {
    padding-left: 3.5rem;
  }

  .sm\:pr-24 {
    padding-right: 6rem;
  }

  .sm\:pt-12 {
    padding-top: 3rem;
  }

  .sm\:pt-16 {
    padding-top: 4rem;
  }

  .sm\:pt-22 {
    padding-top: 5.625rem;
  }

  .sm\:pt-7 {
    padding-top: 1.75rem;
  }

  .sm\:pt-\[60px\] {
    padding-top: 60px;
  }

  .sm\:text-center {
    text-align: center;
  }

  .sm\:text-3xl {
    font-size: 2rem;
    line-height: 2.875rem;
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.75rem;
  }

  .sm\:text-links {
    font-size: 1rem;
    line-height: 1.875rem;
  }

  .sm\:text-mediumHeading {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .sm\:leading-\[22px\] {
    line-height: 22px;
  }
}

@media (min-width: 768px) {
  .md\:order-1 {
    order: 1;
  }

  .md\:order-2 {
    order: 2;
  }

  .md\:my-16 {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  .md\:mb-0 {
    margin-bottom: 0px;
  }

  .md\:mb-10 {
    margin-bottom: 2.5rem;
  }

  .md\:mb-24 {
    margin-bottom: 6rem;
  }

  .md\:mb-25 {
    margin-bottom: 6.25rem;
  }

  .md\:mb-3 {
    margin-bottom: 0.75rem;
  }

  .md\:ml-9 {
    margin-left: 2.25rem;
  }

  .md\:mt-11 {
    margin-top: 2.75rem;
  }

  .md\:mt-22 {
    margin-top: 5.14rem;
  }

  .md\:mt-7 {
    margin-top: 1.75rem;
  }

  .md\:flex {
    display: flex;
  }

  .md\:hidden {
    display: none;
  }

  .md\:w-1\/2 {
    width: 50%;
  }

  .md\:w-2\/12 {
    width: 16.666667%;
  }

  .md\:w-3\/12 {
    width: 25%;
  }

  .md\:w-30 {
    width: 439px;
  }

  .md\:w-6\/12 {
    width: 50%;
  }

  .md\:w-7\/12 {
    width: 58.333333%;
  }

  .md\:w-8\/12 {
    width: 66.666667%;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:flex-row-reverse {
    flex-direction: row-reverse;
  }

  .md\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .md\:gap-6 {
    gap: 1.5rem;
  }

  .md\:px-11 {
    padding-left: 2.75rem;
    padding-right: 2.75rem;
  }

  .md\:px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .md\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .md\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .md\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .md\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .md\:pb-\[139px\] {
    padding-bottom: 139px;
  }

  .md\:pe-16 {
    -webkit-padding-end: 4rem;
            padding-inline-end: 4rem;
  }

  .md\:ps-14 {
    -webkit-padding-start: 3.5rem;
            padding-inline-start: 3.5rem;
  }

  .md\:text-3xl {
    font-size: 2rem;
    line-height: 2.875rem;
  }
}

@media (min-width: 1024px) {
  .lg\:left-0 {
    left: 0px;
  }

  .lg\:order-1 {
    order: 1;
  }

  .lg\:order-2 {
    order: 2;
  }

  .lg\:mx-22 {
    margin-left: 5.14rem;
    margin-right: 5.14rem;
  }

  .lg\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }

  .lg\:-ml-4 {
    margin-left: -1rem;
  }

  .lg\:-ml-7 {
    margin-left: -1.75rem;
  }

  .lg\:mb-0 {
    margin-bottom: 0px;
  }

  .lg\:mb-32 {
    margin-bottom: 8rem;
  }

  .lg\:ml-0 {
    margin-left: 0px;
  }

  .lg\:ml-8 {
    margin-left: 2rem;
  }

  .lg\:mr-0 {
    margin-right: 0px;
  }

  .lg\:mt-0 {
    margin-top: 0px;
  }

  .lg\:mt-16 {
    margin-top: 4rem;
  }

  .lg\:block {
    display: block;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:w-1\/2 {
    width: 50%;
  }

  .lg\:w-3\/12 {
    width: 25%;
  }

  .lg\:w-5\/12 {
    width: 41.666667%;
  }

  .lg\:w-6\/12 {
    width: 50%;
  }

  .lg\:w-7\/12 {
    width: 58.333333%;
  }

  .lg\:w-auto {
    width: auto;
  }

  .lg\:flex-1 {
    flex: 1 1 0%;
  }

  .lg\:basis-9\/12 {
    flex-basis: 75%;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:items-start {
    align-items: flex-start;
  }

  .lg\:justify-center {
    justify-content: center;
  }

  .lg\:gap-10 {
    gap: 2.5rem;
  }

  .lg\:gap-7 {
    gap: 1.75rem;
  }

  .lg\:pb-\[50px\] {
    padding-bottom: 50px;
  }

  .lg\:pl-8 {
    padding-left: 2rem;
  }

  .lg\:pr-3 {
    padding-right: 0.75rem;
  }

  .lg\:pr-8 {
    padding-right: 2rem;
  }

  .lg\:pt-0 {
    padding-top: 0px;
  }

  .lg\:pt-16 {
    padding-top: 4rem;
  }

  .lg\:pt-\[110px\] {
    padding-top: 110px;
  }

  .lg\:text-\[2rem\] {
    font-size: 2rem;
  }

  .lg\:text-large {
    font-size: 1.25rem;
    line-height: 2.375rem;
  }

  .lg\:leading-\[2\.875rem\] {
    line-height: 2.875rem;
  }
}

@media (min-width: 1280px) {
  .xl\:m-0 {
    margin: 0px;
  }

  .xl\:-ml-0 {
    margin-left: -0px;
  }

  .xl\:-ml-5 {
    margin-left: -1.25rem;
  }

  .xl\:mb-0 {
    margin-bottom: 0px;
  }

  .xl\:mb-5 {
    margin-bottom: 1.25rem;
  }

  .xl\:ml-10 {
    margin-left: 2.5rem;
  }

  .xl\:ml-auto {
    margin-left: auto;
  }

  .xl\:mr-0 {
    margin-right: 0px;
  }

  .xl\:mt-12 {
    margin-top: 3rem;
  }

  .xl\:block {
    display: block;
  }

  .xl\:flex {
    display: flex;
  }

  .xl\:hidden {
    display: none;
  }

  .xl\:w-1\/3 {
    width: 33.333333%;
  }

  .xl\:w-2\/12 {
    width: 16.666667%;
  }

  .xl\:w-3\/12 {
    width: 25%;
  }

  .xl\:w-full {
    width: 100%;
  }

  .xl\:max-w-full {
    max-width: 100%;
  }

  .xl\:basis-9\/12 {
    flex-basis: 75%;
  }

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .xl\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .xl\:flex-col {
    flex-direction: column;
  }

  .xl\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .xl\:gap-4 {
    gap: 20px;
  }

  .xl\:px-14 {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  .xl\:pl-32 {
    padding-left: 8rem;
  }

  .xl\:pr-18 {
    padding-right: 4.4rem;
  }

  .xl\:pr-32 {
    padding-right: 8rem;
  }

  .xl\:pt-24 {
    padding-top: 6rem;
  }

  .xl\:text-center {
    text-align: center;
  }
}

@media (min-width: 1536px) {
  .\32xl\:mb-0 {
    margin-bottom: 0px;
  }

  .\32xl\:max-w-full {
    max-width: 100%;
  }
}
