
		.entry-content h1, .entry-content h2 { font-weight: 700; letter-spacing: -0.02em; }
		.entry-content h3 { font-weight: 700; letter-spacing: -0.01em; }

		/* Gap between the header and the page's first block (the hero card): two thirds of
		   Blocksy's content spacing (60px desktop / 50px phone → 40 / 33). Top only — the
		   same variable also spaces the content from the footer, which stays as it is. */
		#main [data-vertical-spacing*="top"] {
			padding-top: calc(var(--theme-content-vertical-spacing) * 2 / 3);
		}

		.wp-block-button__link {
			background-color: #ff7a00 !important;
			color: #ffffff !important;
			border-color: #ff7a00 !important;
			/* One weight for every button — some blocks carried their own (500/600/700) inline,
			   and thin white text on orange reads poorly. */
			font-weight: 700 !important;
			box-shadow: 0 8px 20px -6px rgba(255,122,0,.5);
			transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
		}
		.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -8px rgba(255,122,0,.6); }
		.wp-block-button__link:active { transform: translateY(0); }

		.entry-content [style*="border-radius:24px"],
		.entry-content [style*="border-radius:32px"] {
			transition: transform .25s ease, box-shadow .25s ease;
		}
		/* The hover lift (here and in bloky.php / blog.php) is for devices with a mouse
		   only: on a touch screen a tap leaves :hover stuck on the touched block, so the
		   block under the finger hopped 4px while scrolling. */
		@media (hover: hover) {
			.entry-content [style*="border-radius:24px"]:hover,
			.entry-content [style*="border-radius:32px"]:hover {
				transform: translateY(-4px);
				box-shadow: 0 16px 32px -12px rgba(16,24,40,.18);
			}
		}

		#header.fz-scrolled { box-shadow: 0 4px 20px -8px rgba(16,24,40,.15); }
		#header { transition: box-shadow .25s ease; }

		/* Blocksy's header grid gives the logo and CTA columns equal (1fr) width, so the
		   centered nav column ends up centered on the whole row rather than in the actual
		   gap between the logo and the buttons — the two aren't the same once the logo and
		   the button group have different widths (they do here: two header CTAs). Let each
		   outer column shrink to its own content instead, so the middle column — and the
		   nav centered inside it — sits truly between them. */
		#header [data-column-set="3"] > div {
			grid-template-columns: auto 1fr auto !important;
			column-gap: 24px;
		}

		/* Between Blocksy's own desktop/mobile header breakpoint (1000px) and ~1500px
		   there isn't reliably enough room for the logo, full nav and both header CTA
		   buttons — the adaptive '+More' collapse doesn't always catch it in time and
		   the logo can end up overlapping the first nav item. Blocksy pre-renders two
		   complete header variants ([data-device="desktop"] / ["mobile"]) and swaps
		   which one is shown at 1000px; push that swap out to 1500px instead of trying
		   to fix the desktop variant's cramped in-between state. */
		@media (min-width: 1000px) and (max-width: 1499.98px) {
			#header [data-device="desktop"] { display: none !important; }
			#header [data-device="mobile"] { display: block !important; }
			/* The mobile variant's own trigger icon is hidden by Blocksy's separate
			   .ct-hidden-lg utility (its own "desktop" cutoff, still 1000px) — show it
			   too, or the swap above just leaves an empty header. */
			#header .ct-hidden-lg { display: block !important; }
			/* The off-canvas panel the trigger opens has the same two variants and
			   Blocksy also switches it at 1000px — the "desktop" one is empty and dark
			   (rgba(18,21,25,.98)). Show the mobile content on the tablet background. */
			#offcanvas [data-device="desktop"] { display: none !important; }
			#offcanvas [data-device="mobile"] { display: flex !important; }
			[data-header*="type-1"] #offcanvas .ct-panel-inner { background-color: rgba(255, 255, 255, 0.98); }
		}

		/* Blocksy shrinks the header logo to a --logo-max-height of 30px between
		   690–999.98px (a leftover 'tablet' tier) before growing it back to 50px below
		   690px — the logo visibly shrinks then grows again while scrolling through
		   that range. 50px already reads fine, so just use it for the whole ≤999.98px
		   span and drop the dip. */
		@media (max-width: 999.98px) {
			[data-header*="type-1"] .ct-header [data-id="logo"] .site-logo-container {
				--logo-max-height: 50px !important;
			}
		}

		/* Menu button = a pill with the three bars and the word 'Menu' (owner's pick
		   2026-10-11, clearer for parents than the bare 18px bars). Blocksy already prints
		   the label inside the button, just hidden on every breakpoint (.ct-hidden-*) —
		   show it and draw the outline. Sized to sit next to the ~35px round 'F' the logo
		   turns into on scroll, and kept compact (~84px wide): the
		   season pill (sezona.php, .fz-lista-pill) has to fit between the two on a phone. */
		[data-header*="type-1"] .ct-header [data-id="trigger"] {
			--theme-icon-size: 18px !important;
			position: relative;
			gap: 6px;
			padding: 7px 11px 7px 10px !important;
			border: 1.5px solid #687279 !important;
			border-radius: 999px !important;
		}
		[data-header*="type-1"] .ct-header [data-id="trigger"] .ct-label {
			display: inline !important;
			font-size: 14px;
			font-weight: 600;
			line-height: 1;
		}
		/* Invisible 7px ring around the pill: taps just beside it still open the menu
		   (the bare icon had no padding and sometimes did not react to a finger). */
		[data-header*="type-1"] .ct-header [data-id="trigger"]::after {
			content: '';
			position: absolute;
			inset: -7px;
		}

		/* Close (×) button of the off-canvas menu panel: Blocksy paints its icon
		   rgba(255,255,255,.7) for its default dark panel, but our panel is white, so the
		   × was invisible (owner 2026-10-25). Dark grey round outline matching the 'Menu'
		   pill, with a bigger tap area. */
		#offcanvas .ct-toggle-close {
			--theme-icon-size: 14px;
			--theme-icon-color: #43474f !important;
			--theme-icon-hover-color: #43474f !important;
			position: relative;
			width: 40px;
			height: 40px;
			border: 1.5px solid #687279 !important;
			border-radius: 999px !important;
		}
		#offcanvas .ct-toggle-close::after {
			content: '';
			position: absolute;
			inset: -6px;
		}

		/* Blocksy paints the sticky (scrolled) header row palette-8 white, which clashes
		   with the page background — match the page instead, with a soft shadow. */
		[data-header*="type-1"] .ct-header [data-sticky*="yes"] [data-row*="middle"] {
			/* A touch of see-through (owner 2026-10-11): 90% of the page colour + a light
			   blur of what scrolls underneath, so the menu stays readable. */
			background-color: color-mix(in srgb, var(--fz-bg) 90%, transparent) !important;
			-webkit-backdrop-filter: blur(10px) !important;
			backdrop-filter: blur(10px) !important;
			--theme-box-shadow: 0px 10px 20px rgba(67,71,79,0.08);
		}

		/* Phones: Blocksy's 88vw content width left ~23px of background on each side, plus each
		   card's own padding — cards now run to 8px from the screen edge (header keeps its
		   own width). Loose text between cards gets the gutter back as padding, and the
		   cards' inner padding is trimmed a bit to match. */
		@media (max-width: 689.98px) {
			.site-main {
				--theme-container-width: calc(100vw - 16px);
				--theme-block-width: calc(100vw - 16px);
			}
			.entry-content > :is(h1, h2, h3, h4, p, ul, ol) {
				padding-left: 16px;
				padding-right: 16px;
			}
			.entry-content :is(.fz-hero-card, .fz-tint-card, .fz-recenzie):not(.fz-blog-card) {
				padding-left: 18px !important;
				padding-right: 18px !important;
			}
		}

		.default-logo {
			transition: opacity .18s ease, transform .18s ease;
			opacity: 1;
			transform: scale(1);
		}
		.default-logo.fz-logo-fading {
			opacity: 0;
			transform: scale(.85);
		}

		.ct-header-cta { display: flex; align-items: center; gap: 8px; }
		.ct-header-cta a.ct-button {
			box-shadow: 0 4px 10px -2px rgba(255,122,0,.55), 0 1px 2px rgba(255,122,0,.3);
			transition: box-shadow .2s ease, transform .15s ease;
		}
		.ct-header-cta a.ct-button:hover { transform: translateY(-1px); }
		.ct-header-cta a.ct-button:active { transform: translateY(0); }
		.fz-header-cta-svp {
			background-color: #1E9E4A !important;
			border-color: #1E9E4A !important;
			color: #ffffff !important;
			box-shadow: 0 4px 10px -2px rgba(30,158,74,.55), 0 1px 2px rgba(30,158,74,.3) !important;
		}
		.fz-header-cta-svp:hover { background-color: #178A3F !important; border-color: #178A3F !important; }

		:root {
			--pastel-1: #FFCCE0;
			--pastel-2: #FFE08A;
			--pastel-3: #D9D2FF;
			--pastel-4: #C6EFA6;
			--pastel-5: #FFC9A3;
			--pastel-6: #B8E8F0;
			--pastel-7: #AEEBD3;
			--fz-bg: #FFFFFF;
			--fz-text: #2E2140;
			--fz-accent: #D92B6B;
		}
		body { background-color: var(--fz-bg) !important; }
		/* Some HTML still carries the old dark text colour inline — Custom HTML blocks on
		   Domov / Tábor / ŠvP (reviews, turnus table…) and a few templates; page blocks use
		   classes since 2026-10-07 (bloky.php). Remap it here. */
		[style*="color:#1f2937"] { color: var(--fz-text) !important; }
		/* …but not on the (forced-orange) buttons — their text stays white. */
		.wp-block-button__link[style*="color:#1f2937"] { color: #ffffff !important; }
		.fz-hero-card, .fz-tint-card {
			--fz-blob-color: var(--pastel-5);
		}
		.fz-hero-red { --fz-blob-color: var(--pastel-5); }
		.fz-hero-orange { --fz-blob-color: var(--pastel-2); }
		.fz-hero-blue { --fz-blob-color: var(--pastel-3); }
		.fz-hero-green { --fz-blob-color: var(--pastel-4); }
		.fz-hero-pink { --fz-blob-color: var(--pastel-1); }
		.fz-hero-sky { --fz-blob-color: var(--pastel-6); }
		.fz-hero-mint { --fz-blob-color: var(--pastel-7); }
		.fz-hero-card, .fz-tint-card {
			background: var(--fz-blob-color);
		}
		.fz-hero-card {
			position: relative;
			overflow: hidden;
		}
		.fz-hero-card > * {
			position: relative;
			z-index: 1;
		}
		/* Single-column hero (below the 1000px two-column layout): the seasonal banner
		   (sezona.php) stretches to the full card width. */
		@media (max-width: 999.98px) {
			.fz-hero-card > .fz-sezona {
				display: block;
				max-width: none !important;
				margin-left: -10px;
				margin-right: -10px;
			}
		}

		/* Modern nav: rounded floating dropdown panels instead of solid color blocks */
		.sub-menu {
			background: #ffffff !important;
			border-radius: 14px !important;
			box-shadow: 0 18px 40px -12px rgba(16,24,40,.18), 0 2px 8px rgba(16,24,40,.06) !important;
			border: 1px solid rgba(16,24,40,.06) !important;
			padding: 8px !important;
		}
		.sub-menu .menu-item {
			border-radius: 9px;
			overflow: hidden;
		}
		.sub-menu a {
			color: #2E2140 !important;
			background: transparent !important;
			border-radius: 9px;
			transition: background-color .15s ease, color .15s ease, padding-left .15s ease;
		}
		.sub-menu .menu-item:hover > a,
		.sub-menu a:hover {
			background: rgba(200,98,63,0.08) !important;
			color: #c8623f !important;
			padding-left: 18px !important;
		}
		.sub-menu .sub-menu {
			margin-top: -8px;
		}

		#header .header-menu-1 > .menu-item > a {
			transition: color .15s ease;
		}
		/* Eight top-level items + logo + two header CTAs: at Blocksy's default 25px item
		   spacing the nav needs ~800px, but the header container caps at 1290px, leaving
		   ~745px — so the last items always fell into the '+More' dropdown, at any window
		   width. Tighter spacing lets the whole menu fit from the 1500px desktop switch up. */
		#header .header-menu-1 {
			--menu-items-spacing: 16px;
		}
		#header .header-menu-1 > .menu-item.current-menu-item > a,
		#header .header-menu-1 > .menu-item:hover > a {
			color: #c8623f !important;
		}

		.entry-content .wp-block-table {
			overflow-x: auto !important;
			-webkit-overflow-scrolling: touch;
			max-width: 100%;
		}
		.entry-content .wp-block-table table {
			margin: 0;
		}
		.entry-content .wp-block-table td,
		.entry-content .wp-block-table th {
			white-space: nowrap;
		}
		.fz-table-scroll-wrap {
			position: relative;
		}
		.fz-table-scroll-hint {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			width: 28px;
			background: linear-gradient(to left, rgba(0,0,0,.12), transparent);
			pointer-events: none;
			transition: opacity .2s ease;
		}
		.fz-table-scroll-hint.fz-hidden {
			opacity: 0;
		}

		.fz-turnusy-grid {
			display: grid;
			grid-template-columns: 1fr;
			gap: 0.75rem;
		}
		@media (min-width: 600px) {
			.fz-turnusy-grid { grid-template-columns: repeat(2, 1fr); }
		}
		@media (min-width: 900px) {
			.fz-turnusy-grid { grid-template-columns: repeat(3, 1fr); }
		}
		.fz-variant-grid {
			display: grid;
			grid-template-columns: 1fr;
			gap: 0.75rem;
		}
		@media (min-width: 600px) {
			.fz-variant-grid { grid-template-columns: repeat(2, 1fr); }
		}
		.fz-turnus-card {
			background: #ffffff;
			border-radius: 14px;
			padding: 1rem 1.25rem;
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1rem;
			box-shadow: 0 2px 8px rgba(16,24,40,.06);
			transition: transform .2s ease, box-shadow .2s ease;
		}
		a.fz-turnus-card {
			color: inherit;
			text-decoration: none;
			cursor: pointer;
		}
		.fz-turnus-card:hover {
			transform: translateY(-3px);
			box-shadow: 0 12px 24px -10px rgba(16,24,40,.18);
		}
		.fz-turnus-name {
			font-weight: 700;
			color: #2E2140;
			margin: 0 0 0.15rem;
		}
		.fz-turnus-meta {
			color: #6b7280;
			font-size: 0.85rem;
			margin: 0;
		}
		.fz-turnus-price {
			font-weight: 700;
			color: #ff7a00;
			font-size: 1.15rem;
			margin: 0;
			white-space: nowrap;
		}
		.fz-turnus-right {
			display: flex;
			flex-direction: column;
			align-items: flex-end;
			gap: 0.35rem;
		}
		.fz-turnus-days {
			display: inline-block;
			background: #fff1e6;
			color: #c8623f;
			font-weight: 700;
			font-size: 0.75rem;
			letter-spacing: 0.02em;
			padding: 0.2rem 0.6rem;
			border-radius: 999px !important;
			white-space: nowrap;
		}

		/* Capacity stickers (kapacita.php) on the turnus cards and in the form (prihlaska.php). */
		.fz-kap {
			display: inline-block;
			background: #fff4d6;
			color: #9a5b00;
			font-weight: 700;
			font-size: 0.75rem;
			line-height: 1.3;
			padding: 0.2rem 0.6rem;
			border-radius: 999px !important;
		}
		.fz-kap-vypredane {
			background: #eceff3;
			color: #475467;
		}
		.fz-turnus-kap {
			margin: 0.4rem 0 0;
		}
		.fz-turnus-card--vypredane {
			opacity: .65;
		}
		.fz-turnus-card--vypredane:hover {
			transform: none;
			box-shadow: 0 2px 8px rgba(16,24,40,.06);
		}

		/* Footer contact-info: the theme's own `li:hover a` rule highlights every link inside
		   a row at once. That's fine when a row holds a single link, but the phone row now
		   stacks three tel: links in one row, so hovering anywhere lit up all three. Cancel
		   the group hover and re-apply it per link instead. */
		.ct-contact-info-block li:hover a {
			color: var(--theme-link-initial-color, inherit) !important;
		}
		.ct-contact-info-block .contact-text a:hover {
			color: var(--theme-link-hover-color, inherit) !important;
		}

		/* Scroll reveal: a block fades in and rises as it enters the viewport. The selector
		   has to outrank the cards' own hover transition (.fz-blok-sekcia { transition:
		   transform .25s … } in bloky.php): with a bare .fz-reveal that later rule won, so
		   the coloured sections had no opacity transition at all — they popped in and
		   hopped instead of fading. The transition sits on the .fz-in state only, so hiding
		   a block on page load is instant (a sliver of it at the bottom edge of the screen
		   would otherwise visibly fade out first). The JS drops both classes once a block
		   is in, which hands the transition back to the quick hover effect. */
		.entry-content > .fz-reveal {
			opacity: 0;
			transform: translateY(28px);
		}
		.entry-content > .fz-reveal.fz-in {
			opacity: 1;
			transform: translateY(0);
			transition: opacity .7s ease, transform .7s ease;
		}

		/* In-page anchor jumps (#program, #cena, #info, #prihlasenie on /letny-tabor/ and
		   /skola-v-prirode/, #turnusy on the homepage, …). The id sits on the <h2>
		   that is the first child of a rounded .fz-tint-card, so a bare jump parked
		   the heading flush under the sticky header and clipped the card's top edge.
		   Offset by the header height plus the card's own top padding plus a gap, so
		   the whole card frame lands just below the header. */
		.entry-content [id],
		.entry-content .wp-block-heading[id] {
			scroll-margin-top: calc(var(--header-height, 90px) + 4rem);
		}
		/* On mobile/tablet the header sits taller (bigger logo tier <=1000px) and the
		   sticky copy overlaps more, so the desktop offset still tucked the heading
		   partly under it — give it more room here. */
		@media (max-width: 1000px) {
			.entry-content [id],
			.entry-content .wp-block-heading[id] {
				scroll-margin-top: calc(var(--header-height, 90px) + 7rem);
			}
		}

		@media (prefers-reduced-motion: reduce) {
			.entry-content > .fz-reveal { opacity: 1; transform: none; transition: none; }
			.wp-block-button__link, .entry-content [style*="border-radius:24px"], .entry-content [style*="border-radius:32px"] {
				transition: none;
			}
		}

		/* /letny-tabor/ 'Fantastické kluby': three portrait windows under the text, thin white
		   frame between them; each window cross-fades through its 3 photos (12s cycle,
		   4s per photo), the windows phase-shifted so they change one after another.
		   Negative delays = every animation is already running at load, so the first
		   photo shows straight away. The incoming photo fades in before the outgoing
		   one fades out, so there's never a see-through moment. Pure CSS.
		   Content: a Custom HTML block on /letny-tabor/ (DEVELOPER.md §3.1). */
		.fz-kluby-okna {
			display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 6px;
			background: #ffffff; border-radius: 18px; max-width: 840px; margin: 0 auto;
		}
		.fz-kluby-okno { position: relative; aspect-ratio: 2 / 3; overflow: hidden; border-radius: 12px; --fz-posun: 0s; }
		.fz-kluby-okno:nth-child(2) { --fz-posun: 1.3s; }
		.fz-kluby-okno:nth-child(3) { --fz-posun: 2.6s; }
		.fz-kluby-okno img {
			position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
			opacity: 0; animation: fz-kluby-prelinanie 12s infinite; --fz-d: 0s;
			animation-delay: calc(var(--fz-d) - var(--fz-posun));
		}
		.fz-kluby-okno img:nth-child(1) { opacity: 1; }
		.fz-kluby-okno img:nth-child(2) { --fz-d: -8s; }
		.fz-kluby-okno img:nth-child(3) { --fz-d: -4s; }
		@keyframes fz-kluby-prelinanie {
			0%, 33.33% { opacity: 1; }
			41.67%, 91.67% { opacity: 0; }
			100% { opacity: 1; }
		}
		@media (prefers-reduced-motion: reduce) {
			.fz-kluby-okno img { animation: none; }
		}
		/* Home hero: the same three windows under the seasonal banner (small copies
		   img/domov-kluby-1…9.webp, 300×450, the 540×810 ones via srcset on tablets;
		   Custom HTML block right after the hero buttons, DEVELOPER.md §3.1).
		   The frame is as large as the banner. Single column: the same width (the banner
		   hangs 10px out of the text on the left). Desktop grid (sezona.php): the banner
		   takes the rows of the pill, h1 and the short perex and sits at their bottom, the
		   windows start beside the long perex — same width, and the height of the
		   open-orders banner (432×234), so the windows are a bit lower than 2:3 there. */
		.fz-kluby-okna.fz-hero-okna { width: auto; max-width: none; margin: 1.25rem 0 0 -10px; }
		/* Home hero lower and denser (owner 2026-10-13): less room at the top, smaller h1,
		   perex the same size as in the other heroes (1.05rem), tighter gaps. The bottom 7.5rem stays — the hills need it. */
		.home .wp-block-group.fz-blok-hero { padding-top: clamp(1.5rem,3vw,2.25rem); }
		.home .fz-blok-hero > p.fz-pill { margin-bottom: 0.75rem; }
		.home .fz-blok-hero h1.wp-block-heading.fz-h1-velky { font-size: clamp(1.9rem,4.4vw,2.75rem); margin-bottom: 0.6rem; }
		.home .fz-blok-hero > p.fz-perex.fz-perex-velky { font-size: 1.05rem; margin-bottom: 0.75rem; }
		@media (min-width: 1000px) {
			.fz-blok-hero.fz-hero-card:has(> .fz-hero-okna) > .fz-sezona { grid-row: 1 / span 3; align-self: end; }
			.fz-blok-hero.fz-hero-card > div.fz-kluby-okna.fz-hero-okna {
				grid-column: 2; grid-row: 4; align-self: start; justify-self: stretch;
				margin: 1.25rem 0 0; transform: rotate(1deg);
				box-sizing: border-box; aspect-ratio: 432 / 234; grid-template-rows: minmax(0, 1fr);
			}
			.fz-hero-okna .fz-kluby-okno { aspect-ratio: auto; }
			/* Lower home hero: the right column (banner + windows) is the taller one now, so
			   the spare room goes above the pill (text roughly centred beside it) instead of
			   between the h1 and the perexes, and the arrow comes from the side — there is
			   no room above the banner any more (hravost.php has it 84px above); under
			   1200px it would cover the pill, so it is hidden there. */
			.home .fz-blok-hero.fz-hero-card:has(> .fz-hero-okna) { grid-template-rows: 1fr auto auto auto; }
			.home .fz-blok-hero.fz-hero-card:has(> .fz-hero-okna) > p.fz-pill { align-self: end; }
			.home .fz-blok-hero.fz-hero-card > .fz-sezona::before { display: none; }
			@media (min-width: 1200px) {
				.home .fz-blok-hero.fz-hero-card > .fz-sezona::before { display: block; top: -30px; left: -108px; }
			}
		}

		/* Contrast 4.5:1 (Lighthouse accessibility, 2026-10-10) — darker shades of the same
		   colours, only where the audit failed: the links under the reviews on the light-blue
		   card (theme orange #FF7400 = 2.0, #c8623f = 3.0 there; the second pair has the colour
		   inline, hence !important), the Google rating link on white, the footer menu. */
		.entry-content .fz-recenzie > p a { color: #9c3f1c !important; }
		.entry-content > p.fz-seda.has-text-align-center a { color: #b8532f; }
		#footer-menu > ul > li > a.ct-menu-link { --theme-link-initial-color: #5c666d; color: #5c666d; }
		/* Plain text links in the content (owner 2026-10-10, variant A): dark text with an
		   orange underline instead of the theme orange #FF7400 (2.7 on white, 2.1 on the tinted
		   cards). The variable only reaches links that take the theme default; links with
		   their own colour keep it, and the second rule gives them back an underline in their
		   own colour (CSS cannot tell the two apart — a new component with its own link colour
		   goes on this list). */
		.entry-content { --theme-link-initial-color: #2E2140; }
		.entry-content a { text-decoration-color: #FF7A00; }
		.entry-content a[style*='color'], .entry-content [style*='color'] > a,
		.entry-content :is(.fz-email-riadok, .fz-popis, .fz-zaujem-suhlas, .fz-svp-suhlas, .fz-kontakty, .fz-gal-vsetky, .fz-tel-male, .fz-recenzie, .fz-blok-cta, .fz-zoznam-tel, .fz-soc) a,
		.entry-content > p.fz-seda.has-text-align-center a { text-decoration-color: currentcolor; }

		/* /miesto/ 'Poloha a dostupnosť': the Google Maps embed is an absolutely
		   positioned <iframe> parked in the empty right column on desktop. Once the
		   columns stack (<=781px, WP core breakpoint) that absolute box stays put and
		   overlaps the text/distance cards. Below the stack point, drop it back into
		   normal flow so it sits full-width under the text. (DEVELOPER.md §6) */
		@media (max-width: 781px) {
			.entry-content iframe[src*="google.com/maps"] {
				position: static !important;
				top: auto !important;
				bottom: auto !important;
				left: auto !important;
				width: 100% !important;
				height: 300px !important;
				margin-top: 1.25rem !important;
				display: block !important;
			}
			.entry-content .wp-block-columns .wp-block-column:empty {
				display: none !important;
			}
		}

		/* Complianz cookie banner (since 2026-10-27): until marketing consent the
		   map <iframe> is wrapped in .cmplz-placeholder-parent (position:relative), which
		   breaks the /miesto/ absolute layout above. Give the wrapper the iframe's box
		   and let the iframe fill it — before and after consent. (DEVELOPER.md §6) */
		.entry-content .fz-relativ > .cmplz-placeholder-parent {
			position: absolute;
			top: 1cm;
			bottom: 1cm;
			left: 59%;
			width: calc(41% - 1cm);
			border-radius: 16px;
			overflow: hidden;
		}
		.entry-content .fz-relativ > .cmplz-placeholder-parent > iframe {
			position: static !important;
			width: 100% !important;
			height: 100% !important;
		}
		@media (max-width: 781px) {
			.entry-content .fz-relativ > .cmplz-placeholder-parent {
				position: static;
				width: 100%;
				height: 300px;
				margin-top: 1.25rem;
			}
			.entry-content .fz-relativ > .cmplz-placeholder-parent > iframe {
				margin-top: 0 !important;
			}
		}

		/* Complianz banner in the site's colours: orange pill 'Prijať', the other
		   buttons outlined, purple text. Kept here (in git), not in the plugin's
		   Colors tab (DB). */
		.cmplz-cookiebanner {
			color: var(--fz-text, #2E2140) !important;
			border-radius: 20px !important;
		}
		.cmplz-cookiebanner .cmplz-title,
		.cmplz-cookiebanner .cmplz-message,
		.cmplz-cookiebanner .cmplz-category-title { color: var(--fz-text, #2E2140) !important; }
		.cmplz-cookiebanner .cmplz-btn {
			border-radius: 999px !important;
			font-weight: 700 !important;
		}
		.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
			background-color: #FF7A00 !important;
			border-color: #FF7A00 !important;
			color: #FFFFFF !important;
		}
		.cmplz-cookiebanner .cmplz-btn:not(.cmplz-accept) {
			background-color: #FFFFFF !important;
			border: 2px solid #2E2140 !important;
			color: #2E2140 !important;
		}
		.cmplz-cookiebanner .cmplz-links a,
		.cmplz-cookiebanner a.cmplz-link { color: var(--fz-text, #2E2140) !important; }
	

		/* Top bar above the menu (fantazia_sezona_lista_data). */
		/* Text colour by bar: dark #2E2140 on the orange tábor bar (white there = contrast 2.6,
		   dark = 5.7; owner 2026-10-10, variant A), white on the green and the dark one. */
		.fz-lista, .fz-lista-pill { --fz-lista-text: #2E2140; }
		.fz-lista-svp, .fz-lista-pred { --fz-lista-text: #ffffff; }
		.fz-lista {
			display: block;
			padding: 0.6rem 1rem;
			background: #FF7A00;
			color: var(--fz-lista-text);
			font-size: 0.92rem;
			font-weight: 500;
			line-height: 1.4;
			text-align: center;
			text-decoration: none;
		}
		.fz-lista:hover, .fz-lista:focus { color: var(--fz-lista-text); }
		.fz-lista:focus-visible { outline: 2px solid var(--fz-lista-text); outline-offset: -4px; }
		/* #17823C, not the brand #1E9E4A: white 13.6px text needs contrast 4.5 (Lighthouse 2026-10-10). */
		.fz-lista-svp { background: #17823C; }
		.fz-lista-pred { background: #2E2140; }
		.fz-lista-stitok {
			display: inline-block;
			margin-right: 0.4rem;
			padding: 0.1rem 0.6rem;
			border-radius: 999px;
			background: rgba(255,255,255,.22);
			font-size: 0.72rem;
			font-weight: 700;
			letter-spacing: 0.05em;
			text-transform: uppercase;
			vertical-align: 1px;
		}
		.fz-lista-odkaz { margin-left: 0.4rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
		.fz-lista:hover .fz-lista-odkaz { text-decoration-thickness: 2px; }
		.fz-lista-mobil { display: none; }
		/* Pill in the mobile header: hidden at the top of the page (the bar is in view),
		   slides down between the F logo and the menu button once the header turns sticky
		   (the theme functions.php adds .fz-scrolled to #header after 40px). */
		.fz-lista-pill-row { position: relative; }
		.fz-lista-pill {
			position: absolute;
			top: 50%;
			/* Not the middle of the row: the F logo on the left is ~35px wide, the Menu
			   button on the right ~84px (the theme functions.php), so the free gap between them
			   sits 24px left of centre. 6px of air on each side of the pill. */
			left: calc(50% - 24px);
			max-width: calc(100% - 132px);
			padding: 0.45rem 0.9rem;
			border-radius: 999px;
			background: #FF7A00;
			color: var(--fz-lista-text);
			font-size: 0.82rem;
			font-weight: 700;
			line-height: 1.2;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
			text-decoration: none;
			box-shadow: 0 6px 14px -6px rgba(46,33,64,.45);
			opacity: 0;
			visibility: hidden;
			transform: translate(-50%, -150%);
			transition: opacity .25s ease, transform .3s ease, visibility 0s linear .3s;
		}
		.fz-lista-pill.fz-lista-svp { background: #17823C; }
		.fz-lista-pill.fz-lista-pred { background: #2E2140; }
		.fz-lista-pill:hover, .fz-lista-pill:focus { color: var(--fz-lista-text); }
		#header.fz-scrolled .fz-lista-pill {
			opacity: 1;
			visibility: visible;
			transform: translate(-50%, -50%);
			transition: opacity .25s ease, transform .3s ease;
		}
		@media (prefers-reduced-motion: reduce) {
			.fz-lista-pill, #header.fz-scrolled .fz-lista-pill { transition: none; }
		}
		@media (max-width: 689.98px) {
			.fz-lista { padding: 0.55rem 0.75rem; font-size: 0.85rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
			.fz-lista-plna { display: none; }
			.fz-lista-mobil { display: inline; }
		}

		/* Sticker look: solid offset shadow in the season colour (like the
		   gallery photos), a round sticker in the top right corner; tilted on desktop. */
		.fz-sezona {
			--fz-sezona-tien: #FF7A00;
			--fz-sezona-nalepka: #E4335A;
			position: relative;
			display: inline-block;
			max-width: 100%;
			margin-top: 2rem;
			padding: 1.25rem 1.5rem;
			background: #ffffff;
			border-radius: 20px;
			box-shadow: 8px 8px 0 var(--fz-sezona-tien);
		}
		.fz-sezona-svp { --fz-sezona-tien: #1E9E4A; --fz-sezona-nalepka: #FF7A00; }
		/* Prihláška before the sales start: note + countdown above the disabled button
		   (.fz-prihlaska-karta = the fallback, the banner instead of the form). */
		.fz-prihlaska-zamok { max-width: 27rem; margin: 1.5rem 0 1rem; padding: 1rem 1.25rem; border: 2px solid #FF7A00; border-radius: 16px; background: #ffffff; }
		.fz-prihlaska-zamok p { margin: 0; }
		.fz-prihlaska-zamok ~ .fz-btn:disabled { opacity: 0.45; cursor: not-allowed; }
		.fz-prihlaska-karta { margin: 0 0 3rem; padding: 0 1.25rem; text-align: center; }
		.fz-prihlaska-karta > .fz-sezona { width: 27rem; text-align: left; }
		.fz-sezona-nalepka {
			position: absolute;
			top: -30px;
			right: -8px;
			width: 86px;
			height: 86px;
			padding: 0.5rem;
			display: flex;
			align-items: center;
			justify-content: center;
			text-align: center;
			border-radius: 50%;
			background: var(--fz-sezona-nalepka);
			color: #ffffff;
			font-size: 0.82rem;
			font-weight: 800;
			line-height: 1.1;
			transform: rotate(12deg);
			box-shadow: 0 0 0 4px #ffffff, 0 8px 16px -6px rgba(46,33,64,.4);
		}
		.fz-sezona-nalepka + .fz-sezona-stitok { margin-right: 4.5rem; }
		.fz-odpocet { display: flex; gap: 0.5rem; margin-top: 0.9rem; }
		.fz-odpocet > div { flex: 1; padding: 0.55rem 0.25rem; border-radius: 14px; background: #FFF1E6; text-align: center; }
		.fz-odpocet b { display: block; font-size: 1.9rem; font-weight: 800; line-height: 1.1; color: #FF7A00; font-variant-numeric: tabular-nums; }
		.fz-odpocet span { font-size: 0.78rem; color: #6b7280; }
		.fz-sezona p { margin: 0; background: none !important; padding: 0 !important; display: block !important; }
		.fz-sezona .fz-sezona-stitok {
			display: inline-block !important;
			padding: 0.3rem 0.85rem !important;
			border-radius: 999px;
			font-size: 0.78rem;
			font-weight: 700;
			letter-spacing: 0.06em;
			text-transform: uppercase;
			color: #ffffff;
			background: #FF7A00 !important;
			margin-bottom: 0.6rem;
		}
		.fz-sezona-svp .fz-sezona-stitok { background: #1E9E4A !important; }
		.fz-sezona-nadpis { font-size: 1.35rem; font-weight: 700; color: var(--fz-text); line-height: 1.25; }
		.fz-sezona-text { color: #4b5563; margin-top: 0.35rem !important; max-width: 52ch; }
		.fz-sezona .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }
		.fz-sezona .wp-block-button__link { border-radius: 999px; padding: 0.75rem 1.4rem; }
		.wp-block-button__link.fz-btn-svp {
			background-color: #1E9E4A !important;
			border-color: #1E9E4A !important;
			box-shadow: 0 8px 20px -6px rgba(30,158,74,.5);
		}
		.wp-block-button__link.fz-btn-obrys {
			background-color: transparent !important;
			color: #FF7A00 !important;
			border: 2px solid #FF7A00 !important;
			box-shadow: none;
		}
		.wp-block-button__link.fz-btn-svp.fz-btn-obrys { color: #1E9E4A !important; border-color: #1E9E4A !important; }
		.fz-zaujem { margin-top: 1rem; max-width: 34rem; }
		.fz-zaujem-riadok { display: flex; flex-wrap: wrap; gap: 0.5rem; }
		.fz-zaujem input[type=email] {
			flex: 1 1 14rem; min-width: 0; padding: 0.7rem 1rem; border-radius: 999px;
			border: 1.5px solid #d6cfe0; background: #ffffff; font-size: 1rem; color: var(--fz-text);
		}
		.fz-zaujem button.wp-block-button__link { border-radius: 999px; padding: 0.75rem 1.4rem; cursor: pointer; }
		.fz-sezona .fz-zaujem-suhlas { display: block; margin-top: 0.6rem; font-size: 0.8rem; color: #6b7280; line-height: 1.4; }
		.fz-zaujem-suhlas a { color: inherit; text-decoration: underline; }
		.fz-zaujem-web { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
		.fz-sezona .fz-zaujem-hlaska { margin-top: 0.9rem; padding: 0.6rem 1rem !important; border-radius: 12px; font-weight: 600; font-size: 0.95rem; }
		.fz-zaujem-ok { background: #e7f6ec !important; color: #16663a; }
		.fz-zaujem-chyba { background: #fde8ef !important; color: #a3204f; }
		/* Single column: leave room on the right for the offset shadow, which the hero card
		   would otherwise clip (the theme functions.php widens the banner to the lead-text box). */
		@media (max-width: 999.98px) {
			.fz-hero-card > .fz-sezona { margin-right: 0; }
		}
		/* Desktop: hero text on the left, banner on the right (mobile keeps it below). */
		@media (min-width: 1000px) {
			.fz-hero-card:has(> .fz-sezona) {
				display: grid;
				grid-template-columns: minmax(0, 1fr) minmax(20rem, 27rem);
				column-gap: clamp(2rem, 4vw, 3.5rem);
				justify-items: start;
				align-content: center;
			}
			.fz-hero-card:has(> .fz-sezona) > :not(.fz-sezona):not(.fz-hero-video-wrap) { grid-column: 1; align-self: start; }
			.fz-hero-card > .fz-sezona { grid-column: 2; grid-row: 1 / span 3; align-self: center; justify-self: stretch; margin-top: 0; transform: rotate(-1.5deg); }
			/* The banner spans exactly the text rows before it (pill, h1, perexes…) — since the
			   2026-10-08 texts the heroes have 4–5 of them, and a 3-row span stretched the pill. */
			.fz-hero-card > .fz-sezona:nth-child(5) { grid-row: 1 / span 4; }
			.fz-hero-card > .fz-sezona:nth-child(6) { grid-row: 1 / span 5; }
			.fz-hero-card > .fz-sezona:nth-child(7) { grid-row: 1 / span 6; }
			.fz-hero-card > .fz-sezona:nth-child(8) { grid-row: 1 / span 7; }
			/* Home #turnusy ([fantazia_sezona_tabor], 2026-10-08): pill + h2 + text vertically
			   centred on the left, the banner on the right; during the sale the turnus list
			   goes full width underneath. The text column is capped and the pair centred, so on
			   wide screens the text and the banner stay together (owner 2026-10-08: a short text
			   far left + the banner far right looked odd). */
			.fz-blok-karta:has(> #fz-sezona-tabor) {
				display: grid;
				grid-template-columns: minmax(0, 34rem) minmax(18rem, 22rem);
				justify-content: center;
				grid-template-rows: 1fr auto auto auto 1fr;
				column-gap: clamp(2rem, 4vw, 3.5rem);
			}
			.fz-blok-karta:has(> #fz-sezona-tabor) > :not(.fz-sezona):not(.fz-sezona-turnusy) { grid-column: 1; justify-self: start; }
			.fz-blok-karta:has(> #fz-sezona-tabor) > :nth-child(1) { grid-row: 2; }
			.fz-blok-karta:has(> #fz-sezona-tabor) > :nth-child(2) { grid-row: 3; }
			.fz-blok-karta:has(> #fz-sezona-tabor) > :nth-child(3) { grid-row: 4; }
			.fz-blok-karta > #fz-sezona-tabor { grid-column: 2; grid-row: 1 / 6; align-self: center; justify-self: stretch; margin-top: 0; transform: rotate(-1.5deg); }
			.fz-blok-karta > .fz-sezona-turnusy { grid-column: 1 / -1; grid-row: 6; }
			.fz-sezona-nalepka { right: -26px; }
			.fz-hero-card > .fz-sezona .fz-sezona-text { max-width: none; }
		}
	

		.fz-pill {
			display: inline-block;
			background: #ffffff;
			color: #c8623f;
			font-weight: 600;
			font-size: 0.8rem;
			letter-spacing: 0.06em;
			text-transform: uppercase;
			padding: 0.4rem 1rem;
			border-radius: 999px;
			margin: 0 0 1rem;
		}
		.fz-pill a { color: inherit; text-decoration: none; }

		/* /blog/ listing */
		.fz-blog-list {
			display: flex;
			flex-direction: column;
			gap: 1.5rem;
		}
		.fz-blog-card {
			display: grid;
			grid-template-columns: minmax(0, 220px) 1fr;
			gap: clamp(1.25rem, 3vw, 2rem);
			align-items: center;
			border-radius: 24px;
			padding: clamp(1.25rem, 3vw, 1.75rem);
			transition: transform .25s ease, box-shadow .25s ease;
		}
		/* Lift only on devices with a mouse, never on touch — see functions.php. */
		@media (hover: hover) {
			.fz-blog-card:hover {
				transform: translateY(-4px);
				box-shadow: 0 16px 32px -12px rgba(16,24,40,.18);
			}
		}
		.fz-blog-card--no-thumb { grid-template-columns: 1fr; }
		.fz-blog-card-thumb { display: block; }
		/* 4:5 — the camp photos are upright (2:3), so this keeps nearly the whole picture. */
		.fz-blog-card-thumb img {
			display: block;
			width: 100%;
			aspect-ratio: 4 / 5;
			height: auto;
			object-fit: cover;
			object-position: 50% 30%;
			border-radius: 16px;
		}
		.fz-blog-card-title {
			font-size: clamp(1.25rem, 2.5vw, 1.6rem);
			line-height: 1.25;
			margin: 0 0 0.6rem;
		}
		.fz-blog-card-title a { color: #2E2140; text-decoration: none; }
		.fz-blog-card-title a:hover { color: #c8623f; }
		.fz-blog-card-excerpt { color: #4b5563; margin: 0 0 1rem; }
		.fz-blog-more {
			color: #c8623f;
			font-weight: 700;
			text-decoration: none;
		}
		.fz-blog-more:hover { text-decoration: underline; }
		.fz-blog-empty { border-radius: 24px; padding: clamp(1.5rem, 4vw, 2.25rem); }
		.fz-blog-empty p { margin: 0; color: #4b5563; }
		@media (max-width: 640px) {
			.fz-blog-card { grid-template-columns: 1fr; }
		}

		.fz-blog-pagination ul {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 0.5rem;
			list-style: none;
			margin: 2rem 0 0;
			padding: 0;
		}
		/* Only the links / numbers: paginate_links() gives the <ul> the class page-numbers too,
		   and inline-block on it broke the flex row (the numbers stood one under another). */
		.fz-blog-pagination :is(a, span).page-numbers {
			display: inline-block;
			min-width: 2.5rem;
			padding: 0.5rem 0.9rem;
			border-radius: 999px;
			background: #ffffff;
			border: 1px solid #eef0f2;
			color: #2E2140;
			text-align: center;
			text-decoration: none;
			font-weight: 600;
		}
		.fz-blog-pagination span.page-numbers.current {
			background: #ff7a00;
			border-color: #ff7a00;
			color: #ffffff;
		}

		/* Topic chips above the listing (/blog/ and /blog/<téma>/) */
		.fz-blog-topics ul {
			display: flex;
			flex-wrap: wrap;
			gap: 0.5rem;
			list-style: none;
			margin: 0 0 1.75rem;
			padding: 0;
		}
		.fz-blog-topics a {
			display: inline-block;
			padding: 0.5rem 1rem;
			border-radius: 999px;
			background: #ffffff;
			border: 1px solid #eef0f2;
			color: #2E2140;
			font-weight: 600;
			font-size: 0.95rem;
			text-decoration: none;
			transition: border-color .2s ease, color .2s ease;
		}
		.fz-blog-topics a:hover { border-color: #ff7a00; color: #c8623f; }
		.fz-blog-topics a[aria-current] {
			background: #ff7a00;
			border-color: #ff7a00;
			color: #ffffff;
		}

		/* Homepage carousel [fantazia_dennik]: 4 cards in view on desktop, 2 on tablets,
		   one plus a peek of the next on phones (the peek says 'swipe me'). */
		.fz-dennik-track {
			display: grid;
			grid-auto-flow: column;
			grid-auto-columns: calc((100% - 3 * 1.25rem) / 4);
			gap: 1.25rem;
			overflow-x: auto;
			overscroll-behavior-x: contain;
			scroll-snap-type: x mandatory;
			scrollbar-width: none;
			/* Room for the card shadows and the focus ring, which overflow would clip. The
			   scroll-padding keeps snapping from scrolling that gutter away on load. */
			padding: 6px 6px 14px;
			margin: -6px -6px 0;
			scroll-padding-inline: 6px;
		}
		.fz-dennik-track::-webkit-scrollbar { display: none; }
		.fz-dennik-track:focus-visible { outline: 2px solid #ff7a00; outline-offset: 2px; border-radius: 20px; }
		.fz-dennik-card {
			scroll-snap-align: start;
			display: flex;
			flex-direction: column;
			background: #ffffff;
			border-radius: 20px;
			overflow: hidden;
			box-shadow: 0 8px 24px -14px rgba(16,24,40,.28);
		}
		.fz-dennik-card-thumb img {
			display: block;
			width: 100%;
			aspect-ratio: 4 / 5;
			height: auto;
			object-fit: cover;
			object-position: 50% 30%;
		}
		.fz-dennik-card-body {
			display: flex;
			flex-direction: column;
			flex: 1;
			padding: 1rem 1.15rem 1.15rem;
		}
		.fz-dennik-meta {
			color: #c8623f;
			font-weight: 600;
			font-size: 0.75rem;
			letter-spacing: 0.06em;
			text-transform: uppercase;
			margin: 0 0 0.4rem;
		}
		.fz-dennik-card-title {
			font-weight: 700;
			font-size: 1rem;
			line-height: 1.3;
			margin: 0 0 0.5rem;
		}
		.fz-dennik-card-title a { color: #2E2140; text-decoration: none; }
		.fz-dennik-card-title a:hover { color: #c8623f; }
		.fz-dennik-card-excerpt {
			color: #4b5563;
			font-size: 0.95rem;
			margin: 0 0 1rem;
			display: -webkit-box;
			-webkit-line-clamp: 3;
			-webkit-box-orient: vertical;
			overflow: hidden;
		}
		.fz-dennik-card-links {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: space-between;
			gap: 0.5rem 1rem;
			margin: auto 0 0;
		}
		.fz-dennik-photos {
			background: var(--pastel-6, #B8E8F0);
			color: #2E2140;
			font-size: 0.9rem;
			font-weight: 600;
			text-decoration: none;
			padding: 0.3rem 0.8rem;
			border-radius: 999px;
		}
		.fz-dennik-photos:hover { background: #ff7a00; color: #ffffff; }
		.fz-dennik-all {
			align-items: center;
			justify-content: center;
			gap: 0.5rem;
			padding: 1.5rem;
			text-align: center;
			font-size: 1.15rem;
			font-weight: 700;
			color: #c8623f;
			text-decoration: none;
			background: rgba(255,255,255,.55);
			box-shadow: none;
			border: 2px dashed rgba(200,98,63,.35);
		}
		.fz-dennik-all:hover { background: #ffffff; color: #c8623f; }
		.fz-dennik-nav {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1rem;
			margin-top: 0.75rem;
		}
		.fz-dennik-arrows { display: flex; gap: 0.5rem; }
		.fz-dennik-arrows button {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 44px;
			height: 44px;
			min-height: 0;
			padding: 0;
			border: 0;
			border-radius: 50%;
			background: #ffffff;
			color: #2E2140;
			font-size: 1.2rem;
			line-height: 1;
			cursor: pointer;
			box-shadow: 0 4px 12px -6px rgba(16,24,40,.35);
			transition: background .2s ease, color .2s ease, opacity .2s ease;
		}
		.fz-dennik-arrows button:hover:not(:disabled) { background: #ff7a00; color: #ffffff; }
		.fz-dennik-arrows button:focus-visible { outline: 2px solid #ff7a00; outline-offset: 2px; }
		.fz-dennik-arrows button:disabled { opacity: .4; cursor: default; }
		@media (max-width: 1000px) {
			.fz-dennik-track { grid-auto-columns: calc((100% - 1.25rem) / 2); }
		}
		@media (max-width: 640px) {
			/* Wider card, only a ~44px peek of the next one (just the start of its text) on
			   any phone width; the track runs on under the box's right padding (18px on
			   phones, functions.php) so the peek ends at the box edge.
			   Peek = 100% + 18px padding - card - 12px gap. */
			.fz-dennik-track {
				grid-auto-columns: calc(100% - 38px);
				gap: 0.75rem;
				margin-right: -18px;
				padding-right: 18px;
				scroll-padding-inline: 6px 18px;
			}
		}

		/* Single article. These render at the top of <article>, outside .entry-content's
		   constrained layout, so size them with Blocksy's own container vars: a bit wider
		   than the text column (its 'wide' width), same side gutters as the rest of the site. */
		.fz-post-head {
			width: var(--theme-container-width);
			max-width: var(--theme-block-wide-max-width);
			margin: 0 auto 2rem;
		}
		.fz-post-hero {
			border-radius: 32px;
			padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 5vw, 3rem) 7.5rem;
			margin-bottom: 1.5rem;
		}
		.fz-post-hero h1 {
			color: #2E2140;
			font-size: clamp(1.9rem, 4.5vw, 2.75rem);
			line-height: 1.15;
			letter-spacing: -0.02em;
			font-weight: 700;
			margin: 0 0 0.75rem;
		}
		.fz-post-date { color: #4b5563; margin: 0; }
		.fz-post-date a { color: #c8623f; font-weight: 600; text-decoration: none; }
		.fz-post-date a:hover { text-decoration: underline; }
		.fz-post-image { margin: 0; }
		.fz-post-image img {
			display: block;
			width: 100%;
			height: auto;
			max-height: 560px;
			object-fit: cover;
			object-position: 50% 30%;
			border-radius: 24px;
		}
		.fz-post-head--portrait .fz-post-image img { aspect-ratio: 4 / 5; }
		@media (min-width: 782px) {
			.fz-post-head--portrait {
				display: grid;
				grid-template-columns: minmax(0, 1fr) minmax(0, 380px);
				gap: 1.5rem;
			}
			.fz-post-head--portrait .fz-post-hero {
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: flex-start;
				margin-bottom: 0;
			}
			.fz-post-head--portrait .fz-post-image img { max-height: none; }
		}
		.single-post .entry-content img { border-radius: 16px; }
		/* Blocksy makes buttons inline-flex, which swallows the space after the emoji. */
		.fz-photos-btn {
			align-items: center;
			gap: 0.45em;
			border-radius: 10px;
			font-weight: 600;
			text-decoration: none;
		}
		.fz-post-hero .fz-photos-btn { margin-top: 1.5rem; }
		.fz-post-photos { margin-top: 2.5rem; }
		.fz-post-back { margin-top: 2.5rem; }
		.fz-post-back a { color: #c8623f; font-weight: 700; text-decoration: none; }
		.fz-post-back a:hover { text-decoration: underline; }
	
.fz-ico-clun{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M22%2023V21C20.58%2021.05%2019.21%2020.9%2018%2020C16.23%2021.25%2013.77%2021.25%2012%2020C10.23%2021.25%207.77%2021.25%206%2020C4.79%2020.9%203.42%2021.05%202%2021V23C3.38%2023.05%204.79%2022.94%206%2022.25C7.84%2023.25%2010.16%2023.25%2012%2022.25C13.84%2023.25%2016.16%2023.25%2018%2022.25C19.21%2022.94%2020.62%2023.05%2022%2023M23.39%2017.21C21.13%2016.29%2018.3%2015.56%2015.66%2015.22L19.36%206.88L20.67%206.41L22%203.41L18.8%202L17.5%204.95L18%206.27L16.31%209.97L13.5%2011.47L11%2010.2C10.95%2010.14%2010.86%2010.09%2010.74%2010.06C9.82%209.73%208.77%2010.32%208.5%2011.23L7.13%2015.41C6.59%2015.18%201.25%2016.97%20.915%2017.12L0%2017.47C1.33%2018.04%202.2%2018.39%203.94%2018.88C4.75%2018.63%205.44%2018.09%206%2017.47C7.5%2019.42%2010.5%2019.42%2012%2017.47C13.5%2019.42%2016.5%2019.42%2018%2017.47C18.56%2018.09%2019.25%2018.63%2020.06%2018.88L22.95%2017.91L24%2017.47L23.39%2017.21M14.06%2015.08C13.07%2015%2012.06%2015%2011.06%2015L11.77%2012.83L13.5%2013.77L15%2012.92L14.06%2015.08M14%207.5C14%208.61%2013.11%209.5%2012%209.5S10%208.61%2010%207.5%2010.9%205.5%2012%205.5%2014%206.4%2014%207.5Z%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-futbal{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M16.93%2017.12L16.13%2015.76L17.59%2011.39L19%2010.92L20%2011.67C20%2011.7%2020%2011.75%2020%2011.81C20%2011.88%2020.03%2011.94%2020.03%2012C20.03%2013.97%2019.37%2015.71%2018.06%2017.21L16.93%2017.12M9.75%2015L8.38%2010.97L12%208.43L15.62%2010.97L14.25%2015H9.75M12%2020.03C11.12%2020.03%2010.29%2019.89%209.5%2019.61L8.81%2018.1L9.47%2017H14.58L15.19%2018.1L14.5%2019.61C13.71%2019.89%2012.88%2020.03%2012%2020.03M5.94%2017.21C5.41%2016.59%204.95%2015.76%204.56%2014.75C4.17%2013.73%203.97%2012.81%203.97%2012C3.97%2011.94%204%2011.88%204%2011.81C4%2011.75%204%2011.7%204%2011.67L5%2010.92L6.41%2011.39L7.87%2015.76L7.07%2017.12L5.94%2017.21M11%205.29V6.69L7%209.46L5.66%209.04L5.24%207.68C5.68%207%206.33%206.32%207.19%205.66S8.87%204.57%209.65%204.35L11%205.29M14.35%204.35C15.13%204.57%2015.95%205%2016.81%205.66C17.67%206.32%2018.32%207%2018.76%207.68L18.34%209.04L17%209.47L13%206.7V5.29L14.35%204.35M4.93%204.93C3%206.89%202%209.25%202%2012S3%2017.11%204.93%2019.07%209.25%2022%2012%2022%2017.11%2021%2019.07%2019.07%2022%2014.75%2022%2012%2021%206.89%2019.07%204.93%2014.75%202%2012%202%206.89%203%204.93%204.93Z%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-kamera{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M18%2C14.5V11A1%2C1%200%200%2C0%2017%2C10H16C18.24%2C8.39%2018.76%2C5.27%2017.15%2C3C15.54%2C0.78%2012.42%2C0.26%2010.17%2C1.87C9.5%2C2.35%208.96%2C3%208.6%2C3.73C6.25%2C2.28%203.17%2C3%201.72%2C5.37C0.28%2C7.72%201%2C10.8%203.36%2C12.25C3.57%2C12.37%203.78%2C12.5%204%2C12.58V21A1%2C1%200%200%2C0%205%2C22H17A1%2C1%200%200%2C0%2018%2C21V17.5L22%2C21.5V10.5L18%2C14.5M13%2C4A2%2C2%200%200%2C1%2015%2C6A2%2C2%200%200%2C1%2013%2C8A2%2C2%200%200%2C1%2011%2C6A2%2C2%200%200%2C1%2013%2C4M6%2C6A2%2C2%200%200%2C1%208%2C8A2%2C2%200%200%2C1%206%2C10A2%2C2%200%200%2C1%204%2C8A2%2C2%200%200%2C1%206%2C6Z%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-kon{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M10%203.5C10%202.67%2010.67%202%2011.5%202S13%202.67%2013%203.5%2012.33%205%2011.5%205%2010%204.33%2010%203.5M22%208V11.5L20.97%2011.85C20.8%2013.06%2019.76%2014%2018.5%2014H18.42C18.28%2014.68%2017.95%2015.29%2017.5%2015.78V22H15V17C14.92%2017%2014.84%2017%2014.75%2017C14.54%2017%2014.33%2016.97%2014.13%2016.94L9.69%2016.2L8.57%2018.21L9.32%2022H6.78L6%2018.25C5.97%2017.95%206%2017.65%206.16%2017.39L7.18%2015.58C6.2%2015.03%205.53%2014%205.5%2012.81C5.46%2012.96%205.44%2013.18%205.47%2013.5C5.5%2013.94%205.61%2014.59%205.54%2015.31C5.5%2016.03%205.17%2016.77%204.75%2017.26C4.32%2017.75%203.85%2018.09%203.35%2018.35L2.65%2017.65C2.84%2017.18%203.03%2016.76%203.07%2016.37C3.13%2016%203.06%2015.7%202.95%2015.43L2.42%2014.3C2.21%2013.79%201.95%2013.05%202%2012.18C2.03%2011.33%202.5%2010.22%203.39%209.61C4.29%209%205.26%208.91%206.05%209.08C6.55%209.18%207.06%209.42%207.5%209.76C7.87%209.59%208.3%209.5%208.75%209.5H9V8.11C9%207.11%209.68%206.19%2010.66%206.03C11.92%205.82%2013%206.79%2013%208V9.5H14.5V9C14.5%206.79%2016.29%205%2018.5%205H22L21.11%206.34C21.65%206.7%2022%207.31%2022%208M20%2011.2L18.96%209.54C18.83%209.33%2018.5%209.42%2018.5%209.67V13C19.33%2013%2020%2012.33%2020%2011.5V11.2Z%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-lezenie{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M21%201v22%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2210.5%22%20cy%3D%225.2%22%20r%3D%222.1%22%2F%3E%3Cpath%20d%3D%22M10.2%208.6%209.2%2014.6M10.3%209.4l4.2-2.6%201.2-4.3M9.8%209.6%206.2%2012M9.2%2014.6l4.3%201.7.3%204.9M9.2%2014.6l-3%203.6-3.2.3%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.4%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2216.3%22%20cy%3D%222.3%22%20r%3D%221.2%22%2F%3E%3Ccircle%20cx%3D%224.9%22%20cy%3D%2212.8%22%20r%3D%221.2%22%2F%3E%3Ccircle%20cx%3D%2214.6%22%20cy%3D%2221.6%22%20r%3D%221.2%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-luk{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M19.03%206.03L20%207L22%202L17%204L17.97%204.97L16.15%206.79C10.87%202.16%203.3%203.94%202.97%204L2%204.26L2.5%206.2L3.29%206L10.12%2012.82L6.94%2016H5L2%2019L4%2020L5%2022L8%2019V17.06L11.18%2013.88L18%2020.71L17.81%2021.5L19.74%2022L20%2021.03C20.06%2020.7%2021.84%2013.13%2017.21%207.85L19.03%206.03M4.5%205.78C6.55%205.5%2011.28%205.28%2014.73%208.21L10.82%2012.12L4.5%205.78M18.22%2019.5L11.88%2013.18L15.79%209.27C18.72%2012.72%2018.5%2017.45%2018.22%2019.5Z%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-ovladac{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M8.75%2C15.75C6.75%2C15.75%206%2C18%204%2C19C2%2C19%200.5%2C16%204.5%2C7.5H4.75L5.19%2C6.67C5.19%2C6.67%208%2C5%209.33%2C6.23H14.67C16%2C5%2018.81%2C6.67%2018.81%2C6.67L19.25%2C7.5H19.5C23.5%2C16%2022%2C19%2020%2C19C18%2C18%2017.25%2C15.75%2015.25%2C15.75H8.75M12%2C7A1%2C1%200%200%2C0%2011%2C8A1%2C1%200%200%2C0%2012%2C9A1%2C1%200%200%2C0%2013%2C8A1%2C1%200%200%2C0%2012%2C7Z%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-paleta{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M17.5%2C12A1.5%2C1.5%200%200%2C1%2016%2C10.5A1.5%2C1.5%200%200%2C1%2017.5%2C9A1.5%2C1.5%200%200%2C1%2019%2C10.5A1.5%2C1.5%200%200%2C1%2017.5%2C12M14.5%2C8A1.5%2C1.5%200%200%2C1%2013%2C6.5A1.5%2C1.5%200%200%2C1%2014.5%2C5A1.5%2C1.5%200%200%2C1%2016%2C6.5A1.5%2C1.5%200%200%2C1%2014.5%2C8M9.5%2C8A1.5%2C1.5%200%200%2C1%208%2C6.5A1.5%2C1.5%200%200%2C1%209.5%2C5A1.5%2C1.5%200%200%2C1%2011%2C6.5A1.5%2C1.5%200%200%2C1%209.5%2C8M6.5%2C12A1.5%2C1.5%200%200%2C1%205%2C10.5A1.5%2C1.5%200%200%2C1%206.5%2C9A1.5%2C1.5%200%200%2C1%208%2C10.5A1.5%2C1.5%200%200%2C1%206.5%2C12M12%2C3A9%2C9%200%200%2C0%203%2C12A9%2C9%200%200%2C0%2012%2C21A1.5%2C1.5%200%200%2C0%2013.5%2C19.5C13.5%2C19.11%2013.35%2C18.76%2013.11%2C18.5C12.88%2C18.23%2012.73%2C17.88%2012.73%2C17.5A1.5%2C1.5%200%200%2C1%2014.23%2C16H16A5%2C5%200%200%2C0%2021%2C11C21%2C6.58%2016.97%2C3%2012%2C3Z%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-pocitac{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M21%2C16H3V4H21M21%2C2H3C1.89%2C2%201%2C2.89%201%2C4V16A2%2C2%200%200%2C0%203%2C18H10V20H8V22H16V20H14V18H21A2%2C2%200%200%2C0%2023%2C16V4C23%2C2.89%2022.1%2C2%2021%2C2Z%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-ryba{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2C20L12.76%2C17C9.5%2C16.79%206.59%2C15.4%205.75%2C13.58C5.66%2C14.06%205.53%2C14.5%205.33%2C14.83C4.67%2C16%203.33%2C16%202%2C16C3.1%2C16%203.5%2C14.43%203.5%2C12.5C3.5%2C10.57%203.1%2C9%202%2C9C3.33%2C9%204.67%2C9%205.33%2C10.17C5.53%2C10.5%205.66%2C10.94%205.75%2C11.42C6.4%2C10%208.32%2C8.85%2010.66%2C8.32L9%2C5C11%2C5%2013%2C5%2014.33%2C5.67C15.46%2C6.23%2016.11%2C7.27%2016.69%2C8.38C19.61%2C9.08%2022%2C10.66%2022%2C12.5C22%2C14.38%2019.5%2C16%2016.5%2C16.66C15.67%2C17.76%2014.86%2C18.78%2014.17%2C19.33C13.33%2C20%2012.67%2C20%2012%2C20M17%2C11A1%2C1%200%200%2C0%2016%2C12A1%2C1%200%200%2C0%2017%2C13A1%2C1%200%200%2C0%2018%2C12A1%2C1%200%200%2C0%2017%2C11Z%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-stvorkolka{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M20%2011C19.8%2011%2019.6%2011%2019.5%2011.1L17.4%209H20V6L16.3%207.9L13.4%205H9V7H12.6L14.6%209H11L7%2011L5%209H0V11H4C1.8%2011%200%2012.8%200%2015S1.8%2019%204%2019%208%2017.2%208%2015L10%2017H13L16.5%2010.9L17.5%2011.9C16.6%2012.6%2016%2013.8%2016%2015C16%2017.2%2017.8%2019%2020%2019S24%2017.2%2024%2015%2022.2%2011%2020%2011M4%2017C2.9%2017%202%2016.1%202%2015S2.9%2013%204%2013%206%2013.9%206%2015%205.1%2017%204%2017M20%2017C18.9%2017%2018%2016.1%2018%2015S18.9%2013%2020%2013%2022%2013.9%2022%2015%2021.1%2017%2020%2017Z%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-tanec{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M17%2017H15V23H13V17H10.88L9.34%2018.93L11.71%2021.29L10.29%2022.71L7.93%2020.34C7.58%2020%207.38%2019.53%207.35%2019.04C7.32%2018.55%207.47%2018.06%207.78%2017.68L8.32%2017H7L9%2013V10C8.38%2010.47%207.88%2011.07%207.53%2011.76C7.18%2012.46%207%2013.22%207%2014H5C5%2012.14%205.74%2010.36%207.05%209.05C8.36%207.74%2010.14%207%2012%207C13.33%207%2014.6%206.47%2015.54%205.54C16.47%204.6%2017%203.33%2017%202H19C19%203.32%2018.62%204.62%2017.91%205.73C17.2%206.85%2016.2%207.74%2015%208.31V13L17%2017M14%204C14%204.4%2013.88%204.78%2013.66%205.11C13.44%205.44%2013.13%205.7%2012.77%205.85C12.4%206%2012%206.04%2011.61%205.96C11.22%205.88%2010.87%205.69%2010.59%205.41C10.31%205.13%2010.12%204.78%2010.04%204.39C9.96%204%2010%203.6%2010.15%203.24C10.3%202.87%2010.56%202.56%2010.89%202.34C11.22%202.12%2011.6%202%2012%202C12.53%202%2013.04%202.21%2013.41%202.59C13.79%202.96%2014%203.47%2014%204Z%22%2F%3E%3C%2Fsvg%3E")}
.fz-ico-trampolina{--fz-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20transform%3D%22translate%284.56%200%29%20scale%280.62%29%22%20d%3D%22M5%2C1C5%2C3.7%206.56%2C6.16%209%2C7.32V22H11V15H13V22H15V7.31C17.44%2C6.16%2019%2C3.7%2019%2C1H17A5%2C5%200%200%2C1%2012%2C6A5%2C5%200%200%2C1%207%2C1M12%2C1C10.89%2C1%2010%2C1.89%2010%2C3C10%2C4.11%2010.89%2C5%2012%2C5C13.11%2C5%2014%2C4.11%2014%2C3C14%2C1.89%2013.11%2C1%2012%2C1Z%22%2F%3E%3Crect%20x%3D%221.5%22%20y%3D%2216.6%22%20width%3D%2221%22%20height%3D%222.4%22%20rx%3D%221.2%22%2F%3E%3Cpath%20d%3D%22M4%2018.5h2.2l-1%204.5H3zM17.8%2018.5H20l1%204.5h-2.2z%22%2F%3E%3C%2Fsvg%3E")}

		.fz-kluby > :nth-child(7n+1) { --fz-ico-bg: #ffe4cc; --fz-ico-fg: #e8762d; }
		.fz-kluby > :nth-child(7n+2) { --fz-ico-bg: #daf3e2; --fz-ico-fg: #26995a; }
		.fz-kluby > :nth-child(7n+3) { --fz-ico-bg: #fde0dc; --fz-ico-fg: #d2453a; }
		.fz-kluby > :nth-child(7n+4) { --fz-ico-bg: #dcefff; --fz-ico-fg: #1b8ccc; }
		.fz-kluby > :nth-child(7n+5) { --fz-ico-bg: #fff1c1; --fz-ico-fg: #c98f00; }
		.fz-kluby > :nth-child(7n+6) { --fz-ico-bg: #e9e5fb; --fz-ico-fg: #7a62c9; }
		.fz-kluby > :nth-child(7n+7) { --fz-ico-bg: #ffe0ef; --fz-ico-fg: #d6488c; }
	
		.fz-ico {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 56px;
			height: 56px;
			border-radius: 16px;
			background: var(--fz-ico-bg, #ffe4cc);
			transition: transform .25s ease;
		}
		.fz-ico::before {
			content: "";
			width: 34px;
			height: 34px;
			background: var(--fz-ico-fg, #e8762d);
			-webkit-mask: var(--fz-ico) center / contain no-repeat;
			mask: var(--fz-ico) center / contain no-repeat;
		}

		.fz-kluby > * { transition: transform .25s ease, box-shadow .25s ease; }
		.fz-kluby > *:hover { transform: translateY(-4px); box-shadow: 0 16px 32px -14px rgba(16,24,40,.2); }
		.fz-kluby > *:hover .fz-ico { transform: rotate(-8deg) scale(1.08); }
		/* Home page club cards ([fantazia_kluby]): title below the icon. */
		.fz-kluby .fz-ico + strong { margin-top: .8rem !important; }

		/* Home page section ([fantazia_kluby]). */
		.fz-kluby-sekcia { margin: 3.5rem 0 3rem; text-align: center; }
		.fz-kluby-sekcia h2 { margin: 0 0 .5rem; color: #1f2937; }
		.fz-kluby-sekcia > p { color: #4b5563; max-width: 60ch; margin: 0 auto 2rem; }
		.fz-kluby-sekcia .fz-kluby {
			display: grid;
			grid-template-columns: repeat(6, minmax(0, 1fr));
			gap: 1rem;
			text-align: center;
		}
		/* Each club card is lightly tinted with its icon colour and has a bar of that
		   colour along the bottom; the icon itself is a bit bigger than on other pages. */
		.fz-kluby-sekcia .fz-klub {
			background: color-mix(in srgb, var(--fz-ico-bg) 55%, #ffffff);
			border: 0;
			border-bottom: 5px solid var(--fz-ico-fg);
			border-radius: 20px;
			padding: 1.4rem .75rem 1.1rem;
		}
		.fz-kluby-sekcia .fz-klub .fz-ico { width: 68px; height: 68px; border-radius: 20px; background: #ffffff; }
		.fz-kluby-sekcia .fz-klub .fz-ico::before { width: 42px; height: 42px; }
		.fz-kluby-sekcia .fz-klub strong { display: block; margin-top: .75rem; color: #1f2937; font-size: .95rem; line-height: 1.25; }
		.fz-kluby-sekcia .fz-klub span:last-child { display: block; margin-top: .3rem; color: #6b7280; font-size: .8rem; line-height: 1.35; }
		.fz-kluby-navyse { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem; margin-top: 1.75rem; }
		.fz-kluby-navyse strong { color: #1f2937; margin-right: .25rem; }
		.fz-kluby-navyse span { background: #ffffff; border: 1px solid #eef0f2; border-radius: 999px; padding: .35rem .9rem; font-size: .9rem; color: #4b5563; }
		.fz-kluby-navyse em { color: #6b7280; font-size: .9rem; margin-left: .25rem; }
		.fz-kluby-sekcia .wp-block-buttons { justify-content: center; margin-top: 1.75rem; }
		@media (max-width: 1000px) { .fz-kluby-sekcia .fz-kluby { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
		@media (max-width: 600px) {
			/* Two columns like the club cards on the Tábor page, short description kept. */
			.fz-kluby-sekcia .fz-kluby { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
			.fz-kluby-sekcia .fz-klub { padding: 1.1rem .6rem 1rem; border-radius: 16px; }
			.fz-kluby-sekcia .fz-klub strong { font-size: .9rem; }
			.fz-kluby-sekcia .fz-klub .fz-ico { width: 56px; height: 56px; border-radius: 16px; }
			.fz-kluby-sekcia .fz-klub .fz-ico::before { width: 32px; height: 32px; }
		}
		/* Phones: the section runs edge to edge (8px gutter, functions.php) like the cards,
		   so inset the tiles by the cards' 18px inner padding — they line up with the
		   boxes inside the other sections. */
		@media (max-width: 689.98px) {
			.fz-kluby-sekcia > .fz-kluby,
			.fz-kluby-sekcia > h2,
			.fz-kluby-sekcia > p,
			.fz-kluby-sekcia > .fz-kluby-navyse { padding-left: 18px; padding-right: 18px; }
		}
		@media (prefers-reduced-motion: reduce) {
			.fz-ico, .fz-kluby > * { transition: none; }
		}
	

		:root {
			--fz-ink-yellow: #F2A900;
			--fz-ink-orange: #FF7A00;
			--fz-ink-red: #E4335A;
			--fz-ink-green: #2E9E48;
			--fz-ink-blue: #2F7FD1;
		}

		/* 1. Hills along the bottom edge of the big hero / CTA cards: the card is cut to the
		   front ridge by a mask, and a paler back ridge with spruces (::after, above the
		   video but under the content) adds a second row of hills behind it. */
		.fz-hero-card {
			-webkit-mask: linear-gradient(#000 0 0) top / 100% calc(100% - 100px) no-repeat, url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%2072%27%20preserveAspectRatio%3D%27none%27%3E%3Cg%20transform%3D%27translate%280%2012%29%27%3E%3Cpath%20d%3D%27M0%2044C40%2044%2060%2050%20120%2050C200%2050%20250%2038%20340%2038C430%2038%20470%2054%20560%2054C660%2054%20700%2034%20790%2034C880%2034%20930%2056%201020%2056C1100%2056%201140%2044%201200%2044V-12H0Z%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") left bottom / 900px 101px repeat-x;
			mask: linear-gradient(#000 0 0) top / 100% calc(100% - 100px) no-repeat, url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%2072%27%20preserveAspectRatio%3D%27none%27%3E%3Cg%20transform%3D%27translate%280%2012%29%27%3E%3Cpath%20d%3D%27M0%2044C40%2044%2060%2050%20120%2050C200%2050%20250%2038%20340%2038C430%2038%20470%2054%20560%2054C660%2054%20700%2034%20790%2034C880%2034%20930%2056%201020%2056C1100%2056%201140%2044%201200%2044V-12H0Z%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") left bottom / 900px 101px repeat-x;
		}
		.fz-hero-card::after {
			content: "";
			position: absolute;
			z-index: 0;
			left: 0;
			right: 0;
			bottom: 0;
			height: 101px;
			background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%2072%27%20preserveAspectRatio%3D%27none%27%3E%3Cg%20transform%3D%27translate%280%2012%29%27%3E%3Cpath%20d%3D%27M0%2038C80%2038%20130%2026%20230%2026C330%2026%20380%2042%20480%2042C580%2042%20640%2024%20760%2024C870%2024%20920%2040%201020%2040C1110%2040%201150%2038%201200%2038V60H0ZM211%208.4L217.4%2013.7L214.2%2013.7L219.6%2018.3L215.3%2018.3L221.7%2023.5L212.1%2023.5L212.1%2027L209.9%2027L209.9%2023.5L200.3%2023.5L206.7%2018.3L202.4%2018.3L207.8%2013.7L204.6%2013.7ZM230%20-0.1L239.4%207.5L234.7%207.5L242.6%2014.3L236.3%2014.3L245.7%2021.9L231.6%2021.9L231.6%2027L228.4%2027L228.4%2021.9L214.3%2021.9L223.7%2014.3L217.4%2014.3L225.3%207.5L220.6%207.5ZM247%2012L252.2%2016.2L249.6%2016.2L253.9%2020L250.5%2020L255.7%2024.2L247.9%2024.2L247.9%2027L246.1%2027L246.1%2024.2L238.3%2024.2L243.5%2020L240.1%2020L244.4%2016.2L241.8%2016.2ZM741%206.4L747.4%2011.7L744.2%2011.7L749.6%2016.3L745.3%2016.3L751.7%2021.5L742.1%2021.5L742.1%2025L739.9%2025L739.9%2021.5L730.3%2021.5L736.7%2016.3L732.4%2016.3L737.8%2011.7L734.6%2011.7ZM760%20-2.1L769.4%205.5L764.7%205.5L772.6%2012.3L766.3%2012.3L775.7%2019.9L761.6%2019.9L761.6%2025L758.4%2025L758.4%2019.9L744.3%2019.9L753.7%2012.3L747.4%2012.3L755.3%205.5L750.6%205.5ZM777%2010L782.2%2014.2L779.6%2014.2L783.9%2018L780.5%2018L785.7%2022.2L777.9%2022.2L777.9%2025L776.1%2025L776.1%2022.2L768.3%2022.2L773.5%2018L770.1%2018L774.4%2014.2L771.8%2014.2ZM471%2026.3L476.5%2030.7L473.7%2030.7L478.3%2034.6L474.6%2034.6L480.1%2039.1L471.9%2039.1L471.9%2042L470.1%2042L470.1%2039.1L461.9%2039.1L467.4%2034.6L463.7%2034.6L468.3%2030.7L465.5%2030.7ZM488%2030.6L492%2033.8L490%2033.8L493.3%2036.6L490.6%2036.6L494.6%2039.9L488.7%2039.9L488.7%2042L487.3%2042L487.3%2039.9L481.4%2039.9L485.4%2036.6L482.7%2036.6L486%2033.8L484%2033.8ZM1011%2024.3L1016.5%2028.7L1013.7%2028.7L1018.3%2032.6L1014.6%2032.6L1020.1%2037.1L1011.9%2037.1L1011.9%2040L1010.1%2040L1010.1%2037.1L1001.9%2037.1L1007.4%2032.6L1003.7%2032.6L1008.3%2028.7L1005.5%2028.7ZM1028%2028.6L1032%2031.8L1030%2031.8L1033.3%2034.6L1030.6%2034.6L1034.6%2037.9L1028.7%2037.9L1028.7%2040L1027.3%2040L1027.3%2037.9L1021.4%2037.9L1025.4%2034.6L1022.7%2034.6L1026%2031.8L1024%2031.8ZM80%2024.1L84.5%2027.8L82.2%2027.8L86%2031L83%2031L87.4%2034.6L80.7%2034.6L80.7%2037L79.3%2037L79.3%2034.6L72.6%2034.6L77%2031L74%2031L77.8%2027.8L75.5%2027.8Z%27%20fill%3D%27white%27%20fill-opacity%3D%270.45%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") left bottom / 900px 101px repeat-x;
			pointer-events: none;
		}

		/* 1b. The home page clubs section sits on a full-width pastel band with hills along
		   its top and bottom edge — on both, a pale back ridge behind the band-coloured front
		   one — with spruces on both (on the bottom edge they are cut out of the band).
		   The band is a pseudo-element (100vw wide, centred on the section), so the section
		   itself keeps the normal content width; the top tiles are shifted so the two edges
		   don't line up. */
		.fz-kluby-sekcia {
			position: relative;
			isolation: isolate;
			padding: 7rem 0 6rem;
		}
		.fz-kluby-sekcia::before {
			content: "";
			position: absolute;
			z-index: -1;
			top: 0;
			bottom: 0;
			left: 50%;
			width: 100vw;
			transform: translateX(-50%);
			background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%2072%27%20preserveAspectRatio%3D%27none%27%3E%3Cg%20transform%3D%27translate%280%2012%29%27%3E%3Cpath%20d%3D%27M0%2046C90%2046%20150%2034%20250%2034C360%2034%20410%2052%20520%2052C620%2052%20680%2036%20800%2036C900%2036%20960%2050%201060%2050C1130%2050%201160%2046%201200%2046V60H0ZM231%2016.4L237.4%2021.7L234.2%2021.7L239.6%2026.3L235.3%2026.3L241.7%2031.5L232.1%2031.5L232.1%2035L229.9%2035L229.9%2031.5L220.3%2031.5L226.7%2026.3L222.4%2026.3L227.8%2021.7L224.6%2021.7ZM250%207.9L259.4%2015.5L254.7%2015.5L262.6%2022.3L256.3%2022.3L265.7%2029.9L251.6%2029.9L251.6%2035L248.4%2035L248.4%2029.9L234.3%2029.9L243.7%2022.3L237.4%2022.3L245.3%2015.5L240.6%2015.5ZM267%2020L272.2%2024.2L269.6%2024.2L273.9%2028L270.5%2028L275.7%2032.2L267.9%2032.2L267.9%2035L266.1%2035L266.1%2032.2L258.3%2032.2L263.5%2028L260.1%2028L264.4%2024.2L261.8%2024.2ZM781%2018.4L787.4%2023.7L784.2%2023.7L789.6%2028.3L785.3%2028.3L791.7%2033.5L782.1%2033.5L782.1%2037L779.9%2037L779.9%2033.5L770.3%2033.5L776.7%2028.3L772.4%2028.3L777.8%2023.7L774.6%2023.7ZM800%209.9L809.4%2017.5L804.7%2017.5L812.6%2024.3L806.3%2024.3L815.7%2031.9L801.6%2031.9L801.6%2037L798.4%2037L798.4%2031.9L784.3%2031.9L793.7%2024.3L787.4%2024.3L795.3%2017.5L790.6%2017.5ZM817%2022L822.2%2026.2L819.6%2026.2L823.9%2030L820.5%2030L825.7%2034.2L817.9%2034.2L817.9%2037L816.1%2037L816.1%2034.2L808.3%2034.2L813.5%2030L810.1%2030L814.4%2026.2L811.8%2026.2Z%27%20fill%3D%27%23EFEBFF%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") left -220px top / 900px 101px repeat-x, linear-gradient(#EFEBFF 0 0) center / 100% calc(100% - 200px) no-repeat, url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%2072%27%20preserveAspectRatio%3D%27none%27%3E%3Cg%20transform%3D%27translate%280%2012%29%27%3E%3Cpath%20d%3D%27M0%2044C40%2044%2060%2050%20120%2050C200%2050%20250%2038%20340%2038C430%2038%20470%2054%20560%2054C660%2054%20700%2034%20790%2034C880%2034%20930%2056%201020%2056C1100%2056%201140%2044%201200%2044V-12H0Z%27%20fill%3D%27%23EFEBFF%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") left bottom / 900px 101px repeat-x, #F6F3FF;
			-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%2072%27%20preserveAspectRatio%3D%27none%27%3E%3Cg%20transform%3D%27translate%280%2012%29%27%3E%3Cpath%20d%3D%27M0%2038C80%2038%20130%2026%20230%2026C330%2026%20380%2042%20480%2042C580%2042%20640%2024%20760%2024C870%2024%20920%2040%201020%2040C1110%2040%201150%2038%201200%2038V60H0ZM211%208.4L217.4%2013.7L214.2%2013.7L219.6%2018.3L215.3%2018.3L221.7%2023.5L212.1%2023.5L212.1%2027L209.9%2027L209.9%2023.5L200.3%2023.5L206.7%2018.3L202.4%2018.3L207.8%2013.7L204.6%2013.7ZM230%20-0.1L239.4%207.5L234.7%207.5L242.6%2014.3L236.3%2014.3L245.7%2021.9L231.6%2021.9L231.6%2027L228.4%2027L228.4%2021.9L214.3%2021.9L223.7%2014.3L217.4%2014.3L225.3%207.5L220.6%207.5ZM247%2012L252.2%2016.2L249.6%2016.2L253.9%2020L250.5%2020L255.7%2024.2L247.9%2024.2L247.9%2027L246.1%2027L246.1%2024.2L238.3%2024.2L243.5%2020L240.1%2020L244.4%2016.2L241.8%2016.2ZM741%206.4L747.4%2011.7L744.2%2011.7L749.6%2016.3L745.3%2016.3L751.7%2021.5L742.1%2021.5L742.1%2025L739.9%2025L739.9%2021.5L730.3%2021.5L736.7%2016.3L732.4%2016.3L737.8%2011.7L734.6%2011.7ZM760%20-2.1L769.4%205.5L764.7%205.5L772.6%2012.3L766.3%2012.3L775.7%2019.9L761.6%2019.9L761.6%2025L758.4%2025L758.4%2019.9L744.3%2019.9L753.7%2012.3L747.4%2012.3L755.3%205.5L750.6%205.5ZM777%2010L782.2%2014.2L779.6%2014.2L783.9%2018L780.5%2018L785.7%2022.2L777.9%2022.2L777.9%2025L776.1%2025L776.1%2022.2L768.3%2022.2L773.5%2018L770.1%2018L774.4%2014.2L771.8%2014.2ZM231%2016.4L237.4%2021.7L234.2%2021.7L239.6%2026.3L235.3%2026.3L241.7%2031.5L232.1%2031.5L232.1%2035L229.9%2035L229.9%2031.5L220.3%2031.5L226.7%2026.3L222.4%2026.3L227.8%2021.7L224.6%2021.7ZM250%207.9L259.4%2015.5L254.7%2015.5L262.6%2022.3L256.3%2022.3L265.7%2029.9L251.6%2029.9L251.6%2035L248.4%2035L248.4%2029.9L234.3%2029.9L243.7%2022.3L237.4%2022.3L245.3%2015.5L240.6%2015.5ZM267%2020L272.2%2024.2L269.6%2024.2L273.9%2028L270.5%2028L275.7%2032.2L267.9%2032.2L267.9%2035L266.1%2035L266.1%2032.2L258.3%2032.2L263.5%2028L260.1%2028L264.4%2024.2L261.8%2024.2ZM781%2018.4L787.4%2023.7L784.2%2023.7L789.6%2028.3L785.3%2028.3L791.7%2033.5L782.1%2033.5L782.1%2037L779.9%2037L779.9%2033.5L770.3%2033.5L776.7%2028.3L772.4%2028.3L777.8%2023.7L774.6%2023.7ZM800%209.9L809.4%2017.5L804.7%2017.5L812.6%2024.3L806.3%2024.3L815.7%2031.9L801.6%2031.9L801.6%2037L798.4%2037L798.4%2031.9L784.3%2031.9L793.7%2024.3L787.4%2024.3L795.3%2017.5L790.6%2017.5ZM817%2022L822.2%2026.2L819.6%2026.2L823.9%2030L820.5%2030L825.7%2034.2L817.9%2034.2L817.9%2037L816.1%2037L816.1%2034.2L808.3%2034.2L813.5%2030L810.1%2030L814.4%2026.2L811.8%2026.2Z%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") left -220px top / 900px 101px repeat-x, linear-gradient(#000 0 0) center / 100% calc(100% - 200px) no-repeat, url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%2072%27%20preserveAspectRatio%3D%27none%27%3E%3Cg%20transform%3D%27translate%280%2012%29%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M0%2056C60%2056%2090%2058%20150%2058C230%2058%20270%2048%20350%2048C440%2048%20490%2059%20580%2059C670%2059%20710%2046%20800%2046C890%2046%20960%2060%201040%2060C1110%2060%201150%2056%201200%2056V-12H0ZM321%2019.4L327.4%2024.7L324.2%2024.7L329.6%2029.3L325.3%2029.3L331.7%2034.5L322.1%2034.5L322.1%2038L319.9%2038L319.9%2034.5L310.3%2034.5L316.7%2029.3L312.4%2029.3L317.8%2024.7L314.6%2024.7ZM340%2010.9L349.4%2018.5L344.7%2018.5L352.6%2025.3L346.3%2025.3L355.7%2032.9L341.6%2032.9L341.6%2038L338.4%2038L338.4%2032.9L324.3%2032.9L333.7%2025.3L327.4%2025.3L335.3%2018.5L330.6%2018.5ZM357%2023L362.2%2027.2L359.6%2027.2L363.9%2031L360.5%2031L365.7%2035.2L357.9%2035.2L357.9%2038L356.1%2038L356.1%2035.2L348.3%2035.2L353.5%2031L350.1%2031L354.4%2027.2L351.8%2027.2ZM771%2015.4L777.4%2020.7L774.2%2020.7L779.6%2025.3L775.3%2025.3L781.7%2030.5L772.1%2030.5L772.1%2034L769.9%2034L769.9%2030.5L760.3%2030.5L766.7%2025.3L762.4%2025.3L767.8%2020.7L764.6%2020.7ZM790%206.9L799.4%2014.5L794.7%2014.5L802.6%2021.3L796.3%2021.3L805.7%2028.9L791.6%2028.9L791.6%2034L788.4%2034L788.4%2028.9L774.3%2028.9L783.7%2021.3L777.4%2021.3L785.3%2014.5L780.6%2014.5ZM807%2019L812.2%2023.2L809.6%2023.2L813.9%2027L810.5%2027L815.7%2031.2L807.9%2031.2L807.9%2034L806.1%2034L806.1%2031.2L798.3%2031.2L803.5%2027L800.1%2027L804.4%2023.2L801.8%2023.2Z%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") left bottom / 900px 101px repeat-x;
			mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%2072%27%20preserveAspectRatio%3D%27none%27%3E%3Cg%20transform%3D%27translate%280%2012%29%27%3E%3Cpath%20d%3D%27M0%2038C80%2038%20130%2026%20230%2026C330%2026%20380%2042%20480%2042C580%2042%20640%2024%20760%2024C870%2024%20920%2040%201020%2040C1110%2040%201150%2038%201200%2038V60H0ZM211%208.4L217.4%2013.7L214.2%2013.7L219.6%2018.3L215.3%2018.3L221.7%2023.5L212.1%2023.5L212.1%2027L209.9%2027L209.9%2023.5L200.3%2023.5L206.7%2018.3L202.4%2018.3L207.8%2013.7L204.6%2013.7ZM230%20-0.1L239.4%207.5L234.7%207.5L242.6%2014.3L236.3%2014.3L245.7%2021.9L231.6%2021.9L231.6%2027L228.4%2027L228.4%2021.9L214.3%2021.9L223.7%2014.3L217.4%2014.3L225.3%207.5L220.6%207.5ZM247%2012L252.2%2016.2L249.6%2016.2L253.9%2020L250.5%2020L255.7%2024.2L247.9%2024.2L247.9%2027L246.1%2027L246.1%2024.2L238.3%2024.2L243.5%2020L240.1%2020L244.4%2016.2L241.8%2016.2ZM741%206.4L747.4%2011.7L744.2%2011.7L749.6%2016.3L745.3%2016.3L751.7%2021.5L742.1%2021.5L742.1%2025L739.9%2025L739.9%2021.5L730.3%2021.5L736.7%2016.3L732.4%2016.3L737.8%2011.7L734.6%2011.7ZM760%20-2.1L769.4%205.5L764.7%205.5L772.6%2012.3L766.3%2012.3L775.7%2019.9L761.6%2019.9L761.6%2025L758.4%2025L758.4%2019.9L744.3%2019.9L753.7%2012.3L747.4%2012.3L755.3%205.5L750.6%205.5ZM777%2010L782.2%2014.2L779.6%2014.2L783.9%2018L780.5%2018L785.7%2022.2L777.9%2022.2L777.9%2025L776.1%2025L776.1%2022.2L768.3%2022.2L773.5%2018L770.1%2018L774.4%2014.2L771.8%2014.2ZM231%2016.4L237.4%2021.7L234.2%2021.7L239.6%2026.3L235.3%2026.3L241.7%2031.5L232.1%2031.5L232.1%2035L229.9%2035L229.9%2031.5L220.3%2031.5L226.7%2026.3L222.4%2026.3L227.8%2021.7L224.6%2021.7ZM250%207.9L259.4%2015.5L254.7%2015.5L262.6%2022.3L256.3%2022.3L265.7%2029.9L251.6%2029.9L251.6%2035L248.4%2035L248.4%2029.9L234.3%2029.9L243.7%2022.3L237.4%2022.3L245.3%2015.5L240.6%2015.5ZM267%2020L272.2%2024.2L269.6%2024.2L273.9%2028L270.5%2028L275.7%2032.2L267.9%2032.2L267.9%2035L266.1%2035L266.1%2032.2L258.3%2032.2L263.5%2028L260.1%2028L264.4%2024.2L261.8%2024.2ZM781%2018.4L787.4%2023.7L784.2%2023.7L789.6%2028.3L785.3%2028.3L791.7%2033.5L782.1%2033.5L782.1%2037L779.9%2037L779.9%2033.5L770.3%2033.5L776.7%2028.3L772.4%2028.3L777.8%2023.7L774.6%2023.7ZM800%209.9L809.4%2017.5L804.7%2017.5L812.6%2024.3L806.3%2024.3L815.7%2031.9L801.6%2031.9L801.6%2037L798.4%2037L798.4%2031.9L784.3%2031.9L793.7%2024.3L787.4%2024.3L795.3%2017.5L790.6%2017.5ZM817%2022L822.2%2026.2L819.6%2026.2L823.9%2030L820.5%2030L825.7%2034.2L817.9%2034.2L817.9%2037L816.1%2037L816.1%2034.2L808.3%2034.2L813.5%2030L810.1%2030L814.4%2026.2L811.8%2026.2Z%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") left -220px top / 900px 101px repeat-x, linear-gradient(#000 0 0) center / 100% calc(100% - 200px) no-repeat, url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%2072%27%20preserveAspectRatio%3D%27none%27%3E%3Cg%20transform%3D%27translate%280%2012%29%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M0%2056C60%2056%2090%2058%20150%2058C230%2058%20270%2048%20350%2048C440%2048%20490%2059%20580%2059C670%2059%20710%2046%20800%2046C890%2046%20960%2060%201040%2060C1110%2060%201150%2056%201200%2056V-12H0ZM321%2019.4L327.4%2024.7L324.2%2024.7L329.6%2029.3L325.3%2029.3L331.7%2034.5L322.1%2034.5L322.1%2038L319.9%2038L319.9%2034.5L310.3%2034.5L316.7%2029.3L312.4%2029.3L317.8%2024.7L314.6%2024.7ZM340%2010.9L349.4%2018.5L344.7%2018.5L352.6%2025.3L346.3%2025.3L355.7%2032.9L341.6%2032.9L341.6%2038L338.4%2038L338.4%2032.9L324.3%2032.9L333.7%2025.3L327.4%2025.3L335.3%2018.5L330.6%2018.5ZM357%2023L362.2%2027.2L359.6%2027.2L363.9%2031L360.5%2031L365.7%2035.2L357.9%2035.2L357.9%2038L356.1%2038L356.1%2035.2L348.3%2035.2L353.5%2031L350.1%2031L354.4%2027.2L351.8%2027.2ZM771%2015.4L777.4%2020.7L774.2%2020.7L779.6%2025.3L775.3%2025.3L781.7%2030.5L772.1%2030.5L772.1%2034L769.9%2034L769.9%2030.5L760.3%2030.5L766.7%2025.3L762.4%2025.3L767.8%2020.7L764.6%2020.7ZM790%206.9L799.4%2014.5L794.7%2014.5L802.6%2021.3L796.3%2021.3L805.7%2028.9L791.6%2028.9L791.6%2034L788.4%2034L788.4%2028.9L774.3%2028.9L783.7%2021.3L777.4%2021.3L785.3%2014.5L780.6%2014.5ZM807%2019L812.2%2023.2L809.6%2023.2L813.9%2027L810.5%2027L815.7%2031.2L807.9%2031.2L807.9%2034L806.1%2034L806.1%2031.2L798.3%2031.2L803.5%2027L800.1%2027L804.4%2023.2L801.8%2023.2Z%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") left bottom / 900px 101px repeat-x;
		}
		body { overflow-x: clip; }

		/* 2. Wavy underline on section headings */
		.fz-tint-card { --fz-ink: var(--fz-ink-red); }
		.fz-tint-card.fz-hero-red { --fz-ink: var(--fz-ink-red); }
		.fz-tint-card.fz-hero-orange { --fz-ink: var(--fz-ink-orange); }
		.fz-tint-card.fz-hero-green { --fz-ink: var(--fz-ink-blue); }
		.fz-tint-card.fz-hero-blue { --fz-ink: var(--fz-ink-red); }
		.fz-tint-card.fz-hero-pink { --fz-ink: var(--fz-ink-red); }
		.fz-tint-card.fz-hero-sky { --fz-ink: var(--fz-ink-orange); }
		.fz-tint-card > h2.wp-block-heading {
			position: relative;
			padding-bottom: 16px;
		}
		.fz-tint-card > h2.wp-block-heading::before {
			content: "";
			position: absolute;
			left: 0;
			bottom: 0;
			width: 96px;
			height: 12px;
			background: var(--fz-ink);
			opacity: .8;
			-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2012%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2%207C9%202.5%2015%202.5%2021%206.5S33%2010.5%2041%206%2055%202%2061%206.5%2075%2010.5%2083%206%2094%203%2098%205%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
			mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2012%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2%207C9%202.5%2015%202.5%2021%206.5S33%2010.5%2041%206%2055%202%2061%206.5%2075%2010.5%2083%206%2094%203%2098%205%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
		}
		.fz-tint-card > h2.has-text-align-center::before {
			left: 50%;
			transform: translateX(-50%);
		}

		/* 2b. Desktop header menu: the hovered / current item sits in a pastel bubble in the
		   colour of its page's hero card (class fz-nav-<colour> from the filter below; the
		   pastels match functions.php .fz-hero-*), in place of Blocksy's straight line.
		   The bubble is the link's ::after, centred on the text (the link itself is as tall
		   as the header). Fotogaléria (galeria.php) gets the mint bubble too. */
		#header .header-menu-1 > ul > li { --fz-bubble: var(--pastel-2); }
		#header .header-menu-1 > ul > li.fz-nav-red { --fz-bubble: var(--pastel-5); }
		#header .header-menu-1 > ul > li.fz-nav-orange { --fz-bubble: var(--pastel-2); }
		#header .header-menu-1 > ul > li.fz-nav-blue { --fz-bubble: var(--pastel-3); }
		#header .header-menu-1 > ul > li.fz-nav-green { --fz-bubble: var(--pastel-4); }
		#header .header-menu-1 > ul > li.fz-nav-pink { --fz-bubble: var(--pastel-1); }
		#header .header-menu-1 > ul > li.fz-nav-sky { --fz-bubble: var(--pastel-6); }
		#header .header-menu-1 > ul > li.fz-nav-mint { --fz-bubble: var(--pastel-7); }
		#header .header-menu-1 > ul > li > a {
			isolation: isolate;
		}
		#header .header-menu-1 > ul > li > a::after {
			top: 50%;
			bottom: auto;
			left: calc(var(--menu-items-spacing, 25px) / 2 - 10px);
			right: calc(var(--menu-items-spacing, 25px) / 2 - 10px);
			width: auto;
			height: 2.6em;
			margin: 0;
			z-index: -1;
			border-radius: 999px;
			background: var(--fz-bubble) !important;
			transform: translateY(-50%) scale(.85);
			transition: opacity .15s ease, transform .15s ease;
		}
		#header .header-menu-1 > ul > li:hover > a::after,
		#header .header-menu-1 > ul > li[class*='current-menu-'] > a::after {
			transform: translateY(-50%) scale(1);
		}
		#header .header-menu-1 > ul > li:hover > a,
		#header .header-menu-1 > ul > li[class*='current-menu-'] > a {
			color: var(--fz-text) !important;
		}

		/* 3. Arrow pointing at the seasonal banner in the hero (desktop layout only) */
		@media (min-width: 1000px) {
			.fz-hero-card > .fz-sezona { position: relative; }
			.fz-hero-card > .fz-sezona::before {
				content: "";
				position: absolute;
				top: -84px;
				left: -92px;
				width: 125px;
				height: 100px;
				background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2080%27%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%2016C36%202%2074%2012%2084%2058M71%2049%2084%2062%2093%2046%27%20stroke%3D%27white%27%20stroke-width%3D%279%27%2F%3E%3Cpath%20d%3D%27M8%2016C36%202%2074%2012%2084%2058M71%2049%2084%2062%2093%2046%27%20stroke%3D%27%23FF7A00%27%20stroke-width%3D%274%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
				pointer-events: none;
			}
		}

		/* 4. Offset colour shadow behind photos. The shadow goes on the <img> so a
		   <figcaption> below is unaffected; the figure's inline overflow:hidden would clip
		   it, hence the !important. */
		.entry-content [class*='wp-block-gallery'] > figure.wp-block-image,
		.entry-content .wp-block-column > figure.wp-block-image {
			--fz-offset: var(--fz-ink-yellow);
			overflow: visible !important;
			box-shadow: none !important;
			transform: none !important;
		}
		.entry-content [class*='wp-block-gallery'] > figure.wp-block-image:nth-child(4n+2) { --fz-offset: var(--fz-ink-red); }
		.entry-content [class*='wp-block-gallery'] > figure.wp-block-image:nth-child(4n+3) { --fz-offset: var(--fz-ink-green); }
		.entry-content [class*='wp-block-gallery'] > figure.wp-block-image:nth-child(4n+4) { --fz-offset: var(--fz-ink-blue); }
		.entry-content .wp-block-column:nth-child(even) > figure.wp-block-image { --fz-offset: var(--fz-ink-red); }
		.entry-content [class*='wp-block-gallery'] > figure.wp-block-image img,
		.entry-content .wp-block-column > figure.wp-block-image img {
			box-shadow: 10px 10px 0 var(--fz-offset);
			transition: transform .25s ease, box-shadow .25s ease;
		}
		.entry-content [class*='wp-block-gallery'] > figure.wp-block-image:hover img,
		.entry-content .wp-block-column > figure.wp-block-image:hover img {
			transform: translate(6px, 6px);
			box-shadow: 4px 4px 0 var(--fz-offset);
		}
		.entry-content [class*='wp-block-gallery'] > figure.wp-block-image figcaption,
		.entry-content .wp-block-column > figure.wp-block-image figcaption { margin-top: 16px; }
		@media (prefers-reduced-motion: reduce) {
			.entry-content [class*='wp-block-gallery'] > figure.wp-block-image img,
			.entry-content .wp-block-column > figure.wp-block-image img { transition: none; }
		}
	
		/* Coloured hills and spruces along the bottom of the hero cards (titulka-hero.php). On
		   narrow cards the drawing keeps its size and shows its middle part (the green hills). */
		:is(.fz-blok-hero, .fz-post-hero, .fz-gal-hero, .fz-blog-topic .fz-hero-card).fz-hero-card::after {
			height: 150px;
			background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20150%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2C150%20V104%20C46%2C82%20124%2C88%20152%2C124%20C162%2C138%20166%2C150%20166%2C150%20Z%22%20fill%3D%22%23B8E8F0%22%20opacity%3D%22.65%22%2F%3E%3Cpath%20d%3D%22M360%2C150%20C450%2C96%20580%2C58%20720%2C84%20C810%2C100%20870%2C130%20920%2C150%20Z%22%20fill%3D%22%23C6EFA6%22%20opacity%3D%22.55%22%2F%3E%3Cpath%20d%3D%22M270%2C150%20C340%2C120%20430%2C94%20530%2C100%20C650%2C106%20730%2C134%20810%2C150%20Z%22%20fill%3D%22%23C6EFA6%22%2F%3E%3Cpath%20d%3D%22M800%2C150%20C860%2C100%20960%2C70%201060%2C82%20C1140%2C92%201180%2C108%201200%2C118%20V150%20Z%22%20fill%3D%22%23FFE08A%22%2F%3E%3Cpath%20d%3D%22M560%2C28%20L577%2C72%20L543%2C72%20Z%20M560%2C48%20L586%2C94%20L534%2C94%20Z%20M560%2C72%20L594%2C113%20L526%2C113%20Z%20%22%20fill%3D%22%2386CF95%22%20stroke%3D%22%2386CF95%22%20stroke-width%3D%225%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M560%2C74%20V120%22%20stroke%3D%22%2355B36E%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M618%2C-4%20L632%2C46%20L604%2C46%20Z%20M618%2C19%20L639%2C71%20L597%2C71%20Z%20M618%2C46%20L646%2C92%20L590%2C92%20Z%20%22%20fill%3D%22%2386CF95%22%20stroke%3D%22%2386CF95%22%20stroke-width%3D%225%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M618%2C48%20V100%22%20stroke%3D%22%2355B36E%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M676%2C52%20L687%2C81%20L665%2C81%20Z%20M676%2C65%20L693%2C95%20L659%2C95%20Z%20M676%2C81%20L698%2C107%20L654%2C107%20Z%20%22%20fill%3D%22%2386CF95%22%20stroke%3D%22%2386CF95%22%20stroke-width%3D%225%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M676%2C82%20V112%22%20stroke%3D%22%2355B36E%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M1086%2C64%20L1096%2C94%20L1076%2C94%20Z%20M1086%2C78%20L1101%2C109%20L1071%2C109%20Z%20M1086%2C94%20L1106%2C121%20L1066%2C121%20Z%20M1086%2C121%20V126%22%20fill%3D%22none%22%20stroke%3D%22%2355B36E%22%20stroke-width%3D%223.5%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M1046%2C102%20L1052%2C116%20L1041%2C116%20Z%20M1046%2C109%20L1054%2C124%20L1038%2C124%20Z%20M1046%2C116%20L1057%2C130%20L1035%2C130%20Z%20M1046%2C130%20V132%22%20fill%3D%22none%22%20stroke%3D%22%2355B36E%22%20stroke-width%3D%223.5%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M1126%2C90%20L1133%2C109%20L1120%2C109%20Z%20M1126%2C99%20L1136%2C119%20L1116%2C119%20Z%20M1126%2C109%20L1139%2C127%20L1113%2C127%20Z%20M1126%2C127%20V130%22%20fill%3D%22none%22%20stroke%3D%22%2355B36E%22%20stroke-width%3D%223.5%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") 46% bottom / max(100%, 1200px) 150px no-repeat;
		}
		@media (max-width: 999.98px) {
			/* Single column: the drawing is lower than the card's bottom padding (7.5rem) and
			   lies over the content, so the spruces stand in front of the bottom brush stroke
			   where they meet (owner: a smaller gap under the collage / banner, the spruces
			   may cover part of the stroke). */
			:is(.fz-blok-hero, .fz-post-hero, .fz-gal-hero, .fz-blog-topic .fz-hero-card).fz-hero-card::after {
				z-index: 2; height: 108px; background-size: max(100%, 864px) 108px;
			}
		}

		.wp-block-group.fz-blok-hero {
			border-radius: 32px;
			padding: clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,5vw,3rem) 7.5rem;
			margin-bottom: 3.5rem;
		}
		.fz-blok-hero h1.wp-block-heading {
			color: var(--fz-text);
			font-size: clamp(2rem,5vw,3rem);
			line-height: 1.15;
			margin-top: 0;
			margin-bottom: 1rem;
		}
		p.fz-pill {
			display: inline-block;
			background: #ffffff;
			color: #c8623f;
			font-weight: 600;
			font-size: 0.8rem;
			letter-spacing: 0.06em;
			text-transform: uppercase;
			padding: 0.4rem 1rem;
			border-radius: 999px;
			margin-bottom: 1.25rem;
		}
		p.fz-perex { color: #4b5563; font-size: 1.05rem; max-width: 68ch; }

		.wp-block-group.fz-blok-sekcia {
			border-radius: 24px;
			padding: clamp(2rem,5vw,3rem) clamp(1.5rem,5vw,2.5rem);
			margin-bottom: 2rem;
		}
		.fz-blok-sekcia > h2.wp-block-heading { color: var(--fz-text); margin-top: 0; margin-bottom: 1.25rem; }
		.fz-blok-sekcia { transition: transform .25s ease, box-shadow .25s ease; }
		/* Lift only on devices with a mouse, never on touch — see functions.php. */
		@media (hover: hover) {
			.fz-blok-hero:hover, .fz-blok-sekcia:hover {
				transform: translateY(-4px);
				box-shadow: 0 16px 32px -12px rgba(16,24,40,.18);
			}
		}

		.wp-block-columns.fz-blok-stlpce { align-items: flex-start; margin-bottom: 2rem; }

		.wp-block-details.fz-otazka {
			background: #ffffff;
			border: 1px solid #eef0f2;
			border-radius: 16px;
			padding: 1rem 1.25rem;
			margin-bottom: 0.75rem;
		}
		.wp-block-details.fz-otazka:last-child { margin-bottom: 0; }
		.fz-otazka > summary { cursor: pointer; font-weight: 600; color: var(--fz-text); }
		.fz-otazka > p { color: #6b7280; margin-top: 0.75rem; }

		.wp-block-group.fz-blok-pruh {
			border-radius: 20px;
			background: #f8fafc;
			border: 1px solid #eef0f2;
			padding: 1.5rem 2rem;
			margin-bottom: 2rem;
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: space-between;
			gap: 1rem;
		}
		.fz-blok-pruh > p { margin: 0; color: #6b7280; }
		.fz-blok-pruh > p strong { color: var(--fz-text); font-size: 1.05rem; }
		.fz-blok-pruh > .wp-block-buttons { margin: 0; }
		/* Blocksy outline-button rules use long selectors — match them in specificity. */
		.fz-blok-pruh > .wp-block-buttons > .wp-block-button > .wp-block-button__link.wp-element-button {
			border-radius: 999px;
			border: 1px solid;
			padding: 0.65rem 1.25rem;
			white-space: nowrap;
		}
		.fz-blok-pruh > .wp-block-buttons > .wp-block-button:not(:last-child) > .wp-block-button__link { margin-right: 0.5rem; }

		.fz-blok-cta {
			border-radius: 28px;
			padding: clamp(2.25rem,5vw,3.5rem) clamp(1.5rem,5vw,3rem) 7.5rem;
			text-align: center;
		}
		.fz-blok-cta > h2.wp-block-heading { color: var(--fz-text); margin-top: 0; margin-bottom: 0.75rem; }
		.fz-blok-cta > p { color: #4b5563; max-width: 60ch; margin-left: auto; margin-right: auto; }
		.fz-blok-cta > .wp-block-buttons { justify-content: center; margin-top: 1.25rem; }
		.fz-blok-cta .wp-block-button__link { border-radius: 999px; padding: 0.9rem 1.75rem; }

		/* Kontakt: bigger bottom card, even padding. */
		.wp-block-group.fz-blok-cta-velka {
			border-radius: 32px;
			padding: clamp(2.5rem,6vw,3.5rem) clamp(2.5rem,6vw,3.5rem) 7.5rem;
			text-align: center;
		}
		.fz-blok-cta-velka > h2.wp-block-heading { color: var(--fz-text); margin-top: 0; margin-bottom: 0.75rem; }
		.fz-blok-cta-velka > p { color: #4b5563; max-width: 56ch; margin: 0 auto 1.5rem; }

		/* Legal pages: light grey card with a thin border. */
		.wp-block-group.fz-blok-siva {
			border-radius: 24px;
			background: #f8fafc;
			border: 1px solid #eef0f2;
			padding: clamp(2rem,5vw,3rem);
			margin-bottom: 2rem;
		}

		/* Smaller coloured card (Kontakt), with a pill, h3 and content. */
		.wp-block-group.fz-blok-karta { border-radius: 24px; padding: clamp(1.75rem,4vw,2.25rem); }
		.fz-blok-karta > h3.wp-block-heading { color: var(--fz-text); margin-top: 0; margin-bottom: 0.75rem; }
		.wp-block-group.fz-plna-vyska { height: 100%; }

		.fz-blok-sekcia, .fz-blok-siva, .fz-blok-karta { transition: transform .25s ease, box-shadow .25s ease; }
		@media (hover: hover) {
			.fz-blok-siva:hover, .fz-blok-karta:hover, .fz-blok-cta-velka:hover {
				transform: translateY(-4px);
				box-shadow: 0 16px 32px -12px rgba(16,24,40,.18);
			}
		}

		/* Ďakujeme: note with an emoji on the left. */
		.wp-block-group.fz-blok-poznamka {
			border-radius: 20px;
			padding: 1.5rem 1.75rem;
			margin-bottom: 2.5rem;
			display: flex;
			gap: 0.9rem;
			align-items: flex-start;
		}
		.fz-blok-poznamka > p { margin: 0; }
		.fz-blok-poznamka > p:not(.fz-ikona) { color: #4b5563; }
		.fz-blok-poznamka > p.fz-ikona { font-size: 1.4rem; line-height: 1; }

		/* Pill variants. */
		p.fz-pill.fz-pill-zelena { color: #1E9E4A; }
		p.fz-pill.fz-pill-tmava { color: var(--fz-text); }
		p.fz-pill.fz-pill-tesna { margin-bottom: 1rem; }
		p.fz-pill.fz-pill-odstup { margin-top: 1.5rem; }

		/* Text. */
		p.fz-seda { color: #4b5563; }
		p.fz-svetlosiva { color: #6b7280; }
		.fz-tmavy { color: var(--fz-text) !important; }
		p.fz-zvyraznene { color: var(--fz-text); font-size: 1.2rem; font-weight: 700; max-width: 60ch; margin-bottom: 0.5rem; }
		p.fz-email-riadok { color: var(--fz-text); font-weight: 600; font-size: 1.05rem; margin-top: 0; }
		p.fz-email-riadok a { color: #c8623f; }
		ul.fz-zoznam-tel { color: var(--fz-text); font-weight: 600; list-style: none; margin-left: 0; padding-left: 0; }
		ul.fz-zoznam-tel a { color: var(--fz-text); }

		/* Kontakt: social links row. */
		p.fz-soc { margin-bottom: 2rem; }
		p.fz-soc a {
			color: var(--fz-text);
			font-weight: 600;
			margin: 0 0.75rem;
			display: inline-flex;
			align-items: center;
			gap: 6px;
			vertical-align: middle;
		}

		/* Buttons: less rounded corners; outline button (class on the button block). */
		.wp-block-button.fz-btn-hranate > .wp-block-button__link { border-radius: 10px; }
		.wp-block-button.fz-btn-obrys > .wp-block-button__link {
			background-color: transparent !important;
			color: #FF7A00 !important;
			border: 2px solid #FF7A00 !important;
			box-shadow: none;
		}

		/* Domov. */
		.fz-blok-hero h1.wp-block-heading.fz-h1-velky { font-size: clamp(2.25rem,6vw,3.5rem); line-height: 1.1; }
		p.fz-perex.fz-perex-velky { font-size: 1.1rem; }
		.wp-block-group.fz-karta-tesna { padding: clamp(1.5rem,3.5vw,2rem); }
		.wp-block-group.fz-karta-velka { padding: clamp(2rem,5vw,3rem); }
		.wp-block-group.fz-stred { text-align: center; }
		/* core sets align-items: normal !important on every Columns block. */
		.wp-block-columns.fz-stred-zvisle { align-items: center !important; }
		.wp-block-group.fz-blok-pas {
			padding-top: 1.5rem;
			padding-bottom: 1.5rem;
			margin-bottom: 2rem;
			border-top: 1px solid #e5e7eb;
			border-bottom: 1px solid #e5e7eb;
		}
		.wp-block-column.fz-stat { text-align: center; }
		p.fz-stat-cislo { font-size: 1.8rem; font-weight: 700; color: var(--fz-text); margin: 0; }
		p.fz-stat-cislo.fz-stat-oranzove { color: #c8623f; }
		p.fz-stat-cislo a { color: inherit; text-decoration: none; }
		p.fz-stat-cislo a:hover, p.fz-stat-cislo a:focus-visible { text-decoration: underline; }
		p.fz-stat-popis { color: #4b5563; font-size: 0.9rem; margin: 0; }
		:is(h2, h3).wp-block-heading.fz-nadpis { color: var(--fz-text); margin-top: 0; margin-bottom: 0.75rem; }
		:is(h2, h3).wp-block-heading.fz-nadpis.fz-nadpis-1 { margin-bottom: 1rem; }
		h2.wp-block-heading.fz-nadpis-stred { color: var(--fz-text); text-align: center; margin-bottom: 0.5rem; }
		p.fz-p-cta { color: #4b5563; max-width: 56ch; margin: 0 auto 1.5rem; }
		p.fz-p-stred-2 { margin: 0 auto 2rem; }
		p.fz-p-stred-15 { margin: 0 auto 1.5rem; }
		p.fz-tel-male { color: #4b5563; margin-top: 1rem; font-size: 0.9rem; }
		p.fz-tel-male a { color: inherit; }
		ul.fz-zoznam-tucny { color: var(--fz-text); font-weight: 600; }
		ul.fz-zoznam-sedy { color: #4b5563; }

		/* Miesto, Škola v prírode, Letný tábor. */
		.wp-block-group.fz-relativ { position: relative; }
		.wp-block-group.fz-sekcia-spodok-mensi { padding-bottom: clamp(1.5rem,5vw,2rem); }
		.wp-block-heading.fz-nadpis.fz-nadpis-oranzovy { color: #c8623f; }
		.wp-block-heading.fz-nadpis.fz-nadpis-035 { margin-bottom: 0.35rem; }
		p.fz-tmavy-text { color: var(--fz-text); }
		p.fz-p-stred { margin-left: auto; margin-right: auto; }
		.wp-block-buttons > .wp-block-button.fz-btn-velke > .wp-block-button__link.wp-element-button { border-radius: 999px; padding: 0.9rem 1.75rem; }
		.wp-block-buttons > .wp-block-button.fz-btn-tenky > .wp-block-button__link.wp-element-button { border-width: 1px; }

		/* Photo (Image block): fixed height, cropped, rounded; caption small grey. */
		.wp-block-image.fz-foto { margin: 0; }
		.wp-block-image.fz-foto img { width: 100%; object-fit: cover; border-radius: 16px; display: block; }
		.wp-block-image.fz-foto-220 img { height: 220px; }
		.wp-block-image.fz-foto-280 img { height: 280px; }
		/* margin-top !important: functions.php gives figcaptions in columns 16px. */
		.wp-block-image.fz-foto figcaption.wp-element-caption { text-align: center; color: #6b7280; font-size: 0.9rem; margin-top: 0.5rem !important; margin-bottom: 0; }

		/* Grid of tiles / photos (Group block). */
		.wp-block-group.fz-mriezka { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 1rem; }
		.wp-block-group.fz-mriezka > * { margin: 0; }
		.wp-block-group.fz-mriezka.fz-min-140 { grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); }
		.wp-block-group.fz-mriezka.fz-min-200 { grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); }
		.wp-block-group.fz-mriezka.fz-min-220 { grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); }
		.wp-block-group.fz-mriezka.fz-medzera-075 { gap: 0.75rem; }
		.wp-block-group.fz-mriezka.fz-medzera-125 { gap: 1.25rem; }
		.wp-block-group.fz-mriezka.fz-zarovnaj-stred { align-items: center; }
		.wp-block-group.fz-dlazdica { background: #ffffff; border: 1px solid #eef0f2; border-radius: 16px; padding: 1.25rem 1.4rem; }
		.wp-block-group.fz-dlazdica > p { margin: 0; }
		.fz-dlazdica strong { color: var(--fz-text); }
		.fz-dlazdica .fz-popis { color: #6b7280; font-size: 0.95rem; }
		.fz-dlazdica .fz-tmavy-text { color: var(--fz-text); }
		.fz-dlazdica .fz-emoji { font-size: 20px; }
		.wp-block-group.fz-dlazdica-ikona { padding: 1.1rem 1.3rem; }
		.wp-block-group.fz-dlazdica-mala { border-radius: 12px; padding: 0.85rem 1.1rem; text-align: center; }
		.fz-dlazdica-mala .fz-popis { font-size: 0.9rem; }

		.wp-block-group.fz-sekcia-spodok-05 { padding-bottom: 0.5rem; }
		.wp-block-details.fz-otazka.fz-otazka-odstup { margin-top: 1rem; }
		/* Document row (Časté otázky #dokumenty, 2026-10-08): icon | name + who it is for | button. */
		.wp-block-group.fz-dokument {
			display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
			background: #ffffff; border: 1px solid #eef0f2; border-radius: 16px;
			padding: 1rem 1.25rem; margin-top: 0.75rem;
		}
		.fz-dokument > p { margin: 0; }
		.fz-dokument > p.fz-dokument-ikona { font-size: 1.75rem; line-height: 1; }
		.fz-dokument > p.fz-dokument-text { flex: 1 1 220px; }
		.fz-dokument .fz-popis { color: #6b7280; font-size: 0.9rem; }
		.fz-dokument > .wp-block-buttons { margin: 0; }
		h1.fz-sirka-16 { max-width: 16ch; }
		.wp-block-heading.fz-nadpis.fz-nadpis-125 { margin-bottom: 1.25rem; }
		.wp-block-heading.fz-nadpis.fz-nadpis-15 { margin-bottom: 1.5rem; }
		p.fz-tucny { font-weight: 600; }
		p.fz-kontakty a { color: inherit; }
		.fz-blok-cta > p:not(.fz-kontakty) a { color: #c8623f; text-decoration: underline; }
		.wp-block-button.fz-btn-svp > .wp-block-button__link {
			background-color: #1E9E4A !important;
			border-color: #1E9E4A !important;
			box-shadow: 0 8px 20px -6px rgba(30,158,74,.5);
		}
		.fz-dlazdica .fz-popis a { color: var(--fz-text); }
		.wp-block-group.fz-mriezka.fz-medzera-05-15 { gap: 0.5rem 1.5rem; }
		.wp-block-group.fz-mriezka.fz-mriezka-hore-15 { margin-top: 1.5rem; }

		/* Club tile: the pictogram is drawn here (the tile has class fz-ico-<name>, which sets
		   --fz-ico in kluby.php; colours rotate via .fz-kluby > :nth-child there). ::before =
		   the 56px tinted square, ::after = the 34px icon on top of it. */
		.wp-block-group.fz-dlazdica-klub { position: relative; }
		.fz-dlazdica-klub::before {
			content: "";
			display: block;
			width: 56px;
			height: 56px;
			border-radius: 16px;
			background: var(--fz-ico-bg, #ffe4cc);
			transition: transform .25s ease;
		}
		.fz-dlazdica-klub::after {
			content: "";
			position: absolute;
			top: calc(1.25rem + 11px);
			left: calc(1.4rem + 11px);
			width: 34px;
			height: 34px;
			background: var(--fz-ico-fg, #e8762d);
			-webkit-mask: var(--fz-ico) center / contain no-repeat;
			mask: var(--fz-ico) center / contain no-repeat;
			transition: transform .25s ease;
		}
		.fz-kluby > .fz-dlazdica-klub:hover::before,
		.fz-kluby > .fz-dlazdica-klub:hover::after { transform: rotate(-8deg) scale(1.08); }
		.fz-dlazdica-klub strong { display: block; margin-top: 0.8rem; }

		/* Numbered steps ("Ako si objednať pobyt"). */
		.wp-block-group.fz-krok { text-align: center; }
		.wp-block-group.fz-krok > p { margin: 0; }
		.wp-block-group.fz-krok > p.fz-krok-cislo {
			width: 44px;
			height: 44px;
			border-radius: 50%;
			background: #c8623f;
			color: #ffffff;
			display: flex;
			align-items: center;
			justify-content: center;
			font-weight: 700;
			margin: 0 auto 0.75rem;
		}
		.wp-block-group.fz-krok > p.fz-krok-cislo-oranzove { background: #ff7a00; }
		.fz-krok strong { color: var(--fz-text); display: block; margin-bottom: 0.35rem; }
		.fz-krok .fz-popis { color: #6b7280; font-size: 0.9rem; }
		.fz-krok .fz-popis a { color: #c8623f; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

		/* Timeline ("Ako vyzerá bežný deň"). */
		.wp-block-group.fz-os { position: relative; max-width: 56ch; }
		.wp-block-group.fz-os > .fz-os-krok { margin: 0; }
		.wp-block-group.fz-os-krok { position: relative; display: flex; gap: 1rem; padding-bottom: 1.5rem; }
		.wp-block-group.fz-os-krok:last-child { padding-bottom: 0; }
		/* Daily schedule in columns (Letný tábor 3, Škola v prírode 2; 2026-10-08):
		   white card per part of the day, compact rows "time | activity", meals orange. */
		.wp-block-columns.fz-den { margin-top: 1.25rem; }
		.wp-block-group.fz-den-stlpec { background: #ffffff; border-radius: 16px; padding: 1.25rem 1.4rem; height: 100%; }
		.fz-den-stlpec > h3.wp-block-heading.fz-den-nadpis { font-size: 1.1rem; color: var(--fz-text); margin: 0 0 0.6rem; }
		.fz-den-stlpec > p.fz-den-riadok {
			display: grid; grid-template-columns: 3.4rem 1fr; gap: 0.6rem;
			margin: 0; padding: 0.4rem 0; border-top: 1px solid #f1f1f4;
			font-size: 0.95rem; line-height: 1.4; color: #4b5563;
		}
		.fz-den-riadok strong { color: var(--fz-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
		/* Time ranges ("14:30 – 16:00", Škola v prírode): a wider time column. */
		.fz-den.fz-den-rozsahy .fz-den-stlpec > p.fz-den-riadok { grid-template-columns: 7.6rem 1fr; }
		.fz-den-stlpec > p.fz-den-riadok.fz-den-jedlo, .fz-den-riadok.fz-den-jedlo strong { color: #c8623f; }
		.wp-block-group.fz-os-krok > p { margin: 0; }
		.wp-block-group.fz-os-krok > p.fz-os-ikona {
			flex: 0 0 auto;
			width: 40px;
			height: 40px;
			border-radius: 50%;
			background: #6366f1;
			color: #ffffff;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 17px;
		}
		.wp-block-group.fz-os-krok > p.fz-os-text { padding-top: 0.4rem; }
		.fz-os-text strong { color: var(--fz-text); }
		.fz-os-text .fz-popis { color: #6b7280; font-size: 0.95rem; }

		/* Text beside a photo. */
		.wp-block-group.fz-vedla { display: flex; flex-wrap: wrap; gap: 2rem; align-items: stretch; }
		.wp-block-group.fz-vedla > * { margin: 0; }
		.wp-block-group.fz-vedla-text { flex: 1 1 340px; min-width: 0; }
		/* It used to be a plain div, so a paragraph at its end kept the normal bottom spacing. */
		.wp-block-group.fz-vedla-text > p:last-child { margin-block-end: var(--theme-content-spacing); }
		.wp-block-image.fz-vedla-foto { flex: 1 1 260px; margin: 0; min-height: 260px; position: relative; }
		.wp-block-image.fz-vedla-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 16px; display: block; }
		.wp-block-image.fz-foto-48-60 img { object-position: 48% 60%; }
		.wp-block-image.fz-vedla-foto-32 { flex: 1 1 340px; margin: 0; align-self: center; }
		.wp-block-image.fz-vedla-foto-32 img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border-radius: 16px; display: block; }
		.wp-block-group.fz-vedla-okna { flex: 1 1 340px; min-width: 0; align-self: center; }

		/* Spacing helpers — last, so they win over the block rules above. */
		:is(.wp-block-group, .wp-block-columns).fz-mezera-15 { margin-bottom: 1.5rem; }
		:is(.wp-block-group, .wp-block-columns).fz-mezera-2 { margin-bottom: 2rem; }
		:is(.wp-block-group, .wp-block-columns).fz-mezera-25 { margin-bottom: 2.5rem; }
		.wp-block-buttons.fz-hore-1 { margin-top: 1rem; }
		.wp-block-buttons.fz-hore-15 { margin-top: 1.5rem; }
		p.fz-sirka-60 { max-width: 60ch; }
		p.fz-p-1 { margin-bottom: 1rem; }
		p.fz-p-125 { margin-bottom: 1.25rem; }
		p.fz-p-15 { margin-bottom: 1.5rem; }
		p.fz-p-hore-0 { margin-top: 0; }
		p.fz-p-05 { margin-bottom: 0.5rem; }
		p.fz-p-hore-1 { margin-top: 1rem; }
		p.fz-p-hore-15 { margin-top: 1.5rem; }
		p.fz-sirka-70 { max-width: 70ch; }
		.wp-block-buttons.fz-hore-125 { margin-top: 1.25rem; }
		h1.fz-sirka-18 { max-width: 18ch; }
		h1.fz-sirka-20 { max-width: 20ch; }
		h1.fz-sirka-22 { max-width: 22ch; }

		@media (prefers-reduced-motion: reduce) {
			.fz-blok-sekcia, .fz-blok-siva, .fz-blok-karta { transition: none; }
		}
	

		/* Mascot F (maskot.php): fz-f-sedi / -visi / -vykuka / -lezi on a section, fz-f-ukazuje on a
		   Buttons block; modifiers fz-f-vlavo, fz-f-stoj. The figure itself is svg.fz-f inside. */
		/* z-index: the section with the figure always paints above its neighbours. Without it a
		   neighbour that is just lifting on hover or fading in on scroll (a transform makes it a
		   layer of its own) covered the part of the figure reaching over it. */
		.fz-f-sedi, .fz-f-visi, .fz-f-vykuka, .fz-f-lezi { position: relative; z-index: 1; --fz-f-u: .95px; --fz-f-x: 64px; }
		/* The figure is the last child of the section now, so the block before it no longer gets
		   the WordPress rule „last child has no bottom margin“ (:root :where(.is-layout-flow) > :last-child).
		   The same for it, weighted exactly in between (0,1,1 — the :not(svg) is only there for the
		   weight): above the Blocksy rule that gives every block its bottom margin (0,1,0, loaded
		   later), below a block with a bottom margin of its own (.wp-block-columns.fz-blok-stlpce
		   of the day programme, 0,2,0), which keeps it as before. Checked 2026-10-11: the height of
		   every section on the seven pages is the same to the pixel as without the figure. */
		:where(.fz-f-sedi, .fz-f-visi, .fz-f-vykuka, .fz-f-lezi) > :nth-last-child(2):not(svg) { margin-block-end: 0; }
		svg.fz-f { display: block; flex: none; pointer-events: none; }
		:is(.fz-f-sedi, .fz-f-visi, .fz-f-vykuka, .fz-f-lezi) > svg.fz-f { position: absolute; z-index: 2; right: var(--fz-f-x); margin: 0; }
		.fz-f-vlavo > svg.fz-f { right: auto; left: var(--fz-f-x); }
		/* On a gallery tile (galeria-album.php, first tile of the Fotogaléria page): the tile clips
		   its content to round the photo, so let the figure out and round the photo itself. */
		.fz-gal-dlazdica[class*="fz-f-"] { overflow: visible; --fz-f-x: 28%; }
		.fz-gal-dlazdica[class*="fz-f-"] .fz-gal-dlazdica-obal { border-radius: 20px 20px 0 0; }
		.wp-block-buttons.fz-f-ukazuje { align-items: center; }
		svg.fz-f--ukazuje { width: 39px; height: 66px; margin-left: -4px; }
		@media (max-width: 689.98px) {
			.fz-f-sedi, .fz-f-visi, .fz-f-vykuka, .fz-f-lezi { --fz-f-u: .65px; --fz-f-x: 24px; }
			/* Hanging, it reaches into the next section: on phones no further than the top padding of that section. */
			.fz-f-visi { --fz-f-u: .5px; }
			.fz-gal-dlazdica[class*="fz-f-"] .fz-gal-dlazdica-obal { border-radius: 16px 16px 0 0; }
			svg.fz-f--ukazuje { width: 32px; height: 54px; }
		}
		.fz-fl{fill:none;stroke:#2E2140;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}.fz-ft{stroke-width:2.2}.fz-fd{fill:#2E2140}.fz-fw{fill:#fff}.fz-fo{fill:#FF7A00;stroke:#FF7A00;stroke-width:3;stroke-linejoin:round}
		/* Movement: legs (a, b) and the waving / pointing / kicking limb or the whole body (c).
		   transform-origin in SVG units = the hip, the shoulder, the hands. */
		@keyframes fz-f-k { from { transform: rotate(-9deg); } to { transform: rotate(9deg); } }
		@keyframes fz-f-s { from { transform: rotate(-4deg); } to { transform: rotate(4deg); } }
		@keyframes fz-f-p { from { transform: translateY(0); } to { transform: translateY(17px); } }
		.fz-fa, .fz-fb, .fz-fc { transform-box: view-box; animation: fz-f-k 1.4s ease-in-out infinite alternate; }
		.fz-fa { transform-origin: 4px 75px; }
		.fz-fb { transform-origin: 12px 74px; animation-delay: -.7s; }
		.fz-f--sedi .fz-fc { transform-origin: 2px 44px; animation-duration: .5s; }
		.fz-f--visi .fz-fc { transform-origin: 18px -24px; animation-name: fz-f-s; animation-duration: 2.2s; }
		.fz-f--vykuka .fz-fc { animation-name: fz-f-p; animation-duration: 2.6s; }
		.fz-f--lezi .fz-fc { transform-origin: 73px -12px; animation-duration: .9s; }
		.fz-f--ukazuje .fz-fc { transform-origin: 2px 44px; animation-duration: .6s; }
		.fz-f-stoj .fz-fa, .fz-f-stoj .fz-fb, .fz-f-stoj .fz-fc { animation: none; }
		/* F on the phone in a page hero: the mouth talks (h), the sound waves at the phone
		   blink (i), the free hand gestures (c), one foot taps (b), the whole figure sways a
		   little (g). In the middle of the empty right part of the card, vertically centred
		   (the feet reach the hills); on phones small in the top right corner. */
		.fz-fg { transform-box: view-box; transform-origin: 8px 98px; animation: fz-f-s 2.4s ease-in-out infinite alternate; }
		.fz-fh { transform-box: view-box; transform-origin: 9.5px 32px; animation: fz-f-m .28s ease-in-out infinite alternate; }
		.fz-fi { animation: fz-f-z .9s ease-in-out infinite alternate; }
		.fz-f--telefonuje .fz-fc { transform-origin: 27px 40px; animation-duration: .9s; }
		.fz-f--telefonuje .fz-fb { animation-duration: .45s; }
		@keyframes fz-f-m { from { transform: scaleY(.25); } to { transform: scaleY(1); } }
		@keyframes fz-f-z { from { opacity: .15; } to { opacity: 1; } }
		/* Writing F (Blog): the pencil arm scribbles. F with a camera (Fotogaléria): the camera
		   dips a little, the flash (z) goes off every 3.5 s. Both stand like the F on the phone. */
		.fz-f--pise .fz-fc { transform-origin: 27px 46px; animation-name: fz-f-s; animation-duration: .22s; }
		.fz-f--foti .fz-fc { transform-origin: 17px 46px; animation-name: fz-f-s; animation-duration: 1.75s; }
		.fz-f--foti .fz-fz { animation: fz-f-b 3.5s linear infinite; }
		:is(.fz-f--pise, .fz-f--foti) .fz-fb { animation-duration: .5s; }
		@keyframes fz-f-b { 0%, 90% { opacity: 0; } 92%, 96% { opacity: 1; } 100% { opacity: 0; } }
		svg:is(.fz-f--telefonuje, .fz-f--pise, .fz-f--foti) { position: absolute; z-index: 1; top: 12px; right: 14px; width: 72px; height: 92px; margin: 0; }
		@media (min-width: 700px) {
			/* Half way between the end of the text (about 36rem from the left edge) and the
			   right edge of the card; half way up the card. */
			svg:is(.fz-f--telefonuje, .fz-f--pise, .fz-f--foti) { top: calc(50% - 98px); right: auto; left: calc(50% + 18rem - 77px); width: 154px; height: 196px; }
		}
		/* Thinking F in a page hero: the hand on the chin taps slowly (c), the question mark
		   bobs (q), the light bulb is lit for a moment every 7 seconds (z). At the right edge
		   of the card, vertically centred — the Časté otázky heading is long, so there is no
		   wide empty part; on phones small at the bottom right, on the hills. */
		.fz-f--premysla .fz-fc { transform-origin: 27px 46px; animation-name: fz-f-s; animation-duration: .7s; }
		.fz-f--premysla .fz-fb { animation-duration: .6s; }
		.fz-fq { animation: fz-f-o 1.6s ease-in-out infinite alternate; }
		.fz-fz { opacity: 0; animation: fz-f-n 7s linear infinite; }
		@keyframes fz-f-o { from { transform: translateY(0); } to { transform: translateY(-5px); } }
		@keyframes fz-f-n { 0%, 78% { opacity: 0; } 82%, 96% { opacity: 1; } 100% { opacity: 0; } }
		/* Phones: at the bottom of the card, feet on the hills — the long heading leaves no room in the top corner. */
		svg.fz-f--premysla { position: absolute; z-index: 1; top: auto; bottom: 22px; right: 16px; width: 62px; height: 93px; margin: 0; }
		@media (min-width: 900px) {
			svg.fz-f--premysla { top: calc(50% - 112px); bottom: auto; right: clamp(1.5rem, 6%, 6rem); width: 140px; height: 210px; }
		}
		@media (prefers-reduced-motion: reduce) { .fz-fa, .fz-fb, .fz-fc, .fz-fg, .fz-fh, .fz-fi, .fz-fq, .fz-fz { animation: none; } }
	svg.fz-f--sedi { width: calc(78 * var(--fz-f-u)); height: calc(110 * var(--fz-f-u)); top: calc(-79 * var(--fz-f-u)); }
svg.fz-f--visi { width: calc(80 * var(--fz-f-u)); height: calc(134 * var(--fz-f-u)); top: calc(100% - 6 * var(--fz-f-u)); }
svg.fz-f--vykuka { width: calc(48 * var(--fz-f-u)); height: calc(40 * var(--fz-f-u)); top: calc(-40 * var(--fz-f-u)); }
svg.fz-f--lezi { width: calc(116 * var(--fz-f-u)); height: calc(60 * var(--fz-f-u)); top: calc(-36 * var(--fz-f-u)); }


		h1, h2, h3, h4, h5, h6 {
			font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
			font-weight: 700;
		}
		body {
			font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
		}
	
.entry-content .fz-home-gallery {
	display: grid !important;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 220px 220px;
	gap: 1.25rem !important;
}
.entry-content .fz-home-gallery > figure.wp-block-image {
	position: relative;
	width: auto !important;
	margin: 0 !important;
	cursor: zoom-in;
}
.entry-content .fz-home-gallery > figure.wp-block-image:first-child { grid-row: span 2; }
.entry-content .fz-home-gallery > figure.wp-block-image:nth-child(2) { grid-column: span 2; }
.entry-content .fz-home-gallery > figure.wp-block-image img {
	height: 100% !important;
	border-radius: 16px;
}
@media (max-width: 689.98px) {
	.entry-content .fz-home-gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-template-rows: 220px 110px;
		gap: .75rem !important;
	}
	.entry-content .fz-home-gallery > figure.wp-block-image:first-child { grid-row: auto; grid-column: span 3; }
	.entry-content .fz-home-gallery > figure.wp-block-image:nth-child(2) { grid-column: auto; }
}

/* "Fotogaléria" menu item (class fz-nav-gallery on the menu item, menu 18): an
   ordinary item with an orange camera icon in front, in the desktop header and in
   the mobile menu panel (a mint pill until 2026-10-06 — it competed with the header
   CTA buttons). Its hover / current bubble is mint like the other items (hravost.php). */
.fz-nav-gallery > a.ct-menu-link {
	gap: 6px;
}
/* Blocksy uses this ::before for its hidden hover indicator — reclaim it. */
.fz-nav-gallery > a.ct-menu-link::before {
	content: "" !important;
	position: static !important;
	opacity: 1 !important;
	transform: none !important;
	margin: 0 !important;
	width: 16px;
	height: 16px;
	flex: none;
	background: var(--fz-ink-orange, #FF7A00) !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h1a2 2 0 0 0 2-2a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1a2 2 0 0 0 2 2h1a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2'/%3E%3Cpath d='M9 13a3 3 0 1 0 6 0a3 3 0 0 0-6 0'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h1a2 2 0 0 0 2-2a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1a2 2 0 0 0 2 2h1a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2'/%3E%3Cpath d='M9 13a3 3 0 1 0 6 0a3 3 0 0 0-6 0'/%3E%3C/svg%3E") center / contain no-repeat;
}
#offcanvas .fz-nav-gallery > a.ct-menu-link::before { width: 20px; height: 20px; }

.fz-lightbox {
	width: 100vw;
	height: 100vh;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
.fz-lightbox::backdrop { background: rgba(20, 14, 30, .88); }
.fz-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.fz-lightbox img {
	max-width: calc(100vw - 140px);
	max-height: calc(100vh - 80px);
	border-radius: 16px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .4);
}
.fz-lightbox button {
	position: absolute;
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 50%;
	background: #ffffff;
	color: #2E2140;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}
.fz-lightbox button:hover { background: #FF7A00; color: #ffffff; }
.fz-lightbox .fz-lb-close { top: 16px; right: 16px; }
.fz-lightbox .fz-lb-prev { left: 16px; top: calc(50% - 24px); }
.fz-lightbox .fz-lb-next { right: 16px; top: calc(50% - 24px); }
@media (max-width: 689.98px) {
	.fz-lightbox img { max-width: calc(100vw - 24px); max-height: calc(100vh - 160px); }
	.fz-lightbox .fz-lb-prev, .fz-lightbox .fz-lb-next { top: auto; bottom: 24px; }
	.fz-lightbox .fz-lb-prev { left: calc(50% - 60px); }
	.fz-lightbox .fz-lb-next { right: calc(50% - 60px); }
}