/**
 * Súhlas s cookies — lišta, modál s nastaveniami, blokované embedy
 * a podstránka „Zásady používania cookies".
 *
 * Markup aj rozloženie (fixná lišta, prekrytie modálu, skryté stavy) kreslí
 * modul `consent` z px-shop-core; tento súbor dodáva len vzhľad — farby,
 * polomery, typografiu, prepínače a stavy. Layoutové pravidlá pluginu sa tu
 * zámerne neopakujú, prepisuje sa iba to, čo je vizuálne.
 *
 * Načítava sa cez `pxt-consent` so závislosťou na pluginovom `px-consent`,
 * takže poradie drží kaskádu a nikde netreba !important.
 *
 * Lišta aj modál stoja na konci <body>, teda mimo `.pc-scope` — tokeny sa
 * berú z `:root` (base.css), fallbacky sú tu pre istotu, keby ich web
 * definoval len na scope.
 *
 * Prijať / Odmietnuť / Nastavenia majú rovnakú vizuálnu váhu zámerne:
 * odmietnutie nesmie byť ťažšie než prijatie (EDPB 03/2022). Kto by chcel
 * „Odmietnuť" stlmiť, mení tým právnu kvalitu súhlasu, nie dizajn.
 */

.px-consent *,
.px-consent *::before,
.px-consent *::after,
.px-consent-modal *,
.px-consent-modal *::before,
.px-consent-modal *::after,
.px-consent-embed *,
.px-consent-embed *::before,
.px-consent-embed *::after {
	box-sizing: border-box;
}

/* Fokus je vidno na každom ovládači — pluginový `currentColor` prsteň
   prepisujeme na akcent témy. Špecificita (0,3,0) drží prevahu aj keby sa
   poradie súborov niekedy prehodilo (Used CSS, agregátory). */
.px-consent :is(a, button, input, [tabindex]):focus-visible,
.px-consent-modal :is(a, button, input, [tabindex]):focus-visible,
.px-consent-embed :is(a, button, input, [tabindex]):focus-visible,
.px-cookie-policy :is(a, button, input, [tabindex]):focus-visible {
	outline: 2px solid rgb(var(--pc-focus));
	outline-offset: 2px;
	border-radius: var(--pc-radius-xs, 0.35rem);
}

/* =========================================================================
   LIŠTA (1. vrstva)
   ========================================================================= */

.px-consent {
	border-top: 1px solid rgb(var(--pc-line, 224 230 237));
	background: rgb(var(--pc-paper, 255 255 255));
	color: rgb(var(--pc-ink, 10 31 51));
	/* Téma tieňové tokeny nemá — hodnota je odvodená od --pc-ink ako pri
	   skip-linku v base.css. */
	box-shadow: 0 -0.5rem 2.5rem rgb(var(--pc-ink, 10 31 51) / 0.14);
	font-size: var(--pc-fs-md);
	line-height: 1.6;
	/* Domček iPhonu prekrýva spodný okraj fixnej lišty — tlačidlá by končili
	   pod ním. */
	padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
}

.px-consent__title {
	font-size: 1.0625rem;
	font-weight: 700;
	color: rgb(var(--pc-ink, 10 31 51));
}

.px-consent__text {
	max-width: 62ch;
	font-size: var(--pc-fs-sm);
	color: rgb(var(--pc-muted, 84 98 115));
}

.px-consent__link {
	color: rgb(var(--pc-accent-deep, 13 82 122));
	font-weight: 600;
	text-underline-offset: 0.2em;
	white-space: nowrap;
}

/* =========================================================================
   TLAČIDLÁ SÚHLASU

   Jeden vzhľad pre všetky tri — líšia sa len textom. Obrys v akcente drží
   značku a zároveň nerobí z lišty farebnú plochu cez celú šírku obrazovky.
   ========================================================================= */

.px-consent__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 8.5rem;
	min-height: 2.75rem;
	padding: 0.6rem var(--pc-space-6);
	border: 1px solid rgb(var(--pc-accent-deep, 13 82 122));
	border-radius: var(--pc-radius-control, 9999px);
	background: rgb(var(--pc-paper, 255 255 255));
	color: rgb(var(--pc-accent-deep, 13 82 122));
	font-size: var(--pc-fs-sm);
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.px-consent__btn:hover {
	background: rgb(var(--pc-accent-deep, 13 82 122));
	color: rgb(var(--pc-paper, 255 255 255));
}

.px-consent__btn:active {
	background: rgb(var(--pc-accent, 17 104 155));
	border-color: rgb(var(--pc-accent, 17 104 155));
	color: rgb(var(--pc-paper, 255 255 255));
}

/* „Uložiť výber" je plné — nesúťaží s dvojicou prijať/odmietnuť (tá ostáva
   rovnocenná), len napovie, čím sa práca v modáli končí. */
.px-consent__btn--save {
	background: rgb(var(--pc-accent, 17 104 155));
	border-color: rgb(var(--pc-accent, 17 104 155));
	color: rgb(var(--pc-paper, 255 255 255));
}

.px-consent__btn--save:hover {
	background: rgb(var(--pc-accent-deep, 13 82 122));
	border-color: rgb(var(--pc-accent-deep, 13 82 122));
	color: rgb(var(--pc-paper, 255 255 255));
}

/* Mobil: tri tlačidlá pod sebou, každé cez celú šírku. Zalamovanie do
   nerovnakých riadkov (dve hore, jedno dole) by z rovnocenných možností
   spravilo hierarchiu — a tá je tu právna, nie estetická. */
@media (max-width: 639.98px) {
	.px-consent__actions {
		width: 100%;
	}

	.px-consent__btn {
		flex: 1 1 100%;
	}
}

/* =========================================================================
   MODÁL (2. vrstva)
   ========================================================================= */

.px-consent-modal__overlay {
	background: rgb(var(--pc-ink, 10 31 51) / 0.55);
}

.px-consent-modal__dialog {
	/* `overflow: hidden` kvôli polomeru — bez neho by rohy prerezala hlavička
	   a pás tlačidiel, ktoré majú vlastný podklad. */
	overflow: hidden;
	border-radius: var(--pc-radius-lg, 1rem);
	background: rgb(var(--pc-paper, 255 255 255));
	color: rgb(var(--pc-ink, 10 31 51));
	box-shadow: 0 1.5rem 3.5rem rgb(var(--pc-ink, 10 31 51) / 0.3);
	font-size: var(--pc-fs-md);
	line-height: 1.6;
}

.px-consent-modal__head {
	border-bottom: 1px solid rgb(var(--pc-line, 224 230 237));
	background: rgb(var(--pc-paper, 255 255 255));
}

.px-consent-modal__title {
	font-size: var(--pc-fs-lg);
	font-weight: 700;
}

.px-consent-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--pc-radius-pill, 9999px);
	color: rgb(var(--pc-muted, 84 98 115));
	transition: background-color 0.15s ease, color 0.15s ease;
}

.px-consent-modal__close:hover {
	background: rgb(var(--pc-sunk, 238 242 246));
	color: rgb(var(--pc-ink, 10 31 51));
}

.px-consent-modal__body {
	background: rgb(var(--pc-soft, 244 246 247));
}

.px-consent-modal__intro {
	margin: 0 0 var(--pc-space-4);
	font-size: var(--pc-fs-sm);
	color: rgb(var(--pc-muted, 84 98 115));
}

.px-consent-modal__link {
	color: rgb(var(--pc-accent-deep, 13 82 122));
	font-weight: 600;
	text-underline-offset: 0.2em;
}

.px-consent-modal__actions {
	border-top: 1px solid rgb(var(--pc-line, 224 230 237));
	background: rgb(var(--pc-paper, 255 255 255));
}

/* =========================================================================
   KATEGÓRIE A SLUŽBY

   Skupina je karta na tlmenom podklade tela modálu — pri troch a viac
   kategóriách sa čítajú lepšie ako rad vodorovných liniek.
   ========================================================================= */

.px-consent-group {
	margin: 0 0 var(--pc-space-3);
	padding: var(--pc-space-1) var(--pc-space-4) var(--pc-space-2);
	border: 1px solid rgb(var(--pc-line, 224 230 237));
	border-radius: var(--pc-radius, 0.75rem);
	background: rgb(var(--pc-paper, 255 255 255));
}

.px-consent-group:last-child {
	margin-bottom: 0;
}

.px-consent-group__toggle {
	flex: 1 1 auto;
	color: rgb(var(--pc-ink, 10 31 51));
}

.px-consent-group__name {
	font-size: var(--pc-fs-md);
	font-weight: 700;
}

/* Podčiarknutie z pluginu je tu zbytočné — počet služieb nie je odkaz,
   afordanciu nesie šípka nižšie. */
.px-consent-group__count {
	font-size: var(--pc-fs-xs);
	font-weight: 400;
	color: rgb(var(--pc-muted, 84 98 115));
	text-decoration: none;
}

/* Šípka rozbalenia — CSS, nie ikona v markupe: je čisto dekoratívna,
   stav nesie aria-expanded na tlačidle. */
.px-consent-group__toggle::after,
.px-consent-service__more::after {
	content: '';
	align-self: center;
	width: 0.45rem;
	height: 0.45rem;
	margin-left: 0.15rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.px-consent-group__toggle[aria-expanded='true']::after,
.px-consent-service__more[aria-expanded='true']::after {
	transform: rotate(-135deg);
}

.px-consent-group__desc {
	font-size: var(--pc-fs-sm);
	color: rgb(var(--pc-muted, 84 98 115));
}

.px-consent-group__body {
	border-top: 1px solid rgb(var(--pc-line, 224 230 237));
	padding-top: var(--pc-space-3);
	margin-top: var(--pc-space-1);
}

.px-consent-service {
	border-top: 1px solid rgb(var(--pc-line, 224 230 237));
}

.px-consent-service:first-child {
	border-top: 0;
}

.px-consent-service__name {
	font-size: var(--pc-fs-md);
	font-weight: 600;
}

.px-consent-service__more {
	color: rgb(var(--pc-accent-deep, 13 82 122));
	font-size: var(--pc-fs-xs);
	font-weight: 600;
	text-decoration: none;
}

.px-consent-service__more:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.px-consent-service__detail {
	margin: var(--pc-space-1) 0 var(--pc-space-3);
	padding: var(--pc-space-3) 0.875rem;
	border-radius: var(--pc-radius-sm, 0.5rem);
	background: rgb(var(--pc-soft, 244 246 247));
	font-size: var(--pc-fs-sm);
	color: rgb(var(--pc-muted, 84 98 115));
}

.px-consent-service__purpose {
	margin: 0 0 var(--pc-space-2);
}

.px-consent-service__provider {
	font-size: var(--pc-fs-xs);
}

.px-consent-service__privacy {
	color: rgb(var(--pc-accent-deep, 13 82 122));
	font-weight: 600;
	text-underline-offset: 0.2em;
}

/* =========================================================================
   PREPÍNAČ

   Stav nesie poloha jazdca, nielen farba (WCAG 1.4.1): vľavo = vypnuté,
   v strede = časť služieb kategórie, vpravo = zapnuté. Checkbox ostáva
   v DOM a je fokusovateľný — prsteň sa kreslí okolo jazdca.
   ========================================================================= */

.px-consent-switch {
	position: relative;
	gap: 0.625rem;
}

.px-consent-switch .px-consent-switch__input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* Obrys aj jazdec majú voči podkladu aspoň 3:1 (WCAG 1.4.11) — preto
   `--pc-muted`, nie svetlá linka: prepínač je ovládač, nie ozdoba. */
.px-consent-switch .px-consent-switch__ui {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: 2.75rem;
	height: 1.5rem;
	border: 1px solid rgb(var(--pc-muted, 84 98 115));
	border-radius: var(--pc-radius-pill, 9999px);
	background: rgb(var(--pc-sunk, 238 242 246));
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

/* Jazdec v stave „vypnuté" je tmavý na svetlej dráhe, v stave „zapnuté"
   svetlý na akcente — vidno ho pri oboch, aj keď farbu nerozoznám. */
.px-consent-switch .px-consent-switch__ui::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 0.125rem;
	width: 1.125rem;
	height: 1.125rem;
	border-radius: var(--pc-radius-pill, 9999px);
	background: rgb(var(--pc-muted, 84 98 115));
	transform: translateY(-50%);
	transition: transform 0.15s ease, background-color 0.15s ease;
}

.px-consent-switch .px-consent-switch__input:checked + .px-consent-switch__ui {
	border-color: rgb(var(--pc-accent, 17 104 155));
	background: rgb(var(--pc-accent, 17 104 155));
}

.px-consent-switch .px-consent-switch__input:checked + .px-consent-switch__ui::after {
	background: rgb(var(--pc-paper, 255 255 255));
	transform: translate(1.125rem, -50%);
}

/* Kategória, v ktorej je povolená len časť služieb — jazdec v strede.
   Checkbox je zároveň natívne `mixed`, takže to počuje aj čítačka. */
.px-consent-switch .px-consent-switch__input:indeterminate + .px-consent-switch__ui {
	border-color: rgb(var(--pc-accent-deep, 13 82 122));
	background: rgb(var(--pc-accent, 17 104 155) / 0.28);
}

.px-consent-switch .px-consent-switch__input:indeterminate + .px-consent-switch__ui::after {
	background: rgb(var(--pc-accent-deep, 13 82 122));
	transform: translate(0.5625rem, -50%);
}

.px-consent-switch .px-consent-switch__input:focus-visible + .px-consent-switch__ui {
	outline: 2px solid rgb(var(--pc-focus));
	outline-offset: 2px;
}

/* Hover patrí menovke, nie skrytému checkboxu — kurzor sa k nemu nedostane. */
.px-consent-switch:hover .px-consent-switch__input:not(:disabled) + .px-consent-switch__ui {
	border-color: rgb(var(--pc-accent, 17 104 155) / 0.6);
}

/* Nevyhnutné cookies sa nedajú vypnúť — jazdec ostáva vpravo, ale utlmený,
   aby nesľuboval voľbu, ktorá neexistuje. Popis nesie `__state`. */
.px-consent-switch .px-consent-switch__input:disabled + .px-consent-switch__ui {
	border-color: rgb(var(--pc-accent, 17 104 155) / 0.5);
	background: rgb(var(--pc-accent, 17 104 155) / 0.28);
	cursor: not-allowed;
}

.px-consent-switch .px-consent-switch__input:disabled + .px-consent-switch__ui::after {
	background: rgb(var(--pc-accent-deep, 13 82 122));
}

.px-consent-switch__state {
	font-size: var(--pc-fs-2xs);
	color: rgb(var(--pc-muted, 84 98 115));
	white-space: nowrap;
}

/* Voliteľné kategórie majú `__state` prázdny — inak by za jazdcom ostala
   medzera z flex gapu. */
.px-consent-switch__state:empty {
	display: none;
}

/* =========================================================================
   TABUĽKY COOKIES

   Rovnaký vzhľad ako tabuľky v účte (account.css): zaoblený rám, hlavička
   na tlmenom podklade. Tabuľka ostáva tabuľkou aj na mobile — skladanie do
   riadkov cez CSS by vzalo čítačkám hlavičky stĺpcov.
   ========================================================================= */

.px-consent-cookies,
.px-cookie-policy__table {
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid rgb(var(--pc-line, 224 230 237));
	border-radius: var(--pc-radius-sm, 0.5rem);
	background: rgb(var(--pc-paper, 255 255 255));
	font-size: var(--pc-fs-xs);
	line-height: 1.5;
	color: rgb(var(--pc-ink, 10 31 51));
}

.px-consent-cookies th,
.px-consent-cookies td,
.px-cookie-policy__table th,
.px-cookie-policy__table td {
	border: 0;
	border-top: 1px solid rgb(var(--pc-line, 224 230 237));
	padding: var(--pc-space-2) 0.625rem;
	overflow-wrap: anywhere;
}

.px-consent-cookies thead th,
.px-cookie-policy__table thead th {
	border-top: 0;
	background: rgb(var(--pc-soft, 244 246 247));
	font-size: var(--pc-fs-3xs);
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgb(var(--pc-muted, 84 98 115));
	white-space: nowrap;
}

.px-consent-cookies code,
.px-cookie-policy__table code {
	padding: 0.0625rem 0.3125rem;
	border-radius: var(--pc-radius-xs, 0.35rem);
	background: rgb(var(--pc-ink, 10 31 51) / 0.06);
	font-size: var(--pc-fs-xs);
}

/* Prvý stĺpec je názov cookie — nech nezaberie viac, než potrebuje. */
.px-consent-cookies td:first-child,
.px-cookie-policy__table td:first-child {
	white-space: nowrap;
}

@media (max-width: 479.98px) {
	.px-consent-cookies td:first-child,
	.px-cookie-policy__table td:first-child {
		white-space: normal;
	}
}

/* =========================================================================
   BLOKOVANÝ EMBED

   Placeholder má rovnaký pomer strán ako video, ktoré ho nahradí — po
   povolení sa stránka pod ním neposunie (CLS). Mapy a ostatné služby si
   výšku určujú obsahom, preto len YouTube.
   ========================================================================= */

.px-consent-embed {
	margin: var(--pc-space-6) 0;
	border: 1px dashed rgb(var(--pc-ink, 10 31 51) / 0.22);
	border-radius: var(--pc-radius, 0.75rem);
	background: rgb(var(--pc-soft, 244 246 247));
	color: rgb(var(--pc-ink, 10 31 51));
	line-height: 1.6;
}

/* Pod 30rem by pomer 16:9 stlačil box pod výšku textu a tlačidla. */
@media (min-width: 480px) {
	.px-consent-embed[data-px-consent-embed='youtube'] {
		aspect-ratio: 16 / 9;
	}
}

.px-consent-embed__title {
	font-size: var(--pc-fs-base);
	font-weight: 700;
}

.px-consent-embed__text {
	margin: 0;
	font-size: var(--pc-fs-sm);
	color: rgb(var(--pc-muted, 84 98 115));
}

.px-consent-embed__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.6rem var(--pc-space-6);
	border: 1px solid rgb(var(--pc-accent, 17 104 155));
	border-radius: var(--pc-radius-control, 9999px);
	background: rgb(var(--pc-accent, 17 104 155));
	color: rgb(var(--pc-paper, 255 255 255));
	font-size: var(--pc-fs-sm);
	font-weight: 600;
	line-height: 1.4;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.px-consent-embed__btn:hover {
	background: rgb(var(--pc-accent-deep, 13 82 122));
	border-color: rgb(var(--pc-accent-deep, 13 82 122));
	color: rgb(var(--pc-paper, 255 255 255));
}

.px-consent-embed__fallback {
	font-size: var(--pc-fs-xs);
	color: rgb(var(--pc-muted, 84 98 115));
}

.px-consent-embed__link,
.px-consent-embed__settings {
	color: rgb(var(--pc-accent-deep, 13 82 122));
	font-weight: 600;
	text-underline-offset: 0.2em;
}

/* Povolený obsah — rám aj polomer ostávajú, nech video sedí do stránky
   rovnako ako placeholder pred ním. */
.px-consent-embed-frame {
	margin: var(--pc-space-6) 0;
	overflow: hidden;
	border-radius: var(--pc-radius, 0.75rem);
	background: rgb(var(--pc-ink, 10 31 51) / 0.04);
}

.px-consent-embed-frame iframe {
	display: block;
	width: 100%;
	border: 0;
}

.px-consent-embed-frame[data-px-consent-embed='youtube'] iframe {
	height: auto;
	aspect-ratio: 16 / 9;
}

/* =========================================================================
   PODSTRÁNKA „ZÁSADY POUŽÍVANIA COOKIES"

   Výstup shortcodu [px_cookie_policy] v obsahu stránky — nadpisy nadväzujú
   na H1 stránky, takže veľkosti kopírujú prose z base.css.
   ========================================================================= */

.px-cookie-policy {
	margin-top: var(--pc-space-8);
	font-size: var(--pc-fs-md);
	line-height: 1.7;
}

/* Odkaz z modálu aj z obsahu mieri na kotvu sekcie — pod lepkavou hlavičkou
   by nadpis skončil mimo obrazovky. */
.px-cookie-policy__group,
.px-cookie-policy__service {
	scroll-margin-top: 7rem;
}

.px-cookie-policy__group + .px-cookie-policy__group {
	margin-top: var(--pc-space-10);
}

.px-cookie-policy__title {
	margin: 0 0 var(--pc-space-2);
	padding-bottom: var(--pc-space-2);
	border-bottom: 1px solid rgb(var(--pc-line, 224 230 237));
	font-size: var(--pc-fs-2xl);
	font-weight: 700;
}

.px-cookie-policy__desc {
	margin: 0;
	color: rgb(var(--pc-muted, 84 98 115));
}

.px-cookie-policy__service {
	margin-top: var(--pc-space-4);
	padding: var(--pc-space-5);
	border: 1px solid rgb(var(--pc-line, 224 230 237));
	border-radius: var(--pc-radius, 0.75rem);
	background: rgb(var(--pc-paper, 255 255 255));
}

.px-cookie-policy__service-name {
	margin: 0 0 var(--pc-space-3);
	font-size: 1.0625rem;
	font-weight: 700;
}

.px-cookie-policy__meta {
	display: grid;
	gap: var(--pc-space-1) var(--pc-space-4);
	grid-template-columns: minmax(0, 1fr);
	margin: 0 0 var(--pc-space-4);
	font-size: var(--pc-fs-sm);
}

@media (min-width: 640px) {
	.px-cookie-policy__meta {
		grid-template-columns: 10rem minmax(0, 1fr);
	}
}

.px-cookie-policy__meta dt {
	font-weight: 600;
	color: rgb(var(--pc-muted, 84 98 115));
}

.px-cookie-policy__meta dd {
	margin: 0;
	overflow-wrap: anywhere;
}

.px-cookie-policy__meta a {
	color: rgb(var(--pc-accent-deep, 13 82 122));
	text-underline-offset: 0.2em;
}

.px-cookie-policy__caption {
	caption-side: top;
	padding-bottom: 0.375rem;
	font-size: var(--pc-fs-xs);
	font-weight: 600;
	color: rgb(var(--pc-muted, 84 98 115));
	text-align: left;
}

.px-cookie-policy__actions {
	margin: var(--pc-space-8) 0 0;
}

/* =========================================================================
   POHYB

   Lišta prichádza zdola, modál sa vynorí — obe krátko a bez posunu obsahu
   stránky. Kto má v systéme obmedzený pohyb, dostane len zmenu stavu.
   ========================================================================= */

.px-consent:not([hidden]) {
	animation: pc-consent-in 0.25s ease-out both;
}

.px-consent-modal:not([hidden]) .px-consent-modal__overlay {
	animation: pc-consent-fade 0.2s ease-out both;
}

.px-consent-modal:not([hidden]) .px-consent-modal__dialog {
	animation: pc-consent-dialog-in 0.2s ease-out both;
}

@keyframes pc-consent-in {
	from {
		opacity: 0;
		transform: translateY(1rem);
	}
}

@keyframes pc-consent-fade {
	from {
		opacity: 0;
	}
}

@keyframes pc-consent-dialog-in {
	from {
		opacity: 0;
		transform: translateY(0.75rem) scale(0.98);
	}
}

@media (prefers-reduced-motion: reduce) {

	.px-consent:not([hidden]),
	.px-consent-modal:not([hidden]) .px-consent-modal__overlay,
	.px-consent-modal:not([hidden]) .px-consent-modal__dialog {
		animation: none;
	}

	.px-consent__btn,
	.px-consent-embed__btn,
	.px-consent-modal__close,
	.px-consent-group__toggle::after,
	.px-consent-service__more::after,
	.px-consent-switch .px-consent-switch__ui,
	.px-consent-switch .px-consent-switch__ui::after {
		transition: none;
	}
}

/* ------------------------------------------------------------------
   Plávajúce tlačidlo „Nastavenia cookies" (px-shop-core 1.17.0,
   šablóna consent/float.php). Layout je v jadre, tu vzhľad tokenmi:
   tichý biely kruh s ikonou v accent farbe, nesúťaží s obsahom.
   ------------------------------------------------------------------ */

.px-consent-float {
	border-color: rgb(var(--pc-line, 226 232 240));
	background: rgb(var(--pc-card, 255 255 255));
	color: rgb(var(--pc-accent-deep, 13 82 122));
	box-shadow: 0 4px 14px rgb(var(--pc-ink, 15 23 42) / 0.12);
	transition: bottom 0.2s ease, background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.px-consent-float:hover {
	background: rgb(var(--pc-accent-deep, 13 82 122));
	color: rgb(var(--pc-paper, 255 255 255));
	transform: translateY(-1px);
}

.px-consent-float:focus-visible {
	outline: 2px solid rgb(var(--pc-focus, 37 99 235));
	outline-offset: 3px;
}

/* Lepiaca lišta košíka na detaile produktu (68 px) — tlačidlo nad ňu. */
body:has(.pc-sticky-atc.is-visible) {
	--px-consent-float-offset: 4.25rem;
}

@media (prefers-reduced-motion: reduce) {
	.px-consent-float {
		transition: none;
	}

	.px-consent-float:hover {
		transform: none;
	}
}

@media (forced-colors: active) {
	.px-consent-float {
		border: 1px solid ButtonText;
	}
}
