/*
Theme Name: Sirius
Theme URI: https://github.com/strumpfonja/web
Author: strumpfonja
Description: Blok tema za Odred izviđača „Sirius” iz Varaždina: prirodni zeleni tonovi, planinski rez između slika i sadržaja, noćni logor sa šatorima i logorskom vatrom u podnožju, kalendar aktivnosti, galerija i dokumenti.
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
Version: 0.1.43
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sirius
Tags: block-patterns, full-site-editing, wide-blocks, accessibility-ready
*/

/* ------------------------------------------------------------------ base */

:where(.wp-site-blocks) *:focus-visible {
	outline: 3px solid var(--wp--preset--color--ember);
	outline-offset: 3px;
}

.wp-site-blocks > main,
.wp-site-blocks > footer.wp-block-template-part {
	margin-block-start: 0;
}

/* ---------------------------------------------------------------- header */

/*
 * The header floats over the hero image (every template starts with a dark hero):
 * transparent with light text at the top, forest green once the page is scrolled
 * (body.sirius-scrolled, set by a tiny script in functions.php).
 */
:root {
	--sirius-header-h: 84px;
}
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 60;
	margin-bottom: calc(-1 * var(--sirius-header-h));
}
body.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: var(--wp-admin--admin-bar--height, 32px);
}
/* Keep hero content clear of the floating header. */
.wp-site-blocks > main > :first-child {
	padding-top: calc(var(--sirius-header-h) + var(--wp--preset--spacing--50)) !important;
}
.sirius-header {
	background: linear-gradient(to bottom, rgb(14 22 30 / 0.6), rgb(14 22 30 / 0));
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.sirius-scrolled .sirius-header,
.error404 .sirius-header,
.sirius-header:has(.is-menu-open) {
	background: var(--wp--preset--color--forest);
	box-shadow: 0 6px 20px rgb(14 22 30 / 0.25);
}
/* No hero on 404: header does not overlap the content there. */
.error404 .wp-site-blocks > header.wp-block-template-part { margin-bottom: 0; }
.error404 .wp-site-blocks > main > :first-child { padding-top: var(--wp--preset--spacing--70) !important; }

/* Light text on the header */
.sirius-header .wp-block-navigation-item__content,
.sirius-header .wp-block-navigation__submenu-icon,
.sirius-header .wp-block-navigation__responsive-container-open,
.sirius-header .wp-block-navigation__responsive-container-close,
.sirius-header .wp-block-site-title a {
	color: var(--wp--preset--color--base) !important;
}
.sirius-header .wp-block-navigation-item__content:hover,
.sirius-header .wp-block-navigation-item__content:focus {
	color: var(--wp--preset--color--ember) !important;
}
/* Desktop dropdowns stay light cards with dark links. */
.sirius-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--wp--preset--color--forest) !important;
}
.sirius-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--campfire) !important;
}
/* Mobile overlay menu: forest green with light links. */
.sirius-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--forest) !important;
	color: var(--wp--preset--color--base) !important;
}
.sirius-header .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	box-shadow: none !important;
}
.sirius-header .is-menu-open .wp-block-navigation-item__content,
.sirius-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--wp--preset--color--base) !important;
}
.sirius-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	opacity: 0.85;
}

.sirius-brand {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	text-decoration: none;
	color: var(--wp--preset--color--base);
	text-shadow: 0 1px 8px rgb(0 0 0 / 0.25);
}
.sirius-brand__text {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
	font-family: var(--wp--preset--font-family--heading);
}
.sirius-brand__small {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ember);
}
.sirius-brand__name {
	font-size: 1.45rem;
	font-weight: 700;
}
.sirius-emblem {
	flex: none;
	display: block;
}
.wp-block-navigation .wp-block-navigation__submenu-container {
	border: 0 !important;
	border-radius: 10px;
	padding: 0.4rem 0;
	box-shadow: 0 10px 30px rgb(20 32 43 / 0.16);
	background: var(--wp--preset--color--base-2) !important;
}

/* ------------------------------------------------- header on phones */

@media (max-width: 600px) {
	.sirius-header { padding-top: 0.55rem !important; padding-bottom: 0.55rem !important; }
	.sirius-header > .wp-block-group > .wp-block-group { gap: 0.6rem !important; }
	.sirius-header .wp-block-site-logo img { width: 40px !important; height: auto; }
	.sirius-header .wp-block-site-title { font-size: 1rem !important; line-height: 1.15; }
	.sirius-header .wp-block-button__link {
		padding: 0.42rem 0.8rem !important;
		font-size: 0.85rem !important;
		white-space: nowrap;
	}
}
@media (max-width: 420px) {
	/* The round logo already carries the name. */
	.sirius-header .wp-block-site-title { display: none; }
}

/* Mobile overlay menu: compact, left-aligned list with thin dividers */
.sirius-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1rem 1.25rem 2rem !important;
}
.sirius-header .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 2.75rem !important;
	align-items: stretch !important;
}
.sirius-header .is-menu-open .wp-block-navigation__container,
.sirius-header .is-menu-open .wp-block-navigation__submenu-container {
	gap: 0 !important;
	align-items: stretch !important;
	width: 100%;
}
.sirius-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid rgb(246 242 231 / 0.14);
}
.sirius-header .is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.7rem 0.25rem !important;
	font-size: 1.12rem;
	font-weight: 600;
	text-align: left;
}
.sirius-header .is-menu-open .wp-block-navigation__submenu-container {
	padding: 0 0 0.5rem 0.9rem !important;
	margin: 0 !important;
	border-left: 2px solid var(--wp--preset--color--ember) !important;
}
.sirius-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.38rem 0.25rem !important;
	font-size: 0.98rem;
	font-weight: 500;
}
.sirius-header .is-menu-open .wp-block-navigation__submenu-icon { display: none; }

/* ------------------------------------------------- mountain cut ("planinski rez") */

.is-style-planinski-rez {
	--sirius-cut-color: var(--wp--preset--color--base);
	--sirius-cut-height: clamp(46px, 7.5vw, 112px);
	/* Back layer is never shallower than the SVG's own aspect (200/2400 = 8.33vw),
	   otherwise "slice" would crop the tops of the tallest pines. */
	--sirius-back-height: max(calc(var(--sirius-cut-height) * 1.3), 8.4vw);
	/* Back layer: misty hills and pine clusters, light sage on top fading into forest green. */
	--sirius-cut-back: linear-gradient(to bottom, rgb(169 187 160 / 0.85), rgb(31 61 43 / 0.97));
	position: relative;
	padding-bottom: calc(var(--sirius-back-height) + var(--wp--preset--spacing--40)) !important;
	overflow: hidden;
}
/* Layers: ::before = hills + pines (taller), ::after = meadow + tent in the section's color.
   Both SVGs use preserveAspectRatio="xMidYMax slice": never stretched, sides crop on narrow screens. */
.is-style-planinski-rez::before,
.is-style-planinski-rez::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	pointer-events: none;
}
.is-style-planinski-rez::before {
	height: var(--sirius-back-height);
	background: var(--sirius-cut-back);
	-webkit-mask: url(assets/divider-back.svg) bottom / 100% 100% no-repeat;
	mask: url(assets/divider-back.svg) bottom / 100% 100% no-repeat;
	z-index: 2;
}
.is-style-planinski-rez::after {
	height: var(--sirius-cut-height);
	background: var(--sirius-cut-color);
	-webkit-mask: url(assets/divider-front.svg) bottom / 100% 100% no-repeat;
	mask: url(assets/divider-front.svg) bottom / 100% 100% no-repeat;
	z-index: 3;
}
/* Front-page hero only: six distant scouts on the main crest signal S-I-R-I-U-S in semaphore,
   and four green camp tents stand on the meadow. The tents image is both painted (background)
   and used as an extra mask layer, so it shows in its own colors. */
.sirius-hero.is-style-planinski-rez::before {
	background: url(assets/divider-tents.svg) bottom / 100% 100% no-repeat, var(--sirius-cut-back);
	-webkit-mask: url(assets/divider-back.svg) bottom / 100% 100% no-repeat, url(assets/divider-semafor.svg) bottom / 100% 100% no-repeat, url(assets/divider-tents.svg) bottom / 100% 100% no-repeat;
	mask: url(assets/divider-back.svg) bottom / 100% 100% no-repeat, url(assets/divider-semafor.svg) bottom / 100% 100% no-repeat, url(assets/divider-tents.svg) bottom / 100% 100% no-repeat;
}
/* Page headers are shorter than the front-page hero: a slightly lower cut.
   No hills/pines layer here: the illustration's own tents and fire stay in one perspective.
   Height and framing stay the same (padding still reserves the back-layer height). */
.sirius-page-hero.is-style-planinski-rez {
	--sirius-cut-height: clamp(40px, 6vw, 90px);
}
.sirius-page-hero.is-style-planinski-rez::before {
	display: none;
}
.is-style-planinski-rez.rez-bijelo { --sirius-cut-color: var(--wp--preset--color--base-2); }
.is-style-planinski-rez.rez-bor { --sirius-cut-color: var(--wp--preset--color--pine-light); }
.is-style-planinski-rez.rez-noc { --sirius-cut-color: var(--wp--preset--color--night); }
.is-style-planinski-rez.rez-suma { --sirius-cut-color: var(--wp--preset--color--forest); }

/* Page headers: the same dusk-camp illustration as the front page, aligned to the bottom
   (the top of the image is cropped, page header height stays as it is). */
.sirius-page-hero {
	background: var(--wp--preset--color--night) url(assets/images/hero.jpg) center bottom / cover no-repeat;
}

/* Front page hero */
.sirius-hero .wp-block-cover__inner-container {
	max-width: var(--wp--style--global--wide-size);
}
.sirius-hero h1 {
	text-shadow: 0 2px 18px rgb(0 0 0 / 0.35);
}

/* Post header: one or two images side by side, sliced by the mountains */
.sirius-post-hero__media {
	display: flex;
	gap: 6px;
	margin-bottom: calc(-1 * (var(--sirius-back-height, 104px) + var(--wp--preset--spacing--40))) !important;
}
.sirius-post-hero__media > * {
	flex: 1 1 0;
	min-width: 0;
	margin: 0 !important;
}
.sirius-post-hero__media img {
	width: 100%;
	height: clamp(220px, 38vw, 520px) !important;
	object-fit: cover;
	display: block;
	border-radius: 14px 14px 0 0;
}

/* ------------------------------------------------- section labels with icons */

.sirius-label,
[class*="is-style-oznaka-"] {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--campfire);
}
[class*="is-style-oznaka-"]::before {
	content: "";
	width: 1.35em;
	height: 1.35em;
	background: currentColor;
	-webkit-mask: var(--sirius-icon) center / contain no-repeat;
	mask: var(--sirius-icon) center / contain no-repeat;
}
.is-style-oznaka-sator { --sirius-icon: url(assets/icons/tent.svg); }
.is-style-oznaka-vatra { --sirius-icon: url(assets/icons/campfire.svg); }
.is-style-oznaka-kompas { --sirius-icon: url(assets/icons/compass.svg); }
.is-style-oznaka-zvijezda { --sirius-icon: url(assets/icons/star.svg); }

/* --------------------------------------------------------------- cards */

.is-style-kartica {
	background: var(--wp--preset--color--base-2);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgb(31 61 43 / 0.06), 0 10px 26px rgb(31 61 43 / 0.08);
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.is-style-kartica:hover {
	transform: translateY(-3px);
	box-shadow: 0 2px 4px rgb(31 61 43 / 0.08), 0 16px 34px rgb(31 61 43 / 0.14);
}

/* Post card media: one or two images */
.sirius-card-media {
	display: flex;
	gap: 3px;
	width: 100%;
	align-self: stretch;
	margin: 0 !important;
}
.sirius-card-media > * {
	flex: 1 1 0;
	min-width: 0;
	margin: 0 !important;
}
.sirius-card-media img {
	width: 100%;
	height: 100% !important;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}
.sirius-card-media:has(> :nth-child(2)) img {
	aspect-ratio: 2 / 3;
}
@supports (aspect-ratio: 1) {
	.sirius-card-media { aspect-ratio: 4 / 3; overflow: hidden; }
	.sirius-card-media img,
	.sirius-card-media:has(> :nth-child(2)) img { aspect-ratio: auto; }
}

/* Activity date tile */
.sirius-date {
	flex: none;
	width: 4.6rem;
	text-align: center;
	border-radius: 10px;
	padding: 0.5rem 0.3rem !important;
	line-height: 1;
}
.sirius-date p { margin: 0; }
.sirius-date__day {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2rem;
	font-weight: 700;
}
.sirius-date__month {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-top: 0.25rem !important;
}

/* Album badge */
.sirius-badge {
	display: inline-block;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	font-size: 0.8rem !important;
	font-weight: 700;
	background: var(--wp--preset--color--pine-light);
	color: var(--wp--preset--color--forest);
}
.sirius-album-card .wp-block-post-featured-image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* --------------------------------------------------------- join CTA tent */

.sirius-join-tent {
	width: min(320px, 85%);
	margin-inline: auto;
}
.sirius-join-tent svg { display: block; width: 100%; height: auto; }
.sirius-join-tent .door {
	fill: var(--wp--preset--color--night);
	transition: fill 0.4s ease, filter 0.4s ease;
}
.sirius-join:hover .sirius-join-tent .door,
.sirius-join:focus-within .sirius-join-tent .door {
	fill: var(--wp--preset--color--ember);
	filter: drop-shadow(0 0 12px rgb(232 163 61 / 0.9));
}

/* ---------------------------------------------------------- documents */

.sirius-docs__group + .sirius-docs__group { margin-top: var(--wp--preset--spacing--60); }
.sirius-docs__title { margin-bottom: 0.2rem; }
.sirius-docs__desc { color: var(--wp--preset--color--muted); margin-top: 0; }
.sirius-docs__list { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: 0.7rem; }
.sirius-doc {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.9rem 1rem;
	background: var(--wp--preset--color--base-2);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgb(31 61 43 / 0.06), 0 6px 16px rgb(31 61 43 / 0.06);
}
.sirius-doc__icon {
	flex: none;
	width: 3rem;
	height: 3.6rem;
	display: grid;
	place-items: end center;
	padding-bottom: 0.45rem;
	border-radius: 6px 16px 6px 6px;
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--base-2);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.sirius-doc__icon[data-ext="pdf"] { background: var(--wp--preset--color--campfire); }
.sirius-doc__icon[data-ext="docx"],
.sirius-doc__icon[data-ext="doc"] { background: #2F5D8A; }
.sirius-doc__body { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.sirius-doc__name { font-size: 1.08rem; color: var(--wp--preset--color--forest); }
.sirius-doc__excerpt { color: var(--wp--preset--color--contrast); font-size: 0.95rem; }
.sirius-doc__meta { color: var(--wp--preset--color--muted); font-size: 0.85rem; }
.sirius-doc__download {
	flex: none;
	padding: 0.5rem 1rem !important;
	font-size: 0.95rem !important;
}
.sirius-doc__soon { color: var(--wp--preset--color--muted); font-style: italic; }
@media (max-width: 600px) {
	.sirius-doc { flex-wrap: wrap; }
	.sirius-doc__download { width: 100%; text-align: center; }
}

/* ------------------------------------------------- footer: night camp */

.sirius-footer {
	position: relative;
}
/* Mountain ridge rising from the page into the night */
.sirius-footer::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(100% - 1px);
	height: clamp(40px, 6vw, 90px);
	background: var(--wp--preset--color--night);
	-webkit-mask: url(assets/divider-hills.svg) bottom / 100% 100% no-repeat;
	mask: url(assets/divider-hills.svg) bottom / 100% 100% no-repeat;
	pointer-events: none;
}
.sirius-camp {
	height: clamp(190px, 22.3vw, 460px);
	margin: 0 calc(-1 * var(--wp--style--root--padding-right, 1rem)) 0 calc(-1 * var(--wp--style--root--padding-left, 1rem)) !important;
	max-width: none !important;
}
.sirius-camp__svg {
	display: block;
	width: 100%;
	height: 100%;
}
.sirius-camp .tw { animation: sirius-twinkle 4.5s ease-in-out infinite; }
.sirius-camp__sirius-star,
.sirius-camp__sirius-glow {
	transform-box: fill-box;
	transform-origin: center;
	animation: sirius-pulse 3.6s ease-in-out infinite;
}
.sirius-camp__flame {
	transform-box: fill-box;
	transform-origin: 50% 100%;
	animation: sirius-flicker 0.9s ease-in-out infinite alternate;
}
.sirius-camp__flame.f2 { animation-duration: 0.7s; animation-delay: -0.3s; }
.sirius-camp__flame.f3 { animation-duration: 0.55s; animation-delay: -0.2s; }
.sirius-camp__fire-glow { animation: sirius-glow 1.8s ease-in-out infinite alternate; }
.sirius-camp__tent-glow { animation: sirius-glow 2.6s ease-in-out infinite alternate; }
.sirius-camp__spark { opacity: 0; animation: sirius-spark 2.6s linear infinite; }
.sirius-camp__spark.s2 { animation-delay: -0.5s; }
.sirius-camp__spark.s3 { animation-delay: -1.1s; }
.sirius-camp__spark.s4 { animation-delay: -1.7s; }
.sirius-camp__spark.s5 { animation-delay: -2.2s; }

@keyframes sirius-twinkle { 0%, 100% { opacity: 0.9; } 50% { opacity: 0.25; } }
@keyframes sirius-pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(0.82); opacity: 0.8; } }
@keyframes sirius-flicker {
	0% { transform: scale(1, 1) skewX(0deg); }
	50% { transform: scale(0.96, 1.1) skewX(2deg); }
	100% { transform: scale(1.03, 0.92) skewX(-2deg); }
}
@keyframes sirius-glow { from { opacity: 0.7; } to { opacity: 1; } }
@keyframes sirius-spark {
	0% { opacity: 0; transform: translate(0, 0); }
	15% { opacity: 1; }
	100% { opacity: 0; transform: translate(6px, -70px); }
}

.sirius-footer a:not(.wp-element-button) { color: inherit; }
.sirius-footer a:not(.wp-element-button):hover { color: var(--wp--preset--color--ember); }
.sirius-footer__legal {
	border-top: 1px solid rgb(246 242 231 / 0.16);
	opacity: 0.8;
}

/* ------------------------------------------------- page headers & pills */

/*
 * Hero text (front page, pages, archives, posts) lines up with the logo: the left edge
 * of the wide area, with the site's side padding on every screen size.
 */
.sirius-hero.wp-block-cover,
.sirius-page-hero.wp-block-cover {
	padding-left: var(--wp--style--root--padding-left) !important;
	padding-right: var(--wp--style--root--padding-right) !important;
}
.sirius-page-hero .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}
.sirius-page-hero .wp-block-cover__inner-container > *,
.sirius-post-hero > :not(.alignwide):not(.alignfull) {
	max-width: 860px !important;
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
	margin-right: auto !important;
}

.sirius-cat-pills {
	list-style: none;
	padding: 0;
	margin: var(--wp--preset--spacing--30) 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.sirius-cat-pills li a {
	display: inline-block;
	padding: 0.3rem 0.9rem;
	border-radius: 999px;
	border: 1.5px solid rgb(246 242 231 / 0.55);
	color: var(--wp--preset--color--base);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
}
.sirius-cat-pills li a:hover,
.sirius-cat-pills li.current-cat a {
	background: var(--wp--preset--color--ember);
	border-color: var(--wp--preset--color--ember);
	color: var(--wp--preset--color--night);
}

/* External album card only when the album has an external link */
.sirius-external:not(:has(.wp-block-button)) { display: none; }

/* --------------------------------------------- structure: družine & units */

.sirius-druzina--ivbuz { --sirius-d: var(--wp--preset--color--moss); }
.sirius-druzina--venera { --sirius-d: #B8862B; }
.sirius-druzina--pozoj { --sirius-d: var(--wp--preset--color--campfire); }
.sirius-druzina--kotoriba { --sirius-d: #2F5D8A; }
.sirius-druzina--orion { --sirius-d: #8E1B22; }
.sirius-druzina--uprava { --sirius-d: var(--wp--preset--color--forest); }

/* Org chart: odred → družine */
.sirius-org { margin-top: var(--wp--preset--spacing--40); }
.sirius-org__root {
	width: fit-content;
	margin-inline: auto !important;
	padding: 0.7rem 1.6rem;
	border-radius: 999px;
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.3rem;
	font-weight: 700;
}
.sirius-org__branches {
	position: relative;
	padding-top: 2.2rem;
	margin-top: 0 !important;
}
.sirius-org__branches::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	height: 1.1rem;
	border-left: 3px solid var(--wp--preset--color--pine-light);
}
.sirius-org__node {
	position: relative;
	padding: 1rem 1.1rem;
	border-radius: 12px;
	background: var(--wp--preset--color--base-2);
	border-top: 5px solid var(--sirius-d);
	box-shadow: 0 1px 2px rgb(31 61 43 / 0.06), 0 8px 20px rgb(31 61 43 / 0.07);
	text-align: center;
}
.sirius-org__node::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 100%;
	height: 1.1rem;
	border-left: 3px solid var(--wp--preset--color--pine-light);
}
@media (min-width: 900px) {
	/* horizontal bar joining the four branches */
	.sirius-org__branches::after {
		content: "";
		position: absolute;
		top: 1.1rem;
		left: 10%;
		right: 10%;
		border-top: 3px solid var(--wp--preset--color--pine-light);
	}
}
.sirius-org__name { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; font-weight: 700; }
.sirius-org__name a { color: var(--sirius-d); text-decoration: none; }
.sirius-org__name a:hover { text-decoration: underline; }
.sirius-org__units { margin: 0.3rem 0 0 !important; font-size: 0.9rem; color: var(--wp--preset--color--muted); }

/* One družina section */
.sirius-druzina {
	scroll-margin-top: 110px;
	padding-top: var(--wp--preset--spacing--50);
	border-top: 3px solid var(--sirius-d);
}
.sirius-druzina__mark {
	flex: none;
	width: 3.6rem;
	height: 3.6rem;
	display: grid;
	place-items: center;
	margin: 0;
	border-radius: 50%;
	background: var(--sirius-d);
	color: var(--wp--preset--color--base-2);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.8rem;
	font-weight: 700;
}
.sirius-druzina__label {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sirius-d);
}
.sirius-druzina h2 { margin: 0; }
.sirius-druzina__facts { list-style: none; padding: 0; }
.sirius-druzina__facts li { padding: 0.35rem 0; border-bottom: 1px solid var(--wp--preset--color--pine-light); }
.sirius-unit { border-top: 4px solid var(--sirius-d); }
.sirius-unit--jato .sirius-badge { background: #FBEBD0; color: var(--wp--preset--color--bark); }
.sirius-unit h3 { margin: 0.2rem 0 0; }
.sirius-unit__meta { color: var(--wp--preset--color--muted); }

/* --------------------------------------------------------- back to top */

.sirius-top {
	position: fixed;
	right: clamp(14px, 2.5vw, 28px);
	bottom: clamp(14px, 2.5vw, 28px);
	z-index: 70;
	width: 3.1rem;
	height: 3.1rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--wp--preset--color--campfire);
	color: var(--wp--preset--color--base-2);
	box-shadow: 0 6px 18px rgb(14 22 30 / 0.3);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background-color 0.2s ease;
}
.sirius-show-top .sirius-top {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.sirius-top:hover,
.sirius-top:focus-visible {
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--ember);
}

/* Flags / emblems next to the družina text */
.sirius-druzina__flag img {
	width: 100%;
	max-width: 320px;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 6px 18px rgb(31 61 43 / 0.15);
}

/* Uprava: cards in the same style as the patrol/jato cards –
   accent top border, photo, role pill, name; equal cards, up to 3 per row. */
#uprava .is-layout-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: var(--wp--preset--spacing--40);
	max-width: 1100px;
}
@media (max-width: 900px) {
	#uprava .is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
	/* Two smaller cards per row on phones */
	#uprava .is-layout-grid { gap: 0.75rem; }
	.sirius-person { padding: 0.7rem 0.7rem 0.9rem !important; gap: 0.4rem; }
	.sirius-person__role { font-size: 0.72rem; padding: 0.15rem 0.55rem; }
	.sirius-person__name { font-size: 1.05rem; }
}
@media (max-width: 340px) {
	#uprava .is-layout-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
.sirius-person {
	display: flex !important;
	flex-direction: column;
	gap: 0.55rem;
	padding: 1.1rem 1.1rem 1.3rem !important;
	border-top: 4px solid var(--sirius-d, var(--wp--preset--color--forest));
}
.sirius-person .sirius-person__photo {
	margin: 0 0 0.35rem !important;
}
.sirius-person .sirius-person__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 30%;
	border-radius: 10px;
}
.sirius-person__role {
	width: fit-content;
	margin: 0 !important;
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	background: var(--wp--preset--color--pine-light);
	color: var(--wp--preset--color--forest);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.4;
}
.sirius-person__name {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--wp--preset--color--forest);
}

/* Uprava section mark: scout fleur-de-lis instead of the star character. */
#uprava .sirius-druzina__mark {
	font-size: 0;
}
#uprava .sirius-druzina__mark::before {
	content: "";
	width: 2.1rem;
	height: 2.1rem;
	background: currentColor;
	-webkit-mask: url(assets/icons/ljiljan.svg) center / contain no-repeat;
	mask: url(assets/icons/ljiljan.svg) center / contain no-repeat;
}

/* Supporters ("Hvala što nas podupirete") as tidy tiles */
.sirius-supporter {
	margin: 0 !important;
	padding: 0.65rem 1.1rem;
	border-radius: 10px;
	background: var(--wp--preset--color--base-2);
	box-shadow: 0 1px 2px rgb(31 61 43 / 0.06), 0 6px 16px rgb(31 61 43 / 0.07);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--wp--preset--color--forest);
}
.sirius-supporter a {
	color: inherit;
	text-decoration: none;
}
.sirius-supporter:has(a):hover {
	box-shadow: 0 2px 4px rgb(31 61 43 / 0.08), 0 10px 22px rgb(31 61 43 / 0.12);
}
.sirius-supporter a:hover {
	color: var(--wp--preset--color--campfire);
}

/* ------------------------------------------------- O odredu: story */

.sirius-lead {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem);
	font-weight: 600;
	line-height: 1.4;
	color: var(--wp--preset--color--forest);
	padding-left: 1.1rem;
	border-left: 5px solid var(--wp--preset--color--ember);
}
.sirius-photo img {
	width: 100%;
	height: auto;
	border-radius: 14px;
	box-shadow: 0 2px 4px rgb(31 61 43 / 0.08), 0 14px 30px rgb(31 61 43 / 0.14);
}
.wp-block-quote.sirius-pullquote {
	margin-block: var(--wp--preset--spacing--60) !important;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) !important;
	border: 0 !important;
	border-radius: 16px;
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--base);
	text-align: center;
}
.wp-block-quote.sirius-pullquote p {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem);
	font-weight: 700;
	line-height: 1.2;
}
.wp-block-quote.sirius-pullquote p::before { content: "„"; color: var(--wp--preset--color--ember); }
.wp-block-quote.sirius-pullquote p::after { content: "”"; color: var(--wp--preset--color--ember); }
.wp-block-quote.sirius-pullquote cite {
	display: block;
	margin-top: 0.6rem;
	font-size: 0.85rem;
	font-style: normal;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ember);
}

/* Timeline: year badges on a vertical line */
.sirius-timeline {
	list-style: none;
	padding: 0 0 0 1.4rem !important;
	margin: var(--wp--preset--spacing--40) 0 !important;
	border-left: 3px solid var(--wp--preset--color--pine-light);
}
.sirius-timeline li {
	position: relative;
	padding: 0.15rem 0 1.1rem 0.6rem;
}
.sirius-timeline li::before {
	content: "";
	position: absolute;
	left: calc(-1.4rem - 9px);
	top: 0.45rem;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	border: 3px solid var(--wp--preset--color--moss);
}
.sirius-timeline li strong {
	display: inline-block;
	min-width: 4.2rem;
	margin-right: 0.5rem;
	padding: 0.05rem 0.55rem;
	border-radius: 999px;
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--heading);
	text-align: center;
}

/* Values */
.sirius-value {
	padding: var(--wp--preset--spacing--40) !important;
	border-top: 4px solid var(--wp--preset--color--ember);
}
.sirius-value p:last-child { margin-bottom: 0; }

/* ------------------------------------------------- 404: lost scout */

.sirius-lost { max-width: 380px; margin: 0 auto; }
.sirius-lost svg { display: block; width: 100%; height: auto; overflow: visible; }
.sirius-lost__needle {
	transform-box: fill-box;
	transform-origin: center;
	animation: sirius-needle 5s ease-in-out infinite;
}
.sirius-lost__head {
	transform-box: fill-box;
	transform-origin: 50% 100%;
	animation: sirius-tilt 4.5s ease-in-out infinite;
}
.sirius-lost__q { animation: sirius-bob 2.4s ease-in-out infinite; }
.sirius-lost__q.q2 { animation-delay: -1.2s; }
@keyframes sirius-needle {
	0% { transform: rotate(-40deg); }
	22% { transform: rotate(38deg); }
	45% { transform: rotate(-15deg); }
	70% { transform: rotate(80deg); }
	85% { transform: rotate(20deg); }
	100% { transform: rotate(-40deg); }
}
@keyframes sirius-tilt {
	0%, 100% { transform: rotate(-9deg); }
	50% { transform: rotate(7deg); }
}
@keyframes sirius-bob {
	0%, 100% { transform: translateY(0); opacity: 1; }
	50% { transform: translateY(-5px); opacity: 0.55; }
}

/* ------------------------------------------------------------ misc */

.wp-block-post-template .wp-block-post-title { margin-top: 0; }
.wp-block-query-pagination { font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
	.sirius-camp *,
	.sirius-join-tent *,
	.sirius-lost *,
	.sirius-top,
	.is-style-kartica,
	.sirius-join-tent .door {
		animation: none !important;
		transition: none !important;
	}
	.sirius-camp__spark { opacity: 0.8; }
	.is-style-kartica:hover { transform: none; }
}
