/* ==============
 *  Variables
 * ============*/

:root {
	--primary-color: #A6192E; /* = @color-red 'variables.less' */
	--primary-color-hover: color-mix(in srgb, var(--primary-color), white 20%);
	--primary-color-10: rgba(164,28,49,.1); /*#F6E8EA;*/ /* rgba(164,28,49,.1) */
	--text-primary: #505050;
	--text-black-87: rgba(0,0,0,.87);
	--text-black-70: rgba(0,0,0,.7);
	--text-black-60: rgba(0,0,0,.60);
	--text-white-75: rgba(255,255,255,.75);
	--text-white-60: rgba(255,255,255,.60);
	--text-light-gray: #BDBDBD;
	--gray-color: #4F5C64;
	--gray-ligth-color: #f7f7f7;

	--px-container: 15px;

	--fw-medium: 500;
	--fw-semibold: 600;
}



/* ==============
 *  Button
 * ============*/

.btn,
input.btn.contact-form__input {
	height: unset;
	text-align: center;
	font-size: 14px;
	font-weight: var(--fw-semibold);
	line-height: 14px;
	border-radius: 100px;
	padding: 20px;
	cursor: pointer;
	&:hover {
		text-decoration: none;
	}
	&:focus,
	&:focus-visible {
		outline: none;
		box-shadow: none;
	}
}

.btn.btn-thin {
	padding: 14px 32px;
}

/*a.button-red:not([href]):not([tabindex])*/
.btn-red,
input.btn-red.contact-form__input {
	color: white;
	background: var(--primary-color);
	border: 1px solid var(--primary-color);
	&:hover {
		color: white;
		background: var(--primary-color-hover);
		border: 1px solid var(--primary-color-hover);
	}
	&:focus,
	&:focus-visible {
		color: white;
	}
}

.btn-transparent {
	color: black;
	border: 1px solid var(--gray-color);
	background: transparent;
	&:hover {
		color: white;
		border: 1px solid var(--primary-color-hover);
		background: var(--primary-color-hover);
	}
	&:focus,
	&:focus-visible {
		color: white;
	}
}

.text-btn {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: .1px;
    color: var(--text-black-70);
}


/* ==============
 *  General
 * ============*/

body {
	&:has(.no-badges-in-footer) {
		.wrapper.badges {
			display: none;
		}
	}
	&:has(.body-color-light-gray) {
		background-color: #f2f2f2;
	}
}

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 {
	margin: 0;
}

.h1 {
	text-align: start;
	font-size: 64px;
	letter-spacing: -3px;
	font-weight: 400;
	color: black;
	line-height: 72px;
	padding: 0;
	margin-bottom: 16px;
	@media (max-width: 767.98px) {
		font-size: 44px;
		line-height: 52px;
	}
}

.h2 {
	font-size: 56px;
	line-height: 70px; /*123.5%;*/
	font-weight: 400;
	letter-spacing: -2px; /*-2px;*/
	color: black;
	@media (max-width: 767.98px) {
		font-size: 40px;
		line-height: 125%;
	}
}

.h3 {
	font-size: 40px;
	font-weight: 400;
	letter-spacing: -2px;
	line-height: 1.23;
	color: var(--text-black-87);
}

.h4 {
	font-size: 18px;
	font-weight: var(--fw-semibold);
	letter-spacing: -0.25px;
	line-height: 160%;
}

.h4-big {
	font-size: 32px;
	font-weight: normal;
	letter-spacing: -0.25px;
	line-height: 125%;
	color: black;
}


.h5 {
	font-size: 18px;
	font-weight: var(--fw-semibold);
	letter-spacing: -0.15px;
	line-height: 160%;
	color: black;
}



.w-100-sm {
	@media (max-width: 576px) {
		width: 100%;
	}
}

.w-fit {
	width: fit-content;
}

.container-wider {
	width: 100%;
	max-width: 1380px;
	margin: 0 auto;
}
.container-widest {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}

.text-white-75 {
	color: var(--text-white-75);
}

.gap-80 {
	gap: 80px;
}

.gap-40-md-80 {
	gap: 80px;
	@media (max-width: 767.98px) {
		gap: 40px;
	}
}

.px-container {
	padding-right: var(--px-container);
	padding-left: var(--px-container);
}

.px-0 {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.pt-56 {
	padding-top: 56px;
}
.pb-80 {
	padding-bottom: 80px;
}

.link-inverse-underline {
    text-decoration: underline;
    &:hover {
        text-decoration: none;
    }
}


/* ==============
 *  Intro
 * ============*/

.main-text-wrap {
	max-width: 590px;
	@media (max-width: 767px) {
		max-width: unset;
	}
}

.lead-paragraph-voucher {
	font-size: 18px;
	color: #000;
	line-height: 1.75;
}

.img-bg-intro-actions {
	display: block;
	width: 100%;
	height: auto;
	/*min-height: 560px;*/
	border-radius: 22px;
	@media (max-width: 991.98px) {
		/*width: 100%;*/
		/*height: auto;*/
		min-height: unset;
		margin-left: 0;
		margin-right: 0;
	}
}

.form-wrap {
	background-color: #fff;
	border-radius: 8px;
	border: 1px solid #e2e2e2;
	padding: 32px 24px;
}
.section-intro-actions {
	overflow-x: hidden;
	width: 100%;
	min-height: 560px;
	display: flex;
	margin-top: 20px;
	margin-bottom: 32px;

	.lead-paragraph-actions {
		max-width: 460px;
		margin-bottom: 40px;
	}
}

.img-bg-wrap-intro-actions {
	margin-left: auto;
	@media (max-width: 1280px) {
		margin-right: calc(100vw - 1281px);
	}
	&:before {
		z-index: 2;
		content: "";
		position: absolute;
		display: block;
		bottom: 0;
		left: 0;
		border-top: 0 solid #fff;
		border-right: 242px solid transparent;
		border-bottom: 533px solid #fff;
		border-left: 0 solid transparent;
	}
}

.item-benefits-actions {
	position: relative;
	display: flex;
	justify-content: center;
	padding: 0 !important;
	/*margin-top: 48px;*/
	@media (max-width: 767.98px) {
		justify-content: start;
	}


	svg {
		width: 40px;
		max-width: none;
		height: auto;
		margin-right: 16px;
		margin-bottom: auto;
		@media (max-width: 767.98px) {
			max-width: none;
		}
	}

	.h4 {
		color: var(--text-black-87);
		margin-bottom: 4px;
	}

	p {
		font-size: 15px;
		color: var(--text-black-60);
		line-height: 150%;
		max-width: 253px;
		@media (max-width: 767.98px) {
			max-width: none;
		}
	}
}


/* =======================
 *  Boxes
 * =====================*/

.box-doporuceni {
	background-color: var(--gray-ligth-color);
	border-radius: 24px;
	padding: 60px 80px;
	@media (max-width: 880px) {
		padding: 60px 40px;
	}
	@media (max-width: 576px) {
		padding: 40px 20px;
	}
}

.box-hr-wrap {
	align-items: center;
	@media (max-width: 767px) {
		align-items: start;
		width: 100%;
	}
}

.box-hr {
	width: 1px;
	height: 100%;
	flex-grow: 1;
	background-color:  rgba(0,0,0,.15);
	@media (max-width: 767px) {
		width: 100%;
		max-width: 150px;
		height: 1px;
	}
	&.top {
		margin-top: -30px;
		@media (max-width: 991.98px) {
			margin-top: -68px;
		}
		@media (max-width: 767px) {
			margin-top: 11px;
		}
	}
	&.bottom {
		margin-bottom: -30px;
		@media (max-width: 991.98px) {
			margin-bottom: -68px;
		}
		@media (max-width: 767px) {
			margin-top: 12px;
			margin-bottom: 0;
		}
	}

}

.item-wrap-treatment-spectrum {
	@media (max-width: 767.98px) {
		margin-top: 80px;
	}
}

.item-treatment-spectrum {
	position: relative;
	height: 100%;
	background-color: white;
	border: 1px solid @dark-blue;
	border-radius: 50px;
	padding: 30px;
	margin: 0;
	@media (max-width: 767px) {
		height: auto;
	}
	@media (max-width: 576px) {
		margin: 15px 0 15px 15px;
	}
}

.icon-wrap-treatment-spectrum {
	position: absolute;
	width: 70px;
	height: 70px;
	top: 0;
	left: 50%;
	transform: translate(-50%,-66%);
	display: flex;
	justify-content: center;
	align-items: center;

	.icon-treatment-spectrum {
		width: 44px;
		&.icon-ortopedie-treatment-spectrum {
			width: 48px;
		}
		&.icon-anesteziologie-treatment-spectrum {
			width: 54px;
		}
	}
}

.box-action-title-forms {
	border-radius: 8px;
	/*background-color: rgba(164,28,49,.1);*/
	background-color: rgba(164,28,49,.1);
	padding: 12px 15px;
	margin-bottom: 32px;

	p {
		color: var(--primary-color);
	}

}


/* ===================
 *  Contact-form
 * =================*/

.section-form {
	margin-top: 110px;
	margin-bottom: 110px;
	@media (max-width: 991.98px) {
		margin-top: 80px;
	}
}

.contact-form {
    @media (max-width: 767.98px) {
        margin-bottom: 30px;
    }
}

.contact-form__row {
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: start;
	/*column-gap: 16px;*/
	row-gap: 28px;
	margin-bottom: 24px;
}

.contact-form__label-main {
	font-size: 18px;
	color: var(--text-black-87);
	margin-bottom: 24px;
}


/* Povolíme, aby hláška vytekla ven z obalů */
/*.select,*/
/*.wpcf7-form-control-wrap {*/
/*	overflow: visible !important;*/
/*	height: auto !important;*/
/*	display: block; !* Ujistěte se, že to není inline-block *!*/
/*}*/

/* Styl pro hlášku */
.wpcf7-not-valid-tip {
	/*display: block;*/
	margin-top: 5px;
}


div.form-group {
	position: relative;
	/*flex-basis: 49%;*/
	/*max-width: 49%;*/
	margin-bottom: 0;
	max-width: 100%;
	flex-basis: 100%;
	/*&:has(
		[name="your-name"],
		[name="phone"]
	) {
		max-width: 100%;
		flex-basis: 100%;
	}
	@media (max-width: 991.98px) {
		flex-basis: 100%;
		max-width: 100%;
	}*/

	label.contact-form__label {
		z-index: 1;
		position: absolute;
		top: 0;
		transform: translateY(-50%);
		left: 16px;
		width: fit-content;
		font-size: 12px;
		font-weight: var(--fw-medium);
		color: var(--text-black-70);
		text-transform: none;
		background-color: white;
		padding: 0 4px;
		margin-bottom: 0;
	}

	.wpcf7-form-control-wrap {
		/*position: static; puvodni */

		/*overflow: visible !important;*/
		/*position: relative; !* Důležité pro ukotvení chyby *!*/
		/*display: block;*/
	}

	.select {
		/*overflow: visible !important;*/
		/*position: relative; !* Důležité pro ukotvení chyby *!*/
		/*display: block;*/

	}

	/* 2. Pozicování samotné chybové hlášky */
	.wpcf7-not-valid-tip {
		position: absolute;
		top: 100%;    /* Ihned pod spodní hranu inputu/selectu (56px) */
		left: 0;
		font-size: 11px;
		line-height: 1;
		color: #d93025; /* Červená barva pro chybu */
		/*margin-top: 4px; !* Malá mezera pod rámečkem *!*/
		white-space: nowrap;
	}

	/* 3. Dynamické odsazení: Pokud form-group OBSAHUJE chybu,
      přidejte margin-bottom, aby neodsunula label dalšího pole */
	div.form-group:has(.wpcf7-not-valid-tip) {
		margin-bottom: 20px;
	}


	input.contact-form__input::placeholder {
		color: var(--text-light-gray);
	}

	.select,
	input.contact-form__input {
		height: 56px;
		font-size: 16px;
		color: black;
		border: 1px solid #a2a2a2;
		border-radius: 8px;
		padding: 16px 12px;
		&:focus {
			background-color: white;
		}
	}

	.select {
		padding: 0;
	}

	.select:after {
		/*background-color: #fff;*/
		content: "";
		width: 10px;
		height: 5px;
		border: 0;
		/*padding-left: 2px;*/
		pointer-events: none;
		/*position: absolute;*/
		right: 20px;
		left: auto;
		top: 50%;
		bottom: auto;
		/*padding-right: 10px;*/
		/*background-image: url("data:image/svg+xml,%3Csvg width='10' height='5' viewBox='0 0 10 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0L5 5L10 0H0Z' fill='%23A41C31'/%3E%3C/svg%3E");*/
		background:
				#fff
				url("data:image/svg+xml,%3Csvg width='10' height='5' viewBox='0 0 10 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0L5 5L10 0H0Z' fill='%23A41C31'/%3E%3C/svg%3E")
				no-repeat
				center center / cover;
		transform: translateY(-50%);
		/*transition: transform 0.2s ease-in-out;*/
	}

    .is-open.select:after {
		transform: translateY(-50%) rotate(180deg);
	}
	/*[data-name="date_meeting"] {
		position: relative;
		display: block;
		height: 56px;
	}

	[data-name="date_meeting"]::after {
		content: "";
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
		width: 10px;
		height: 5px;
		pointer-events: none;
		background: #fff url("data:image/svg+xml,%3Csvg width='10' height='5' viewBox='0 0 10 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0L5 5L10 0H0Z' fill='%23A41C31'/%3E%3C/svg%3E") no-repeat center center / cover;
		transition: transform 0.2s ease-in-out;
		z-index: 2;
	}

	[data-name="date_meeting"]:focus-within::after {
		transform: translateY(-50%) rotate(180deg);
	}*/


	.select select {
		appearance: none;
		cursor: pointer;
		height: auto;
		font-size: 16px;
		/*letter-spacing: 0.15px;*/
		line-height: 24px;
		background: transparent;
		border: 0;
		border-radius: 8px;
		padding: 16px 12px;

		/*width: 100%;*/
		/*outline: none;*/
		+ .wpcf7-not-valid-tip {
			top: 37px;
			left: 0; /*-13px;*/
		}

		/*@media (max-width: 767.98px) {
			+ .wpcf7-not-valid-tip {
				left: 0;
			}
		}*/
	}
}

.wpcf7-list-item {
	margin-left: 0;
}

label {
	display: flex;
	margin-bottom: 24px;
}

.contact-form__label {
	text-transform: none;
}

.wpcf7-list-item-label {
	font-size: 16px;
	line-height: 18px;
	font-weight: 400;
	vertical-align: text-bottom;
}

label:has(input[type=checkbox]) {
	padding-left: 10px;
}

input[type=checkbox] {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	border: 2px solid var(--text-black-70);
	border-radius: 2px;
	/*padding-left: 10px;*/
	margin-right: 12px;
}

input[type=checkbox]:checked {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z' fill='%23000'/%3E%3C/svg%3E");
    background-size: 80%; /* Velikost fajfky */
    background-repeat: no-repeat;
    background-position: center;
    border-color: var(--text-black-70); /* Zachování barvy rámečku */
}


.contact-form__submit-container {
	.wpcf7-spinner {
		display: none;
	}
}
.contact-form__input--submit {
	/*padding: 13px 40px 13px 20px !important;*/
	padding: 20px !important;
	margin-top: 0;
	margin-left: 0;
	/*background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0L6.59 1.41L12.17 7H0V9H12.17L6.59 14.59L8 16L16 8L8 0Z' fill='white'/%3E%3C/svg%3E") !important;*/
	background-position: right 16px center !important;
	background-repeat: no-repeat !important;
	background-size: 16px 16px !important;
}

.professional-3d__privacy-policy {
	color: var(--primary-color) !important;
	text-decoration: underline;
	&:hover {
		color: var(--primary-color) !important;
		text-decoration: none;
	}
}

@media (max-width: 767.98px) {
	.form-section-wrapper { flex-direction: column-reverse; }
}


/* ========================
 *  Flatpickr #date-meeting-input
 * ======================*/

.date-time-picker-wrapper {
	position: relative;
}

.datetime-trigger {
	cursor: pointer;
	padding-right: 40px !important;
	background-color: white !important;
}

.date-time-picker-wrapper::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	/* Středová poloha */
	transform: translateY(-50%);
	width: 10px;
	height: 5px;
	/*width: 0;*/
	/*height: 0;*/
	/* Vytvoření trojúhelníku pomocí borderů */
	/*border-left: 5px solid transparent;*/
	/*border-right: 5px solid transparent;*/
	/*border-bottom: 7px solid #A41C31; !* Červená barva šipky *!*/
	pointer-events: none; /* Kliknutí projde skrz na input */
	background:
			#fff
			url("data:image/svg+xml,%3Csvg width='10' height='5' viewBox='0 0 10 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0L5 5L10 0H0Z' fill='%23A41C31'/%3E%3C/svg%3E")
			no-repeat
			center center / cover;
	transform: translateY(-50%);
	/*transition: transform 0.2s ease-in-out;*/
}

.date-time-picker-wrapper.is-active::after {
	transform: translateY(-50%) rotate(180deg);
}


/* =========================================
   Přestylování Widgetu/Kalendáře
   ========================================= */

/* Hlavní kontejner kalendáře */
.flatpickr-calendar {
	box-shadow: 0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12);
	border: none !important;
	border-radius: 8px !important;
	padding: 16px;
	width: auto !important;
	background: white;
	display: grid !important;
	grid-template-columns: auto auto;
	grid-template-rows: auto auto;
	grid-template-areas: "header time" "calendar time";
	gap: 0 24px;
}

/* Odstranění výchozí malé šipky nahoře nad kalendářem */
.flatpickr-calendar::before,
.flatpickr-calendar::after {
	display: none !important;
}

.flatpickr-innerContainer {
	grid-area: calendar;
	display: block;
}


/* --- LEVÁ ČÁST: KALENDÁŘ --- */

.flatpickr-months {
	grid-area: header;
	margin-bottom: 20px;
	position: relative;
	align-items: center;
}

.flatpickr-months:after {
    /*background-color: #fff;*/
    pointer-events: none;
    position: absolute;
    content: "";
    width: 10px;
    height: 5px;
    top: 50%;
    right: auto;
    bottom: auto;
    left: 100px;
    border: 0;
    background:
        #fff
        url("data:image/svg+xml,%3Csvg width='10' height='5' viewBox='0 0 10 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0L5 5L10 0H0Z' fill='%23A41C31'/%3E%3C/svg%3E")
        no-repeat
        center center / cover;
    transform: translateY(-50%);
    /*transition: transform 0.2s ease-in-out;*/
}

.is-open.flatpickr-months:after {
    transform: translateY(-50%) rotate(180deg);
}


.flatpickr-months .flatpickr-month {
    display: none;
}

/* Měsíc a rok (např. Září 2025) */
/*.flatpickr-current-month {
	font-weight: 600;
	color: #333;
	font-size: 16px;
}*/


/* Šipky pro změnu měsíce */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
	display: none;
}

/* Dny v týdnu (Po, Út, St...) */
span.flatpickr-weekday {
	color: var(--text-black-70);
	font-weight: 400;
	font-size: 12px;
}

.flatpickr-days {
	width: auto !important;
}

.dayContainer {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr);
	justify-items: center;
	width: 100% !important;
	min-width: unset !important;
	max-width: unset !important;
}

/* Jednotlivé dny (čísla) */
.flatpickr-day {
	border-radius: 50% !important;
	height: 28px;
	line-height: 28px;
	width: 28px;
	max-width: 28px;
	margin: 1px !important;
	color: black;
	font-weight: normal;
	border: none;
}

/* Vybraný den (to červené kolečko) */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus {
	background: var(--primary-color) !important;
	color: white !important;
	font-weight: bold;
}

/* Dnešní den (pokud není vybrán) - odstraníme výchozí styl */
.flatpickr-day.today {
	border-color: transparent !important;
}


/* --- PRAVÁ ČÁST: VÝBĚR ČASU --- */

/* Kontejner pro čas */
.flatpickr-time {
	grid-area: time;
	border-top: none !important;
	max-height: none !important;
	height: auto !important;
	display: block !important;
	width: 204px;
}

/* Nadpis "Vyberte čas" */
.flatpickr-time::before {
	content: "Vyberte čas";
	display: block;
    width: 100%;
    text-align: left;
    font-size: 14px;
    font-weight: var(--fw-medium);
    color: black;
    line-height: 22px;
    margin-bottom: 20px;
}

/* --- CUSTOM TIME BUTTONS (JS injected) --- */
.time-buttons-grid {
	display: grid;
	grid-template-rows: repeat(5, auto); /* 5 rows for 9 items (5 in col1, 4 in col2) */
	grid-auto-flow: column; /* Fill columns first, then rows */
	gap: 4px;
}

.time-button {
	background: white;
	border-radius: 8px;
	font-size: 14px;
	color: black;
	line-height: 30px;
	cursor: pointer;
}

.time-button.focus,
.time-button:hover,
.time-button.active {
	font-weight: bold;
	color: white;
	background-color: var(--primary-color);
    outline: none;
}

/* --- CUSTOM MONTH/YEAR SELECT (JS injected) --- */
.custom-month-year-select {
	appearance: none;
	-webkit-appearance: none;
	border: none;
	background: transparent;
	font-size: 14px;
	font-weight: var(--fw-medium);
	color: black;
    line-height: 22px;
	padding: 0 15px 0 0;
	cursor: pointer;
	text-align: start;
	width: auto;
}




/* ========================
 *  Proces (Timeline)
 * ======================*/

.process-section {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.process-timeline {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	text-align: left;
	padding: 0 24px 22px;
	/*margin-top: 60px; */

	@media (max-width: 991.98px) {
		padding-right: 0;
		padding-left: 0;
	}

	@media (max-width: 767.98px) {
		flex-direction: column;
		gap: 16px;

		/*.process-step:not(:last-child)::after {*/
		/*	content: "↓";*/
		/*	right: auto;*/
		/*	left: 10px;*/
		/*	top: auto;*/
		/*	bottom: -20px;*/
		/*}*/
	}
}
.process-step {
	position: relative;
	/*display: flex;*/
	flex: 1;
	gap: 24px;
	/*padding-right: 20px; */
	@media (max-width: 767.98px) {
		display: flex;
		align-items: start;
	}
}

.process-step .d-flex {
	align-items: center; /* Důležité: zarovná šipku vertikálně na střed vůči ikoně */
	gap: 24px; /* Mezera mezi ikonou a šipkou (nahrazuje margin-left u svg) */
	margin-bottom: 24px;
	@media (max-width: 767.98px) {
		gap: 12px;
		margin-bottom: 0;
	}
}

.process-step img {
	width: 40px;
	height: 40px;
	display: block;
	/*margin-bottom: 15px;*/
	@media (max-width: 767.98px) {
		max-width: none;
	}

}

.process-step .arrow-right {
	width: 100%;    /* Roztáhne se na celou dostupnou šířku */
	height: auto;   /* Automaticky dopočítá výšku dle poměru stran (viewBox) */
	display: block;
	/* margin: auto 0 auto 24px; <- Zrušeno, řešíme pomocí gap a align-items výše */
	min-width: 50px; /* Volitelné: minimální šířka šipky, aby nezmizela úplně */
	@media (max-width: 767.98px) {
		display: none;
	}
}

.process-step .arrow-down {
	display: none;
	@media (max-width: 767.98px) {
		width: auto;
		height: 24px;
		display: block;
	}
}


.process-step p {
	line-height: 1.35 !important;
	color: black;
	@media (max-width: 767.98px) {
		line-height: 40px;
		padding-top: 3px;
	}
}

/* Šipka mezi kroky (kromě posledního) */
.process-step:last-child svg {
	display: none;
}















/* =================
 *  Google reviews
 * ===============*/

.review-box-wrap {
	@media (max-width: 767.98px) {
		/*min-width: 200px;*/
		/*min-height: 120px;*/
	}
}

.review-box-wrap:not(:has(+ img)) {
	min-width: 200px;
	min-height: 120px;
}

.review-box {
	position: absolute;
	top: 16px;
	left: 16px;
	/*display: flex;*/
	flex-direction: column;
	/*border-radius: 12px;*/
	/*border: 1px solid #dadce0; !* Světle šedá, podobná Googlu *!*/
	padding: 16px 24px;
	/*max-width: 250px; !* Můžeš upravit *!*/
	/*font-family: sans-serif;*/
	background-color: rgba(255,255,255,.9);
	border-radius: 8px;
	@media (max-width: 767.98px) {
		position: static;
		padding: 26px 0 0;
	}
}

.review-header {
	display: flex;
	align-items: center;
	padding-bottom: 8px;
	font-size: 14px;
}

.review-icon-wrapper {
	/*margin-right: 8px;*/
	display: flex;
	align-items: center;
}

.review-provider {
	font-weight: var(--fw-medium);
	color: #202124;
}

.review-external-link {
	margin-left: auto;
	display: flex;
	align-items: center;
	color: #5f6368;
}

.review-external-link svg {
	fill: currentColor;
}

.review-stats {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}

.review-rating {
	display: flex;
	flex-direction: row;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 160%;
	color: black;
	margin-top: auto;
}

.review-stars {
	display: flex;
	flex-direction: row;
	margin-left: 0.25rem;
	margin-bottom: 0.25rem;

	img {
		width: 20px;
		height: 19px;
	}
}

.review-count {
	font-size: 14px;
	color: var(--text-black-70);
}

.google-reviews-list .single-review {
	border-top: 1px solid #e0e0e0;
	padding: 10px 0;
}

.google-reviews-list .single-review:first-child {
	border-top: none;
}



/* ===================
 *  Benefits
 * =================*/

.benefits-section {
	padding-top: 24px;
	padding-bottom: 32px;
	@media (max-width: 767.98px) {
		padding-top: 20px;
		padding-bottom: 0;
	}
}
.benefits-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.benefit-item {
	display: flex;
	align-items: center;
    gap: 15px; /*16px;*/
	@media (max-width: 767.98px) {
		align-items: start;
	}
}

.benefit-item img {
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.benefit-item p {
	color: var(--text-black-87);
	font-weight: var(--fw-semibold);
	margin: 0;
}

@media (max-width: 991.98px) {
	.benefits-grid { grid-template-columns: 1fr; }
}


/* ===================
 *  Reviews
 * =================*/

.section-reviews {
	overflow-x: hidden;
	/*margin-bottom: 120px;*/

	h2 {
		margin-bottom: 24px;
	}

	.lead-paragraph-actions {
		max-width: 550px;
		color: var(--text-black-60);
	}

	.number-average-review {
		font-size: 32px;
		font-weight: bold;
		line-height: 133%;
		color: #53B6AD;
		margin-right: 12px;
	}

	.text-average-review {
		max-width: 250px;
		font-size: 14px;
		line-height: 130%;
		color: var(--text-black-60);
	}

	.swiper-button-next,
	.swiper-button-prev {
		position: static;
		z-index: 3;
		overflow: hidden;
		width: 44px;
		height: 44px;
		margin: 0;
		&:after {
			content: "";
		}
	}

	.swiper-button-next {
		background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-next-light.svg") no-repeat center;
		&:not(.swiper-button-disabled):active {
			background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-next-light-active.svg") no-repeat center;
		}
		@media (min-width: 768px) {
			&:not(.swiper-button-disabled):hover {
				background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-next-light-active.svg") no-repeat center;
			}
		}
	}

	.swiper-button-prev {
		background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-prev-light.svg") no-repeat center;
		&:not(.swiper-button-disabled):active {
			background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-prev-light-active.svg") no-repeat center;
		}
		@media (min-width: 768px) {
			&:not(.swiper-button-disabled):hover {
				background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-prev-light-active.svg") no-repeat center;
			}
		}
	}
}


/* ===================
 *  FAQ
 * =================*/

.section-faq {
	margin-top: 110px;
	margin-bottom: 110px;
	@media (max-width: 991.98px) {
		margin-top: 80px;
	}

	.lead-paragraph-actions {
		margin-top: 20px;
		/*max-width: 540px;*/
	}
}

.faq-collapse {
	background-color: #F1F1F1;
	border-radius: 8px;

	.collapse-arrow {
		margin-left: auto;
		width: 20px;
		height: auto;
	}

	&:has([aria-expanded="false"]) {
		.collapse-closed {
			display: block;
		}
		.collapse-opened {
			display: none;
		}
	}

	&:has([aria-expanded="true"]) {
		.collapse-closed {
			display: none;
		}
		.collapse-opened {
			display: block;
		}
	}

	.collapse-question {
		font-size: 14px;
		font-weight: bold;
		color: black;
		line-height: 24px;
	}

	.collapse-answer {
		font-size: 14px;
		color: var(--text-black-60);
		line-height: 20px;
	}

}


/* ==============
 *  Swiper
 * ============*/

.swiper-container {
	&:has(.swiper-reviews),
	&:has(.swiper-inspiration) {
		overflow: visible;
	}

	.swiper {
		/*position: static;*/
		overflow: visible;

		&.swiper-black-discount {
			padding-bottom: 66px;

			.slide-number {
				font-size: 12px;
				font-weight: var(--fw-medium);
				line-height: 24px;
				color: var(--text-white-75);
				margin-bottom: 8px;
			}

			.inner-slide {
				backdrop-filter: blur(4.5px);
				background-color: rgba(255,255,255,.12);
				border-radius: 20px;
				padding: 23px 20px 44px 15px;
				min-height: 300px;
				@media (max-width: 908px) {
					min-height: 340px;
				}
				@media (max-width: 767px) {
					min-height: 310px;
				}
				@media (max-width: 640px) {
					min-height: 370px;
				}
				@media (max-width: 518px) {
					min-height: 300px;
				}
			}

			.img-slide {
				width: 32px;
				height: auto;
				margin-bottom: 25px;
			}

			.h3 {
				margin-bottom: 32px;
			}

			.text-slide {
				font-size: 14px;
				line-height: 20px;
				color: var(--text-white-60);
			}

			.swiper-button-next,
			.swiper-button-prev {
				display: none;
				top: auto;
				bottom: 0;
				@media (max-width: 1156px) {
					display: flex;
				}
			}

			.swiper-button-next {
				right: 33%;
				left: auto;
				@media (max-width: 576px) {
					right: auto;
					left: 67px; /* 15+44+8 */
				}
			}

			.swiper-button-prev {
				left: 33%;
				right: auto;
				@media (max-width: 576px) {
					left: 15px;
				}
			}
		}

		&.swiper-reviews {
			margin-top: 40px;
			@media (max-width: 576px) {
				margin-top: 24px;
			}

			.swiper-wrapper {
				height: unset;
				/*width: 1000%;*/
			}

			.swiper-slide {
				min-height: 320px;
				border-radius: 8px;
				border: 1px solid #E3E3E1;
				padding: 32px;
			}

			.slide-text {
				height: 100px;
				font-size: 16px;
				line-height: 150%;
				color: black;
				margin-bottom: 24px;
				@media (max-width: 767.98px) {
					height: 150px;
				}
				@media (max-width: 609.98px) {
					height: 110px;
				}

				a {
					font-weight: var(--fw-semibold);
					color: var(--primary-color);
					text-decoration: underline;
					&:hover {
						text-decoration: none;
					}

					span {
						text-decoration: underline 1px white solid;
					}

					i {
						font-weight: var(--fw-semibold);
						color: var(--primary-color);
					}
				}
			}

			.slide-img {
				width: 74px;
				height: 55px;
				border: 1px solid #f4f4f4;
				border-radius: 12px;
				margin: 16px 8px 16px 0;
			}

			.slide-name {
				font-size: 18px;
				font-weight: var(--fw-semibold);
				line-height: 24px;
				color: black;
			}

			.slide-city {
				font-size: 14px;
				line-height: 18px;
				color: #262626;
				opacity: .5;
			}
		}

		&.swiper-inspiration {
			.swiper-wrapper {
				height: unset;
				/*width: 1000%;*/
			}

			.swiper-slide {
				min-height: 330px;
				border-radius: 16px;
				border: 1px solid #E3E3E1;
				@media (max-width: 1074.98px) {
					min-height: 410px;
				}
				@media (max-width: 991.98px) {
					min-height: 380px;
				}
				@media (max-width: 880px) {
					min-height: 345px;
				}
				@media (max-width: 767.98px) {
					min-height: 315px;
				}
				@media (max-width: 575.98px) {
					min-height: 410px;
				}
				@media (max-width: 499.98px) {
					min-height: 370px;
				}
				@media (max-width: 399.98px) {
					min-height: 315px;
				}

				> div {
					overflow: hidden;
					border-radius: 12px 12px 0 0;
				}
				&:has(a:hover) {
					img {
						scale: 1.1;
						transition: all .3s linear;
					}
					h3 {
						text-decoration: underline;
					}
				}
			}

			img {
				transition: all .15s linear;
			}

			.slide-img {
				width: 100%;
				height: auto;
				border-radius: 12px 12px 0 0;
			}

			.h3 {
				font-size: 16px;
				font-weight: var(--fw-semibold);
				line-height: 24px;
				color: black;
				padding: 20px 20px 26px;
			}
		}

		.swiper-button-next,
		.swiper-button-prev {
			width: 44px;
			height: 44px;
			z-index: 3;
			&::after {
				content: '';
			}
		}

		.swiper-button-next {
			background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-next.svg") no-repeat center;
			&:not(.swiper-button-disabled):active {
				background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-next-light-active.svg") no-repeat center;
			}
			@media (min-width: 768px) {
				&:not(.swiper-button-disabled):hover {
					background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-next-light-active.svg") no-repeat center;
				}
			}
		}

		.swiper-button-prev {
			background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-prev.svg") no-repeat center;
			&:not(.swiper-button-disabled):active {
				background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-prev-light-active.svg") no-repeat center;
			}
			@media (min-width: 768px) {
				&:not(.swiper-button-disabled):hover {
					background: url("/wp-content/themes/kuchynskastudia/images/akce/swiper-btn-prev-light-active.svg") no-repeat center;
				}
			}
		}
	}
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
	opacity: 0.5;
}

.swiper-button-next:hover, .swiper-button-prev:hover {
	opacity: 1;
}


/* ==============
 *  Recenze
 * ============*/

.arrow-wrap-actions {
	align-items: end;

	img {
		width: 20px;
		height: auto;
	}

	&:has(a:hover) {
		.all-kitchens {
			text-decoration: underline;
		}
	}
}

.all-kitchens {
	font-size: 12px;
	font-weight: var(--fw-semibold);
	line-height: 44px;
	color: black;
	@media (max-width: 1100px) {
		font-size: 14px;
		font-weight: 700;
	}
}


.smooth-process-box {
    background-color: var(--gray-ligth-color, #f7f7f7);
    border-radius: 8px;
    padding: 24px;
    margin-top: 24px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.smooth-process-box__icon {
    flex-shrink: 0;
}

.smooth-process-box__content h4 {
    font-size: 16px;
    font-weight: var(--fw-semibold);
    color: var(--text-black-87);
    margin: 0 0 12px 0;
}

.smooth-process-box__text {
    padding-left: 24px;
}

.smooth-process-box__text li {
    display: list-item;
    font-size: 15px;
    line-height: 1.5;
    color: var(--text-black-60);
    /*padding-left: 24px;*/
}

.smooth-process-box__text li:last-child {
    margin-bottom: 0;
}

.smooth-process-box__text li::marker {
    font-size: 14px;
}

.designer-box {
    background-color: var(--gray-ligth-color, #f7f7f7);
    border-radius: 12px;
    padding: 24px;
    margin-top: 24px;
    display: flex;
    align-items: center;
    gap: 24px;
}

.designer-box__image img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
}


.designer-box__name {
    font-size: 18px;
    font-weight: var(--fw-semibold);
    line-height: 1.6;
    color: var(--text-black-87);
    margin-bottom: 4px;
}

.designer-box__title {
    font-size: 15px;
    color: var(--text-black-60);
}

.designer-box__phone,
.designer-box__email {
    font-size: 15px;
    line-height: 1.5;
    color: var(--text-black-60);
}

.designer-box__email a {
    color: var(--text-black-60);
}

@media (max-width: 767.98px) {
    .designer-box {
        flex-direction: column;
        align-items: start;
    }
    .designer-box__content {
        display: flex;
        flex-direction: column;
    }
}