/*
 * Styly šablony — základ, hlavička, patička a všechny bloky v jednom souboru.
 * Bloky používají jen proměnné z tokens.css, žádné natvrdo zapsané barvy.
 */

/* ------------------------------------------------------------------------
 * Základ
 * --------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-padding-top: calc(var(--header-h) + var(--wp-admin--admin-bar--height, 0px));
	-webkit-text-size-adjust: 100%;
}

/* Patička vždy u spodku okna, i na krátké stránce (main se natáhne). */
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	margin: 0;
	background-color: var(--paper);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

body > main {
	flex: 1 0 auto;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

a,
button,
[role='button'],
input[type='submit'],
input[type='button'],
select,
summary {
	cursor: pointer;
}

:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.dk-container {
	width: 100%;
	max-width: calc(var(--container) + 2 * var(--pad-x));
	margin-inline: auto;
	padding-inline: var(--pad-x);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

html.dk-no-scroll,
body.dk-no-scroll {
	overflow: hidden;
}

/* Odkaz „Přejít k obsahu" se ukáže při fokusu z klávesnice. */
.dk-skip:focus {
	position: fixed !important;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 100;
	width: auto;
	height: auto;
	clip: auto;
	padding: 0.75rem 1rem;
	margin: 0;
	background: var(--white);
	color: var(--ink);
	border-radius: var(--radius-sm);
}

/* Zvýrazněné slovo v nadpisech sekcí („Kontaktujte *nás*"). */
.dk-akcent {
	color: var(--accent);
}

/* ------------------------------------------------------------------------
 * Tlačítka
 * --------------------------------------------------------------------- */

.dk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	border: 0;
	border-radius: var(--radius-sm);
	background: var(--accent);
	color: var(--white);
	font: inherit;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.dk-btn:hover {
	background: var(--accent-hover);
}

.dk-btn--sm {
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
}

/* ------------------------------------------------------------------------
 * Hlavička
 * --------------------------------------------------------------------- */

.dk-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: var(--ink);
	transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

/* Při posunu dolů lišta odjede nahoru, při posunu nahoru se vrátí (nav.js). */
.dk-header.is-skryta {
	box-shadow: none;
	transform: translateY(-100%);
}

@media (prefers-reduced-motion: reduce) {
	.dk-header {
		transition: none;
	}
}

.dk-header.is-scrolled {
	background: rgba(21, 45, 74, 0.95);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.dk-header__in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--header-h);
}

.dk-header__logo {
	display: flex;
	align-items: center;
	gap: 1rem;
	color: var(--white);
	text-decoration: none;
}

.dk-header__logo img {
	width: auto;
	height: 2rem;
}

/* Celý název „Deskovky Kateřinice a Trnávka" na jeden řádek — na mobilu
   menším písmem, na desktopu se menu ukáže až tam, kde se vedle vejde. */
.dk-header__logo span {
	font-family: var(--font-display);
	font-size: 1.2rem;
	line-height: 2rem;
	letter-spacing: 0.025em;
	white-space: nowrap;
}

@media (min-width: 480px) {
	.dk-header__logo span {
		font-size: 1.5rem;
	}
}

.dk-nav {
	display: none;
	align-items: center;
	gap: 2rem;
}

.dk-nav__list {
	display: flex;
	align-items: center;
	gap: 2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dk-nav__item {
	position: relative;
}

.dk-nav__link {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	color: var(--muted-on-dark);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.25rem;
	text-decoration: none;
	transition: color 0.15s ease;
}

.dk-nav__link:hover,
.dk-nav__dropdown[open] > .dk-nav__link {
	color: var(--white);
}

/* <summary> bez výchozího trojúhelníku. */
.dk-nav__dropdown > summary,
.dk-user__dropdown > summary,
.dk-drawer__dropdown > summary {
	list-style: none;
}

.dk-nav__dropdown > summary::-webkit-details-marker,
.dk-user__dropdown > summary::-webkit-details-marker,
.dk-drawer__dropdown > summary::-webkit-details-marker {
	display: none;
}

.dk-nav__caret {
	width: 0.75rem;
	height: 0.75rem;
	transition: transform 0.15s ease;
}

details[open] > summary .dk-nav__caret {
	transform: rotate(180deg);
}

.dk-nav__menu {
	position: absolute;
	top: calc(100% + 1rem);
	left: 0;
	z-index: 50;
	width: 16rem;
	margin: 0;
	padding: 0;
	overflow: hidden;
	list-style: none;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.dk-nav__menu--right {
	top: calc(100% + 0.5rem);
	right: 0;
	left: auto;
	width: 12rem;
}

.dk-nav__menu-link {
	display: block;
	padding: 0.75rem 1rem;
	color: var(--muted-text);
	font-size: 0.875rem;
	line-height: 1.25rem;
	text-decoration: none;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.dk-nav__menu-link:hover {
	color: var(--ink);
	background: var(--surface-2);
}

.dk-nav__menu-link--odhlasit {
	color: var(--danger);
	border-top: 1px solid var(--border);
}

.dk-nav__menu-link--odhlasit:hover {
	color: var(--danger);
}

/* Blikající tečka u „Turnaje", když jsou vypsané nadcházející turnaje. */
.dk-pulz {
	position: relative;
	display: inline-flex;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--accent);
}

.dk-pulz::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: inherit;
	opacity: 0.75;
	animation: dk-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes dk-ping {
	75%,
	100% {
		transform: scale(2);
		opacity: 0;
	}
}

/* Účet — rozdělené tlačítko: jméno vede na nástěnku, šipka otevře menu. */
/* Účet přihlášeného — nenápadné průhledné tlačítko; oranžová zůstává
   výzvám k akci (Přihlásit se, přihláška na turnaj). */
.dk-user {
	position: relative;
	display: flex;
	align-items: center;
	height: 2.25rem;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: var(--radius-sm);
	background: rgba(255, 255, 255, 0.08);
	color: var(--white);
	font-size: 0.875rem;
	font-weight: 700;
}

.dk-user__name {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 1rem;
	border-radius: var(--radius-sm) 0 0 var(--radius-sm);
	border-right: 1px solid rgba(255, 255, 255, 0.2);
	color: inherit;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.dk-user__dropdown {
	height: 100%;
}

.dk-user__toggle {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 0.625rem;
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
	transition: background-color 0.15s ease;
}

.dk-user__toggle .dk-nav__caret {
	width: 0.875rem;
	height: 0.875rem;
}

.dk-user__name:hover,
.dk-user__toggle:hover {
	background: rgba(255, 255, 255, 0.14);
}

.dk-burger {
	display: flex;
	padding: 0;
	border: 0;
	background: none;
	color: var(--white);
}

.dk-burger svg {
	width: 1.5rem;
	height: 1.5rem;
}

@media (min-width: 1280px) {
	.dk-nav {
		display: flex;
	}

	.dk-burger {
		display: none;
	}
}

/* ------------------------------------------------------------------------
 * Výsuvný panel (mobil)
 *
 * Oranžový panel drží vzhled původního webu. Bílý text má na --accent jen
 * 3,1:1, proto jsou odkazy v panelu tučné a ≥ 19 px (velký text, stačí 3:1).
 * Drobné kontakty dole jsou duplicitní s patičkou — vědomá odchylka, viz
 * CLAUDE.md.
 * --------------------------------------------------------------------- */

.dk-drawer-overlay {
	position: fixed;
	inset: 0;
	z-index: 55;
	background: rgba(0, 0, 0, 0.6);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.dk-drawer-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
}

.dk-drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 60;
	display: flex;
	flex-direction: column;
	width: 18rem;
	height: 100%;
	padding: 2rem 1.5rem 1.5rem;
	overflow-y: auto;
	background: var(--accent);
	color: var(--white);
	transform: translateX(100%);
	visibility: hidden;
	transition: transform 0.3s ease-in-out, visibility 0.3s;
}

.dk-drawer.is-open {
	transform: translateX(0);
	visibility: visible;
}

.dk-drawer__close {
	align-self: flex-end;
	margin: -1rem -0.25rem 0.5rem 0;
	padding: 0.25rem;
	border: 0;
	background: none;
	color: var(--white);
}

.dk-drawer__close svg {
	width: 1.5rem;
	height: 1.5rem;
}

.dk-drawer__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid rgba(196, 95, 10, 0.3);
	color: var(--white);
	font-size: 1.1875rem;
	font-weight: 600;
	line-height: 1.75rem;
	text-decoration: none;
}

.dk-drawer__link .dk-pulz {
	margin-right: auto;
	background: var(--white);
}

.dk-drawer__link .dk-nav__caret {
	width: 1rem;
	height: 1rem;
}

.dk-drawer__dropdown {
	border-bottom: 1px solid rgba(196, 95, 10, 0.3);
}

.dk-drawer__dropdown > .dk-drawer__link {
	border-bottom: 0;
}

.dk-drawer__sub {
	margin: 0 -1.5rem;
	padding: 0.25rem 1.5rem;
	background: rgba(196, 95, 10, 0.4);
}

.dk-drawer__sublink {
	display: block;
	padding: 0.5rem 0;
	color: var(--white);
	font-size: 1.1875rem;
	font-weight: 600;
	text-decoration: none;
}

.dk-drawer__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	margin-top: 1.5rem;
	padding: 0.75rem 1.5rem;
	border-radius: var(--radius-sm);
	background: var(--ink);
	color: var(--accent);
	font-weight: 700;
	text-decoration: none;
}

.dk-drawer__cta:hover {
	background: rgba(21, 45, 74, 0.8);
}

.dk-drawer__ucet .dk-drawer__cta {
	margin-bottom: 0.25rem;
}

.dk-drawer__link--odhlasit {
	border-bottom: 0;
	color: var(--ink);
}

.dk-drawer__kontakt {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: auto;
	padding-top: 2rem;
	border-top: 1px solid rgba(196, 95, 10, 0.3);
}

.dk-drawer__kontakt a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	color: var(--white);
	font-size: 0.875rem;
	text-decoration: none;
}

.dk-drawer__kontakt svg {
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
}

/* ------------------------------------------------------------------------
 * Hlavička sekce (nadpis + perex na střed) — sdílí patička i bloky.
 * --------------------------------------------------------------------- */

.dk-sekce-hlavicka {
	margin-bottom: 2.5rem;
	text-align: center;
}

.dk-sekce-hlavicka h2 {
	margin: 0 0 1rem;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 2.25rem;
}

.dk-sekce-hlavicka p {
	max-width: 42rem;
	margin: 0 auto;
	font-size: 1.125rem;
	line-height: 1.75rem;
}

@media (min-width: 640px) {
	.dk-sekce-hlavicka h2 {
		font-size: 2.25rem;
		line-height: 2.5rem;
	}
}

/* ------------------------------------------------------------------------
 * Sponzoři („Podporují nás")
 * --------------------------------------------------------------------- */

.dk-sponzori {
	padding-block: 2.5rem;
	background: var(--white);
}

.dk-sponzori .dk-sekce-hlavicka {
	margin-bottom: 2.5rem;
}

.dk-sponzori .dk-sekce-hlavicka h2 {
	margin-bottom: 0.5rem;
	font-size: 1.5rem;
	line-height: 2rem;
}

.dk-sponzori__text {
	max-width: 42rem;
	margin: 0 auto;
	color: rgba(21, 45, 74, 0.7);
	font-size: 1.125rem;
	line-height: 1.75rem;
}

.dk-sponzori__text p {
	margin: 0;
}

.dk-sponzori__text a {
	color: var(--accent-text);
	text-decoration: none;
}

.dk-sponzori__text a:hover {
	color: var(--accent-hover);
}

/* Loga ve stejně velkých dlaždicích (vzor NDOH), řada vycentrovaná na
   střed — i neúplný poslední řádek. Šedá, po najetí barevná. */
.dk-sponzori__loga {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dk-sponzori__loga li {
	display: flex;
	width: calc(50% - 0.5rem);
	max-width: 13rem;
	height: 7.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--paper);
	transition: transform 0.25s ease, border-color 0.25s ease;
}

.dk-sponzori__loga li:hover {
	border-color: rgba(232, 114, 12, 0.4);
	transform: translateY(-3px);
}

.dk-sponzori__loga a {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: center;
}

.dk-sponzori__loga img {
	display: block;
	width: auto;
	max-width: 55%;
	height: auto;
	max-height: 50%;
	margin: auto;
	object-fit: contain;
	/* Bílé pozadí loga (znak obce, MAS) splyne s dlaždicí. */
	mix-blend-mode: multiply;
	filter: grayscale(1);
	opacity: 0.65;
	transition: filter 0.25s ease, opacity 0.25s ease;
}

.dk-sponzori__loga li:hover img,
.dk-sponzori__loga a:focus-visible img {
	filter: none;
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.dk-sponzori__loga li {
		transition: none;
	}
}

@media (min-width: 640px) {
	.dk-sponzori {
		padding-block: 4rem;
	}

	.dk-sponzori .dk-sekce-hlavicka h2 {
		font-size: 1.875rem;
		line-height: 2.25rem;
	}

	.dk-sponzori__loga li {
		width: 13rem;
	}
}

/* ------------------------------------------------------------------------
 * Patička
 * --------------------------------------------------------------------- */

.dk-footer {
	padding-block: 3.5rem 2.5rem;
	background: var(--footer-bg);
	color: var(--footer-text);
}

.dk-footer__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	gap: 2.5rem;
}

.dk-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin: 0;
	line-height: 1.25;
}

.dk-footer__brand-title {
	font-family: var(--font-display);
	font-size: 1.6rem;
	color: var(--white);
}

.dk-footer__popis {
	max-width: 34ch;
	margin: 1.1rem 0 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--muted-on-dark);
}

.dk-footer__site {
	display: flex;
	gap: 0.625rem;
	margin-top: 1.25rem;
}

.dk-footer__site a {
	display: grid;
	place-items: center;
	width: 2.625rem;
	height: 2.625rem;
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.08);
	color: var(--white);
	transition: background 0.2s ease;
}

.dk-footer__site a:hover {
	background: var(--accent);
}

.dk-footer__site svg {
	display: block;
	width: 1.375rem;
	height: 1.375rem;
}

/* Nadpisy sloupců jsou h2 (na úrovni sekcí stránky), vzhled drží třída. */
.dk-footer__nadpis {
	margin: 0 0 1rem;
	font-family: var(--font-body);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--white);
}

.dk-footer__odkazy,
.dk-footer__spodek-menu,
.dk-footer__projekty ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dk-footer__odkazy {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}

.dk-footer a {
	color: var(--footer-text);
	text-decoration: none;
	transition: color 0.15s ease;
}

.dk-footer a:hover {
	color: var(--white);
}

.dk-footer__odkazy a,
.dk-footer__kontakt {
	font-size: 0.98rem;
}

.dk-footer__kontakt {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	overflow-wrap: anywhere;
}

.dk-footer__kontakt span,
.dk-footer .dk-footer__adresa {
	color: var(--muted-on-dark);
}

.dk-footer .dk-footer__kontakt .dk-footer__osoba {
	color: var(--white);
	font-weight: 600;
}

.dk-footer .dk-footer__kontakt a:not(.dk-footer__adresa) {
	color: var(--white);
}

.dk-footer .dk-footer__kontakt a:hover {
	color: var(--accent);
}

.dk-footer__box {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 1.25rem;
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.06);
	transition: background 0.2s ease;
}

a.dk-footer__box:hover {
	background: rgba(255, 255, 255, 0.1);
}

.dk-footer__box-datum {
	margin-bottom: 0.4rem;
	font-size: 1.6rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--accent);
}

.dk-footer__box-datum--text {
	font-size: 1.2rem;
	line-height: 1.25;
}

.dk-footer__box-nazev {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--white);
}

.dk-footer__box-text {
	font-size: 0.9rem;
	color: var(--muted-on-dark);
}

.dk-footer__spodek {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.625rem 1.5rem;
	margin-top: 2.75rem;
	padding-top: 1.4rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 0.88rem;
	color: var(--muted-on-dark);
}

.dk-footer .dk-footer__spodek a,
.dk-footer__pozn a {
	color: var(--muted-on-dark);
}

.dk-footer .dk-footer__spodek a:hover,
.dk-footer .dk-footer__pozn a:hover {
	color: var(--white);
}

.dk-footer__spodek-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
}

.dk-footer__cookies {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.dk-footer__cookies:hover {
	color: var(--white);
}

.dk-footer__pozn {
	margin-top: 0.75rem;
	font-size: 0.8rem;
	line-height: 1.5;
	color: var(--muted-on-dark);
}

.dk-footer__pozn p {
	margin: 0 0 0.25rem;
}

.dk-footer__projekty {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem 1.1rem;
	margin-top: 1.1rem;
	padding-top: 1.1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 0.92rem;
}

.dk-footer__projekty-nadpis {
	font-weight: 600;
	color: var(--muted-on-dark);
}

.dk-footer__projekty ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.1rem;
}

/* Přepínač velikosti písma (převzato z NDOH). Stupnice sedí na <html>,
   ze kterého vychází všechny rem hodnoty šablony. */
html[data-dk-pismo='stredni'] {
	font-size: 112.5%;
}

html[data-dk-pismo='velke'] {
	font-size: 125%;
}

.dk-pismo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.625rem;
	margin-top: 2rem;
	font-size: 0.85rem;
	color: var(--muted-on-dark);
}

.dk-pismo__tlacitka {
	display: flex;
	gap: 0.375rem;
}

/* Rozměry v px — tlačítka se se zvětšeným písmem nemají nafukovat. */
.dk-pismo__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 10px;
	background: transparent;
	color: var(--footer-text);
	font-family: var(--font-body);
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.dk-pismo__btn--normalni {
	font-size: 13px;
}

.dk-pismo__btn--stredni {
	font-size: 16px;
}

.dk-pismo__btn--velke {
	font-size: 20px;
}

.dk-pismo__btn:hover {
	background: rgba(255, 255, 255, 0.1);
}

.dk-pismo__btn[aria-pressed='true'] {
	border-color: var(--accent);
	background: var(--accent);
	color: var(--white);
}

.dk-pismo__btn:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

@media (min-width: 640px) {
	.dk-footer {
		padding-block: 4rem 2.5rem;
	}
}

/* ------------------------------------------------------------------------
 * Společné prvky bloků
 * --------------------------------------------------------------------- */

.dk-container--uzky {
	max-width: calc(48rem + 2 * var(--pad-x));
}

.dk-container--stredni {
	max-width: calc(64rem + 2 * var(--pad-x));
}

.dk-btn--lg {
	padding: 0.75rem 2rem;
	font-size: 1.125rem;
	line-height: 1.75rem;
}

.dk-btn--blok {
	display: flex;
	width: 100%;
}

.dk-btn svg {
	width: 1.25rem;
	height: 1.25rem;
}

.dk-odkaz-sipka {
	color: var(--accent-text);
	font-weight: 500;
	text-decoration: none;
	transition: color 0.15s ease;
}

.dk-odkaz-sipka:hover {
	color: var(--accent-hover);
}

/* Proběhlé turnaje: zvýrazněné slovo je šedé místo oranžového. */
.dk-nadpis--tlumeny .dk-akcent {
	color: var(--muted);
}

.dk-sekce-hlavicka p {
	color: var(--muted-text);
}

.dk-sekce-hlavicka--posledni {
	margin-bottom: 0;
}

/* Prázdný blok — jen v editoru (na webu se nevykreslí vůbec). */
.dk-blok-prazdny {
	margin: 0;
	padding: 1.5rem;
	border: 2px dashed var(--border);
	border-radius: var(--radius-sm);
	color: var(--muted-text);
	text-align: center;
}

/* Fotka na pozadí sekce (hero, hlavičky). */
.dk-hero__pozadi,
.dk-page-hero__pozadi,
.dk-turnaj-hero__pozadi {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ------------------------------------------------------------------------
 * Hero
 * --------------------------------------------------------------------- */

.dk-hero {
	position: relative;
	display: flex;
	align-items: center;
	/* Jako NDOH: vysoké, ale nikdy přes celé okno. */
	min-height: clamp(30rem, 78svh, 54rem);
	padding: 4rem var(--pad-x) 5rem;
	overflow: hidden;
	background: var(--ink);
	color: var(--white);
}

/* Svislý přechod do tmavé a vodorovný zleva pod textem — fotka je vidět
   vpravo, text vlevo zůstává čitelný. */
.dk-hero__clona {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(11, 26, 44, 0.85) 0%, rgba(11, 26, 44, 0.45) 60%, rgba(11, 26, 44, 0.15) 100%),
		linear-gradient(180deg, rgba(21, 45, 74, 0.35) 0%, rgba(21, 45, 74, 0.55) 55%, rgba(21, 45, 74, 0.95) 100%);
}

.dk-hero__obsah {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--container);
	margin: 0 auto;
}

.dk-hero__stitek {
	display: inline-block;
	margin-bottom: 1.25rem;
	padding: 0.4rem 0.95rem;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: var(--radius-pill);
	background: rgba(255, 255, 255, 0.12);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

/* Název na jeden řádek — velikost roste se šířkou okna, aby se
   „Deskovky Kateřinice a Trnávka" vešlo i na úzký mobil. */
.dk-hero__nadpis {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 7.2vw, 5rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.01em;
	text-shadow: 0 2px 30px rgba(0, 0, 0, 0.3);
}

.dk-hero__claim {
	max-width: 46ch;
	margin: 1.25rem 0 0;
	color: rgba(255, 255, 255, 0.85);
	font-size: clamp(1.05rem, 1.7vw, 1.3rem);
	line-height: 1.55;
}

.dk-hero__cta {
	margin-top: 1.75rem;
}

.dk-hero__setkani {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	margin-top: 1.5rem;
	padding: 0.9rem 1.4rem 0.9rem 0.9rem;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--radius-lg);
	background: rgba(11, 26, 44, 0.55);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.3);
	color: var(--white);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.dk-hero__setkani > div {
	display: flex;
	flex-direction: column;
}

.dk-hero__setkani-stitek {
	color: var(--accent);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.dk-hero__setkani-cas {
	font-size: clamp(1.25rem, 2.4vw, 1.6rem);
	font-weight: 800;
	line-height: 1.2;
}

.dk-hero__setkani-misto {
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.9rem;
}

/* Karta nejbližšího turnaje — prosklená. Celá je
   odkaz na detail turnaje; tlačítko uvnitř je jen vizuální. */
.dk-hero__turnaje {
	display: grid;
	gap: 1rem;
	max-width: 36rem;
	margin-top: 2rem;
}

/* Dva turnaje vedle sebe, na užší obrazovce pod sebou — druhý pak jen
   v krátké podobě (kalendář, název, datum), ať hero nepřeroste okno. */
@media (max-width: 899px) {
	.dk-hero-turnaj--dalsi .dk-hero-turnaj__meta li:not(:first-child),
	.dk-hero-turnaj--dalsi .dk-hero-turnaj__kapacita,
	.dk-hero-turnaj--dalsi .dk-hero-turnaj__akce {
		display: none;
	}

}

@media (min-width: 900px) {
	.dk-hero__turnaje--dva {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: none;
	}
}

.dk-hero-turnaj {
	display: flex;
	gap: 1.25rem;
	padding: 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--radius-lg);
	background: rgba(11, 26, 44, 0.55);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
	color: var(--white);
	text-decoration: none;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.dk-hero-turnaj:hover {
	border-color: rgba(232, 114, 12, 0.7);
	transform: translateY(-2px);
}

.dk-hero-turnaj__obsah {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
}

.dk-hero-turnaj__stitek {
	color: var(--accent);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.dk-hero-turnaj__nazev {
	margin-top: 0.2rem;
	font-size: clamp(1.15rem, 2vw, 1.4rem);
	font-weight: 700;
	line-height: 1.25;
}

.dk-hero-turnaj__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.1rem;
	margin: 0.7rem 0 0;
	padding: 0;
	list-style: none;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.9rem;
}

.dk-hero-turnaj__meta li {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.dk-hero-turnaj__meta svg {
	flex: none;
	width: 1rem;
	height: 1rem;
	color: var(--accent);
}

.dk-hero-turnaj__kapacita {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-top: 0.9rem;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.82rem;
	font-weight: 600;
}

.dk-hero-turnaj__pruh {
	display: block;
	height: 6px;
	overflow: hidden;
	border-radius: var(--radius-pill);
	background: rgba(255, 255, 255, 0.15);
}

.dk-hero-turnaj__pruh span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #4ade80;
}

.dk-hero-turnaj__kapacita.is-plno .dk-hero-turnaj__pruh span {
	background: #fbbf24;
}

/* Tlačítko dole — u dvou karet vedle sebe stojí obě ve stejné výšce. */
.dk-hero-turnaj__akce {
	margin-top: auto;
	padding-top: 1.1rem;
}

.dk-hero-turnaj__btn {
	gap: 0.5rem;
}

.dk-hero-turnaj__btn svg {
	width: 1.1rem;
	height: 1.1rem;
	transition: transform 0.2s ease;
}

.dk-hero-turnaj:hover .dk-hero-turnaj__btn {
	background: var(--accent-hover);
}

.dk-hero-turnaj:hover .dk-hero-turnaj__btn svg {
	transform: translateX(3px);
}

@media (max-width: 480px) {
	.dk-hero-turnaj {
		padding: 1rem;
	}
}

@media (max-width: 640px) {
	.dk-hero {
		min-height: clamp(26rem, 64svh, 38rem);
		padding-block: 3rem 5.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dk-hero__dolu {
		animation: none;
	}
}

.dk-hero__dolu {
	position: absolute;
	bottom: 2rem;
	left: 50%;
	z-index: 1;
	color: rgba(255, 255, 255, 0.5);
	transform: translateX(-50%);
	animation: dk-poskok 1s infinite;
}

.dk-hero__dolu svg {
	display: block;
	width: 1.5rem;
	height: 1.5rem;
}

@keyframes dk-poskok {
	0%,
	100% {
		transform: translate(-50%, -25%);
		animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
	}

	50% {
		transform: translate(-50%, 0);
		animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
	}
}

/* ------------------------------------------------------------------------
 * Ikona v dlaždici (výhody, karty O klubu)
 * --------------------------------------------------------------------- */

/* Dlaždice s ikonou mírně natočená jako hrací kostka; po najetí na kartu
   se srovná. */
.dk-ikona-dlazdice {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 3rem;
	height: 3rem;
	/* Jemný oranžový nádech, ne plná oranžová — ta patří tlačítkům.
	   Průhledný nádech funguje na světlém i tmavém podkladu. */
	border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
	border-radius: var(--radius);
	background: color-mix(in srgb, var(--accent) 12%, transparent);
	color: var(--accent);
	transform: rotate(-6deg);
	transition: transform 0.2s ease;
}

.dk-ikona-dlazdice svg {
	width: 1.85rem;
	height: 1.85rem;
}

/* ------------------------------------------------------------------------
 * Výhody (USP)
 * --------------------------------------------------------------------- */

.dk-usp {
	padding-block: var(--pad-y);
	border-bottom: 1px solid var(--border);
}

.dk-usp__seznam {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dk-usp__polozka {
	padding: 1.25rem 1rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--white);
	box-shadow: var(--shadow-card);
	transition: transform 0.2s ease, border-color 0.2s ease;
}

.dk-usp__polozka:hover {
	border-color: rgba(232, 114, 12, 0.4);
	transform: translateY(-3px);
}

.dk-usp__polozka:hover .dk-ikona-dlazdice {
	transform: rotate(0);
}

.dk-usp__ikona {
	margin-bottom: 0.875rem;
}

.dk-usp__nadpis {
	margin: 0 0 0.3rem;
	color: var(--ink);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
}

.dk-usp__popis {
	margin: 0;
	color: var(--muted-text);
	font-size: 0.875rem;
	line-height: 1.45;
}

@media (min-width: 900px) {
	.dk-usp__seznam {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.25rem;
	}

	.dk-usp__polozka {
		padding: 1.5rem;
	}
}

/* ------------------------------------------------------------------------
 * O klubu
 * --------------------------------------------------------------------- */

.dk-o-klubu {
	padding-block: var(--pad-y);
	background: var(--surface-2);
}

.dk-o-klubu__mrizka {
	display: grid;
	gap: 3rem;
	align-items: center;
}

.dk-o-klubu__text h2 {
	margin: 0 0 1.5rem;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 2.25rem;
}

.dk-o-klubu__obsah {
	margin-bottom: 1rem;
	color: var(--muted-text);
	font-size: 1.125rem;
	line-height: 1.625;
}

.dk-o-klubu__obsah p {
	margin: 0 0 1rem;
}

.dk-o-klubu__obsah strong {
	color: var(--ink);
}

.dk-o-klubu__karty {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dk-o-klubu__odkazy {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin: 0;
}

/* Kontakt — karty kontaktních údajů (stejné jako v O klubu) ve dvou
   sloupcích, na mobilu pod sebou. */
.dk-kontakt {
	padding-block: var(--pad-y);
	background: var(--surface-2);
}

.dk-kontakt__karty {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dk-kontakt__karty > li > * {
	height: 100%;
}

.dk-kontakt .dk-karta-info h3 {
	overflow-wrap: anywhere;
}

@media (min-width: 768px) {
	.dk-kontakt__karty {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem;
	}
}

.dk-karta-info {
	display: flex;
	align-items: center;
	gap: 1.1rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--white);
	box-shadow: var(--shadow-card);
	color: inherit;
	text-decoration: none;
	transition: transform 0.2s ease, border-color 0.2s ease;
}

.dk-karta-info:hover {
	border-color: rgba(232, 114, 12, 0.4);
	transform: translateY(-2px);
}

.dk-karta-info:hover .dk-ikona-dlazdice {
	transform: rotate(0);
}

.dk-karta-info h3 {
	margin: 0 0 0.2rem;
	color: var(--ink);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	transition: color 0.15s ease;
}

.dk-karta-info p {
	margin: 0;
	color: var(--muted-text);
	font-size: 0.875rem;
	line-height: 1.45;
}

/* Kartu-odkaz prozradí podtržený nadpis — adresa pod ním podtržená není. */
.dk-karta-info--odkaz h3 {
	color: var(--accent-text);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.dk-karta-info--odkaz:hover h3 {
	color: var(--accent-hover);
}

@media (min-width: 640px) {
	.dk-o-klubu__text h2 {
		font-size: 2.25rem;
		line-height: 2.5rem;
	}
}

@media (min-width: 768px) {
	.dk-o-klubu__mrizka {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ------------------------------------------------------------------------
 * Pás, který sám jede do strany (galerie her, fotky)
 *
 * Dráha nese sadu dvakrát a animace ji posune o polovinu, takže konec
 * navazuje na začátek. Délka animace = počet položek × rychlost, tedy
 * stejná rychlost při 6 i 40 položkách. Zastaví se myší a fokusem;
 * s omezeným pohybem stojí a posouvá se ručně.
 * --------------------------------------------------------------------- */

/* Galerie her — pás karet přes celou šířku okna. */
.dk-galerie-her {
	padding-block: var(--pad-y);
	overflow: hidden;
	background: var(--surface-2);
}

.dk-galerie-her__akce {
	margin: 2.5rem 0 0;
	padding-inline: var(--pad-x);
	text-align: center;
}

.dk-pruh {
	--dk-pruh-sirka: 13.75rem;
	--dk-pruh-mezera: 1.25rem;
	position: relative;
}

/* Karty na krajích plynule mizí. */
.dk-pruh__okno {
	-webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}

.dk-pruh__draha {
	display: flex;
	width: max-content;
	/* Místo pro náklon, zvednutí a stín karty — maska okna ořízne vše,
	   co přesahuje jeho okraj. */
	padding-block: 1.75rem 2.25rem;
	animation: dk-pruh calc(var(--dk-pruh-pocet) * var(--dk-pruh-rychlost, 4.5s)) linear infinite;
}

.dk-pruh__draha:focus-visible {
	outline-offset: -4px;
}

.dk-pruh:hover .dk-pruh__draha,
.dk-pruh:focus-within .dk-pruh__draha {
	animation-play-state: paused;
}

@keyframes dk-pruh {
	to {
		transform: translateX(-50%);
	}
}

.dk-pruh__sada {
	display: flex;
	gap: var(--dk-pruh-mezera);
	margin: 0;
	/* Mezera i za poslední kartou — obě poloviny dráhy jsou stejně dlouhé. */
	padding: 0 var(--dk-pruh-mezera) 0 0;
	list-style: none;
}

.dk-karta-hry {
	position: relative;
	flex: none;
	width: var(--dk-pruh-sirka);
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border: 4px solid var(--white);
	border-radius: var(--radius-lg);
	background: var(--ink);
	box-shadow: var(--shadow-card);
	transform: rotate(-1.5deg);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Karty leží na stole trochu nakřivo, každá jinak. */
.dk-karta-hry:nth-child(even) {
	transform: rotate(1.5deg) translateY(0.5rem);
}

.dk-karta-hry:nth-child(3n) {
	transform: rotate(-0.5deg) translateY(-0.25rem);
}

.dk-karta-hry:hover {
	z-index: 1;
	box-shadow: 0 10px 24px rgba(21, 45, 74, 0.22);
	transform: rotate(0) translateY(-0.5rem) scale(1.04);
}

.dk-karta-hry__obr {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.dk-karta-hry:hover .dk-karta-hry__obr {
	transform: scale(1.06);
}

/* Logo hry v horní polovině karty (nad pozadím, pod štítkem typu a textem),
   vycentrované v prostoru mezi štítkem a textem. Šířku počítá
   dk_logo_sirka_karty() z poměru stran (--dk-logo-sirka), ať jsou loga
   různých tvarů opticky stejně velká; vysoká loga drží max-height. */
.dk-karta-hry__logo {
	position: absolute;
	top: 31%;
	left: 50%;
	z-index: 1;
	width: calc((100% - 1.8rem) * var(--dk-logo-sirka, 1));
	max-width: none;
	height: auto;
	max-height: 34%;
	object-fit: contain;
	filter: drop-shadow(0 2px 10px rgba(11, 26, 44, 0.55));
	transform: translate(-50%, -50%);
	transition: transform 0.5s ease;
}

.dk-karta-hry:hover .dk-karta-hry__logo {
	transform: translate(-50%, -50%) scale(1.04);
}

.dk-karta-hry::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, var(--ink) 0%, rgba(21, 45, 74, 0.75) 38%, transparent 70%);
}

.dk-karta-hry__typ {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 1;
	padding: 0.2rem 0.6rem;
	/* Štítek tmavý poloprůhledný — oranžová patří tlačítkům. Bez
	   backdrop-filter: v Chrome by u karty turnaje skryl fotku pod textem. */
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: var(--radius-pill);
	background: rgba(11, 26, 44, 0.8);
	color: var(--white);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Název je bílý — na původním webu dědil tmavou barvu textu a na tmavém
   přechodu byl skoro neviditelný (vědomá oprava). */
.dk-karta-hry__text {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	padding: 1rem;
	color: var(--white);
}

.dk-karta-hry__text h3 {
	margin: 0 0 0.25rem;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.25;
}

.dk-karta-hry__text p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: var(--footer-text);
	font-size: 0.8rem;
	line-height: 1.15rem;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.dk-karta-hry__meta {
	display: flex;
	gap: 0.875rem;
	margin: 0.6rem 0 0;
	padding: 0.6rem 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	list-style: none;
	font-size: 0.8rem;
	font-weight: 600;
}

.dk-karta-hry__meta li {
	display: flex;
	align-items: center;
	gap: 0.3rem;
}

.dk-karta-hry__meta svg {
	width: 1rem;
	height: 1rem;
	color: var(--accent);
}

/* Celá karta vede na detail hry — vrstva nad obrázkem i textem. */
.dk-karta-hry__odkaz {
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
}

.dk-karta-hry__odkaz:focus-visible {
	outline: 3px solid var(--accent);
	outline-offset: 2px;
}

@media (min-width: 640px) {
	.dk-pruh,
	.dk-hry-mrizka {
		--dk-pruh-sirka: 17.5rem;
		--dk-pruh-mezera: 1.75rem;
	}
}

/* Hry turnaje (template-parts/souvisejici-hry.php) — víc her jako karty
   z galerie, jen v mřížce místo jedoucího pásu. */
.dk-turnaj__hry {
	padding-block: var(--pad-y);
}

.dk-hry-mrizka {
	--dk-pruh-sirka: 13.75rem;
	--dk-pruh-mezera: 1.25rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--dk-pruh-mezera);
	margin: 0;
	padding: 0.5rem 0 1rem;
	list-style: none;
}

/* Výpis her (blok Výpis her) — karty z galerie v mřížce, nad ní filtr
   podle typu (assets/js/hry.js). */
.dk-vypis-her {
	padding-block: var(--pad-y);
}

.dk-vypis-her__typy {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin-bottom: 2.5rem;
}

.dk-vypis-her__typy[hidden] {
	display: none;
}

.dk-filtr-tlacitko {
	display: inline-flex;
	gap: 0.4rem;
	align-items: center;
	padding: 0.45rem 0.9rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	background: var(--surface);
	color: var(--ink);
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.dk-filtr-tlacitko span {
	color: var(--muted-text);
	font-weight: 500;
}

.dk-filtr-tlacitko:hover {
	border-color: var(--accent);
}

.dk-filtr-tlacitko[aria-pressed="true"] {
	border-color: var(--ink);
	background: var(--ink);
	color: var(--white);
}

.dk-filtr-tlacitko[aria-pressed="true"] span {
	color: var(--muted-on-dark);
}

.dk-filtr-tlacitko:focus-visible {
	outline: 3px solid var(--accent);
	outline-offset: 2px;
}

.dk-karty-her {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
	gap: 2rem 1.75rem;
	margin: 0;
	padding: 0.5rem 0 1rem;
	list-style: none;
}

/* Mřížka karet her (Výpis her, Další hry na detailu hry). Karta má šířku
   z pásu (--dk-pruh-sirka) — v mřížce ji drží sloupec. */
.dk-karty-her .dk-karta-hry {
	width: auto;
}

.dk-karty-her .dk-karta-hry[hidden] {
	display: none;
}

@media (max-width: 639px) {
	.dk-karty-her {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem 1rem;
	}

	/* Na úzké kartě claim nepomůže, zůstane název a parametry. */
	.dk-karty-her .dk-karta-hry__text p {
		display: none;
	}

	.dk-karty-her .dk-karta-hry__text {
		padding: 0.75rem;
	}

	.dk-karty-her .dk-karta-hry__text h3 {
		font-size: 1rem;
	}
}

/* Jedna hra — široký banner: banner turnajů v pozadí, obálka nakřivo jako
   karta hry, vedle popis a parametry. Celý vede na detail hry. */
.dk-hra-banner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	padding: 2rem 1.5rem;
	overflow: hidden;
	border-radius: var(--radius-lg);
	background: var(--ink);
	box-shadow: var(--shadow-card);
	color: var(--white);
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.dk-hra-banner:hover {
	box-shadow: 0 14px 32px rgba(21, 45, 74, 0.28);
	transform: translateY(-0.25rem);
}

.dk-hra-banner__odkaz {
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
}

.dk-hra-banner__odkaz:focus-visible {
	outline: 3px solid var(--accent);
	outline-offset: 3px;
}

.dk-hra-banner__pozadi {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.dk-hra-banner:hover .dk-hra-banner__pozadi {
	transform: scale(1.04);
}

.dk-hra-banner::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, var(--ink) 10%, rgba(21, 45, 74, 0.85) 55%, rgba(21, 45, 74, 0.6));
}

.dk-hra-banner__obalka {
	position: relative;
	z-index: 1;
	flex: none;
	width: 10rem;
	height: auto;
	aspect-ratio: 3 / 4;
	border: 4px solid var(--white);
	border-radius: var(--radius-lg);
	object-fit: cover;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
	transform: rotate(-3deg);
}

.dk-hra-banner__text {
	position: relative;
	z-index: 1;
	max-width: 36rem;
}

.dk-hra-banner__typ {
	position: static;
	display: inline-block;
	margin-bottom: 0.75rem;
}

.dk-hra-banner__text h3 {
	margin: 0 0 0.5rem;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.2;
}

.dk-hra-banner__text p {
	margin: 0;
	color: var(--footer-text);
	line-height: 1.6;
}

.dk-hra-banner .dk-karta-hry__meta {
	justify-content: center;
	margin-top: 1rem;
	padding-top: 1rem;
	font-size: 0.9rem;
}

.dk-hra-banner__akce {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 1.25rem;
	color: var(--accent);
	font-weight: 700;
}

.dk-hra-banner__akce svg {
	width: 1.1rem;
	height: 1.1rem;
	transition: transform 0.2s ease;
}

.dk-hra-banner:hover .dk-hra-banner__akce svg {
	transform: translateX(0.25rem);
}

@media (min-width: 768px) {
	.dk-hra-banner {
		flex-direction: row;
		gap: 2.5rem;
		padding: 2.5rem 3rem;
		text-align: left;
	}

	.dk-hra-banner__obalka {
		width: 13rem;
	}

	.dk-hra-banner .dk-karta-hry__meta {
		justify-content: flex-start;
	}
}

/* Detail hry — turnaje hry na odlišném pozadí jako „Ostatní turnaje" u turnaje,
   odkazy na vydavatele a BGG v řádku. */
.dk-hra__turnaje {
	/* Jedoucí pás je širší než okno (width: max-content) — bez ořezu by se
	   celá stránka posouvala do strany. Jen vodorovně, ať zvednuté karty
	   a stíny nahoře a dole zůstanou. */
	overflow-x: clip;
	border-top: 1px solid var(--border);
	background: var(--surface-2);
}

.dk-hra__odkazy {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.dk-hra__odkazy a {
	overflow-wrap: anywhere;
}

/* Logo hry místo textového nadpisu (v <h1> s alt = název). */
.dk-hra-hero__nadpis-logo {
	margin: 0 auto 1.25rem;
	line-height: 0;
}

/* Velké logo, mírně natočené (úhel podle hry v --dk-natoceni) jako cedule. */
.dk-hra-hero__nadpis-logo .dk-turnaj-hero__logo {
	display: inline-block;
	max-width: min(34rem, 85vw);
	max-height: 14rem;
	transform: rotate(var(--dk-natoceni, -2deg));
	filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.6));
	transition: transform 0.4s ease;
}

.dk-hra-hero:hover .dk-hra-hero__nadpis-logo .dk-turnaj-hero__logo {
	transform: rotate(0) scale(1.02);
}

@media (min-width: 1024px) {
	.dk-hra-hero__nadpis-logo .dk-turnaj-hero__logo {
		max-height: 16rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dk-hra-hero__nadpis-logo .dk-turnaj-hero__logo {
		transition: none;
	}
}

/* Nadcházející turnaje hry — bannery pod sebou. */
.dk-hra__bannery {
	display: grid;
	gap: 1.5rem;
}

.dk-hra__probehle {
	margin-top: 5rem;
}

/* Obálky her turnaje přes sebe jako vějíř karet — první (primární hra)
   vpředu, další vykukují za ní natočené. */
.dk-turnaj-banner__obalky {
	position: relative;
	z-index: 1;
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1rem;
}

.dk-turnaj-banner__obalky .dk-hra-banner__obalka {
	width: 8rem;
}

.dk-turnaj-banner__obalky .dk-hra-banner__obalka:nth-child(1) {
	z-index: 3;
	transform: rotate(-3deg);
}

.dk-turnaj-banner__obalky .dk-hra-banner__obalka:nth-child(2) {
	z-index: 2;
	margin-left: -4.5rem;
	transform: rotate(7deg) translateY(0.5rem);
}

.dk-turnaj-banner__obalky .dk-hra-banner__obalka:nth-child(3) {
	z-index: 1;
	margin-left: -4.5rem;
	transform: rotate(15deg) translateY(1.25rem);
}

@media (min-width: 768px) {
	.dk-turnaj-banner__obalky .dk-hra-banner__obalka {
		width: 11rem;
	}

	.dk-turnaj-banner__obalky .dk-hra-banner__obalka + .dk-hra-banner__obalka {
		margin-left: -7rem;
	}
}

.dk-turnaj-banner .dk-hra-banner__typ {
	margin-right: 0.35rem;
}

.dk-turnaj-banner__perex {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.dk-turnaj-banner__hry {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem;
	margin: 0.85rem 0 0;
	padding: 0;
	list-style: none;
}

.dk-turnaj-banner__hry li {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.25rem 0.7rem;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: var(--radius-pill);
	background: rgba(255, 255, 255, 0.08);
	font-size: 0.85rem;
	font-weight: 600;
}

.dk-turnaj-banner__hry svg {
	width: 1rem;
	height: 1rem;
	color: var(--accent);
}

@media (min-width: 768px) {
	.dk-turnaj-banner__hry {
		justify-content: flex-start;
	}
}

.dk-turnaj-banner__meta {
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
}

.dk-turnaj-banner__spodek {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem 1.5rem;
	margin-top: 1.25rem;
}

.dk-turnaj-banner__spodek .dk-hra-banner__akce {
	margin-top: 0;
}

/* Tlačítko přihlášky leží nad odkazem přes celou kartu. */
.dk-turnaj-banner__akce {
	position: relative;
	z-index: 3;
}

@media (min-width: 768px) {
	.dk-turnaj-banner__spodek {
		justify-content: flex-start;
	}
}

/* Proběhlé turnaje hry — karty turnajů v jedoucím pásu jako galerie her:
   stejná šířka, mírné natočení. Při málo turnajích pás stojí uprostřed. */
.dk-pruh--turnaje {
	--dk-pruh-sirka: 17rem;
}

.dk-pruh__turnaj {
	flex: none;
	width: var(--dk-pruh-sirka);
	transform: rotate(-1.5deg);
	transition: transform 0.3s ease;
}

.dk-pruh__turnaj:nth-child(even) {
	transform: rotate(1.5deg) translateY(0.5rem);
}

.dk-pruh__turnaj:nth-child(3n) {
	transform: rotate(-0.5deg) translateY(-0.25rem);
}

.dk-pruh__turnaj:hover {
	z-index: 1;
	transform: rotate(0) translateY(-0.4rem);
}

.dk-pruh__turnaj .dk-karta-turnaje:hover {
	transform: translateZ(0);
}

.dk-pruh--stoji .dk-pruh__okno {
	-webkit-mask-image: none;
	mask-image: none;
}

.dk-pruh--stoji .dk-pruh__draha {
	width: auto;
	animation: none;
}

.dk-pruh--stoji .dk-pruh__sada {
	flex: 1;
	flex-wrap: wrap;
	justify-content: center;
	padding: 0 var(--pad-x);
}

@media (min-width: 640px) {
	.dk-pruh--turnaje {
		--dk-pruh-sirka: 20rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dk-hra-banner,
	.dk-hra-banner__pozadi,
	.dk-hra-banner__akce svg,
	.dk-pruh__turnaj {
		transition: none;
	}
}

/* Omezený pohyb: pás stojí a posouvá se ručně, kopie nejsou potřeba. */
@media (prefers-reduced-motion: reduce) {
	.dk-pruh__okno {
		overflow-x: auto;
		-webkit-mask-image: none;
		mask-image: none;
	}

	.dk-pruh__draha {
		padding-inline: var(--pad-x);
		animation: none;
	}

	.dk-pruh__sada[aria-hidden='true'],
	.dk-karta-hry[aria-hidden='true'] {
		display: none;
	}

	.dk-karta-hry,
	.dk-karta-hry__obr,
	.dk-karta-hry__logo {
		transition: none;
	}
}

/* ------------------------------------------------------------------------
 * Turnaje a karta turnaje
 * --------------------------------------------------------------------- */

.dk-turnaje {
	padding-block: var(--pad-y);
}

.dk-turnaje__karty {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Nadcházející turnaje ve výpisu — široké bannery pod sebou, šířka jako
   obsah detailu turnaje (64 rem). */
.dk-turnaje__bannery {
	display: grid;
	gap: 1.5rem;
	max-width: 64rem;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.dk-turnaje__karty--vlevo {
	justify-content: flex-start;
}

.dk-turnaje__karty > li {
	width: 100%;
}

.dk-turnaje__probehle {
	margin-top: 6rem;
}

.dk-turnaje__rok {
	margin-bottom: 3rem;
}

.dk-turnaje__rok:last-child {
	margin-bottom: 0;
}

.dk-turnaje__rok > h3 {
	margin: 0 0 1.5rem;
	color: var(--muted);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 2rem;
	text-align: center;
}

@media (min-width: 640px) {
	.dk-turnaje__karty > li {
		width: calc(50% - 0.75rem);
	}
}

@media (min-width: 1024px) {
	.dk-turnaje__karty > li {
		width: calc(33.333% - 1rem);
	}
}

/* Karta turnaje — vzhled karet her: banner přes celou kartu, text přes
   fotku na tmavém přechodu, bílý rámeček; po najetí se zvedne. V mřížce
   rovně (natočení vypadalo v řádcích neklidně). */
.dk-karta-turnaje {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
	min-height: 19rem;
	overflow: hidden;
	border: 4px solid var(--white);
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, var(--ink), #24456b);
	box-shadow: var(--shadow-card);
	color: var(--white);
	/* translateZ: karta je vlastní vrstva i bez natočení — fotka a přechody
	   se záporným z-indexem pak nespadnou pod sekci. */
	transform: translateZ(0);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.dk-karta-turnaje--detail {
	min-height: 23rem;
}

.dk-karta-turnaje:hover {
	z-index: 1;
	box-shadow: var(--shadow-overlay);
	transform: translateY(-6px);
}

.dk-karta-turnaje__obr,
.dk-karta-turnaje::before,
.dk-karta-turnaje::after {
	position: absolute;
	inset: 0;
}

/* Vrstvy: fotka (-2) a přechody (-1) pod textem — karta je díky
   transform vlastní vrstva, takže záporný z-index nespadne pod sekci. Odkaz přes
   celou kartu (1) leží nad textem i logem, tlačítko (2) nad odkazem. */
.dk-karta-turnaje__obr {
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.dk-karta-turnaje:hover .dk-karta-turnaje__obr {
	transform: scale(1.06);
}

/* Nahoře jemné ztmavení pod logo hry, dole přechod pod text. */
.dk-karta-turnaje::before {
	content: '';
	z-index: -1;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, transparent 40%);
}

.dk-karta-turnaje::after {
	content: '';
	z-index: -1;
	background: linear-gradient(to top, var(--ink) 0%, rgba(21, 45, 74, 0.85) 38%, transparent 72%);
}

.dk-karta-turnaje--probehly .dk-karta-turnaje__obr {
	filter: saturate(0.75);
}

.dk-karta-turnaje__vodoznak {
	position: absolute;
	top: 22%;
	left: 50%;
	width: auto;
	z-index: -1;
	height: 4rem;
	opacity: 0.2;
	transform: translateX(-50%);
}

.dk-karta-turnaje__logo {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 45%;
	padding: 1.5rem 2rem 0;
}

.dk-karta-turnaje__logo .dk-karta-turnaje__hra {
	width: 4.5rem;
	max-width: none;
	height: 4.5rem;
	max-height: none;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
	filter: none;
}

.dk-karta-turnaje__logo--vice {
	gap: 0.85rem;
}

.dk-karta-turnaje__logo.dk-karta-turnaje__logo--vice img {
	max-width: 40%;
}

/* Víc log na kartě: šířka ze stejné plochy (--dk-logo-w), výška dopočtená. */
.dk-karta-turnaje__logo.dk-karta-turnaje__logo--vice img[style*='--dk-logo-w'] {
	width: var(--dk-logo-w);
	max-height: none;
}

.dk-karta-turnaje__logo img {
	width: auto;
	max-width: 60%;
	height: auto;
	max-height: 4.5rem;
	object-fit: contain;
	filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.6));
}

.dk-karta-turnaje__stitky {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	left: 0.75rem;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
	pointer-events: none;
}

.dk-karta-turnaje__stitky li {
	padding: 0.2rem 0.6rem;
	/* Štítek tmavý poloprůhledný — oranžová patří tlačítkům. */
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: var(--radius-pill);
	background: rgba(11, 26, 44, 0.8);
	color: var(--white);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.dk-karta-turnaje__text {
	padding: 1.1rem 1.15rem 1.15rem;
}

.dk-karta-turnaje__nazev {
	margin: 0 0 0.6rem;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.25;
}

.dk-karta-turnaje__nazev a {
	color: inherit;
	text-decoration: none;
}

/* Odkaz přes celou kartu. */
.dk-karta-turnaje__nazev a::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}

.dk-karta-turnaje__meta {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--footer-text);
	font-size: 0.85rem;
}

.dk-karta-turnaje__meta li {
	display: flex;
	align-items: center;
	gap: 0.45rem;
}

.dk-karta-turnaje__meta svg {
	flex: none;
	width: 1rem;
	height: 1rem;
	color: var(--accent);
}

.dk-karta-turnaje__spodek {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.dk-karta-turnaje__cena {
	display: flex;
	flex-direction: column;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.2;
}

.dk-karta-turnaje__cena small {
	color: var(--muted-on-dark);
	font-size: 0.72rem;
	font-weight: 500;
}

.dk-karta-turnaje__akce {
	position: relative;
	z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
	.dk-karta-turnaje,
	.dk-karta-turnaje__obr {
		transition: none;
	}
}

/* ------------------------------------------------------------------------
 * Časté otázky
 * --------------------------------------------------------------------- */

.dk-faq {
	padding-block: var(--pad-y);
	background: var(--surface-2);
}

/* Vlevo úvod (na počítači zůstává při posouvání na místě), vpravo otázky
   v rozumné šířce řádku. */
.dk-faq__mrizka {
	display: grid;
	gap: 2rem;
}

.dk-faq__uvod h2 {
	margin: 0 0 0.75rem;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.2;
}

.dk-faq__uvod p {
	max-width: 36ch;
	margin: 0 0 1rem;
	color: var(--muted-text);
	font-size: 1.05rem;
	line-height: 1.65;
}

.dk-faq__uvod a {
	color: var(--accent-text);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	overflow-wrap: anywhere;
}

.dk-faq__uvod a:hover {
	color: var(--accent-hover);
}

.dk-faq__seznam {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.dk-faq__polozka {
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--white);
	box-shadow: var(--shadow-card);
	transition: border-color 0.2s ease;
}

.dk-faq__polozka:hover,
.dk-faq__polozka[open] {
	border-color: rgba(232, 114, 12, 0.4);
}

.dk-faq__polozka summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.1rem 1rem 1.35rem;
	color: var(--ink);
	font-weight: 600;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}

.dk-faq__polozka summary::-webkit-details-marker {
	display: none;
}

/* Indikátor rozbalení je jen ikona — plus se otočí na křížek. */
.dk-faq__plus {
	display: flex;
	flex: none;
	color: var(--accent-text);
}

.dk-faq__plus svg {
	width: 1.25rem;
	height: 1.25rem;
	transition: transform 0.25s ease;
}

.dk-faq__polozka[open] .dk-faq__plus svg {
	transform: rotate(45deg);
}

.dk-faq__odpoved {
	padding: 0 1.35rem 1.2rem;
	color: var(--muted-text);
	line-height: 1.6;
}

.dk-faq__odpoved p {
	margin: 0 0 0.75rem;
}

.dk-faq__odpoved p:last-child {
	margin-bottom: 0;
}

.dk-faq__odpoved a {
	color: var(--accent-text);
	text-decoration: underline;
}

.dk-faq__odpoved a:hover {
	color: var(--accent-hover);
}

@media (min-width: 900px) {
	.dk-faq__mrizka {
		grid-template-columns: minmax(0, 20rem) minmax(0, 44rem);
		justify-content: space-between;
		gap: 4rem;
	}

	.dk-faq__uvod {
		position: sticky;
		top: calc(var(--header-h) + var(--wp-admin--admin-bar--height, 0px) + 3rem);
		align-self: start;
	}

	.dk-faq__uvod h2 {
		font-size: 2.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dk-faq__plus svg {
		transition: none;
	}
}

/* ------------------------------------------------------------------------
 * Jednoduchý hero (hlavička podstránky)
 * --------------------------------------------------------------------- */

.dk-page-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 18rem;
	overflow: hidden;
	background: linear-gradient(to bottom right, var(--surface-2), var(--border), var(--surface-2));
	color: var(--white);
}

.dk-page-hero__clona,
.dk-turnaj-hero__clona {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, var(--ink) 0%, rgba(21, 45, 74, 0.7) 60%, rgba(21, 45, 74, 0.5) 100%);
}

.dk-page-hero__obsah {
	position: relative;
	z-index: 1;
	padding: 0 1rem;
	text-align: center;
}

.dk-drobky {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	margin-bottom: 0.75rem;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.75rem;
}

.dk-drobky a {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	color: inherit;
	text-decoration: none;
}

.dk-drobky a:hover {
	color: rgba(255, 255, 255, 0.85);
}

.dk-drobky svg {
	width: 0.75rem;
	height: 0.75rem;
}

.dk-drobky > svg {
	width: 0.625rem;
	height: 0.625rem;
}

.dk-drobky span {
	color: rgba(255, 255, 255, 0.75);
}

.dk-page-hero h1 {
	margin: 0;
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 2.5rem;
}

.dk-page-hero p {
	max-width: 36rem;
	margin: 0.75rem auto 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.875rem;
}

.dk-page-hero p a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.dk-page-hero p a:hover {
	color: var(--white);
}

@media (min-width: 640px) {
	.dk-page-hero {
		height: 20rem;
	}

	.dk-page-hero h1 {
		font-size: 3rem;
		line-height: 1;
	}

	.dk-page-hero p {
		font-size: 1rem;
	}
}

@media (min-width: 1024px) {
	.dk-page-hero h1 {
		font-size: 3.75rem;
	}
}

/* ------------------------------------------------------------------------
 * Text z běžných bloků Gutenbergu (odstavec, nadpis, seznam, tabulka…)
 *
 * Obsah stránky je řada bloků: sekce tématu jsou přes celou šířku (alignfull),
 * běžné bloky mezi nimi tvoří textový sloupec 48 rem (max-w-3xl původního
 * webu). Na webu je obalem .dk-obsah (page.php a spol.), v editoru kořen
 * .is-root-container — šířku tam drží theme.json (contentSize).
 * --------------------------------------------------------------------- */

.dk-obsah > :not(.alignfull) {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(48rem + 2 * var(--pad-x));
	margin-right: auto;
	margin-left: auto;
	padding-right: var(--pad-x);
	padding-left: var(--pad-x);
}

/* Odsazení textového sloupce od sekcí kolem. */
.dk-obsah > :not(.alignfull):first-child,
.dk-obsah > .alignfull + :not(.alignfull) {
	margin-top: 3rem;
}

.dk-obsah > :not(.alignfull):last-child,
.dk-obsah > :not(.alignfull):has(+ .alignfull) {
	margin-bottom: 3rem;
}

:is(.dk-obsah, .is-root-container) > :is(p, ul, ol, h1, h2, h3, h4, blockquote, figure, hr) {
	color: var(--muted-text);
	font-size: 1.125rem;
	line-height: 1.75;
}

/* Texty AI bloků (úvod, shrnutí) — odstavce a seznam jako běžný text sloupce
   (blok je obal, takže pravidla pro přímé potomky na ně nedosáhnou). */
.dk-ai-text :is(p, li) {
	color: var(--muted-text);
	font-size: 1.125rem;
	line-height: 1.75;
}

.dk-ai-text p,
.dk-ai-text ul {
	margin: 0 0 1rem;
}

.dk-ai-text ul {
	padding-left: 1.5rem;
}

.dk-ai-text li + li {
	margin-top: 0.5rem;
}

.dk-ai-text li strong {
	color: var(--ink);
}

.dk-ai-text > :last-child {
	margin-bottom: 0;
}

/* AI bloky jsou v textovém sloupci samostatné celky — od okolních bloků je
   dělí stejný odstup jako sloupec od sekcí (3 rem), ne jen mezera odstavce.
   Svislé okraje se s okraji odstavců a nadpisů slévají. V editoru totéž na
   obalu bloku (.wp-block s data-type). */
.dk-obsah > :is(.dk-ai-text, .dk-ai-faq, .dk-pozvanka-obal),
.is-root-container > .wp-block[data-type^="acf/ai-"],
.is-root-container > .wp-block[data-type="acf/pozvanka-do-klubu"] {
	margin-top: 3rem;
	margin-bottom: 3rem;
}

/* Časté otázky k turnaji (AI) — karty jako blok Časté otázky, v textovém sloupci. */
.dk-ai-faq h2 {
	margin: 0 0 1.25rem;
}

/* Příspěvek na sítě (AI) — jen v editoru. */
.dk-ai-prispevek {
	padding: 1rem 1.25rem;
	border: 1px dashed var(--border);
	border-radius: var(--radius-lg);
	background: var(--surface);
	font-size: 0.95rem;
	white-space: normal;
}

.dk-ai-prispevek__stitek {
	margin: 0 0 0.5rem;
	color: var(--muted-text);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.dk-ai-prispevek p:last-child {
	margin-bottom: 0;
}

:is(.dk-obsah, .is-root-container) > :is(h1, h2, h3, h4) {
	color: var(--ink);
	line-height: 1.3;
}

:is(.dk-obsah, .is-root-container) > h1 {
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: 1.875rem;
	font-weight: 700;
}

:is(.dk-obsah, .is-root-container) > h2 {
	margin-top: 2rem;
	margin-bottom: 0.75rem;
	font-size: 1.5rem;
	font-weight: 700;
}

:is(.dk-obsah, .is-root-container) > h3 {
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
	font-size: 1.25rem;
	font-weight: 600;
}

:is(.dk-obsah, .is-root-container) > h4 {
	margin-top: 1rem;
	margin-bottom: 0.5rem;
	font-size: 1.125rem;
	font-weight: 600;
}

/* První nadpis za sekcí nepotřebuje vlastní horní odsazení navíc. */
.dk-obsah > .alignfull + :is(h1, h2, h3, h4) {
	margin-top: 3rem;
}

:is(.dk-obsah, .is-root-container) > p {
	margin-top: 0;
	margin-bottom: 1rem;
}

/* Seznamy z editoru: značka uvnitř textového sloupce (ne v okraji),
   odrážka = oranžová tečka, číslo = oranžové číslo v kroužku. Selektor
   s .dk-obsah přebíjí obecné odsazení sloupce (.dk-obsah > :not(.alignfull)). */
:is(.dk-obsah, .is-root-container) > :is(ul, ol) {
	margin-top: 0;
	margin-bottom: 1.25rem;
}

.dk-obsah > :is(ul, ol):not([class*='dk-']) {
	padding-left: calc(var(--pad-x) + 2.25rem);
	list-style: none;
}

.is-root-container > :is(ul, ol) {
	padding-left: 2.25rem;
	list-style: none;
}

/* Jen odrážky z editoru, ne seznamy komponent šablony (karty, meta řádky). */
:is(.dk-obsah, .is-root-container) :is(ul, ol):not([class*='dk-']) > li {
	position: relative;
	margin-bottom: 0.5rem;
}

:is(.dk-obsah, .is-root-container) > ul:not([class*='dk-']) > li::before {
	content: '';
	position: absolute;
	top: 0.72em;
	left: -1.4rem;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--accent);
}

:is(.dk-obsah, .is-root-container) > ol:not([class*='dk-']) {
	counter-reset: dk-ol;
}

:is(.dk-obsah, .is-root-container) > ol:not([class*='dk-']) > li {
	counter-increment: dk-ol;
}

:is(.dk-obsah, .is-root-container) > ol:not([class*='dk-']) > li::before {
	content: counter(dk-ol);
	position: absolute;
	top: 0.2em;
	left: -2.25rem;
	display: grid;
	place-items: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: var(--accent);
	color: var(--white);
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1;
}

:is(.dk-obsah, .is-root-container) :is(p, li, td) strong {
	color: var(--ink);
	font-weight: 600;
}

/* Odkazy v textu z editoru — ne v seznamech komponent šablony (karty). */
:is(.dk-obsah, .is-root-container) :is(p, :is(ul, ol):not([class*='dk-']) > li, td, blockquote) a:not(.dk-btn) {
	color: var(--accent-text);
	text-decoration: underline;
}

:is(.dk-obsah, .is-root-container) :is(p, :is(ul, ol):not([class*='dk-']) > li, td, blockquote) a:not(.dk-btn):hover {
	color: var(--accent-hover);
}

:is(.dk-obsah, .is-root-container) > blockquote {
	margin-top: 1rem;
	margin-bottom: 1rem;
	padding-left: calc(var(--pad-x) + 1rem);
	border-left: 4px solid var(--accent);
	font-style: italic;
}

:is(.dk-obsah, .is-root-container) > blockquote p {
	margin: 0;
}

:is(.dk-obsah, .is-root-container) > hr {
	height: 0;
	margin-top: 2rem;
	margin-bottom: 2rem;
	border: 0;
	border-top: 1px solid var(--border);
	background: none;
}

.dk-obsah > hr {
	max-width: 48rem;
	padding: 0;
}

:is(.dk-obsah, .is-root-container) > .wp-block-image {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

:is(.dk-obsah, .is-root-container) > .wp-block-image img {
	border-radius: var(--radius-sm);
}

:is(.dk-obsah, .is-root-container) .wp-block-image figcaption {
	color: var(--muted-text);
	font-size: 0.875rem;
	text-align: center;
}

/* Tabulka — rámeček a vodorovný posun nese figure, tabulka se roztahuje. */
:is(.dk-obsah, .is-root-container) > .wp-block-table {
	margin-top: 0;
	margin-bottom: 1.5rem;
}

:is(.dk-obsah, .is-root-container) .wp-block-table {
	overflow-x: auto;
}

:is(.dk-obsah, .is-root-container) .wp-block-table table {
	width: 100%;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	border-collapse: separate;
	border-spacing: 0;
	font-size: 1rem;
	text-align: left;
}

:is(.dk-obsah, .is-root-container) .wp-block-table thead {
	border: 0;
	background: var(--ink);
}

:is(.dk-obsah, .is-root-container) .wp-block-table :is(th, td) {
	padding: 0.75rem 1rem;
	border: 0;
}

:is(.dk-obsah, .is-root-container) .wp-block-table th {
	color: var(--white);
	font-weight: 700;
}

:is(.dk-obsah, .is-root-container) .wp-block-table tbody tr:nth-child(odd) {
	background: var(--white);
}

:is(.dk-obsah, .is-root-container) .wp-block-table tbody tr:nth-child(even) {
	background: var(--surface-2);
}

/* Blok Tlačítko. */
.dk-tlacitko {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

.dk-tlacitko--stred {
	text-align: center;
}

.dk-btn--obrys {
	border: 2px solid var(--accent);
	background: transparent;
	color: var(--accent-text);
}

.dk-btn--obrys:hover {
	background: var(--accent);
	color: var(--white);
}

.dk-btn__info {
	font-weight: 400;
	opacity: 0.85;
}

/* Pozvánka do klubu — tmavá CTA karta v textovém sloupci (blok i detail hry). */
.dk-pozvanka {
	padding: 1.75rem;
	border-radius: var(--radius-lg);
	background: var(--ink);
	box-shadow: var(--shadow-card);
	color: var(--footer-text);
}

.dk-pozvanka__nadpis {
	margin: 0 0 0.6rem;
	color: var(--white);
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.25;
}

.dk-pozvanka__text {
	margin: 0 0 0.75rem;
	line-height: 1.65;
}

.dk-pozvanka__info {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
	color: var(--white);
	font-size: 0.9375rem;
	font-weight: 600;
}

.dk-pozvanka__info li {
	display: flex;
	gap: 0.5rem;
	align-items: center;
}

.dk-pozvanka__info svg {
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
	color: var(--accent);
}

.dk-pozvanka__tlacitka {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.5rem 0 0;
}

/* Obrys na tmavém podkladu: --accent-text by tu neměl kontrast. */
.dk-pozvanka .dk-btn--obrys {
	border-color: color-mix(in srgb, var(--white) 45%, transparent);
	color: var(--white);
}

.dk-pozvanka .dk-btn--obrys:hover {
	border-color: var(--accent);
}

@media (max-width: 639px) {
	.dk-pozvanka {
		padding: 1.5rem 1.25rem;
	}

	.dk-pozvanka__nadpis {
		font-size: 1.3rem;
	}
}

/* Sekce s textem, která není blokem (stránka odhlášení z newsletteru). */
.dk-textova-sekce {
	padding-block: 3rem;
}

@media (min-width: 640px) {
	.dk-textova-sekce {
		padding-block: 4rem;
	}
}

/* ------------------------------------------------------------------------
 * Fotogalerie
 * --------------------------------------------------------------------- */

.dk-fotogalerie {
	padding-block: 3rem;
}

/* Fotky v pásu — jako karty her: bílý rámeček, mírné natočení (každá
   jinak), po najetí se srovnají a zvednou. Šířka podle poměru fotky. */
.dk-fotogalerie--pas {
	overflow: hidden;
}

.dk-pruh--fotky {
	--dk-pruh-mezera: 1.1rem;
	--dk-pruh-rychlost: 5s;
}

.dk-fotka-pas {
	flex: none;
	border: 4px solid var(--white);
	border-radius: var(--radius-lg);
	background: var(--white);
	box-shadow: var(--shadow-card);
	transform: rotate(-1.5deg);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.dk-fotka-pas:nth-child(even) {
	transform: rotate(1.5deg) translateY(0.4rem);
}

.dk-fotka-pas:nth-child(3n) {
	transform: rotate(-0.5deg) translateY(-0.2rem);
}

.dk-fotka-pas:hover {
	z-index: 1;
	box-shadow: 0 10px 24px rgba(21, 45, 74, 0.22);
	transform: rotate(0) translateY(-0.4rem) scale(1.03);
}

.dk-fotka-pas a {
	display: block;
	overflow: hidden;
	border-radius: calc(var(--radius-lg) - 4px);
}

.dk-fotka-pas img {
	display: block;
	width: auto;
	height: 12rem;
}

@media (min-width: 640px) {
	.dk-fotka-pas img {
		height: 15rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dk-fotka-pas {
		transition: none;
	}
}

.dk-fotky-mrizka {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dk-fotky-mrizka a {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--radius);
	background: var(--surface-2);
}

.dk-fotky-mrizka img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.dk-fotky-mrizka a:hover img {
	transform: scale(1.05);
}

@media (min-width: 640px) {
	.dk-fotky-mrizka {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0.75rem;
	}
}

@media (min-width: 1024px) {
	.dk-fotky-mrizka {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ------------------------------------------------------------------------
 * Detail turnaje
 * --------------------------------------------------------------------- */

.dk-turnaj-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	/* Minimální výška — s dlouhým popisem se hlavička prodlouží. */
	min-height: 24rem;
	padding-top: 2.5rem;
	/* Rezerva pro karty informací, které přesahují přes spodek
	   (přesah 2,4 rem + 2 rem odstup od textu). */
	padding-bottom: 4.5rem;
	overflow: hidden;
	background: linear-gradient(to bottom right, var(--surface-2), var(--border), var(--surface-2));
	color: var(--white);
}

.dk-turnaj-hero__vodoznak {
	width: auto;
	height: 5rem;
	opacity: 0.15;
}

.dk-turnaj-hero__obsah {
	position: relative;
	z-index: 1;
	padding: 0 1rem;
	text-align: center;
}

.dk-turnaj-hero__vodoznak {
	position: absolute;
}

.dk-turnaj-hero__znaky {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem 1.75rem;
	margin: 0 auto 1.75rem;
}

.dk-turnaj-hero__logo {
	display: block;
	width: auto;
	max-width: min(15rem, 70%);
	height: auto;
	max-height: 5.5rem;
	object-fit: contain;
	filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.55));
}

/* Loga her v hlavičce turnaje — větší a mírně natočená (úhel v --dk-natoceni),
   jedno logo ještě větší. Narovnají se při najetí na hlavičku. */
.dk-turnaj-hero__cedule {
	display: inline-block;
	line-height: 0;
	transform: rotate(var(--dk-natoceni, -2deg));
	transition: transform 0.4s ease;
}

.dk-turnaj-hero:hover .dk-turnaj-hero__cedule {
	transform: rotate(0) scale(1.02);
}

.dk-turnaj-hero__cedule .dk-turnaj-hero__logo {
	max-width: min(20rem, 70vw);
	max-height: 7.5rem;
	filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.6));
}

/* Víc log: šířka ze stejné plochy (--dk-logo-w z dk_logo_sirka_rem()),
   výška dopočtená; na úzkém displeji je strop podíl šířky okna. */
.dk-turnaj-hero__cedule[style*='--dk-logo-w'] .dk-turnaj-hero__logo {
	width: var(--dk-logo-w);
	max-width: min(var(--dk-logo-w), 38vw);
	max-height: none;
}

.dk-turnaj-hero__znaky--jedno .dk-turnaj-hero__logo {
	max-width: min(30rem, 85vw);
	max-height: 11rem;
}

@media (min-width: 1024px) {
	.dk-turnaj-hero__znaky--jedno .dk-turnaj-hero__logo {
		max-height: 13rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dk-turnaj-hero__cedule {
		transition: none;
	}
}

.dk-turnaj-hero__hra {
	display: block;
	width: 4rem;
	height: 4rem;
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.dk-turnaj-hero h1 {
	margin: 0;
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 2.5rem;
}

.dk-turnaj-hero__datum {
	margin: 0.75rem 0 0;
	color: rgba(255, 255, 255, 0.8);
}

/* Perex šířkou blíž kartám informací pod hlavičkou (64 rem), ať delší
   popis nemá úzký vysoký sloupec. */
.dk-turnaj-hero__popis {
	max-width: 52rem;
	margin: 0.75rem auto 0;
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.875rem;
}

.dk-turnaj {
	position: relative;
	z-index: 2;
	/* Odstup pod kartami — i když za nimi hned začíná sekce Ostatní turnaje. */
	padding-bottom: 2.5rem;
}

/* Karty údajů přesahují přes spodek banneru turnaje (hlavička má dole
   rezervu, ať karty nepřekryjí text). Přesah ≈ polovina výšky karty
   (jednořádková hodnota ~4,8 rem). */
.dk-turnaj__info {
	margin-top: -2.4rem;
	scroll-margin-top: calc(var(--header-h) + 1rem);
}

.dk-turnaj__udaje {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0;
}

/* Kompaktní karta: malá ikona v řádku s popiskem, hlavní je hodnota. */
.dk-turnaj__udaj {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 0.9rem 1rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--white);
	box-shadow: var(--shadow-card);
}

.dk-turnaj__udaje dt {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--muted-text);
	font-size: 0.8rem;
	line-height: 1.3;
}

.dk-turnaj__udaje dt svg {
	flex-shrink: 0;
	width: 1.05rem;
	height: 1.05rem;
	color: var(--accent);
}

.dk-turnaj__udaje dd {
	display: flex;
	flex-direction: column;
	margin: 0;
	color: var(--ink);
	font-size: 1.05rem;
	line-height: 1.35;
}

.dk-turnaj__udaje .dk-turnaj__kdy {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 0.5rem;
}

.dk-turnaj__udaje .dk-turnaj__kdy span {
	font-size: inherit;
	font-weight: 500;
}

.dk-turnaj__udaje dd strong {
	font-weight: 700;
}

.dk-turnaj__udaje dd span {
	color: var(--muted-text);
	font-size: 0.875rem;
}

.dk-turnaj__udaje a {
	color: inherit;
	text-decoration: none;
}

.dk-turnaj__udaje a strong {
	text-decoration: underline;
	text-decoration-color: rgba(232, 114, 12, 0.5);
	text-underline-offset: 3px;
}

.dk-turnaj__udaje a:hover strong {
	color: var(--accent-text);
}

.dk-turnaj__udaje .dk-turnaj__cena {
	color: var(--accent-text);
}

.dk-turnaj__udaje .dk-turnaj__popisek {
	font-size: 0.75rem;
}

@media (min-width: 900px) {
	.dk-turnaj__udaje {
		grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
		grid-auto-flow: column;
		gap: 1.25rem;
	}

	.dk-turnaj__udaj {
		padding: 1rem 1.25rem;
	}
}

.dk-turnaj__sekce {
	margin-block: 2rem;
}

/* Výzva k přihlášení místo fotek a výsledků turnaje. */
.dk-turnaj__zamceno p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem 1rem;
	margin: 0;
	padding: 1.25rem;
	border: 1px dashed var(--border);
	border-radius: var(--radius-lg);
	background: var(--white);
	color: var(--muted-text);
	text-align: center;
}

/* Výsledky bývají na konci turnaje — pod nimi stejný odstup jako mezi sekcemi. */
.dk-turnaj__sekce.dk-vysledky {
	margin-bottom: var(--pad-y);
}

/* Ostatní turnaje na detailu — sekce s jiným pozadím než obsah turnaje. */
.dk-turnaj__ostatni,
.dk-hra__dalsi {
	padding-block: var(--pad-y);
	border-top: 1px solid var(--border);
	background: var(--surface-2);
}

.dk-turnaj__sekce h2 {
	margin: 0 0 1.5rem;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 2rem;
}

.dk-vysledky__hledani {
	position: relative;
	margin-bottom: 1rem;
}

.dk-vysledky__hledani[hidden] {
	display: none;
}

.dk-vysledky__hledani svg {
	position: absolute;
	top: 50%;
	left: 0.75rem;
	width: 1rem;
	height: 1rem;
	color: var(--muted-text);
	transform: translateY(-50%);
}

.dk-vysledky__hledani input {
	width: 100%;
	padding: 0.625rem 1rem 0.625rem 2.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	background: var(--white);
	color: var(--ink);
	font: inherit;
	font-size: 0.875rem;
}

.dk-vysledky__hledani input:focus {
	border-color: var(--accent);
	outline: none;
}

.dk-vysledky__tabulka {
	overflow-x: auto;
}

.dk-vysledky__tabulka table {
	width: 100%;
	min-width: 600px;
	border-collapse: collapse;
}

.dk-vysledky__tabulka th,
.dk-vysledky__tabulka td {
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--border);
	text-align: left;
}

.dk-vysledky__tabulka th {
	background: var(--surface-2);
}

.dk-vysledky__tabulka td {
	color: var(--muted-text);
}

.dk-vysledky__tabulka tr:nth-child(even) {
	background: rgba(226, 234, 242, 0.5);
}

.dk-vysledky__tabulka tr:hover {
	background: rgba(208, 218, 228, 0.5);
}

.dk-vysledky__tabulka tr.is-muj {
	background: rgba(232, 114, 12, 0.12);
	box-shadow: inset 3px 0 0 var(--accent);
}

.dk-vysledky__tabulka tr.is-muj td {
	color: var(--ink);
}

.dk-vysledky__tabulka h1,
.dk-vysledky__tabulka h2 {
	margin: 0 0 0.5rem;
	font-size: 1.125rem;
	font-weight: 700;
}

@media (min-width: 640px) {
	.dk-turnaj-hero {
		min-height: 28rem;
	}

	.dk-turnaj-hero__hra {
		width: 5rem;
		height: 5rem;
	}

	.dk-turnaj-hero h1 {
		font-size: 3rem;
		line-height: 1;
	}

	.dk-turnaj-hero__datum {
		font-size: 1.125rem;
	}

	.dk-turnaj-hero__popis {
		font-size: 1rem;
	}

}

@media (min-width: 1024px) {
	.dk-turnaj-hero h1 {
		font-size: 3.75rem;
	}
}

/* ------------------------------------------------------------------------
 * 404
 * --------------------------------------------------------------------- */

.dk-404 {
	display: flex;
	align-items: center;
	min-height: calc(100svh - var(--header-h) - var(--wp-admin--admin-bar--height, 0px));
	padding-block: 4rem;
	background: var(--ink);
	color: var(--white);
	text-align: center;
}

.dk-404__logo {
	display: block;
	width: auto;
	height: 4rem;
	margin: 0 auto 2.5rem;
	opacity: 0.3;
}

.dk-404 h1 {
	margin: 0 0 0.75rem;
	font-size: 1.25rem;
	font-weight: 600;
}

.dk-404__kod {
	display: block;
	margin-bottom: 1rem;
	color: var(--accent);
	font-size: 4.5rem;
	font-weight: 700;
	line-height: 1;
}

.dk-404 p {
	max-width: 28rem;
	margin: 0 auto 2.5rem;
	color: var(--muted-on-dark);
}

@media (min-width: 640px) {
	.dk-404__logo {
		height: 5rem;
	}

	.dk-404 h1 {
		font-size: 1.5rem;
	}

	.dk-404__kod {
		font-size: 8rem;
	}
}

/* Přihláška na turnaj — navazuje pod informační pruh. Jako poslední blok
   obsahu má stejný odstup od Ostatních turnajů jako textový sloupec. */
.dk-turnaj-prihlaska-obal {
	padding-bottom: 1rem;
}

.dk-obsah > .dk-turnaj-prihlaska-obal:last-child {
	padding-bottom: 3rem;
}

.dk-turnaj-prihlaska {
	margin-top: 1rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--white);
	text-align: center;
	scroll-margin-top: calc(var(--header-h) + 1rem);
}

.dk-turnaj-prihlaska__podminky {
	margin: 0;
	color: var(--muted-text);
	font-size: 0.875rem;
}

.dk-turnaj-prihlaska__podminky + * {
	margin-top: 1rem;
}

/* Formulář přihlášky, souhrn po odeslání a vlastní přihlášky. */
.dk-turnaj-prihlaska h2 {
	margin: 0 0 0.5rem;
	font-size: 1.5rem;
}

.dk-turnaj-prihlaska .dk-form,
.dk-prihlaska-souhrn,
.dk-prihlaska-moje {
	max-width: 36rem;
	margin-inline: auto;
	text-align: left;
}

.dk-turnaj-prihlaska .dk-form .dk-btn {
	align-self: center;
}

.dk-turnaj-prihlaska__ucet {
	margin: 0;
	font-size: 0.875rem;
}

.dk-prihlaska-souhrn {
	margin-bottom: 1.5rem;
}

.dk-prihlaska-souhrn__radek {
	padding: 1rem 0;
	border-top: 1px solid var(--border);
}

.dk-prihlaska-souhrn__radek p {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
}

.dk-prihlaska-moje {
	margin-block: 0 1rem;
	padding: 0;
	list-style: none;
}

.dk-prihlaska-moje li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--border);
	font-size: 0.875rem;
}

.dk-volby {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	border: 0;
}

.dk-volby legend {
	margin-bottom: 0.5rem;
	padding: 0;
	font-size: 0.875rem;
	font-weight: 600;
}

.dk-volba {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.625rem 0.875rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	cursor: pointer;
}

.dk-volba:has(input:checked) {
	border-color: var(--accent);
	background: color-mix(in srgb, var(--accent) 6%, var(--white));
}

.dk-volba input {
	flex-shrink: 0;
}

.dk-volba span {
	flex: 1;
}

.dk-volba small {
	color: var(--muted-text);
	white-space: nowrap;
}

@media (min-width: 640px) {
	.dk-volby--radek {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dk-volby--radek legend {
		grid-column: 1 / -1;
	}
}

.dk-stitek {
	display: inline-block;
	padding: 0.125rem 0.5rem;
	border-radius: 999px;
	background: var(--surface-2);
	font-size: 0.75rem;
	font-weight: 600;
	white-space: nowrap;
}

.dk-stitek--ok {
	background: var(--success-bg);
	color: var(--success-text);
}

.dk-stitek--nahradnik {
	background: color-mix(in srgb, var(--accent) 15%, var(--white));
	color: var(--ink);
}

.dk-stitek--zruseno {
	color: var(--muted-text);
}

/* Dotazník. */
.dk-dotaznik .dk-sekce-hlavicka {
	margin-bottom: 2rem;
}

.dk-dotaznik__karta {
	padding: 1.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--white);
}

.dk-dotaznik__form {
	gap: 1.5rem;
}

.dk-dotaznik__form .dk-btn {
	align-self: center;
}

.dk-dotaznik__otazka {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	border: 0;
}

.dk-dotaznik__otazka legend {
	margin-bottom: 0.5rem;
	padding: 0;
	font-weight: 600;
}

.dk-dotaznik__povinne {
	color: var(--accent-text);
}

.dk-dotaznik__poznamka {
	text-align: center;
}

.dk-dotaznik .dk-hlaska ul {
	margin: 0.5rem 0 0;
	padding-left: 1.25rem;
}

.dk-volby--vedle {
	flex-direction: row;
	flex-wrap: wrap;
}

/* Hvězdy: radio 5 → 1 + row-reverse, sourozenci za zaškrtnutým (= nižší
   hodnoty) se obarví selektorem ~ bez JS. */
.dk-hvezdy {
	display: inline-flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 0.25rem;
}

.dk-hvezdy__vstup {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.dk-hvezdy__popisek {
	color: var(--border);
	cursor: pointer;
	transition: color 0.1s ease;
}

.dk-hvezdy__popisek svg {
	width: 2.25rem;
	height: 2.25rem;
}

.dk-hvezdy__vstup:checked ~ .dk-hvezdy__popisek,
.dk-hvezdy__popisek:hover,
.dk-hvezdy__popisek:hover ~ .dk-hvezdy__popisek {
	color: var(--accent);
}

.dk-hvezdy__vstup:focus-visible + .dk-hvezdy__popisek {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Přihláška do klubu. */
.dk-zadost .dk-sekce-hlavicka {
	margin-bottom: 2rem;
}

.dk-zadost__formular {
	padding: 1.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--white);
}

.dk-zadost__cena {
	padding: 1rem 1.1rem;
	border-left: 3px solid var(--accent);
	border-radius: var(--radius-sm);
	background: var(--surface-2);
	color: var(--muted-text);
	font-size: 0.95rem;
}

.dk-zadost__cena p {
	margin: 0;
}

.dk-zadost__cena p + p {
	margin-top: 0.3rem;
}

.dk-zadost__cena strong {
	color: var(--ink);
}

.dk-zadost__formular .dk-btn {
	align-self: center;
}

/* Členství v účtu. */
.dk-clenstvi + .dk-clenstvi {
	margin-top: 1rem;
}

.dk-clenstvi__hlavicka {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
}

/* Platební údaje s QR Platbou. */
.dk-platba {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
	margin-top: 0.75rem;
	padding: 1rem;
	border-radius: var(--radius-sm);
	background: var(--paper);
}

.dk-platba__udaje {
	flex: 1;
	min-width: 12rem;
	margin: 0;
	font-size: 0.875rem;
}

.dk-platba__udaje div {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.25rem 0;
}

.dk-platba__udaje dt {
	color: var(--muted-text);
}

.dk-platba__udaje dd {
	margin: 0;
	text-align: right;
}

.dk-platba__qr {
	margin: 0 auto;
	text-align: center;
}

.dk-platba__qr svg {
	display: block;
	width: 10rem;
	height: 10rem;
	padding: 0.5rem;
	border-radius: var(--radius-sm);
	background: var(--white);
}

.dk-platba__qr figcaption {
	margin-top: 0.25rem;
	color: var(--muted-text);
	font-size: 0.75rem;
}

/* Přihlášky v účtu. */
.dk-seznam-prihlasek {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dk-prihlaska-polozka {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--border);
}

.dk-prihlaska-polozka.is-zrusena {
	opacity: 0.6;
}

.dk-prihlaska-polozka__hlavni {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 12rem;
}

.dk-prihlaska-polozka__hlavni a {
	color: var(--ink);
	text-decoration: none;
}

.dk-prihlaska-polozka__hlavni span,
.dk-prihlaska-polozka__platba {
	color: var(--muted-text);
	font-size: 0.875rem;
}

.dk-prihlaska-polozka__qr {
	flex-basis: 100%;
}

.dk-turnaj__vice {
	margin: 1.25rem 0 0;
	text-align: center;
}

/* Plakát turnaje pod kartami údajů — tmavý banner jako u hry na detailu turnaje:
   banner turnaje v pozadí, plakát nakřivo jako papír na nástěnce, tlačítka. */
.dk-plakat-banner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	margin-top: 1.5rem;
	padding: 2rem 1.5rem;
	overflow: hidden;
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, var(--ink), #24456b);
	box-shadow: var(--shadow-card);
	color: var(--white);
	text-align: center;
}

.dk-plakat-banner__pozadi {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: blur(2px);
	transform: scale(1.05);
}

.dk-plakat-banner::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(21, 45, 74, 0.92) 0%, rgba(21, 45, 74, 0.8) 45%, rgba(21, 45, 74, 0.65));
}

.dk-plakat-banner__nahled,
.dk-plakat-banner__text {
	position: relative;
	z-index: 1;
}

.dk-plakat-banner__nahled {
	flex: none;
	width: 9rem;
	transform: rotate(-4deg);
	transition: transform 0.3s ease;
}

.dk-plakat-banner__nahled:hover {
	transform: rotate(0) scale(1.04);
}

.dk-plakat-banner__nahled img {
	display: block;
	width: 100%;
	height: auto;
	border: 4px solid var(--white);
	border-radius: 6px;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
}

.dk-plakat-banner__stitek {
	position: static;
	display: inline-block;
	margin-bottom: 0.75rem;
}

.dk-plakat-banner__text h2 {
	margin: 0 0 0.5rem;
	color: var(--white);
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.2;
}

.dk-plakat-banner__text p {
	max-width: 30rem;
	margin: 0 auto;
	color: var(--footer-text);
	line-height: 1.6;
}

.dk-plakat-banner__akce {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1.25rem;
}

.dk-plakat-banner__akce .dk-btn svg {
	width: 1.15rem;
	height: 1.15rem;
}

/* Druhé tlačítko světlým obrysem — na tmavém podkladu. */
.dk-plakat-banner__zobrazit {
	border: 2px solid rgba(255, 255, 255, 0.6);
	background: transparent;
	color: var(--white);
}

.dk-plakat-banner__zobrazit:hover {
	border-color: var(--white);
	background: rgba(255, 255, 255, 0.12);
	color: var(--white);
}

@media (min-width: 768px) {
	.dk-plakat-banner {
		flex-direction: row;
		gap: 3rem;
		padding: 2.5rem 3.5rem;
		text-align: left;
	}

	.dk-plakat-banner__nahled {
		width: 12rem;
	}

	.dk-plakat-banner__text p {
		margin: 0;
	}

	.dk-plakat-banner__akce {
		justify-content: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dk-plakat-banner__nahled {
		transition: none;
	}
}

/* ------------------------------------------------------------------------
 * Formuláře a hlášky
 * --------------------------------------------------------------------- */

.dk-form__past {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.dk-form__radek {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.dk-form__vstup {
	flex: 1;
	min-width: 0;
	padding: 0.75rem 1rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	background: var(--white);
	color: var(--ink);
	font: inherit;
	transition: border-color 0.15s ease;
}

.dk-form__vstup:focus {
	border-color: var(--accent);
	outline: none;
}

.dk-form__vstup[aria-invalid='true'] {
	border-color: var(--danger);
}

.dk-form__souhlas {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-top: 1rem;
	font-size: 0.875rem;
	text-align: left;
}

.dk-form__souhlas input {
	flex-shrink: 0;
	margin-top: 0.05rem;
}

.dk-form__souhlas {
	cursor: pointer;
}

/* Vlastní checkbox a radio pro formuláře webu (ne administrace): zaoblený
   čtverec s bílou fajfkou na oranžové, kroužek s tečkou. */
:is(.dk-form, .dk-footer-nl, .dk-volby) input:is([type='checkbox'], [type='radio']) {
	display: inline-grid;
	flex-shrink: 0;
	place-content: center;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	border: 1.5px solid #b6c3d1;
	border-radius: 6px;
	background: var(--white);
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

:is(.dk-form, .dk-footer-nl, .dk-volby) input[type='radio'] {
	border-radius: 50%;
}

:is(.dk-form, .dk-footer-nl, .dk-volby) input:is([type='checkbox'], [type='radio']):hover {
	border-color: var(--accent);
}

:is(.dk-form, .dk-footer-nl, .dk-volby) input:is([type='checkbox'], [type='radio']):focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent);
}

:is(.dk-form, .dk-footer-nl, .dk-volby) input[type='checkbox']:checked {
	border-color: var(--accent);
	background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='28' stroke-linecap='round' stroke-linejoin='round' d='M56 132l48 48 96-104'/%3E%3C/svg%3E") center / 0.85rem no-repeat;
}

:is(.dk-form, .dk-footer-nl, .dk-volby) input[type='radio']:checked {
	border-color: var(--accent);
	background: radial-gradient(circle, var(--accent) 0 40%, var(--white) 46%);
}

:is(.dk-form, .dk-footer-nl, .dk-volby) input:is([type='checkbox'], [type='radio']):disabled {
	border-color: var(--border);
	background-color: var(--surface-2);
	cursor: not-allowed;
}

.dk-form__chyba {
	margin: 0.5rem 0 0;
	color: var(--danger);
	font-size: 0.875rem;
	text-align: left;
}

.dk-hlaska {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border: 1px solid;
	border-radius: var(--radius-sm);
	font-size: 0.875rem;
}

.dk-hlaska--ok {
	border-color: var(--success-border);
	background: var(--success-bg);
	color: var(--success-text);
}

.dk-hlaska--chyba {
	border-color: var(--danger-border);
	background: var(--danger-bg);
	color: var(--danger-text);
}

@media (min-width: 640px) {
	.dk-form__radek {
		flex-direction: row;
	}

	.dk-form__radek .dk-btn {
		white-space: nowrap;
	}
}

/* Odběr novinek — pruh na začátku patičky (vzor omnitools): text vlevo,
   formulář vpravo, na mobilu pod sebou. */
.dk-footer-nl {
	display: grid;
	gap: 1.5rem;
	align-items: center;
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.dk-footer-nl__uvod {
	display: flex;
	align-items: center;
	gap: 1.1rem;
}

.dk-footer-nl__nadpis {
	margin: 0 0 0.25rem;
	color: var(--white);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
}

.dk-footer-nl__text {
	margin: 0;
	color: var(--muted-on-dark);
	font-size: 0.95rem;
}

.dk-footer-nl__radek {
	display: flex;
	gap: 0.6rem;
}

.dk-footer-nl__vstup {
	flex: 1;
	min-width: 0;
	padding: 0.7rem 1rem;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--radius-sm);
	background: var(--white);
	color: var(--ink);
	font: inherit;
}

.dk-footer-nl__vstup:focus {
	border-color: var(--accent);
	outline: 2px solid var(--accent);
	outline-offset: 1px;
}

.dk-footer-nl__vstup[aria-invalid='true'] {
	border-color: #fca5a5;
}

.dk-footer-nl__radek .dk-btn {
	flex: none;
}

.dk-footer-nl__souhlas {
	margin: 0.6rem 0 0;
	color: var(--muted-on-dark);
	font-size: 0.8rem;
	line-height: 1.45;
}

.dk-footer-nl__chyba {
	margin: 0.5rem 0 0;
	color: #fca5a5;
	font-size: 0.85rem;
}

.dk-footer-nl__ok {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	color: var(--white);
	font-weight: 600;
}

.dk-footer-nl__ok svg {
	width: 1.4rem;
	height: 1.4rem;
	color: #4ade80;
}

@media (min-width: 900px) {
	.dk-footer-nl {
		grid-template-columns: 1fr minmax(0, 32rem);
		gap: 3rem;
	}
}

.dk-odhlaseni .dk-form p {
	margin: 0 0 1rem;
}

/* Detail turnaje má textový sloupec i fotky v šířce 64 rem jako informační
   pruh (max-w-5xl původního webu). */
.single-dk_turnaj .dk-obsah > :not(.alignfull) {
	max-width: calc(64rem + 2 * var(--pad-x));
}

.single-dk_turnaj .dk-fotogalerie .dk-container {
	max-width: calc(64rem + 2 * var(--pad-x));
}

.single-dk_turnaj .dk-fotogalerie {
	padding-block: 1rem 2rem;
}

/* ------------------------------------------------------------------------
 * Formulářová pole (účet, přihlášky)
 * --------------------------------------------------------------------- */

.dk-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.dk-form > .dk-form__souhlas {
	margin-top: 0;
}

.dk-pole {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.dk-pole label {
	font-size: 0.875rem;
	font-weight: 600;
}

.dk-pole__nepovinne {
	color: var(--muted-text);
	font-weight: 400;
}

.dk-pole__napoveda {
	margin: 0;
	color: var(--muted-text);
	font-size: 0.8125rem;
}

.dk-pole .dk-form__chyba {
	margin: 0;
}

/* Select stejně vysoký jako textová pole, vlastní šipka s odsazením od
   okraje (nativní šipka sedí na kraji a výšku má každý prohlížeč jinou). */
select.dk-form__vstup {
	-webkit-appearance: none;
	appearance: none;
	height: calc(1.5em + 1.5rem + 2px);
	padding-right: 2.75rem;
	line-height: 1.5;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%235a7089' d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E");
	background-position: right 1rem center;
	background-repeat: no-repeat;
	background-size: 1rem;
	cursor: pointer;
}

.dk-form__dvojice {
	display: grid;
	/* Pole vedle sebe drží výšku — nápověda pod jedním nenatáhne druhé. */
	align-items: start;
	gap: 1rem;
}

@media (min-width: 640px) {
	.dk-form__dvojice {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.dk-odkaz-tlacitko {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0;
	border: 0;
	background: none;
	color: var(--muted-text);
	font: inherit;
	font-size: 0.875rem;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.dk-odkaz-tlacitko:hover {
	color: var(--danger);
}

.dk-odkaz-tlacitko svg,
.dk-rozbal summary svg {
	width: 1rem;
	height: 1rem;
}

/* ------------------------------------------------------------------------
 * Přihlášení, registrace, heslo
 * --------------------------------------------------------------------- */

.dk-auth {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 3rem var(--pad-x) 4rem;
}

.dk-auth__karta {
	width: 100%;
	max-width: 32rem;
	padding: 2rem 1.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow-card);
}

.dk-auth__karta h1 {
	margin: 0 0 1.25rem;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
}

.dk-auth__perex {
	margin: 0 0 1.25rem;
	color: var(--muted-text);
	font-size: 0.9375rem;
	text-align: center;
}

.dk-auth__odkazy {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin: 1.25rem 0 0;
	color: var(--muted-text);
	font-size: 0.875rem;
}

.dk-auth__odkazy a {
	color: var(--accent-text);
}

@media (min-width: 640px) {
	.dk-auth__karta {
		padding: 2.5rem;
	}
}

/* ------------------------------------------------------------------------
 * Účet
 * --------------------------------------------------------------------- */

.dk-ucet {
	padding-block: 2rem 4rem;
}

.dk-ucet__mrizka {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.dk-ucet__profil {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--surface-2);
}

.dk-ucet__kdo {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.dk-ucet__kdo strong,
.dk-ucet__kdo span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dk-ucet__kdo strong {
	font-size: 0.875rem;
}

.dk-ucet__kdo span {
	color: var(--muted-text);
	font-size: 0.75rem;
}

.dk-avatar {
	position: relative;
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: rgba(232, 114, 12, 0.2);
	color: var(--accent-text);
	font-size: 0.875rem;
	font-weight: 700;
}

.dk-avatar--maly {
	width: 2.25rem;
	height: 2.25rem;
	font-size: 0.75rem;
}

.dk-avatar__odznak {
	position: absolute;
	top: -0.25rem;
	right: -0.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--accent);
	color: var(--white);
}

.dk-avatar__odznak svg {
	width: 0.75rem;
	height: 0.75rem;
}

.dk-ucet__menu {
	display: flex;
	gap: 0.25rem;
	margin-top: 1rem;
	overflow-x: auto;
}

.dk-ucet__menu a {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 0.75rem;
	padding: 0.625rem 0.75rem;
	border-radius: var(--radius-sm);
	color: var(--muted-text);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.dk-ucet__menu a svg {
	width: 1.25rem;
	height: 1.25rem;
}

.dk-ucet__menu a:hover {
	background: var(--surface-2);
	color: var(--ink);
}

.dk-ucet__menu a.is-aktivni {
	background: var(--accent);
	color: var(--white);
}

.dk-ucet__menu .dk-ucet__odhlasit:hover {
	background: none;
	color: var(--danger);
}

.dk-ucet__obsah {
	flex: 1;
	min-width: 0;
}

.dk-ucet__nadpis {
	margin: 0 0 1.5rem;
	font-size: 1.75rem;
	font-weight: 700;
}

.dk-ucet__podnadpis {
	margin: 2rem 0 1rem;
	font-size: 1.25rem;
	font-weight: 700;
}

.dk-ucet__perex,
.dk-ucet__prazdne {
	color: var(--muted-text);
}

.dk-ucet__tip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem;
	margin-top: 2rem;
	color: var(--muted-text);
	font-size: 0.875rem;
}

.dk-ucet__tip svg {
	width: 1.125rem;
	height: 1.125rem;
	color: var(--accent);
}

.dk-ucet__tip a {
	color: var(--accent-text);
}

.dk-ucet__statistiky {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.dk-karta-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1.25rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--surface-2);
	text-align: center;
}

.dk-karta-stat svg {
	width: 1.5rem;
	height: 1.5rem;
	margin-bottom: 0.5rem;
	color: var(--accent);
}

.dk-karta-stat strong {
	font-size: 1.5rem;
	line-height: 2rem;
}

.dk-karta-stat span {
	margin-top: 0.25rem;
	color: var(--muted-text);
	font-size: 0.75rem;
}

.dk-ucet__turnaj {
	max-width: 24rem;
}

.dk-ucet__karta {
	margin-bottom: 1.5rem;
	padding: 1.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--white);
}

.dk-ucet__karta h2 {
	margin: 0 0 1rem;
	font-size: 1.125rem;
	font-weight: 700;
}

.dk-ucet__karta > p {
	margin: 0 0 1rem;
	color: var(--muted-text);
	font-size: 0.9375rem;
}

.dk-ucet__karta .dk-form .dk-btn {
	align-self: flex-start;
}

.dk-seznam-hracu,
.dk-seznam-pozvanek {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.dk-seznam-hracu > li:not(.dk-hrac) {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.dk-hrac {
	padding: 1rem 1.25rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--white);
}

.dk-hrac__hlavicka {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.5rem;
}

.dk-hrac__hlavicka div {
	display: flex;
	flex-direction: column;
}

.dk-hrac__hlavicka span:not(.dk-avatar) {
	color: var(--muted-text);
	font-size: 0.8125rem;
}

.dk-rozbal {
	border-top: 1px solid var(--border);
}

.dk-rozbal summary {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.625rem 0;
	color: var(--accent-text);
	font-size: 0.875rem;
	font-weight: 500;
	list-style: none;
}

.dk-rozbal summary::-webkit-details-marker {
	display: none;
}

.dk-rozbal[open] summary {
	color: var(--ink);
}

.dk-rozbal .dk-form {
	padding-bottom: 1rem;
}

.dk-hrac__odebrat {
	padding-top: 0.625rem;
	border-top: 1px solid var(--border);
}

.dk-seznam-pozvanek li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	font-size: 0.875rem;
}

.dk-seznam-pozvanek small {
	display: block;
	color: var(--muted-text);
}

@media (min-width: 768px) {
	.dk-ucet {
		padding-block: 3rem 5rem;
	}

	.dk-ucet__mrizka {
		flex-direction: row;
	}

	.dk-ucet__panel {
		flex-shrink: 0;
		width: 15rem;
	}

	.dk-ucet__panel > * {
		position: sticky;
		top: calc(var(--header-h) + var(--wp-admin--admin-bar--height, 0px) + 1.5rem);
	}

	.dk-ucet__profil {
		position: static;
	}

	.dk-ucet__menu {
		flex-direction: column;
		margin-top: 1.5rem;
		overflow: visible;
	}

	.dk-ucet__menu .dk-ucet__odhlasit {
		margin-top: 0.75rem;
		padding-top: 1rem;
		border-top: 1px solid var(--border);
		border-radius: 0;
	}
}

/* Přihláška do klubu: pole nového hráče jen při volbě „Nový hráč". */
.dk-zadost__novy {
	display: none;
	flex-direction: column;
	gap: 1rem;
}

.dk-zadost__formular:has([data-dk-zadost-novy]:checked) .dk-zadost__novy {
	display: flex;
}

/* „Chci se stát členem klubu": bez zaškrtnutí jen účet (bez ceny a souhlasu
   se členstvím). Přihlášený zaškrtávátko nemá, žádá vždy. */
.dk-zadost__formular:has([data-dk-zadost-clen]:not(:checked)) .dk-zadost--jen-clen,
.dk-zadost__formular:not(:has([data-dk-zadost-clen]:not(:checked))) .dk-zadost--jen-ucet {
	display: none;
}

.dk-zadost__clen {
	padding: 1rem 1.125rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	font-weight: 600;
}

.dk-zadost__dalsi {
	margin-top: 1.25rem;
	text-align: center;
}

.dk-volba.is-neaktivni {
	opacity: 0.55;
}

/* Přihláška do klubu — karta formuláře v rozumné šířce. Hned pod
   hlavičkou stránky ji přesahuje (bez vlastního nadpisu). */
.dk-zadost .dk-zadost__formular {
	max-width: 40rem;
	margin-inline: auto;
	padding: 1.75rem;
	box-shadow: var(--shadow-card);
}

.dk-zadost--pod-hlavickou {
	position: relative;
	z-index: 2;
	padding-top: 0;
}

.dk-zadost--pod-hlavickou .dk-zadost__formular {
	/* Stejný přesah jako karty informací na detailu turnaje. */
	margin-top: -3.5rem;
	box-shadow: var(--shadow-overlay);
}

.dk-zadost__perex {
	margin: 0;
	color: var(--ink);
	font-size: 1.05rem;
	line-height: 1.6;
}

@media (max-width: 640px) {
	.dk-zadost .dk-zadost__formular {
		padding: 1.25rem;
	}

	.dk-zadost--pod-hlavickou .dk-zadost__formular {
		margin-top: -2.5rem;
	}
}

/* Hlavička stránky nad přesahující kartou — obsah posunutý nahoru. */
.dk-page-hero:has(+ .dk-zadost--pod-hlavickou) {
	padding-bottom: 3.5rem;
}

@media (max-width: 640px) {
	.dk-page-hero:has(+ .dk-zadost--pod-hlavickou) {
		padding-bottom: 2.5rem;
	}
}

/* ------------------------------------------------------------------------
 * Klub v číslech
 * --------------------------------------------------------------------- */

.dk-cisla {
	padding-block: var(--pad-y);
	background: var(--ink);
	color: var(--white);
}

.dk-cisla .dk-sekce-hlavicka p {
	color: var(--muted-on-dark);
}

.dk-cisla__seznam {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dk-cisla__polozka {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1.75rem 1rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.05);
	text-align: center;
}

.dk-cisla__cislo {
	font-size: clamp(2.25rem, 5vw, 3.25rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}

.dk-cisla__popis {
	margin-top: 0.5rem;
	color: var(--muted-on-dark);
	font-size: 0.95rem;
}

@media (min-width: 900px) {
	.dk-cisla__seznam {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.25rem;
	}
}
