/* Upgreat PRO — vzhľad lišty so súhlasom (Cookies Consent JS) a zástupných
 * boxov pre obsah tretích strán. Farby a písmo podľa dizajn manuálu:
 * modrá #1331A2, magenta #CA117F, písmo Overused Grotesk.
 * „Prijať" a „Odmietnuť" sú zámerne rovnako výrazné (GDPR — odmietnuť musí
 * byť rovnako ľahké ako prijať). */

:root {
	--fontFamily: 'Overused Grotesk', Helvetica, Arial, sans-serif;

	--windowBg: #fff;
	--windowRadius: 20px;
	--windowPadding: 8px;
	--windowWidth: 480px;
	--windowMarginLeft: 24px;
	--windowMarginBottom: 24px;

	--titlePadding: 24px 24px 0 24px;
	--titleFontSize: 20px;
	--titleFontWeight: 700;
	--titleTextColor: #1331a2;

	--messagePadding: 4px 24px 8px 24px;
	--messageFontSize: 15px;
	--messageLineHeight: 1.45;
	--messageTextColor: #1a1a1a;
	--messageLinkColor: #1331a2;

	--buttonsAlign: left;
	--buttonsPadding: 0 24px 24px 24px;
	--btnFontSize: 13px;
	--btnFontWeight: 700;
	--btnMargin: 8px 6px 0 0;
	--btnPadding: .9em 1.7em;
	--btnRadius: 30px;

	--btnAcceptBg: #1331a2;
	--btnAcceptBgHover: #ca117f;
	--btnAcceptTextColor: #fff;
	--btnAcceptBorder: 2px solid #1331a2;
	--btnRejectBg: #1331a2;
	--btnRejectBgHover: #ca117f;
	--btnRejectTextColor: #fff;
	--btnRejectBorder: 2px solid #1331a2;
	--btnInfoBg: transparent;
	--btnInfoBgHover: #1331a2;
	--btnInfoTextColor: #1331a2;
	--btnInfoBorder: 2px solid #1331a2;

	--popupWidth: 620px;
	--popupRadius: 20px;
	--popupTextColor: #1a1a1a;
	--settingsSeparatorColor: #e6e6e6;
	--settingsTitleSize: 16px;
	--settingsFontSize: 14px;
	--btnSettingsSelectBg: transparent;
	--btnSettingsSelectBgHover: #1331a2;
	--btnSettingsSelectTextColor: #1331a2;
	--btnSettingsSelectBorder: 2px solid #1331a2;
	--btnSettingsAcceptBg: #1331a2;
	--btnSettingsAcceptBgHover: #ca117f;
	--btnSettingsAcceptBorder: 2px solid #1331a2;

	--animationDuration: .6s;
}

.cc-window {
	filter: none;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .18), 0 2px 6px rgba(0, 0, 0, .08);
	max-height: calc(100vh - 48px);
}

/* Lišta je v DOM prvá (kvôli klávesnici) — globálne štýly p/a z témy tu neplatia. */
.cc-window .cc-window-message p {
	margin: 0;
	padding: 0 0 .5rem 0;
	z-index: auto;
}
.cc-window .cc-window-message .cc-window-policy a {
	display: inline-block;
	margin-top: 2px;
}

/* Hover: magenta s bielym textom, ako tlačidlá na webe. */
.cc-window .cc-window-buttons button.cc-btn-accept:hover,
.cc-window .cc-window-buttons button.cc-btn-reject:hover,
.cc-window-settings-buttons button.cc-btn-settings-accept:hover {
	border-color: #ca117f;
	color: #fff;
}
.cc-window .cc-window-buttons button.cc-btn-info:hover,
.cc-window-settings-buttons button.cc-btn-settings-select:hover {
	color: #fff;
}
.cc-window .cc-window-buttons button,
.cc-modal-window .cc-window-settings-buttons button {
	line-height: 1.2;
	letter-spacing: normal;
	word-spacing: normal;
	transition: background-color .3s ease-in-out, color .3s ease-in-out, border-color .3s ease-in-out;
}

/* Knižnica má outline: none — vrátiť viditeľný fokus (WCAG 2.4.7). */
.cc-window .cc-window-buttons button:focus-visible,
.cc-modal-window .cc-window-settings-buttons button:focus-visible,
.cc-modal-window .cc-modal-close:focus-visible,
.cc-window .cc-window-message a:focus-visible {
	outline: 3px solid #ffb703;
	outline-offset: 2px;
}
.cc-modal-window .cc-modal-content .switch input:focus-visible + .slider {
	outline: 3px solid #ffb703;
	outline-offset: 2px;
}

/* --- Okno nastavení --- */
html.upgp-cc-modal-otvoreny {
	overflow: hidden;
}
.cc-modal {
	background-color: rgba(0, 10, 40, .55);
}
.cc-modal-window {
	filter: none;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
	max-width: calc(100% - 32px);
	margin: 6vh auto;
}
.cc-modal-close {
	float: right;
	width: 40px;
	height: 40px;
	padding: 0;
	margin: 0 0 0 12px;
	line-height: 40px;
	text-align: center;
	font-size: 28px;
	border-radius: 50%;
	color: #1331a2;
	transition: background-color .3s ease-in-out;
}
.cc-modal-close:hover,
.cc-modal-close:focus {
	color: #1331a2;
	background-color: #eef1fa;
}
.cc-modal-content {
	margin-top: 8px;
	padding: 0 24px 16px 24px;
}
.cc-modal-window .cc-modal-content h2.upgreatpro-cc-nadpis {
	font: 700 24px/1.25 var(--fontFamily);
	color: #1331a2;
	margin: 0 0 .75rem 0;
	text-align: left;
}
.cc-modal-window .cc-modal-content p {
	font-size: 15px;
	line-height: 1.45;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0;
	z-index: auto;
}
#cc-window-settings .cc-window-settings-header {
	margin-bottom: 1rem;
}
#cc-window-settings .cc-window-settings-cookie {
	gap: 1.5rem;
}
#cc-window-settings .cc-window-settings-cookie .cc-window-settings-cookie-title {
	color: #000;
}
#cc-window-settings .cc-window-settings-cookie .cc-window-settings-cookie-desc p {
	font-size: 14px;
	color: #333;
}
/* Prepínače vo farbách značky (vypnuté = sivá, zapnuté = modrá, zamknuté = svetlomodrá). */
.cc-modal-window .cc-modal-content .slider {
	background-color: #8a8f9c;
}
.cc-modal-window .cc-modal-content input:checked + .slider {
	background-color: #1331a2;
}
.cc-modal-window .cc-modal-content input:disabled + .slider {
	background-color: #8e9bd0;
	cursor: not-allowed;
}
.cc-modal-window .cc-window-settings-buttons {
	padding: 16px 0 0 0;
	text-align: right;
}

/* --- Mobil --- */
@media (max-width: 768px) {
	.cc-window {
		max-height: 85vh;
		box-shadow: 0 -6px 30px rgba(0, 0, 0, .18);
	}
	.cc-modal-window {
		max-width: 100%;
		min-height: 100%;
		margin: 0;
		padding: 16px 0 24px 0;
	}
}
@media (max-width: 540px) {
	.cc-window .cc-window-buttons,
	.cc-modal-window .cc-window-settings-buttons {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}
	.cc-window .cc-window-buttons button,
	.cc-modal-window .cc-window-settings-buttons button {
		flex: 1 1 auto;
		margin: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.cc-window.cc-animation-in,
	.cc-window.cc-animation-out {
		animation-duration: .01s !important;
		animation-delay: 0s !important;
	}
}

/* --- Zástupný box pre obsah tretích strán (mapa, recenzie, videá) --- */
.upgreatpro-cc-blok {
	position: relative;
}
.upgreatpro-cc-blok:focus {
	outline: none;
}
.upgreatpro-cc-nahrada {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 240px;
	padding: 40px 24px;
	text-align: center;
	background: #fff;
	border-radius: 20px;
}
.upgreatpro-cc-nahrada__ikona {
	display: block;
	width: 40px;
	height: 40px;
	color: #1331a2;
}
.upgreatpro-cc-nahrada p.upgreatpro-cc-nahrada__text {
	max-width: 520px;
	margin: 0;
	font-size: 16px;
	line-height: 1.45;
	font-weight: 400;
	color: #1a1a1a;
}
.upgreatpro-cc-nahrada p.upgreatpro-cc-nahrada__akcie {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 24px;
	margin: 6px 0 0 0;
}
button.tlacidlo.upgreatpro-cc-povolit {
	font: 700 13px/1.2 'Overused Grotesk', Helvetica, sans-serif;
	padding: 1em 2em;
	border: 2px solid #1331a2;
	background-color: #1331a2;
	color: #fff;
}
button.tlacidlo.upgreatpro-cc-povolit:hover {
	border-color: #ca117f;
	background-color: #ca117f;
}
.upgreatpro-cc-nahrada a.upgreatpro-cc-nahrada__odkaz,
.upgreatpro-cc-nahrada a.upgreatpro-cc-nahrada__odkaz:visited {
	font-size: 15px;
	font-weight: 600;
	color: #1331a2;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Kontakt: box mapy (800 px, na mobile 500 px) — zástupný obsah ho vyplní, tmavomodrý ako pôvodné pozadie. */
#mapa .upgreatpro-cc-blok {
	height: 100%;
}
#mapa .upgreatpro-cc-nahrada {
	height: 100%;
	border-radius: 0;
	background: #003672;
}
#mapa .upgreatpro-cc-nahrada__ikona,
#mapa .upgreatpro-cc-nahrada p.upgreatpro-cc-nahrada__text,
#mapa .upgreatpro-cc-nahrada a.upgreatpro-cc-nahrada__odkaz,
#mapa .upgreatpro-cc-nahrada a.upgreatpro-cc-nahrada__odkaz:visited {
	color: #fff;
}
#mapa button.tlacidlo.upgreatpro-cc-povolit {
	border-color: #fff;
	background-color: #fff;
	color: #1331a2;
}
#mapa button.tlacidlo.upgreatpro-cc-povolit:hover {
	border-color: #ca117f;
	background-color: #ca117f;
	color: #fff;
}

/* Iframe v texte (napr. Matterport v .matterport-wrapper s pomerom strán cez
   padding): kým čaká na súhlas, box má vlastnú výšku; po načítaní vyplní obal. */
.matterport-wrapper:has(> .upgreatpro-cc-blok:not([data-cc-aktivne])),
#matterziva:has(> .upgreatpro-cc-blok:not([data-cc-aktivne])) {
	height: auto;
	padding-bottom: 0;
}
.matterport-wrapper > .upgreatpro-cc-blok[data-cc-aktivne],
#matterziva > .upgreatpro-cc-blok[data-cc-aktivne] {
	position: absolute;
	inset: 0;
}

/* Vložené video: zachovať pomer 16:9, kým sa nenačíta. */
.upgreatpro-cc-blok--video .upgreatpro-cc-nahrada {
	aspect-ratio: 16 / 9;
	min-height: 0;
}

/* Pätička: „Nastavenia cookies" ako textový odkaz. */
button.upgreatpro-cc-nastavenia {
	appearance: none;
	-webkit-appearance: none;
	display: block;
	margin: 8px 0 0 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
button.upgreatpro-cc-nastavenia:hover {
	color: #1331a2;
}
@media (max-width: 892px) {
	button.upgreatpro-cc-nastavenia {
		margin: 8px auto 0 auto;
	}
}
