/**
 * PešekMudra Compatibility Stylesheet
 *
 * Provides styling for CSS classes found in the imported HTML content
 * from the original pesekmudra.cz site. This is a minimal compatibility
 * layer — not a full Bootstrap replica.
 */

/* ==========================================================================
   CSS Custom Properties
   ========================================================================== */

:root {
	--pm-primary: #ffcc00;
	--pm-primary-dark: #e6b800;
	--pm-primary-light: #fff8e0;
	--pm-dark: #293346;
	--pm-text: #293346;
	--pm-text-light: #6c757d;
	--pm-bg-light: #eff3f9;
	--pm-bg-white: #fff;
	--pm-border: #c5cad3;
	--pm-success: #85cd6b;
	--pm-radius: 8px;
	--pm-container: 1200px;
	--pm-font: "Fieldwork Geo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ==========================================================================
   Kadence nav dropdown overrides (white rounded popups)
   ========================================================================== */

.header-navigation .header-menu-container ul ul.sub-menu,
.header-navigation .header-menu-container ul ul.submenu,
.header-navigation ul ul.sub-menu,
.header-navigation ul.submenu {
	background: #fff !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 24px -4px rgba(0, 0, 0, 0.1) !important;
	border: 1px solid var(--pm-border) !important;
	overflow: hidden !important;
	padding: 0.25rem 0 !important;
}

.header-navigation .header-menu-container ul ul.sub-menu li a,
.header-navigation .header-menu-container ul ul.submenu li a {
	color: var(--pm-dark) !important;
}

.header-navigation .header-menu-container ul ul.sub-menu li a:hover,
.header-navigation .header-menu-container ul ul.submenu li a:hover {
	color: var(--pm-primary) !important;
	background: var(--pm-bg-light) !important;
}

/* ==========================================================================
   Base / Reset for imported content
   ========================================================================== */

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

.entry-content a {
	color: var(--pm-primary);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.entry-content a:hover {
	color: var(--pm-primary-dark);
}

/* Buttons inside content should not inherit link color */
.entry-content a.btn {
	text-decoration: none;
}

.entry-content a.btn-primary {
	color: var(--pm-dark);
}

.entry-content a.btn-primary:hover {
	color: var(--pm-dark);
}

/* ==========================================================================
   Layout: Containers
   ========================================================================== */

.container {
	width: 100%;
	max-width: var(--pm-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
}

.container-4 { max-width: 560px; }
.container-5 { max-width: 720px; }
.container-6 { max-width: 860px; }
.container-9 { max-width: 1080px; }

/* ==========================================================================
   Layout: Grid (Bootstrap 4-like)
   ========================================================================== */

.row {
	display: flex;
	flex-wrap: wrap;
	margin-left: -0.75rem;
	margin-right: -0.75rem;
}

.col,
[class*="col-"] {
	position: relative;
	width: 100%;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}

.col { flex: 1 0 0%; }
.col-12 { flex: 0 0 100%; max-width: 100%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }

@media (min-width: 576px) {
	.col-sm-6 { flex: 0 0 50%; max-width: 50%; }
	.col-sm-4 { flex: 0 0 33.333%; max-width: 33.333%; }
}

@media (min-width: 768px) {
	.col-md-3 { flex: 0 0 25%; max-width: 25%; }
	.col-md-4 { flex: 0 0 33.333%; max-width: 33.333%; }
	.col-md-5 { flex: 0 0 41.667%; max-width: 41.667%; }
	.col-md-6 { flex: 0 0 50%; max-width: 50%; }
	.col-md-7 { flex: 0 0 58.333%; max-width: 58.333%; }
	.col-md-8 { flex: 0 0 66.667%; max-width: 66.667%; }
}

@media (min-width: 992px) {
	.col-lg-3 { flex: 0 0 25%; max-width: 25%; }
	.col-lg-4 { flex: 0 0 33.333%; max-width: 33.333%; }
	.col-lg-5 { flex: 0 0 41.667%; max-width: 41.667%; }
	.col-lg-6 { flex: 0 0 50%; max-width: 50%; }
	.col-lg-7 { flex: 0 0 58.333%; max-width: 58.333%; }
	.col-lg-8 { flex: 0 0 66.667%; max-width: 66.667%; }
}

@media (min-width: 1200px) {
	.col-xl-3 { flex: 0 0 25%; max-width: 25%; }
	.col-xl-4 { flex: 0 0 33.333%; max-width: 33.333%; }
}

/* ==========================================================================
   Layout: Flexbox utilities
   ========================================================================== */

.d-flex { display: flex; }
.d-none { display: none; }
.flex-wrap { flex-wrap: wrap; }
.justify-content-between { justify-content: space-between; }
.justify-content-center { justify-content: center; }
.align-items-center { align-items: center; }
.align-items-start { align-items: flex-start; }

/* ==========================================================================
   Spacing utilities
   ========================================================================== */

.mx-auto { margin-left: auto; margin-right: auto; }
.ml-auto { margin-left: auto; }
.mr-0 { margin-right: 0; }

.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }
.mt-3 { margin-top: 1rem; }
.mt-5 { margin-top: 3rem; }
.my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; }
.pt-0 { padding-top: 0; }
.pt-3 { padding-top: 1rem; }
.pb-0 { padding-bottom: 0; }
.pb-4 { padding-bottom: 1.5rem; }
.pb-5 { padding-bottom: 3rem; }

@media (min-width: 768px) {
	.mb-md-0 { margin-bottom: 0; }
	.mt-md-0 { margin-top: 0; }
	.mt-md-6 { margin-top: 4rem; }
	.mb-md-6 { margin-bottom: 4rem; }
}

@media (min-width: 576px) {
	.mr-sm-1 { margin-right: 0.25rem; }
	.mb-sm-5 { margin-bottom: 3rem; }
}

@media (min-width: 768px) {
	.mr-md-2 { margin-right: 0.5rem; }
}

@media (min-width: 992px) {
	.pr-lg-0 { padding-right: 0; }
	.pr-lg-6 { padding-right: 4rem; }
	.pb-lg-4 { padding-bottom: 1.5rem; }
	.pl-2 { padding-left: 0.5rem; }
}

/* ==========================================================================
   Typography utilities
   ========================================================================== */

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-white { color: #fff; }
.text-primary { color: var(--pm-primary); }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }

.font-weight-medium { font-weight: 500; }
.font-weight-semi { font-weight: 600; }
.font-weight-bold,
b, strong { font-weight: 700; }

.display-1 {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.15;
}

@media (min-width: 768px) {
	.display-1 { font-size: 3.5rem; }
}

.large-text {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
}

.large-text--green {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--pm-primary);
}

.h2s {
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.3;
}

@media (min-width: 768px) {
	.text-md-left { text-align: left; }
	.text-md-center { text-align: center; }
}

/* ==========================================================================
   Sections
   ========================================================================== */

.section {
	position: relative;
}

.section--padding {
	padding-top: 3rem;
	padding-bottom: 3rem;
}

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

.section--padding-sm {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

@media (min-width: 768px) {
	.section--padding-sm {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
}

.section--default {
	background: var(--pm-bg-white);
}

.section--default.pb-5.overflow-x-hidden {
	/* Empty separator sections from old CMS — hide them */
	padding: 0;
	margin: 0;
}

.section--properties {
	background: var(--pm-bg-light);
	position: relative;
	overflow: hidden;
}

/* Decorative background pattern for properties section */
.section--properties::before {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -80px;
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(255,204,0,0.08) 0%, transparent 70%);
	border-radius: 50%;
	pointer-events: none;
}

.section--properties::after {
	content: "";
	position: absolute;
	left: -60px;
	top: -60px;
	width: 300px;
	height: 300px;
	background: radial-gradient(circle, rgba(255,204,0,0.06) 0%, transparent 70%);
	border-radius: 50%;
	pointer-events: none;
}

.section--usp {
	background: var(--pm-bg-white);
	color: var(--pm-text);
}

.section--usp h2,
.section--usp .section__title {
	color: var(--pm-dark);
}

.section--usp a.btn-primary {
	background: var(--pm-primary);
	color: var(--pm-dark);
}

.section--offer,
.section--offer-preset {
	background: var(--pm-dark);
	color: #fff;
	padding: 3rem 0;
}

.section--offer h2,
.section--offer .section__title {
	color: #fff;
}

.section--offer .btn-primary {
	background: var(--pm-primary);
	color: var(--pm-dark);
}

.section--offer .btn-primary:hover {
	background: var(--pm-primary-dark);
	color: var(--pm-dark);
}

/* ==========================================================================
   Hero Section
   ========================================================================== */

.section--hero {
	background: var(--pm-dark);
	color: #fff;
	overflow: hidden;
	position: relative;
}

.hero {
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: center;
}

.hero__text .btn-primary {
	margin-top: 1rem;
}

.hero__text {
	position: relative;
	z-index: 2;
	padding: 3rem 0;
}

.hero__text h1 {
	color: #fff;
	font-size: 2.25rem;
	line-height: 1.15;
	margin-bottom: 1rem;
	font-weight: 500;
}

.hero__text h1 strong {
	font-weight: 700;
}

@media (min-width: 768px) {
	.hero__text h1 {
		font-size: 3rem;
	}
}

@media (min-width: 1200px) {
	.hero__text h1 {
		font-size: 3.25rem;
	}
}

.hero__img {
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.hero__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.35;
}

@media (min-width: 992px) {
	.hero__img img {
		opacity: 1;
	}
}

/* Gradient overlay so text remains readable over hero image */
.hero__img::before {
	content: "";
	position: absolute;
	top: 0;
	left: -1px;
	width: 50%;
	height: 100%;
	background: linear-gradient(to right, var(--pm-dark) 10%, transparent 100%);
	z-index: 1;
}

@media (max-width: 767px) {
	.hero__img {
		width: 100%;
		right: 0;
	}
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.btn {
	display: inline-block;
	padding: 12px 28px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	border-radius: 60px;
	border: 2px solid transparent;
	cursor: pointer;
	transition: all 0.2s ease;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.btn-primary {
	background: var(--pm-primary);
	color: var(--pm-dark);
	border-color: var(--pm-primary);
}

.btn-primary:hover {
	background: var(--pm-primary-dark);
	border-color: var(--pm-primary-dark);
	color: var(--pm-dark);
}

.btn-light {
	background: #fff;
	color: var(--pm-text);
	border-color: var(--pm-border);
}

.btn-light:hover {
	background: var(--pm-bg-light);
}

.btn-back {
	background: transparent;
	color: var(--pm-text);
	border-color: var(--pm-border);
}

.btn-icon {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.btn-icon-end {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.btn-icon svg,
.btn-icon-end svg {
	width: 1em;
	height: 1em;
}

.btn-play {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.btn-play .play {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	background: var(--pm-primary);
	border-radius: 50%;
	color: #fff;
}

.btn-play .play svg {
	width: 0.75rem;
	height: 0.75rem;
	fill: currentColor;
}

.buttons__wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

/* ==========================================================================
   Cards
   ========================================================================== */

.card {
	background: var(--pm-bg-white);
	border: 1px solid var(--pm-border);
	border-radius: var(--pm-radius);
	overflow: hidden;
}

.card-body {
	padding: 1.25rem;
}

.card-header {
	padding: 1rem 1.25rem;
	background: var(--pm-bg-light);
	border-bottom: 1px solid var(--pm-border);
	font-weight: 600;
}

/* ==========================================================================
   Box / Property cards (homepage)
   ========================================================================== */

.box {
	background: var(--pm-bg-white);
	border-radius: var(--pm-radius);
	padding: 1.5rem;
	height: 100%;
}

.box.property {
	text-align: center;
	transition: box-shadow 0.2s ease;
	padding: 2.25rem 1.75rem;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.box.property:hover {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.box.property h3 {
	position: relative;
	padding-bottom: 1rem;
	margin-bottom: 0.75rem;
	font-size: 1.05rem;
	line-height: 1.4;
}

.box.property h3::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 3px;
	background: var(--pm-primary);
	border-radius: 2px;
}

.box.property p {
	font-size: 0.9375rem;
	color: var(--pm-text-light);
	line-height: 1.5;
	margin: 0;
}

.property__icon {
	margin-bottom: 1.25rem;
}

.property__icon img {
	width: 72px;
	height: 72px;
	margin: 0 auto;
	display: block;
}

.properties__row {
	gap: 0;
}

.properties__row > [class*="col-"] {
	margin-bottom: 1.5rem;
}

/* ==========================================================================
   Check-row (value proposition list)
   ========================================================================== */

.check-row {
	list-style: none;
	padding: 0;
	margin: 0;
	counter-reset: check;
}

.check-row li {
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--pm-border);
	position: relative;
	padding-left: 2.5rem;
}

.check-row li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 1.25rem;
	width: 1.75rem;
	height: 1.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--pm-primary);
	color: var(--pm-dark);
	border-radius: 50%;
	font-weight: 700;
	font-size: 0.875rem;
}

.check-row li h3 {
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
}

.check-row li p {
	margin: 0;
	color: var(--pm-text-light);
}

/* ==========================================================================
   USP section (Victron showcase)
   ========================================================================== */

.usp__col {
	position: relative;
}

.usp__logo {
	margin-bottom: 1.5rem;
}

.usp__logo img {
	max-width: 200px;
	height: auto;
}

.usp__images {
	position: relative;
}

.usp__image img {
	width: 100%;
	height: auto;
	border-radius: var(--pm-radius);
	max-width: 500px;
}

.shortcode {
	/* Wrapper from old CMS — no special styling needed */
}

/* ==========================================================================
   Customer references / testimonials (Flickity carousel)
   ========================================================================== */

.customer-reference {
	position: relative;
	overflow: hidden;
}

.customer-reference__item {
	width: 100%;
	padding: 2rem;
	background: var(--pm-bg-light);
	border-radius: var(--pm-radius);
	margin-bottom: 1rem;
}

/* Carousel: show one testimonial at a time with navigation */
.customer-reference--slider .flickity-viewport {
	position: relative !important;
	height: auto !important;
	overflow: hidden;
}

.customer-reference--slider .flickity-slider {
	position: relative !important;
	height: auto !important;
	transform: none !important;
	display: flex;
	transition: transform 0.4s ease;
}

.customer-reference--slider .customer-reference__item {
	position: relative !important;
	transform: none !important;
	opacity: 1 !important;
	min-width: 100%;
	flex-shrink: 0;
	display: none;
	padding: 2.5rem 3rem;
	text-align: center;
	max-width: 720px;
	margin: 0 auto;
}

.customer-reference--slider .customer-reference__item.is-selected {
	display: block;
}

.customer-reference__text {
	font-style: italic;
	line-height: 1.8;
	margin-bottom: 1.25rem;
	font-size: 1.0625rem;
}

.customer-reference__text::before {
	content: "\201E";
	display: block;
	font-size: 3rem;
	line-height: 1;
	color: var(--pm-primary);
	margin-bottom: 0.5rem;
	font-style: normal;
}

.customer-reference__text p {
	margin: 0;
}

.customer-reference__name {
	font-weight: 600;
	color: var(--pm-primary);
	font-size: 1rem;
}

/* Flickity navigation arrows */
.flickity-button {
	display: flex;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--pm-bg-white);
	border: 1px solid var(--pm-border);
	cursor: pointer;
	align-items: center;
	justify-content: center;
	z-index: 2;
	transition: all 0.2s ease;
	padding: 0;
}

.flickity-button:hover {
	background: var(--pm-primary);
	border-color: var(--pm-primary);
}

.flickity-button:disabled {
	opacity: 0.3;
	cursor: default;
}

.flickity-button.previous {
	left: 0;
}

.flickity-button.next {
	right: 0;
}

.flickity-button-icon {
	width: 14px;
	height: 14px;
}

/* Page dots */
.flickity-page-dots {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	list-style: none;
	padding: 0;
	margin: 1.5rem 0 0;
}

.flickity-page-dots .dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--pm-border);
	cursor: pointer;
	transition: background 0.2s ease;
	border: 0;
	padding: 0;
}

.flickity-page-dots .dot.is-selected {
	background: var(--pm-primary);
}

/* ==========================================================================
   Platform references (review badges - inline variant)
   ========================================================================== */

.platform-reference {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.platform-reference__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	text-decoration: none;
	color: var(--pm-text);
	padding: 2rem 2.5rem;
	background: var(--pm-bg-white);
	border: 1px solid var(--pm-border);
	border-radius: var(--pm-radius);
	transition: box-shadow 0.2s ease;
	min-width: 180px;
}

.platform-reference__item:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	border-color: var(--pm-primary);
}

.platform-reference__item img {
	max-height: 40px;
	width: auto;
}

.platform-reference__footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
}

.platform-reference__rating {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--pm-dark);
}

.platform-reference__stars {
	display: flex;
	gap: 2px;
	color: var(--pm-primary);
}

.platform-reference__stars svg {
	width: 18px;
	height: 18px;
}

/* ==========================================================================
   Images
   ========================================================================== */

.image--radius {
	border-radius: var(--pm-radius);
}

.image--video {
	display: block;
	position: relative;
	border-radius: var(--pm-radius);
	overflow: hidden;
	cursor: pointer;
}

.image--video img {
	width: 100%;
	height: auto;
	display: block;
}

.image--video::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 64px;
	height: 64px;
	background-color: var(--pm-primary);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23293346'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 28px;
	border-radius: 50%;
	box-shadow: 0 2px 12px rgba(0,0,0,0.3);
	transition: transform 0.2s ease;
}

.image--video:hover::after {
	transform: translate(-50%, -50%) scale(1.1);
}

/* ==========================================================================
   Accordion (Bootstrap-like, used in FAQ and other pages)
   ========================================================================== */

.accordion.box {
	padding: 0;
}

.accordion .card {
	margin-bottom: 0;
	border-radius: 0;
	border-left: 0;
	border-right: 0;
}

.accordion .card + .card {
	border-top: 0;
}

.accordion .card:first-child {
	border-top-left-radius: var(--pm-radius);
	border-top-right-radius: var(--pm-radius);
}

.accordion .card:last-child {
	border-bottom-left-radius: var(--pm-radius);
	border-bottom-right-radius: var(--pm-radius);
}

.accordion .card-header {
	cursor: pointer;
	padding: 1rem 2.5rem 1rem 1.25rem;
	position: relative;
}

.accordion .card-header::after {
	content: "+";
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.25rem;
	color: var(--pm-primary);
	font-weight: 400;
}

.accordion .collapse {
	display: none;
	padding: 0 1.25rem 1rem;
}

.accordion .collapse.show {
	display: block;
}

/* ==========================================================================
   Contact page
   ========================================================================== */

.contact__wrapper {
	margin-bottom: 1.5rem;
}

.contact__wrapper--main .contact__box {
	border: 2px solid var(--pm-primary);
}

.contact__box {
	background: var(--pm-bg-white);
	border: 1px solid var(--pm-border);
	border-radius: var(--pm-radius);
	padding: 1.5rem;
	position: relative;
}

.contact__box img.rounded-circle {
	border-radius: 50%;
	width: 80px;
	height: 80px;
	object-fit: cover;
}

.contact__box img.position-absolute {
	position: relative !important;
	top: auto !important;
	margin-bottom: 0.75rem;
	border-radius: 50%;
}

.team__person h4 {
	margin: 0 0 0.25rem;
}

.team__person p {
	color: var(--pm-text-light);
	margin: 0 0 0.75rem;
	font-size: 0.875rem;
}

.team__contact {
	margin-bottom: 0.25rem;
}

.team__link {
	color: var(--pm-text);
	text-decoration: none;
	font-weight: 600;
}

.team__link:hover {
	color: var(--pm-primary);
}

/* Display-4 (used for company name) */
.display-4 {
	font-size: 1.25rem;
	font-weight: 600;
}

/* Row cols-12 and cols-lg-2 */
.row-cols-12 > [class*="col"] { flex: 0 0 100%; max-width: 100%; }

@media (min-width: 992px) {
	.row-cols-lg-2 > [class*="col"] { flex: 0 0 50%; max-width: 50%; }
	.justify-content-lg-end { justify-content: flex-end; }
	.col-lg-3 { flex: 0 0 25%; max-width: 25%; }
	.col-lg-8 { flex: 0 0 66.667%; max-width: 66.667%; }
	.mt-lg-0 { margin-top: 0; }
	.mt-lg-5 { margin-top: 3rem; }
	.pb-lg-5 { padding-bottom: 3rem; }
	.ml-lg-auto { margin-left: auto; }
}

/* ==========================================================================
   Social links
   ========================================================================== */

.social {
	display: flex;
	gap: 0.75rem;
}

.social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--pm-bg-light);
	color: var(--pm-text);
	text-decoration: none;
	transition: all 0.2s ease;
}

.social a:hover {
	background: var(--pm-primary);
	color: #fff;
}

/* ==========================================================================
   Table styling
   ========================================================================== */

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
}

.entry-content table th,
.entry-content table td {
	padding: 0.75rem 1rem;
	border: 1px solid var(--pm-border);
	text-align: left;
}

.entry-content table th {
	background: var(--pm-bg-light);
	font-weight: 600;
}

.entry-content table tr:nth-child(even) td {
	background: #fafafa;
}

/* ==========================================================================
   Service tiers / Tarif cards (Řešení page)
   ========================================================================== */

.tarif__item {
	background: var(--pm-bg-white);
	border: 1px solid var(--pm-border);
	border-radius: var(--pm-radius);
	padding: 1.5rem;
	height: 100%;
}

.tarif__title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
}

.tarif__title .h2,
.tarif__title h3 {
	margin: 0;
}

.tarif__icon {
	width: 48px;
	height: 48px;
}

.tarif__params {
	padding: 1rem 0;
}

.tarif__param {
	padding: 0.5rem 0;
}

.tarif__param .h3 {
	font-size: 1.125rem;
	color: var(--pm-primary);
}

.tarif__description {
	padding: 1rem 0;
}

.tarif__description .text-sm {
	font-size: 0.875rem;
}

.btn-full {
	width: 100%;
	text-align: center;
	margin-top: 1rem;
}

.price {
	color: var(--pm-primary);
	font-weight: 600;
}

/* List styles */
.list-circle {
	list-style: disc;
	padding-left: 1.25rem;
}

.list-circle li {
	padding: 0.15rem 0;
}

/* Font weight variants */
.font-weight-light { font-weight: 300; }
.font-weight-demi { font-weight: 600; }

/* Text size */
.text-sm { font-size: 0.875rem; }

/* Border utilities */
.border-top { border-top: 1px solid var(--pm-border); }

/* Width */
.w-100 { width: 100%; }

/* Padding utilities */
.pl-0 { padding-left: 0; }
.px-0 { padding-left: 0; padding-right: 0; }
.pr-0 { padding-right: 0; }

/* Justify content start */
@media (min-width: 768px) {
	.justify-content-md-start { justify-content: flex-start; }
}

@media (min-width: 992px) {
	.justify-content-lg-between { justify-content: space-between; }
}

/* Flex utilities */
.flex-column { flex-direction: column; }

/* Col-auto */
.col-auto {
	flex: 0 0 auto;
	width: auto;
	max-width: 100%;
}

/* Mx-0 */
.mx-0 { margin-left: 0; margin-right: 0; }

/* ==========================================================================
   Calculator section
   ========================================================================== */

.section--calculator {
	background: var(--pm-bg-light);
	padding: 3rem 0;
}

.btn-calculator {
	display: inline-block;
	padding: 0.5rem 1rem;
	border: 2px solid var(--pm-border);
	background: var(--pm-bg-white);
	border-radius: var(--pm-radius);
	cursor: pointer;
	font-weight: 600;
	transition: all 0.2s ease;
}

.btn-calculator:hover,
.btn-calculator.active {
	border-color: var(--pm-primary);
	background: var(--pm-primary-light);
}

/* ==========================================================================
   Realizace cards
   ========================================================================== */

.reference-card,
.reference-card__item {
	background: var(--pm-bg-white);
	border: 1px solid var(--pm-border);
	border-radius: var(--pm-radius);
	overflow: hidden;
	transition: box-shadow 0.2s ease;
}

.reference-card:hover,
.reference-card__item:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

/* ==========================================================================
   Team section (from O nás page)
   ========================================================================== */

.team-member {
	text-align: center;
}

.team-member img {
	width: 140px;
	height: 140px;
	border-radius: 50%;
	object-fit: cover;
	margin-bottom: 0.75rem;
}

/* ==========================================================================
   People grid (O nás team section)
   ========================================================================== */

.people__item {
	text-align: center;
	margin-bottom: 1.5rem;
}

.people__image {
	width: 89px;
	height: 89px;
	border-radius: 50%;
	object-fit: cover;
	margin: 0 auto 0.75rem;
	display: block;
}

.people__name {
	font-weight: 600;
	font-size: 1rem;
	margin: 0 0 0.25rem;
}

.people__title {
	color: var(--pm-text-light);
	font-size: 0.875rem;
	margin: 0;
}

/* Row-cols grid (Bootstrap 5 pattern used on O nás) */
.row-cols-1 > [class*="col"] { flex: 0 0 100%; max-width: 100%; }

@media (min-width: 768px) {
	.row-cols-md-2 > [class*="col"] { flex: 0 0 50%; max-width: 50%; }
}

@media (min-width: 992px) {
	.row-cols-lg-3 > [class*="col"] { flex: 0 0 33.333%; max-width: 33.333%; }
}

@media (min-width: 1200px) {
	.row-cols-xl-5 > [class*="col"] { flex: 0 0 20%; max-width: 20%; }
	.row-cols-xl-4 > [class*="col"] { flex: 0 0 25%; max-width: 25%; }
}

.row-gap-3 {
	row-gap: 1rem;
}

/* Container variants */
.container-7 { max-width: 960px; }
.container-lg-stack { position: relative; }

/* Property icon width variant */
.property__icon--width {
	width: 48px;
	height: 48px;
}

.property__icon--width img {
	width: 100%;
	height: 100%;
}

/* Image utilities */
.image--rounded-left-lg {
	border-radius: var(--pm-radius);
}

.w-100 {
	width: 100%;
}

/* ==========================================================================
   Timeline (company history)
   ========================================================================== */

.timeline {
	position: relative;
	padding-left: 2rem;
}

.timeline::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 2px;
	background: var(--pm-primary);
}

.timeline__item {
	position: relative;
	padding-bottom: 2rem;
	padding-left: 1.5rem;
}

.timeline__item::before {
	content: "";
	position: absolute;
	left: -2rem;
	top: 0.25rem;
	width: 12px;
	height: 12px;
	background: var(--pm-primary);
	border-radius: 50%;
	border: 2px solid #fff;
	margin-left: -5px;
}

/* ==========================================================================
   Overflow utility
   ========================================================================== */

.overflow-x-hidden {
	overflow-x: hidden;
}

/* ==========================================================================
   Hide spam injections
   ========================================================================== */

[style*="position: absolute"][style*="left: -"] {
	display: none !important;
}

/* ==========================================================================
   SVG icon fallback (old <use> references no longer work)
   ========================================================================== */

svg.icon {
	width: 1em;
	height: 1em;
	display: inline-block;
	vertical-align: middle;
}

svg.icon use {
	/* Old SVG sprite references won't resolve — hide broken icons gracefully */
	display: none;
}

/* ==========================================================================
   YouTube embeds
   ========================================================================== */

.yt-video,
iframe[src*="youtube"] {
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: var(--pm-radius);
}

/* ==========================================================================
   Responsive visibility
   ========================================================================== */

@media (max-width: 575px) {
	.d-sm-none { display: none; }
}

@media (max-width: 767px) {
	.d-md-none { display: none; }
}

@media (max-width: 991px) {
	.d-lg-none { display: none; }
}

/* ==========================================================================
   Position utilities
   ========================================================================== */

.position-relative { position: relative; }

/* ==========================================================================
   Blog category filter bar
   ========================================================================== */

.blog-category-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--pm-border);
}

.blog-category-filter a {
	display: inline-block;
	padding: 0.4rem 1rem;
	border: 1px solid var(--pm-border);
	border-radius: 20px;
	background: var(--pm-bg-white);
	color: var(--pm-text);
	font-size: 0.875rem;
	text-decoration: none;
	transition: all 0.2s ease;
}

.blog-category-filter a:hover,
.blog-category-filter a.current {
	background: var(--pm-primary);
	border-color: var(--pm-primary);
	color: var(--pm-dark);
}

/* ==========================================================================
   Blog post cards (Kadence archive overrides)
   ========================================================================== */

.entry-content .wp-block-post-template {
	gap: 1.5rem;
}

.loop-entry .entry-content-wrap {
	padding: 1.25rem;
}

/* Post category badges */
.entry-taxonomies a {
	display: inline-block;
	padding: 0.2rem 0.6rem;
	background: var(--pm-primary-light);
	color: var(--pm-primary-dark);
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 600;
	text-decoration: none;
}

.entry-taxonomies a:hover {
	background: var(--pm-primary);
	color: var(--pm-dark);
}

/* ==========================================================================
   Post single: Author box
   ========================================================================== */

.author-box {
	background: var(--pm-bg-light);
	border-radius: var(--pm-radius);
	padding: 1.5rem;
	display: flex;
	gap: 1.5rem;
	align-items: flex-start;
}

.author-box .author-box-avatar img {
	border-radius: 50%;
}

/* ==========================================================================
   Post single: Related posts
   ========================================================================== */

.related-posts .entry-title {
	font-size: 1rem;
}

.related-posts .post-thumbnail img {
	border-radius: var(--pm-radius);
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

/* ==========================================================================
   Kadence Footer Tweaks
   ========================================================================== */

/* Footer navigation: display vertically (Kadence default is horizontal) */
.site-footer .footer-navigation .menu {
	flex-direction: column;
	gap: 0.3em;
}

.site-footer .footer-navigation .menu li {
	margin: 0;
}

/* Footer widget nav_menu: remove bullets, clean spacing */
.site-footer .widget_nav_menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer .widget_nav_menu li {
	margin-bottom: 0.4em;
}

/* Footer widget: ensure strong text in company info is white */
.site-footer .footer-widget-area strong {
	color: #fff;
}

/* Footer bottom row copyright alignment */
.site-bottom-footer-wrap .footer-html {
	text-align: center;
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */

.pm-breadcrumbs {
	padding: 1rem 0 0;
}

.pm-breadcrumbs__nav {
	font-size: 0.875rem;
	color: var(--pm-text-light);
}

.pm-breadcrumbs__nav a {
	color: var(--pm-text-light);
	text-decoration: none;
}

.pm-breadcrumbs__nav a:hover {
	color: var(--pm-primary);
}

.pm-breadcrumbs__nav .breadcrumb_last {
	color: var(--pm-text);
}
