/* =========================================================
   ŠIBOR.CZ – main.css (header + footer)
   Breakpoints (stejné jako Elementor): mobil ≤767, tablet 768–1024, desktop ≥1025
   Selektory jsou prefixované .sb-header / .sb-footer, aby je nepřebily
   globální styly Elementor kitu (.elementor-kit-14 a / button).
   ========================================================= */

:root {
	--sb-orange: #ff9213;
	--sb-dark: #1a1d20;
	--sb-navy: #253f7c;
	--sb-white: #fff;
	--sb-text: #334155;
	--sb-heading: #1e293b;
	--sb-muted: #c2c2c2;
	--sb-line: #90909073;
	--sb-card-line: #e3e7ee;
	--sb-card-hover: #f8fafc;
	--sb-tint: #fafbfe;
	--sb-container: 1250px;
	--sb-gutter: 20px;
	--sb-radius: 10px;
	--sb-font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	/* Jediné písmo na celém webu. Dřív tu byly Inter a Inter Tight (horní lišta, menu, patička). */
	--sb-font-ui: var(--sb-font);
	--sb-font-nav: var(--sb-font);
	--sb-fs-btn: 18px; /* jediná velikost textu tlačítek */
	--sb-admin-bar: 0px;

	/* ---- Jednotná typografická škála (celý web, plynule mobil 375 px → PC 1200 px) ----
	   Skutečné hodnoty přepisuje vybraný styl v ŠIBOR → Vzhled webu (inc/typography.php);
	   tady jsou jen záložní hodnoty = styl „Vyvážený“. Žádná komponenta nemá vlastní velikost
	   textu – vždy jeden z těchto stupňů:
	   H1   34 → 52 px · hlavní nadpis stránky (1× na stránce)
	   H2   28 → 40 px · nadpis sekce
	   H3   21 → 26 px · nadpis karty / bloku
	   H4   18 → 20 px · malý nadpis v kartě (kontakty, kroky, otázky, karty „proč my“)
	   lead 17 → 19 px · úvodní odstavec
	   body 16 → 17 px · běžný text
	   small 14 → 15 px · menší text v kartách, popisky polí, drobečky
	   xs   12 → 13 px · štítky a meta texty (VHODNÝ, KDYŽ · popisky čísel)
	   kicker 14 → 15 px · oranžový štítek nad nadpisem sekce */
	--sb-fs-h1: clamp(34px, calc(25.82px + 2.18vw), 52px);
	--sb-fs-h2: clamp(28px, calc(22.55px + 1.45vw), 40px);
	--sb-fs-h3: clamp(21px, calc(18.73px + .61vw), 26px);
	--sb-fs-h4: clamp(18px, calc(17.09px + .24vw), 20px);
	--sb-fs-lead: clamp(17px, calc(16.09px + .24vw), 19px);
	--sb-fs-body: clamp(16px, calc(15.55px + .12vw), 17px);
	--sb-fs-small: clamp(14px, calc(13.55px + .12vw), 15px);
	--sb-fs-xs: clamp(12px, calc(11.55px + .12vw), 13px);
	--sb-fs-kicker: clamp(14px, calc(13.55px + .12vw), 15px);
	--sb-lh-tight: 1.15;
	--sb-lh-head: 1.25;
	--sb-lh-body: 1.65;

	/* ---- Rytmus ---- */
	--sb-section-y: clamp(56px, 3.2rem + 3.5vw, 110px);
	--sb-gap: clamp(16px, .8rem + 1vw, 28px);
	--sb-gap-lg: clamp(28px, 1.2rem + 2.5vw, 64px);
	--sb-card-radius: 12px;
	--sb-shadow: 0 10px 30px -18px rgba(15, 23, 42, .35);
	--sb-surface: #f8fafc;
}

.admin-bar { --sb-admin-bar: 32px; }
@media (max-width: 782px) { .admin-bar { --sb-admin-bar: 46px; } }
@media (max-width: 600px) { .admin-bar { --sb-admin-bar: 0px; } } /* WP admin bar is not fixed here */

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

body {
	margin: 0;
	font-family: var(--sb-font);
	font-size: 18px;
	line-height: 1.4;
	color: var(--sb-text);
	background: var(--sb-white);
	-webkit-text-size-adjust: 100%;
}

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

.sb-container {
	width: min(var(--sb-container), 100% - 2 * var(--sb-gutter));
	margin-inline: auto;
}

.sb-sr-only {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.sb-skip-link {
	position: absolute;
	left: 10px; top: -100px;
	z-index: 10000;
	padding: 10px 16px;
	background: var(--sb-dark);
	color: var(--sb-white);
	border-radius: 6px;
	font: 600 16px/1.4 var(--sb-font);
	text-decoration: none;
}
.sb-skip-link:focus { top: 10px; }

.sb-icon { display: block; flex: 0 0 auto; width: 1em; height: 1em; }

/* ---------- Button ---------- */
.sb-header .sb-btn,
.sb-footer .sb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 25px;
	border: 0;
	border-radius: var(--sb-radius);
	background: var(--sb-orange);
	color: var(--sb-white);
	font: 600 18px/1.4 var(--sb-font);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .3s, color .3s;
}
.sb-header .sb-btn:hover,
.sb-header .sb-btn:focus-visible { background: var(--sb-dark); color: var(--sb-white); }
.sb-header .sb-btn .sb-icon { font-size: 20px; }

.sb-footer .sb-btn--sm { padding: 7px 15px; }
.sb-footer .sb-btn:hover,
.sb-footer .sb-btn:focus-visible { background: var(--sb-navy); color: var(--sb-white); }

:where(.sb-header, .sb-footer) :focus-visible {
	outline: 2px solid var(--sb-orange);
	outline-offset: 2px;
}

/* =========================================================
   HEADER
   ========================================================= */
.sb-header {
	position: sticky;
	top: var(--sb-admin-bar);
	z-index: 999;
	background: var(--sb-white);
	border-bottom: 1px solid var(--sb-line);
}

/* ----- Top bar (desktop only) ----- */
.sb-header .sb-topbar { background: var(--sb-navy); }

.sb-header .sb-topbar__inner {
	display: flex;
	align-items: center;
	gap: 25px;
	padding: 10px 0;
}

.sb-header .sb-topbar__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--sb-white);
	font: 500 17px/1.4 var(--sb-font-ui);
	text-decoration: none;
	transition: opacity .3s;
}
.sb-header .sb-topbar__link:hover { color: var(--sb-white); opacity: .85; }
.sb-header .sb-topbar__link .sb-icon { font-size: 18px; }

.sb-header .sb-topbar__link--phone {
	padding: 3px 10px;
	border: 2px solid var(--sb-white);
	border-radius: 7px;
	font-weight: 600;
}
.sb-header .sb-topbar__link--phone .sb-icon { font-size: 21px; }

/* ----- Main row ----- */
.sb-header .sb-header__main {
	position: relative;
	padding: 20px 0;
}

.sb-header .sb-header__inner {
	display: grid;
	grid-template-columns: 21% 1fr 21%;
	align-items: center;
	gap: 10px;
}

.sb-header .sb-logo { display: block; line-height: 0; }
.sb-header .sb-logo__img { display: block; width: 100%; height: auto; }

.sb-header .sb-header__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

/* ----- Navigation (desktop) ----- */
.sb-header .sb-nav__list {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	gap: 0 clamp(6px, 1.3vw, 20px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.sb-header .sb-nav__item { position: static; }
.sb-header .sb-nav__row { display: flex; align-items: center; }

.sb-header .sb-nav__link {
	display: block;
	padding: 8px clamp(8px, 0.9vw, 13px);
	color: var(--sb-dark);
	font: 600 18px/1.4 var(--sb-font-nav);
	letter-spacing: .01em;
	white-space: nowrap;
	text-decoration: none;
	transition: color .3s;
}
.sb-header .sb-nav__link:hover,
.sb-header .sb-nav__item.is-current > .sb-nav__row > .sb-nav__link { color: var(--sb-heading); }

.sb-header .sb-nav__item--has-sub .sb-nav__link { padding-right: 4px; }

.sb-header .sb-nav__sub-toggle,
.sb-header .sb-nav__sub-toggle:hover,
.sb-header .sb-nav__sub-toggle:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 8px 8px 8px 3px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--sb-dark);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}
.sb-header .sb-nav__sub-toggle .sb-icon { transition: transform .3s; }
.sb-header .sb-nav__item.is-open .sb-nav__sub-toggle .sb-icon { transform: rotate(180deg); }

.sb-header .sb-nav__item.sb-mobile-only { display: none; }

/* ----- Mega dropdown (Autojeřáby) ----- */
.sb-header .sb-mega {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	padding: 20px;
	background: var(--sb-white);
	border-bottom: 1px solid var(--sb-line);
	box-shadow: 0 12px 24px -16px rgba(15, 23, 42, .25);
	visibility: hidden;
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity .2s, transform .2s, visibility 0s .2s;
}

@media (min-width: 1025px) {
	/* hover bridge between menu title and the panel */
	.sb-header .sb-nav__item--has-sub > .sb-nav__row { position: relative; }
	.sb-header .sb-nav__item--has-sub:hover > .sb-nav__row::after {
		content: "";
		position: absolute;
		left: 0; right: 0; top: 100%;
		height: 40px;
	}

	.sb-header .sb-nav__item--has-sub:hover > .sb-mega,
	.sb-header .sb-nav__item--has-sub:focus-within > .sb-mega,
	.sb-header .sb-nav__item.is-open > .sb-mega {
		visibility: visible;
		opacity: 1;
		transform: none;
		transition: opacity .2s, transform .2s;
	}
	.sb-header .sb-nav__item--has-sub:hover .sb-nav__sub-toggle .sb-icon { transform: rotate(180deg); }
}

.sb-header .sb-mega__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	max-width: 1120px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.sb-header .sb-mega__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 18px 10px 10px;
	border: 1px solid var(--sb-card-line);
	border-radius: 12px;
	background: var(--sb-white);
	color: #1c2d4f;
	text-decoration: none;
	transition: background-color .2s;
}
.sb-header .sb-mega__item:hover,
.sb-header .sb-mega__item:focus-visible { background: var(--sb-card-hover); color: #1c2d4f; }

.sb-header .sb-mega__img {
	flex: 0 0 104px;
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	overflow: hidden;
}
.sb-header .sb-mega__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.sb-header .sb-crane-img--ac25 { rotate: var(--sb-crane-rot-ac25, 0deg); }
.sb-header .sb-crane-img--ac40 { rotate: var(--sb-crane-rot-ac40, 0deg); }
.sb-header .sb-crane-img--ac55 { rotate: var(--sb-crane-rot-ac55, 0deg); }

.sb-header .sb-mega__title {
	flex: 1 1 auto;
	min-width: 0;
	font: 600 17px/1.6 var(--sb-font);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sb-header .sb-mega__arrow {
	flex: 0 0 auto;
	color: var(--sb-orange);
	font-size: 20px;
	line-height: 1;
	transition: transform .2s;
}
.sb-header .sb-mega__item:hover .sb-mega__arrow { transform: translateX(3px); }

/* ----- Malé podmenu bez fotek (O nás): seznam pod položkou s ikonkami ----- */
.sb-header .sb-mega__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 9px;
	background: #fff3e5;
	color: var(--sb-orange);
	font-size: 18px;
}
@media (min-width: 1025px) {
	.sb-header .sb-nav__item--simple { position: relative; }
	.sb-header .sb-mega--list {
		top: calc(100% + 14px);
		left: -12px;
		right: auto;
		min-width: 250px;
		padding: 8px;
		border: 1px solid var(--sb-card-line);
		border-radius: 12px;
		box-shadow: 0 16px 32px -16px rgba(15, 23, 42, .3);
	}
	.sb-header .sb-mega--list .sb-mega__grid { grid-template-columns: 1fr; gap: 2px; max-width: none; }
	.sb-header .sb-mega--list .sb-mega__item { gap: 12px; padding: 8px 12px 8px 8px; border: 0; border-radius: 8px; }
	.sb-header .sb-mega--list .sb-mega__title { font-size: 16px; }
	.sb-header .sb-mega--list .sb-mega__arrow { font-size: 16px; opacity: 0; transition: opacity .2s, transform .2s; }
	.sb-header .sb-mega--list .sb-mega__item:hover .sb-mega__arrow { opacity: 1; }
}
@media (max-width: 1024px) {
	.sb-header .sb-mega--list .sb-mega__grid { grid-template-columns: 1fr; }
}

/* ----- Menu toggle (hamburger) ----- */
.sb-header .sb-menu-toggle,
.sb-header .sb-menu-toggle:hover,
.sb-header .sb-menu-toggle:focus {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--sb-orange);
	color: var(--sb-white);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}
.sb-header .sb-menu-toggle[aria-expanded="true"] { background: var(--sb-white); color: var(--sb-dark); }
.sb-header .sb-menu-toggle__close { display: none; }
.sb-header .sb-menu-toggle[aria-expanded="true"] .sb-menu-toggle__open { display: none; }
.sb-header .sb-menu-toggle[aria-expanded="true"] .sb-menu-toggle__close { display: block; font-size: 22px; }

/* ----- Desktop: narrower screens (1025–1200) ----- */
@media (min-width: 1025px) and (max-width: 1200px) {
	.sb-header .sb-nav__list { gap: 0 4px; }
	.sb-header .sb-nav__link { padding-inline: 7px; font-size: 16.5px; letter-spacing: .01em; }
	.sb-header .sb-btn { padding: 13px 20px; font-size: 17px; }
}

/* =========================================================
   HEADER – tablet + mobile (≤1024): off-canvas dropdown menu
   ========================================================= */
@media (max-width: 1024px) {
	.sb-header .sb-topbar { display: none; }

	.sb-header .sb-header__inner {
		grid-template-columns: minmax(0, 300px) 1fr;
		gap: 16px;
	}
	.sb-header .sb-header__actions { justify-content: flex-end; }
	.sb-header .sb-menu-toggle,
	.sb-header .sb-menu-toggle:hover,
	.sb-header .sb-menu-toggle:focus { display: inline-flex; }
	.sb-header .sb-menu-toggle[aria-expanded="true"] { background: var(--sb-white); color: var(--sb-dark); }

	.sb-header .sb-nav {
		position: fixed;
		top: var(--sb-nav-top, 76px);
		left: 0;
		right: 0;
		z-index: 998;
		max-height: calc(100vh - var(--sb-nav-top, 76px));
		max-height: calc(100dvh - var(--sb-nav-top, 76px));
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--sb-white);
		border-top: 1px solid var(--sb-line);
		box-shadow: 0 16px 24px -12px rgba(15, 23, 42, .25);
		display: none;
	}
	.sb-header.is-menu-open .sb-nav { display: block; }

	.sb-header .sb-nav__list {
		display: block;
		width: 100%;
	}
	.sb-header .sb-nav__item.sb-mobile-only { display: block; }

	.sb-header .sb-nav__row { justify-content: space-between; }

	.sb-header .sb-nav__link {
		flex: 1 1 auto;
		padding: 20px 10px 20px 20px;
		letter-spacing: .01em;
		transition: background-color .3s, color .3s;
	}
	.sb-header .sb-nav__row:hover,
	.sb-header .sb-nav__item.is-current > .sb-nav__row { background: var(--sb-orange); }
	.sb-header .sb-nav__row:hover .sb-nav__link,
	.sb-header .sb-nav__row:hover .sb-nav__sub-toggle,
	.sb-header .sb-nav__item.is-current > .sb-nav__row > .sb-nav__link,
	.sb-header .sb-nav__item.is-current > .sb-nav__row > .sb-nav__sub-toggle { color: var(--sb-white); }

	.sb-header .sb-nav__item--has-sub .sb-nav__link { flex: 0 1 auto; padding-right: 4px; }
	.sb-header .sb-nav__sub-toggle,
	.sb-header .sb-nav__sub-toggle:hover,
	.sb-header .sb-nav__sub-toggle:focus {
		flex: 1 1 auto;
		justify-content: flex-start;
		align-self: stretch;
		padding: 0 20px 0 4px;
		color: inherit;
	}

	.sb-header .sb-mega {
		position: static;
		display: none;
		padding: 6px 8px 10px;
		border: 0;
		box-shadow: none;
		visibility: visible;
		opacity: 1;
		transform: none;
		transition: none;
	}
	.sb-header .sb-nav__item.is-open > .sb-mega { display: block; }

	.sb-header .sb-mega__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-width: none; }
}

/* ----- Mobile ≤767 ----- */
@media (max-width: 767px) {
	.sb-header .sb-header__main { padding: 15px 0; }
	.sb-header .sb-header__inner { grid-template-columns: 48% 1fr; }
	.sb-header .sb-header__inner.sb-container,
	.sb-container { width: calc(100% - 30px); }
	.sb-header .sb-header__cta { display: none; }

	.sb-header .sb-mega__grid { grid-template-columns: 1fr; gap: 6px; }
	.sb-header .sb-mega__item { gap: 10px; padding: 4px 14px 4px 6px; border-radius: 10px; }
	.sb-header .sb-mega__img { flex-basis: 76px; }
	.sb-header .sb-mega__title { font-size: 17px; line-height: 1.4; }
	.sb-header .sb-mega__arrow { font-size: 18px; }
}

/* Lock page scroll while the mobile menu is open (pouze body – overflow na html by rozbil sticky hlavičku). */
@media (max-width: 1024px) {
	html.sb-no-scroll body { overflow: hidden; }
}

/* =========================================================
   FOOTER – 4 designové varianty (f1–f4)
   ========================================================= */
.sb-footer {
	position: relative;
	isolation: isolate;
	overflow: clip;
	padding: 0;
	color: var(--sb-white);
	font: 400 var(--sb-fs-body)/1.6 var(--sb-font);
	content-visibility: auto;
	contain-intrinsic-size: auto 560px;
}

.sb-footer .sb-container {
	width: min(var(--sb-container), 100% - 2 * var(--sb-gutter));
	margin-inline: auto;
}

.sb-footer__wrap {
	display: flex;
	flex-direction: column;
}

.sb-footer__band {
	position: relative;
}

/* ----- Admin rychlý náhled variant přímo na webu ----- */
.sb-footer__admin-wrap {
	background: #0f172a;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
	padding: 10px 0;
	font-size: 13px;
}
.sb-footer__admin-switch {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
}
.sb-footer__admin-label {
	color: rgba(255, 255, 255, .75);
	font-weight: 600;
	margin-right: 4px;
}
.sb-footer__admin-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.sb-footer__admin-btn {
	appearance: none;
	border: 1px solid rgba(255, 255, 255, .24);
	background: rgba(255, 255, 255, .07);
	color: #fff;
	font: 600 12.5px/1.3 var(--sb-font);
	padding: 6px 12px;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color .18s, border-color .18s, color .18s;
}
.sb-footer__admin-btn:hover {
	border-color: var(--sb-orange);
	background: rgba(255, 146, 19, .18);
}
.sb-footer__admin-btn.is-active {
	background: var(--sb-orange);
	border-color: var(--sb-orange);
	color: #fff;
}
.sb-footer__admin-save {
	margin-left: auto;
	color: #ffd099;
	font-weight: 600;
	text-decoration: none;
	font-size: 13px;
}
.sb-footer__admin-save:hover { color: #fff; text-decoration: underline; }

/* ----- Horní kontaktní / CTA lišta (.sb-footer__bar) ----- */
.sb-footer__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px 32px;
}
.sb-footer__bar-text { min-width: 0; }
.sb-footer__bar-kicker {
	display: inline-block;
	margin-bottom: 4px;
	color: var(--sb-orange);
	font: 700 12px/1.3 var(--sb-font);
	letter-spacing: .08em;
	text-transform: uppercase;
}
.sb-footer__bar-title {
	margin: 0;
	font: 700 var(--sb-fs-h3)/1.3 var(--sb-font);
	color: inherit;
}
.sb-footer__bar-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 12px 14px;
	flex: 0 0 auto;
}
.sb-footer__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: var(--sb-radius);
	font: 600 16px/1.3 var(--sb-font-ui);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .2s, border-color .2s, color .2s, transform .2s;
}
.sb-footer__pill .sb-icon { font-size: 19px; color: var(--sb-orange); }
.sb-footer__pill--phone {
	border: 2px solid rgba(255, 255, 255, .7);
	color: var(--sb-white);
	background: rgba(255, 255, 255, .06);
}
.sb-footer__pill--phone .sb-icon { color: var(--sb-white); }
.sb-footer__pill--phone:hover {
	background: var(--sb-white);
	border-color: var(--sb-white);
	color: var(--sb-navy);
}
.sb-footer__pill--phone:hover .sb-icon { color: var(--sb-navy); }
.sb-footer__pill--mail {
	border: 1px solid rgba(255, 255, 255, .22);
	background: rgba(255, 255, 255, .06);
	color: var(--sb-white);
}
.sb-footer__pill--mail:hover {
	border-color: var(--sb-orange);
	color: var(--sb-orange);
}
.sb-footer .sb-footer__cta {
	padding: 12px 22px;
	font-size: 16px;
}
.sb-footer .sb-footer__cta:hover,
.sb-footer .sb-footer__cta:focus-visible {
	background: #e57d07;
	color: var(--sb-white);
}

/* ----- Hlavní 4sloupcová mřížka (.sb-footer__top) ----- */
.sb-footer__top {
	display: grid;
	grid-template-columns: 1.35fr 0.85fr 1fr 1.15fr;
	gap: 32px 36px;
	align-items: start;
}
.sb-footer__col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	min-width: 0;
}

.sb-footer .sb-logo {
	display: block;
	width: 196px;
	max-width: 100%;
	line-height: 0;
}
.sb-footer .sb-logo__img { display: block; width: 100%; height: auto; border-radius: 6px; }

.sb-footer__about {
	font-size: var(--sb-fs-small);
	line-height: 1.65;
}
.sb-footer__about p { margin: 0; }
.sb-footer__about a { color: var(--sb-orange); text-decoration: none; }
.sb-footer__about strong { font-weight: 700; }

.sb-footer__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.sb-footer__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 11px;
	border-radius: 999px;
	font: 600 12.5px/1.3 var(--sb-font);
}
.sb-footer__badge .sb-icon { font-size: 13px; color: var(--sb-orange); }

.sb-footer .sb-footer__title {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 2px;
	font: 700 var(--sb-fs-h4)/1.3 var(--sb-font);
}
.sb-footer .sb-footer__title::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 2px;
	background: var(--sb-orange);
	flex: 0 0 auto;
}

.sb-footer .sb-list {
	display: flex;
	flex-direction: column;
	gap: 11px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.sb-footer .sb-list a,
.sb-footer .sb-list__static {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font: 500 15.5px/1.45 var(--sb-font-ui);
	text-decoration: none;
	transition: color .2s, transform .2s;
}
.sb-footer .sb-list a:hover { transform: translateX(2px); }
.sb-footer .sb-list .sb-icon { font-size: 15px; color: var(--sb-orange); flex: 0 0 auto; }

.sb-footer__ton {
	display: inline-block;
	margin-left: 4px;
	padding: 2px 7px;
	border-radius: 999px;
	font: 700 11.5px/1.2 var(--sb-font);
	letter-spacing: .02em;
}

.sb-footer__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	flex: 0 0 auto;
}
.sb-footer__ico .sb-icon { font-size: 15px; color: var(--sb-orange); }

.sb-footer .sb-footer__nav-btn {
	margin-top: 4px;
	padding: 9px 18px;
	font-size: 15px;
	gap: 8px;
}
.sb-footer .sb-footer__nav-btn .sb-icon { font-size: 16px; }

/* ----- Spodní lišta (.sb-footer__bottom) ----- */
.sb-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px 24px;
	padding: 18px 0;
}
.sb-footer .sb-footer__copy {
	margin: 0;
	font: 400 var(--sb-fs-small)/1.5 var(--sb-font);
}
.sb-footer__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 22px;
}
.sb-footer .sb-footer__privacy {
	font: 500 var(--sb-fs-small)/1.5 var(--sb-font);
	text-decoration: none;
	transition: color .2s, opacity .2s;
}

/* =========================================================
   VARIANTA f1 – Námořnická modrá Šibor (výchozí · Navy & Orange)
   ========================================================= */
.sb-footer--f1 {
	background: linear-gradient(165deg, #253f7c 0%, #172954 55%, #0f1c3c 100%);
	border-top: 4px solid var(--sb-orange);
	color: var(--sb-white);
}
.sb-footer--f1::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px);
	background-size: 24px 24px;
	pointer-events: none;
}
.sb-footer--f1 .sb-footer__band--bar {
	padding: 28px 0 0;
}
.sb-footer--f1 .sb-footer__bar {
	padding: 24px 28px;
	border-radius: 16px;
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .15);
	backdrop-filter: blur(6px);
}
.sb-footer--f1 .sb-footer__top { padding: 54px 0 48px; }
.sb-footer--f1 .sb-footer__about { color: rgba(255, 255, 255, .82); }
.sb-footer--f1 .sb-footer__about strong { color: var(--sb-white); }
.sb-footer--f1 .sb-footer__badge {
	background: rgba(255, 255, 255, .09);
	border: 1px solid rgba(255, 255, 255, .15);
	color: rgba(255, 255, 255, .92);
}
.sb-footer--f1 .sb-footer__title { color: var(--sb-white); }
.sb-footer--f1 .sb-list a,
.sb-footer--f1 .sb-list__static { color: rgba(255, 255, 255, .88); }
.sb-footer--f1 .sb-list a:hover { color: var(--sb-orange); }
.sb-footer--f1 .sb-footer__ton {
	background: rgba(255, 146, 19, .18);
	border: 1px solid rgba(255, 146, 19, .38);
	color: #ffd099;
}
.sb-footer--f1 .sb-footer__ico {
	background: rgba(255, 146, 19, .15);
	border: 1px solid rgba(255, 146, 19, .28);
}
.sb-footer--f1 .sb-footer__band--bottom {
	background: rgba(8, 14, 30, .34);
	border-top: 1px solid rgba(255, 255, 255, .13);
}
.sb-footer--f1 .sb-footer__copy,
.sb-footer--f1 .sb-footer__privacy { color: rgba(255, 255, 255, .76); }
.sb-footer--f1 .sb-footer__privacy:hover { color: var(--sb-orange); }
.sb-footer--f1 .sb-footer__nav-btn:hover,
.sb-footer--f1 .sb-footer__nav-btn:focus-visible { background: #e57d07; color: var(--sb-white); }

/* =========================================================
   VARIANTA f2 – Světlá architektonická (Clean Light & Navy Accent)
   ========================================================= */
.sb-footer--f2 {
	background: linear-gradient(180deg, #f4f7fc 0%, #ffffff 70%);
	border-top: 4px solid var(--sb-navy);
	color: var(--sb-text);
}
.sb-footer--f2 .sb-footer__band--bar { padding: 34px 0 0; }
.sb-footer--f2 .sb-footer__bar {
	padding: 26px 30px;
	border-radius: 16px;
	background: linear-gradient(135deg, #253f7c 0%, #1a2d5a 100%);
	color: var(--sb-white);
	box-shadow: 0 20px 40px -24px rgba(37, 63, 124, .65);
}
.sb-footer--f2 .sb-footer__top { padding: 52px 0 46px; }
.sb-footer--f2 .sb-footer__about { color: #475569; }
.sb-footer--f2 .sb-footer__about strong { color: var(--sb-heading); }
.sb-footer--f2 .sb-footer__badge {
	background: #eef3fb;
	border: 1px solid #d5e0f2;
	color: var(--sb-navy);
}
.sb-footer--f2 .sb-footer__title { color: var(--sb-navy); }
.sb-footer--f2 .sb-list a,
.sb-footer--f2 .sb-list__static { color: var(--sb-heading); }
.sb-footer--f2 .sb-list a:hover { color: var(--sb-navy); text-decoration: underline; text-underline-offset: 4px; }
.sb-footer--f2 .sb-footer__ton {
	background: #eef3fb;
	border: 1px solid #d5e0f2;
	color: var(--sb-navy);
}
.sb-footer--f2 .sb-footer__col--contact {
	padding: 24px;
	border-radius: 16px;
	background: var(--sb-white);
	border: 1px solid #dbe3ef;
	box-shadow: 0 12px 30px -22px rgba(15, 23, 42, .25);
}
.sb-footer--f2 .sb-footer__ico {
	background: #fff4e6;
	border: 1px solid #ffdcb3;
}
.sb-footer--f2 .sb-footer__nav-btn:hover,
.sb-footer--f2 .sb-footer__nav-btn:focus-visible { background: var(--sb-navy); color: var(--sb-white); }
.sb-footer--f2 .sb-footer__band--bottom {
	background: #eef3fa;
	border-top: 1px solid #dbe3ef;
}
.sb-footer--f2 .sb-footer__copy,
.sb-footer--f2 .sb-footer__privacy { color: #475569; }
.sb-footer--f2 .sb-footer__privacy:hover { color: var(--sb-navy); }

/* =========================================================
   VARIANTA f3 – Dvojitá hlavičková (Bílá karta + Modrý pás)
   ========================================================= */
.sb-footer--f3 {
	background: var(--sb-white);
	color: var(--sb-text);
}
.sb-footer--f3 .sb-footer__band--main {
	order: 1;
	background: var(--sb-white);
	border-top: 3px solid var(--sb-navy);
}
.sb-footer--f3 .sb-footer__top { padding: 62px 0 54px; }
.sb-footer--f3 .sb-footer__about { color: #475569; }
.sb-footer--f3 .sb-footer__about strong { color: var(--sb-heading); }
.sb-footer--f3 .sb-footer__badge {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: var(--sb-heading);
}
.sb-footer--f3 .sb-footer__title { color: var(--sb-navy); }
.sb-footer--f3 .sb-list a,
.sb-footer--f3 .sb-list__static { color: var(--sb-heading); }
.sb-footer--f3 .sb-list a:hover { color: var(--sb-orange); }
.sb-footer--f3 .sb-footer__ton {
	background: #fff4e6;
	border: 1px solid #ffdcb3;
	color: #b45309;
}
.sb-footer--f3 .sb-footer__col--contact {
	padding: 24px;
	border-radius: 16px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
}
.sb-footer--f3 .sb-footer__ico {
	background: var(--sb-white);
	border: 1px solid #e2e8f0;
}
.sb-footer--f3 .sb-footer__nav-btn:hover,
.sb-footer--f3 .sb-footer__nav-btn:focus-visible { background: var(--sb-navy); color: var(--sb-white); }

.sb-footer--f3 .sb-footer__band--bar {
	order: 2;
	background: var(--sb-navy);
	color: var(--sb-white);
	padding: 24px 0;
}
.sb-footer--f3 .sb-footer__band--bottom {
	order: 3;
	background: #1b3061;
	border-top: 1px solid rgba(255, 255, 255, .14);
}
.sb-footer--f3 .sb-footer__copy,
.sb-footer--f3 .sb-footer__privacy { color: rgba(255, 255, 255, .82); }
.sb-footer--f3 .sb-footer__privacy:hover { color: var(--sb-orange); }

/* =========================================================
   VARIANTA f4 – Tmavá v kartách (Bento Tech Cards)
   ========================================================= */
.sb-footer--f4 {
	background: linear-gradient(180deg, #162444 0%, #0d162c 100%);
	border-top: 4px solid var(--sb-navy);
	color: var(--sb-white);
}
.sb-footer--f4 .sb-footer__band--bar { padding: 34px 0 0; }
.sb-footer--f4 .sb-footer__bar {
	padding: 22px 26px;
	border-radius: 16px;
	background: rgba(255, 255, 255, .055);
	border: 1px solid rgba(255, 255, 255, .12);
	border-left: 4px solid var(--sb-orange);
}
.sb-footer--f4 .sb-footer__top {
	gap: 20px;
	padding: 24px 0 46px;
}
.sb-footer--f4 .sb-footer__col {
	height: 100%;
	padding: 24px;
	border-radius: 16px;
	background: rgba(255, 255, 255, .045);
	border: 1px solid rgba(255, 255, 255, .1);
	transition: border-color .2s, background-color .2s;
}
.sb-footer--f4 .sb-footer__col:hover {
	border-color: rgba(255, 146, 19, .38);
	background: rgba(255, 255, 255, .065);
}
.sb-footer--f4 .sb-footer__col--contact {
	border-top: 3px solid var(--sb-orange);
	background: rgba(37, 63, 124, .35);
}
.sb-footer--f4 .sb-footer__about { color: rgba(255, 255, 255, .8); }
.sb-footer--f4 .sb-footer__about strong { color: var(--sb-white); }
.sb-footer--f4 .sb-footer__badge {
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .14);
	color: var(--sb-white);
}
.sb-footer--f4 .sb-footer__title { color: var(--sb-white); }
.sb-footer--f4 .sb-list a,
.sb-footer--f4 .sb-list__static { color: rgba(255, 255, 255, .9); }
.sb-footer--f4 .sb-list a:hover { color: var(--sb-orange); }
.sb-footer--f4 .sb-footer__ton {
	background: rgba(255, 146, 19, .2);
	border: 1px solid rgba(255, 146, 19, .4);
	color: #ffd099;
}
.sb-footer--f4 .sb-footer__ico {
	background: rgba(255, 146, 19, .16);
	border: 1px solid rgba(255, 146, 19, .3);
}
.sb-footer--f4 .sb-footer__nav-btn:hover,
.sb-footer--f4 .sb-footer__nav-btn:focus-visible { background: #e57d07; color: var(--sb-white); }
.sb-footer--f4 .sb-footer__band--bottom {
	background: rgba(6, 10, 22, .45);
	border-top: 1px solid rgba(255, 255, 255, .12);
}
.sb-footer--f4 .sb-footer__copy,
.sb-footer--f4 .sb-footer__privacy { color: rgba(255, 255, 255, .74); }
.sb-footer--f4 .sb-footer__privacy:hover { color: var(--sb-orange); }

/* ----- Footer tablet ≤1024 ----- */
@media (max-width: 1024px) {
	.sb-footer__bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
	.sb-footer__bar-actions { justify-content: flex-start; }
	.sb-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 24px;
	}
	.sb-footer__col--about { grid-column: 1 / -1; }
	.sb-footer__bottom { flex-direction: column; text-align: center; }
	.sb-footer__admin-save { margin-left: 0; }
}

/* ----- Footer mobile ≤767 ----- */
@media (max-width: 767px) {
	.sb-footer { font-size: 15.5px; }
	.sb-footer--f1 .sb-footer__bar,
	.sb-footer--f2 .sb-footer__bar,
	.sb-footer--f4 .sb-footer__bar { padding: 20px; }
	.sb-footer__bar-actions { width: 100%; }
	.sb-footer__pill,
	.sb-footer .sb-footer__cta {
		width: 100%;
		justify-content: center;
	}
	.sb-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 16px;
		padding: 36px 0 32px !important;
	}
	.sb-footer__col--about,
	.sb-footer__col--contact { grid-column: 1 / -1; }
	.sb-footer--f4 .sb-footer__col { padding: 18px; }
	.sb-footer--f2 .sb-footer__col--contact,
	.sb-footer--f3 .sb-footer__col--contact { padding: 20px; }
	.sb-footer .sb-list a,
	.sb-footer .sb-list__static { font-size: 15px; }
	.sb-footer .sb-footer__copy,
	.sb-footer .sb-footer__privacy { font-size: 14.5px; }
}

@media (prefers-reduced-motion: reduce) {
	.sb-header *, .sb-footer * { transition: none !important; }
}

/* =========================================================
   Cookie lišta (CookieYes) – převzato z „Vlastní CSS“ původního tématu,
   které se při změně tématu nepřenáší.
   ========================================================= */
.cky-btn.cky-btn-accept { background-color: var(--sb-navy) !important; border-color: var(--sb-navy) !important; color: #fff !important; }
.cky-btn.cky-btn-customize,
.cky-btn.cky-btn-reject,
.cky-btn.cky-btn-preferences { color: var(--sb-navy) !important; border-color: var(--sb-navy) !important; background-color: transparent !important; }
.cky-btn-revisit-wrapper { background-color: var(--sb-navy) !important; }

/* Poptávkový formulář (plugin Šibor) */
.sibor-cf__hint-note { margin-top: 2px !important; margin-bottom: 26px !important; }
@media (max-width: 600px) { .sibor-cf__hint-note { margin-bottom: 22px !important; } }
