/* WCONT, vzhled webu podle style-guide.md verze 2 (návrh v3), 2026-10-23.
   Obsah nesou moduly Divi s třídou wcont-*, vzhled je tady. Co klient nastaví v modulu sám, má přednost. */

:root {
	--fialova: #6B3AB0;
	--fialova-tmava: #4A01AF;
	--fialova-svetla: #EFE9F8;
	--navy: #1E3A8A;
	--navy-tmava: #000D52;
	--inkoust: #161A47;
	--inkoust-tmavy: #0E1133;
	--tint: #F6F4FB;
	--linka: #E6E1F1;
	--linka-silna: #CEC5E4;
	--text: #171531;
	--tlumeny: #5E5A78;
	--levandule: #C9B4F0;
	--bila: #FFFFFF;
	--grad-text: linear-gradient(100deg, #1E3A8A 0%, #6B3AB0 100%);
	--bg-hero: url("../img/bg-hero.webp");
	--bg-tmave: url("../img/bg-tmave.webp");
	--bg-cta: url("../img/bg-cta.webp");
	--bg-fluid: url("../img/bg-fluid.webp");
	--bg-svetle: url("../img/bg-svetle.webp");
	--bg-svetle2: url("../img/bg-svetle2.webp");
	--f-nadpis: 'Poppins', sans-serif;
	--f-text: 'Roboto', sans-serif;
	--f-serif: 'Crimson Pro', Georgia, serif;
	--stin: 0 18px 60px -12px rgba(22, 26, 71, .22);
	--stin-jemny: 0 10px 34px -14px rgba(22, 26, 71, .18);
	/* drobné ikony jako masky (barvu dává background-color) */
	--i-fajfka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--i-sipka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
	--i-dolu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	--i-telefon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	--i-email: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
	--i-mapa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--i-hodiny: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
	--i-linkedin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z'/%3E%3Crect width='4' height='12' x='2' y='9'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E");
	--i-budova: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z'/%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M10 6h4'/%3E%3Cpath d='M10 10h4'/%3E%3Cpath d='M10 14h4'/%3E%3Cpath d='M10 18h4'/%3E%3C/svg%3E");
	--i-stit: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
	--i-uvozovky: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z'/%3E%3Cpath d='M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z'/%3E%3C/svg%3E");
	--i-clovek: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
	--i-dokument: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E");
	--i-kalendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'/%3E%3Cline x1='16' x2='16' y1='2' y2='6'/%3E%3Cline x1='8' x2='8' y1='2' y2='6'/%3E%3Cline x1='3' x2='21' y1='10' y2='10'/%3E%3Cpath d='m9 16 2 2 4-4'/%3E%3C/svg%3E");
	--i-fakturace: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z'/%3E%3Cpath d='M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8'/%3E%3Cpath d='M12 17.5v-11'/%3E%3C/svg%3E");
}

/* ---------- Základ ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body {
	font-family: var(--f-text);
	font-weight: 400;
	font-size: 16px;
	line-height: 28px;
	color: var(--text);
	-webkit-font-smoothing: antialiased;
}
#page-container h1, #page-container h2, #page-container h3, #page-container h4 {
	font-family: var(--f-nadpis);
	font-weight: 700;
	color: inherit;
	padding-bottom: 0;
}
#page-container strong, #page-container b { font-weight: 500; }
#page-container a { color: var(--fialova); }
#page-container a:hover { color: var(--fialova-tmava); }

/* šířka řádků jako v návrhu: 1140 px, okraj 24 px (mobil 20 px) */
#page-container .et_pb_section .et_pb_row {
	width: calc(100% - 48px);
	max-width: 1140px;
}
/* výchozí rozestup modulů pod sebou (nízká specifičnost, třídy komponent ho přebijí) */
#page-container :where(.et_pb_column > .et_pb_module:not(:last-child)) { margin-bottom: 24px; }
#page-container :where(.et_pb_column > .et_pb_module:last-child) { margin-bottom: 0; }
/* řádek za řádkem v jedné sekci */
#page-container :where(.et_pb_section > .et_pb_row:not(:last-child)) { margin-bottom: 0; }

/* Textura na tmavých plochách */
.wcont-hero, .wcont-sekce--tmava, .wcont-cta { background-color: var(--inkoust) !important; background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }

/* ---------- Sekce ---------- */
.wcont-sekce--tint {
	background-color: var(--tint) !important;
	background-image: linear-gradient(rgba(246, 244, 251, .7), rgba(246, 244, 251, .7)), var(--bg-svetle2) !important;
	background-size: cover !important;
	background-position: center !important;
}
.wcont-sekce--tmava { background-image: linear-gradient(rgba(14, 17, 51, .35), rgba(14, 17, 51, .35)), var(--bg-tmave) !important; color: var(--bila); }

/* ---------- Texty ---------- */
.wcont-stitek p {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--f-nadpis);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--fialova);
}
.wcont-stitek p::before { content: ''; width: 28px; height: 2px; background: currentColor; flex: none; }
.wcont-stitek--svetly p { color: var(--levandule); }
.wcont-stitek--stred p { justify-content: center; }
#page-container .wcont-stitek:not(:last-child) { margin-bottom: 14px; }

#page-container .wcont-h2 h2 { font-size: 30px; line-height: 1.35; }
#page-container .wcont-h2:not(:last-child) { margin-bottom: 20px; }
#page-container .wcont-akcent h2 { font-family: var(--f-serif); font-weight: 700; font-size: 36px; line-height: 1.2; color: var(--navy); }
#page-container .wcont-akcent:not(:last-child) { margin-bottom: 16px; }
.wcont-stred, .wcont-stred p, .wcont-stred h2 { text-align: center; }
#page-container .et_pb_section .et_pb_row.wcont-hlava-sekce { max-width: 700px; }
.wcont-vpravo p { text-align: right; }
.wcont-perex p { font-size: 17px; line-height: 1.7; }
.wcont-tlumeny p { color: var(--tlumeny); }
.wcont-drobne p { font-size: 14px; line-height: 1.6; color: var(--tlumeny); }
#page-container .wcont-hlava-sekce-konec { margin-bottom: 50px !important; }

/* Seznam s fajfkami */
.wcont-seznam ul, .wcont-ceny .et_pb_pricing li { list-style: none !important; padding: 0 !important; margin: 0; }
.wcont-seznam ul li { position: relative; padding-left: 30px; margin: 0 0 9px; line-height: 28px; }
.wcont-seznam ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 5px;
	width: 18px;
	height: 18px;
	background-color: var(--fialova);
	-webkit-mask: var(--i-fajfka) center / contain no-repeat;
	mask: var(--i-fajfka) center / contain no-repeat;
}
.wcont-seznam ul:not(:last-child) { margin-bottom: 16px; }

/* Odkazy v běžném textu */
.et_pb_text_inner p a, .et_pb_text_inner li a, .et_pb_blurb_description a { text-decoration: underline; }

/* ---------- Tlačítka ---------- */
body #page-container .et_pb_button.wcont-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--f-nadpis) !important;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.7 !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
	padding: 15px 30px !important;
	border: 1px solid transparent;
	border-radius: 0;
	transition: background .2s, color .2s, border-color .2s, box-shadow .2s !important;
}
body #page-container .et_pb_button.wcont-btn::after { display: none !important; }
body #page-container .et_pb_button.wcont-btn--primarni { background: var(--fialova); color: var(--bila); border-color: var(--fialova); }
body #page-container .et_pb_button.wcont-btn--primarni:hover { background: var(--fialova-tmava); border-color: var(--fialova-tmava); color: var(--bila); box-shadow: 0 10px 24px -10px rgba(107, 58, 176, .7); }
body #page-container .et_pb_button.wcont-btn--plne { background: var(--bila); border-color: var(--bila); color: var(--inkoust); }
body #page-container .et_pb_button.wcont-btn--plne:hover { background: var(--fialova-svetla); border-color: var(--fialova-svetla); color: var(--inkoust); }
body #page-container .et_pb_button.wcont-btn--obrys { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .7); color: var(--bila); }
body #page-container .et_pb_button.wcont-btn--obrys:hover { background: var(--bila); border-color: var(--bila); color: var(--inkoust); }
/* tlačítko s telefonem a s kalendářem (rezervace schůzky) */
body #page-container .et_pb_button.wcont-btn--telefon::before,
body #page-container .et_pb_button.wcont-btn--kalendar::before {
	content: '' !important;
	display: block !important;
	opacity: 1 !important;
	font-size: 0 !important;
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: var(--i-telefon) center / contain no-repeat;
	mask: var(--i-telefon) center / contain no-repeat;
	position: static !important;
	margin: 0 !important;
}
body #page-container .et_pb_button.wcont-btn--kalendar::before { -webkit-mask-image: var(--i-kalendar); mask-image: var(--i-kalendar); }
/* dvě tlačítka vedle sebe */
#page-container .et_pb_button_module_wrapper:has(+ .et_pb_button_module_wrapper .wcont-vedle),
#page-container .et_pb_button_module_wrapper:has(.wcont-vedle) { display: inline-block; vertical-align: top; }
#page-container .et_pb_button_module_wrapper:has(+ .et_pb_button_module_wrapper .wcont-vedle) { margin: 0 14px 14px 0 !important; }
#page-container .et_pb_button_module_wrapper:has(.wcont-vedle) { margin-bottom: 14px !important; }

/* Odkaz se šipkou: tlačítko wcont-odkaz nebo poslední odstavec s odkazem v kartě */
body #page-container .et_pb_button.wcont-odkaz,
.wcont-kruh-karta .et_pb_blurb_description p:last-child a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--f-nadpis) !important;
	font-weight: 600;
	font-size: 13px;
	line-height: 1.6 !important;
	text-transform: uppercase;
	letter-spacing: 2px;
	text-decoration: none;
	color: var(--fialova);
	background: none;
	border: 0;
	padding: 0 !important;
}
body #page-container .et_pb_button.wcont-odkaz::after,
.wcont-kruh-karta .et_pb_blurb_description p:last-child a::after {
	content: '' !important;
	display: block !important;
	position: static !important;
	opacity: 1 !important;
	margin: 0 !important;
	width: 16px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask: var(--i-sipka) center / contain no-repeat;
	mask: var(--i-sipka) center / contain no-repeat;
	transition: transform .2s;
}
body #page-container .et_pb_button.wcont-odkaz:hover::after,
.wcont-kruh-karta .et_pb_blurb_description p:last-child a:hover::after { transform: translateX(4px); }
body #page-container .et_pb_button.wcont-odkaz:hover { background: none; color: var(--fialova-tmava); }

/* ---------- Blurb jako ikona v čipu (společný základ) ---------- */
#page-container .wcont-cip .et_pb_main_blurb_image { margin-bottom: 24px; }
#page-container .wcont-cip .et_pb_image_wrap {
	width: 72px;
	height: 72px;
	display: grid;
	place-items: center;
	margin: 0 auto;
	background: var(--fialova-svetla);
	transition: background .25s;
}
#page-container .wcont-cip .et_pb_main_blurb_image img { width: 34px; height: 34px; transition: filter .25s; }

/* ---------- Horní lišta a hlavička (Theme Builder) ---------- */
.wcont-topbar { background-color: var(--inkoust-tmavy) !important; }
.wcont-topbar .et_pb_row { display: flex; justify-content: space-between; align-items: center; min-height: 40px; }
.wcont-topbar .et_pb_column { width: auto !important; margin: 0 !important; }
.wcont-topbar p { font-family: var(--f-nadpis); font-weight: 500; font-size: 13px; line-height: 1.4; color: rgba(255, 255, 255, .82); display: flex; flex-wrap: wrap; gap: 6px 26px; }
.wcont-topbar a, .wcont-topbar span { color: rgba(255, 255, 255, .82) !important; text-decoration: none !important; display: inline-flex; align-items: center; gap: 8px; }
.wcont-topbar a:hover { color: var(--bila) !important; }
.wcont-topbar a::before, .wcont-topbar span::before {
	content: '';
	width: 15px;
	height: 15px;
	background-color: #B79BE6;
	-webkit-mask: var(--i-mapa) center / contain no-repeat;
	mask: var(--i-mapa) center / contain no-repeat;
}
.wcont-topbar a[href^="tel:"]::before { -webkit-mask-image: var(--i-telefon); mask-image: var(--i-telefon); }
.wcont-topbar a[href^="mailto:"]::before { -webkit-mask-image: var(--i-email); mask-image: var(--i-email); }

.wcont-hlavicka { background: rgba(255, 255, 255, .96) !important; box-shadow: 0 1px 0 var(--linka); }
.wcont-hlavicka.et_pb_sticky { backdrop-filter: blur(8px); }
#page-container .wcont-menu { background-color: transparent; }
.wcont-menu .et_pb_menu__logo img { width: 149px; height: auto; }
#page-container .wcont-menu .et-menu > li { padding-left: 15px; padding-right: 15px; }
#page-container .wcont-menu .et-menu > li > a {
	font-family: var(--f-serif);
	font-weight: 700;
	font-size: 21px;
	letter-spacing: 1px;
	color: var(--fialova);
	padding: 6px 0;
	border-bottom: 2px solid transparent;
	transition: color .2s, border-color .2s;
}
#page-container .wcont-menu .et-menu > li > a:hover { color: var(--fialova-tmava); opacity: 1; }
#page-container .wcont-menu .et-menu > li.current-menu-item > a { color: var(--navy); border-bottom-color: var(--fialova); }
#page-container .wcont-menu .et_pb_menu__menu > nav > ul > li { align-items: center; }
#page-container .wcont-menu .mobile_menu_bar::before { color: var(--fialova); font-size: 34px; }
#page-container .wcont-menu .et_mobile_menu { border-top: 2px solid var(--fialova); box-shadow: 0 12px 24px rgba(22, 26, 71, .1); padding: 8px 5%; }
#page-container .wcont-menu .et_mobile_menu li a { font-family: var(--f-serif); font-weight: 700; font-size: 20px; color: var(--fialova); padding: 12px 0; border-bottom: 1px solid var(--linka); }
#page-container .wcont-menu .et_mobile_menu li.current-menu-item a { color: var(--navy); }

/* ---------- Hero úvodu ---------- */
.wcont-hero {
	background-image: linear-gradient(90deg, rgba(9, 12, 40, .55) 0%, rgba(9, 12, 40, .15) 55%, rgba(9, 12, 40, 0) 100%), var(--bg-hero) !important;
	background-position: center right !important;
	color: var(--bila);
	overflow: hidden;
}
.wcont-hero .et_pb_row { align-items: center; }
#page-container .wcont-hero-h1 h1 { font-size: 40px; line-height: 1.3; text-transform: uppercase; color: var(--bila); }
#page-container .wcont-hero-h1 h1 em, #page-container .wcont-hero-h1 h1 strong { font-style: normal; font-weight: 700; color: var(--levandule); }
#page-container .wcont-hero-h1:not(:last-child) { margin-bottom: 22px; }
.wcont-hero .wcont-perex p { color: rgba(255, 255, 255, .9); max-width: 560px; }
#page-container .wcont-hero .wcont-perex { margin-bottom: 34px; }
.wcont-hero-vyhody ul { list-style: none !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 12px 24px; }
.wcont-hero-vyhody li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: rgba(255, 255, 255, .92); }
.wcont-hero-vyhody li::before {
	content: '';
	width: 24px;
	height: 24px;
	flex: none;
	border-radius: 50%;
	border: 1px solid rgba(201, 180, 240, .5);
	background: rgba(107, 58, 176, .55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 14px no-repeat;
}
#page-container .wcont-hero .wcont-hero-vyhody { margin-top: 26px; }
.wcont-hero-foto-sloupec { position: relative; }
.wcont-hero-foto { position: relative; }
.wcont-hero-foto::before { content: ''; position: absolute; inset: 26px -26px -26px 26px; border: 1px solid rgba(201, 180, 240, .55); }
#page-container .wcont-hero-foto .et_pb_image_wrap { display: block; width: 100%; }
#page-container .wcont-hero-foto img { position: relative; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .55); }
#page-container .wcont-hero-karta {
	position: absolute;
	left: -46px;
	bottom: 44px;
	z-index: 2;
	margin: 0 !important;
	background: var(--bila);
	color: var(--text);
	padding: 22px 28px;
	box-shadow: var(--stin);
}
.wcont-hero-karta .et_pb_text_inner { display: flex; align-items: center; gap: 16px; }
.wcont-hero-karta p { padding: 0 !important; }
.wcont-hero-karta p:first-child { font-family: var(--f-nadpis); font-weight: 800; font-size: 42px; line-height: 1; background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.wcont-hero-karta p:first-child strong { font-weight: 800; }
.wcont-hero-karta p:last-child { font-family: var(--f-nadpis); font-weight: 500; font-size: 14px; line-height: 1.4; color: var(--tlumeny); max-width: 150px; }

/* ---------- Hlavička podstránky ---------- */
.wcont-hlava { background: var(--tint) var(--bg-svetle) center / cover no-repeat !important; border-bottom: 1px solid var(--linka); text-align: center; }
.wcont-hlava .et_pb_row { max-width: 760px !important; }
.wcont-drobecky p, .wcont-drobecky--vlevo p { font-family: var(--f-nadpis); font-weight: 500; font-size: 13px; line-height: 1.5; color: var(--tlumeny); }
.wcont-drobecky a { color: var(--tlumeny) !important; text-decoration: none !important; }
.wcont-drobecky a:hover { color: var(--fialova) !important; }
#page-container .wcont-drobecky:not(:last-child) { margin-bottom: 16px; }
#page-container .wcont-h1-stranka h1 { font-family: var(--f-serif); font-weight: 700; font-size: 48px; line-height: 1.15; color: var(--navy); }
#page-container .wcont-h1-stranka:not(:last-child) { margin-bottom: 18px; }
#page-container .wcont-hlava .wcont-perex:not(:last-child) { margin-bottom: 32px; }
.wcont-kotvy p { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.wcont-kotvy a {
	font-family: var(--f-nadpis);
	font-weight: 500;
	font-size: 13px;
	line-height: 1.5;
	color: var(--inkoust) !important;
	text-decoration: none !important;
	background: rgba(255, 255, 255, .85);
	border: 1px solid var(--linka);
	padding: 8px 16px;
	transition: border-color .2s, color .2s, background .2s;
}
.wcont-kotvy a:hover { border-color: var(--fialova); color: var(--fialova) !important; background: var(--bila); }

/* ---------- Karty služeb (úvod) ---------- */
.wcont-sluzba {
	display: flex;
	flex-direction: column;
	background: var(--bila);
	border: 1px solid var(--linka);
	text-align: center;
	transition: transform .25s, box-shadow .25s;
}
.wcont-sluzba:hover { transform: translateY(-6px); box-shadow: var(--stin); }
.wcont-sluzba--akcent { border-color: transparent; box-shadow: var(--stin-jemny); }
#page-container .wcont-sluzba > .et_pb_module { margin-bottom: 0; }
.wcont-sluzba .wcont-sluzba-telo { flex: 1; padding: 44px 36px 40px; }
#page-container .wcont-sluzba-telo h3, #page-container .wcont-sluzba-telo h4 { font-size: 20px; line-height: 1.5; text-transform: uppercase; color: var(--inkoust); padding-bottom: 12px; }
.wcont-sluzba-telo .et_pb_module_header a { color: inherit !important; }
.wcont-sluzba .et_pb_button_module_wrapper { width: 100%; }
body #page-container .et_pb_button.wcont-sluzba-lista {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	background: var(--inkoust) var(--bg-tmave) center / cover;
	color: var(--bila);
	padding: 20px 36px !important;
	font-family: var(--f-nadpis) !important;
	font-weight: 600;
	font-size: 13px;
	line-height: 1.6 !important;
	text-transform: uppercase;
	letter-spacing: 2px;
	border: 0;
	border-radius: 0;
	transition: background .25s !important;
}
body #page-container .et_pb_button.wcont-sluzba-lista::after {
	content: '' !important;
	display: block !important;
	position: static !important;
	opacity: 1 !important;
	margin: 0 !important;
	width: 16px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask: var(--i-sipka) center / contain no-repeat;
	mask: var(--i-sipka) center / contain no-repeat;
	transition: transform .2s;
}
body #page-container .wcont-sluzba--akcent .et_pb_button.wcont-sluzba-lista,
body #page-container .wcont-sluzba:hover .et_pb_button.wcont-sluzba-lista { background: var(--fialova) var(--bg-fluid) center / cover; color: var(--bila); }
body #page-container .wcont-sluzba:hover .et_pb_button.wcont-sluzba-lista::after { transform: translateX(4px); }
#page-container .wcont-sluzba--akcent .et_pb_image_wrap, #page-container .wcont-sluzba:hover .et_pb_image_wrap { background: var(--fialova); }
#page-container .wcont-sluzba--akcent .et_pb_main_blurb_image img, #page-container .wcont-sluzba:hover .et_pb_main_blurb_image img { filter: brightness(0) invert(1); }

/* ---------- Dlaždice (úvod) ---------- */
#page-container .wcont-dlazdice { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
#page-container .wcont-dlazdice > .et_pb_module { margin: 0 !important; }
.wcont-dlazdice-polozka {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 170px;
	padding: 30px 20px;
	background: var(--bila);
	border: 1px solid var(--linka);
	color: var(--inkoust);
	text-align: center;
	box-shadow: var(--stin-jemny);
	transition: background .3s, color .3s, transform .25s;
}
.wcont-dlazdice-polozka .et_pb_blurb_content { max-width: none; }
#page-container .wcont-dlazdice-polozka .et_pb_main_blurb_image { margin-bottom: 16px; }
#page-container .wcont-dlazdice-polozka .et_pb_image_wrap { width: 60px; height: 60px; }
#page-container .wcont-dlazdice-polozka .et_pb_main_blurb_image img { width: 30px; height: 30px; }
.wcont-dlazdice-polozka .et_pb_blurb_description p { font-family: var(--f-nadpis); font-weight: 600; font-size: 17px; line-height: 1.3; color: var(--inkoust); transition: color .3s; }
.wcont-dlazdice-polozka:hover { background: var(--inkoust) var(--bg-tmave) center / cover; transform: translateY(-4px); }
.wcont-dlazdice-polozka:hover .et_pb_blurb_description p { color: var(--bila); }
#page-container .wcont-dlazdice-polozka:hover .et_pb_image_wrap { background: rgba(255, 255, 255, .12); }
#page-container .wcont-dlazdice-polozka:hover .et_pb_main_blurb_image img { filter: brightness(0) invert(1); }
/* dlaždice v samostatné řadě pod fotkou majitele (úvod od 26. 10. 2026) */
#page-container .et_pb_row.wcont-dlazdice-rada { margin-top: 64px; }
/* řada se přizpůsobí počtu dlaždic (klient 26. 10. jednu odebral): na desktopu jedna řada, na tabletu
   po třech a na mobilu po dvou, neúplná řada na střed */
#page-container .wcont-dlazdice--6 { display: flex; flex-wrap: wrap; justify-content: center; }
#page-container .wcont-dlazdice--6 > .et_pb_module { flex: 1 1 0; min-width: 0; }

/* ---------- Fotka majitele (úvod, sekce O nás) ---------- */
.wcont-majitel { position: relative; padding: 0 0 0 26px; }
.wcont-majitel::before { content: ''; position: absolute; top: -26px; left: 0; width: 55%; height: 70%; background: var(--fialova) var(--bg-fluid) center / cover; }
#page-container .wcont-majitel-foto { position: relative; margin: 0 !important; }
#page-container .wcont-majitel-foto .et_pb_image_wrap { display: block; width: 100%; }
#page-container .wcont-majitel-foto img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; box-shadow: var(--stin); }
#page-container .wcont-majitel-karta {
	position: absolute;
	right: -30px;
	bottom: 40px;
	z-index: 2;
	margin: 0 !important;
	background: var(--bila);
	padding: 20px 28px;
	box-shadow: var(--stin);
}
.wcont-majitel-karta p { padding: 0 !important; }
#page-container .wcont-majitel-karta p:first-child strong { font-family: var(--f-nadpis); font-weight: 700; font-size: 20px; line-height: 1.3; color: var(--inkoust); }
.wcont-majitel-karta p:last-child { font-family: var(--f-nadpis); font-weight: 500; font-size: 14px; line-height: 1.4; color: var(--tlumeny); }

/* ---------- Čísla ---------- */
#page-container .wcont-cisla { display: grid; grid-template-columns: repeat(2, 1fr); }
#page-container .wcont-cisla--4 { grid-template-columns: repeat(4, 1fr); }
#page-container .wcont-cisla > .et_pb_module:not(.wcont-cislo) { grid-column: 1 / -1; }
#page-container .wcont-cisla > .wcont-cislo { margin: 30px 0 0 !important; }
#page-container .wcont-cisla > .wcont-perex + .wcont-cislo,
#page-container .wcont-cisla > .wcont-perex + .wcont-cislo + .wcont-cislo { margin-top: 40px !important; }
#page-container .wcont-cisla--4 > .wcont-cislo { margin-top: 0 !important; }
.wcont-cislo { padding: 10px 28px; border-left: 1px solid var(--linka); }
.wcont-cisla > .wcont-cislo:nth-child(odd of .wcont-cislo) { border-left: 0; padding-left: 0; }
.wcont-cisla--4 > .wcont-cislo:nth-child(odd of .wcont-cislo) { border-left: 1px solid var(--linka); padding-left: 28px; }
.wcont-cisla--4 > .wcont-cislo:nth-child(1 of .wcont-cislo) { border-left: 0; padding-left: 0; }
.wcont-cislo p { padding: 0 !important; }
.wcont-cislo p:first-child { display: inline-block; font-family: var(--f-nadpis); font-weight: 800; font-size: 46px; line-height: 1.1; margin-bottom: 8px; background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.wcont-cislo p:first-child strong { font-weight: 800; }
.wcont-cislo p:last-child { font-size: 15px; line-height: 1.5; color: var(--tlumeny); }

/* ---------- Reference a citace ---------- */
.wcont-ref, .wcont-citace {
	position: relative;
	background: var(--bila);
	border: 1px solid var(--linka);
	padding: 40px 40px 45px;
	box-shadow: var(--stin-jemny);
}
.wcont-sekce--tint .wcont-ref, .wcont-sekce--tint .wcont-citace { border-color: transparent; }
.wcont-ref::before, .wcont-citace::before { content: ''; position: absolute; left: -1px; top: -1px; bottom: -1px; width: 4px; background: var(--fialova) var(--bg-fluid) center / cover; }
.wcont-ref h3 { position: relative; font-size: 19px !important; line-height: 1.35 !important; color: var(--inkoust) !important; padding-left: 74px !important; min-height: 28px; }
.wcont-ref h3::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 56px;
	height: 56px;
	margin-top: -18px;
	border-radius: 50%;
	background: var(--fialova) var(--bg-fluid) center / cover;
}
.wcont-ref h3::after {
	content: '';
	position: absolute;
	left: 15px;
	top: 50%;
	width: 26px;
	height: 26px;
	margin-top: -3px;
	background-color: var(--bila);
	-webkit-mask: var(--i-budova) center / contain no-repeat;
	mask: var(--i-budova) center / contain no-repeat;
}
.wcont-ref h3 + p { padding-left: 74px; font-size: 14px; line-height: 1.4; color: var(--tlumeny); padding-bottom: 20px !important; }
.wcont-ref .et_pb_text_inner > p:last-child, .wcont-citace .et_pb_text_inner > p:last-child {
	position: relative;
	padding-left: 28px !important;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--linka);
	font-family: var(--f-nadpis);
	font-weight: 500;
	font-size: 13px;
	line-height: 1.5;
	color: var(--tlumeny);
}
.wcont-ref .et_pb_text_inner > p:last-child::before, .wcont-citace .et_pb_text_inner > p:last-child::before {
	content: '';
	position: absolute;
	left: 0;
	top: 22px;
	width: 18px;
	height: 18px;
	background-color: var(--fialova);
	-webkit-mask: var(--i-stit) center / contain no-repeat;
	mask: var(--i-stit) center / contain no-repeat;
}
.wcont-citace .et_pb_text_inner > p:last-child::before { -webkit-mask-image: var(--i-clovek); mask-image: var(--i-clovek); }
.wcont-citace .et_pb_text_inner > p:last-child strong { color: var(--text); }
.wcont-citace .et_pb_text_inner::before {
	content: '';
	display: block;
	width: 34px;
	height: 34px;
	margin-bottom: 18px;
	background-color: var(--fialova);
	-webkit-mask: var(--i-uvozovky) center / contain no-repeat;
	mask: var(--i-uvozovky) center / contain no-repeat;
}
.wcont-citace blockquote { margin: 0; padding: 0; border: 0; font-size: 16px; line-height: 1.75; }
.wcont-citace blockquote p { padding: 0 !important; }
/* hlavní reference přes celou šířku: hlavička vlevo, text vpravo */
@media (min-width: 981px) {
	.wcont-ref--hlavni .et_pb_text_inner { display: grid; grid-template-columns: 1fr 1.4fr; column-gap: 40px; align-items: center; }
	.wcont-ref--hlavni h3 { grid-column: 1; grid-row: 1; }
	.wcont-ref--hlavni h3 + p { grid-column: 1; grid-row: 2; padding-bottom: 0 !important; }
	.wcont-ref--hlavni p:not(h3 + p):not(:last-child) { grid-column: 2; grid-row: 1 / span 2; }
	.wcont-ref--hlavni p:last-child { grid-column: 2; grid-row: 3; }
}
/* klienti bez jména (O nás): jen obor, forma a rok, menší karta */
.wcont-ref--mala { padding: 32px 36px 30px; }
.wcont-ref--osoba h3::after { -webkit-mask-image: var(--i-clovek); mask-image: var(--i-clovek); }
.wcont-ref-uvod p { font-family: var(--f-nadpis); font-weight: 500; }

/* ---------- Střídavé bloky foto a text ---------- */
.wcont-bloky { counter-reset: blok; }
#page-container .wcont-bloky .et_pb_row.wcont-blok { padding: 0 !important; background: var(--bila); }
#page-container .wcont-bloky .et_pb_row.wcont-blok:not(:last-child) { margin-bottom: 0; }
.wcont-blok .et_pb_column { margin-right: 0 !important; width: 50% !important; }
.wcont-blok-foto { position: relative; min-height: 440px; overflow: hidden; }
#page-container .wcont-blok-foto .et_pb_image { position: absolute; inset: 0; margin: 0 !important; }
#page-container .wcont-blok-foto .et_pb_image_wrap { display: block; width: 100%; height: 100%; }
#page-container .wcont-blok-foto img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s; }
.wcont-blok:hover .wcont-blok-foto img { transform: scale(1.03); }
.wcont-blok-text { padding: 60px 64px !important; display: flex; flex-direction: column; justify-content: center; }
#page-container .wcont-blok--obraceny .wcont-blok-foto { order: 3; }
.wcont-blok-text::before {
	counter-increment: blok;
	content: counter(blok, decimal-leading-zero);
	font-family: var(--f-nadpis);
	font-weight: 800;
	font-size: 40px;
	line-height: 1;
	margin-bottom: 14px;
	background: var(--grad-text);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	align-self: flex-start;
}
#page-container .wcont-blok-text h2 { font-size: 28px; line-height: 1.35; color: var(--inkoust); padding-bottom: 18px; }
#page-container .wcont-blok-text .wcont-odkaz { margin-top: 0; }

/* ---------- Vy pošlete / My vrátíme (Mzdy) ---------- */
.wcont-vymena { position: relative; }
.wcont-vymena .et_pb_column { display: flex; }
.wcont-vymena-karta { flex: 1; padding: 40px; border: 1px solid var(--linka); background: var(--bila); box-shadow: var(--stin-jemny); }
#page-container .wcont-vymena-karta h3 { display: flex; align-items: center; gap: 12px; font-size: 20px; line-height: 1.4; color: var(--inkoust); padding-bottom: 18px; }
.wcont-vymena-karta h3::before {
	content: '';
	width: 30px;
	height: 30px;
	flex: none;
	background-color: var(--fialova);
	-webkit-mask: var(--i-dokument) center / contain no-repeat;
	mask: var(--i-dokument) center / contain no-repeat;
}
.wcont-vymena-karta--tmava { background: var(--inkoust) var(--bg-tmave) center / cover; border-color: transparent; color: var(--bila); }
#page-container .wcont-vymena-karta--tmava h3 { color: var(--bila); }
.wcont-vymena-karta--tmava h3::before { background-color: var(--levandule); -webkit-mask-image: var(--i-fajfka); mask-image: var(--i-fajfka); }
.wcont-vymena-karta--tmava ul li::before, .wcont-sekce--tmava .wcont-seznam ul li::before { background-color: var(--levandule); }
@media (min-width: 981px) {
	.wcont-vymena .et_pb_column:last-child { position: relative; }
	.wcont-vymena .et_pb_column:last-child::before {
		content: '';
		position: absolute;
		left: calc(-8.7% - 32px);
		top: 50%;
		width: 64px;
		height: 64px;
		margin-top: -32px;
		border-radius: 50%;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / 28px no-repeat, var(--fialova) var(--bg-fluid) center / cover;
		box-shadow: 0 12px 30px -10px rgba(107, 58, 176, .7);
		z-index: 2;
	}
}

/* ---------- Karty výhod ---------- */
.wcont-vyhoda {
	height: 100%;
	border: 1px solid var(--linka);
	padding: 46px 30px 44px;
	text-align: center;
	background: var(--bila);
	transition: box-shadow .25s, border-color .25s, transform .25s;
}
#page-container .wcont-vyhoda .et_pb_main_blurb_image { margin-bottom: 22px; }
#page-container .wcont-vyhoda .et_pb_image_wrap { width: 84px; height: 84px; display: grid; place-items: center; margin: 0 auto; border-radius: 50%; background: var(--fialova-svetla); transition: background .25s; }
#page-container .wcont-vyhoda .et_pb_main_blurb_image img { width: 40px; height: 40px; transition: filter .25s; }
#page-container .wcont-vyhoda h3, #page-container .wcont-vyhoda h4 { font-size: 20px; line-height: 1.5; color: var(--inkoust); padding-bottom: 10px; }
.wcont-vyhoda--zvyraznena, .wcont-vyhoda:hover { border-color: transparent; box-shadow: var(--stin), inset 0 -4px 0 var(--fialova); transform: translateY(-4px); }
#page-container .wcont-vyhoda--zvyraznena .et_pb_image_wrap, #page-container .wcont-vyhoda:hover .et_pb_image_wrap { background: var(--fialova); }
#page-container .wcont-vyhoda--zvyraznena .et_pb_main_blurb_image img, #page-container .wcont-vyhoda:hover .et_pb_main_blurb_image img { filter: brightness(0) invert(1); }
.wcont-vyhody .et_pb_column { display: flex; }
.wcont-vyhody .et_pb_column > .et_pb_module { flex: 1; }

/* ---------- Kroky ---------- */
.wcont-kroky { counter-reset: krok; }
#page-container .wcont-kroky .et_pb_row.wcont-kroky-rada { margin-top: 30px; }
.wcont-kroky-rada .et_pb_column { display: flex; }
.wcont-krok {
	flex: 1;
	position: relative;
	overflow: visible !important;
	background: var(--bila);
	padding: 62px 40px 42px;
	margin-top: 36px;
	text-align: left;
	box-shadow: var(--stin-jemny);
}
.wcont-krok::before {
	counter-increment: krok;
	content: counter(krok, decimal-leading-zero) ".";
	position: absolute;
	top: -40px;
	left: 36px;
	font-family: var(--f-nadpis);
	font-weight: 800;
	font-size: 70px;
	line-height: 1.05;
	background: var(--grad-text);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
#page-container .wcont-krok .et_pb_main_blurb_image { position: absolute; top: 28px; right: 32px; margin: 0; width: 34px; }
#page-container .wcont-krok .et_pb_main_blurb_image img { width: 34px; height: 34px; opacity: .35; }
#page-container .wcont-krok h3, #page-container .wcont-krok h4 { font-size: 20px; line-height: 1.4; font-weight: 600; color: var(--inkoust); padding-bottom: 10px; }

/* ---------- Ceník ---------- */
#page-container .wcont-ceny .et_pb_pricing_table_wrap { display: flex; gap: 24px; align-items: stretch; }
#page-container .wcont-ceny .et_pb_pricing_table {
	float: none;
	width: auto !important;
	flex: 1 1 0;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	position: relative;
	border: 1px solid var(--linka);
	background: var(--bila);
	padding: 0 0 36px;
	text-align: center;
	box-shadow: var(--stin-jemny);
}
.wcont-ceny .et_pb_pricing_heading { background: none !important; padding: 44px 26px 0 !important; border: 0; }
.wcont-ceny .et_pb_pricing_heading::before {
	content: '';
	display: block;
	width: 72px;
	height: 72px;
	margin: 0 auto 20px;
	background: var(--fialova-svetla) url("../img/ikony/hvezda.svg") center / 36px no-repeat;
}
#page-container .wcont-ceny .et_pb_pricing_title { font-family: var(--f-nadpis); font-weight: 500; font-size: 20px; line-height: 1.3; letter-spacing: 4px; text-transform: uppercase; color: var(--inkoust); padding: 0 0 8px; }
.wcont-ceny .et_pb_best_value { display: block; font-family: var(--f-text); font-style: normal; font-size: 15px; line-height: 1.5; color: var(--tlumeny); min-height: 45px; }
.wcont-ceny .et_pb_pricing_content_top { border: 0; padding: 18px 20px 0; }
.wcont-ceny .et_pb_et_price { display: block; }
.wcont-ceny .et_pb_sum { font-family: var(--f-nadpis); font-weight: 700; font-size: 40px; line-height: 1.1; color: var(--inkoust); }
.wcont-ceny .et_pb_dollar_sign { font-family: var(--f-nadpis); font-weight: 500; font-size: 18px; color: var(--inkoust); margin-left: 0; }
.wcont-ceny .et_pb_frequency { display: block; font-family: var(--f-nadpis); font-weight: 500; font-size: 15px; color: var(--tlumeny); margin-top: 6px; }
.wcont-ceny .et_pb_frequency_slash { display: none; }
.wcont-ceny .et_pb_pricing_content { flex: 1; text-align: left; padding: 22px 26px 26px; margin: 22px 26px 0; border-top: 1px solid var(--linka); }
.wcont-ceny .et_pb_pricing_content { padding-left: 0; padding-right: 0; }
.wcont-ceny .et_pb_pricing li { position: relative; padding: 0 0 0 30px !important; margin: 0 0 9px; line-height: 26px; color: var(--text); }
.wcont-ceny .et_pb_pricing li::before {
	content: '' !important;
	position: absolute;
	left: 0;
	top: 4px;
	width: 18px;
	height: 18px;
	border: 0 !important;
	border-radius: 0;
	background-color: var(--fialova);
	-webkit-mask: var(--i-fajfka) center / contain no-repeat;
	mask: var(--i-fajfka) center / contain no-repeat;
}
.wcont-ceny .et_pb_pricing li span::before { display: none; }
.wcont-ceny .et_pb_pricing li.et_pb_not_available { opacity: .45; text-decoration: line-through; }
.wcont-ceny .et_pb_button_wrapper { padding: 0 26px; }
body #page-container .wcont-ceny .et_pb_pricing_table_button {
	display: block;
	width: 100%;
	font-family: var(--f-nadpis) !important;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.7 !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 15px 20px !important;
	border: 1px solid var(--fialova);
	border-radius: 0;
	background: var(--fialova);
	color: var(--bila);
}
body #page-container .wcont-ceny .et_pb_pricing_table_button:hover { background: var(--fialova-tmava); border-color: var(--fialova-tmava); }
body #page-container .wcont-ceny .et_pb_pricing_table_button::after { display: none !important; }
#page-container .wcont-ceny .et_pb_featured_table {
	background: linear-gradient(rgba(14, 17, 51, .62), rgba(14, 17, 51, .78)), var(--bg-tmave) 72% center / cover, var(--inkoust);
	border-color: transparent;
	box-shadow: var(--stin);
	transform: translateY(-10px);
}
.wcont-ceny .et_pb_featured_table .et_pb_pricing_heading::before { background: rgba(255, 255, 255, .12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") center / 36px no-repeat; }
#page-container .wcont-ceny .et_pb_featured_table .et_pb_pricing_title,
.wcont-ceny .et_pb_featured_table .et_pb_sum,
.wcont-ceny .et_pb_featured_table .et_pb_dollar_sign,
.wcont-ceny .et_pb_featured_table .et_pb_pricing li { color: var(--bila); }
.wcont-ceny .et_pb_featured_table .et_pb_best_value,
.wcont-ceny .et_pb_featured_table .et_pb_frequency { color: rgba(255, 255, 255, .72); }
.wcont-ceny .et_pb_featured_table .et_pb_pricing_content { border-color: rgba(255, 255, 255, .18); }
.wcont-ceny .et_pb_featured_table .et_pb_pricing li::before { background-color: var(--levandule); }
body #page-container .wcont-ceny .et_pb_featured_table .et_pb_pricing_table_button { background: var(--bila); border-color: var(--bila); color: var(--inkoust); }
body #page-container .wcont-ceny .et_pb_featured_table .et_pb_pricing_table_button:hover { background: var(--fialova-svetla); border-color: var(--fialova-svetla); }

/* Spící firma */
.wcont-spici { background: var(--bila); box-shadow: var(--stin-jemny); }
.wcont-spici .et_pb_column { margin-right: 0 !important; }
.wcont-spici-text { padding: 50px !important; width: 60% !important; }
.wcont-spici-cena { padding: 50px 40px !important; width: 40% !important; background: var(--fialova) var(--bg-fluid) center / cover; color: var(--bila); display: flex; flex-direction: column; justify-content: center; }
.wcont-spici-cena .wcont-cena p:first-child { font-family: var(--f-nadpis); font-weight: 700; font-size: 40px; line-height: 1.1; color: var(--bila); }
.wcont-spici-cena .wcont-cena p:last-child { color: rgba(255, 255, 255, .9); margin-top: 6px; }

/* Časté otázky */
#page-container .et_pb_section .et_pb_row.wcont-faq-rada { max-width: 820px; }
#page-container .wcont-faq { margin: 0 !important; padding: 0 !important; border: 0; border-bottom: 1px solid var(--linka); background: none !important; }
#page-container .wcont-faq:first-child { border-top: 1px solid var(--linka); }
#page-container .wcont-faq .et_pb_toggle_title {
	position: relative;
	padding: 22px 54px 22px 0;
	font-family: var(--f-nadpis);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.45;
	color: var(--inkoust);
	cursor: pointer;
}
#page-container .wcont-faq .et_pb_toggle_title::before {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	left: auto;
	width: 34px;
	height: 34px;
	margin-top: -17px;
	border-radius: 50%;
	background: var(--fialova-svetla) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B3AB0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 20px no-repeat;
	font-size: 0;
	transition: transform .2s, background-color .2s;
}
#page-container .wcont-faq.et_pb_toggle_open .et_pb_toggle_title::before {
	transform: rotate(180deg);
	background: var(--fialova) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 20px no-repeat;
}
#page-container .wcont-faq .et_pb_toggle_content { padding: 0 54px 24px 0; font-size: 16px; line-height: 28px; color: var(--text); }

/* ---------- O nás ---------- */
#page-container .wcont-display h1 { font-size: 40px; line-height: 1.2; letter-spacing: -1px; color: var(--inkoust); }
#page-container .wcont-display:not(:last-child) { margin-bottom: 22px; }
.wcont-onas-foto { position: relative; padding-bottom: 60px; }
.wcont-onas-foto::before { content: ''; position: absolute; top: -26px; right: -26px; width: 55%; height: 70%; background: var(--fialova) var(--bg-fluid) center / cover; }
#page-container .wcont-onas-foto .et_pb_image { position: relative; margin: 0 !important; }
#page-container .wcont-onas-foto .et_pb_image_wrap { display: block; width: 100%; }
#page-container .wcont-onas-foto img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
#page-container .wcont-tel-karta {
	position: absolute;
	left: -50px;
	bottom: 0;
	z-index: 2;
	margin: 0 !important;
	background: var(--bila);
	padding: 30px 40px 30px 114px;
	box-shadow: var(--stin);
}
.wcont-tel-karta::before {
	content: '';
	position: absolute;
	left: 40px;
	top: 50%;
	width: 56px;
	height: 56px;
	margin-top: -28px;
	border-radius: 50%;
	background: var(--fialova-svetla);
}
.wcont-tel-karta::after {
	content: '';
	position: absolute;
	left: 55px;
	top: 50%;
	width: 26px;
	height: 26px;
	margin-top: -13px;
	background-color: var(--fialova);
	-webkit-mask: var(--i-telefon) center / contain no-repeat;
	mask: var(--i-telefon) center / contain no-repeat;
}
.wcont-tel-karta p { padding: 0 !important; }
.wcont-tel-karta p:first-child a { font-family: var(--f-nadpis); font-weight: 800; font-size: 30px; line-height: 1.15; color: var(--inkoust) !important; text-decoration: none !important; white-space: nowrap; }
.wcont-tel-karta p:first-child a:hover { color: var(--fialova) !important; }
.wcont-tel-karta p:last-child { font-family: var(--f-nadpis); font-weight: 500; font-size: 16px; color: var(--tlumeny); }

/* Karty s kruhovou ikonou */
#page-container .wcont-kruhy { padding-top: 55px !important; }
.wcont-kruhy .et_pb_column { display: flex; }
.wcont-kruh-karta {
	flex: 1;
	position: relative;
	overflow: visible !important;
	background: var(--bila);
	border: 1px solid var(--linka);
	padding: 92px 40px 42px;
	text-align: center;
	transition: box-shadow .25s;
}
.wcont-kruh-karta:hover { box-shadow: var(--stin); }
.wcont-kruh-karta .et_pb_blurb_content { height: 100%; display: flex; flex-direction: column; }
.wcont-kruh-karta .et_pb_blurb_container { flex: 1; display: flex; flex-direction: column; }
.wcont-kruh-karta .et_pb_blurb_description { flex: 1; display: flex; flex-direction: column; }
.wcont-kruh-karta .et_pb_blurb_description p:last-child { margin-top: auto; padding-top: 18px; }
#page-container .wcont-kruh-karta .et_pb_main_blurb_image { position: absolute; top: -55px; left: 50%; transform: translateX(-50%); margin: 0; }
#page-container .wcont-kruh-karta .et_pb_image_wrap {
	width: 110px;
	height: 110px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--inkoust) var(--bg-tmave) center / cover;
	box-shadow: 0 0 0 8px var(--bila), 0 16px 34px -12px rgba(22, 26, 71, .5);
	transition: background .25s;
}
#page-container .wcont-kruh-karta:hover .et_pb_image_wrap { background: var(--fialova) var(--bg-fluid) center / cover; }
#page-container .wcont-kruh-karta .et_pb_main_blurb_image img { width: 44px; height: 44px; filter: brightness(0) invert(1); }
#page-container .wcont-kruh-karta h3, #page-container .wcont-kruh-karta h4 { font-size: 20px; line-height: 1.4; color: var(--inkoust); padding-bottom: 10px; }

/* ---------- Kontakt ---------- */
.wcont-kontakt-box { background: var(--bila); color: var(--text); padding: 50px 40px !important; box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .5); }
#page-container .wcont-kontakt-box h2 { font-size: 24px; line-height: 1.35; color: var(--inkoust); }
#page-container .wcont-kontakt-box .wcont-h2:not(:last-child) { margin-bottom: 10px; }
.wcont-uvod p { font-weight: 500; }
#page-container .wcont-radek { margin-bottom: 0 !important; padding: 14px 0; border-top: 1px solid var(--linka); }
#page-container .wcont-uvod + .wcont-radek { border-top: 0; padding-top: 0; }
.wcont-radek .et_pb_blurb_content { display: flex; gap: 16px; max-width: none; }
#page-container .wcont-radek .et_pb_main_blurb_image { margin: 0; width: 40px; flex: none; }
#page-container .wcont-radek .et_pb_image_wrap { width: 40px; height: 40px; display: grid; place-items: center; background: var(--fialova-svetla); }
#page-container .wcont-radek .et_pb_main_blurb_image img { width: 22px; height: 22px; }
.wcont-radek .et_pb_blurb_container { padding-left: 0; }
.wcont-radek .et_pb_blurb_description a { color: var(--text) !important; text-decoration: none !important; }
.wcont-radek .et_pb_blurb_description a:hover { color: var(--fialova) !important; }
.wcont-radek .et_pb_blurb_description p:not(:first-child) { font-size: 13px; line-height: 1.4; color: var(--tlumeny); }
.wcont-site p { display: flex; gap: 10px; }
.wcont-site a {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid var(--linka);
	display: grid;
	place-items: center;
	font-size: 0;
	text-decoration: none !important;
	transition: background .2s, border-color .2s;
}
.wcont-site a::before {
	content: '';
	width: 18px;
	height: 18px;
	background-color: var(--inkoust);
	-webkit-mask: var(--i-linkedin) center / contain no-repeat;
	mask: var(--i-linkedin) center / contain no-repeat;
}
.wcont-site a:hover { background: var(--fialova); border-color: var(--fialova); }
.wcont-site a:hover::before { background-color: var(--bila); }
#page-container .wcont-kontakt-box .wcont-site { margin-top: 24px; }

/* Formulář */
.wcont-formular .et_pb_contact_main_title { display: none; }
.wcont-formular .et_pb_contact_form { margin-left: -3%; }
.wcont-formular .et_pb_contact_field { margin-bottom: 18px !important; }
.wcont-formular .et_pb_contact_form_label {
	display: block !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	clip: auto !important;
	font-family: var(--f-nadpis);
	font-weight: 500;
	font-size: 13px;
	line-height: 1.5;
	color: var(--inkoust);
	margin-bottom: 6px;
}
#page-container .wcont-formular .input,
#page-container .wcont-formular select {
	font: 400 15px/1.6 var(--f-text) !important;
	color: var(--text) !important;
	background-color: var(--tint) !important;
	border: 1px solid var(--linka) !important;
	border-radius: 0;
	padding: 15px 16px !important;
	transition: border-color .2s, box-shadow .2s, background .2s;
}
#page-container .wcont-formular .input::placeholder { color: transparent; }
#page-container .wcont-formular .input:focus,
#page-container .wcont-formular select:focus { border-color: var(--fialova) !important; background-color: var(--bila) !important; box-shadow: 0 0 0 3px rgba(107, 58, 176, .14); outline: none; }
#page-container .wcont-formular textarea.input { min-height: 150px; }
#page-container .wcont-formular .et_pb_contact_captcha { width: 70px !important; padding: 12px !important; }
.wcont-formular .et_pb_contact_captcha_question { font-family: var(--f-nadpis); font-weight: 500; color: var(--inkoust); }
.wcont-formular .et_contact_bottom_container { display: flex; align-items: center; gap: 20px; margin-top: 6px; }
body #page-container .wcont-formular .et_pb_contact_submit {
	font-family: var(--f-nadpis) !important;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.7 !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 15px 30px !important;
	border: 1px solid var(--fialova);
	border-radius: 0;
	background: var(--fialova);
	color: var(--bila);
	margin: 0;
}
body #page-container .wcont-formular .et_pb_contact_submit:hover { background: var(--fialova-tmava); border-color: var(--fialova-tmava); }
body #page-container .wcont-formular .et_pb_contact_submit::after { display: none !important; }
#page-container .wcont-kontakt-box .wcont-formular + .wcont-drobne { margin-top: 18px; }

/* Rezervace schůzky: tlačítko na Zaptime klienta (box Kontakty a Přijďte se poradit) */
#page-container .et_pb_button_module_wrapper:has(.wcont-rezervace-btn) { margin-bottom: 30px !important; }
#page-container .wcont-kontakt-box .et_pb_button_module_wrapper:has(.wcont-rezervace-btn) { margin: 24px 0 0 !important; }
body #page-container .wcont-kontakt-box .et_pb_button.wcont-rezervace-btn { display: flex; width: 100%; padding: 15px 20px !important; }

/* Kde nás najdete */
.wcont-najdete-foto { position: relative; isolation: isolate; }
.wcont-najdete-foto::after { content: ''; position: absolute; left: -20px; bottom: -20px; width: 40%; height: 45%; background: var(--fialova) var(--bg-fluid) center / cover; z-index: -1; }
#page-container .wcont-najdete-foto .et_pb_image { height: 100%; margin: 0 !important; }
#page-container .wcont-najdete-foto .et_pb_image_wrap { display: block; width: 100%; height: 100%; }
#page-container .wcont-najdete-foto img { width: 100%; height: 100% !important; min-height: 360px; object-fit: cover; }
.wcont-info-karta { border: 1px solid var(--linka); padding: 30px 32px; background: var(--bila); }
#page-container .wcont-info-karta h3 { display: flex; align-items: center; gap: 12px; font-size: 18px; line-height: 1.4; color: var(--inkoust); padding-bottom: 14px; }
.wcont-info-karta h3::before {
	content: '';
	width: 24px;
	height: 24px;
	flex: none;
	background-color: var(--fialova);
	-webkit-mask: var(--i-hodiny) center / contain no-repeat;
	mask: var(--i-hodiny) center / contain no-repeat;
}
.wcont-info-karta--faktura h3::before { -webkit-mask-image: var(--i-fakturace); mask-image: var(--i-fakturace); }
.wcont-info-karta table { width: 100%; border: 0 !important; border-collapse: collapse; margin: 0; font-size: 15px; }
.wcont-info-karta td { padding: 5px 0 !important; border: 0 !important; vertical-align: top; }
.wcont-info-karta td:last-child { text-align: right; font-weight: 500; }

/* ---------- CTA pruh a patička (Theme Builder) ---------- */
.page-id-22 .wcont-cta { display: none; }
.wcont-cta { background-image: linear-gradient(rgba(14, 17, 51, .25), rgba(14, 17, 51, .25)), var(--bg-cta) !important; color: var(--bila); text-align: center; }
#page-container .wcont-cta h2 { font-size: 32px; line-height: 1.35; font-weight: 600; color: var(--bila); }
#page-container .wcont-cta .wcont-h2:not(:last-child) { margin-bottom: 12px; }
.wcont-cta .wcont-perex p { color: rgba(255, 255, 255, .9); max-width: 560px; margin: 0 auto; font-size: 16px; }
#page-container .wcont-cta .wcont-perex { margin-bottom: 32px; }
.wcont-cta .et_pb_column { text-align: center; }

.wcont-paticka { background-color: var(--inkoust-tmavy) !important; color: rgba(255, 255, 255, .7); font-size: 14px; line-height: 1.7; }
.wcont-paticka p, .wcont-paticka li { font-size: 14px; line-height: 1.7; color: rgba(255, 255, 255, .7); }
.wcont-paticka a { color: rgba(255, 255, 255, .7) !important; text-decoration: none !important; }
.wcont-paticka a:hover { color: var(--bila) !important; }
.wcont-paticka-logo img { width: 140px; }
#page-container .wcont-paticka h3 { font-size: 14px; line-height: 1.4; font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; color: var(--bila); margin: 6px 0 18px; }
.wcont-paticka h3::after { content: ''; display: block; width: 28px; height: 2px; margin-top: 10px; background: #9D7BDB; }
.wcont-paticka ul { list-style: none !important; padding: 0 !important; }
.wcont-paticka li { margin: 0 0 8px; }
.wcont-paticka .wcont-site a { border-color: rgba(255, 255, 255, .22); }
.wcont-paticka .wcont-site a::before { background-color: var(--bila); }
.wcont-paticka .wcont-site a:hover { border-color: var(--fialova); }
.wcont-copyright { background-color: var(--navy-tmava) !important; }
.wcont-copyright p { font-family: var(--f-nadpis); font-weight: 500; font-size: 13px; line-height: 1.6; color: rgba(255, 255, 255, .9); }
.wcont-copyright a { color: var(--bila) !important; }
.wcont-copyright a:hover { color: var(--levandule) !important; }

/* ---------- Opravy proti výchozím stylům Divi ---------- */
/* zarovnání na střed: Divi dává modulům et_pb_text_align_left */
#page-container .wcont-hlava .et_pb_text,
#page-container .wcont-cta .et_pb_text,
#page-container .et_pb_module.wcont-stred,
#page-container .wcont-stred .et_pb_module,
#page-container .wcont-sluzba-telo,
#page-container .wcont-dlazdice-polozka,
#page-container .wcont-vyhoda,
#page-container .wcont-kruh-karta,
#page-container .wcont-sluzba-telo .et_pb_blurb_container,
#page-container .wcont-dlazdice-polozka .et_pb_blurb_container,
#page-container .wcont-vyhoda .et_pb_blurb_container,
#page-container .wcont-kruh-karta .et_pb_blurb_container { text-align: center; }
#page-container .wcont-paticka-logo { max-width: 140px; }
#page-container .wcont-paticka-logo img { width: 140px; }
#page-container .wcont-hlava .wcont-kotvy p { justify-content: center; }
/* clearfix řádku by v pružném řádku zabral místo */
.wcont-topbar .et_pb_row::after { display: none; }
/* obrázek blurbu se má vztahovat ke kartě, ne k obsahu */
#page-container .wcont-krok .et_pb_blurb_content,
#page-container .wcont-kruh-karta .et_pb_blurb_content { position: static; }
/* poznámka pod ceníkem */
#page-container .et_pb_row.wcont-ceny-pozn { margin-top: 36px; }
/* velká čísla: obecné pravidlo pro tučný text (500) je nesmí ztenčit */
#page-container .wcont-cislo p:first-child strong,
#page-container .wcont-hero-karta p:first-child strong { font-weight: 800; }
#page-container .wcont-cena p:first-child strong { font-weight: 700; }

/* ---------- Stránka 404 (hlavička a patička z Theme Builderu, tělo je šablona Divi) ---------- */
.error404 #main-content { background: var(--tint) var(--bg-svetle) center / cover no-repeat; }
.error404 #main-content .container { padding: 120px 0 140px; text-align: center; }
.error404 #main-content .container::before { display: none; }
.error404 #left-area { float: none; width: 100%; padding: 0; }
.error404 .not_found .entry { max-width: 620px; margin: 0 auto; }
.error404 #page-container .not-found-title { font-family: var(--f-serif); font-weight: 700; font-size: 48px; line-height: 1.15; color: var(--navy); padding-bottom: 18px; }
.error404 .not_found .entry p { font-size: 17px; line-height: 1.7; color: var(--tlumeny); }

/* ---------- Dlouhý text (Ochrana osobních údajů) ---------- */
#page-container .et_pb_section .et_pb_row.wcont-pravni-rada { max-width: 760px; }
#page-container .wcont-pravni h2 { font-size: 26px; line-height: 1.35; margin: 46px 0 14px; }
#page-container .wcont-pravni h2:first-child { margin-top: 0; }
#page-container .wcont-pravni h3 { font-size: 18px; line-height: 1.4; margin: 26px 0 8px; }
#page-container .wcont-pravni h2 + h3 { margin-top: 0; }
#page-container .wcont-pravni ul { list-style: disc; padding: 0 0 16px 22px; }
#page-container .wcont-pravni ul li { margin-bottom: 6px; }
#page-container .wcont-pravni ul li::marker { color: var(--fialova); }
#page-container .wcont-pravni p:last-child { padding-top: 18px; color: var(--tlumeny); }

/* ---------- Cookie lišta (js/cookie-lista.js) ---------- */
.cookie-lista {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 100000;
	background: var(--inkoust); border-top: 3px solid var(--fialova);
	box-shadow: 0 -12px 40px -12px rgba(14, 17, 51, .5);
	transform: translateY(110%); transition: transform .35s ease;
	padding-bottom: env(safe-area-inset-bottom);
	font-family: var(--f-text); color: rgba(255, 255, 255, .9);
}
.cookie-lista--videt { transform: translateY(0); }
.cookie-vnitrek {
	max-width: min(1600px, calc(100vw - 48px)); margin: 0 auto; padding: 14px 0;
	display: flex; align-items: center; flex-wrap: wrap; gap: 14px 32px;
}
.cookie-text { flex: 1 1 360px; margin: 0; padding: 0 !important; font-size: 14px; line-height: 1.6; }
.cookie-lista .cookie-text a { color: var(--levandule); text-decoration: underline; }
.cookie-lista .cookie-text a:hover { color: var(--bila); }
.cookie-tlacitka { display: flex; flex-wrap: wrap; gap: 10px; }
.cookie-btn {
	font-family: var(--f-nadpis); font-weight: 500; font-size: 13px; line-height: 1.4;
	text-transform: uppercase; letter-spacing: 1px; white-space: nowrap;
	padding: 11px 22px; border: 1px solid; border-radius: 0; cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.cookie-btn--obrys { background: transparent; border-color: rgba(255, 255, 255, .6); color: var(--bila); }
.cookie-btn--obrys:hover { background: var(--bila); border-color: var(--bila); color: var(--inkoust); }
.cookie-btn--plne { background: var(--fialova); border-color: var(--fialova); color: var(--bila); }
.cookie-btn--plne:hover { background: var(--fialova-tmava); border-color: var(--fialova-tmava); }
.cookie-btn:focus-visible, .cookie-prepinac input:focus-visible + .cookie-jezdec { outline: 2px solid var(--levandule); outline-offset: 2px; }
.cookie-detail {
	flex: 1 1 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 40px;
	padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .14);
}
.cookie-detail[hidden] { display: none; }
.cookie-kat-hlava { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.cookie-kat-nazev { font-family: var(--f-nadpis); font-weight: 600; font-size: 15px; color: var(--bila); }
.cookie-kat-stav { font-size: 13px; color: var(--levandule); white-space: nowrap; }
.cookie-kat-popis { margin: 0; padding: 0 !important; font-size: 13px; line-height: 1.55; color: rgba(255, 255, 255, .7); }
.cookie-detail-akce { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
.cookie-prepinac { position: relative; display: inline-block; flex: none; width: 44px; height: 24px; }
.cookie-prepinac input { position: absolute; opacity: 0; width: 0; height: 0; }
.cookie-jezdec { position: absolute; inset: 0; border-radius: 24px; background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .4); cursor: pointer; transition: background-color .2s ease; }
.cookie-jezdec::before { content: ''; position: absolute; left: 3px; top: 50%; width: 16px; height: 16px; border-radius: 50%; background: var(--bila); transform: translateY(-50%); transition: transform .2s ease; }
.cookie-prepinac input:checked + .cookie-jezdec { background: var(--fialova); border-color: var(--fialova); }
.cookie-prepinac input:checked + .cookie-jezdec::before { transform: translate(20px, -50%); }
@media (max-width: 767px) {
	.cookie-vnitrek { max-width: calc(100vw - 40px); padding: 14px 0 16px; gap: 12px; }
	.cookie-tlacitka { width: 100%; }
	.cookie-tlacitka .cookie-btn { flex: 1 1 auto; padding: 11px 14px; }
	.cookie-detail { grid-template-columns: 1fr; }
}

/* ---------- Tablet ---------- */
@media (max-width: 1100px) {
	#page-container .wcont-menu .et-menu > li { padding-left: 10px; padding-right: 10px; }
	#page-container .wcont-menu .et-menu > li > a { font-size: 19px; }
}
@media (min-width: 981px) and (max-width: 1200px) {
	/* okraj řádku je tu jen 24 px, ozdoba za fotkou na O nás (-26 px) by vyčnívala z okna */
	.wcont-onas-foto::before { right: -20px; }
}
@media (max-width: 980px) {
	.wcont-topbar { display: none; }
	.wcont-hero { background-image: linear-gradient(180deg, rgba(9, 12, 40, .6) 0%, rgba(9, 12, 40, .25) 100%), var(--bg-hero) !important; }
	.wcont-hero-foto-sloupec { max-width: 560px; margin-right: 26px !important; margin-top: 30px; }
	.wcont-sluzby .et_pb_column, .wcont-kroky-rada .et_pb_column, .wcont-kruhy .et_pb_column { max-width: 560px; margin-left: auto !important; margin-right: auto !important; }
	.wcont-kruhy .et_pb_column:not(:last-child) { margin-bottom: 80px !important; }
	#page-container .wcont-cisla--4 { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }
	.wcont-cisla--4 > .wcont-cislo:nth-child(odd of .wcont-cislo) { border-left: 0; padding-left: 0; }
	.wcont-blok { display: flex; flex-direction: column; }
	.wcont-blok .et_pb_column { width: 100% !important; }
	#page-container .wcont-blok--obraceny .wcont-blok-foto { order: 0; }
	.wcont-blok-foto { min-height: 320px; }
	.wcont-blok-text { padding: 44px 0 56px !important; }
	.wcont-vyhody .et_pb_column { width: 48.5% !important; margin-right: 3% !important; margin-bottom: 30px !important; }
	.wcont-vyhody .et_pb_column:nth-child(2n) { margin-right: 0 !important; }
	.wcont-vymena .et_pb_column:not(:last-child) { margin-bottom: 30px !important; }
	#page-container .wcont-ceny .et_pb_pricing_table_wrap { flex-wrap: wrap; gap: 44px 24px; }
	#page-container .wcont-ceny .et_pb_pricing_table { flex: 1 1 calc(50% - 12px); }
	#page-container .wcont-ceny .et_pb_featured_table { transform: none; }
	.wcont-spici .et_pb_column { width: 100% !important; }
	.wcont-ref--hlavni .et_pb_text_inner { display: block; }
	.wcont-kontakt .et_pb_column:not(:last-child) { margin-bottom: 30px !important; }
	.wcont-tel-karta { left: 20px !important; }
	.wcont-onas-foto { margin-top: 30px; }
	.wcont-onas-foto::before { right: -12px; top: -14px; }
	.wcont-majitel { max-width: 560px; margin: 14px 0 44px !important; padding-left: 12px; }
	.wcont-majitel::before { top: -14px; }
	#page-container .wcont-majitel-karta { right: -10px; }
	#page-container .wcont-dlazdice--6 > .et_pb_module { flex: 0 0 calc((100% - 40px) / 3); }
	#page-container .et_pb_row.wcont-dlazdice-rada { margin-top: 48px; }
	.wcont-najdete-foto { margin-bottom: 40px !important; }
	.wcont-paticka .et_pb_column { width: 47% !important; margin-right: 6% !important; margin-bottom: 30px !important; }
	.wcont-paticka .et_pb_column:nth-child(2n) { margin-right: 0 !important; }
}
/* karty výhod po třech (O nás) zůstávají na tabletu po třech: po dvou by třetí karta každé řady
   odjela doprava a nechala vlevo díru */
@media (min-width: 768px) and (max-width: 980px) {
	.wcont-vyhody--3 { display: flex; }
	.wcont-vyhody--3::after { display: none; }
	.wcont-vyhody--3 .et_pb_column:nth-child(n) { width: 31.33% !important; margin-right: 3% !important; }
	.wcont-vyhody--3 .et_pb_column:last-child { margin-right: 0 !important; }
	.wcont-vyhody--3 .wcont-vyhoda { padding: 34px 16px 32px; }
	#page-container .wcont-vyhody--3 .wcont-vyhoda h3 { font-size: 17px; }
}

/* ---------- Mobil ---------- */
@media (max-width: 767px) {
	#page-container .et_pb_section .et_pb_row { width: calc(100% - 40px); }
	.wcont-menu .et_pb_menu__logo img { width: 120px; }
	#page-container .wcont-hero-h1 h1 { font-size: 28px; }
	.wcont-perex p { font-size: 16px; }
	#page-container .wcont-hero .et_pb_button_module_wrapper { display: block !important; margin-right: 0 !important; }
	#page-container .wcont-hero .et_pb_button.wcont-btn { display: flex; width: 100%; }
	#page-container .wcont-hero-karta { left: -10px; bottom: 24px; padding: 16px 20px; }
	.wcont-hero-karta p:first-child { font-size: 34px; }
	#page-container .wcont-h1-stranka h1 { font-size: 36px; }
	.wcont-hlava { background-size: auto 100% !important; }
	#page-container .wcont-h2 h2 { font-size: 25px; }
	#page-container .wcont-akcent h2 { font-size: 30px; }
	#page-container .wcont-display h1 { font-size: 30px; }
	#page-container .wcont-blok-text h2 { font-size: 24px; }
	.wcont-blok-text::before { font-size: 32px; }
	.wcont-blok-foto { min-height: 240px; }
	#page-container .wcont-dlazdice { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	#page-container .wcont-dlazdice--6 > .et_pb_module { flex-basis: calc((100% - 14px) / 2); }
	.wcont-dlazdice-polozka { min-height: 150px; padding: 24px 12px; }
	.wcont-dlazdice-polozka .et_pb_blurb_description p { font-size: 15px; }
	.wcont-cislo { padding: 0 0 0 18px; }
	.wcont-cisla > .wcont-cislo:nth-child(odd of .wcont-cislo),
	.wcont-cisla--4 > .wcont-cislo:nth-child(odd of .wcont-cislo) { border-left: 0; padding-left: 0; }
	.wcont-cislo p:first-child { font-size: 34px; }
	.wcont-cislo p:last-child { font-size: 14px; }
	.wcont-vyhody .et_pb_column { width: 100% !important; margin-right: 0 !important; }
	.wcont-krok { padding: 56px 28px 34px; }
	.wcont-krok::before { font-size: 56px; top: -32px; left: 24px; }
	#page-container .wcont-ceny .et_pb_pricing_table { flex-basis: 100%; }
	.wcont-spici-text, .wcont-spici-cena { padding: 36px 26px !important; }
	#page-container .wcont-faq .et_pb_toggle_title { font-size: 16px; }
	#page-container .wcont-faq .et_pb_toggle_content { padding-right: 0; }
	#page-container .wcont-tel-karta { left: 12px !important; right: 12px; padding: 20px 22px 20px 88px; }
	.wcont-tel-karta::before { left: 22px; width: 46px; height: 46px; margin-top: -23px; }
	.wcont-tel-karta::after { left: 33px; width: 24px; height: 24px; margin-top: -12px; }
	.wcont-tel-karta p:first-child a { font-size: 22px; }
	.wcont-onas-foto { padding-bottom: 70px; }
	#page-container .wcont-majitel-karta { bottom: 20px; padding: 14px 20px; }
	#page-container .wcont-majitel-karta p:first-child strong { font-size: 18px; }
	.wcont-majitel-karta p:last-child { font-size: 13px; }
	#page-container .et_pb_row.wcont-dlazdice-rada { margin-top: 36px; }
	.wcont-kontakt-box { padding: 36px 24px !important; }
	.wcont-formular .et_pb_contact_field_half { width: 100% !important; }
	.wcont-formular .et_contact_bottom_container { flex-direction: column; align-items: stretch; }
	.wcont-info-karta { padding: 26px 22px; }
	.wcont-najdete-foto::after { left: -10px; bottom: -10px; }
	#page-container .wcont-cta h2 { font-size: 26px; }
	.error404 #main-content .container { padding: 80px 0 90px; }
	.error404 #page-container .not-found-title { font-size: 36px; }
	#page-container .wcont-cta .et_pb_button_module_wrapper { display: block !important; margin-right: 0 !important; }
	#page-container .wcont-cta .et_pb_button.wcont-btn { display: flex; width: 100%; }
	body #page-container .et_pb_button.wcont-rezervace-btn { display: flex; width: 100%; }
	.wcont-paticka .et_pb_column { width: 100% !important; margin-right: 0 !important; }
	.wcont-copyright p { text-align: center !important; }
	.wcont-ref, .wcont-citace { padding: 32px 24px 34px; }
}
