/* ─────────────────────────────────────────────────────────────────────────
   layout-inline.css — vyextrahováno z inline <style> bloku v @layout.latte.
   Bez závislosti na Vite buildu — editace přímo, načteno z @layout.latte.
   ───────────────────────────────────────────────────────────────────────── */

/* Skip-to-content link (a11y) — viditelný jen při focus.
   Bootstrap má visually-hidden-focusable utility, ale definujeme i fallback
   pro případ, kdy Bootstrap CSS ještě nedoputoval. */
.skip-link {
	position: absolute;
	top: -100px;
	left: 0;
	background: #0f172a;
	color: #fff;
	padding: 0.75rem 1.25rem;
	z-index: 9999;
	text-decoration: none;
	font-weight: 600;
	border-radius: 0 0 0.5rem 0;
	transition: top 0.15s ease;
}
.skip-link:focus,
.skip-link:focus-visible {
	top: 0;
	color: #fff;
	outline: 2px solid #10b981;
	outline-offset: 2px;
}

/* Fix sections jsou skryté pod fixed navbar */
section[id] {
	scroll-margin-top: 100px;
}
section[id]::before {
	content: '';
	display: block;
	height: 100px;
	margin-top: -100px;
	visibility: hidden;
}

/* Modern hamburger icon */
.navbar-toggler {
	border-color: rgba(15, 23, 42, 0.2) !important;
}
.navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2815, 23, 42, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Contact form styling */
.form-control.border-2 {
	border-width: 2px !important;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control.border-2:focus {
	border-color: #198754;
	box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}
.form-control.border-2.is-invalid {
	border-color: #dc3545;
}
.form-control.border-2.is-invalid:focus {
	border-color: #dc3545;
	box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.form-control.border-2.is-valid {
	border-color: #198754;
}
.form-control.border-2.is-valid:focus {
	border-color: #198754;
	box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

/* Contact form placeholder styles */
#contactForm input.form-control::placeholder,
#contactForm textarea.form-control::placeholder {
	font-size: 0.75rem !important;
	color: rgba(148, 163, 184, 0.6) !important;
}

/* Feature box lead text gradient */
.feature-box-lead {
	background: linear-gradient(90deg, var(--brand-blue), var(--brand-teal) 60%, var(--brand-blue));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* Cookie Consent Banner */
.cookie-consent {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(255, 255, 255, 0.98);
	backdrop-filter: blur(20px);
	border-top: 1px solid #e2e8f0;
	padding: 1.5rem 0;
	z-index: 1050;
	box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
}

/* Scroll Animations */
.scroll-animate {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.scroll-animate.animate-in {
	opacity: 1;
	transform: translateY(0);
}
.scroll-animate-delay-1 { transition-delay: 0.1s; }
.scroll-animate-delay-2 { transition-delay: 0.2s; }
.scroll-animate-delay-3 { transition-delay: 0.3s; }
.scroll-animate-delay-4 { transition-delay: 0.4s; }

.scroll-animate-left {
	opacity: 0;
	transform: translateX(-30px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.scroll-animate-left.animate-in {
	opacity: 1;
	transform: translateX(0);
}

.scroll-animate-right {
	opacity: 0;
	transform: translateX(30px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.scroll-animate-right.animate-in {
	opacity: 1;
	transform: translateX(0);
}

.scroll-animate-scale {
	opacity: 0;
	transform: scale(0.9);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.scroll-animate-scale.animate-in {
	opacity: 1;
	transform: scale(1);
}

/* Legal documents h2 styling */
.border.rounded-4.p-4.p-lg-5 h2 {
	font-size: 1.5rem;
}

/* Hero spacing on smaller screens */
@media (max-width: 991.98px) {
	header.hero .container {
		padding-top: 5rem !important;
	}
}

/* Footer styling */
.footer {
	border-top: 1px solid #e2e8f0;
}
.footer h6 {
	font-weight: 600;
	font-size: 0.95rem;
	margin-bottom: 1rem;
	color: #0f172a;
}
.footer ul li a {
	color: #64748b !important;
	font-size: 0.875rem;
	transition: color 0.2s ease;
}
.footer ul li a:hover {
	color: #3b82f6 !important;
}
.footer .text-white-50 {
	color: #64748b !important;
}

/* Language dropdown — modern light theme */
.nav-item.dropdown .dropdown-menu {
	min-width: auto;
	width: auto;
	padding: 0.25rem 0;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(10px) saturate(120%);
}
.nav-item.dropdown .dropdown-item {
	text-align: center;
	padding: 0.5rem 1rem;
	color: #0f172a;
	transition: all 0.2s ease;
}
.nav-item.dropdown .dropdown-item:hover {
	background-color: #f8fafc;
	color: #3b82f6;
}

/* Login button styling — modern outline style */
.nav-item .nav-link[href="#"]:not(.btn) {
	border: 1px solid #e2e8f0;
	border-radius: 0.375rem;
	transition: all 0.2s ease;
}
.nav-item .nav-link[href="#"]:not(.btn):hover {
	border-color: #3b82f6;
	background-color: #f8fafc;
	color: #3b82f6;
}

/* Prevent horizontal scroll on mobile only */
@media (max-width: 991.98px) {
	html, body {
		overflow-x: hidden;
		max-width: 100%;
	}
	.container, .container-fluid {
		max-width: 100%;
		overflow-x: hidden;
	}
}

/* ── VAT Toggle Switch (původně samostatný <style> blok dole) ──────────── */
.switch {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 30px;
}
.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}
.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #e2e8f0;
	transition: .3s;
	border-radius: 30px;
}
.slider:before {
	position: absolute;
	content: "";
	height: 22px;
	width: 22px;
	left: 4px;
	bottom: 4px;
	background-color: white;
	transition: .3s;
	border-radius: 50%;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
input:checked + .slider {
	background-color: #3b82f6;
}
input:checked + .slider:before {
	transform: translateX(30px);
}

/* Discount badge alignment */
#discountBadge {
	vertical-align: middle;
	font-size: 0.85em;
	padding: 0.3em 0.6em;
	transform: translateY(-2px);
}
#vatLabelWith, #vatLabelWithout {
	color: #64748b;
	transition: font-weight 0.2s ease;
}
