/*
 * Textové stránky V2 – /potlac/ a /sluzby/
 *
 * Stránky nenačítavajú finalcss.css. Obsah je celý v DB (mb_page.text_up) a používa
 * legacy triedy, preto sú tu okrem rozloženia stránky aj prepísané pravidlá pre tie
 * triedy, ktoré sa v tomto obsahu reálne vyskytujú. Všetko je scopované pod
 * .rp-text-page-v2, aby to neunikalo do zvyšku webu.
 *
 * Tokeny, nadpisy, text, breadcrumbs a tlačidlá sa preberajú z ui-v2.css.
 */

.rp-text-page-v2 {
	--text-page-surface: #fff;
	--text-page-surface-soft: #fbf5f9;
	--text-page-surface-muted: #f4f2f5;
	--text-page-border: #e7e4e7;
	--text-page-shadow: 0 1px 3px rgb(30 24 32 / 5%);
	--text-page-shadow-hover: 0 6px 16px rgb(30 24 32 / 9%);
	--text-page-radius: 16px;

	font-family: var(--rp-font-primary);
	padding-block-end: clamp(64px, 8vw, 112px);
}

/*
 * Bez finalcss.css nemá stránka globálny box-sizing reset a legacy obsah z DB s ním
 * počíta (napr. obrázok so 14px rámom by inak pretiekol svoj stĺpec).
 */
.rp-text-page-v2,
.rp-text-page-v2 *,
.rp-text-page-v2 *::before,
.rp-text-page-v2 *::after {
	box-sizing: border-box;
}

/* --------------------------------------------------------------- rozloženie */

.rp-text-page-v2__layout {
	display: grid;
	gap: clamp(28px, 4vw, 48px);
	grid-template-columns: minmax(0, 1fr);
	margin-block-start: clamp(20px, 3vw, 32px);
}

.rp-text-page-v2__main {
	min-inline-size: 0;
}

.rp-text-page-v2__sidebar {
	min-inline-size: 0;
}

@media (min-width: 981px) {
	.rp-text-page-v2__layout {
		align-items: start;
		grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
	}
}

/* ------------------------------------------------------------------ nadpisy */

/* H1 sa vyberá z DB obsahu do vlastnej hlavičky (TextPageContentService). Zarovnanie
   aj akcentové podčiarknutie si drží .rp-heading--page z ui-v2.css – oboje na stred. */
.rp-text-page-v2__heading {
	margin-block-end: clamp(24px, 3vw, 36px);
}

.rp-text-page-v2__heading .magenta,
.rp-text-page-v2__heading .color-magenta {
	color: var(--rp-color-accent);
}

/* Nadpisy z DB obsahu dostávajú rovnaké akcentové podčiarknutie ako V2 nadpisy. */
.rp-text-page-v2__content h2 {
	color: var(--rp-color-text);
	font-family: var(--rp-font-primary);
	font-size: clamp(24px, 2.6vw, 32px);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin-block: clamp(32px, 4vw, 48px) clamp(20px, 2.4vw, 28px);
}

/* Platí aj pre nadpisy sekcií, ktoré nepochádzajú z DB (galéria, grid podstránok). */
.rp-text-page-v2__content h2,
.rp-text-page-v2__gallery > .rp-heading,
.rp-sub-page-grid__title {
	padding-block-end: 16px;
	position: relative;
}

.rp-text-page-v2__content h2::after,
.rp-text-page-v2__gallery > .rp-heading::after,
.rp-sub-page-grid__title::after {
	background: var(--rp-color-accent);
	border-radius: 999px;
	block-size: 3px;
	content: "";
	inline-size: 48px;
	inset-block-end: 0;
	inset-inline-start: 0;
	position: absolute;
}

/* Vycentrované nadpisy potrebujú vycentrovaný aj pruh. */
.rp-text-page-v2__content h2.text-center::after,
.rp-sub-page-grid__title::after {
	inset-inline-start: 50%;
	transform: translateX(-50%);
}

.rp-text-page-v2__content h3 {
	color: var(--rp-color-text);
	font-family: var(--rp-font-primary);
	font-size: clamp(19px, 1.8vw, 22px);
	font-weight: 700;
	line-height: 1.3;
	margin-block: clamp(20px, 3vw, 28px) 10px;
}

.rp-text-page-v2__content h2:first-child,
.rp-text-page-v2__content h3:first-child {
	margin-block-start: 0;
}

/* ------------------------------------------------------- text a odkazy v ňom */

/*
 * Základný vzhľad odkazov v DB obsahu. Odkazy, ktoré sú súčasťou niektorého legacy
 * komponentu (tlačidlá, dlaždice, nadpisy boxov), si to prepíšu vlastným pravidlom nižšie.
 */
.rp-text-page-v2__content a {
	color: var(--rp-color-accent);
	font-weight: 700;
	text-decoration: none;
}

.rp-text-page-v2__content img {
	block-size: auto;
	max-inline-size: 100%;
}

/* ------------------------------------- chránená dielňa: odvodová tabuľka */

.rp-text-page-v2__content .table-bordered {
	background: var(--text-page-surface);
	border: 0;
	border-radius: 14px;
	box-shadow: var(--text-page-shadow);
	display: block;
	inline-size: 100%;
	margin-block: 28px 40px;
	overflow-x: auto;
	scrollbar-color: var(--rp-color-accent) var(--text-page-surface-muted);
	scrollbar-width: thin;
}

.rp-text-page-v2__content .table-bordered::-webkit-scrollbar {
	block-size: 8px;
}

.rp-text-page-v2__content .table-bordered::-webkit-scrollbar-track {
	background: var(--text-page-surface-muted);
	border-radius: 999px;
}

.rp-text-page-v2__content .table-bordered::-webkit-scrollbar-thumb {
	background: var(--rp-color-accent);
	border-radius: 999px;
}

.rp-text-page-v2__content .table-bordered tbody {
	border-collapse: separate;
	border-spacing: 0;
	display: table;
	inline-size: 100%;
	min-inline-size: 720px;
	table-layout: fixed;
}

.rp-text-page-v2__content .table-bordered td {
	background: var(--text-page-surface);
	border: 0;
	border-block-end: 1px solid var(--text-page-border);
	border-inline-end: 1px solid var(--text-page-border);
	color: var(--rp-color-text-muted);
	font-size: 15px;
	line-height: 1.45;
	padding: 16px 18px;
	transition: background-color 160ms ease;
	vertical-align: middle;
}

.rp-text-page-v2__content .table-bordered td:first-child {
	background: #faf7f9;
	color: var(--rp-color-text);
	font-weight: 700;
	inset-inline-start: 0;
	position: sticky;
	text-align: start;
	width: 40%;
	z-index: 1;
}

.rp-text-page-v2__content .table-bordered td:not(:first-child) {
	font-variant-numeric: tabular-nums;
	text-align: center;
	white-space: nowrap;
	width: 15%;
}

.rp-text-page-v2__content .table-bordered tr:first-child td {
	background: #353436;
	color: #fff;
	font-weight: 700;
}

.rp-text-page-v2__content .table-bordered tr:first-child td:first-child {
	background: var(--rp-color-accent);
	border-start-start-radius: 14px;
	z-index: 2;
}

.rp-text-page-v2__content .table-bordered tr:first-child td:last-child {
	border-start-end-radius: 14px;
}

.rp-text-page-v2__content .table-bordered tr:nth-child(odd):not(:first-child) td {
	background: #fdfbfd;
}

.rp-text-page-v2__content .table-bordered tr:nth-child(odd):not(:first-child) td:first-child {
	background: #f7f2f5;
}

.rp-text-page-v2__content .table-bordered tr:last-child td {
	border-block-end: 0;
	font-weight: 700;
}

.rp-text-page-v2__content .table-bordered tr:last-child td:first-child {
	border-end-start-radius: 14px;
}

.rp-text-page-v2__content .table-bordered tr:last-child td:last-child {
	border-end-end-radius: 14px;
}

.rp-text-page-v2__content .table-bordered td:last-child {
	border-inline-end: 0;
}

.rp-text-page-v2__content .magenta,
.rp-text-page-v2__content .color-magenta {
	color: var(--rp-color-accent);
}

.rp-text-page-v2__gallery {
	margin-block-start: clamp(48px, 7vw, 88px);
}

.rp-text-page-v2__gallery > .rp-heading {
	margin-block: 0 clamp(24px, 3vw, 36px);
}

/* -------------------------------------------------------- grid podstránok */

.rp-sub-page-grid {
	margin-block-start: clamp(56px, 8vw, 96px);
}

.rp-sub-page-grid__title {
	margin-block: 0 clamp(24px, 3vw, 36px);
	text-align: center;
}

.rp-sub-page-grid__title-highlight {
	color: var(--rp-color-accent);
}

.rp-sub-page-grid__list {
	display: grid;
	gap: clamp(14px, 2vw, 22px);
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.rp-sub-page-grid__link {
	align-items: center;
	background: var(--text-page-surface);
	border: 1px solid var(--text-page-border);
	border-radius: var(--text-page-radius);
	box-shadow: var(--text-page-shadow);
	color: var(--rp-color-text);
	display: flex;
	flex-direction: column;
	block-size: 100%;
	gap: 14px;
	padding: 22px 16px;
	text-align: center;
	text-decoration: none;
	transition: transform 240ms ease, box-shadow 240ms ease;
}

.rp-sub-page-grid__media {
	background: var(--text-page-surface-muted);
	border: 3px solid var(--text-page-surface-soft);
	border-radius: 50%;
	display: block;
	block-size: 96px;
	inline-size: 96px;
	overflow: hidden;
}

.rp-sub-page-grid__image {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	object-fit: cover;
	transition: transform 320ms ease;
}

.rp-sub-page-grid__name {
	font-weight: 700;
	line-height: 1.3;
}

.rp-sub-page-grid__item--text .rp-sub-page-grid__link {
	justify-content: center;
	min-block-size: 96px;
}

/* --------------------------------------------- legacy: dvojstĺpcový úvod */

.rp-text-page-v2__content .print-box-2-column {
	align-items: center;
	background: transparent;
	display: grid;
	gap: clamp(24px, 4vw, 40px);
	grid-template-columns: minmax(0, 1fr);
	margin-block-end: clamp(48px, 7vw, 80px);
}

.rp-text-page-v2__content .print-box-2-column-1,
.rp-text-page-v2__content .print-box-2-column-2 {
	min-inline-size: 0;
}

.rp-text-page-v2__content .print-box-2-column-2 img {
	border: 14px solid var(--text-page-surface-soft);
	border-radius: var(--text-page-radius);
	box-shadow: var(--text-page-shadow);
	display: block;
	inline-size: 100%;
	margin: 0;
}

.rp-text-page-v2__content .print-box-2-column ul,
.rp-text-page-v2__content ul.one-line-list,
.rp-text-page-v2__content ul.one-line-list-center {
	list-style: none;
	margin-block: clamp(20px, 3vw, 28px) clamp(16px, 2vw, 24px);
	overflow: hidden;
	padding: 0;
}

.rp-text-page-v2__content .print-box-2-column li,
.rp-text-page-v2__content ul.one-line-list li,
.rp-text-page-v2__content ul.one-line-list-center li {
	line-height: 1.55;
	margin-block-end: 14px;
	padding-inline-start: 34px;
	position: relative;
}

.rp-text-page-v2__content .print-box-2-column li::before,
.rp-text-page-v2__content ul.one-line-list li::before,
.rp-text-page-v2__content ul.one-line-list-center li::before {
	color: var(--rp-color-accent);
	content: "✔";
	font-size: 20px;
	font-weight: 700;
	inset-block-start: 0;
	inset-inline-start: 0;
	line-height: inherit;
	position: absolute;
}

@media (min-width: 768px) {
	.rp-text-page-v2__content .print-box-2-column {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

/* -------------------------------------------------------- legacy: tlačidlá */

.rp-text-page-v2__content .button-flex-container {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.rp-text-page-v2__content .print-action-button,
.rp-text-page-v2__content .magenta-action-button,
.rp-text-page-v2__content .dark-action-button {
	border: 1px solid transparent;
	border-radius: var(--rp-radius-button);
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-family: var(--rp-font-primary);
	font-size: 16px;
	font-weight: 700;
	margin-block-start: 20px;
	padding: 13px 26px;
	text-decoration: none;
	transition: transform 200ms ease, box-shadow 200ms ease;
}

.rp-text-page-v2__content .print-action-button,
.rp-text-page-v2__content .magenta-action-button {
	background: var(--rp-color-accent);
}

.rp-text-page-v2__content .dark-action-button {
	background: #282a2d;
}

/* ------------------------------------------------- legacy: boxy s ikonami */

.rp-text-page-v2__content .feature-icon-box-overview,
.rp-text-page-v2__content .feature-icon-box-overview-2-column {
	display: grid;
	gap: clamp(16px, 2vw, 24px);
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	inline-size: 100%;
	margin-inline: auto;
	padding-block: 10px;
}

.rp-text-page-v2__content .feature-icon-box-item {
	background: var(--text-page-surface);
	border: 1px solid var(--text-page-border);
	border-radius: var(--text-page-radius);
	box-shadow: var(--text-page-shadow);
	display: flex;
	gap: 20px;
	padding: 20px 24px;
	transition: transform 240ms ease, box-shadow 240ms ease;
}

.rp-text-page-v2__content .feature-icon-box-icon {
	align-items: center;
	align-self: flex-start;
	display: flex;
	flex-shrink: 0;
	inline-size: 60px;
	justify-content: center;
}

.rp-text-page-v2__content .feature-icon-box-icon img {
	block-size: 60px;
	inline-size: 60px;
	object-fit: contain;
}

.rp-text-page-v2__content .feature-icon-box-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 6px;
	min-inline-size: 0;
}

.rp-text-page-v2__content .feature-icon-box-title {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
}

.rp-text-page-v2__content .feature-icon-box-title a {
	color: var(--rp-color-text);
	text-decoration: none;
}

.rp-text-page-v2__content .feature-icon-box-text {
	color: var(--rp-color-text-muted);
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
	text-align: start;
}

/* ------------------------------------------ legacy: pás ikon pod sebou */

.rp-text-page-v2__content .feature-icons-wrapper {
	display: grid;
	gap: clamp(20px, 3vw, 32px);
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	inline-size: 100%;
	margin-inline: auto;
	padding-block: clamp(24px, 3vw, 36px);
}

.rp-text-page-v2__content .feature-icon-item {
	align-items: center;
	display: flex;
	gap: 15px;
	justify-content: center;
}

.rp-text-page-v2__content .feature-icon-image {
	align-items: center;
	block-size: 50px;
	display: flex;
	flex-shrink: 0;
	inline-size: 50px;
	justify-content: center;
}

.rp-text-page-v2__content .feature-icon-image img {
	block-size: 100%;
	inline-size: 100%;
	object-fit: contain;
}

.rp-text-page-v2__content .feature-icon-label {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
}

.rp-text-page-v2__content .feature-icon-label a {
	color: var(--rp-color-text);
	text-decoration: none;
}

/* --------------------------------------------- legacy: mriežka kategórií */

.rp-text-page-v2__content .icon-grid-container-5 {
	inline-size: 100%;
	margin-inline: auto;
	max-inline-size: var(--rp-layout-max-width);
}

.rp-text-page-v2__content .icon-grid-wrapper-5 {
	display: grid;
	gap: clamp(12px, 1.6vw, 20px);
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.rp-text-page-v2__content .icon-box-5 {
	align-items: center;
	background: var(--text-page-surface);
	border: 1px solid var(--text-page-border);
	border-radius: 12px;
	box-shadow: var(--text-page-shadow);
	display: flex;
	gap: 14px;
	min-inline-size: 0;
	padding: 12px 16px;
	transition: transform 240ms ease, box-shadow 240ms ease;
}

.rp-text-page-v2__content .icon-box-5-image {
	flex-shrink: 0;
	max-block-size: 48px;
	max-inline-size: 64px;
	object-fit: cover;
}

.rp-text-page-v2__content .icon-box-5 a.icon-box-5-title {
	color: var(--rp-color-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	overflow: hidden;
	text-decoration: none;
	text-overflow: ellipsis;
}

/* ----------------------------------------------- legacy: zvýraznená sekcia */

.rp-text-page-v2__content .section-modern {
	padding-block: clamp(32px, 4vw, 48px);
	position: relative;
}

/*
 * V legacy verzii bola ružová plocha full-bleed cez 100vw. Vnútri kontajnera to
 * pretekalo, preto je z nej panel zarovnaný na šírku obsahu.
 */
.rp-text-page-v2__content .section-modern.with-pink-bg {
	background: var(--text-page-surface-soft);
	border-radius: clamp(16px, 2vw, 28px);
	padding-inline: clamp(16px, 3vw, 40px);
}

/* ---------------------------------------- legacy: dlaždice technológií v obsahu */

.rp-text-page-v2__content .print-overview {
	margin-block: clamp(20px, 3vw, 28px);
}

.rp-text-page-v2__content .print-grid {
	display: grid;
	gap: clamp(20px, 3vw, 40px);
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

.rp-text-page-v2__content .print-item {
	background: var(--text-page-surface-soft);
	border-radius: var(--text-page-radius);
	box-shadow: var(--text-page-shadow);
	padding: clamp(24px, 3vw, 40px) clamp(18px, 2vw, 30px);
	text-align: center;
	transition: transform 240ms ease, box-shadow 240ms ease;
}

.rp-text-page-v2__content .print-image-wrapper {
	block-size: 168px;
	border: 4px solid var(--text-page-surface-muted);
	border-radius: 50%;
	box-shadow: var(--text-page-shadow);
	display: block;
	inline-size: 168px;
	margin: 0 auto 24px;
	overflow: hidden;
	transition: transform 240ms ease, box-shadow 240ms ease;
}

.rp-text-page-v2__content .print-image {
	block-size: 100%;
	inline-size: 100%;
	object-fit: cover;
}

.rp-text-page-v2__content .print-name {
	color: var(--rp-color-text);
	display: block;
	font-size: 20px;
	font-weight: 700;
	margin-block-end: 12px;
	text-decoration: none;
}

.rp-text-page-v2__content .print-description {
	color: var(--rp-color-text-muted);
	font-size: 15px;
	line-height: 1.6;
}

/* ------------------------------------------------- legacy: galérie v obsahu */

.rp-text-page-v2__content .client-reference-gallery-container {
	margin-block: clamp(24px, 3vw, 36px);
}

.rp-text-page-v2__content .overflow.responsive-gallery-client-reference {
	display: grid;
	gap: clamp(10px, 1.6vw, 18px);
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	overflow: visible;
}

.rp-text-page-v2__content .responsive-gallery-client-reference a {
	aspect-ratio: 4 / 3;
	background: var(--text-page-surface-muted);
	border-radius: clamp(12px, 1.5vw, 18px);
	box-shadow: var(--text-page-shadow);
	display: block;
	min-inline-size: 0;
	overflow: hidden;
}

.rp-text-page-v2__content .responsive-gallery-client-reference img {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	object-fit: cover;
	transition: transform 240ms ease;
}

.rp-text-page-v2__content .gallery-flexbox {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(10px, 1.6vw, 18px);
}

.rp-text-page-v2__content .creocom-promolab-gallery {
	display: grid;
	gap: clamp(10px, 1.6vw, 16px);
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.rp-text-page-v2__content .creocom-promolab-gallery__item {
	aspect-ratio: 1 / 1;
	border-radius: clamp(12px, 1.5vw, 18px);
	display: block;
	overflow: hidden;
}

.rp-text-page-v2__content .creocom-promolab-gallery__image {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	object-fit: cover;
	transition: transform 240ms ease;
}

.rp-text-page-v2__content .slider-homepage-google-reviews-container {
	margin-block: clamp(20px, 3vw, 32px);
}

.rp-text-page-v2__content .pointer {
	cursor: pointer;
}

.rp-text-page-v2__content .mb30 {
	margin-bottom: 30px;
}

/*
 * Galérie z {{{includeGallery-*}}} prichádzajú zo šablón v Module/Front/templates/gallery/,
 * nie z DB textu – používajú aj 4-stĺpcové varianty.
 */
.rp-text-page-v2__content .image-container-3-column,
.rp-text-page-v2__content .image-container-4-column {
	display: grid;
	gap: clamp(10px, 1.6vw, 16px);
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	margin: 0;
	padding: 0;
}

.rp-text-page-v2__content .image-container-3-column a,
.rp-text-page-v2__content .image-container-4-column a {
	aspect-ratio: 1 / 1;
	border-radius: clamp(12px, 1.5vw, 18px);
	display: block;
	overflow: hidden;
	position: relative;
}

.rp-text-page-v2__content .image-container-3-column img,
.rp-text-page-v2__content .image-container-4-column img {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	inset: 0;
	margin: 0;
	object-fit: cover;
	padding: 0;
	position: absolute;
	transition: transform 800ms ease;
}

.rp-text-page-v2__content .image-container-3-column-hover-text,
.rp-text-page-v2__content .image-container-4-column-hover-text {
	display: grid;
	gap: clamp(10px, 1.6vw, 16px);
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	margin-block: clamp(36px, 5vw, 60px);
	padding: 0;
}

.rp-text-page-v2__content :is(.image-container-3-column-hover-text, .image-container-4-column-hover-text) .image-item {
	border-radius: clamp(12px, 1.5vw, 18px);
	min-inline-size: 0;
	overflow: hidden;
	position: relative;
}

.rp-text-page-v2__content :is(.image-container-3-column-hover-text, .image-container-4-column-hover-text) .image-item a {
	aspect-ratio: 1 / 1;
	display: block;
	outline: none;
	overflow: hidden;
	text-decoration: none;
}

.rp-text-page-v2__content :is(.image-container-3-column-hover-text, .image-container-4-column-hover-text) .image-item img {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 400ms ease;
}

.rp-text-page-v2__content :is(.image-container-3-column-hover-text, .image-container-4-column-hover-text) .image-item .hover-text {
	align-items: center;
	background: var(--text-page-surface);
	box-sizing: border-box;
	color: var(--rp-color-text);
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	font-size: 15px;
	font-weight: 700;
	gap: 0.2em;
	inset-block-end: 0;
	inset-inline: 0;
	justify-content: center;
	line-height: 1.4;
	min-block-size: 70px;
	overflow: hidden;
	padding: 10px;
	position: absolute;
	text-align: center;
	transform: translateY(100%);
	transition: transform 400ms ease;
	z-index: 2;
}

.rp-text-page-v2__content :is(.image-container-3-column-hover-text, .image-container-4-column-hover-text) .image-item:hover .hover-text,
.rp-text-page-v2__content :is(.image-container-3-column-hover-text, .image-container-4-column-hover-text) .image-item:focus-within .hover-text {
	transform: translateY(0);
}

/* ------------------------------------------------- legacy: drobné utility */

.rp-text-page-v2__content .overflow {
	overflow: hidden;
}

.rp-text-page-v2__content .text-center {
	text-align: center;
}

.rp-text-page-v2__content .bold {
	font-weight: 700;
}

.rp-text-page-v2__content .float-start {
	float: left;
}

.rp-text-page-v2__content .float-end {
	float: right;
}

.rp-text-page-v2__content .height-20 {
	block-size: 20px;
}

.rp-text-page-v2__content .bg-gray-efe {
	background: var(--text-page-surface-muted);
}

.rp-text-page-v2__content .blog-summary {
	background: var(--text-page-surface-muted);
	border-radius: 12px;
	padding: 12px 20px;
}

.rp-text-page-v2__content .column-box-48 {
	box-sizing: border-box;
	inline-size: 48%;
}

.rp-text-page-v2__content img.respBlogImg {
	max-inline-size: 100%;
}

.rp-text-page-v2__content img.ourpresentation150 {
	block-size: 150px;
	float: left;
	margin: 0 10px 10px 0;
	padding: 10px;
}

.rp-text-page-v2__content .link-to {
	cursor: pointer;
}

.rp-text-page-v2__content .fs16 { font-size: 16px; }
.rp-text-page-v2__content .lh25 { line-height: 25px; }
.rp-text-page-v2__content .mt20 { margin-top: 20px; }
.rp-text-page-v2__content .mt40 { margin-top: 40px; }
.rp-text-page-v2__content .mt60 { margin-top: 60px; }
.rp-text-page-v2__content .mt120 { margin-top: clamp(56px, 8vw, 120px); }
.rp-text-page-v2__content .mb40 { margin-bottom: 40px; }
.rp-text-page-v2__content .mb50 { margin-bottom: 50px; }
.rp-text-page-v2__content .my20 { margin-block: 20px; }
.rp-text-page-v2__content .my40 { margin-block: 40px; }
.rp-text-page-v2__content .mr40 { margin-right: 40px; }
.rp-text-page-v2__content .me10 { margin-right: 10px; }
.rp-text-page-v2__content .px20 { padding-inline: 20px; }
.rp-text-page-v2__content .py5 { padding-block: 5px; }

/* ------------------------------------------------------------------- hover */

@media (hover: hover) {
	.rp-sub-page-grid__link:hover,
	.rp-sub-page-grid__link:focus-visible {
		box-shadow: var(--text-page-shadow-hover);
		transform: translateY(-4px);
	}

	.rp-sub-page-grid__link:hover .rp-sub-page-grid__image {
		transform: scale(1.06);
	}

	.rp-text-page-v2__content .feature-icon-box-item:hover,
	.rp-text-page-v2__content .icon-box-5:hover,
	.rp-text-page-v2__content .print-item:hover {
		box-shadow: var(--text-page-shadow-hover);
		transform: translateY(-4px);
	}

	.rp-text-page-v2__content .print-item:hover .print-image-wrapper {
		box-shadow: var(--text-page-shadow-hover);
		transform: scale(1.06);
	}

	.rp-text-page-v2__content .table-bordered tr:hover:not(:first-child) td {
		background: #fff3f9;
	}

	.rp-text-page-v2__content .print-action-button:hover,
	.rp-text-page-v2__content .magenta-action-button:hover,
	.rp-text-page-v2__content .dark-action-button:hover {
		box-shadow: var(--text-page-shadow-hover);
		transform: translateY(-2px);
	}

	.rp-text-page-v2__content .responsive-gallery-client-reference a:hover img,
	.rp-text-page-v2__content .image-container-3-column a:hover img,
	.rp-text-page-v2__content .image-container-4-column a:hover img,
	.rp-text-page-v2__content .creocom-promolab-gallery__item:hover .creocom-promolab-gallery__image {
		transform: scale(1.05);
	}
}

@media (prefers-reduced-motion: reduce) {
	.rp-sub-page-grid__link,
	.rp-sub-page-grid__image,
	.rp-text-page-v2__content .feature-icon-box-item,
	.rp-text-page-v2__content .icon-box-5,
	.rp-text-page-v2__content .print-item,
	.rp-text-page-v2__content .print-image-wrapper,
	.rp-text-page-v2__content .print-action-button,
	.rp-text-page-v2__content .magenta-action-button,
	.rp-text-page-v2__content .dark-action-button,
	.rp-text-page-v2__content .responsive-gallery-client-reference img,
	.rp-text-page-v2__content .image-container-3-column img,
	.rp-text-page-v2__content :is(.image-container-3-column-hover-text, .image-container-4-column-hover-text) .image-item img,
	.rp-text-page-v2__content :is(.image-container-3-column-hover-text, .image-container-4-column-hover-text) .image-item .hover-text {
		transition: none;
	}
}

/* -------------------------------------------------------------- responzíva */

@media (max-width: 767px) {
	.rp-text-page-v2__content .table-bordered tbody {
		min-inline-size: 650px;
	}

	.rp-text-page-v2__content .table-bordered td {
		font-size: 14px;
		padding: 14px 12px;
	}

	.rp-text-page-v2__content .table-bordered td:first-child {
		width: 34%;
	}

	.rp-text-page-v2__content .table-bordered td:not(:first-child) {
		width: 16.5%;
	}

	.rp-text-page-v2__content .column-box-48 {
		inline-size: 100%;
	}

	.rp-text-page-v2__content .float-start,
	.rp-text-page-v2__content .float-end,
	.rp-text-page-v2__content img.ourpresentation150 {
		float: none;
	}

	.rp-text-page-v2__content .feature-icon-box-item {
		flex-direction: column;
		gap: 12px;
	}
}
