/* ============================================================
   Ombudsman template — design system (Phase T2)
   privreda.gov.rs-inspired · brand red/orange · loaded ON TOP of Cassiopeia
   ============================================================ */

:root {
	/* Brand */
	--ombud-primary:        #376ea7;   /* blue — from the original palette */
	--ombud-primary-dark:   #2c587f;
	--ombud-orange:     #ff8800;
	--ombud-orange-dark:#e67700;

	/* Neutrals */
	--ombud-ink:    #1f2429;
	--ombud-text:   #444444;
	--ombud-muted:  #666666;
	--ombud-faint:  #8a9199;
	--ombud-border: #e4e7eb;
	--ombud-bg:     #ffffff;
	--ombud-bg-alt: #f5f6f8;
	--ombud-bg-dark:#1f2429;

	/* System */
	--ombud-radius: 6px;
	--ombud-radius-lg: 10px;
	--ombud-shadow: 0 1px 3px rgba(0,0,0,.08);
	--ombud-shadow-hover: 0 6px 18px rgba(0,0,0,.10);
	--ombud-container: 1360px;
	--ombud-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
	--ombud-gap: 1.5rem;

	/* Map onto Cassiopeia/Bootstrap vars so core components pick up the brand */
	--bs-primary: #376ea7;
	--bs-link-color: #376ea7;
	--bs-link-hover-color: #2c587f;
}

/* ---------- Base ---------- */
html, body.site { overflow-x: clip; }
body.site {
	font-family: var(--ombud-font);
	color: var(--ombud-text);
	background: var(--ombud-bg);
	line-height: 1.6;
	margin: 0;
}
img, svg, video, iframe { max-width: 100%; height: auto; }
.ombud-hero img { display: block; width: 100%; height: auto; }
.container { max-width: var(--ombud-container); margin-inline: auto; padding-inline: 1rem; }

h1,h2,h3,h4,h5,h6 { color: var(--ombud-ink); font-weight: 700; line-height: 1.25; }
h1, h2 { color: var(--ombud-primary-dark); }

a { color: var(--ombud-primary); text-decoration: none; }
a:hover, a:focus { color: var(--ombud-primary-dark); text-decoration: underline; }

.btn-primary,
a.btn-primary {
	background: var(--ombud-primary); border-color: var(--ombud-primary);
	--bs-btn-bg: var(--ombud-primary); --bs-btn-border-color: var(--ombud-primary);
	--bs-btn-hover-bg: var(--ombud-primary-dark); --bs-btn-hover-border-color: var(--ombud-primary-dark);
}

.skip-link {
	position: absolute; left: -9999px; top: 0; z-index: 2000;
	background: var(--ombud-primary); color:#fff; padding:.5rem .9rem;
	border-radius: 0 0 var(--ombud-radius) var(--ombud-radius);
}
.skip-link:focus { left: 1rem; }

/* ---------- Top utility bar ---------- */
.ombud-topbar { background: var(--ombud-bg-dark); color: #cfd4da; font-size: .85rem; }
.ombud-topbar a { color:#cfd4da; }
.ombud-topbar a:hover { color:#fff; }
.ombud-topbar__inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:38px; }
.ombud-script-toggle { margin-left:auto; }
.ombud-script-toggle a { padding:0 .35rem; opacity:.75; }
.ombud-script-toggle a.is-active { color:#fff; opacity:1; font-weight:700; }
.ombud-script-toggle span { opacity:.4; }

/* ---------- Header ---------- */
.ombud-header { background: var(--ombud-bg); border-bottom: 3px solid var(--ombud-primary); }
.ombud-header__row { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding: 1rem 0; }
.ombud-brand { display:inline-flex; align-items:center; gap:.85rem; }
.ombud-brand:hover { text-decoration:none; }
.ombud-brand__logo { height: 60px; width:auto; }
.ombud-brand__name { display:flex; flex-direction:column; line-height:1.15; font-size:1.3rem; font-weight:800; color:var(--ombud-ink); letter-spacing:-.01em; }
.ombud-brand__name small { font-size:.8rem; font-weight:600; color:var(--ombud-primary); letter-spacing:.14em; text-transform:uppercase; }
.ombud-header__search { min-width: 240px; max-width: 320px; }
/* label kept for screen readers only; it just repeats the placeholder */
.ombud-header__search label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ombud-header__search input[type="text"],
.ombud-header__search input[type="search"] {
	width:100%; padding:.55rem 1rem .55rem 2.4rem; border:1px solid var(--ombud-border);
	border-radius:999px; font-size:.9rem; background:var(--ombud-bg-alt)
	url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a9199' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")
	no-repeat .9rem center / 1rem;
	transition:border-color .15s, background-color .15s, box-shadow .15s; }
.ombud-header__search input:focus {
	outline:0; background-color:var(--ombud-bg); border-color:var(--ombud-primary);
	box-shadow:0 0 0 3px rgba(55,110,167,.18); }

/* ---------- Main navigation (mod_menu, privreda-style w/ dropdowns) ---------- */
.ombud-nav { background: var(--ombud-primary); }
.ombud-nav .container { display:flex; align-items:stretch; padding-inline:0; }
.ombud-nav .mod-menu { list-style:none; display:flex; flex-wrap:wrap; margin:0; padding:0; width:100%; }
.ombud-nav .mod-menu > li { position:relative; }
.ombud-nav .mod-menu > li > a,
.ombud-nav .mod-menu > li > span { color:#fff; display:block; padding:.9rem .72rem; font-size:.95rem; font-weight:600; white-space:nowrap; }
.ombud-nav .mod-menu > li:hover > a,
.ombud-nav .mod-menu > li.current > a,
.ombud-nav .mod-menu > li.active > a { background: var(--ombud-primary-dark); text-decoration:none; }

/* Down chevron on top-level items that have a dropdown (desktop; on mobile subs are always shown) */
@media (min-width: 992px) {
	.ombud-nav .mod-menu > li.parent > a::after,
	.ombud-nav .mod-menu > li.parent > span::after {
		content:""; display:inline-block; width:.4em; height:.4em; margin-left:.4em;
		border-right:2px solid currentColor; border-bottom:2px solid currentColor;
		transform:translateY(-.2em) rotate(45deg); transition:transform .2s; }
	.ombud-nav .mod-menu > li.parent:hover > a::after,
	.ombud-nav .mod-menu > li.parent:focus-within > a::after { transform:translateY(0) rotate(225deg); }
	.ombud-nav .mod-menu:hover > li.parent:focus-within:not(:hover) > a::after { transform:translateY(-.2em) rotate(45deg); }
}

/* Dropdown submenus */
.ombud-nav .mod-menu__sub {
	position:absolute; top:100%; left:0; z-index:200; min-width:250px;
	list-style:none; margin:0; padding:.35rem 0; background:#fff;
	box-shadow: var(--ombud-shadow-hover); border-top:3px solid var(--ombud-orange);
	opacity:0; visibility:hidden; transform:translateY(4px); transition:opacity .15s, transform .15s;
}
.ombud-nav .mod-menu > li:hover > .mod-menu__sub,
.ombud-nav .mod-menu > li:focus-within > .mod-menu__sub { opacity:1; visibility:visible; transform:none; }
/* pointer over the menu -> only the hovered item is open (a clicked/focused item closes) */
@media (min-width: 992px) {
	.ombud-nav .mod-menu:hover > li:focus-within:not(:hover) > .mod-menu__sub { opacity:0; visibility:hidden; transform:translateY(4px); }
}
.ombud-nav .mod-menu__sub li { position:relative; }
.ombud-nav .mod-menu__sub a { display:block; padding:.55rem 1.1rem; color:var(--ombud-text); font-size:.95rem; }
.ombud-nav .mod-menu__sub a:hover { background:var(--ombud-bg-alt); color:var(--ombud-primary); text-decoration:none; }
.ombud-nav .mod-menu__sub .mod-menu__sub { top:-.35rem; left:100%; }
.ombud-nav .mod-menu__sub li:hover > .mod-menu__sub,
.ombud-nav .mod-menu__sub li:focus-within > .mod-menu__sub { opacity:1; visibility:visible; transform:none; }
/* Third level: right chevron on items that open a flyout (desktop) */
@media (min-width: 992px) {
	.ombud-nav .mod-menu__sub li.parent > a { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
	/* is-flip (template.js, only when it wouldn't fit): dropdown aligns right, flyout opens to the left */
	.ombud-nav .mod-menu > li.is-flip > .mod-menu__sub { left:auto; right:0; }
	.ombud-nav .mod-menu__sub li.is-flip > .mod-menu__sub { left:auto; right:100%; }
	.ombud-nav .mod-menu__sub li.parent > a::after {
		content:""; flex:none; width:.4em; height:.4em; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
		transform:rotate(-45deg); opacity:.6; }
	.ombud-nav .mod-menu__sub li.parent.is-flip > a::after { transform:rotate(135deg); }
}

.ombud-nav__toggle { display:none; background:none; border:0; padding:.7rem 0; cursor:pointer; margin-left:auto; }
.ombud-nav__toggle span { display:block; width:26px; height:2px; background:#fff; margin:5px 0; }

/* ---------- Hero carousel (Phase T4) ---------- */
.ombud-hero { background: var(--ombud-bg-alt); }
.ombud-hero .ombud-carousel__img { width:100%; height:440px; object-fit:cover; object-position:center; }
.ombud-carousel .carousel-indicators [data-bs-target] { width:12px; height:12px; border-radius:50%; margin-inline:5px; }
.ombud-carousel .carousel-control-prev, .ombud-carousel .carousel-control-next { width:6%; opacity:.85; }
@media (max-width: 767.98px) {
	.ombud-hero .ombud-carousel__img { height:240px; }
}

/* ---------- Breadcrumbs ---------- */
.ombud-breadcrumbs { background: var(--ombud-bg-alt); border-bottom:1px solid var(--ombud-border); font-size:.875rem; }
.ombud-breadcrumbs .container { padding-block:.6rem; }
.ombud-breadcrumbs ol { margin:0; padding:0; }

/* ---------- Main ---------- */
.ombud-main { padding-block: 2.25rem; }
.ombud-main .row > * { min-width: 0; }
.ombud-content, .ombud-sidebar { min-width: 0; overflow-wrap: anywhere; }

/* ---------- Sidebar cards (module chrome "card") ---------- */
.ombud-sidebar .card,
.ombud-sidebar .moduletable {
	background: var(--ombud-bg); border:1px solid var(--ombud-border);
	border-radius: var(--ombud-radius); box-shadow: var(--ombud-shadow);
	margin-bottom: 1rem; overflow:hidden;
}
.ombud-sidebar { font-size:.875rem; }
/* editor content uses h4/h5 for the promo boxes — keep them compact */
.ombud-sidebar h4 { font-size:1.05rem; margin:0; line-height:1.3; }
.ombud-sidebar h5 { font-size:.95rem; margin:0; line-height:1.35; }
.ombud-sidebar p { margin:0 0 .4rem; }
.ombud-sidebar p:last-child { margin-bottom:0; }
.ombud-sidebar .card-header,
.ombud-sidebar .moduletable > h3 {
	background: var(--ombud-bg-alt); border-bottom:2px solid var(--ombud-primary);
	margin:0; padding:.7rem 1rem; font-size:1rem; color: var(--ombud-ink);
}
.ombud-sidebar .card-body,
.ombud-sidebar .moduletable > *:not(h3) { padding: .6rem .9rem; }
.ombud-sidebar ul { list-style:none; margin:0; padding:0; }
.ombud-sidebar li { border-bottom:1px solid var(--ombud-border); }
.ombud-sidebar li:last-child { border-bottom:0; }
.ombud-sidebar li a { display:block; padding:.35rem 0; color:var(--ombud-text); }
.ombud-sidebar li a:hover { color:var(--ombud-primary); text-decoration:none; }

/* ---------- Footer ---------- */
.ombud-footer { margin-top: 2.5rem; }
.ombud-footer__cols { background: var(--ombud-bg-dark); color:#c4cad1; padding-block: 2.25rem; }
.ombud-footer__cols h3 { color:#fff; font-size:1.05rem; margin-bottom:1rem; }
.ombud-footer__cols a { color:#c4cad1; }
.ombud-footer__cols a:hover { color:#fff; }
.ombud-footer__cols ul { list-style:none; margin:0; padding:0; }
.ombud-footer__cols li { padding:.25rem 0; }
.ombud-footer__bar { background:#12161a; color:#8a9199; padding-block:1rem; }
.ombud-footer__bar .container { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.ombud-copyright { margin:0; font-size:.85rem; }

/* ---------- Back to top ---------- */
.ombud-backtotop {
	position:fixed; right:1.25rem; bottom:1.25rem; z-index:1000;
	width:44px; height:44px; border-radius:50%; border:0;
	background:var(--ombud-primary); color:#fff; font-size:1.25rem; cursor:pointer;
	box-shadow:var(--ombud-shadow-hover); opacity:0; visibility:hidden; transition:opacity .2s;
}
.ombud-backtotop.is-visible { opacity:1; visibility:visible; }

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
	.ombud-nav .container { flex-direction:column; align-items:stretch; padding-inline:1rem; }
	.ombud-nav__toggle { display:block; align-self:flex-end; }
	.ombud-nav__menu { display:none; width:100%; }
	.ombud-nav__menu.is-open { display:block; }
	.ombud-nav .mod-menu { flex-direction:column; }
	.ombud-nav .mod-menu > li > a { padding-inline:0; }
	.ombud-nav .mod-menu__sub {
		position:static; opacity:1; visibility:visible; transform:none;
		box-shadow:none; border-top:0; background:rgba(0,0,0,.15); padding-left:1rem;
	}
	.ombud-nav .mod-menu__sub a { color:#fff; }
	.ombud-nav .mod-menu__sub a:hover { background:rgba(0,0,0,.15); color:#fff; }
	.ombud-header__row { flex-wrap:wrap; }
	.ombud-header__search { min-width:100%; max-width:none; }
	.ombud-header__search .awesomplete { display:block; }
}


/* ============================================================
   Phase T5 — home content sections (section heads, tiles, news cards)
   ============================================================ */

/* Section headings */
.ombud-section-head { margin:0 0 1.25rem; }
.ombud-section-head h2 { font-size:1.55rem; margin:0; position:relative; padding-bottom:.55rem; }
.ombud-section-head h2::after { content:""; position:absolute; left:0; bottom:0; width:64px; height:3px; background:var(--ombud-primary); }

/* Quick-links tiles */
.ombud-quicklinks { padding:1.75rem 0; background:var(--ombud-bg); border-bottom:1px solid var(--ombud-border); }
.ombud-tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; }
.ombud-tile { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:1rem 1.2rem;
	background:var(--ombud-bg-alt); border:1px solid var(--ombud-border); border-left:4px solid var(--ombud-primary);
	border-radius:var(--ombud-radius); color:var(--ombud-ink); font-weight:700;
	transition:box-shadow .15s, transform .15s, border-color .15s, color .15s; }
.ombud-tile:hover { text-decoration:none; box-shadow:var(--ombud-shadow-hover); transform:translateY(-2px);
	border-left-color:var(--ombud-orange); color:var(--ombud-primary); }
.ombud-tile__arrow { color:var(--ombud-primary); font-size:1.1rem; }

/* News cards (home) */
.ombud-card { display:flex; flex-direction:column; height:100%; background:var(--ombud-bg);
	border:1px solid var(--ombud-border); border-radius:var(--ombud-radius-lg); overflow:hidden;
	box-shadow:var(--ombud-shadow); transition:box-shadow .15s, transform .15s; }
.ombud-card:hover { box-shadow:var(--ombud-shadow-hover); transform:translateY(-3px); }
.ombud-card__media { display:block; aspect-ratio:16/9; overflow:hidden; background:var(--ombud-bg-alt); }
.ombud-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.ombud-card:hover .ombud-card__media img { transform:scale(1.05); }
.ombud-card__media--placeholder { display:block; width:100%; height:100%;
	background:linear-gradient(135deg,var(--ombud-primary),var(--ombud-primary-dark)); opacity:.14; }
.ombud-card__body { padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:.45rem; flex:1; }
.ombud-card__date { font-size:.8rem; color:var(--ombud-faint); text-transform:uppercase; letter-spacing:.03em; }
.ombud-card__title { font-size:1.08rem; line-height:1.35; margin:0; }
.ombud-card__title a { color:var(--ombud-ink); }
.ombud-card__title a:hover { color:var(--ombud-primary); text-decoration:none; }
.ombud-card__excerpt { font-size:.92rem; color:var(--ombud-muted); margin:0; }
.ombud-home-news__more { list-style:none; margin:1.5rem 0 0; padding:0;
	display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:.2rem 1.5rem; }
.ombud-home-news__more li { border-bottom:1px solid var(--ombud-border); }
.ombud-home-news__more a { display:block; padding:.5rem 0; color:var(--ombud-text); }
.ombud-home-news__more a:hover { color:var(--ombud-primary); text-decoration:none; }

/* Pagination */
.ombud-pagination { margin-top:1.5rem; }
.ombud-pagination .pagination { display:flex; gap:.25rem; list-style:none; padding:0; flex-wrap:wrap; }
.ombud-pagination .page-link {
	display:flex; align-items:center; justify-content:center; min-width:2.4rem; height:2.4rem;
	padding:0 .7rem; border:1px solid var(--ombud-border);
	border-radius:var(--ombud-radius); color:var(--ombud-text); line-height:1;
	margin:0; background:var(--ombud-bg); font-size:.9rem; }
.ombud-pagination .page-link [class^="icon-"] { font-size:.75rem; }
.ombud-pagination a.page-link:hover { border-color:var(--ombud-primary); color:var(--ombud-primary); background:var(--ombud-bg); }
.ombud-pagination .disabled .page-link { color:var(--ombud-faint); opacity:.5; background:var(--ombud-bg); }
.ombud-pagination .active .page-link { background:var(--ombud-primary); color:#fff; border-color:var(--ombud-primary); }

/* Text-only news cards (no intro image) */
.ombud-card--noimg { border-top:3px solid var(--ombud-primary); }
.ombud-card--noimg .ombud-card__body { padding-top:1.1rem; }
.ombud-card--noimg .ombud-card__excerpt { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:11; line-clamp:11; overflow:hidden; }

/* ============================================================
   Phase T6 — inner pages (article view, attachments, single sidebar)
   ============================================================ */

/* Article / inner content */
.ombud-content .page-header h1, .ombud-content .page-header h2,
.ombud-content .item-page > h1, .ombud-content .item-page > h2 { font-size:1.95rem; margin:0 0 1rem; }
.ombud-content .article-info, .ombud-content .item-page .article-info {
	color:var(--ombud-faint); font-size:.85rem; margin:0 0 1.25rem; padding:0 0 .75rem;
	border-bottom:1px solid var(--ombud-border); list-style:none; display:flex; gap:1.25rem; flex-wrap:wrap; }
.ombud-content .item-page { max-width:100%; }
.ombud-content p { margin:0 0 1rem; }
.ombud-content h2, .ombud-content h3 { margin-top:1.6rem; }
.ombud-content img { border-radius:var(--ombud-radius); }
/* Article + category-blog images: 300px thumbnail floated left, click opens full size (template.js) — as on the old site.
   Linked images (PDF covers, banners) are left alone. Same rules in editor.css so the editor shows what the site shows.
   The editor's align buttons put the alignment on the <img> (inline float / auto margins) — also when it sits in a
   <figure>, which then follows its image. Classes: align-right / align-center (TinyMCE), pull-right, float-end, mx-auto. */
:is(.com-content-article__body, .blog-item) img:not(a img):not(figure img),
:is(.com-content-article__body, .blog-item) figure { float:left; width:300px; max-width:100%; margin:.3rem 1.25rem 1rem 0; }
:is(.com-content-article__body, .blog-item) figure img { display:block; width:100%; height:auto; float:none !important; margin:0 !important; }
:is(.com-content-article__body, .blog-item) :is(img:not(figure img), figure):is([style*="float: right"], [style*="float:right"], .align-right, .pull-right, .float-end),
:is(.com-content-article__body, .blog-item) figure:has(> img:is([style*="float: right"], [style*="float:right"])) {
	float:right; margin:.3rem 0 1rem 1.25rem; }
:is(.com-content-article__body, .blog-item) figure:has(> img:is([style*="float: left"], [style*="float:left"])) {
	float:left; margin:.3rem 1.25rem 1rem 0; }
:is(.com-content-article__body, .blog-item) :is(img:not(figure img), figure):is([style*="margin-left: auto"], .align-center, .mx-auto),
:is(.com-content-article__body, .blog-item) figure:has(> img[style*="margin-left: auto"]) {
	float:none; display:block; margin:.3rem auto 1rem; }
:is(.com-content-article__body, .blog-item) figcaption { font-size:.85rem; color:var(--ombud-faint); margin-top:.35rem; }
:is(.com-content-article__body, .blog-item) img:not(a img) { cursor:zoom-in; }
.blog-item { display:flow-root; } /* each item contains its floated image */
/* Description + author (template.js) over the bottom of the image on hover; below it on touch screens */
.ombud-fig { position:relative; }
:is(.com-content-article__body, .blog-item) .ombud-fig figcaption {
	position:absolute; left:0; right:0; bottom:0; margin:0; padding:1.75rem .75rem .6rem;
	background:linear-gradient(transparent, rgba(0,0,0,.82)); color:#fff; font-size:.8rem; line-height:1.35;
	border-radius:0 0 var(--ombud-radius) var(--ombud-radius); opacity:0; transition:opacity .2s; pointer-events:none; }
.ombud-fig:is(:hover, :focus-within) figcaption { opacity:1; }
.ombud-imgcap__author { display:block; font-size:.8em; opacity:.85; margin-top:.15rem; }
@media (hover:none) {
	:is(.com-content-article__body, .blog-item) .ombud-fig figcaption {
		position:static; opacity:1; padding:.35rem 0 0; background:none; color:var(--ombud-faint); }
}
/* Lightbox (template.js): full screen — image, caption, and for galleries arrows + a thumbnail row */
.ombud-lightbox { width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0;
	background:#0b0d0f; color:#fff; overflow:hidden; }
.ombud-lightbox[open] { display:flex; flex-direction:column; }
.ombud-lightbox::backdrop { background:rgba(0,0,0,.96); }
.ombud-lightbox figure { flex:1; min-height:0; display:flex; flex-direction:column; margin:0; }
.ombud-lightbox__stage { position:relative; flex:1; min-height:0; display:flex; align-items:center; justify-content:center;
	padding:3.75rem 4.5rem .5rem; }
.ombud-lightbox__stage img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:0; }
.ombud-lightbox:not(.is-gallery) .ombud-lightbox__stage img { cursor:zoom-out; }
.ombud-lightbox figcaption { flex:none; width:100%; max-width:60rem; margin:0 auto; padding:.6rem 1rem .9rem;
	font-size:1rem; line-height:1.45; text-align:center; }
.ombud-lightbox figcaption[hidden] { display:none; }
.ombud-lightbox .ombud-imgcap__author { margin-top:.3rem; font-size:.875rem; opacity:.75; }
.ombud-lightbox__count { display:block; margin-bottom:.2rem; font-size:.8rem; letter-spacing:.04em; opacity:.6; }
.ombud-lightbox__close, .ombud-lightbox__nav {
	position:absolute; z-index:1; display:flex; align-items:center; justify-content:center; width:2.75rem; height:2.75rem; padding:0;
	border:0; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; font-size:1.9rem; line-height:1; cursor:pointer;
	transition:background-color .15s; }
.ombud-lightbox__close { position:fixed; top:.75rem; right:.75rem; font-size:1.75rem; }
.ombud-lightbox__nav { top:50%; margin-top:-1.375rem; padding-bottom:.2rem; }
.ombud-lightbox__nav--prev { left:1rem; }
.ombud-lightbox__nav--next { right:1rem; }
.ombud-lightbox:not(.is-gallery) .ombud-lightbox__nav { display:none; }
.ombud-lightbox__close:hover, .ombud-lightbox__nav:hover { background:var(--ombud-primary); }
.ombud-lightbox :focus-visible { outline:2px solid var(--ombud-orange); outline-offset:2px; }
.ombud-lightbox__thumbs { flex:none; display:flex; gap:.5rem; margin:0; padding:.25rem 1rem 1rem; list-style:none;
	overflow-x:auto; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.3) transparent; }
.ombud-lightbox__thumbs:empty { display:none; }
.ombud-lightbox__thumbs li { flex:none; }
.ombud-lightbox__thumbs li:first-child { margin-left:auto; } /* centred while it fits, scrolls when it doesn't */
.ombud-lightbox__thumbs li:last-child { margin-right:auto; }
.ombud-lightbox__thumbs button { display:block; padding:0; border:2px solid transparent; border-radius:4px; background:none;
	opacity:.5; cursor:pointer; transition:opacity .15s, border-color .15s; }
.ombud-lightbox__thumbs button:hover { opacity:.85; }
.ombud-lightbox__thumbs button[aria-current="true"] { opacity:1; border-color:var(--ombud-orange); }
.ombud-lightbox__thumbs img { display:block; width:4.5rem; height:3.25rem; object-fit:cover; border-radius:2px; }

/* Article gallery (layouts/com_content/field/gallery.php): thumbnail strip under the text */
.fields-container:has(> .field-entry.gallery) { margin:0; padding:0; list-style:none; }
.ombud-gallery { clear:both; margin:1.75rem 0 1rem; }
.ombud-gallery__title { display:flex; align-items:center; gap:.5rem; margin:0 0 .9rem; font-size:1.25rem; color:var(--ombud-ink); }
.ombud-gallery__count { padding:.1rem .5rem; border-radius:999px; background:var(--ombud-bg-alt); color:var(--ombud-muted);
	font-size:.8rem; font-weight:600; }
.ombud-gallery__strip { position:relative; }
.ombud-gallery__track { display:flex; gap:.75rem; margin:0; padding:0 0 .5rem; list-style:none; overflow-x:auto;
	scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:var(--ombud-border) transparent; }
.ombud-gallery__track li { flex:none; scroll-snap-align:start; }
.ombud-gallery__thumb { display:block; overflow:hidden; border-radius:var(--ombud-radius); box-shadow:var(--ombud-shadow); cursor:zoom-in; }
.ombud-gallery__thumb img { display:block; width:13.5rem; height:9rem; object-fit:cover; border-radius:0; transition:transform .3s; }
.ombud-gallery__thumb:hover img, .ombud-gallery__thumb:focus-visible img { transform:scale(1.05); }
.ombud-gallery__thumb:focus-visible { outline:2px solid var(--ombud-orange); outline-offset:2px; }
.ombud-gallery__nav { position:absolute; top:calc(50% - .25rem); z-index:1; display:flex; align-items:center; justify-content:center;
	width:2.5rem; height:2.5rem; margin-top:-1.25rem; padding:0 0 .15rem; border:0; border-radius:50%;
	background:var(--ombud-primary); color:#fff; font-size:1.6rem; line-height:1; box-shadow:var(--ombud-shadow-hover); cursor:pointer; }
.ombud-gallery__nav:hover { background:var(--ombud-primary-dark); }
.ombud-gallery__nav[hidden] { display:none; }
.ombud-gallery__nav--prev { left:-.75rem; }
.ombud-gallery__nav--next { right:-.75rem; }
.ombud-content table { width:100%; border-collapse:collapse; margin:1rem 0; }
.ombud-content table td, .ombud-content table th { border:1px solid var(--ombud-border); padding:.5rem .7rem; }

/* Attachments (com_attachments) — override the dark theme cleanly */
.attachmentsContainer {
	margin:1.5rem 0; border:1px solid var(--ombud-border); border-radius:var(--ombud-radius);
	overflow:hidden; background:#fff; }
.attachmentsContainer .Attachments, .attachmentsContainer > p:first-child,
.attachmentsContainer .attachmentsList_title {
	background:var(--ombud-bg-alt) !important; border-bottom:2px solid var(--ombud-primary);
	margin:0 !important; padding:.6rem 1rem !important; font-weight:700; color:var(--ombud-ink) !important; }
/* rows render as a table; the dark theme colours the <td> cells — override those */
.attachmentsList, .attachmentsList table { background:#fff !important; }
.attachmentsList tbody tr.odd td,
.attachmentsList tbody tr.even td,
.attachmentsList tbody tr td {
	background-color:#fff !important; color:var(--ombud-text) !important;
	padding:.55rem 1rem !important; border-bottom:1px solid var(--ombud-border) !important; }
.attachmentsList tbody tr.even td { background-color:var(--ombud-bg-alt) !important; }
.attachmentsList a { color:var(--ombud-primary) !important; font-weight:600; }
.attachmentsList a:hover { color:var(--ombud-primary-dark) !important; text-decoration:underline; }
.attachmentsList .attachmentsAdditionalInfo, .attachmentsList .file_size,
.attachmentsList .attachmentsModificationDate { color:var(--ombud-faint) !important; font-weight:400; }

/* Breadcrumbs polish */
.ombud-breadcrumbs .breadcrumb { display:flex; flex-wrap:wrap; gap:.25rem .5rem; margin:0; padding:0; list-style:none; }
.ombud-breadcrumbs .breadcrumb li { color:var(--ombud-muted); }
.ombud-breadcrumbs a { color:var(--ombud-primary); }

/* ============================================================
   Phase T7 — footer polish
   ============================================================ */
.ombud-footer__cols .moduletable { margin-bottom:1rem; }
.ombud-footer__cols h3 { font-size:1.05rem; color:#fff; margin:0 0 .9rem; padding-bottom:.5rem; position:relative; }
.ombud-footer__cols h3::after { content:""; position:absolute; left:0; bottom:0; width:40px; height:2px; background:var(--ombud-orange); }
.ombud-footer__cols ul { list-style:none !important; margin:0; padding:0 !important; }
.ombud-footer__cols li { padding:.3rem 0; list-style:none; border:0; }
.ombud-footer__cols img { max-height:60px; width:auto; }
.ombud-footer__cols p { margin:0 0 .5rem; }

/* ============================================================
   Phase T8 — QA / mobile fixes
   ============================================================ */
@media (max-width: 991.98px) {
	/* make the mobile nav bar obviously tappable */
	.ombud-nav .container { padding-block:.4rem; }
	/* label left, three stacked bars right; bars turn into an X when open */
	.ombud-nav__toggle { display:grid; grid-template-columns:auto 28px; justify-items:center; align-items:center; column-gap:.6rem; row-gap:6px; padding:.6rem .25rem; overflow:visible; }
	.ombud-nav__toggle::after { content:"Мени"; grid-column:1; grid-row:1 / 4; justify-self:end; color:#fff; font-weight:600; font-size:.95rem; }
	.ombud-nav__toggle span { grid-column:2; width:24px; margin:0; border-radius:1px; transition:transform .2s, opacity .2s; }
	.ombud-nav__toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
	.ombud-nav__toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
	.ombud-nav__toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
}
@media (max-width: 575.98px) {
	.ombud-tiles { grid-template-columns:1fr; }         /* one tile per row */
	.ombud-home-news__more { grid-template-columns:1fr; }
	.ombud-brand__logo { height:48px; }
	.ombud-brand__name { font-size:1.1rem; }
}

/* Branded default news thumbnail (articles without a body photo) */

/* ============================================================
   Mobile rework — everything below is max-width only; desktop untouched
   ============================================================ */
@media (max-width: 991.98px) {
	/* collapsible submenus (toggle buttons injected by template.js) */
	.ombud-nav .mod-menu li.parent { display:flex; flex-wrap:wrap; align-items:stretch; }
	.ombud-nav .mod-menu li.parent > a,
	.ombud-nav .mod-menu li.parent > span { flex:1; }
	.ombud-nav .mod-menu li.parent > .mod-menu__sub { display:none; flex-basis:100%; }
	.ombud-nav .mod-menu li.parent.is-open > .mod-menu__sub { display:block; }
	.ombud-nav__sub-toggle { width:48px; background:none; border:0; color:#fff; cursor:pointer; }
	.ombud-nav__sub-toggle::before { content:""; display:inline-block; width:.5em; height:.5em;
		border-right:2px solid currentColor; border-bottom:2px solid currentColor;
		transform:translateY(-.15em) rotate(45deg); transition:transform .2s; }
	.ombud-nav .is-open > .ombud-nav__sub-toggle::before { transform:translateY(.1em) rotate(225deg); }
	.ombud-nav .mod-menu > li { border-bottom:1px solid rgba(255,255,255,.12); }
	.ombud-nav .mod-menu > li > a,
	.ombud-nav .mod-menu > li > span { padding-block:.8rem; font-size:1rem; }
	.ombud-nav .mod-menu__sub a { padding-block:.7rem; font-size:1rem; }
}

@media (max-width: 767.98px) {
	/* topbar + header */
	.ombud-topbar__inner { min-height:44px; }
	.ombud-script-toggle a { display:inline-block; padding:.6rem .5rem; font-size:.95rem; }
	.ombud-header__row { padding:.75rem 0; gap:.75rem; }
	.ombud-header__search input[type="text"],
	.ombud-header__search input[type="search"] { font-size:1rem; padding-block:.7rem; } /* 16px stops iOS zoom-on-focus */

	/* hero */
	.ombud-carousel .carousel-control-prev, .ombud-carousel .carousel-control-next { display:none; }

	/* main + headings */
	.ombud-main { padding-block:1.5rem; }
	.ombud-section-head h2 { font-size:1.4rem; }
	.ombud-content .page-header h1, .ombud-content .page-header h2,
	.ombud-content .item-page > h1, .ombud-content .item-page > h2 { font-size:1.55rem; }

	/* article body: editor inline "justify" leaves huge gaps on narrow screens */
	.ombud-content [style*="justify"] { text-align:left !important; }
	.ombud-content { font-size:1.0625rem; }
	/* article images: no float on phones — full width above the text */
	:is(.com-content-article__body, .blog-item) img:not(a img):not(figure img),
	:is(.com-content-article__body, .blog-item) figure { float:none !important; width:auto; margin:0 0 1rem !important; }
	/* lightbox: image edge to edge, smaller arrows over it; gallery strip: smaller thumbnails, swipe only */
	.ombud-lightbox__stage { padding:3.75rem 0 .5rem; }
	.ombud-lightbox__nav { width:2.25rem; height:2.25rem; margin-top:-1.125rem; font-size:1.5rem; background:rgba(0,0,0,.45); }
	.ombud-lightbox__nav--prev { left:.4rem; }
	.ombud-lightbox__nav--next { right:.4rem; }
	.ombud-lightbox figcaption { font-size:.95rem; }
	.ombud-lightbox__thumbs img { width:3.5rem; height:2.6rem; }
	.ombud-gallery__thumb img { width:10.5rem; height:7.25rem; }
	.ombud-gallery__nav { display:none; }

	/* wide tables scroll inside their box instead of past the screen */
	.ombud-content table { display:block; overflow-x:auto; }
	/* attachments: the plugin forces min-width:720px + side-scroll; let columns wrap instead */
	.ombud-content .attachmentsList table { display:table; min-width:0; }
	.ombud-content .attachmentsList td { overflow-wrap:anywhere; }

	/* news cards: shorter previews */
	.ombud-card__title { font-size:1.15rem; }
	.ombud-card__excerpt { font-size:1rem; }
	.ombud-card--noimg .ombud-card__excerpt { -webkit-line-clamp:4; line-clamp:4; }

	/* sidebar: readable size + tappable rows */
	.ombud-sidebar { font-size:1rem; }
	.ombud-sidebar li a { padding:.65rem 0; }

	/* pagination: wrap, big targets */
	.ombud-content .pagination { flex-wrap:wrap; justify-content:center; gap:.25rem; }
	.ombud-content .page-link { min-width:2.75rem; height:2.75rem; display:flex; align-items:center; justify-content:center; }

	/* footer */
	.ombud-footer__cols li { padding:.5rem 0; }
	.ombud-footer__bar .container { flex-direction:column; text-align:center; }
}
@media (min-width: 992px) { .ombud-nav__sub-toggle { display:none; } }
