/*!
Theme Name: weblance
Theme URI: https://underscores.me/
Author: Automattic
Author URI: https://automattic.com/
Description: Restored base stylesheet for weblance theme.
Version: 1.0.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: weblance
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* Hide native scrollbar globally. */
html {
	scrollbar-width: none;
	-ms-overflow-style: none;
}
html::-webkit-scrollbar {
	display: none;
}

/* Font imports (must stay before any CSS rules). */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Unbounded:wght@400;500;600;700&display=swap");

/* Global design tokens (colors, spacing, type scale). */
:root {
	--color: #da271d;
	--page-bg: #082a54;
	--text-on-dark: #ffffff;
	--text-primary: #082a54;
	--surface: #ffffff;
	--border-on-dark: rgba(255, 255, 255, 0.9);
	--border-on-light: rgba(8, 42, 84, 0.16);

	/* Spacing scale (desktop 1920 baseline). */
	--padding: 50px;
	--calc-padding: max(var(--padding), calc((100vw - 1920px) / 2 + var(--padding)));
	--verti-padding-big: 84px;
	/* Sekcje typu oddziały / marki / opinie — padding pionowy (łatwa zmiana w jednym miejscu). */
	--weblance-section-pad-y: calc(var(--verti-padding-big) * 2);
	--section-transition-fade: 20vh;
	--floating-bottom: 28px;

	--font-family-base: "Montserrat", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--font-family-heading: "Montserrat", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--font-family-accent: "Unbounded", "Montserrat", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	/* Typography scale (desktop 1920 baseline). */
	--font-size-h1: 62px;
	--font-size-h2: 48px;
	--font-size-h3: 36px;
	--font-size-h4: 28px;
	--font-size-h5: 22px;
	--font-size-h6: 18px;
	--font-size-normal: 18px;
	--font-size-small: 14px;

	/* Header tokens. */
	--header-pad-y: 0;
	--header-row-gap: 24px;
	--logo-max-height: 46px;
	--menu-font-size: 22px;
	--menu-letter-spacing: 0.07em;
	--cta-font-size: 22px;
	--cta-font-weight: 400;
	--cta-pad-y: 30px;
	--cta-pad-x-left: 34px;
	--cta-pad-x-right: 34px;
	--cta-radius-left: 53px;
	--cta-radius-right: 0;
	--cta-icon-w: 36px;
	--cta-icon-h: 24px;
	--etapy-heading-1a-size: 48px;
	--etapy-text-1-size: 16px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: auto;
	font-family: var(--font-family-base);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
	overflow-x: hidden;
}

body {
	margin: 0;
	font-family: var(--font-family-base);
	font-size: var(--font-size-normal);
	line-height: 1.55;
	color: var(--text-on-dark);
	background: var(--page-bg);
	padding-top: var(--header-offset, 0px);
	overflow-x: hidden;
	overflow-x: clip;
}

#page,
.site,
.site-main {
	max-width: 100%;
}

/* Ensure every standard control uses the same typeface. */
button,
input,
select,
textarea,
a {
	font-family: var(--font-family-base);
}

a {
	color: inherit;
}

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

.site-main {
	min-height: 50vh;
}

.site-header,
.site-footer {
	padding-left: var(--calc-padding);
	padding-right: var(--calc-padding);
}

.site-header {
	padding-top: var(--header-pad-y);
	padding-bottom: var(--header-pad-y);
}

.site-footer {
	padding-top: 24px;
	padding-bottom: 24px;
}

/* Footer (ACF: Ustawienia strony — zakładka Stopka). */
.site-footer--flycars {
	padding-top: clamp(2.5rem, 5vw, 4.25rem);
	padding-bottom: clamp(1.75rem, 3vw, 2.5rem);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.12) 0%,
		transparent 42%
	);
}

.site-footer--flycars .site-footer__shell {
	max-width: 100%;
	margin: 0 auto;
}

.site-footer--flycars .site-footer__main {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	grid-template-columns: 1fr;
	align-items: start;
}

@media (min-width: 768px) {
	.site-footer--flycars .site-footer__main {
		grid-template-columns: minmax(12rem, 20rem) minmax(0, 1fr);
	}
}

.site-footer--flycars .site-footer__col-left {
	min-width: 0;
}

.site-footer--flycars .site-footer__col-right {
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 4vw, 2.75rem);
	min-width: 0;
}

.site-footer--flycars .site-footer__brand-block {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.site-footer--flycars .site-footer__logo .custom-logo-link {
	display: block;
	width: 100%;
	line-height: 0;
}

.site-footer--flycars .site-footer__logo .custom-logo {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
}

.site-footer--flycars .site-footer__site-name {
	font-family: var(--font-family-accent);
	font-weight: 600;
	font-size: var(--font-size-h6);
	text-decoration: none;
	color: var(--text-on-dark);
	letter-spacing: -0.02em;
	transition: color 0.2s ease;
}

.site-footer--flycars .site-footer__site-name:hover {
	color: var(--color);
}

.site-footer--flycars .site-footer__columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10.25rem, 1fr));
	gap: clamp(1.5rem, 3vw, 2.75rem) clamp(1.25rem, 3vw, 2.5rem);
}

.site-footer--flycars .site-footer__oddzialy-heading {
	margin: 0 0 1rem;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
	font-family: var(--font-family-accent);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
}

.site-footer--flycars .site-footer__oddzialy-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.25rem, 2.5vw, 1.75rem);
}

@media (min-width: 520px) {
	.site-footer--flycars .site-footer__oddzialy-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

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

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

.site-footer--flycars .site-footer__oddzial-card {
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
}

.site-footer--flycars .site-footer__oddzial-title {
	margin: 0 0 0.5rem;
	font-family: var(--font-family-heading);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.25;
}

.site-footer--flycars .site-footer__oddzial-title a {
	color: var(--text-on-dark);
	font-weight: 500;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.site-footer--flycars .site-footer__oddzial-title a:hover {
	opacity: 0.85;
}

.site-footer--flycars .site-footer__oddzial-address {
	margin: 0 0 0.45rem;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.72);
}

.site-footer--flycars .site-footer__oddzial-phone {
	font-size: 0.875rem;
	font-weight: 400;
	color: #fff;
	text-decoration: none;
}

.site-footer--flycars .site-footer__oddzial-phone:hover {
	text-decoration: underline;
}

.site-footer--flycars .site-footer__column-title {
	margin: 0 0 1rem;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
	font-family: var(--font-family-accent);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
}

.site-footer--flycars .site-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.site-footer--flycars .site-footer__link {
	font-size: 0.9375rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none;
	transition: color 0.2s ease, transform 0.2s ease;
}

.site-footer--flycars .site-footer__link:hover {
	color: var(--color);
}

.site-footer--flycars .site-footer__rule {
	height: 1px;
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 clamp(1rem, 2vw, 1.35rem);
	background: linear-gradient(
		90deg,
		transparent,
		rgba(255, 255, 255, 0.18) 20%,
		rgba(255, 255, 255, 0.18) 80%,
		transparent
	);
}

.site-title,
.entry-title,
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-family-heading);
	color: inherit;
	line-height: 1.18;
	letter-spacing: -0.015em;
}

h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }
h4 { font-size: var(--font-size-h4); }
h5 { font-size: var(--font-size-h5); }
h6 { font-size: var(--font-size-h6); }

.entry-content,
.entry-summary,
.page-content {
	line-height: 1.6;
}

/* After statek pin-spacer (z-index: 2), lift following flexible blocks above it + fixed ship */
.entry-content > .pin-spacer:has(> .block-statek-scroll) ~ * {
	position: relative;
	z-index: 5;
}

.standard-padding {
	padding: var(--verti-padding-big) var(--calc-padding);
}

.content-pojazdy__content {
	padding-left: var(--calc-padding);
	padding-right: var(--calc-padding);
}

.content-pojazdy__content img {
	max-width: 100%;
	height: auto;
}

.content-pojazdy-lightbox {
	position: fixed;
	inset: 0;
	z-index: 10020;
	background: rgba(6, 14, 28, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px;
}

.content-pojazdy-lightbox[hidden] {
	display: none;
}

.content-pojazdy-lightbox__stage {
	max-width: min(92vw, 1400px);
	max-height: calc(100vh - 64px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.content-pojazdy-lightbox__image {
	max-width: 100%;
	max-height: calc(100vh - 64px);
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 14px;
	box-shadow: 0 20px 70px rgba(0, 0, 0, 0.45);
}

.content-pojazdy-lightbox__close {
	position: absolute;
	top: 18px;
	right: 22px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

body.content-pojazdy-lightbox-open {
	overflow: hidden;
}

.block__container {
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* If HERO is the first flexible block, let it sit under fixed header. */
.entry-content > .block-hero:first-child {
	margin-top: calc(var(--header-offset, 0px) * -1);
}

/* Global HERO rendered outside .entry-content — same treatment. */
.block-hero--global {
	margin-top: calc(var(--header-offset, 0px) * -1);
}

.button-standard {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	max-width: 100%;
	min-height: 46px;
	padding: 12px 24px;
	border-radius: 999px;
	border: 1px solid var(--color);
	background: var(--color);
	color: #fff;
	font-size: var(--font-size-normal);
	text-decoration: none;
	text-align: center;
	white-space: normal;
	word-break: break-word;
	transition: transform 0.2s ease, filter 0.2s ease, background 0.2s ease;
}

.button-standard:hover {
	transform: translateY(-2px);
	filter: brightness(1.08);
}

.button-standard--outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	max-width: 100%;
	min-height: 46px;
	padding: 12px 24px;
	border-radius: 999px;
	border: 2px solid #ffffff33;
	background: rgba(255, 255, 255, 0.04);
	color: #fff;
	font-size: var(--font-size-normal);
	text-decoration: none;
	text-align: center;
	white-space: normal;
	word-break: break-word;
	box-shadow: 4px 4px 12.9px 0 rgba(0, 0, 0, 0.25);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.button-standard--outline:hover {
	transform: translateY(-2px);
	border-color: var(--color);
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
}

.standard-wrapper-buttons {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
}

/* Helper class for future "special" elements. */
.font-accent,
[data-font="accent"] {
	font-family: var(--font-family-accent);
}

/* FlyCars fixed header. */
.site-header--flycars {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	background: transparent;
	border-bottom: 0;
	transition: transform 0.26s ease, background-color 0.26s ease, border-color 0.26s ease,
		backdrop-filter 0.26s ease;
	padding-top: 0;
	padding-bottom: 0;
	/* Limit visual content to 1920 using dynamic side paddings (no max-width). */
	padding-left: var(--calc-padding);
	padding-right: var(--calc-padding);
}

/* Sit below WP admin bar when logged in (matches core admin-bar breakpoints). */
body.admin-bar .site-header--flycars {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .site-header--flycars {
		top: 46px;
	}
}

.site-header--flycars.is-scrolled {
	background: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom-color: transparent;
}

.site-header--flycars.is-scroll-up-visible {
	background: var(--page-bg);
}

.site-header--flycars.is-hidden {
	transform: translateY(-104%);
}

.site-header__row {
	width: 100%;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--header-row-gap);
	padding-top: var(--header-pad-y);
	padding-bottom: var(--header-pad-y);
}

.site-header__left,
.site-header__right {
	display: flex;
	align-items: center;
	min-width: 0;
}

.site-header__right {
	gap: 40px;
	justify-content: flex-end;
}

.site-header__social {
	display: flex;
	gap: 20px;
}

.site-header__social-link {
	display: flex;
	height: 49px;
	width: 49px;
	justify-content: center;
	align-items: center;
	border-radius: 100%;
	border: 1px solid white;
	color: #fff;
	text-decoration: none;
}

.site-header__social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
}

.site-header__social-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.site-branding .custom-logo {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: var(--logo-max-height);
}

.site-branding .site-title {
	font-size: var(--font-size-h6);
	text-decoration: none;
	color: #fff;
	font-weight: 600;
}

.site-header__menu-toggle {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
	font-size: var(--menu-font-size);
	font-weight: 400;
	letter-spacing: var(--menu-letter-spacing);
	line-height: 1;
	text-transform: uppercase;
}

.site-header__menu-toggle:hover {
	opacity: 0.9;
}

.site-header__menu-toggle-icon {
	display: inline-block;
	width: 35px;
	height: 2px;
	background: currentColor;
	position: relative;
	transition: background 0.22s ease;
	transform: translateY(1px);
}

.site-header__menu-toggle-icon::before,
.site-header__menu-toggle-icon::after {
	content: "";
	position: absolute;
	left: 0;
	width: 35px;
	height: 2px;
	background: currentColor;
	transition: transform 0.22s ease, top 0.22s ease;
}

.site-header__menu-toggle-icon::before {
	top: -9px;
}

.site-header__menu-toggle-icon::after {
	top: 9px;
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-toggle-icon {
	background: transparent;
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-toggle-icon::before {
	top: 0;
	transform: rotate(45deg);
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-toggle-icon::after {
	top: 0;
	transform: rotate(-45deg);
}

.site-header__cta {
	white-space: nowrap;
	padding: var(--cta-pad-y) var(--cta-pad-x-right) var(--cta-pad-y) var(--cta-pad-x-left);
	border-radius: var(--cta-radius-left) var(--cta-radius-right) var(--cta-radius-right) var(--cta-radius-left);
	font-weight: var(--cta-font-weight);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	background: var(--color);
	border-color: transparent;
	margin-right: calc(var(--padding) * -1);
	font-size: var(--cta-font-size);
	letter-spacing: -0.012em;
	line-height: 1;
	position: relative;
}

.site-header__cta:hover {
	transform: none;
	filter: none;
}

.site-header__cta-label {
	line-height: 1;
	font-weight: var(--cta-font-weight);
}

.site-header__cta-icon {
	width: var(--cta-icon-w);
	height: var(--cta-icon-h);
	object-fit: contain;
	object-position: center;
}

.flycars-mobile-menu-overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(8, 42, 84, 0.96);
	color: #fff;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.24s ease, visibility 0.24s ease;
}

.flycars-mobile-menu-overlay[hidden] {
	display: none;
}

.flycars-mobile-menu-overlay__inner {
	padding: 140px var(--calc-padding) 48px;
	height: 100%;
	overflow: auto;
	overflow-x: clip;
	transform: translateY(16px);
	opacity: 0;
	transition: transform 0.24s ease, opacity 0.24s ease;
}

.flycars-mobile-menu-overlay.is-open,
.flycars-mobile-menu-overlay.is-closing {
	visibility: visible;
}

.flycars-mobile-menu-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
}

.flycars-mobile-menu-overlay.is-open .flycars-mobile-menu-overlay__inner {
	transform: translateY(0);
	opacity: 1;
}

.mobile-navigation .menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.mobile-navigation .menu > li {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.flycars-mobile-menu-overlay.is-open .mobile-navigation .menu > li {
	opacity: 1;
	transform: translateY(0);
}

.flycars-mobile-menu-overlay.is-open .mobile-navigation .menu > li:nth-child(1) {
	transition-delay: 0.04s;
}

.flycars-mobile-menu-overlay.is-open .mobile-navigation .menu > li:nth-child(2) {
	transition-delay: 0.08s;
}

.flycars-mobile-menu-overlay.is-open .mobile-navigation .menu > li:nth-child(3) {
	transition-delay: 0.12s;
}

.flycars-mobile-menu-overlay.is-open .mobile-navigation .menu > li:nth-child(4) {
	transition-delay: 0.16s;
}

.flycars-mobile-menu-overlay.is-open .mobile-navigation .menu > li:nth-child(n+5) {
	transition-delay: 0.2s;
}

.mobile-navigation a {
	color: #fff;
	text-decoration: none;
	font-size: var(--font-size-h4);
	overflow-wrap: anywhere;
}

/* ── Sub-menu (overlay menu: mobile + desktop) ── */
.mobile-navigation .menu-item-has-children {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 8px;
	row-gap: 8px;
}

.mobile-navigation .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	max-width: calc(100% - 32px);
}

.mobile-navigation .sub-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
	margin-left: 0;
	border: none;
	background: none;
	color: #fff;
	cursor: pointer;
	vertical-align: middle;
	align-self: center;
	flex: 0 0 auto;
}

.mobile-navigation .sub-menu-toggle:hover,
.mobile-navigation .sub-menu-toggle:focus {
	color: var(--color);
	outline: none;
}

.mobile-navigation .sub-menu-toggle svg {
	transition: transform 0.25s ease;
}

.mobile-navigation .sub-menu-toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.mobile-navigation .sub-menu {
	list-style: none;
	margin: 0;
	padding: 10px 0 4px 18px;
	flex: 0 0 100%;
	display: flex;
	flex-direction: column;
	gap: 8px;
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.25s ease;
	border-left: 2px solid rgba(255, 255, 255, 0.15);
}

.mobile-navigation .sub-menu.is-expanded {
	max-height: 600px;
	opacity: 1;
	padding: 10px 0 4px 18px;
}

.mobile-navigation .sub-menu:not(.is-expanded) {
	padding-top: 0;
	padding-bottom: 0;
}

.mobile-navigation .sub-menu a {
	font-size: var(--font-size-h5);
	color: #fff;
	transition: color 0.2s ease;
}

.mobile-navigation .sub-menu a:hover {
	color: var(--color);
}

.mobile-navigation .sub-menu .sub-menu {
	padding-left: 14px;
	border-left-color: rgba(255, 255, 255, 0.1);
}

.mobile-navigation .sub-menu .sub-menu a {
	font-size: var(--font-size-normal);
}

.flycars-mobile-menu-overlay__cta {
	margin-top: 28px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.22s ease 0.16s, transform 0.22s ease 0.16s;
}

.flycars-mobile-menu-overlay__social {
	display: flex;
	gap: 20px;
	margin-top: 30px;
}

.flycars-mobile-menu-overlay.is-open .flycars-mobile-menu-overlay__cta {
	opacity: 1;
	transform: translateY(0);
}

.flycars-floating-cta {
	position: fixed;
	right: var(--calc-padding);
	bottom: var(--floating-bottom);
	z-index: 9997;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.flycars-floating-cta__item {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, 0.65);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
}

.flycars-floating-cta__item:last-child {
	background: var(--color);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.flycars-floating-cta__item img {
	width: 31px;
	height: 31px;
	object-fit: contain;
}

.flycars-floating-cta__item span {
	color: #fff;
	font-weight: 600;
}

@media (max-width: 786px) {
	:root {
		--verti-padding-big: 56px;
	}
}

/* 8 responsive breakpoints */
@media (max-width: 1919px) {
	:root {
		--verti-padding-big: 76px;
		--font-size-h1: 56px;
		--font-size-h2: 44px;
		--font-size-h3: 34px;
		--font-size-h4: 27px;
		--font-size-h5: 21px;
		--font-size-h6: 18px;
		--font-size-normal: 17px;
		--font-size-small: 14px;
		--cta-font-size: 20px;
		--cta-pad-y: 30px;
		--logo-max-height: 44px;
		--floating-bottom: 24px;
	}
}

@media (max-width: 1599px) {
	:root {
		--verti-padding-big: 68px;
		--font-size-h1: 50px;
		--font-size-h2: 40px;
		--font-size-h3: 31px;
		--font-size-h4: 25px;
		--font-size-h5: 20px;
		--font-size-h6: 17px;
		--font-size-normal: 16px;
		--font-size-small: 13px;
		--cta-font-size: 19px;
		--cta-pad-y: 25px;
		--logo-max-height: 42px;
		--header-row-gap: 20px;
	}
}

@media (max-width: 1439px) {
	:root {
		--verti-padding-big: 58px;
		--font-size-h1: 44px;
		--font-size-h2: 35px;
		--font-size-h3: 28px;
		--font-size-h4: 23px;
		--font-size-h5: 19px;
		--font-size-h6: 16px;
		--font-size-normal: 15px;
		--font-size-small: 13px;
		--cta-font-size: 19px;
		--cta-pad-y: 25px;
		--cta-icon-w: 32px;
		--menu-font-size: 16px;
	}
}

@media (max-width: 1279px) {
	:root {
		--verti-padding-big: 50px;
		--font-size-h1: 39px;
		--font-size-h2: 31px;
		--font-size-h3: 25px;
		--font-size-h4: 21px;
		--font-size-h5: 18px;
		--font-size-h6: 15px;
		--font-size-normal: 15px;
		--font-size-small: 12px;
		--cta-font-size: 17px;
		--cta-pad-y: 24px;
		--cta-icon-w: 28px;
		--cta-icon-h: 20px;
	}
}

@media (max-width: 1023px) {
	:root {
		--padding: 30px;
		--verti-padding-big: 44px;
		--font-size-h1: 35px;
		--font-size-h2: 28px;
		--font-size-h3: 23px;
		--font-size-h4: 20px;
		--font-size-h5: 17px;
		--font-size-h6: 15px;
		--font-size-normal: 14px;
		--font-size-small: 12px;
		--cta-font-size: 15px;
		--cta-pad-y: 21px;
		--menu-font-size: 14px;
		--header-row-gap: 16px;
	}
}

@media (max-width: 899px) {
	:root {
		--verti-padding-big: 40px;
		--font-size-h1: 32px;
		--font-size-h2: 26px;
		--font-size-h3: 22px;
		--font-size-h4: 19px;
		--font-size-h5: 16px;
		--font-size-h6: 14px;
		--font-size-normal: 14px;
		--font-size-small: 12px;
		--cta-font-size: 14px;
		--cta-pad-y: 18px;
		--cta-icon-w: 24px;
		--cta-icon-h: 18px;
		--logo-max-height: 38px;
	}

	.site-header__social {
		display: none;
	}
}

@media (max-width: 767px) {
	:root {
		--padding: 20px;
		--verti-padding-big: 36px;
		--font-size-h1: 28px;
		--font-size-h2: 24px;
		--font-size-h3: 20px;
		--font-size-h4: 18px;
		--font-size-h5: 15px;
		--font-size-h6: 14px;
		--font-size-normal: 14px;
		--font-size-small: 12px;
		--header-pad-y: 8px;
		--logo-max-height: 34px;
		--menu-font-size: 14px;
		--floating-bottom: 18px;
	}

	.site-header__cta {
		display: none;
	}

	.site-header__row {
		gap: 10px;
	}

	.site-header__menu-toggle-label {
		display: none;
	}

	.site-header__menu-toggle {
		gap: 0;
		flex: 0 0 auto;
	}

	.site-branding,
	.site-header__left,
	.site-header__right {
		min-width: 0;
	}

	.site-branding {
		max-width: calc(100vw - 84px);
	}

	.flycars-mobile-menu-overlay__cta,
	.standard-wrapper-buttons {
		width: 100%;
	}

	.flycars-mobile-menu-overlay__cta > a,
	.standard-wrapper-buttons > a,
	.standard-wrapper-buttons > .button-standard,
	.standard-wrapper-buttons > .button-standard--outline {
		width: 100%;
	}

	.flycars-floating-cta {
		right: 12px;
		bottom: 12px;
		gap: 8px;
	}

	.flycars-floating-cta__item {
		width: 56px;
		height: 56px;
	}

	.flycars-floating-cta__item img {
		width: 24px;
		height: 24px;
	}
}

@media (min-width: 1921px) {
	/* Fill the right-side extra viewport space with CTA color. */
	.site-header__cta::after {
		content: "";
		position: absolute;
		top: -1px;
		bottom: -1px;
		right: calc((100vw - 1920px) / -2);
		width: calc((100vw - 1920px) / 2);
		background: var(--color);
		pointer-events: none;
	}
}

@media (max-width: 575px) {
	:root {
		--verti-padding-big: 28px;
		--font-size-h1: 24px;
		--font-size-h2: 22px;
		--font-size-h3: 19px;
		--font-size-h4: 17px;
		--font-size-h5: 15px;
		--font-size-h6: 13px;
		--font-size-normal: 13px;
		--font-size-small: 11px;
		--header-pad-y: 10px;
		--logo-max-height: 30px;
		--menu-font-size: 14px;
		--header-row-gap: 12px;
	}
}

/* ── Scroll progress bar (bottom, red fill) ── */
#scroll-progress {
	position: fixed;
	bottom: 0;
	left: 0;
	height: 10px;
	width: 0%;
	background: var(--color);
	z-index: 9999;
	pointer-events: none;
	will-change: width;
}

/* ── Custom scrollbar (right edge) ── */
#custom-scrollbar {
	position: fixed;
	top: 0;
	right: 0;
	width: 11px;
	height: 100vh;
	z-index: 9998;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s;
}
#custom-scrollbar.is-visible {
	opacity: 1;
}
#custom-scrollbar-thumb {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	min-height: 40px;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.35);
	pointer-events: auto;
	cursor: grab;
	will-change: transform;
	transition: background 0.2s;
}
#custom-scrollbar-thumb:hover,
#custom-scrollbar-thumb:active {
	background: rgba(255, 255, 255, 0.55);
	width: 100%;
}
body.admin-bar #custom-scrollbar {
	top: 32px;
	height: calc(100vh - 32px);
}
@media (max-width: 782px) {
	body.admin-bar #custom-scrollbar {
		top: 46px;
		height: calc(100vh - 46px);
	}
}

/* Custom scrollbar obsługuje tylko zdarzenia myszki — na urządzeniach
   dotykowych (telefony/tablety) pojawiał się pasek, którego palcem nie
   dało się przeciągnąć. Ukrywamy go tam w całości, aby nie mylić UX.
   Przewijanie palcem po ekranie działa bez zmian. */
@media (hover: none) and (pointer: coarse) {
	#custom-scrollbar {
		display: none !important;
	}
}

/* ── Global floating ship ── */
.global-ship {
	position: fixed;
	z-index: -1;
	pointer-events: none;
	top: 50%;
	left: 50%;
	opacity: 0;
}

.global-ship-lane {
	position: fixed;
	top: 50%;
	left: 50%;
	width: var(--global-ship-lane-length, 100vw);
	height: var(--global-ship-lane-height, 6px);
	background: transparent;
	transform: translate(-50%, -50%);
	transform-origin: 50% 50%;
	border-radius: 999px;
	z-index: -1;
	pointer-events: none;
	opacity: 0;
}

.global-ship.is-guard-hidden,
.global-ship-lane.is-guard-hidden {
	opacity: 0 !important;
	visibility: hidden !important;
}

/* Keep selected sections above the global ship/lane layer. */
.block-mapa,
.block-statek-scroll,
.pin-spacer:has(> .block-statek-scroll) {
	position: relative;
	z-index: 2;
}

.global-ship img {
	display: block;
	width: var(--global-ship-size, 300px);
	height: auto;
	object-fit: contain;
	opacity: 0.2;
}

/* ── Fixed gradient backdrop ── */
.bg-gradient {
	position: fixed;
	inset: 0;
	z-index: -1;
	width: 100vw;
	height: 100vh;
	background: linear-gradient(180deg, #0A3061 0%, #002451 100%);
	pointer-events: none;
}

/* ── Grid guide lines (fixed, above backgrounds, below interactive content) ── */
.grid-lines {
	position: fixed;
	inset: 0;
	z-index: 0;
	padding: 0 var(--calc-padding);
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}

.grid-lines span {
	display: block;
	width: 1px;
	height: 100%;
	background: rgba(255, 255, 255, 0.03);
}

@media (max-width: 767px) {
	.grid-lines span:nth-child(2),
	.grid-lines span:nth-child(4) {
		display: none;
	}
}

/* ── Boczny kicker (Etapy scroll / Etapy droga): poza copy, tekst wyśrodkowany, obrót 90° ── */
.weblance-copy-side-kicker {
	position: absolute;
	top: 0;
	bottom: 0;
	width: var(--weblance-kicker-width, 40px);
	overflow: hidden;
	pointer-events: none;
	background: var(--color, #da271d);
	color: #fff;
	font-size: var(--font-size-normal, 16px);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.weblance-copy-side-kicker__inner {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(70vh, 480px);
	height: var(--weblance-kicker-width, 40px);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
}

@media (max-width: 767px) {
	.weblance-copy-side-kicker {
		--weblance-kicker-width: 30px;
	}
}

.weblance-copy-side-kicker__text {
	display: block;
	white-space: nowrap;
}

/* Kreska po prawej → kicker po lewej; obrót -90°. */
.weblance-copy-side-kicker--line-right .weblance-copy-side-kicker__inner {
	transform: translate(-50%, -50%) rotate(-90deg);
}

/* Kreska po lewej → kicker po prawej; obrót +90°. */
.weblance-copy-side-kicker--line-left .weblance-copy-side-kicker__inner {
	transform: translate(-50%, -50%) rotate(90deg);
}

@media (max-width: 1919px) {
	.block-etapy-scroll__step::after,
	.block-etapy-drogowe__step-wrap::after,
	.block-statek-scroll__copy::after,
	.block-cta-scroll__copy::after {
		display: none;
	}
}

.wp-block-column {
    flex-basis: 100% !important;
}
.site-footer__logo img {
    max-width: min(200px, 60%) !important;
    margin: auto;
}

/* Quick contact popup (#szybkikontakt). */
.weblance-quick-contact {
	position: fixed;
	inset: 0;
	z-index: 11000;
	display: none;
	place-items: center;
	padding: clamp(24px, 3vw, 44px) clamp(20px, 2.6vw, 36px) clamp(20px, 2.2vw, 32px);
	overflow-y: auto;
	overflow-x: hidden;
}

.weblance-quick-contact.is-open {
	display: grid;
	background: rgba(5, 20, 40, 0.72);
}

.weblance-quick-contact__backdrop {
	position: absolute;
	inset: 0;
	background: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.weblance-quick-contact__dialog {
	position: relative;
	z-index: 1;
	width: min(760px, 100%);
	max-height: none;
	overflow: visible;
	padding: clamp(18px, 2.4vw, 34px);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 0;
	background: #082a54;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
	color: #fff;
	outline: none;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.weblance-quick-contact__close {
	position: absolute;
	top: -10px;
	right: -10px;
	z-index: 3;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 0;
	background: var(--page-bg);
	color: #fff;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease;
}

.weblance-quick-contact__close:hover {
	background: #0a3061;
}

.weblance-quick-contact__heading {
	margin-right: 48px;
	margin-bottom: 0;
}

.weblance-quick-contact__heading p {
	margin: 0;
}

.weblance-quick-contact__text {
	font-size: var(--font-size-normal);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
	margin-bottom: 4px;
}

.weblance-quick-contact__text p {
	margin: 0 0 12px;
}

.weblance-quick-contact__text p:last-child {
	margin-bottom: 0;
}

.weblance-quick-contact__form-wrap {
	margin-top: 4px;
}

@media (max-width: 767px) {
	.weblance-quick-contact {
		padding: 56px 20px 20px;
	}

	.weblance-quick-contact__dialog {
		width: 100%;
		max-height: none;
		padding: 20px;
		border-radius: 0;
	}

	.weblance-quick-contact__close {
		top: -10px;
		right: -10px;
	}

	.weblance-quick-contact__heading {
		margin-right: 44px;
	}
}

.block-kafelki-parallax__intro-segment .wp-block-image img {
    width: 100%;
    margin-top: 30px;
}