/* ============================================================
   DETAIL NABÍDKY (single-podnik) — layout podle Figmy
   Načítá se na detailu nabídky (is_singular('podnik')), vše scopeováno
   pod .ib-detail. Print pravidla žijí v css/print.css.
   ============================================================ */

/* Container zůstává standardní (1170/1280). */

/* ---- Hero grid: text vlevo, foto vpravo, finanční pás dole ----
   Standardní uspořádání bez překryvů — pás je samostatný řádek gridu
   pod textem i fotkou, zarovnaný s obsahem stránky. */
.ib-detail .ib-detail-hero {
	margin-left: 0;
	margin-right: 0;
	margin-top: 8px;
}
/* Bootstrap .row clearfix pseudo-elementy by se v gridu staly položkami */
.ib-detail .ib-detail-hero::before,
.ib-detail .ib-detail-hero::after {
	content: none;
}
.ib-detail .ib-detail-hero__text {
	float: none;
	width: 100%;
	padding: 0;
}
.ib-detail .ib-detail-hero__media {
	margin-top: 20px;
}

/* mobil/tablet: pořadí nadpis → lokalita + číslo nabídky → fotka →
   kategorie pilly → přehled příležitosti → finanční pás.
   display:contents rozpustí obalové divy, aby šly prvky řadit flexem. */
@media (max-width: 991px) {
	.ib-detail .ib-detail-hero {
		display: flex;
		flex-direction: column;
	}
	.ib-detail .ib-detail-hero__text,
	.ib-detail .ib-detail-hero__text .ib-detail-meta {
		display: contents;
	}
	.ib-detail .ib-detail-hero h1 {
		order: 1;
	}
	.ib-detail .ib-detail-hero .ib-detail-meta__row {
		order: 2;
		margin-bottom: 0;
	}
	.ib-detail .ib-detail-hero__media {
		order: 3;
		margin-top: 14px;
	}
	/* pilly hned za lokalitou/číslem, nad fotkou */
	.ib-detail .ib-detail-hero .ib-detail-meta__row.ib-detail-meta__cats {
		order: 3;
		margin-top: 4px;
	}
	.ib-detail .ib-detail-hero .ib-detail-perex {
		order: 5;
		margin-top: 6px;
	}
	.ib-detail .ib-detail-hero .product-main-numbers {
		order: 6;
	}
	.ib-detail .ib-detail-hero .ib-hero-foot {
		order: 7;
	}
	/* dvojice CTA + PDF až pod infolištou — na celou šířku a vyšší */
	.ib-detail .ib-detail-hero .ib-detail-hero-actions {
		order: 8;
		align-self: stretch;
		margin-top: 16px;
	}
	.ib-detail .ib-detail-hero .ib-detail-hero-actions .ib-detail-hero-cta,
	.ib-detail .ib-detail-hero .ib-detail-hero-actions .ib-detail-pdf {
		flex: 1 1 0;
		justify-content: center;
		text-align: center;
		padding-top: 12px;
		padding-bottom: 12px;
		font-size: 13.5px;
	}
	/* kratší popisek PDF na mobilu („Uložit jako PDF“) */
	.ib-detail .ib-hide-sm {
		display: none;
	}
}

@media (min-width: 992px) {
	.ib-detail .ib-detail-hero {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 46%;
		grid-template-rows: auto auto;
		column-gap: 48px;
	}
	.ib-detail .ib-detail-hero__text {
		grid-column: 1;
		grid-row: 1;
		padding-bottom: 12px;
	}
	.ib-detail .ib-detail-hero__media {
		grid-column: 2;
		grid-row: 1;
		margin-top: 0;
		align-self: center; /* fotka svisle na střed výšky hero sekce */
	}
	/* pás přesahuje content na obou stranách; na 992–1399px jen o 15px —
	   container (970/1170) je tu blízko šířce okna a větší přesah by
	   vytvořil horizontální scroll stránky */
	.ib-detail .ib-detail-hero .product-main-numbers {
		grid-column: 1 / -1;
		grid-row: 2;
		margin-top: 28px;
		margin-left: -15px;
		margin-right: -15px;
	}
	.ib-detail .ib-detail-hero .ib-hero-foot {
		grid-column: 1 / -1;
		grid-row: 3;
	}
}

.ib-detail h1 {
	font-size: 38px;
	line-height: 1.2;
	margin-top: 6px;
	margin-bottom: 24px;
}
/* dlouhé názvy (nad 60 znaků, třídu sází šablona) — o stupeň menší,
   ať nezaberou půl obrazovky ještě před fotkou */
.ib-detail h1.is-long {
	font-size: 35px;
}
@media (max-width: 767px) {
	.ib-detail h1 {
		font-size: 30px;
		line-height: 1.25;
		margin-top: 2px;
		margin-bottom: 14px;
	}
	.ib-detail h1.is-long {
		font-size: 27px;
	}
	/* menší horní odsazení celé sekce na mobilu */
	.ib-detail .ib-detail-hero {
		margin-top: 0;
	}
	/* boční odsazení obsahu na mobilu */
	.container.ib-detail {
		padding-left: 15px;
		padding-right: 15px;
	}
	.ib-detail .ib-detail-similar {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* meta: řádky lokalita / číslo nabídky / kategorie pilly — vzdušně */
.ib-detail .ib-detail-meta {
	margin-bottom: 26px;
}
.ib-detail .ib-detail-meta__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 9px;
	margin-bottom: 8px;
}
.ib-detail .ib-detail-meta__row:last-child {
	margin-bottom: 0;
}
.ib-detail .ib-detail-meta__row.ib-detail-meta__cats {
	margin-top: 6px;
	gap: 5px; /* pilly blíž k sobě */
}
.ib-detail .ib-detail-loc {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #2b2b2b;
	font-size: 17.5px;
	font-weight: 600;
	line-height: 33px;
}
.ib-detail .ib-detail-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 2px 10px;
	border: 1px solid #e3eaf3;
	border-radius: 8px;
	background: #f7f9fc;
	color: #5a6b82;
	font-size: 12.5px;
	font-weight: 500;
	line-height: 19px;
	white-space: nowrap;
	text-decoration: none;
}
/* pilly jsou odkazy do databáze s předfiltrovanou kategorií */
a.ib-detail-badge:hover,
a.ib-detail-badge:focus {
	color: #0e66a9;
	text-decoration: none;
}
.ib-detail .ib-detail-badge__icon {
	display: inline-flex;
	width: 21px;
	height: 21px;
	margin-bottom: 4px;
	color: var(--ib-cta-blue);
}
.ib-detail .ib-detail-badge__icon svg {
	width: 100%;
	height: 100%;
}
/* odsazení řeší řádek, ne samotný text — s margin-bottom uvnitř flexu
   by číslo nabídky nesedělo svisle na střed vůči ikoně */
.ib-detail .ib-detail-meta__row.ib-detail-meta__offer {
	align-items: center;
	margin-bottom: 14px;
}
.ib-detail .ib-detail-offerno {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--ib-muted);
	font-size: 13px;
}
.ib-detail .ib-detail-offerno__icon {
	display: inline-flex;
	width: 13px;
	height: 13px;
	color: var(--ib-muted);
	flex: none;
}
.ib-detail .ib-detail-offerno__icon svg {
	width: 100%;
	height: 100%;
}

/* perex — vzdušná typografie; první větu zvýrazňuje ib-detail.js
   (hlídá zkratky typu „mil. Kč“, „s.r.o.“, aby nedělil uprostřed) */
.ib-detail .ib-detail-perex p {
	font-size: 15px;
	line-height: 1.6;
	color: #4c5a70;
	text-align: left;
	margin-bottom: 18px;
}
.ib-detail .ib-detail-perex p.ib-perex-lead {
	font-size: 16.5px;
	line-height: 1.55;
	font-weight: 500;
	color: #33415a;
	margin-bottom: 13px;
}

/* dvojice akcí pod exec summary: zelené CTA + PDF odkaz */
.ib-detail .ib-detail-hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 6px;
}
.ib-detail .ib-detail-hero-cta {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 8px 22px;
	border-radius: 8px;
	background-color: var(--ib-cta-green);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.ib-detail .ib-detail-hero-cta:hover {
	background-color: var(--ib-cta-green-hover);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(27, 45, 79, 0.1);
}

/* malý PDF odkaz pod exec summary (stejný handler jako #pdf-download) */
.ib-detail .ib-detail-pdf {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 2px;
	padding: 7px 14px;
	border: 1px solid #bcd4ec;
	border-radius: 8px;
	background: #fff;
	color: #0e66a9;
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.ib-detail .ib-detail-pdf:hover {
	background-color: #eef5fc;
	border-color: #9fc3e6;
	color: #0e66a9;
	text-decoration: none;
}
.ib-detail .ib-detail-pdf svg {
	width: 14px;
	height: 14px;
	flex: none;
}
/* popisek je jeden flex item — mezery uvnitř jsou běžné mezery textu */
.ib-detail .ib-detail-pdf__label {
	white-space: nowrap;
}
/* nadpis přehledu — jen na mobilu (na desktopu perex sedí hned pod meta) */
.ib-detail .ib-detail-perex__title {
	display: none;
	color: #1f7fca;
	font-size: 2.1rem;
	font-weight: 600;
	text-align: left;
	margin: 18px 0 10px;
}
@media (max-width: 991px) {
	.ib-detail .ib-detail-perex__title {
		display: block;
	}
}

/* hero foto — mírně širokoúhlá (3:2) */
.ib-detail .ib-detail-hero__media .product-main-photos {
	border-radius: 16px;
	margin-bottom: 0;
	aspect-ratio: 3 / 2;
	height: auto;
}
.ib-detail .ib-detail-hero__media .single-slider-photo {
	height: 100% !important;
	background-size: cover;
	background-position: center;
}

/* ---- Finanční pás — jemně tónovaná karta pod hero obsahem ---- */
.ib-detail .product-main-numbers {
	background-color: var(--ib-bg-tint);
	border: 1px solid var(--ib-border-soft);
	border-radius: 16px;
	box-shadow: none;
	padding: 16px 6px;
	margin-top: 20px;
	row-gap: 12px;
}
@media (min-width: 992px) {
	.ib-detail .product-main-numbers {
		margin-top: 0;
		padding: 18px 10px;
	}
}
.ib-detail .product-main-numbers > div,
.ib-detail .product-main-numbers > div.numbers-cena {
	flex: 1 1 0;
	min-width: 0;
	width: auto;
	background: transparent;
	border: none;
	border-left: 1px solid var(--ib-border-soft);
	border-radius: 0;
	margin: 0;
	padding: 4px 18px;
	text-align: left;
}
.ib-detail .product-main-numbers > div:first-child {
	border-left: none;
}
/* label — méně tlumená barva, ať je dobře čitelný */
.ib-detail .product-main-numbers > div span {
	font-size: 13.5px;
	line-height: 20px;
	color: #55627a;
	float: none;
	text-align: left;
}
/* ikonky metrik — malé, ve stejné barvě jako popisek */
.ib-detail .product-main-numbers .ib-num-icon {
	display: inline-flex;
	width: 15px;
	height: 15px;
	margin-right: 7px;
	vertical-align: -2px;
	color: var(--ib-muted);
}
.ib-detail .product-main-numbers .ib-num-icon svg {
	fill: currentColor;
}

/* pořadí na všech šířkách: Cena, Tržby, EBITDA, Čistý dluh, Historie,
   Zaměstnanci poslední (DOM pořadí zůstává kvůli tisku) */
.ib-detail .product-main-numbers > div:nth-child(1) { order: 1; }
.ib-detail .product-main-numbers > div:nth-child(3) { order: 2; }
.ib-detail .product-main-numbers > div:nth-child(5) { order: 3; }
.ib-detail .product-main-numbers > div:nth-child(2) { order: 4; }
.ib-detail .product-main-numbers > div:nth-child(4) { order: 5; }
.ib-detail .product-main-numbers > div:nth-child(6) { order: 6; }
/* "?" bublina jako vodítko k tooltipu */
.ib-detail .product-main-numbers .tooltips > span:not(.tooltipstext)::after,
.ib-detail .product-main-numbers .numbers-cena > span:first-of-type::after {
	content: "?";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-left: 6px;
	border: 1px solid #b9c8dd;
	border-radius: 50%;
	color: #8fa2bd;
	font-size: 10px;
	font-weight: 600;
	line-height: 13px;
	text-align: center;
	vertical-align: 1px;
}
/* hodnota — tmavá, modrá zůstává jen u Prodejní ceny; vzdušný odstup */
.ib-detail .product-main-numbers > div span.number {
	float: none;
	display: block;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.45;
	color: var(--ib-text);
	margin-top: 8px;
	text-align: left;
	white-space: nowrap;
}
/* cena — odlišená jen velikostí (popisek 14.5px, hodnota 22px),
   barva stejná jako u ostatních metrik */
.ib-detail .product-main-numbers .numbers-cena > span:first-of-type {
	font-size: 14.5px;
}
/* .section-product v selektoru drží specificitu nad globálním pravidlem
   ve style.css (.single-podnik … > span.number:not(.numberczk): 19px) */
.ib-detail.section-product .product-main-numbers .numbers-cena > span.number {
	font-size: 22px;
}
/* přepočet do druhé měny — jen hover tooltip nad hodnotou ceny
   (pod cenou se už nevypisuje, na dotykových zařízeních se neukazuje) */
.ib-detail .product-main-numbers .numbers-cena .number[data-alt] {
	position: relative;
	cursor: help;
}
.ib-detail .product-main-numbers .numbers-cena .number[data-alt]::after {
	content: attr(data-alt);
	position: absolute;
	left: 0;
	top: calc(100% + 7px); /* pod hodnotou — nad ní by zakryl popisek */
	z-index: 30;
	padding: 5px 10px;
	border-radius: 7px;
	background: #33415a;
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-3px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
@media (hover: hover) {
	.ib-detail .product-main-numbers .numbers-cena .number[data-alt]:hover::after {
		opacity: 1;
		visibility: visible;
		transform: none;
	}
}
/* hodnoty vkládané přes per-post CSS hacky ve style.css
   (.postid-XXXX ...::after { content:'na vyžádání'; float:right; ... })
   — hack má vyšší specificitu a vlastní float/font, proto !important */
.ib-detail .product-main-numbers > div::after {
	display: block !important;
	float: none !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	color: var(--ib-text) !important;
	margin-top: 8px;
	text-align: left !important;
}

@media (max-width: 991px) {
	.ib-detail .product-main-numbers > div,
	.ib-detail .product-main-numbers > div.numbers-cena {
		flex: 1 1 33.333%;
		min-width: 33.333%;
	}
	/* při přeskládaném pořadí (viz order výše) jsou vlevo v řádcích
	   děti 1 (Cena) a 2 (Čistý dluh) */
	.ib-detail .product-main-numbers > div:nth-child(1),
	.ib-detail .product-main-numbers > div:nth-child(2) {
		border-left: none;
	}
}
@media (max-width: 640px) {
	/* mobil: metriky jako řádky — popisek vlevo, hodnota vpravo,
	   oddělené linkami; flex column kvůli pořadí (order) */
	.ib-detail .product-main-numbers {
		display: flex;
		flex-direction: column;
		padding: 14px 0;
		/* desktopový row-gap by odsadil řádky od dělítek (::before na horní
		   hraně řádku) — obsah pak nesedí svisle na střed mezi linkami */
		row-gap: 0;
	}
	.ib-detail .product-main-numbers > div,
	.ib-detail .product-main-numbers > div.numbers-cena {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		min-width: 0;
		border: none;
		padding: 12px 16px;
	}
	/* oddělovací linky — 94 % šířky, na střed (hezčí než přes celý řádek);
	   ::before, protože ::after obsazují per-post hodnotové hacky */
	.ib-detail .product-main-numbers > div::before {
		content: "";
		position: absolute;
		top: 0;
		left: 3%;
		width: 94%;
		height: 1px;
		background: #e2e8f2;
	}
	.ib-detail .product-main-numbers > div:first-child::before {
		display: none;
	}
	.ib-detail .product-main-numbers .tooltips {
		flex: 1 1 auto;
	}
	.ib-detail .product-main-numbers .numbers-cena > span:first-of-type {
		flex: 1 1 auto;
	}
	.ib-detail .product-main-numbers > div span.number {
		margin-top: 0;
		font-size: 16px;
		text-align: right;
	}
	/* hodnoty přes per-post ::after hack — na řádku doprava */
	.ib-detail .product-main-numbers > div::after {
		margin-top: 0;
		text-align: right !important;
		font-size: 16px !important;
	}
}

/* ---- Třísloupcový layout: navigace | obsah | poradce ----
   Žádné align-items:start — sloupce se musí natáhnout na výšku řádku,
   jinak sticky uvnitř nemá kudy jezdit. */
.ib-detail .ib-detail-layout {
	margin-top: 40px;
}
.ib-detail .ib-detail-main {
	padding-right: 0;
	min-width: 0;
}
.ib-detail .ib-detail-side {
	margin-top: 40px;
}

/* Layout: 2 sloupce — obsah + pravý sidebar
   (karta poradce a pod ní navigace sekcí). */
@media (min-width: 992px) {
	.ib-detail .ib-detail-layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 40px;
		margin-top: 48px;
	}
	.ib-detail .ib-detail-side {
		margin-top: 0;
	}
}
@media (min-width: 1400px) {
	.ib-detail .ib-detail-layout {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 48px;
	}
	/* na širokých oknech plný 35px přesah pásu (1250 + 70 < 1400) */
	.ib-detail .ib-detail-hero .product-main-numbers {
		margin-left: -35px;
		margin-right: -35px;
	}
}

/* clamp „Číst celý popis“ — tlačítko ať se objeví dřív */
.ib-detail .ib-read-more {
	max-height: 620px;
}
.ib-detail .ib-read-more.is-expanded {
	max-height: 9000px;
}

/* text klíčových předností — v tomto designu větší */
.ib-detail .product-main-features p {
	font-size: 1.5rem;
}

/* ---- „Cenové očekávání“ — subtilní sekce pod textem, konzistentní
   s obsahem nad ní (žádný barevný podklad). Jen mobil + print; na
   desktopu tutéž informaci nese rozbalovací text pod finančním pásem. ---- */
.ib-detail .ib-cena-section {
	margin: 10px 0 26px;
	padding: 18px 20px;
	border: 1px solid var(--ib-border-soft);
	border-radius: 14px;
	background: #f9f9f973;
}
.ib-detail .ib-cena-section h3 {
	font-size: 18px;
	font-weight: 500;
	text-align: left;
	margin: 0 0 10px;
}
.ib-detail .ib-cena-section__body,
.ib-detail .ib-cena-section__body p,
.ib-detail .ib-cena-section__body li {
	font-size: 14px;
	line-height: 1.7;
	text-align: left;
}
.ib-detail .ib-cena-section__body p,
.ib-detail .ib-cena-section__body li {
	margin-bottom: 1px;
}
/* odrážky jako krátké pomlčky místo puntíků */
.ib-detail .ib-cena-section__body ul {
	list-style: none;
	margin: 0;
	padding-left: 2px;
}
.ib-detail .ib-cena-section__body li {
	position: relative;
	padding-left: 14px;
}
.ib-detail .ib-cena-section__body li::before {
	content: "-";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--ib-muted);
}
/* v podkladech bývá tučně „nezahrnuje“ apod. — v této sekci nezvýrazňovat */
.ib-detail .ib-cena-section__body strong,
.ib-detail .ib-cena-section__body b {
	font-weight: inherit;
}
.ib-detail .ib-cena-section__note {
	font-style: italic;
	color: var(--ib-muted);
	font-size: 12.5px;
	line-height: 1.55;
	text-align: left;
	margin: 10px 0 0;
}
@media screen and (min-width: 992px) {
	.ib-detail .ib-cena-section {
		display: none;
	}
}

/* ---- CTA box na konci obsahu — nekřičící světlý box (stejný styl
   jako dřívější „print box“), výrazné je jen zelené CTA ---- */
.ib-detail .ib-detail-ctabox {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	background: var(--ib-bg-tint);
	border: 1px solid var(--ib-border-soft);
	border-radius: 16px;
	padding: 34px 36px;
	margin: 15px 0 17px;
}
.ib-detail .ib-detail-ctabox h4 {
	font-size: 24px;
	line-height: 1.6;
	font-weight: 700;
	color: #1972b6;
	text-align: left;
	margin: 0;
}
.ib-detail .ib-detail-ctabox__row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}
/* outline buttony (funguje pro <a> i <button>) */
.ib-detail .ib-detail-ctabox__ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 16px;
	border: 1px solid #bcd4ec;
	border-radius: var(--ib-radius-btn);
	background: #fff;
	color: #0e66a9;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color 0.18s ease, border-color 0.18s ease;
}
.ib-detail .ib-detail-ctabox__ghost:hover {
	background: #eef5fc;
	border-color: #9fc3e6;
	color: #0e66a9;
	text-decoration: none;
}
.ib-detail .ib-detail-ctabox__ghost svg {
	width: 15px;
	height: 15px;
	flex: none;
}
/* jediný výrazný prvek boxu */
.ib-detail .ib-detail-ctabox .cta-zajem {
	margin: 0;
	padding: 12px 24px;
	font-size: 14px;
	font-weight: 700;
	background-color: var(--ib-cta-green);
	color: #fff;
	text-align: center;
	white-space: nowrap;
	box-shadow: 0 4px 14px rgba(33, 172, 24, 0.25);
}
.ib-detail .ib-detail-ctabox .cta-zajem:hover {
	background-color: var(--ib-cta-green-hover);
	color: #fff;
}
@media (max-width: 900px) {
	/* na mobilu vzdušnější — víc paddingu nahoře i dole */
	.ib-detail .ib-detail-ctabox {
		align-items: stretch;
		padding: 34px 20px 36px;
		margin: 5px 0 12px;
	}
	.ib-detail .ib-detail-ctabox__row {
		flex-direction: column;
		align-items: stretch;
	}
	.ib-detail .ib-detail-ctabox .cta-zajem {
		width: 100%;
	}
}

/* čitelnost: větší písmo přes celou šířku sloupce (žádný max-width,
   žádná prázdná pravá strana); zarovnání vlevo místo do bloku */
.ib-detail .product-main-text p {
	font-size: 16px;
	line-height: 1.75;
	text-align: left;
}
/* nadpisy sekcí obsahu — jednotně s .h3-finchart */
.ib-detail .product-main-text h3,
.ib-detail h3.product-main-features-heading {
	font-size: 22px;
	font-weight: 550;
}
.ib-detail .product-main-text ul,
.ib-detail .product-main-text ol {
	font-size: 15.5px;
	line-height: 1.7;
}

/* Pozn.: styly .ib-fin-box žijí globálně ve style.css („FIN BOX“) —
   box se má zobrazovat na všech nabídkách, nejen na variantě B. */

/* dvousloupcové strukturované informace v obsahu — aspoň 20px gap */
.ib-detail .product-main-text table td:first-child {
	padding-right: 20px;
}

/* zarovnání horní hrany sloupců — heading předností má z legacy CSS
   margin-top 25px, TOC i karta by pak seděly výš */
.ib-detail .product-main-features-heading {
	margin-top: 2px;
}

/* kotevní navigace v pravém sidebaru — decentní, malé písmo */
.ib-detail .ib-detail-sidenav {
	display: none;
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--ib-border-soft);
}
/* Navigace se ukazuje na oknech, kam se vejde spolu s kartou poradce
   (jinak by při scrollu rolovala pod sticky kartu) — sticky režim bloku
   viz níže u karty poradce. Na nižších oknech (malé notebooky) se zkrátí
   jen na hlavní sekce, aby se vešla; podsekce až od 1080px výšky. */
@media (min-width: 992px) and (min-height: 900px) {
	.ib-detail .ib-detail-sidenav {
		display: block;
	}
}

.ib-detail .ib-detail-sidenav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.ib-detail .ib-detail-sidenav li {
	margin: 0;
}
/* Podsekce (h4) jsou plnohodnotné sekce — v navigaci vypadají stejně
   jako ostatní. Na vysokých oknech se vypíšou všechny, na nižších je
   nahradí jedna souhrnná položka („Podrobné informace“), aby se seznam
   vešel vedle karty poradce. */
.ib-detail .ib-detail-sidenav li.is-summary {
	display: none;
}
@media (max-height: 1079px) {
	.ib-detail .ib-detail-sidenav li.is-sub {
		display: none;
	}
	.ib-detail .ib-detail-sidenav li.is-summary {
		display: block;
	}
}
.ib-detail .ib-detail-sidenav a {
	display: block;
	padding: 5px 10px;
	border-radius: 7px;
	color: var(--ib-muted);
	font-size: 12.5px;
	line-height: 1.45;
	text-decoration: none;
	transition: background-color 0.15s, color 0.15s;
}
.ib-detail .ib-detail-sidenav a:hover {
	background-color: #f2f6fd;
	color: var(--ib-cta-blue);
}
.ib-detail .ib-detail-sidenav a.is-active {
	background-color: #eef4fb;
	color: #0e66a9;
	font-weight: 600;
}

/* ---- Pravý sloupec: karta poradce + navigace sekcí (sticky) ---- */
/* nadpis nad kartou poradce — jen na mobilu/tabletu */
.ib-detail .ib-detail-side__title {
	display: none;
	color: #1972b6;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
	text-align: left;
	margin: 30px 0 20px;
}
@media (max-width: 991px) {
	.ib-detail .ib-detail-side__title {
		display: block;
	}
	/* zelené „Mám zájem“ v kartě poradce se na mobilu dubluje s CTA boxem
	   hned nad ní — necháváme jen outline „Kontaktovat poradce“ */
	.ib-detail .ib-advisor-card__cta {
		display: none;
	}
}

/* Sticky je jen karta poradce — nese konverzní CTA, proto má zůstat
   pořád viditelná. Navigace sekcí pod ní jede normálně se stránkou
   (na běžných notebookových výškách ~800px by sticky svazek karta+nav
   navigaci buď oříznul, nebo zmenšil kartu — cennější je mít vždy
   viditelný kontakt na poradce). */
.ib-detail .ib-detail-side__inner {
	position: static;
}
.ib-detail .ib-advisor-card {
	background: #fff;
	border: 1px solid #e7edf5;
	border-radius: 17px;
	padding: 24px;
	margin-bottom: 20px;
}
@media (min-width: 992px) {
	/* wrapper musí vyplnit celou výšku sloupce, jinak sticky karta
	   nemá kde „jet“ a zůstane stát nahoře */
	.ib-detail .ib-detail-side__inner {
		height: 100%;
	}
	.ib-detail .ib-advisor-card {
		position: sticky;
		top: 25px;
		max-height: calc(100vh - 40px);
		overflow-y: auto;
		scrollbar-width: thin;
	}
}
/* Okna, kam se vejde karta i navigace: sticky je celý blok pohromadě
   (roluje se spolu), karta bez vlastního sticky/scrollu. Kdyby byl blok
   přece jen vyšší než okno (hodně sekcí), odscrolluje se uvnitř. */
@media (min-width: 992px) and (min-height: 900px) {
	.ib-detail .ib-detail-side__inner {
		position: sticky;
		top: 25px;
		height: auto; /* sticky prvek nesmí vyplňovat rodiče */
		max-height: calc(100vh - 50px);
		overflow-y: auto;
		scrollbar-width: thin;
	}
	.ib-detail .ib-advisor-card {
		position: static;
		max-height: none;
		overflow: visible;
	}
}
.ib-detail .ib-advisor-card__photo {
	display: block;
	width: 100%;
	padding-top: 125%; /* 4:5 na výšku — mírně nižší, ať karta zabírá méně viewportu */
	border: 1px solid #e3eaf3;
	border-radius: 17px;
	background-color: #eef2f7;
	background-size: 115%; /* mírný zoom výřezu */
	background-position: center top;
	margin-bottom: 18px;
}
.ib-detail .ib-advisor-card__name {
	font-size: 21px;
	font-weight: 700;
	margin: 0 0 6px;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
}
.ib-detail .ib-advisor-card__name a {
	color: var(--ib-text);
	text-decoration: none;
}
.ib-detail .ib-advisor-card__name a:hover {
	color: var(--ib-cta-blue);
}
.ib-detail .ib-advisor-card__pozice {
	font-size: 14px;
	color: var(--ib-muted);
	margin: 0 0 10px;
	text-align: left;
}
.ib-detail .ib-advisor-card__contacts {
	list-style: none;
	margin: 0 0 6px;
	padding: 0;
}
.ib-detail .ib-advisor-card__contacts li {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 14px;
	color: var(--ib-text);
	margin-bottom: 5px;
}
.ib-detail .ib-advisor-card__contacts a {
	color: var(--ib-text);
	text-decoration: none;
}
.ib-detail .ib-advisor-card__contacts a:hover {
	color: var(--ib-cta-blue);
	text-decoration: underline;
}
.ib-detail .ib-advisor-card__icon {
	display: inline-flex;
	width: 17px;
	height: 17px;
	color: var(--ib-cta-blue);
	flex: none;
}
.ib-detail .ib-advisor-card__icon svg {
	width: 100%;
	height: 100%;
}
.ib-detail .ib-advisor-card__note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 10px 0 0;
	font-size: 13px;
	color: #1d9f2f;
	text-align: center;
}
.ib-detail .ib-advisor-card__note-icon {
	display: inline-flex;
	width: 15px;
	height: 15px;
	flex: none;
}
.ib-detail .ib-advisor-card__note-icon svg {
	width: 100%;
	height: 100%;
}

/* CTA buttony v kartě poradce — jednotná zelená + outline sekundární */
.ib-detail .ib-advisor-card__cta {
	display: block;
	width: 100%;
	margin: 14px 0 8px;
	padding: 10px 8px;
	border-radius: var(--ib-radius-btn);
	background-color: var(--ib-cta-green);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ib-detail .ib-advisor-card__cta:hover {
	background-color: var(--ib-cta-green-hover);
	color: #fff;
	text-decoration: none;
}
.ib-detail .ib-advisor-card__cta-outline {
	display: block;
	width: 100%;
	padding: 9px 8px;
	border: 1px solid #c6d9ee;
	border-radius: var(--ib-radius-btn);
	color: #0e66a9;
	background: #fff;
	font-size: 13px;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.ib-detail .ib-advisor-card__cta-outline:hover {
	background-color: #eef5fc;
	border-color: #9fc3e6;
	color: #0e66a9;
	text-decoration: none;
}

/* ---- Dropdown „Co cena zahrnuje“ — sedí POD finančním pásem ----
   Nahrazuje dřívější klikací tooltip; obsah bere z cena_podniku_info.
   Starý ⓘ tooltip se v novém pásu skrývá (v tisku je skrytý globálně). */
.ib-detail .product-main-numbers .numbers-cena .tooltips-cena {
	display: none;
}
/* u ceny bez "?" bubliny — afordancí je dropdown odkaz pod pásem */
.ib-detail .product-main-numbers .numbers-cena > span:first-of-type::after {
	content: none;
}
/* Patka pod finančním pásem. Zarovnání doprava drží margin-left: auto na
   přepínači, ne justify-content — když „Co cena zahrnuje“ chybí, zůstane
   přepínač stejně vpravo a nepřeskočí doleva. */
.ib-detail .ib-hero-foot {
	display: flex;
	align-items: center;
	gap: 8px 16px;
	margin-top: 2px;
}
.ib-detail .ib-hero-foot .ib-cur-menu {
	margin-left: auto;
}
.ib-detail .ib-cena-drop {
	position: relative;
}
.ib-detail .ib-cena-drop__btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 0;
	padding: 2px 0;
	border: none;
	background: none;
	color: #7b93b5;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
	cursor: pointer;
	transition: color 0.18s ease;
}
.ib-detail .ib-cena-drop__btn:hover {
	color: var(--ib-cta-blue-hover);
	text-decoration: underline;
}
.ib-detail .ib-cena-drop__btn svg {
	transition: transform 0.2s ease;
}
.ib-detail .ib-cena-drop.is-open .ib-cena-drop__btn svg {
	transform: rotate(180deg);
}
.ib-detail .ib-cena-drop__panel {
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	z-index: 30;
	width: 370px;
	max-width: 78vw;
	background: #fff;
	border: 1px solid var(--ib-border-soft);
	border-radius: 10px;
	box-shadow: 0 10px 32px rgba(27, 45, 79, 0.16);
	padding: 13px 15px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--ib-text-soft);
	text-align: left;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
.ib-detail .ib-cena-drop.is-open .ib-cena-drop__panel {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.ib-detail .ib-cena-drop__panel p,
.ib-detail .ib-cena-drop__panel li {
	font-size: 13px;
	line-height: 1.55;
	margin-bottom: 6px;
	text-align: left;
}
.ib-detail .ib-cena-drop__panel ul {
	margin: 0;
	padding-left: 17px;
}
/* mobil: dropdown přes celou šířku obsahu (container je natažený flex item) */
@media (max-width: 991px) {
	.ib-detail .ib-detail-hero .ib-cena-drop {
		align-self: stretch;
	}
	.ib-detail .ib-cena-drop__panel {
		width: 100%;
		max-width: 100%;
	}
}

/* ---- Další postup — full-width pás s podkladem přes celou šířku
   viewportu (vlastní wrapper mimo container), velká "ghost" čísla
   + ikony (stejný vizuální vzor jako Jak to funguje na homepage) ---- */
.ib-detail-steps-outer {
	background: var(--ib-bg);
	margin-top: 72px;
}
.ib-detail .ib-detail-steps {
	padding: 68px 0 76px;
}
@media (max-width: 767px) {
	.ib-detail-steps-outer {
		margin-top: 48px;
	}
	.ib-detail .ib-detail-steps {
		padding: 42px 16px 48px;
	}
}
/* titulek pásu — výrazný, stejný vzor jako .ib-similar__title */
.ib-detail .ib-detail-steps__title {
	color: #1972b6;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	text-align: left;
	margin: 0 0 52px;
}
.ib-detail .ib-detail-steps__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 36px;
}
@media (min-width: 768px) {
	.ib-detail .ib-detail-steps__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 56px;
	}
}
.ib-detail .ib-detail-steps__item {
	position: relative;
	padding-top: 34px;
}
/* velké vodotiskové číslo za obsahem kroku */
.ib-detail .ib-detail-steps__num {
	position: absolute;
	top: -39px;
	left: -19px;
	font-size: 161px;
	font-weight: 900;
	color: #1972b6;
	opacity: 0.07;
	line-height: 1;
	letter-spacing: -5px;
	pointer-events: none;
	user-select: none;
	z-index: 0;
}
.ib-detail .ib-detail-steps__body {
	position: relative;
	z-index: 1;
	margin-left: 34px;
}
.ib-detail .ib-detail-steps__body .ib-icon-chip {
	margin-bottom: 12px;
}
.ib-detail h4.ib-detail-steps__item-title {
	color: #1972b6;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.35;
	text-align: left;
	margin: 4px 0 9px;
}
.ib-detail .ib-detail-steps__body p {
	font-size: 14px;
	line-height: 1.6;
	color: #3e495b;
	text-align: left;
	margin: 0;
}

/* ---- Podobné nabídky — full-width wrapper: obsah začíná na levé hraně
   containeru a karty pokračují doprava až k okraji okna (stejný vzor
   jako reference na homepage; šířky odpovídají custom .container) ---- */
.ib-detail-similar-outer {
	overflow: hidden;
}
.ib-detail .ib-detail-similar {
	margin-top: 16px;
	padding-left: 15px;
	padding-right: 15px;
}
@media (min-width: 768px) {
	.ib-detail .ib-detail-similar {
		padding-left: calc((100% - 750px) / 2 + 15px);
		padding-right: 0;
	}
	/* hlavička a šipky zůstávají v šířce containeru — doprava „utíkají“
	   jen karty */
	.ib-detail .ib-similar__head,
	.ib-detail .ib-similar__controls {
		max-width: 720px;
	}
}
@media (min-width: 992px) {
	.ib-detail .ib-detail-similar {
		padding-left: calc((100% - 970px) / 2 + 15px);
	}
	.ib-detail .ib-similar__head,
	.ib-detail .ib-similar__controls {
		max-width: 940px;
	}
}
@media (min-width: 1200px) {
	.ib-detail .ib-detail-similar {
		padding-left: calc((100% - 1170px) / 2 + 15px);
	}
	.ib-detail .ib-similar__head,
	.ib-detail .ib-similar__controls {
		max-width: 1140px;
	}
}
@media (min-width: 1400px) {
	.ib-detail .ib-detail-similar {
		padding-left: calc((100% - 1280px) / 2 + 15px);
	}
	.ib-detail .ib-similar__head,
	.ib-detail .ib-similar__controls {
		max-width: 1250px;
	}
}

/* ---- Mobilní horizontální navigace sekcí (sticky proužek nahoře) ----
   Staví ji ib-detail.js ze stejných položek jako levou navigaci; objeví se
   po odscrollování pod „Klíčové přednosti“ (vzor: appky na objednání jídla). */
.ib-detail-tocbar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 940; /* pod sticky headerem (950) */
	background: #fff;
	border-bottom: 1px solid var(--ib-border-soft);
	box-shadow: 0 2px 12px rgba(27, 45, 79, 0.09);
	transform: translateY(-110%);
	transition: transform 0.25s ease;
}
/* na mobilu je header sticky (75px) — proužek sedí pod ním; když se
   hlavička při scrollu dolů schová (body.ib-hdr-up ze script.js), vyjede
   proužek k vrchu viewportu se stejným časováním jako hlavička */
@media (max-width: 991px) {
	.ib-detail-tocbar {
		top: 75px;
		transition: transform 0.25s ease, top 0.28s ease;
	}
	body.ib-hdr-up .ib-detail-tocbar {
		top: 0;
	}
}
.ib-detail-tocbar.is-visible {
	transform: translateY(0);
}
.ib-detail-tocbar ul {
	display: flex;
	gap: 7px;
	list-style: none;
	margin: 0;
	padding: 10px 14px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.ib-detail-tocbar ul::-webkit-scrollbar {
	display: none;
}
.ib-detail-tocbar li {
	flex: none;
	margin: 0;
}
.ib-detail-tocbar a {
	display: block;
	white-space: nowrap;
	padding: 6px 12px;
	border-radius: 8px;
	background: #f4f7fb;
	color: var(--ib-text-soft);
	font-size: 12px;
	line-height: 1.4;
	text-decoration: none;
}
.ib-detail-tocbar a.is-active {
	background: #eaf2fb;
	color: #0e66a9;
	font-weight: 600;
}
@media (min-width: 1200px) {
	.ib-detail-tocbar {
		display: none;
	}
}
@media print {
	.ib-detail-tocbar {
		display: none !important;
	}
}

/* ---- Subtilní moderní transitions ----
   Jemné posuny a stíny na interaktivních prvcích; hero fotka bez zoomu —
   jen lehké projasnění a prohloubení stínu. */
.ib-detail .ib-detail-hero__media .product-main-photos {
	transition: box-shadow 0.3s ease;
}
.ib-detail .ib-detail-hero__media:hover .product-main-photos {
	box-shadow: 0 14px 36px rgba(27, 45, 79, 0.14);
}
.ib-detail .ib-detail-hero__media .single-slider-photo {
	transition: filter 0.35s ease;
}
.ib-detail .ib-detail-hero__media:hover .single-slider-photo {
	filter: brightness(1.05) saturate(1.04);
}
.ib-detail .ib-detail-sidenav a {
	transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.ib-detail .ib-detail-sidenav a:hover {
	transform: translateX(2px);
}
.ib-detail .ib-advisor-card__photo {
	transition: border-color 0.25s ease;
}
.ib-detail .ib-advisor-card:hover .ib-advisor-card__photo {
	border-color: #cfdded;
}
.ib-detail .ib-advisor-card__cta {
	transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.ib-detail .ib-advisor-card__cta:hover,
.ib-detail .ib-advisor-card__cta-outline:hover {
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(27, 45, 79, 0.1);
}
.ib-detail .ib-advisor-card__contacts a {
	transition: color 0.18s ease;
}
.ib-detail .ib-detail-badge {
	transition: border-color 0.18s ease, background-color 0.18s ease;
}
.ib-detail .ib-detail-meta__cats .ib-detail-badge:hover {
	border-color: #cfdded;
	background: #eef4fb;
}
.ib-detail-tocbar a {
	transition: background-color 0.18s ease, color 0.18s ease;
}
.ib-detail .ib-read-more__btn {
	transition: color 0.18s ease, transform 0.18s ease;
}
.ib-detail .ib-read-more__btn:hover {
	transform: translateY(1px);
}
@media (prefers-reduced-motion: reduce) {
	.ib-detail .ib-detail-hero__media .single-slider-photo,
	.ib-detail .ib-detail-sidenav a,
	.ib-detail .ib-advisor-card,
	.ib-detail .ib-advisor-card__cta,
	.ib-detail .ib-advisor-card__cta-outline,
	.ib-detail .ib-read-more__btn {
		transition: none;
	}
	.ib-detail .ib-detail-hero__media:hover .single-slider-photo,
	.ib-detail .ib-detail-sidenav a:hover,
	.ib-detail .ib-advisor-card__cta:hover,
	.ib-detail .ib-advisor-card__cta-outline:hover,
	.ib-detail .ib-read-more__btn:hover {
		transform: none;
	}
}

/* ---- Plovoucí CTA vpravo dole (zobrazuje ib-detail.js po scrollu) ---- */
.ib-detail-fab {
	position: fixed;
	right: 20px;
	bottom: calc(20px + var(--ib-toast-space, 0px)); /* nad případnými toasty */
	z-index: 1027;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	border-radius: 999px;
	background: var(--ib-cta-green);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 6px 22px rgba(20, 90, 35, 0.28);
	opacity: 0;
	visibility: hidden;
	transform: translateY(16px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background-color 0.18s ease;
}
.ib-detail-fab.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.ib-detail-fab:hover {
	background: var(--ib-cta-green-hover);
	color: #fff;
	text-decoration: none;
}
.ib-detail-fab svg {
	flex: none;
}
/* na desktopu plovoucí CTA nechceme — místo něj malý „zpět nahoru“ */
@media (min-width: 992px) {
	.ib-detail-fab {
		display: none;
	}
}

/* ---- „Zpět nahoru“ — malý subtilní kruhový button vpravo dole,
   jen desktop (staví ho ib-detail.js, viditelnost jako u FABu) ---- */
.ib-detail-top {
	position: fixed;
	right: 22px;
	/* toasty sedí vpravo dole — tlačítko se posune nad ně (proměnnou
	   drží js/ib-toast.js podle výšky stohu toastů) */
	bottom: calc(22px + var(--ib-toast-space, 0px));
	transition: bottom 0.26s ease;
	z-index: 1027;
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid #d5dde9;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: #6b7b95;
	cursor: pointer;
	box-shadow: 0 3px 12px rgba(27, 45, 79, 0.10);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s,
		color 0.18s ease, border-color 0.18s ease;
}
@media (min-width: 992px) {
	.ib-detail-top {
		display: inline-flex;
	}
}
.ib-detail-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.ib-detail-top:hover {
	color: var(--ib-cta-blue);
	border-color: #c2cfe0;
}
.ib-detail-top svg {
	flex: none;
}

/* ---- Mini FAQ — součást full-width pásu s kroky ---- */
.ib-detail .ib-detail-faq {
	max-width: 860px;
	margin-top: 56px;
	padding-top: 44px;
	border-top: 1px solid #dfe6f0;
}
.ib-detail .ib-detail-faq__title {
	color: #1f7fca;
	font-size: 1.9rem;
	font-weight: 400;
	text-align: left;
	margin: 0 0 22px;
}
.ib-detail .ib-detail-faq__item {
	border: 1px solid #e7edf5;
	border-radius: 12px;
	background: #fff;
	margin-bottom: 10px;
	overflow: hidden;
}
.ib-detail .ib-detail-faq__item summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	padding: 15px 18px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ib-text);
	transition: background-color 0.15s ease;
}
/* hover jen na zařízeních s myší — na mobilu se barva nemění */
@media (hover: hover) {
	.ib-detail .ib-detail-faq__item summary:hover {
		background: #f7fafd;
	}
}
.ib-detail .ib-detail-faq__item summary::-webkit-details-marker {
	display: none;
}
.ib-detail .ib-detail-faq__item summary::after {
	content: "+";
	font-size: 20px;
	font-weight: 400;
	color: var(--ib-cta-blue);
	line-height: 1;
	flex: none;
	transition: transform 0.2s ease;
}
.ib-detail .ib-detail-faq__item[open] summary::after {
	transform: rotate(45deg);
}
.ib-detail .ib-detail-faq__item p {
	position: relative;
	padding: 14px 18px 24px;
	margin: 0;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--ib-text-soft);
	text-align: left;
}
/* tenká subtilní linka mezi otázkou a odpovědí (s malým odsazením) */
.ib-detail .ib-detail-faq__item p::before {
	content: "";
	position: absolute;
	top: 0;
	left: 2%;
	width: 96%;
	height: 1px;
	background: #dee3f5;
}

/* ============================================================
   NEAKTIVNÍ NABÍDKA (ACF stav = 0)
   Fotka zůstane čitelná, ale odbarvená a ztmavená, aby bylo na první
   pohled vidět, že nabídka je uzavřená. Přes ni sedí karta s vysvětlením
   a dalším krokem (newsletter / podobné nabídky). Karta se vejde i do
   3:2 fotky na mobilu, proto plynulé stupně písma a kompaktní padding.
   ============================================================ */
.ib-detail .product-main-photos.is-inactive .single-slider-photo {
	filter: grayscale(1) brightness(0.42);
}
/* hover projasnění fotky (transitions blok níž) tu nemá co dělat */
.ib-detail .ib-detail-hero__media:hover .product-main-photos.is-inactive .single-slider-photo {
	filter: grayscale(1) brightness(0.42);
}
.ib-inactive-overlay {
	position: absolute;
	inset: 0;
	z-index: 12;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.ib-inactive-overlay__card {
	width: 100%;
	max-width: 420px;
	padding: clamp(16px, 3.4vw, 26px) clamp(16px, 3.4vw, 28px);
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.94);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	box-shadow: 0 12px 34px rgba(20, 32, 56, 0.24);
	text-align: left;
}
.ib-inactive-overlay__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 10px;
	padding: 4px 11px;
	border-radius: 999px;
	background: #f4f0ee;
	color: #a1493c;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1px;
}
.ib-inactive-overlay__badge svg {
	width: 13px;
	height: 13px;
	flex: none;
}
.ib-inactive-overlay__title {
	margin: 0 0 6px;
	font-size: clamp(16px, 2.2vw, 20px);
	font-weight: 700;
	line-height: 1.35;
	color: #1b2d4f;
}
.ib-inactive-overlay__text {
	margin: 0 0 14px;
	font-size: clamp(12.5px, 1.5vw, 14px);
	line-height: 1.55;
	color: #4d5b73;
}
.ib-inactive-overlay__actions {
	display: flex;
	align-items: stretch;
	gap: 8px;
}
/* Obě akce na jednom řádku a dohromady přes celou šířku karty. Základ je
   šířka textu (flex-basis: auto), zbytek místa se rozdělí rovným dílem -
   delší popisek se tak nezalomí kvůli stejně širokému sousedovi. */
.ib-inactive-overlay__actions > a {
	flex: 1 1 auto;
	min-width: 0;
}
.ib-inactive-overlay__cta,
.ib-inactive-overlay__ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 10px 14px;
	border-radius: var(--ib-radius-btn, 8px);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
/* Plné CTA patří živým nabídkám — tady je akce jen doprovodná, takže
   obě tlačítka jsou outlinová: modré pro newsletter, šedé pro odkaz
   na podobné nabídky. */
.ib-inactive-overlay__cta {
	border: 1px solid var(--ib-cta-blue, #1972b6);
	background: #fff;
	color: var(--ib-cta-blue, #1972b6);
}
.ib-inactive-overlay__cta:hover,
.ib-inactive-overlay__cta:focus {
	background: #eef5fc;
	color: var(--ib-cta-blue, #1972b6);
	text-decoration: none;
	transform: translateY(-1px);
}
.ib-inactive-overlay__cta svg {
	width: 15px;
	height: 15px;
	flex: none;
}
.ib-inactive-overlay__ghost {
	border: 1px solid #d5dae3;
	background: #fff;
	color: #55617a;
}
.ib-inactive-overlay__ghost:hover,
.ib-inactive-overlay__ghost:focus {
	background: #f2f4f8;
	border-color: #c3cad6;
	color: #3c465c;
	text-decoration: none;
}
/* Na telefonech je fotka jen ~240 px vysoká a karta by ji přerostla
   (.product-main-photos má overflow:hidden, takže by se uřízla). Výšku
   proto na mobilu určuje karta: fotka jde na pozadí (absolutně přes celý
   box) a overlay zůstává v toku - min-height drží proporce, když je text
   krátký. */
@media (max-width: 767px) {
	.ib-detail .product-main-photos.is-inactive {
		aspect-ratio: auto;
	}
	.ib-detail .product-main-photos.is-inactive .single-slider-photo {
		position: absolute;
		inset: 0;
	}
	.ib-detail .product-main-photos.is-inactive .ib-inactive-overlay {
		position: relative;
		inset: auto;
		min-height: 230px;
	}
	/* Vysvětlení na telefonu z fotky pryč - karta by zabrala celou plochu
	   a fotka by z ní koukala jen jako lem. Titulek mluví sám za sebe,
	   celý text je pak v boxu na konci nabídky. */
	.ib-inactive-overlay__text {
		display: none;
	}
	.ib-inactive-overlay__title {
		margin-bottom: 12px;
	}
}
/* na úzkých telefonech zůstávají obě akce na jednom řádku, jen v úspornější
   podobě - menší písmo, užší padding a bez ikony */
@media (max-width: 480px) {
	.ib-inactive-overlay {
		padding: 10px;
	}
	.ib-inactive-overlay__cta,
	.ib-inactive-overlay__ghost {
		padding: 10px 8px;
		font-size: 12.5px;
	}
	.ib-inactive-overlay__cta svg {
		display: none;
	}
}
/* CTA box na konci obsahu ve verzi pro neaktivní nabídku */
.ib-detail .ib-detail-ctabox--inactive {
	gap: 14px;
}
.ib-detail .ib-detail-ctabox--inactive h4 {
	color: #1b2d4f;
}
.ib-detail .ib-detail-ctabox__text {
	margin: 0;
	max-width: 62ch;
	font-size: 15px;
	line-height: 1.65;
	color: var(--ib-text-soft, #4d5b73);
	text-align: left;
}
.ib-detail .ib-detail-ctabox--inactive .ib-detail-ctabox__row {
	margin-top: 4px;
}

/* ---- Ztlumení celého detailu ----
   Nadpis, lokalita, kategorie i finanční pás ztratí barvu, takže stránka
   na první pohled nevypadá jako živá nabídka. Vlastní text nabídky
   zůstává čitelný beze změny. */
.ib-detail.is-inactive .ib-detail-hero h1 {
	color: #5f6b7f;
}
.ib-detail.is-inactive .ib-detail-meta,
.ib-detail.is-inactive .product-main-numbers,
.ib-detail.is-inactive .ib-hero-foot {
	filter: grayscale(1);
}
.ib-detail.is-inactive .product-main-numbers {
	opacity: 0.85;
}
/* ---- Tlumená varianta zelených CTA ----
   Na neaktivní nabídce nikde neprodáváme, takže plnou prodejní zelenou
   střídá modrý outline. */
.ib-detail .ib-detail-hero-cta.is-muted,
.ib-detail .ib-detail-ctabox .cta-zajem.is-muted,
.ib-detail .ib-advisor-card__cta.is-muted,
.ib-detail-fab.is-muted {
	border: 1px solid var(--ib-cta-blue, #1972b6);
	background-color: #fff;
	color: var(--ib-cta-blue, #1972b6);
	box-shadow: none;
}
/* plovoucí tlačítko musí i v outline verzi vypadat, že se vznáší */
.ib-detail-fab.is-muted {
	box-shadow: 0 6px 22px rgba(27, 45, 79, 0.16);
}
.ib-detail .ib-detail-hero-cta.is-muted:hover,
.ib-detail .ib-detail-ctabox .cta-zajem.is-muted:hover,
.ib-detail .ib-advisor-card__cta.is-muted:hover,
.ib-detail-fab.is-muted:hover {
	background-color: #eef5fc;
	color: var(--ib-cta-blue, #1972b6);
}

@media print {
	.ib-detail-fab,
	.ib-detail-top,
	.ib-detail-faq,
	.ib-inactive-overlay {
		display: none !important;
	}
	/* v tisku / PDF teaseru chceme fotku i pás s čísly normálně */
	.ib-detail .product-main-photos.is-inactive .single-slider-photo,
	.ib-detail.is-inactive .ib-detail-meta,
	.ib-detail.is-inactive .product-main-numbers {
		filter: none;
		opacity: 1;
	}
}
