/* ==========================================================================
   Šablona WaveCAMP – styly
   Vzhled vychází z původní šablony JA Simpli (barvy, písmo, rozvržení) včetně
   pozdějších ručních úprav (13.css, custom.css, Custom Code). Bez Bootstrapu.

   Obsah:
    1. Proměnné (barvy, rozměry)
    2. Písmo PT Sans (uložené na webu)
    3. Základ
    4. Rozvržení (kontejner, hlavní část, sloupec)
    5. Záhlaví
    6. Menu
    7. Pás se sliderem
    8. Obsah (články, blog, tlačítka, stránkování)
    9. Moduly a pravý sloupec
   10. Patička
   11. Phoca Gallery / Phoca Photo
   12. Pomocné třídy Joomly
   ========================================================================== */

/* 1. Proměnné ------------------------------------------------------------- */
:root {
	--wc-bg: #f5efe7;              /* pozadí stránky s články */
	--wc-text: #101010;            /* text článků */
	--wc-muted: #737373;           /* tlumený text (patička) */
	--wc-dark: #303030;            /* tmavé prvky, nadpisy odkazů */
	--wc-link: #3498db;            /* odkazy */
	--wc-link-hover: #303030;
	--wc-line: #e0e0e0;            /* jemné oddělovací linky */

	--wc-header-bg: linear-gradient(180deg, #959595 0%, #fdfdfd 35%, #f5dbb6 75%, #a9a9a9 100%); /* gradient pod logem */
	--wc-header-line: #012148;     /* linka mezi logem a menu */

	--wc-nav-bg: #979797;          /* lišta menu */
	--wc-nav-line: #b31920;        /* červená linka mezi menu a sliderem */
	--wc-nav-text: #081e47;        /* písmo menu */
	--wc-nav-active: #ffffff;      /* aktivní položka a najetí myší */
	--wc-nav-underline: #ada9a1;   /* podtržení položky */
	--wc-sub-text: #012148;        /* rozbalovací menu – text */
	--wc-sub-border: #133877;      /* rozbalovací menu – rámeček */

	--wc-band-bg: #c3b8a6;         /* pozadí kolem slideru */

	--wc-footer-bg: #ffffff;
	--wc-footer-link: #4469b3;

	--wc-font: "PT Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--wc-width: 1150px;            /* šířka obsahu na velké obrazovce */
	--wc-gutter: 16px;             /* okraj na malé obrazovce */
	--wc-sidebar: 350px;
	--wc-gap: 50px;
}

/* 2. Písmo PT Sans (licence OFL, soubory v ../fonts) ------------------------ */
@font-face { font-family: "PT Sans"; font-weight: 400; font-style: normal; font-display: swap; src: url(../fonts/pt-sans-regular.woff) format("woff"); }
@font-face { font-family: "PT Sans"; font-weight: 400; font-style: italic; font-display: swap; src: url(../fonts/pt-sans-italic.woff) format("woff"); }
@font-face { font-family: "PT Sans"; font-weight: 700; font-style: normal; font-display: swap; src: url(../fonts/pt-sans-bold.woff) format("woff"); }
@font-face { font-family: "PT Sans"; font-weight: 700; font-style: italic; font-display: swap; src: url(../fonts/pt-sans-bolditalic.woff) format("woff"); }

/* 3. Základ --------------------------------------------------------------- */
*, ::before, ::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--wc-bg);
	color: var(--wc-text);
	font: 400 18px/1.4 var(--wc-font);
}

a { color: var(--wc-link); text-decoration: none; }
a:hover, a:focus { color: var(--wc-link-hover); text-decoration: underline; }

p { margin: 0 0 12px; }
ul, ol { margin: 0 0 12px 25px; padding: 0; }
ul ul, ul ol, ol ol, ol ul { margin-bottom: 0; }
li { line-height: 1.5; }
strong, b { font-weight: 700; }
small { font-size: 85%; }

h1, h2, h3, h4, h5, h6 {
	margin: 12px 0;
	font-family: var(--wc-font);
	font-weight: 700;
	line-height: 1.25;
	color: inherit;
}
h1, h2 { font-size: 32px; padding-bottom: 16px; }
h3 { font-size: 18px; line-height: 1.4; }
h4 { font-size: 14px; }

img, svg, video { max-width: 100%; height: auto; vertical-align: middle; }
iframe { max-width: 100%; border: 0; }
table { max-width: 100%; border-collapse: collapse; }
figure { margin: 0 0 24px; }

.wc-skip { position: absolute; left: -9999px; top: 0; z-index: 100; padding: 8px 16px; background: #fff; color: var(--wc-dark); }
.wc-skip:focus { left: 8px; }

/* 4. Rozvržení ------------------------------------------------------------ */
.wc-container {
	width: min(var(--wc-width), 100% - 2 * var(--wc-gutter));
	margin-inline: auto;
}

.wc-main__inner { padding: 20px 0 24px; }

@media (min-width: 992px) {
	.wc-main__inner { padding-bottom: 48px; }
	.has-sidebar .wc-main__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) var(--wc-sidebar);
		gap: var(--wc-gap);
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	:root { --wc-sidebar: 300px; --wc-gap: 40px; }
}

/* 5. Záhlaví -------------------------------------------------------------- */
.wc-header {
	background: var(--wc-header-bg);
	border-bottom: 1px solid var(--wc-header-line);
	padding: 12px 0;
}
.wc-header__inner { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.wc-logo { display: block; flex: 0 1 auto; min-width: 0; }
.wc-logo img { display: block; width: 793px; max-width: 100%; }
.wc-header__right { flex: 0 0 auto; text-align: right; }
.wc-header__right p { margin: 0; }
.wc-header__right img { width: 160px; }

@media (min-width: 993px) { .wc-header { padding: 15px 0; } }

@media (max-width: 767px) {
	.wc-header { padding: 5px 0; }
	.wc-header__inner { flex-direction: column; align-items: center; gap: 2px; }
	.wc-logo img { width: auto; max-height: 75px; margin-inline: auto; }
	.wc-header__right, .wc-header__right p { text-align: center !important; } /* inline zarovnání vpravo z obsahu modulu */
	.wc-header__right img { width: 150px; }
}

/* 6. Menu ----------------------------------------------------------------- */
.wc-nav {
	position: relative;
	z-index: 20;
	background: var(--wc-nav-bg);
	border-bottom: 1px solid var(--wc-nav-line);
}
.wc-nav ul { list-style: none; margin: 0; padding: 0; }
.wc-nav a { text-decoration: none; }

/* Tlačítko mobilního menu */
.wc-nav__toggle {
	display: none;
	align-items: center;
	gap: 8px;
	height: 48px;
	padding: 8px 18px;
	border: 0;
	background: var(--wc-dark);
	color: #fff;
	font: 700 16px/1 var(--wc-font);
	text-transform: uppercase;
	cursor: pointer;
}
.wc-nav__toggle:hover, .wc-nav__toggle:focus-visible { background: var(--wc-link); }
.wc-nav__bars, .wc-nav__bars::before, .wc-nav__bars::after {
	display: block; width: 18px; height: 2px; background: currentColor; content: "";
}
.wc-nav__bars { position: relative; }
.wc-nav__bars::before { position: absolute; top: -6px; }
.wc-nav__bars::after { position: absolute; top: 6px; }

/* Položky první úrovně */
.wc-nav__menu .mod-menu > li > a,
.wc-nav__menu .mod-menu > li > span {
	position: relative;
	display: block;
	padding: 0 2px;
	color: var(--wc-nav-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 48px;
	text-transform: uppercase;
	cursor: pointer;
}
.wc-nav__menu .mod-menu > li > a::after,
.wc-nav__menu .mod-menu > li > span::after {
	position: absolute; left: 0; right: 0; bottom: 0;
	border-bottom: 0 solid var(--wc-nav-underline);
	content: "";
	transition: border-width .2s ease;
}
.wc-nav__menu .mod-menu > li > a:hover,
.wc-nav__menu .mod-menu > li > a:focus,
.wc-nav__menu .mod-menu > li:hover > a,
.wc-nav__menu .mod-menu > li.active > a,
.wc-nav__menu .mod-menu > li.current > a { color: var(--wc-nav-active); }
.wc-nav__menu .mod-menu > li.active > a::after { border-bottom-width: 2px; }
.wc-nav__menu .mod-menu > li:hover > a::after,
.wc-nav__menu .mod-menu > li > a:focus::after { border-bottom-width: 5px; }

/* Šipka u položky s podmenu */
.wc-nav__menu .mod-menu > li.parent { position: relative; }
.wc-nav__menu .mod-menu > li.parent > a { padding-right: 20px; }
.wc-nav__menu .mod-menu > li.parent > a::before {
	position: absolute; right: 4px; top: 50%;
	width: 6px; height: 6px; margin-top: -5px;
	border: solid currentColor; border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	content: "";
}

/* Joomla 6: mod_menu přidává za odkaz tlačítko se šipkou (.mod-menu__toggle-sub).
   Šipku i otevírání podmenu řeší šablona sama (CSS + template.js), tlačítko skryjeme. */
.wc-nav__menu .mod-menu > li > a + .mod-menu__toggle-sub { display: none; }

/* Podmenu */
.wc-nav__menu .mod-menu__sub {
	display: none;
	position: absolute; top: 100%; left: 0; z-index: 1000;
	min-width: 160px;
	background: #fff;
	border: 1px solid var(--wc-sub-border);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, .1);
	font-size: 14px;
}
.wc-nav__menu .mod-menu__sub > li { border-bottom: 1px dotted var(--wc-line); }
.wc-nav__menu .mod-menu__sub > li:last-child { border-bottom: 0; }
.wc-nav__menu .mod-menu__sub a {
	display: block;
	padding: 6px 12px;
	color: var(--wc-sub-text);
	line-height: 24px;
	white-space: nowrap;
}
.wc-nav__menu .mod-menu__sub a:hover,
.wc-nav__menu .mod-menu__sub a:focus,
.wc-nav__menu .mod-menu__sub li.active > a { background: var(--wc-nav-bg); color: #fff; }

/* Vlajky překladu */
.wc-translate { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.wc-translate a { display: block; line-height: 0; opacity: .9; }
.wc-translate a:hover, .wc-translate a:focus { opacity: 1; }
.wc-translate img { width: 18px; height: 12px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }

/* Velká obrazovka: menu vedle sebe, vlajky vpravo */
@media (min-width: 993px) {
	.wc-nav__menu { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
	.wc-nav__menu .mod-menu { display: flex; flex-wrap: wrap; }
	.wc-nav__menu .mod-menu > li { padding-right: 24px; }
	.wc-nav__menu .mod-menu > li:hover > .mod-menu__sub,
	.wc-nav__menu .mod-menu > li:focus-within > .mod-menu__sub,
	.wc-nav__menu .mod-menu > li.is-open > .mod-menu__sub { display: block; }
}

/* Malá obrazovka: tlačítko Menu, rozbalovací panel */
@media (max-width: 992px) {
	.wc-nav__inner { width: 100%; }
	.wc-nav__toggle { display: flex; }
	.wc-nav__menu { display: none; padding: 0 0 24px; background: #fff; }
	.wc-nav__menu.is-open { display: block; }
	.wc-nav__menu .mod-menu > li { padding: 0 24px; }
	.wc-nav__menu .mod-menu > li > a,
	.wc-nav__menu .mod-menu > li > span {
		margin-bottom: 2px;
		padding: 9px 15px;
		color: var(--wc-dark);
		line-height: 24px;
	}
	.wc-nav__menu .mod-menu > li > a::after { display: none; }
	.wc-nav__menu .mod-menu > li > a:hover { color: var(--wc-dark); }
	.wc-nav__menu .mod-menu > li.active > a { color: #004597; }
	.wc-nav__menu .mod-menu > li.parent > a::before { right: 8px; }
	.wc-nav__menu .mod-menu__sub {
		display: block;
		position: static;
		width: 100%;
		border-color: var(--wc-line);
		box-shadow: none;
	}
	.wc-nav__menu .mod-menu__sub a { padding: 8px 18px; }
	.wc-translate { justify-content: center; margin: 10px auto 0; }
}
@media (max-width: 480px) { .wc-nav__label { display: none; } }

/* 7. Pás se sliderem ------------------------------------------------------ */
.wc-band { background: var(--wc-band-bg); color: #fff; }

/* 8. Obsah ---------------------------------------------------------------- */
.wc-content { min-width: 0; }

.page-header { margin: 0; padding: 0; border: 0; }
.page-header h1, .page-header h2, .page-header h3 { margin-top: 0; margin-bottom: 0; }
.page-header a { color: var(--wc-dark); }
.page-header a:hover, .page-header a:focus {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid var(--wc-dark);
}
.item-page .page-header { margin-bottom: 24px; }

.blog-items .blog-item { padding: 12px 0; }
@media (min-width: 992px) { .blog-items .blog-item { padding: 24px 0; } }

.blog-items { margin: 0; }
.items-more { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--wc-line); }

/* Tlačítka (Číst dál) */
.btn {
	display: inline-block;
	padding: 2px 24px;
	border: 1px solid #e1e1e1;
	background: #fff;
	color: var(--wc-dark);
	font: 16px/24px var(--wc-font);
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
}
.btn:hover, .btn:focus { background: #e6e6e6; color: var(--wc-dark); text-decoration: none; }
.readmore { margin: 24px 0 0; }
.readmore .btn {
	max-width: 157.5px;
	overflow: hidden;
	background: #fff9f2;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.readmore .btn:hover, .readmore .btn:focus { background: #c5c5c5; color: #fff; }
.readmore .btn [class^="icon-"] { position: relative; top: -2px; margin-left: -2px; font-size: 8px; }

/* Stránkování
   Joomla vypisuje: <div …__navigation><p class="counter float-md-end pt-3 pe-2">Strana 1 z 2</p>
   <div …__pagination><ul class="pagination ms-0 mb-4">…</ul></div></div>
   → jedna lišta: tlačítka vlevo, „Strana x z y“ vpravo, nahoře jemná linka. */
.com-content-category-blog__navigation,
.com-content-category-list__navigation {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid #ddd2c4;
}
.com-content-category-blog__navigation .counter,
.com-content-category-list__navigation .counter { order: 2; padding: 0 !important; }

.counter {
	margin: 0;
	color: var(--wc-muted);
	font-size: 15px;
	letter-spacing: .3px;
}

.pagination,
ul.pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 !important;   /* přebíjí ms-0 mb-4 z Joomly */
	padding: 0;
	list-style: none;
}
.pagination .page-item { line-height: 1; }
.pagination .page-link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid #d6cbbd;
	border-radius: 3px;
	background: #fff9f2;
	color: var(--wc-dark);
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.pagination .page-link [class^="icon-"],
.pagination .page-link [class*=" icon-"] { font-size: 12px; }
.pagination a.page-link:hover,
.pagination a.page-link:focus-visible {
	border-color: var(--wc-dark);
	background: var(--wc-dark);
	color: #fff;
	text-decoration: none;
}
.pagination .active .page-link,
.pagination .active a.page-link:hover,
.pagination .active a.page-link:focus-visible {
	border-color: var(--wc-nav-line);
	background: var(--wc-nav-line);   /* červená jako linka pod menu */
	color: #fff;
	cursor: default;
}
.pagination .disabled .page-link {
	border-color: transparent;
	background: transparent;
	color: var(--wc-dark);
	opacity: .3;
	cursor: default;
}

@media (max-width: 599px) {
	.com-content-category-blog__navigation,
	.com-content-category-list__navigation { justify-content: center; }
	.com-content-category-blog__navigation .counter,
	.com-content-category-list__navigation .counter { order: 0; width: 100%; text-align: center; }
	.pagination { justify-content: center; }
	.pagination .page-link { min-width: 36px; height: 36px; }
}

/* Hlášky systému */
joomla-alert { display: block; margin: 0 0 24px; padding: 12px 16px; border: 1px solid var(--wc-line); background: #fff; }

/* 9. Moduly a pravý sloupec ---------------------------------------------- */
.wc-module { position: relative; margin-bottom: 24px; }
.wc-module__body::after { display: table; clear: both; content: ""; }
.wc-module__title,
.module-title {   /* .module-title používá i obsah článku v modulu ODKAZY */
	margin: 0 0 24px;
	padding: 0 0 8px;
	border-bottom: 1px solid var(--wc-line);
	color: var(--wc-dark);
	font-size: 16px;
	letter-spacing: 1px;
	line-height: 1.5;
	text-transform: uppercase;
}

.wc-sidebar { min-width: 0; font-size: 14px; }
@media (max-width: 991px) { .wc-sidebar { margin-top: 24px; } }

/* 10. Patička ------------------------------------------------------------- */
.wc-footer {
	background: var(--wc-footer-bg);
	border-top: 1px solid var(--wc-line);
	color: var(--wc-muted);
	font-size: 14px;
}
.wc-footer__inner { padding: 12px 0; }
.wc-footer .wc-module { margin-bottom: 0; }
.wc-footer a { color: var(--wc-footer-link); }
.wc-footer a:hover, .wc-footer a:focus { color: var(--wc-dark); }
@media (min-width: 768px) {
	.wc-footer__inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wc-gap); }
}
@media (max-width: 767px) {
	.wc-footer .wc-module + .wc-module { margin-top: 12px; }
}

/* 11. Phoca Gallery / Phoca Photo ---------------------------------------- */
/* Předpona .wc-content: styly pluginů se načítají až po šabloně, tak je přebíjíme vyšší přesností. */
/* Stín pod fotkami jako na původním webu */
.wc-content .pg-photoswipe figure { box-shadow: 5px 5px 0 0 rgba(0, 0, 0, .1); }

/* Náhledy {phocaphoto} v blogu: velikost 180 × 110, bez pozadí a rámečku */
.wc-content .ph-photo-plugin-box { margin: 5px; border: 0; background: none; box-shadow: none; }
.wc-content .ph-photo-plugin-image-container { width: 180px; height: 110px; }
.wc-content .ph-photo-plugin-image-box a img { width: auto; }
/* Náhledy {phocaphoto} se v blogu neotevírají (záměr z roku 2025) */
.wc-content .ph-photo-plugin-box a, .wc-content .ph-photo-plugin-box a img { pointer-events: none; cursor: default; }
/* V detailu článku se náhledy {phocaphoto} skrývají – fotky ukazuje galerie {phocagallery} */
.view-article .wc-content .pg-photoswipe:has(.ph-photo-plugin-container) { display: none; }

/* Galerie {phocagallery} v článku (plugin 4.5+, kontejner id pg-msnr-container-a…) */
.wc-content [id^="pg-msnr-container-a"].pg-category-items-box { justify-content: center; align-items: center; align-content: flex-start; margin: 0 auto; }
.wc-content [id^="pg-msnr-container-a"] .pg-item-box {
	display: flex; align-items: center; justify-content: center;
	position: relative;
	width: 180px; height: 110px;
	margin: 5px;
	border: 0;
	background: none;
}
.wc-content [id^="pg-msnr-container-a"] .pg-item-box figcaption { display: none; }
.wc-content [id^="pg-msnr-container-a"] .pg-item-box-image img { width: auto; max-width: 100%; height: auto; margin: auto; }

/* Tablet: 3 sloupce, mobil: 2 sloupce (pro oba pluginy) */
@media (min-width: 600px) and (max-width: 995px) {
.wc-content .ph-photo-plugin-container, .wc-content [id^="pg-msnr-container-a"].pg-category-items-box { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10px; }
.wc-content .ph-photo-plugin-box, .wc-content [id^="pg-msnr-container-a"] .pg-item-box { flex: 0 0 calc(33.333% - 8px); width: calc(33.333% - 8px); max-width: calc(33.333% - 8px); height: auto; margin: 0 0 10px; }
.wc-content .ph-photo-plugin-image-container { width: auto; height: auto; }
.wc-content .ph-photo-plugin-box img, .wc-content [id^="pg-msnr-container-a"] .pg-item-box-image img { display: block; width: 100%; height: auto; }
}
@media (max-width: 599px) {
.wc-content .ph-photo-plugin-container, .wc-content [id^="pg-msnr-container-a"].pg-category-items-box { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; }
.wc-content .ph-photo-plugin-box, .wc-content [id^="pg-msnr-container-a"] .pg-item-box { flex: 0 0 calc(50% - 4px); width: calc(50% - 4px); max-width: calc(50% - 4px); height: auto; margin: 0 0 8px; }
.wc-content .ph-photo-plugin-image-container { width: auto; height: auto; }
.wc-content .ph-photo-plugin-box img, .wc-content [id^="pg-msnr-container-a"] .pg-item-box-image img { display: block; width: 100%; height: auto; }
}

/* F7F – náhledy v blogu ({phocaphoto} i {phocagallery}): články mají max=10.
   Jednotné dlaždice 180:110, fotka se ořízne na střed (i fotky na výšku).
   Počet: s pravým sloupcem (hlavní stránka) 6, bez něj (Historie) 10, tablet bez sloupce 9, mobil vždy 6.
   Omezení platí jen mimo detail článku – v detailu ukazuje {phocagallery} všechny fotky. */
body.has-sidebar:not(.view-article) .wc-content .ph-photo-plugin-box:nth-child(n+7), body.has-sidebar:not(.view-article) .wc-content [id^="pg-msnr-container-a"] .pg-item-box:nth-child(n+7) { display: none; }

/* Dlaždice a ořez – všechna zařízení */
.wc-content .ph-photo-plugin-box .pp-item-box-image, .wc-content [id^="pg-msnr-container-a"] .pg-item-box .pg-item-box-image { position: relative; aspect-ratio: 180 / 110; overflow: hidden; }
.wc-content .ph-photo-plugin-box .pp-item-box-image img, .wc-content [id^="pg-msnr-container-a"] .pg-item-box .pg-item-box-image img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; margin: 0; }
.wc-content .ph-photo-plugin-image-container { height: auto; padding: 0; }
.wc-content .ph-photo-plugin-image-box, .wc-content .ph-photo-plugin-box figure, .wc-content .ph-photo-plugin-box figure > a,
.wc-content [id^="pg-msnr-container-a"] .pg-item-box figure, .wc-content [id^="pg-msnr-container-a"] .pg-item-box figure > a, .wc-content [id^="pg-msnr-container-a"] .pg-item-box .pg-item-box-image { display: block; width: 100%; margin: 0; padding: 0; }
/* Počítač: {phocagallery} dlaždice 180 px jako {phocaphoto} */
.wc-content [id^="pg-msnr-container-a"] .pg-item-box { display: block; height: auto; padding: 0; }

/* Tablet a mobil: mřížka místo flexu – stejné řádky, nic se nepřekrývá */
@media (max-width: 995px) {
.wc-content .ph-photo-plugin-container, .wc-content [id^="pg-msnr-container-a"].pg-category-items-box { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 10px; justify-content: stretch; }
.wc-content .ph-photo-plugin-box, .wc-content [id^="pg-msnr-container-a"] .pg-item-box { display: block; flex: none; width: auto; max-width: none; height: auto; margin: 0; padding: 0; }
.wc-content .ph-photo-plugin-image-container { width: auto; }
body:not(.has-sidebar):not(.view-article) .wc-content .ph-photo-plugin-box:nth-child(n+10), body:not(.has-sidebar):not(.view-article) .wc-content [id^="pg-msnr-container-a"] .pg-item-box:nth-child(n+10) { display: none; }
}
@media (max-width: 599px) {
.wc-content .ph-photo-plugin-container, .wc-content [id^="pg-msnr-container-a"].pg-category-items-box { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 8px; }
body:not(.view-article) .wc-content .ph-photo-plugin-box:nth-child(n+7), body:not(.view-article) .wc-content [id^="pg-msnr-container-a"] .pg-item-box:nth-child(n+7) { display: none; }
}

/* Fotogalerie (komponenta Phoca Gallery) – minimum tříd Bootstrapu, které komponenta používá
   (dialog „Titulek / Zavřít“, výběr řazení a počtu). Bootstrap se kvůli tomu celý nenačítá. */
.wc-content .form-select {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 6px 36px 6px 12px;
	border: 1px solid #ccc;
	background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") no-repeat right 12px center / 16px 12px;
	color: var(--wc-dark);
	font: 16px/24px var(--wc-font);
	appearance: none;
}
.modal { display: none; position: fixed; inset: 0; z-index: 1055; overflow-y: auto; background: rgba(0, 0, 0, .5); }
.modal.show { display: block; }
.modal-dialog { max-width: 800px; margin: 28px auto; padding: 0 16px; }
.modal-content { position: relative; background: #fff; border: 1px solid rgba(0, 0, 0, .2); }
.modal-header, .modal-body, .modal-footer { padding: 16px; }
.modal-header, .modal-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.modal-header { border-bottom: 1px solid var(--wc-line); }
.modal-footer { border-top: 1px solid var(--wc-line); }
.modal-title { margin: 0; font-size: 18px; padding: 0; }
.fade:not(.show) { opacity: 0; }
.w-100 { width: 100% !important; }
.mb-4 { margin-bottom: 24px !important; }
.ms-0 { margin-left: 0 !important; }
.pt-3 { padding-top: 16px !important; }
.pe-2 { padding-right: 8px !important; }
@media (min-width: 768px) { .float-md-end { float: right !important; } }

/* 12. Pomocné třídy Joomly ----------------------------------------------- */
.visually-hidden, .element-invisible {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.float-start, .pull-left { float: left; }
.float-end, .pull-right { float: right; }
.clearfix::after { display: table; clear: both; content: ""; }
