header nav {
	backdrop-filter: blur(5px);
	background-color: rgba(255, 255, 255, 0.92);
}

.pre-header {
	backdrop-filter: blur(5px);
	background-color: rgba(255, 255, 255, 0.92);
}

.bg-success {
	background-color: #18ae41 !important;
}

.btn-secondary {
	background-color: #18ae41;
	border-color: #18ae41;
}

.btn-secondary:hover, .btn-secondary:focus {
	background-color: #118132;
	border-color: #118132;
}

.btn-primary {
	background-color: #18448c;
	border-color: #18448c;
}

.btn-primary:hover, .btn-primary:focus {
	background-color: #112b5d;
	border-color: #112b5d;
}

.btn-outline-primary {
	border-color: #112b5d;
	color: #112b5d;
}

.btn-outline-primary:hover, .btn-outline-primary:focus {
	border-color: #112b5d;
	color: white;
	background-color: #112b5d;
}

.color-primary {
	color: #112b5d;
}

/* pagination in the brand colours instead of the Bootstrap blue */
.pagination .page-link {
	color: #18448c;
}

.pagination .page-link:hover,
.pagination .page-link:focus {
	color: #112b5d;
	background-color: #eef2f8;
	border-color: #dee2e6;
	box-shadow: 0 0 0 0.2rem rgba(24, 68, 140, 0.2);
}

.pagination .page-item.active .page-link {
	color: #fff;
	background-color: #18448c;
	border-color: #18448c;
}

.pagination .page-item.disabled .page-link {
	color: #6c757d;
}

.bg-custom {
	background-image: url("../img/bg.png");
	background-image: image-set(url("../img/bg.webp") type("image/webp"), url("../img/bg.png") type("image/png"));
}

.custom-hearder {
	padding-top: 50px;
	padding-bottom: 40px;
}

.custom-hr {
	padding: 0;
	color: #6c757d;
	margin: 0 15px;
}

.light{
	color: #6c757d;
}

.card-info {
	background-color: #d9e9fb;
}

.text-success {
	color: #18ae41 !important;
}

footer {
	background-color: #d9e9fb;
}

footer a:link, footer a:visited {
	color: #18448c;
}

footer a:hover, footer a:focus {
	color: #112b5d;
}

a.link:link, a.link:visited {
	color: #18448c;
}

a.link:hover, a.link:focus {
	color: #112b5d;
}

.cookie-consent-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(17, 24, 39, 0.65);
	z-index: 2000;
}

/* the bar never blocks scrolling - the H1 and the answer stay readable (docs/seo.md, T15) */
body.cookie-consent-open {
	overflow: visible;
}

.cookie-consent-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	color: #212529;
	background: #fff;
	z-index: 2001;
	padding: 28px 24px 24px;
	box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.25);
	border-top: 4px solid #18448c;
}

.cookie-consent-inner {
	max-width: 940px;
	margin: 0 auto;
}

.cookie-consent-title {
	font-size: 1.4rem;
	font-weight: 700;
	color: #18448c;
	margin: 0 0 10px;
}

.cookie-consent-desc {
	font-size: 1rem;
	line-height: 1.5;
	margin: 0 0 20px;
}

.cookie-consent-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.cookie-consent-btn {
	flex: 1 1 0;
	padding: 14px 24px;
	font-size: 1.05rem;
	font-weight: 600;
	color: #fff;
	background-color: #18448c;
	border-color: #18448c;
}

.cookie-consent-btn:hover, .cookie-consent-btn:focus {
	color: #fff;
	background-color: #112b5d;
	border-color: #112b5d;
}

.cookie-consent-links {
	font-size: 0.85rem;
	margin: 16px 0 0;
}

.cookie-consent-option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 14px 0;
	border-top: 1px solid #e5e7eb;
}

.cookie-consent-option:last-of-type {
	border-bottom: 1px solid #e5e7eb;
	margin-bottom: 20px;
}

.cookie-consent-option-title {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 4px;
}

.cookie-consent-option-desc {
	font-size: 0.9rem;
	line-height: 1.45;
	margin: 0;
}

.cookie-consent-switch {
	flex: 0 0 auto;
	padding: 0;
	margin: 0;
	min-height: 0;
}

.cookie-consent-switch .form-check-input {
	width: 3rem;
	height: 1.6rem;
	margin: 0;
	cursor: pointer;
	background-color: #cbd0d8;
	border-color: #cbd0d8;
}

.cookie-consent-switch .form-check-input:checked {
	background-color: #18448c;
	border-color: #18448c;
}

.cookie-consent-switch .form-check-input:focus {
	border-color: #18448c;
	box-shadow: 0 0 0 0.2rem rgba(24, 68, 140, 0.25);
}

.cookie-consent-switch .form-check-input:disabled {
	opacity: 0.55;
	cursor: default;
}

#cookie-consent-settings {
	max-height: 70vh;
	overflow-y: auto;
}

.cookie-consent-bar a {
	color: #18448c;
	text-decoration: underline;
}

@media only screen and (max-width: 767px) {
	.cookie-consent-bar {
		padding: 20px 16px 16px;
	}

	.cookie-consent-title {
		font-size: 1.2rem;
	}

	.cookie-consent-actions {
		gap: 10px;
	}

	.cookie-consent-btn {
		flex: 1 1 100%;
	}
}

.list-group-item.active {
	z-index: 2;
	color: var(--bs-list-group-active-color);
	background-color: #18448c;
	border-color: #18448c;
}

@media only screen and (min-width: 1000px) {
	.card-info-top {
		margin-top: -75px;
	}
}

/* karta advokáta v bočnom paneli – avatar s pevnou šírkou, stavová bodka ukotvená k obrázku */
.lawyer-card-avatar {
	position: relative;
	display: block;
	width: 100px;
}
.lawyer-card-head .min-w-0 {
	min-width: 0;
}
.lawyer-card-status {
	position: absolute;
	right: 6px;
	bottom: 6px;
	width: 20px;
	height: 20px;
}

.text-review-color{
	color: #fdd563
}

/* karta advokáta na stránke poradne – body dôvery a recenzie Google namiesto tlačidiel */
.lawyer-card-trust {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
}
.lawyer-card-trust li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	padding: 0.3rem 0;
}
.lawyer-card-trust .bi {
	flex: 0 0 auto;
	color: #18ae41;
	margin-top: 0.1rem;
}
.lawyer-card-reviews {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid rgba(17, 43, 93, 0.1);
}
.lawyer-card-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.5rem;
	color: inherit;
	text-decoration: none;
	min-height: 36px;
}
.lawyer-card-rating-score {
	font-size: 1.25rem;
	line-height: 1;
}
.lawyer-card-rating-stars {
	letter-spacing: 0.05rem;
	white-space: nowrap;
}
.lawyer-card-rating-count {
	color: #18448c;
}
.lawyer-card-review {
	margin-top: 0.75rem;
	padding: 0.6rem 0.75rem;
	border-radius: 10px;
	background: #f4f7fc;
}
.lawyer-card-review-head {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.lawyer-card-review-head .min-w-0 {
	min-width: 0;
}
.lawyer-card-review-head img {
	flex: 0 0 auto;
	object-fit: cover;
}
.lawyer-card-review-head strong {
	display: block;
	font-size: 0.875rem;
	line-height: 1.2;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.lawyer-card-review-stars {
	font-size: 0.75rem;
	white-space: nowrap;
}
.lawyer-card-review-text {
	margin: 0.4rem 0 0;
	font-size: 0.875rem;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Google / Facebook rating card: icon | title, stars, link | score */
.review-box {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.review-box-icon {
	flex: 0 0 auto;
	font-size: 2.5rem;
	line-height: 1;
}
.review-box-body {
	flex: 1 1 auto;
	min-width: 0;
}
.review-box-stars {
	margin: 0.15rem 0 0.25rem;
	letter-spacing: 0.1rem;
}
.review-box-link {
	font-size: 0.875rem;
}
.review-box-score {
	flex: 0 0 auto;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
}
@media (max-width: 400px) {
	.review-box { gap: 0.75rem; }
	.review-box-icon { font-size: 2rem; }
	.review-box-score { font-size: 1.6rem; }
}

.bg-primary{
	background-color: #18448c !important;
}

.fs-7{
	font-size: 0.90rem;
}

.footer-box{
	background-color: rgba(24, 68, 140, 0.06);
}

.grey-image{
	filter: grayscale(100%);
	opacity: 70%
}

.grey-social-icons{
	filter: grayscale(100%);
	opacity: 40%;
	margin-right: 10px;
}

/* Fotka / video pri odpovedi v poradni */
.question-media {
	float: right;
	width: 40%;
	max-width: 360px;
	margin: 0.25rem 0 1rem 1.5rem;
	border-radius: 14px;
	overflow: hidden;
	background-color: #fff;
	box-shadow: 0 10px 24px rgba(17, 43, 93, 0.13),
	0 2px 6px rgba(17, 43, 93, 0.07),
	inset 0 0 0 1px rgba(17, 43, 93, 0.07);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.question-media:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 32px rgba(17, 43, 93, 0.18),
	0 3px 8px rgba(17, 43, 93, 0.09),
	inset 0 0 0 1px rgba(17, 43, 93, 0.07);
}

.question-media img,
.question-media iframe {
	display: block;
	width: 100%;
	height: auto;
	border: 0;
	border-radius: inherit;
}

.question-media .ratio iframe {
	height: 100%;
}

@media (max-width: 767.98px) {
	.question-media {
		float: none;
		width: 100%;
		max-width: 100%;
		margin: 0 0 1.25rem;
	}

	.question-media:hover {
		transform: none;
	}
}

/* Pictures of a page body - [obrazok:<code>] (docs/obsah-webov.md) */
.page-image {
	margin: 1rem 0;
}

.page-image img {
	display: block;
	max-width: 100%;
	height: auto;
}

.page-image-inline {
	display: inline-block;
	max-width: 100%;
	height: auto;
	margin: 0.25rem 0.75rem 0.25rem 0;
	vertical-align: middle;
}

/* Náš tím */
.nas-tim .team-members-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.nas-tim .team-members-list li {
	padding: 10px 5px;
}

.nas-tim .team-members-list li:not(:last-child) {
	border-bottom: 1px solid #ccc;
}

.nas-tim .team-members-list .member {
	color: #18448c;
	text-decoration: none;
}

.nas-tim .team-members-list .member:hover {
	text-decoration: underline;
}

.nas-tim .boxes,
.nas-tim .single-box {
	border-left: 1px solid #ccc;
}

.nas-tim .boxes h4,
.nas-tim .single-box h4 {
	font-weight: bold;
	font-size: 1em;
	margin: 10px 0;
	padding: 5px;
	color: #3e3e3e;
	background-color: #eee;
}

.nas-tim .boxes h4:not(:first-of-type),
.nas-tim .single-box h4:not(:first-of-type) {
	margin-top: 30px;
}

.nas-tim .box {
	margin-bottom: 30px;
}

.nas-tim .box img {
	width: 100%;
	border: 1px solid #ddd;
}

.nas-tim .box .info {
	padding: 10px 0;
	color: #000;
	font-size: 12px;
}

.nas-tim .box .info .title {
	font-weight: bold;
	font-size: 16px;
	text-transform: uppercase;
}

.nas-tim .box .info .description {
	color: #333;
	font-size: 90%;
	line-height: 20px;
	margin-bottom: 10px;
}

.nas-tim .box .info .contact i {
	padding-right: 10px;
}

.nas-tim .single-box {
	text-align: left;
}

.nas-tim .single-box .box {
	float: left;
	max-width: 200px;
	margin-right: 20px;
	margin-bottom: 20px;
}

.nas-tim .single-box h3 {
	color: #18448c;
	font-size: 1.2em;
	margin-bottom: 20px;
}

@media (max-width: 480px) {
	.nas-tim .boxes,
	.nas-tim .single-box {
		border-left: none;
	}

	.nas-tim .single-box .box {
		float: none;
		max-width: 100%;
	}
}

/* reCAPTCHA – widget má pevných 304 px, na úzkych displejoch ho zmenšíme */
.g-recaptcha {
	max-width: 100%;
}

@media (max-width: 359.98px) {
	.g-recaptcha {
		transform: scale(0.85);
		transform-origin: left top;
	}
}

/* Oblasti práva – dlaždice v obsahovom stĺpci (Naše služby, hlavná strana) */
.legal-area-tile {
	color: #112b5d;
	background: #f6f8fb;
	border: 1px solid transparent;
	transition: background-color .15s ease, border-color .15s ease;
}

.legal-area-tile:hover,
.legal-area-tile:focus {
	background: #eaf0f9;
	border-color: #d3deef;
	color: #112b5d;
}

/* Obsah prenesený zo starého ficek.sk – bootstrap 3 markup v novom layoute */
.legacy-content img {
	max-width: 100%;
	height: auto;
}

.legacy-content .pravo-obrazok {
	margin-bottom: 15px;
}

.legacy-content .img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
}

.legacy-content .m-t-20 {
	margin-top: 20px;
}

.legacy-content .m-t-35 {
	margin-top: 35px;
}

.legacy-content table {
	width: 100%;
	margin-bottom: 1rem;
}

.legacy-content table td,
.legacy-content table th {
	padding: .5rem;
	border-top: 1px solid #dee2e6;
}

/* ------------------------------------------------------------------------
   Tabuľky v texte – články, stránky a zhrnutia otázok

   Admin pri uložení odstráni atribút style, preto vzhľad tabuľky dáva len
   toto pravidlo: okraje buniek, tmavá hlavička vo firemnej modrej, zebra.
   HtmlOutline::wrapTables() obalí každú tabuľku do .content-table, ktorý
   sa na úzkom displeji posúva do strany namiesto celej stránky. Prekryje
   aj triedy Bootstrapu (.table-striped, .table-bordered), ktoré tabuľky
   z editora niekedy nesú – všetky tabuľky v texte vyzerajú rovnako.
   ------------------------------------------------------------------------ */
.content-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 0 0 1rem;
	border-radius: 10px;
	box-shadow: inset 0 0 0 1px #d5dbe6;
}

.content-table table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 0.95rem;
	line-height: 1.45;
}

.content-table table th,
.content-table table td {
	padding: 0.55rem 0.75rem;
	border: 1px solid #d5dbe6;
	text-align: left;
	vertical-align: top;
	background-color: transparent;
	box-shadow: none;
}

.content-table table thead th,
.content-table table > tbody:first-child > tr:first-child > th {
	background-color: #112b5d;
	border-color: #112b5d;
	color: #fff;
	font-weight: 600;
}

.content-table table tbody tr:nth-child(even) > td {
	background-color: #f3f6fb;
}

.content-table table p {
	margin: 0;
}

/* ------------------------------------------------------------------------
   Zarovnanie textu – blokové (justify) pre súvislé texty

   Súvislé texty sú zarovnané do bloku, na desktope aj na mobile. Aby sa
   nestávalo, že na riadku ostanú dve slová roztiahnuté cez celú šírku:
     - text-align-last: auto – posledný riadok odseku a rovnako každý riadok
       ukončený <br> ostáva zarovnaný vľavo, nikdy sa neroztiahne,
     - hyphens: auto – slová sa delia podľa jazyka z <html lang>, takže
       medzery ostávajú úzke aj v úzkom stĺpci na mobile,
     - hyphenate-limit-chars – krátke slová sa nedelia a na okrajoch
       neostávajú jedno- ani dvojpísmenkové zvyšky,
     - text-wrap: pretty – prehliadač dorovnáva konce odsekov.
   Justify sa dáva len na súvislé texty, nie na nadpisy, menu, tlačidlá,
   tabuľky ani chatbota – tam ide o krátke reťazce v úzkych boxoch.
   ------------------------------------------------------------------------ */

main p,
main li,
main dd,
main blockquote,
main .card-text,
.legacy-content,
.text-justify,
[align="justify"],
[style*="text-align:justify" i],
[style*="text-align: justify" i] {
	text-align: justify;
	text-align-last: auto;
	text-justify: inter-word;
	-webkit-hyphens: auto;
	hyphens: auto;
	-webkit-hyphenate-limit-before: 3;
	-webkit-hyphenate-limit-after: 3;
	hyphenate-limit-chars: 6 3 3;
	overflow-wrap: break-word;
	text-wrap: pretty;
}

/* Ak kontajner nesie vlastné zarovnanie (utility .text-center/.text-start/
   .text-end alebo inline štýl z administrácie), texty vnútri ho majú dediť
   a nie sa zarovnávať do bloku – napr. dlaždice na hlavnej strane. */
:is(.text-center, .text-start, .text-end, .text-left, .text-right,
    [style*="text-align:center" i], [style*="text-align: center" i],
    [style*="text-align:right" i], [style*="text-align: right" i])
:is(p, li, dd, blockquote, .card-text) {
	text-align: inherit;
	text-align-last: auto;
	text-justify: auto;
	-webkit-hyphens: none;
	hyphens: none;
}

/* Obsah z administrácie sa vkladá cez |noescape a občas nesie inline
   text-align-last: justify – ten by roztiahol aj posledný riadok odseku
   a riadky pred <br>, preto ho rušíme. */
[style*="text-align-last:justify" i],
[style*="text-align-last: justify" i] {
	text-align-last: auto !important;
	text-justify: inter-word !important;
	word-spacing: normal !important;
}

/* pevné/viacnásobné medzery a tabulátory z WYSIWYG obsahu sa nemajú
   zachovávať – text sa má zalamovať prirodzene podľa šírky obrazovky */
[style*="white-space:pre" i],
[style*="white-space: pre" i] {
	white-space: normal !important;
}

/* nadpisy – nikdy do bloku a bez delenia slov; text-align sa tu zámerne
   nenastavuje, aby ostalo funkčné centrovanie cez .text-center a pod. */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	text-align-last: auto !important;
	text-justify: auto !important;
	word-spacing: normal !important;
	white-space: normal !important;
	-webkit-hyphens: none !important;
	hyphens: none !important;
	overflow-wrap: break-word;
}

.legacy-content h1,
.legacy-content h2,
.legacy-content h3,
.legacy-content h4,
.legacy-content h5,
.legacy-content h6 {
	text-align: left;
}

h1[style*="justify" i],
h2[style*="justify" i],
h3[style*="justify" i],
h4[style*="justify" i],
h5[style*="justify" i],
h6[style*="justify" i] {
	text-align: left !important;
}

/* Úzke stĺpce – justify-guard.js zmeria, koľko znakov sa zmestí na riadok,
   a kde ich je málo (bočný panel, úzke karty), pridá .text-justify-off,
   aby na riadku neostali dve slová roztiahnuté cez celú šírku. */
.text-justify-off,
.text-justify-off :is(p, li, dd, blockquote, .card-text) {
	text-align: start !important;
	text-align-last: auto !important;
	text-justify: auto !important;
	-webkit-hyphens: none;
	hyphens: none;
}

/* úzke boxy a krátke reťazce – blokové zarovnanie by tu robilo veľké diery:
   bočný panel (.site-sidebar), karta advokáta (.card-info-top, .lawyer-card),
   modálne okná (recenzie v troch stĺpcoch – pri načítaní sú skryté, takže
   ich justify-guard.js nezmeria), texty v odkazoch (názvy videí a pod.) */
.site-sidebar :is(p, li, dd, blockquote, .card-text),
.card-info-top p,
.lawyer-card p,
main .modal :is(p, li, dd, blockquote, .card-text),
main a :is(p, li, .card-text),
.lexana p,
.lexana li,
main table p,
main table li,
main .list-group p,
main .card-title,
main .text-truncate,
main figcaption,
main .badge,
main label,
main .form-text,
.legacy-content td:not([align]),
.legacy-content th:not([align]) {
	text-align: start;
	text-align-last: auto;
	text-justify: auto;
	-webkit-hyphens: none;
	hyphens: none;
}

/* tlačidlá si držia vlastné (centrované) zarovnanie a nedelia slová */
main .btn,
.legacy-content .btn {
	text-align: center;
	text-align-last: auto;
	text-justify: auto;
	-webkit-hyphens: none;
	hyphens: none;
}

/* ------------------------------------------------------------------------
   Obsah stránok z administrácie (inc/@pageContent.latte). btn-block je preset
   „Tlačidlo“ editora v administrácii - Bootstrap 5 túto triedu už nemá.
   ------------------------------------------------------------------------ */
.page-content .btn-block {
	display: block;
	width: 100%;
}

.page-content iframe {
	max-width: 100%;
}

/* Kontakt (/kontakt-judr.ficek) – kontaktné údaje s ikonami a mapa kancelárie */
.contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 12px 0;
	text-align: start;
	-webkit-hyphens: none;
	hyphens: none;
}

.contact-list li:not(:last-child) {
	border-bottom: 1px solid rgba(24, 68, 140, 0.1);
}

.contact-list li:first-child {
	padding-top: 0;
}

.contact-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	color: #18448c;
	background-color: #d9e9fb;
	font-size: 1.15rem;
}

.contact-label {
	display: block;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #6c757d;
	margin-bottom: 2px;
}

.contact-list a.link {
	font-weight: 600;
	text-decoration: none;
}

.contact-map {
	min-height: 320px;
	border-radius: 14px;
	overflow: hidden;
	background-color: #d9e9fb;
	box-shadow: 0 10px 24px rgba(17, 43, 93, 0.13),
	0 2px 6px rgba(17, 43, 93, 0.07),
	inset 0 0 0 1px rgba(17, 43, 93, 0.07);
}

.contact-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	border: 0;
}

/* ---- breadcrumb (BasePresenter::setBreadcrumbs, docs/seo.md) ---- */
.site-breadcrumb .breadcrumb {
	margin-bottom: 0.75rem;
	font-size: 0.85rem;
	flex-wrap: wrap;
}

.site-breadcrumb .breadcrumb-item a {
	color: #18448c;
	text-decoration: none;
}

.site-breadcrumb .breadcrumb-home a {
	display: inline-block;
	font-size: 1rem;
	line-height: 1;
}

.site-breadcrumb .breadcrumb-item.active {
	color: #6c757d;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}

/* the lawyer card (.card-info-top) is pulled 75px up over the breadcrumb row
   from 1000px, so the breadcrumb keeps to the width of the col-sm-8 column */
@media only screen and (min-width: 1000px) {
	.site-breadcrumb-with-sidebar {
		width: calc((100% + 1rem) * 2 / 3 - 1rem);
	}
}

/* ---- /pravna-poradna listing (Question/list.latte) ---- */
.question-list-intro {
	max-width: 720px;
	margin: 0.5rem 0 0;
}

.question-list-search {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.question-list-search .form-control {
	flex: 1 1 auto;
	min-width: 0;
}

.question-list-search .btn {
	touch-action: manipulation;
	min-height: 38px;
}

.question-list-subtitle {
	font-size: 0.9rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #112b5d;
	margin: 0 0 0.5rem;
}

.question-list-categories {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.question-list-categories a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 36px;
	padding: 0.3rem 0.75rem;
	border-radius: 18px;
	background-color: #eef4fc;
	color: #112b5d;
	text-decoration: none;
	font-size: 0.9rem;
}

.question-list-categories a.active {
	background-color: #112b5d;
	color: #fff;
}

.question-list-count {
	font-size: 0.75rem;
	opacity: 0.7;
}

.question-list-item {
	margin-bottom: 0.75rem;
}

.question-list-title {
	font-size: 1.1rem;
	font-weight: 600;
	margin: 0 0 0.25rem;
}

.question-list-title a {
	color: #112b5d;
	text-decoration: none;
}

.question-list-title a:hover {
	text-decoration: underline;
}

.question-list-meta {
	font-size: 0.8rem;
	color: #6c757d;
	margin-bottom: 0.4rem;
}

.question-list-badge {
	background-color: #d9e9fb;
	color: #18448c;
	font-weight: 500;
	margin-left: 0.35rem;
	text-decoration: none;
	touch-action: manipulation;
}

a.question-list-badge:hover,
a.question-list-badge:focus {
	background-color: #18448c;
	color: #fff;
}

.question-list-excerpt {
	margin: 0;
	color: #333;
}

.question-list-result {
	margin: 0.5rem 0 0.75rem;
}

.question-list-pagination .page-link {
	min-width: 36px;
	min-height: 36px;
	text-align: center;
	touch-action: manipulation;
}

@media (pointer: coarse) {
	.question-list-search .form-control {
		font-size: 16px;
	}
}

/* ---- question page (Question/detail.latte) - the labels are headings for the
   outline (docs/seo.md) but keep the size of the old <sup> labels ---- */
.q-label,
.sq-title {
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.4;
	color: #112b5d;
	margin: 0 0 0.5rem;
}

.q-label {
	font-variant: small-caps;
	letter-spacing: 0.02em;
}

.sq-title {
	font-size: 0.95rem;
}

.question-subtitle {
	font-size: 0.85rem;
	color: #6c757d;
	margin: 0.25rem 0 0.75rem;
}

.question-faq-item + .question-faq-item {
	border-top: 1px solid #eef1f6;
	margin-top: 0.75rem;
	padding-top: 0.75rem;
}

.question-faq-title {
	font-size: 1rem;
	font-weight: 600;
	color: #112b5d;
	margin: 0 0 0.25rem;
}

.question-media img {
	max-width: 100%;
	height: auto;
}

.subquestion-anchor {
	color: #1a3872;
	text-decoration: underline;
	font-size: 0.92em;
}

.subquestion-anchor:hover {
	color: #c0392b;
}

@keyframes sq-highlight {
	0%   { box-shadow: 0 0 0 3px #f0a500; border-color: #f0a500; }
	60%  { box-shadow: 0 0 0 6px #f0a500; border-color: #f0a500; }
	100% { box-shadow: none; border-color: transparent; }
}

.subquestion-card.sq-active {
	border: 2px solid #f0a500 !important;
	animation: sq-highlight 1.8s ease forwards;
}

.sidebar-list-heading small {
	color: #18448c;
}

.review-photo {
	width: 48px;
	height: 48px;
	object-fit: cover;
}

/* section headings of the text pages (/gdpr, /kontakt) - the look of the old bold paragraphs */
.legal-section-title {
	font-size: 1rem;
	font-weight: 700;
	margin: 1.25rem 0 0.5rem;
}

.nas-tim .box h2.title {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

.error-links {
	margin: 1rem 0;
	padding-left: 1.2rem;
}

.error-links li {
	margin-bottom: 0.4rem;
}

/* phones: a compact bottom sheet, at most 40 % of the screen, no dimmed page */
@media (max-width: 767.98px) {
	.cookie-consent-backdrop {
		display: none;
	}

	.cookie-consent-bar {
		max-height: 40vh;
		overflow-y: auto;
		padding: 14px 16px 12px;
		box-shadow: 0 -6px 18px rgba(17, 43, 93, 0.18);
		border-radius: 14px 14px 0 0;
	}

	.cookie-consent-title {
		font-size: 1.05rem;
		margin-bottom: 4px;
	}

	.cookie-consent-desc {
		font-size: 0.85rem;
		line-height: 1.4;
		margin-bottom: 10px;
	}

	.cookie-consent-actions {
		flex-direction: column;
		gap: 8px;
	}

	.cookie-consent-btn {
		flex: 0 0 auto;
		width: 100%;
		min-height: 40px;
		padding: 8px 12px;
		font-size: 0.95rem;
		touch-action: manipulation;
	}

	.cookie-consent-links {
		font-size: 0.8rem;
		margin: 8px 0 0;
	}
}

/* ---- /media – karty vystúpení v televízii (Subpages/media.latte) ---- */
.media-tv-grid {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1rem;
}

.media-tv-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	padding: 1.5rem 1.25rem 1.25rem;
	border-radius: 14px;
	background-color: #fff;
	color: #333;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 6px 18px rgba(17, 43, 93, 0.09),
	0 1px 4px rgba(17, 43, 93, 0.06),
	inset 0 0 0 1px rgba(17, 43, 93, 0.07);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	touch-action: manipulation;
}

.media-tv-card:hover,
.media-tv-card:focus-visible {
	color: #333;
	transform: translateY(-3px);
	box-shadow: 0 12px 26px rgba(17, 43, 93, 0.15),
	0 2px 6px rgba(17, 43, 93, 0.08),
	inset 0 0 0 1px rgba(24, 68, 140, 0.18);
}

.media-tv-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 104px;
	height: 104px;
	margin-bottom: 1rem;
	border-radius: 50%;
	border: 3px solid #18448c;
	background: radial-gradient(circle at 50% 35%, #fff 55%, #eef4fc 100%);
	color: #18448c;
	font-size: 2.1rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
}

.media-tv-logo-long {
	font-size: 1.3rem;
}

.media-tv-more .media-tv-logo {
	color: #adb5bd;
	font-size: 2.6rem;
}

.media-tv-show {
	margin: 0 0 0.2rem;
	font-size: 1.15rem;
	font-weight: 700;
	color: #18448c;
}

.media-tv-card:hover .media-tv-show {
	color: #112b5d;
}

.media-tv-date {
	display: block;
	margin-bottom: 0.6rem;
	font-size: 0.78rem;
	color: #6c757d;
}

main .media-tv-quote {
	margin: 0;
	font-size: 0.9rem;
	font-style: italic;
	line-height: 1.5;
	color: #555;
	text-align: start;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	overflow: hidden;
}

@media (max-width: 575.98px) {
	.media-tv-grid {
		grid-template-columns: 1fr;
	}
}

/* ---- /media – logá médií a zoznam článkov (Subpages/media.latte) ---- */
.media-logo-grid {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 0.75rem;
}

.media-logo-tile {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 96px;
	padding: 0.75rem 1rem;
	border-radius: 14px;
	background-color: #fff;
	box-shadow: 0 4px 12px rgba(17, 43, 93, 0.07),
	inset 0 0 0 1px rgba(17, 43, 93, 0.07);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	touch-action: manipulation;
}

.media-logo-tile:hover,
.media-logo-tile:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(17, 43, 93, 0.13),
	inset 0 0 0 1px rgba(24, 68, 140, 0.18);
}

/* forbes-z.png carries a 1px frame on its outermost pixel - clip only that, the other logos reach to 2px from the edge */
.media-logo-tile img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	clip-path: inset(1px);
	mix-blend-mode: multiply;
}

.media-article-list {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
	gap: 0.6rem;
}

/* a grid item defaults to min-width: auto, so the nowrap article path would stretch the track (and the page on a phone) to its full length */
.media-article-list > li {
	min-width: 0;
}

.media-article {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	height: 100%;
	min-height: 64px;
	padding: 0.7rem 0.9rem;
	border-radius: 12px;
	background-color: #fff;
	color: #333;
	text-decoration: none;
	box-shadow: inset 0 0 0 1px rgba(17, 43, 93, 0.09);
	transition: background-color 0.15s ease, box-shadow 0.15s ease;
	touch-action: manipulation;
}

.media-article:hover,
.media-article:focus-visible {
	background-color: #f5f8fd;
	box-shadow: inset 0 0 0 1px rgba(24, 68, 140, 0.25);
}

.media-article-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: #18448c;
	background-color: #d9e9fb;
	font-size: 1.05rem;
}

.media-article-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.media-article-host {
	font-weight: 700;
	color: #112b5d;
	line-height: 1.3;
}

.media-article-path {
	font-size: 0.8rem;
	color: #6c757d;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.media-article-arrow {
	flex: 0 0 auto;
	color: #18448c;
	opacity: 0.55;
}

.media-article:hover .media-article-arrow {
	opacity: 1;
}

@media (max-width: 575.98px) {
	.media-logo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.media-logo-tile {
		height: 80px;
	}

	.media-article-list {
		grid-template-columns: minmax(0, 1fr);
	}
}
