/*
Theme Name: JduLovit
Theme URI: https://blog.jdulovit.cz
Author: JduLovit.cz
Description: Časopisecká bloková šablona pro blog JduLovit – lesní mech, lněné pozadí, písmo Schibsted Grotesk. Novinky a reklamu poskytuje plugin „JduLovit funkce“.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
Version: 3.1.1
License: GNU General Public License v2 or later
Text Domain: jdulovit
*/

:root {
	--jdl-okraj: clamp(1rem, 4vw, 2rem);
	--jdl-sirka: 1200px;
	--jdl-sidebar: 300px;
	--jdl-mezera: clamp(2rem, 4vw, 3.5rem);
	--jdl-zaobleni: 8px;
	--jdl-bila: var(--wp--preset--color--bila, #fff);
	--jdl-len: var(--wp--preset--color--len, #F7FAF6);
	--jdl-plocha: var(--wp--preset--color--plocha, #F0F4EF);
	--jdl-linka: var(--wp--preset--color--linka, #E2E7E1);
	--jdl-linka-jemna: #ECEFEA;
	--jdl-pismo: var(--wp--preset--color--pismo, #1A1E1C);
	--jdl-seda: var(--wp--preset--color--seda, #576059);
	--jdl-tlumena: var(--wp--preset--color--tlumena, #859087);
	--jdl-mech: var(--wp--preset--color--les, #2D4C38);
	--jdl-mech-tmavy: var(--wp--preset--color--les-tmavy, #1B3324);
	--jdl-mech-svetly: var(--wp--preset--color--les-svetly, #E9EFEA);
	--jdl-mech-na-tmavem: #ACCFB5;
	--jdl-pisek: var(--wp--preset--color--pisek, #E5DFD5);
	--jdl-sans: var(--wp--preset--font-family--sans, 'Schibsted Grotesk', -apple-system, sans-serif);
	--jdl-stin: 0 1px 3px rgba(0, 0, 0, .03);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; background: var(--jdl-len); }
::selection { background: var(--jdl-mech-svetly); color: var(--jdl-mech); }
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; }
.wp-site-blocks > main, .wp-site-blocks > .jdl-rozvrzeni { flex: 1 0 auto; }
img { height: auto; }
:where(a) { text-underline-offset: .18em; }
:focus-visible { outline: 2px solid var(--jdl-mech); outline-offset: 2px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--jdl-sans); font-weight: 700; letter-spacing: -.02em; color: var(--jdl-pismo); text-wrap: balance; }
p, li { text-wrap: pretty; }

/* Drobný popisek VERZÁLKAMI – kategorie, nadpisy panelů, štítky */
.jdl-kategorie, .jdl-panel__titulek, .jdl-paticka__titulek, .jdl-souvisejici__nadpis,
.jdl-karty__kategorie, .jdl-klub__stitek {
	font-family: var(--jdl-sans) !important;
	font-size: .6875rem !important;
	font-weight: 600 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase;
	line-height: 1.4 !important;
}

/* ---------- Obal a rozvržení ---------- */
.jdl-obal {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--jdl-sirka) + 2 * var(--jdl-okraj));
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--jdl-okraj);
	padding-right: var(--jdl-okraj);
}
.wp-site-blocks > * + * { margin-block-start: 0; }

.jdl-rozvrzeni {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--jdl-mezera);
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
	padding-bottom: var(--jdl-mezera);
}
@media (min-width: 1024px) {
	.jdl-rozvrzeni { grid-template-columns: minmax(0, 1fr) var(--jdl-sidebar); }
	.jdl-rozvrzeni--bez { grid-template-columns: minmax(0, 1fr); }
}
.jdl-rozvrzeni > * { margin-block-start: 0 !important; min-width: 0; }

/* ---------- Hlavička ---------- */
/* Obal části šablony je jen tak vysoký jako hlavička – bez „display: contents“ by lepivá hlavička odjela se stránkou. */
.wp-site-blocks > .wp-block-template-part:has(> .jdl-hlavicka) { display: contents; }
.jdl-hlavicka {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
	border-bottom: 1px solid var(--jdl-linka);
}
/* Rozmazané pozadí ve vlastní vrstvě – backdrop-filter přímo na hlavičce by „uvěznil“ mobilní menu
   (position: fixed) do výšky hlavičky a byla by vidět jen první položka. */
.jdl-hlavicka::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: rgba(255, 255, 255, .9);
	backdrop-filter: saturate(160%) blur(12px);
	-webkit-backdrop-filter: saturate(160%) blur(12px);
}
@media (max-width: 600px) { .jdl-hlavicka { top: 0; } }
.jdl-hlavicka__radek { min-height: 72px; gap: 1.5rem; }
.jdl-znacka { gap: .75rem; }
/* Značka: znak JduLovit | Blog (patterns/znacka.php) */
.jdl-logo { display: inline-flex; align-items: center; gap: .875rem; text-decoration: none; color: var(--jdl-mech-tmavy); }
.jdl-logo:hover { color: var(--jdl-mech-tmavy); }
.jdl-logo__znak { height: 60px; width: auto; display: block; }
.jdl-logo__blog { font-weight: 700; font-size: 1.5rem; line-height: 1.1; letter-spacing: -.02em; padding-left: .875rem; border-left: 2px solid var(--jdl-mech); }
.jdl-paticka .jdl-logo__znak { height: 48px; }
.jdl-paticka .jdl-logo__blog { font-size: 1.25rem; }
.jdl-hlavicka__akce { gap: 1.25rem; }
.jdl-hlavicka .wp-block-navigation a { text-decoration: none; padding: .35rem 0; position: relative; color: var(--jdl-pismo); }
.jdl-hlavicka .wp-block-navigation a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
	background: var(--jdl-mech); transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
}
.jdl-hlavicka .wp-block-navigation a:hover::after,
.jdl-hlavicka .wp-block-navigation .current-menu-item > a::after { transform: scaleX(1); }
.jdl-hlavicka .wp-block-navigation a:hover { color: var(--jdl-mech); }
.jdl-hledani .wp-block-search__button { background: transparent; color: var(--jdl-seda); padding: .4rem; border: 0; border-radius: 4px; }
.jdl-hledani .wp-block-search__button:hover { background: var(--jdl-plocha); color: var(--jdl-mech); }
.jdl-hledani .wp-block-search__button svg { width: 22px; height: 22px; }
.jdl-hledani .wp-block-search__input { border: 1px solid var(--jdl-linka); border-radius: 4px; padding: .45rem .75rem; font-size: .95rem; background: #fff; }
@media (max-width: 600px) { .jdl-hlavicka__radek { min-height: 58px; } .jdl-logo__znak { height: 48px; } .jdl-logo__blog { font-size: 1.25rem; } }

/* Mobilní menu přes celou obrazovku */
.jdl-hlavicka .wp-block-navigation__responsive-container.is-menu-open { background: var(--jdl-len) !important; padding: 1.5rem var(--jdl-okraj); }
.jdl-hlavicka .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; padding-top: 3.5rem; }
.jdl-hlavicka .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 1.3rem; }
.jdl-hlavicka .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; }
/* V otevřeném mobilním menu vše zarovnat vlevo (jádro jinak bere zarovnání desktopového menu vpravo) */
.jdl-hlavicka .wp-block-navigation__responsive-container.is-menu-open { --navigation-layout-justification-setting: flex-start; --navigation-layout-align: flex-start; --navigation-layout-justify: flex-start; }
.jdl-hlavicka .is-menu-open .wp-block-navigation-item, .jdl-hlavicka .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }

/* Podmenu „Naše testy“ */
.jdl-hlavicka .wp-block-navigation__submenu-container { border: 1px solid var(--jdl-linka) !important; border-radius: var(--jdl-zaobleni); box-shadow: 0 12px 30px rgba(26, 30, 28, .08); padding: .4rem 0 !important; min-width: 260px !important; background: #fff !important; }
.jdl-hlavicka .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.1rem !important; font-weight: 500; }
.jdl-hlavicka .wp-block-navigation__submenu-container a::after { display: none; }
.jdl-hlavicka .wp-block-navigation__submenu-container a:hover { background: var(--jdl-plocha); }
/* V mobilním menu podmenu odsazené pod „Naše testy“ */
.jdl-hlavicka .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; background: transparent !important; padding: .7rem 0 0 1rem !important; gap: .9rem; }
.jdl-hlavicka .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family: var(--jdl-sans); font-size: 1.05rem !important; font-weight: 500; padding: 0 !important; color: var(--jdl-seda); }

/* Pruh s reklamou pod hlavičkou */
.jdl-pruh .jdl-reklama { margin: 1.25rem auto 0; }
.jdl-pruh:empty, .jdl-pruh:not(:has(.jdl-reklama)) { display: none; }

/* ---------- Štítek kategorie ---------- */
.jdl-kategorie { color: var(--jdl-mech); }
.jdl-kategorie a { color: inherit; text-decoration: none; }
.jdl-kategorie a:hover { text-decoration: underline; text-underline-offset: 3px; }
.jdl-kategorie .wp-block-post-terms__separator { color: var(--jdl-tlumena); }

/* ---------- Výpis článků ---------- */
.jdl-mrizka {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
	margin: 0 !important;
	padding: 0;
	list-style: none;
}
@media (min-width: 640px) { .jdl-mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.jdl-mrizka > li { margin: 0 !important; }

.jdl-karta {
	display: flex; flex-direction: column; height: 100%;
	background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: var(--jdl-zaobleni);
	overflow: hidden; box-shadow: var(--jdl-stin); transition: border-color .2s ease;
}
.jdl-karta:hover { border-color: #CBD3CA; }
.jdl-karta > * { margin: 0 !important; }
.jdl-karta__obrazek { overflow: hidden; background: var(--jdl-plocha); border-bottom: 1px solid var(--jdl-linka); }
.jdl-karta__obrazek img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .6s ease; }
.jdl-karta:hover .jdl-karta__obrazek img { transform: scale(1.025); }
.jdl-karta__text { display: flex; flex-direction: column; gap: .55rem; padding: 1.1rem 1.25rem 1.25rem; flex: 1; }
.jdl-karta__text > * { margin: 0 !important; }
.jdl-karta__titulek { font-size: 1.25rem; line-height: 1.25; font-weight: 700; letter-spacing: -.015em; }
.jdl-karta__titulek a { text-decoration: none; color: var(--jdl-pismo); }
.jdl-karta:hover .jdl-karta__titulek a { color: var(--jdl-mech); }
.jdl-karta__perex { display: none; color: var(--jdl-seda); font-size: .975rem; line-height: 1.6; }
.jdl-karta__perex .wp-block-post-excerpt__excerpt { margin: 0; }
.jdl-karta__perex .wp-block-post-excerpt__more-text { display: none; }
.jdl-karta__meta { margin-top: auto !important; padding-top: .7rem; border-top: 1px solid var(--jdl-linka-jemna); gap: .5rem; color: var(--jdl-tlumena); font-size: .6875rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.jdl-karta__meta > * { margin: 0 !important; font-size: inherit !important; color: inherit !important; }
.jdl-karta__meta > * + *::before { content: "·"; margin-right: .5rem; color: var(--jdl-tlumena); }
.jdl-karta__meta > .jdl-kategorie { color: var(--jdl-mech) !important; font-weight: 600 !important; letter-spacing: .1em !important; }
.jdl-karta__vice { display: none; }

/* Na mobilu kompaktní řádky: malý náhled vlevo, titulek vpravo */
@media (max-width: 639px) {
	.jdl-mrizka { gap: 0; background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: var(--jdl-zaobleni); overflow: hidden; }
	.jdl-mrizka > li + li { border-top: 1px solid var(--jdl-linka); }
	.jdl-mrizka .jdl-karta { flex-direction: row; gap: .9rem; padding: 1rem; border: 0; border-radius: 0; box-shadow: none; }
	.jdl-mrizka .jdl-karta__obrazek { flex: 0 0 120px; align-self: flex-start; border: 1px solid var(--jdl-linka); border-radius: 4px; }
	.jdl-mrizka .jdl-karta__text { padding: 0; gap: .35rem; }
	.jdl-mrizka .jdl-karta__titulek { font-size: 1.06rem; line-height: 1.28; }
	.jdl-mrizka .jdl-karta__meta { border: 0; padding-top: .15rem; font-size: .625rem; }
}

/* Nejnovější článek na titulní stránce – velká „titulní“ karta */
.jdl-titulni .jdl-mrizka > li:first-child { grid-column: 1 / -1; }
.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__titulek { font-size: clamp(1.75rem, 3.2vw, 2.375rem); line-height: 1.12; letter-spacing: -.025em; }
.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__perex { display: block; font-size: 1.0625rem; line-height: 1.6; }
.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__text { padding: 1.5rem 1.6rem 1.6rem; gap: .9rem; }
.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__meta { margin-top: 0 !important; }
/* blok „Číst dál“ vykreslí přímo odkaz s touto třídou */
.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__vice { display: inline-flex; }
.jdl-karta__vice {
	align-self: flex-start; align-items: center; gap: .6rem; padding: .9rem 1.5rem; border-radius: 4px;
	background: var(--jdl-mech); color: #fff; text-decoration: none;
	font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
}
.jdl-karta__vice::after { content: "→"; letter-spacing: 0; font-size: 1rem; }
.jdl-karta__vice:hover, .jdl-karta__vice:focus-visible { background: var(--jdl-mech-tmavy); color: #fff; }
/* Na desktopu titulek vlevo, perex a tlačítko vpravo – náhled nahoře zůstane celý (je v něm text) */
@media (min-width: 900px) {
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__text {
		display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-template-rows: auto auto 1fr auto;
		column-gap: 2.5rem; padding: 1.75rem 2rem 2rem;
	}
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-kategorie { grid-column: 1; grid-row: 1; }
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__titulek { grid-column: 1; grid-row: 2 / 5; }
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__perex { grid-column: 2; grid-row: 1 / 3; }
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__meta { grid-column: 2; grid-row: 3; align-self: end; }
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__vice { grid-column: 2; grid-row: 4; }
}
@media (max-width: 639px) {
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta { flex-direction: column; gap: 0; padding: 0; }
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__obrazek { flex: none; align-self: stretch; border: 0; border-bottom: 1px solid var(--jdl-linka); border-radius: 0; }
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__text { padding: 1.25rem 1.25rem 1.4rem; }
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__titulek { font-size: 1.75rem; }
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__meta { font-size: .6875rem; }
	.jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__vice { display: flex; align-self: stretch; justify-content: center; }
}
body.paged .jdl-titulni .jdl-mrizka > li:first-child { grid-column: auto; }
body.paged .jdl-titulni .jdl-mrizka > li:first-child .jdl-karta { display: flex; }
body.paged .jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__titulek { font-size: 1.3rem; }
body.paged .jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__perex,
body.paged .jdl-titulni .jdl-mrizka > li:first-child .jdl-karta__vice { display: none; }

/* Stránkování */
.jdl-strankovani { margin-top: 3rem !important; gap: .4rem; font-size: .9rem; font-weight: 600; }
.jdl-strankovani a, .jdl-strankovani .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; padding: 0 .8rem; border-radius: 4px; text-decoration: none; box-sizing: border-box; color: var(--jdl-pismo); }
.jdl-strankovani a:hover { background: var(--jdl-bila); box-shadow: inset 0 0 0 1px var(--jdl-linka); }
.jdl-strankovani .page-numbers.current { background: var(--jdl-mech); color: #fff; }
.jdl-strankovani .page-numbers.dots { min-width: auto; padding: 0 .2rem; }

/* Záhlaví archivu / hledání */
.jdl-zahlavi { margin-bottom: 2rem !important; padding-bottom: 1.5rem; border-bottom: 1px solid var(--jdl-linka); }
.jdl-zahlavi > * { margin-top: 0; }
.jdl-zahlavi h1 { margin-bottom: .5rem; }
.jdl-zahlavi .wp-block-term-description, .jdl-zahlavi__popis { color: var(--jdl-seda); max-width: 640px; font-size: 1.0625rem; }
.jdl-zahlavi .wp-block-search { max-width: 520px; margin-top: 1rem; }
.jdl-zahlavi .wp-block-search__input { border: 1px solid var(--jdl-linka); border-radius: 4px; background: #fff; }

/* ---------- Postranní panel ---------- */
.jdl-postranni > div { display: flex; flex-direction: column; gap: 2.25rem; }
.jdl-postranni > div > * { margin: 0 !important; }
.jdl-panel__titulek { color: var(--jdl-mech) !important; margin: 0 0 .9rem !important; padding-bottom: .6rem; border-bottom: 1px solid var(--jdl-linka); }
.jdl-temata { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.jdl-temata li { margin: 0; }
.jdl-temata a { display: inline-block; padding: .3rem .75rem; background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: 4px; font-size: .85rem; text-decoration: none; color: var(--jdl-pismo); }
.jdl-temata a:hover { border-color: var(--jdl-mech); color: var(--jdl-mech); }
@media (min-width: 1024px) { .jdl-panel--sticky { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 90px); } }
@media (max-width: 1023px) { .jdl-panel--sticky { display: none; } .jdl-postranni { padding-top: 2.5rem; border-top: 1px solid var(--jdl-linka); } }

/* Přehledy testů v postranním panelu */
.jdl-pruvodci { list-style: none; margin: 0; padding: 0; background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: var(--jdl-zaobleni); }
.jdl-pruvodci li { margin: 0; border-bottom: 1px solid var(--jdl-linka); }
.jdl-pruvodci li:last-child { border-bottom: 0; }
.jdl-pruvodci a { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; font-size: .975rem; font-weight: 600; text-decoration: none; color: var(--jdl-pismo); }
.jdl-pruvodci a::after { content: "→"; color: var(--jdl-mech); }
.jdl-pruvodci a:hover { background: #F9FBF8; color: var(--jdl-mech); }

/* ---------- Článek ---------- */
.jdl-clanek { max-width: 740px; }
.jdl-rozvrzeni--bez .jdl-clanek { margin-left: auto; margin-right: auto; }
.jdl-clanek > * { margin-top: 0; }
.jdl-clanek__hlavicka { display: flex; flex-direction: column; gap: .9rem; margin-bottom: 1.75rem; }
.jdl-clanek__hlavicka > * { margin: 0 !important; }
.jdl-clanek__meta { gap: .5rem; align-items: center; padding-top: .9rem; border-top: 1px solid var(--jdl-linka); color: var(--jdl-tlumena); font-size: .875rem; }
.jdl-clanek__meta > * { margin: 0 !important; font-size: inherit !important; }
.jdl-clanek__meta > * + *::before { content: "·"; margin-right: .5rem; color: var(--jdl-tlumena); }
.jdl-clanek__meta > .jdl-kategorie + *::before { content: none; }
@media (max-width: 600px) {
	.jdl-clanek__meta { font-size: .8125rem; gap: .35rem; }
	.jdl-clanek__meta > * + *::before { margin-right: .35rem; }
	/* doba čtení se na řádek telefonu nevejde – zalomila by se s tečkou na začátku */
	.jdl-clanek__meta > .jdl-doba-cteni { display: none; }
}
.jdl-clanek__meta .jdl-kategorie { margin-right: .35rem !important; font-size: .6875rem !important; }
.jdl-clanek__meta .jdl-kategorie a { display: inline-block; padding: .25rem .65rem; border-radius: 999px; background: var(--jdl-mech-svetly); }
.jdl-clanek__meta .jdl-kategorie a:hover { text-decoration: none; background: #DCE6DE; }
.jdl-clanek__meta > :empty, .jdl-karta__meta > :empty { display: none; }
.jdl-clanek__obrazek { margin: 0 0 2.25rem !important; padding: 10px; background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: var(--jdl-zaobleni); box-shadow: var(--jdl-stin); }
.jdl-clanek__obrazek img { border-radius: 4px; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }

.jdl-obsah { font-size: 1.0625rem; line-height: 1.75; color: #2E3430; }
.jdl-obsah > * { margin-top: 0; margin-bottom: 1.25em; }
/* Perex (první odstavec) o stupeň větší */
.jdl-obsah > p:first-child { font-size: 1.1875rem; line-height: 1.65; color: var(--jdl-pismo); }
.jdl-obsah > h2 { font-size: clamp(1.4rem, 2.6vw, 1.75rem); line-height: 1.22; margin-top: 2.1em; margin-bottom: .55em; }
.jdl-obsah > h2::before { content: ""; display: block; width: 2rem; height: 2px; background: var(--jdl-mech); margin-bottom: .8rem; }
.jdl-obsah > h3 { font-size: 1.2rem; margin-top: 1.8em; margin-bottom: .5em; }
.jdl-obsah strong { color: var(--jdl-pismo); font-weight: 650; }
.jdl-obsah a { color: var(--jdl-mech); text-decoration: underline; text-decoration-color: rgba(45, 76, 56, .35); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.jdl-obsah a:hover { color: var(--jdl-mech-tmavy); text-decoration-color: currentColor; }
.jdl-obsah figure:not(.wp-block-embed):not(.wp-block-table):not(.wp-block-pullquote) { margin-top: 2em; margin-bottom: 2em; }
.jdl-obsah .wp-block-image { padding: 10px; background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: var(--jdl-zaobleni); box-shadow: var(--jdl-stin); box-sizing: border-box; }
.jdl-obsah .wp-block-image img { border-radius: 4px; display: block; }
.jdl-obsah .wp-block-image.alignleft, .jdl-obsah .wp-block-image.alignright { max-width: 50%; }
.jdl-obsah figcaption, .jdl-obsah .wp-element-caption { text-align: left; margin: .65rem .2rem .1rem; font-size: .8125rem; color: var(--jdl-seda); line-height: 1.45; }
.jdl-obsah ul, .jdl-obsah ol { padding-left: 1.3em; }
.jdl-obsah li { margin-bottom: .4em; }
.jdl-obsah li::marker { color: var(--jdl-mech); }
.jdl-obsah blockquote { margin-left: 0; font-size: 1.15rem; line-height: 1.6; color: var(--jdl-seda); }
.jdl-obsah .wp-block-table { overflow-x: auto; background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: var(--jdl-zaobleni); box-shadow: var(--jdl-stin); margin-top: 2em; margin-bottom: 2em; }
.jdl-obsah table { width: 100%; border-collapse: collapse; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.jdl-obsah .wp-block-table table { border: 0; }
.jdl-obsah th, .jdl-obsah td { padding: .7rem .9rem; border: 0; border-bottom: 1px solid var(--jdl-linka-jemna); text-align: left; }
.jdl-obsah tr:last-child td { border-bottom: 0; }
.jdl-obsah th, .jdl-obsah thead td { background: #F6F9F4; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--jdl-seda); border-bottom: 1px solid var(--jdl-linka); }
.jdl-obsah .wp-block-table figcaption { margin: 0; padding: .6rem .9rem; border-top: 1px solid var(--jdl-linka-jemna); }
.jdl-obsah hr { border: 0; border-top: 1px solid var(--jdl-linka); margin: 2.5em 0; }
.jdl-obsah .wp-block-embed iframe { width: 100%; border-radius: var(--jdl-zaobleni); }
.jdl-obsah .wp-block-gallery { gap: .5rem; }
.jdl-obsah .wp-block-gallery .wp-block-image { padding: 0; border: 0; box-shadow: none; background: none; }

.jdl-stitky { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 2rem !important; }
.jdl-stitky a { font-size: .8rem; padding: .25rem .65rem; background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: 4px; text-decoration: none; color: var(--jdl-seda); }
.jdl-stitky a::before { content: "#"; color: var(--jdl-tlumena); }
.jdl-stitky a:hover { color: var(--jdl-mech); border-color: var(--jdl-mech); }

.jdl-navigace { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-top: 2.5rem !important; }
@media (min-width: 640px) { .jdl-navigace { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.jdl-navigace > * { margin: 0 !important; padding: 1rem 1.25rem; background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: var(--jdl-zaobleni); font-size: .6875rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--jdl-tlumena); }
.jdl-navigace > *:empty { display: none; }
.jdl-navigace .post-navigation-link-next { text-align: right; grid-column: -2; }
.jdl-navigace a { display: block; margin-top: .35rem; font-size: 1rem; font-weight: 650; letter-spacing: -.01em; text-transform: none; line-height: 1.35; color: var(--jdl-pismo); text-decoration: none; }
.jdl-navigace > *:hover { border-color: var(--jdl-mech); }
.jdl-navigace > *:hover a { color: var(--jdl-mech); }

.jdl-komentare { margin-top: 3rem !important; padding: 1.5rem; background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: var(--jdl-zaobleni); }
.jdl-komentare h2, .jdl-komentare .wp-block-comments-title { font-size: 1.35rem; }
.jdl-komentar { padding: 1rem 0; border-bottom: 1px solid var(--jdl-linka-jemna); }
.jdl-komentar .wp-block-comment-author-name { font-weight: 600; }
.jdl-komentar .wp-block-comment-date { color: var(--jdl-tlumena); font-size: .8rem; }
.jdl-komentare textarea, .jdl-komentare input[type="text"], .jdl-komentare input[type="email"], .jdl-komentare input[type="url"] {
	width: 100%; box-sizing: border-box; border: 1px solid var(--jdl-linka); border-radius: 4px; padding: .7rem .85rem; font: inherit; background: #F9FBF8;
}
.jdl-komentare textarea:focus, .jdl-komentare input:focus { outline: none; border-color: var(--jdl-mech); box-shadow: 0 0 0 1px var(--jdl-mech); background: #fff; }

/* ---------- Patička ---------- */
.jdl-paticka { background: var(--jdl-bila); border-top: 1px solid var(--jdl-linka); margin-top: 0; font-size: .925rem; }
.jdl-paticka__mrizka { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.5rem; padding-top: 3rem; padding-bottom: 2.5rem; }
.jdl-paticka__o-nas { grid-column: 1 / -1; }
@media (min-width: 1024px) { .jdl-paticka__o-nas { grid-column: auto; } .jdl-paticka__mrizka { grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 3rem; } }
.jdl-paticka__mrizka > * { margin: 0 !important; }
.jdl-paticka__mrizka > * > * { margin-top: 0; margin-bottom: .9rem; }
.jdl-paticka__o-nas p { color: var(--jdl-seda); max-width: 340px; line-height: 1.6; }
.jdl-paticka__titulek { color: var(--jdl-mech) !important; }
.jdl-paticka__seznam { list-style: none; margin: 0; padding: 0; }
.jdl-paticka__seznam li { margin: 0 0 .5rem; }
.jdl-paticka a { text-decoration: none; color: var(--jdl-pismo); }
.jdl-paticka a:hover { color: var(--jdl-mech); text-decoration: underline; text-underline-offset: 3px; }
.jdl-paticka__spodek { padding-bottom: 1.5rem; color: var(--jdl-tlumena); }
.jdl-paticka__spodek p { margin: 0; padding-top: 1.25rem; border-top: 1px solid var(--jdl-linka); }
.jdl-paticka__spodek a { color: inherit; }
.jdl-paticka .wp-block-social-links { margin-top: 1rem; }
.jdl-paticka .wp-block-social-links .wp-social-link { color: var(--jdl-mech) !important; }
/* Místo pro mobilní reklamní lištu, aby nezakryla patičku */
@media (max-width: 767px) { body:has(.jdl-mobil-lista) .jdl-paticka__spodek { padding-bottom: 130px; } }

/* ---------- Rychlé novinky ---------- */
.jdl-hlavni .jdl-novinky { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 2.5rem; }
@media (min-width: 760px) { .jdl-hlavni .jdl-novinky { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.jdl-hlavni .jdl-novinky__polozka, .jdl-hlavni .jdl-novinky__polozka:first-child { padding: 1rem 0; }
.jdl-hlavni .jdl-novinky__polozka:last-child { border-bottom: 1px solid var(--jdl-linka); }
.jdl-novinky__polozka { border-color: var(--jdl-linka) !important; }
.jdl-novinky__polozka a { font-weight: 600 !important; font-size: .975rem !important; line-height: 1.4 !important; }
.jdl-hlavni .jdl-novinky__polozka a { font-size: 1.0625rem !important; }
.jdl-novinky__polozka a:hover { color: var(--jdl-mech); text-decoration: none !important; }
.jdl-novinky__meta { color: var(--jdl-tlumena) !important; font-size: .75rem !important; }
.jdl-novinky__vse a { color: var(--jdl-mech); font-size: .6875rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.jdl-novinky__strankovani .page-numbers.current { background: var(--jdl-mech) !important; }

/* Na mobilu stačí jedna reklama nad ohybem – když běží spodní lišta, horní pruh skryjeme */
@media (max-width: 767px) { body:has(.jdl-mobil-lista) .jdl-pruh { display: none; } }
/* Při otevřeném mobilním menu schovat reklamní lištu dole */
body:has(.wp-block-navigation__responsive-container.is-menu-open) .jdl-mobil-lista { display: none !important; }

/* ==========================================================================
   Prvky z pluginu „JduLovit funkce“ v barvách šablony
   (plugin má vlastní černo-limetkové výchozí barvy; tady je přebarvujeme)
   ========================================================================== */
.jdl-reklama__stitek { color: var(--jdl-tlumena) !important; }
.jdl-reklama--v-clanku, .jdl-reklama--pod-clankem { border-color: var(--jdl-linka) !important; }
.jdl-mobil-lista__zavrit { background: var(--jdl-mech) !important; color: #fff !important; }

/* Klub JduLovit a odběr článků – tmavý mech místo černé */
body .jdl-klub { background: var(--jdl-mech-tmavy); border-radius: var(--jdl-zaobleni); }
body .jdl-klub__stitek { color: var(--jdl-mech-na-tmavem) !important; }
body .jdl-klub__nadpis { font-weight: 700 !important; letter-spacing: -.02em; font-size: clamp(1.4rem, 2.6vw, 1.7rem) !important; }
/* štítek nad nadpisem boxu – nadpis mluví sám */
body .jdl-klub__stitek { display: none; }
body .jdl-klub a:not(.jdl-klub__tlacitko):hover, body .jdl-klub a:not(.jdl-klub__tlacitko):focus,
body .jdl-klub__podminky summary:hover { color: var(--jdl-pisek); }
body .jdl-klub a.jdl-klub__tlacitko { background: var(--jdl-len); color: var(--jdl-mech-tmavy); border-radius: 4px; }
body .jdl-form input:focus { outline-color: var(--jdl-mech-na-tmavem); }
body .jdl-form__pole input { border-radius: 4px; }
body .jdl-form__volba label { border-radius: 4px; border-width: 1px; }
body .jdl-form__volba label:has(input:checked) { border-color: var(--jdl-mech-na-tmavem); background: rgba(172, 207, 181, .12); }
body .jdl-form input[type=checkbox] { accent-color: var(--jdl-mech-na-tmavem); }
body .jdl-form button[type=submit], body .jdl-klub .jdl-form button[type=submit], body .jdl-klub button[type=submit] {
	background: var(--jdl-len) !important; color: var(--jdl-mech-tmavy) !important; border-radius: 4px !important;
	font-size: .75rem !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase;
}
body .jdl-klub .jdl-form button[type=submit]:hover, body .jdl-klub button[type=submit]:hover { background: #fff !important; }
body .jdl-form.je-hotovo .jdl-form__zprava { color: var(--jdl-mech-na-tmavem) !important; }
body .jdl-klub .wpforms-confirmation-container-full { background: rgba(172, 207, 181, .12) !important; border-color: var(--jdl-mech-na-tmavem) !important; }
body .jdl-odber-potvrzeno { background: var(--jdl-mech-tmavy); border-radius: var(--jdl-zaobleni); }
body .jdl-odber-potvrzeno button { color: var(--jdl-mech-na-tmavem); }

/* Obsah článku (rozbalovací) */
body .jdl-obsah-clanku { background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: var(--jdl-zaobleni); box-shadow: var(--jdl-stin); }
body .jdl-obsah-clanku summary { font-weight: 600; font-size: .6875rem; letter-spacing: .18em; color: var(--jdl-mech); }
body .jdl-obsah-clanku li::marker { color: var(--jdl-tlumena); }
body .jdl-obsah-clanku a:hover { color: var(--jdl-mech) !important; text-decoration: none !important; }

/* Karty souvisejících článků a rozcestníků */
body .jdl-souvisejici__nadpis { color: var(--jdl-mech); border-color: var(--jdl-linka); }
body .jdl-karty__polozka a { gap: 0; height: 100%; background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: var(--jdl-zaobleni); overflow: hidden; }
body .jdl-karty__polozka a:hover { border-color: #CBD3CA; }
body .jdl-karty__obrazek { border-radius: 0; background: var(--jdl-plocha); border-bottom: 1px solid var(--jdl-linka); }
/* kategorie až pod titulkem (jako údaj, ne nadpisek) */
body .jdl-karty__kategorie { order: 3; color: var(--jdl-mech); padding: 0 1rem 1rem; }
body .jdl-karty__titulek { font-weight: 700; letter-spacing: -.01em; font-size: 1rem; line-height: 1.32; padding: 1rem 1rem .35rem; }
body .jdl-karty__polozka a:hover .jdl-karty__titulek { color: var(--jdl-mech); text-decoration: none; }
@media (max-width: 559px) {
	body .jdl-karty--3 .jdl-karty__polozka a { padding: .75rem; column-gap: .85rem; }
	body .jdl-karty--3 .jdl-karty__obrazek { border: 1px solid var(--jdl-linka); border-radius: 4px; }
	body .jdl-karty--3 .jdl-karty__kategorie, body .jdl-karty--3 .jdl-karty__titulek { padding: 0; }
	body .jdl-karty--3 .jdl-karty__titulek { font-size: 1rem; }
}

/* Odkaz na rozcestník na konci článku */
body .jdl-pruvodce-odkaz { background: var(--jdl-bila); border: 1px solid var(--jdl-linka); border-radius: var(--jdl-zaobleni); font-weight: 500; }
body .jdl-pruvodce-odkaz a { color: var(--jdl-mech) !important; }
body .jdl-pruvodce-odkaz a:hover { text-decoration-color: var(--jdl-mech) !important; text-decoration-thickness: 1px !important; }

/* Přehled rozcestníků (stránka Naše testy) */
body .jdl-prehled-rozcestniku__sekce { border-color: var(--jdl-linka); }
body .jdl-prehled-rozcestniku__nadpis { font-weight: 700; }
body .jdl-prehled-rozcestniku__nadpis a:hover { color: var(--jdl-mech) !important; text-decoration: none !important; }
body .jdl-prehled-rozcestniku__popis { color: var(--jdl-seda); }
body .jdl-prehled-rozcestniku__vse a { color: var(--jdl-mech) !important; border-bottom: 1px solid var(--jdl-mech); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; }
