/*
Theme Name: GeneratePress Child - Judo Opava
Template: generatepress
Version: 1.0
*/

/* Import parent theme styles */
@import url("../generatepress/style.css");

/* Zabránit horizontálnímu scrollování */
html {
	overflow-x: hidden;
}

/* Reset a override GeneratePress - jen hlavní elementy */
.main-navigation, .site-header, .site-footer {
	display: none !important;
}

/* Force menu visibility - override any parent theme conflicts */
.judo-nav-elegant,
.judo-nav-elegant .menu,
.judo-nav-elegant .menu > li,
.judo-nav-elegant .menu > li > a,
.judo-nav-main,
.judo-nav-main-item {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.judo-nav-elegant .menu {
	display: flex !important;
}

.judo-nav-main {
	display: flex !important;
}

/* =================== HAMBURGER MENU =================== */

.judo-hamburger {
	display: none;
	width: 40px;
	height: 40px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 8px;
	cursor: pointer;
	padding: 8px;
	position: relative;
	z-index: 10001;
	transition: all 0.3s ease;
}

.judo-hamburger:hover {
	background: rgba(255, 255, 255, 0.15);
	border-color: rgba(255, 255, 255, 0.3);
	transform: scale(1.05);
}

.judo-hamburger span {
	display: block;
	width: 100%;
	height: 2px;
	background: white;
	margin: 4px 0;
	transition: all 0.3s ease;
	border-radius: 1px;
}

/* Hamburger animation */
.judo-hamburger.active span:nth-child(1) {
	transform: rotate(45deg) translate(5px, 5px);
}

.judo-hamburger.active span:nth-child(2) {
	opacity: 0;
	transform: translateX(-20px);
}

.judo-hamburger.active span:nth-child(3) {
	transform: rotate(-45deg) translate(5px, -5px);
}

/* Desktop hamburger hide */
@media (min-width: 769px) {
	.judo-hamburger {
		display: none;
	}
}

/* Hide hamburger on larger screens */
@media (min-width: 992px) {
	.judo-hamburger {
		display: none;
	}
}

/* Mobile hamburger show */
@media (max-width: 768px) {
	.judo-hamburger {
		display: block;
	}
	
	/* Mobilní sidepanel menu */
	.mobile-sidepanel {
		position: fixed;
		top: 0;
		right: -100%;
		width: 280px;
		height: 100vh;
		height: 100dvh; /* Dynamic viewport height pro mobilní lišty */
		background: linear-gradient(135deg, rgba(0,0,0,0.98) 0%, rgba(0,0,0,0.95) 100%);
		backdrop-filter: blur(20px);
		box-shadow: -5px 0 25px rgba(0,0,0,0.5);
		z-index: 10000;
		transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch; /* Smooth scrolling na iOS */
		/* Scrollbar styling pro lepší viditelnost */
		scrollbar-width: thin;
		scrollbar-color: rgba(255,255,255,0.3) transparent;
	}
	
	/* Webkit scrollbar styling (Safari, Chrome) */
	.mobile-sidepanel::-webkit-scrollbar {
		width: 6px;
	}
	
	.mobile-sidepanel::-webkit-scrollbar-track {
		background: transparent;
	}
	
	.mobile-sidepanel::-webkit-scrollbar-thumb {
		background: rgba(255,255,255,0.3);
		border-radius: 3px;
	}
	
	.mobile-sidepanel::-webkit-scrollbar-thumb:hover {
		background: rgba(255,255,255,0.5);
	}
	
	.mobile-sidepanel.active {
		right: 0;
	}
	
	.mobile-sidepanel-header {
		position: sticky;
		top: 0;
		background: rgba(0,0,0,0.8);
		padding: 20px;
		border-bottom: 1px solid rgba(255,255,255,0.1);
		display: flex;
		justify-content: flex-end;
	}
	
	.mobile-sidepanel-close {
		background: rgba(255,255,255,0.1);
		border: 1px solid rgba(255,255,255,0.2);
		border-radius: 8px;
		color: white;
		padding: 8px;
		cursor: pointer;
		transition: all 0.3s ease;
	}
	
	.mobile-sidepanel-close:hover {
		background: rgba(255,255,255,0.2);
		border-color: rgba(255,255,255,0.3);
	}
	
	.mobile-sidepanel-content {
		padding: 20px 20px 40px 20px; /* Větší padding na spodku pro mobilní lištu */
		/* Safe area inset pro mobilní lišty */
		padding-bottom: max(40px, env(safe-area-inset-bottom) + 20px);
	}
	
	.mobile-menu-items {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	
	.mobile-menu-items > li {
		margin-bottom: 8px;
	}
	
	/* Zajistit viditelnost poslední položky */
	.mobile-menu-items > li:last-child {
		margin-bottom: 20px;
	}
	
	/* Scroll indicator pro lepší UX */
	.mobile-sidepanel::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 20px;
		background: linear-gradient(transparent, rgba(0,0,0,0.1));
		pointer-events: none;
		opacity: 0;
		transition: opacity 0.3s ease;
	}
	
	.mobile-sidepanel.scrollable::after {
		opacity: 1;
	}
	
	.mobile-menu-items > li > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 16px 20px;
		font-size: 16px;
		border-radius: 12px;
		text-align: left;
		background: rgba(255,255,255,0.15);
		border: 1px solid rgba(255,255,255,0.25);
		transition: all 0.3s ease;
		color: white;
		text-decoration: none;
		font-weight: 600;
		letter-spacing: 0.5px;
		text-decoration: none;
		text-shadow: 0 1px 2px rgba(0,0,0,0.5);
	}

	/* caret indicator for items with children */
	.mobile-menu-items > li.menu-item-has-children > a::after {
		content: '›';
		font-size: 18px;
		opacity: 0.8;
		transform: rotate(90deg);
		transition: transform 0.2s ease;
	}

	.mobile-menu-items > li.menu-item-has-children.open > a::after {
		transform: rotate(-90deg);
	}
	
	.mobile-menu-items > li > a:hover {
		background: rgba(255,255,255,0.25);
		border-color: rgba(255,255,255,0.4);
		transform: translateX(8px);
		box-shadow: 0 4px 15px rgba(0,0,0,0.3);
	}
	
	/* Submenu: collapsed by default */
	.mobile-menu-items .sub-menu,
	.mobile-sidepanel .sub-menu {
		display: none;
		margin-top: 8px;
		margin-left: 12px;
		list-style: none;
		padding: 6px 0 0 8px;
		border-left: 2px solid rgba(255,255,255,0.25);
		/* Zajistit viditelnost poslední položky submenu */
		padding-bottom: 10px;
	}

	/* Open state */
	.mobile-menu-items li.open > .sub-menu,
	.mobile-sidepanel li.open > .sub-menu {
		display: block;
	}
	
	.mobile-menu-items .sub-menu > li > a {
		display: block;
		padding: 10px 14px;
		font-size: 14px;
		background: rgba(255,255,255,0.1);
		border: none;
		border-radius: 8px;
		margin-bottom: 6px;
		color: rgba(255,255,255,0.95);
		text-decoration: none;
	}
	
	/* Mobile menu - klasické side menu */
	.judo-nav-elegant .menu,
	.judo-nav-elegant .menu.mobile-menu {
		display: none !important;
		position: fixed !important;
		top: 0 !important;
		right: -100% !important;
		width: 280px !important;
		height: 100vh !important;
		background: linear-gradient(135deg, rgba(0,0,0,0.98) 0%, rgba(0,0,0,0.95) 100%) !important;
		backdrop-filter: blur(20px) !important;
		padding: 80px 20px 20px 20px !important;
		box-shadow: -5px 0 25px rgba(0,0,0,0.5) !important;
		flex-direction: column !important;
		gap: 8px !important;
		z-index: 10000 !important;
		transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
		overflow-y: auto !important;
		list-style: none !important;
		margin: 0 !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
	}
	
	.judo-nav-elegant .menu.active,
	.judo-nav-elegant .menu.mobile-menu.active {
		display: flex !important;
		right: 0 !important;
		position: fixed !important;
		top: 0 !important;
		width: 280px !important;
		height: 100vh !important;
		background: linear-gradient(135deg, rgba(0,0,0,0.98) 0%, rgba(0,0,0,0.95) 100%) !important;
		backdrop-filter: blur(20px) !important;
		padding: 80px 20px 20px 20px !important;
		box-shadow: -5px 0 25px rgba(0,0,0,0.5) !important;
		flex-direction: column !important;
		gap: 8px !important;
		z-index: 10000 !important;
		overflow-y: auto !important;
		list-style: none !important;
		margin: 0 !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
	}
	
	/* Overlay pro pozadí - samostatný element */
	.menu-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(0,0,0,0.5);
		z-index: 9999;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
		pointer-events: none;
	}
	
	.menu-overlay.active {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	
	/* Menu items na mobilech */
	.judo-nav-elegant .menu > li {
		width: 100% !important;
		margin-bottom: 8px !important;
	}
	
	.judo-nav-elegant .menu > li > a {
		width: 100% !important;
		padding: 16px 20px !important;
		font-size: 16px !important;
		border-radius: 12px !important;
		text-align: left !important;
		background: rgba(255,255,255,0.15) !important;
		border: 1px solid rgba(255,255,255,0.25) !important;
		transition: all 0.3s ease !important;
		color: white !important;
		font-weight: 600 !important;
		letter-spacing: 0.5px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		text-shadow: 0 1px 2px rgba(0,0,0,0.5) !important;
	}
	
	.judo-nav-elegant .menu > li > a:hover {
		background: rgba(255,255,255,0.25) !important;
		border-color: rgba(255,255,255,0.4) !important;
		transform: translateX(8px) !important;
		box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
	}
	
	/* Submenu indikátor */
	.judo-nav-elegant .menu > li.menu-item-has-children > a::after {
		content: '›';
		font-size: 20px;
		color: rgba(255,255,255,0.6);
		transition: all 0.3s ease;
	}
	
	.judo-nav-elegant .menu > li.menu-item-has-children > a:hover::after {
		color: white;
		transform: rotate(90deg);
	}
	
	/* Submenu mobile */
	.judo-nav-elegant .sub-menu {
		position: static !important;
		width: 100% !important;
		background: rgba(255,255,255,0.1) !important;
		border-radius: 8px !important;
		padding: 8px !important;
		margin-top: 8px !important;
		margin-left: 20px !important;
		border-left: 2px solid rgba(255,255,255,0.3) !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		box-shadow: none !important;
		border: none !important;
	}
	
	.judo-nav-elegant .sub-menu > li {
		margin-bottom: 4px !important;
	}
	
	.judo-nav-elegant .sub-menu > li > a {
		padding: 10px 15px !important;
		font-size: 14px !important;
		color: white !important;
		background: transparent !important;
		border: none !important;
		border-radius: 6px !important;
		transition: all 0.3s ease !important;
		font-weight: 500 !important;
	}
	
	.judo-nav-elegant .sub-menu > li > a:hover {
		background: rgba(255,255,255,0.15) !important;
		color: white !important;
		transform: translateX(4px) !important;
	}
}

























.site-content {
	margin: 0 !important;
	padding: 0 !important;
}

.judo-container {
	position: relative;
	z-index: 1;
	background: var(--judo-bg);
}

/* Design tokens */
:root {
	--judo-red: #E31E24;
	--judo-dark-red: #B60F1A;
	--judo-text: #111111;
	--judo-text-light: #6B7280;
	--judo-bg: #FAFAFA;
	--judo-surface: #FFFFFF;
	--judo-border: #E5E7EB;
	--judo-radius: 12px;
	--judo-shadow: 0 4px 15px rgba(0,0,0,0.1);
	
	/* Typografie - konzistentní systém */
	--font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--font-heading: 'Poppins', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	--font-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
	
	/* Velikosti fontů - konzistentní škála */
	--text-xs: 0.75rem;    /* 12px */
	--text-sm: 0.875rem;   /* 14px */
	--text-base: 1rem;     /* 16px */
	--text-lg: 1.125rem;   /* 18px */
	--text-xl: 1.25rem;    /* 20px */
	--text-2xl: 1.5rem;    /* 24px */
	--text-3xl: 1.875rem;  /* 30px */
	--text-4xl: 2.25rem;   /* 36px */
	--text-5xl: 3rem;      /* 48px */
	
	/* Řádkování */
	--leading-tight: 1.25;
	--leading-normal: 1.5;
	--leading-relaxed: 1.75;
	
	/* Hmotnosti fontů */
	--font-light: 300;
	--font-normal: 400;
	--font-medium: 500;
	--font-semibold: 600;
	--font-bold: 700;
	--font-extrabold: 800;
}

/* Ocean theme variant (blue-green). Toggle with body.theme-ocean */
body.theme-ocean {
	/* Primary palette: darker ocean blue + emerald accents */
	--judo-red: #0f5ea8; /* ocean blue */
	--judo-dark-red: #0b3c74; /* deep ocean */
	--judo-text: #0f172a; /* slate 900 */
	--judo-text-light: #475569; /* slate 600 */
	--judo-bg: #f0f7fb; /* misty blue */
	--judo-surface: #ffffff;
	--judo-border: #c7e2ff; /* soft blue border */

	/* Accents */
	--judo-accent: #10b981; /* emerald 500 */
	--judo-accent-dark: #047857; /* emerald 700 */
}

/* Global link accents in ocean theme */
body.theme-ocean a { color: var(--judo-accent); }
body.theme-ocean a:hover { color: var(--judo-accent-dark); }

/* Ocean: hero CTA (NÁBOR 2025/26) uses green accent for better contrast */
body.theme-ocean .judo-hero-btn {
	background: var(--judo-accent);
	border-color: rgba(255,255,255,0.35);
	color: #ffffff;
}
body.theme-ocean .judo-hero-btn:hover {
	background: var(--judo-accent-dark);
    color: #ffffff;
}

/* Menu subtle underline accent on hover/active */
body.theme-ocean .judo-nav-main-item { border-bottom: 2px solid transparent; }
body.theme-ocean .judo-nav-main-item:hover,
body.theme-ocean .judo-nav-main-item.current-menu-item { border-bottom-color: var(--judo-accent); }

/* Ocean menu chip background colors */
body.theme-ocean .judo-nav-main-item {
	background: rgba(15, 94, 168, 0.18); /* ocean blue tint */
	color: #ffffff;
}
body.theme-ocean .judo-nav-main-item:hover,
body.theme-ocean .judo-nav-main-item.current-menu-item {
	background: var(--judo-red); /* ocean primary */
	box-shadow: 0 6px 16px rgba(15, 94, 168, 0.35);
}

/* Buttons and pagination retain primary (blue) but get green focus hints */
body.theme-ocean .judo-more-btn { box-shadow: 0 0 0 0 rgba(16,185,129,0); }
body.theme-ocean .judo-more-btn:focus { outline: none; box-shadow: 0 0 0 3px rgba(16,185,129,0.25); }
body.theme-ocean .judo-page-number.active,
body.theme-ocean .judo-page-prev,
body.theme-ocean .judo-page-next { border-color: var(--judo-red); }

/* Footer links inherit accent */
body.theme-ocean .judo-footer a { color: var(--judo-accent); }
body.theme-ocean .judo-footer a:hover { color: var(--judo-accent-dark); }

/* Ocean: in highlights section keep text white (no green links) */
body.theme-ocean .judo-highlights .judo-highlight-card,
body.theme-ocean .judo-highlights .judo-highlight-card h4,
body.theme-ocean .judo-highlights .judo-highlight-card p,
body.theme-ocean .judo-highlights .judo-highlight-card a { color: #ffffff !important; }

/* Theme toggle button (non-intrusive, can be removed anytime) */
.judo-theme-toggle {
	position: fixed;
	bottom: 18px;
	right: 18px;
	z-index: 10050;
	background: var(--judo-red);
	color: #fff;
	border: 0;
	border-radius: 20px;
	padding: 8px 12px;
	font-size: 12px;
	font-weight: 600;
	box-shadow: 0 6px 18px rgba(0,0,0,0.15);
	cursor: pointer;
	opacity: 0.9;
	transition: all 0.2s ease;
}

.judo-theme-toggle:hover {
	opacity: 1;
	transform: translateY(-1px);
}

/* Base styles */
body {
	font-family: var(--font-primary);
	background: var(--judo-bg);
	color: var(--judo-text);
	line-height: var(--leading-normal);
	font-size: var(--text-base);
	font-weight: var(--font-normal);
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

.judo-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px;
}

/* Header */
.judo-header {
	display: flex;
	justify-content: space-between; /* Změněno z flex-start na space-between */
	align-items: center;
	margin-bottom: 30px;
	margin-top: 20px;
	gap: 40px; /* Zvýšeno z 30px na 40px */
}

.judo-brand {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-shrink: 0; /* Logo se nesmršťuje */
}

.judo-logo img {
	width: 60px;
	height: 60px;
	border-radius: 50%;
}

/* Hlavní logo (nahrazuje ikonu + text) */
.judo-main-logo {
	display: flex !important;
	align-items: center !important;
}

/* Silné CSS pro všechny varianty loga */
.judo-main-logo img, .judo-brand .judo-main-logo img, .judo-brand .custom-logo, .judo-brand .custom-logo img, .custom-logo-link img {
	height: 120px !important;
	max-width: 400px !important;
	max-height: 120px !important;
	width: auto !important;
	object-fit: contain !important;
}

.judo-title h1 {
	font-family: var(--font-heading);
	font-size: var(--text-2xl);
	font-weight: var(--font-bold);
	margin: 0;
	line-height: var(--leading-tight);
	color: var(--judo-text);
	letter-spacing: 0.02em;
}

.judo-title span {
	color: var(--judo-red);
	font-size: 18px;
}

/* Navigation Menu - Modern & Elegant in Red Bubble with Liquid/Apple Design */
.judo-nav-elegant {
	position: relative;
	z-index: 10000;
	background: linear-gradient(135deg, 
		rgba(227, 30, 36, 0.95) 0%, 
		rgba(182, 15, 26, 0.9) 50%, 
		rgba(227, 30, 36, 0.85) 100%);
	border-radius: 40px; /* Zmenšeno z 50px */
	padding: 22px 112px; /* malinko širší a vyšší bublina */
	box-shadow: 
		0 20px 40px rgba(227, 30, 36, 0.25),
		0 8px 16px rgba(0, 0, 0, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	position: relative;
	/* overflow: hidden; - odstraněno aby se submenu zobrazovaly přes bublinu */
	margin: 0; /* Odstraněno margin, protože header už používá space-between */
	flex: 1; /* Menu zabere zbývající prostor */
	max-width: 1060px; /* mírně rozšířeno */
	min-height: 60px; /* Zajišťuje minimální výšku */
}

/* Ocean override: recolor the red bubble to blue/green */
body.theme-ocean .judo-nav-elegant {
	background: linear-gradient(135deg,
		rgba(15, 94, 168, 0.95) 0%,
		rgba(11, 60, 116, 0.9) 50%,
		rgba(16, 185, 129, 0.85) 100%);
	box-shadow:
		0 20px 40px rgba(15, 94, 168, 0.25),
		0 8px 16px rgba(0, 0, 0, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* Subtle inner glow */
.judo-nav-elegant::after {
	content: '';
	position: absolute;
	top: 1px;
	left: 1px;
	right: 1px;
	bottom: 1px;
	background: linear-gradient(135deg, 
		rgba(255, 255, 255, 0.1) 0%, 
		transparent 50%, 
		rgba(0, 0, 0, 0.05) 100%);
	border-radius: 39px; /* Zmenšeno z 49px */
	pointer-events: none;
}

.judo-nav-elegant .menu {
	display: flex;
	gap: 6px; /* Zmenšeno z 8px */
	flex-wrap: nowrap; /* Změněno zpět na nowrap pro jeden řádek */
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	position: relative;
	z-index: 2;
	min-height: 20px; /* Zajišťuje minimální výšku */
}

/* Desktop specific - přepíše se na mobilech */
@media (min-width: 769px) {
	.judo-nav-elegant .menu {
		align-items: center;
		justify-content: center;
	}
}

.judo-nav-elegant .menu > li {
	position: relative;
	flex-shrink: 0;
}

.judo-nav-elegant .menu > li > a {
	display: inline-block;
	padding: 8px 14px; /* Zmenšeno z 12px 18px */
	border-radius: 20px; /* Zmenšeno z 25px */
	text-decoration: none;
	color: var(--judo-text);
	font-weight: 600;
	font-family: 'Poppins', Inter, sans-serif;
	font-size: 12px; /* Zmenšeno z 13px */
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	border: 1px solid rgba(255, 255, 255, 0.3);
	box-shadow: 
		0 4px 20px rgba(0, 0, 0, 0.08),
		0 2px 8px rgba(0, 0, 0, 0.04),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	white-space: nowrap;
	overflow: hidden;
	position: relative;
	opacity: 1;
	visibility: visible;
}

/* Menu item shine effect */
.judo-nav-elegant .menu > li > a::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, 
		transparent, 
		rgba(255, 255, 255, 0.3), 
		transparent);
	transition: left 0.6s ease;
}

.judo-nav-elegant .menu > li > a:hover::before {
	left: 100%;
}

.judo-nav-elegant .menu > li > a:hover {
	background: rgba(255, 255, 255, 0.98);
	transform: translateY(-3px) scale(1.02);
	box-shadow: 
		0 8px 30px rgba(0, 0, 0, 0.15),
		0 4px 12px rgba(0, 0, 0, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.9);
	border-color: rgba(255, 255, 255, 0.5);
}

.judo-nav-elegant .menu > li > a:active {
	transform: translateY(-1px) scale(1.01);
	transition: all 0.1s;
}

/* Submenu styling */
.judo-nav-elegant .sub-menu {
	position: absolute;
	top: calc(100% + 12px); /* Zvýšeno z 8px na 12px pro lepší odsazení */
	left: 50%;
	transform: translateX(-50%) translateY(8px);
	background: rgba(0,0,0,0.95); /* Tmavší pozadí pro lepší viditelnost */
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255,255,255,0.3); /* Silnější border */
	border-radius: 16px;
	padding: 16px 20px; /* Zvýšeno padding */
	z-index: 10002; /* Vyšší z-index než hlavní bublina */
	min-width: 220px; /* Zvýšeno z 200px */
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	transition-delay: 0.3s; /* Zvýšeno zpoždění před zavřením na 0.3s */
	box-shadow: 
		0 25px 50px rgba(0,0,0,0.5),
		0 10px 20px rgba(0,0,0,0.3); /* Silnější stín */
}



.judo-nav-elegant .sub-menu > li {
	margin: 6px 0;
	list-style: none;
}

.judo-nav-elegant .sub-menu > li > a {
	display: block;
	padding: 10px 16px;
	border-radius: 12px;
	color: rgba(255,255,255,0.9);
	text-decoration: none;
	font-weight: 500;
	font-size: 14px;
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.15);
	transition: all 0.2s ease;
	white-space: nowrap;
}

.judo-nav-elegant .sub-menu > li > a:hover {
	background: rgba(255,255,255,0.2);
	color: #ffffff;
	border-color: rgba(255,255,255,0.3);
	transform: translateX(4px);
}

.judo-nav-elegant .judo-has-submenu.open > .sub-menu {
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	transition-delay: 0s !important;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}

/* Nadkategorie s podmenu - nejsou klikatelné */
.judo-nav-elegant .judo-has-submenu > a {
	cursor: pointer;
	pointer-events: auto;
}





/* Scroll-based opacity fading */
.judo-nav-elegant.scrolled {
	opacity: 0.9;
	transform: translateY(-2px);
	transition: all 0.3s ease;
}

.judo-nav-elegant.scrolled .menu > li > a {
	background: rgba(255,255,255,0.9);
	backdrop-filter: blur(8px);
}

/* Responsive adjustments */
@media (max-width: 1200px) {
	.judo-nav-elegant .menu {
		max-width: 100%;
		gap: 10px;
	}
	
	.judo-nav-elegant .menu > li > a {
		padding: 14px 20px;
		font-size: 14px;
	}
}

@media (max-width: 768px) {
	.judo-header {
		flex-direction: column;
		gap: 20px;
		text-align: center;
	}
	
	.judo-nav-elegant {
		padding: 16px 40px; /* Zvýšeno z 30px na 40px pro více místa */
		border-radius: 25px; /* Zmenšeno z 30px */
		margin: 0 20px;
		flex: none;
		max-width: 100%;
	}
	
	.judo-nav-elegant .menu {
		flex-wrap: nowrap; /* Zajišťuje jeden řádek i na mobile */
		justify-content: center;
		gap: 4px; /* Zmenšeno z 8px */
		overflow-x: auto; /* Scrollování pokud se nevejde */
		padding: 0 10px; /* Padding pro scroll */
	}
	
	.judo-nav-elegant .menu > li > a {
		padding: 6px 12px; /* Zmenšeno z 10px 16px */
		font-size: 11px; /* Zmenšeno z 12px */
		border-radius: 16px; /* Zmenšeno z 20px */
		white-space: nowrap; /* Zajišťuje text v jednom řádku */
	}
	
	/* Submenu na mobile */
	.judo-nav-elegant .sub-menu {
		top: calc(100% + 8px);
		min-width: 180px;
		padding: 12px 16px;
	}
	
	/* Další responsive úpravy */
	.judo-container {
		padding: 15px;
	}
	
	.judo-main-logo img,
	.judo-brand .judo-main-logo img,
	.judo-brand .custom-logo,
	.judo-brand .custom-logo img,
	.custom-logo-link img {
		height: 80px !important;
		max-width: 320px !important;
		max-height: 80px !important;
	}
	
	.judo-hero-fullwidth {
		min-height: 300px;
	}
	
	.judo-hero-wrapper {
		flex-direction: column;
		text-align: center;
		padding: 30px 15px;
		min-height: 300px;
	}
	
	.judo-hero-content {
		max-width: 100%;
		padding-right: 0;
		z-index: 3;
		background: rgba(227, 30, 36, 0.9);
		padding: 20px;
		border-radius: 15px;
	}
	
	.judo-hero-content h2 {
		font-size: 32px;
		margin-bottom: 15px;
	}
	
	.judo-main-content {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	/* Odstraněno - nepoužívá se */
}

/* Hlavní řádek - důležité kategorie */
.judo-nav-main {
	display: flex !important;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	width: 100%;
}

.judo-nav-main-item {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 14px;
	text-decoration: none;
	color: white;
	font-weight: var(--font-semibold);
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: all 0.3s ease;
	background: rgba(255,255,255,0.15);
	white-space: nowrap;
}

.judo-nav-main-item:hover,
.judo-nav-main-item.current-menu-item {
	background: rgba(255,255,255,0.3);
	color: white;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* Druhý řádek - podkategorie */
.judo-nav-secondary {
	display: flex;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
	border-top: 1px solid rgba(255,255,255,0.2);
	padding-top: 6px;
}

.judo-nav-secondary-item {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 10px;
	text-decoration: none;
	color: rgba(255,255,255,0.9);
	font-weight: var(--font-normal);
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	transition: all 0.3s ease;
	background: rgba(255,255,255,0.08);
	white-space: nowrap;
}

.judo-nav-secondary-item:hover,
.judo-nav-secondary-item.current-menu-item {
	background: rgba(255,255,255,0.2);
	color: white;
	transform: translateY(-1px);
}

/* Hero sekce - nový design s fotkami přes celou výšku */
.judo-hero-fullwidth {
	background: linear-gradient(135deg, var(--judo-red) 0%, var(--judo-dark-red) 100%);
	min-height: 400px;
	margin: 0 0 40px 0;
	color: white;
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	position: relative;
	overflow: hidden;
}

.judo-hero-wrapper {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	min-height: 400px;
	padding: 40px 20px;
	position: relative;
	z-index: 2;
}



.judo-hero-content {
	flex: 1;
	max-width: 50%;
	padding-right: 40px;
	position: relative;
	z-index: 5;
}

body .judo-hero-fullwidth .judo-hero-image,
.judo-hero-fullwidth .judo-hero-wrapper .judo-hero-image,
.judo-hero-image {
	position: absolute !important;
	top: 0 !important;
	left: 40% !important;
	width: 60vw !important;
	height: 100% !important;
	overflow: hidden !important;
	z-index: 1 !important;
	
	/* Odstraněn černý mask - UPDATE v1.2 */
}

body .judo-hero-fullwidth .judo-hero-image .hero-slide,
.judo-hero-fullwidth .judo-hero-wrapper .judo-hero-image .hero-slide,
.judo-hero-image .hero-slide {
	position: absolute !important;
	top: -30px !important; /* ještě menší bleed */
	left: -18% !important; /* menší přesah */
	width: 135% !important; /* další zmírnění zoomu */
	height: calc(100% + 60px) !important; /* adekvátní výška pro drift */
	object-fit: cover !important;
	object-position: center 30% !important; /* začínej ve vyšší polovině */
	opacity: 0 !important;
	transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1), filter 0.8s ease !important;
	z-index: 1 !important;
	/* připrav transform kvůli jemnému driftu */
	will-change: transform, opacity, filter;
	/* žádné rozmazání pro maximální ostrost */
	filter: brightness(0.98);
	/* všechny slidery animují stále – plynulý přechod bez resetu */
	animation: heroDriftDown 14s ease-in-out infinite alternate both;
}

body .judo-hero-fullwidth .judo-hero-image .hero-slide.active,
.judo-hero-fullwidth .judo-hero-wrapper .judo-hero-image .hero-slide.active,
.judo-hero-image .hero-slide.active {
	opacity: 1 !important;
	filter: none !important;
}

/* Jemná diagonální animace pro aktivní slidery – střídání směru (liché/ sudé) */
.judo-hero-image .hero-slide:nth-child(even) { animation-name: heroDriftUp; }

@keyframes heroDriftDown {
	0% { transform: translate3d(0, 0, 0) scale(1.04); }
	100% { transform: translate3d(16px, 16px, 0) scale(1.04); }
}

@keyframes heroDriftUp {
	0% { transform: translate3d(0, 0, 0) scale(1.04); }
	100% { transform: translate3d(-16px, -16px, 0) scale(1.04); }
}

/* Na mobile menší pohyb, aby se nic netřáslo */
@media (max-width: 768px) {
	.judo-hero-image .hero-slide.active { animation-duration: 12s; }
	@keyframes heroDriftDown {
		0% { transform: translate3d(0, 0, 0) scale(1.06); }
		100% { transform: translate3d(14px, 14px, 0) scale(1.06); }
	}
	@keyframes heroDriftUp {
		0% { transform: translate3d(0, 0, 0) scale(1.06); }
		100% { transform: translate3d(-14px, -14px, 0) scale(1.06); }
	}
}

/* Forcovat zobrazení hero slidů - zoom a pozice */
body .judo-hero-fullwidth .judo-hero-image img,
.judo-hero-fullwidth .judo-hero-wrapper .judo-hero-image img,
.judo-hero-image img {
	position: absolute !important;
	top: 0 !important;
	left: -15% !important;
	width: 130% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center 30% !important; /* začínej ve vyšší polovině */
	max-width: none !important;
	max-height: none !important;
	opacity: 1 !important;
}

.judo-hero-content h2 {
	font-size: 48px;
	font-weight: 700;
	margin: 0 0 20px 0; /* Zmenšeno z 30px na 20px pro úvodní text */
	line-height: 1.1;
	color: #111111;
}

/* Úvodní text v hero sekci */
.judo-hero-intro {
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.9);
	margin: 0 0 25px 0;
	max-width: 500px;
	font-weight: 400;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.judo-hero-btn {
	display: inline-block;
	background: rgba(255,255,255,0.2);
	color: white;
	padding: 15px 30px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: var(--font-semibold);
	font-size: var(--text-base);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border: 2px solid rgba(255,255,255,0.3);
	transition: all 0.3s ease;
}

.judo-hero-btn:hover {
	background: rgba(255,255,255,0.3);
	border-color: rgba(255,255,255,0.5);
}

/* Hlavní obsah */
.judo-main-content {
	display: flex;
	gap: 40px;
	margin-bottom: 40px;
	align-items: flex-start;
	justify-content: space-between;
}

/* Levý sloupec - pevná šířka */
.judo-main-content > *:first-child {
	flex: 0 0 700px;
	max-width: 700px;
	margin-left: 20px;
}

/* Na mobilu centrovat levý sloupec */
@media (max-width: 768px) {
	.judo-main-content {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
	}
	
	.judo-main-content > *:first-child {
		flex: 0 0 auto;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		text-align: center;
		width: 100% !important;
	}
}

/* Nadpisy sekcí */
.judo-highlights h3,
.judo-news h3 {
	font-family: var(--font-heading);
	font-size: var(--text-2xl);
	font-weight: var(--font-bold);
	margin: 0 0 20px 0;
	color: var(--judo-text);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.judo-highlights {
	width: 100%;
	/* Zajistit, že se zobrazí pouze 2 karty */
	max-width: 100%;
}

/* Odstraněno - nepoužívá se */

/* Highlights carousel */
.judo-highlight-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

/* Na mobilu centrovat header */
@media (max-width: 768px) {
	.judo-highlight-header {
		justify-content: center;
		gap: 20px;
	}
}

.judo-highlight-header h3 {
	margin: 0;
}

.judo-highlight-controls {
	display: flex;
	gap: 15px;
}

.judo-highlight-carousel {
	position: relative;
	overflow: hidden;
	padding: 0;
	/* Zajistit, že se zobrazí pouze 2 karty */
	width: 100%;
}

/* Opacity přechod na pravé straně - odstraněn */

.judo-highlight-track {
	display: flex;
	overflow-x: hidden;
	scroll-snap-type: x mandatory;
	gap: 20px;
	padding: 10px 0;
	scrollbar-width: none;
	-ms-overflow-style: none;
	user-select: none;
	pointer-events: none;
	/* Zajistit plynulé scrollování */
	scroll-behavior: smooth;
}

.judo-highlight-track::-webkit-scrollbar {
	display: none;
}

/* Zajistit, že se nezobrazí scrollbar */
.judo-highlight-track {
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.judo-highlight-arrow {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(0, 0, 0, 0.1);
	color: #333;
	width: 36px;
	height: 36px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 18px;
	font-weight: 700;
	transition: all 0.2s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.judo-highlight-arrow:hover {
	background: rgba(255, 255, 255, 1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transform: translateY(-1px);
}

.judo-highlight-track .judo-highlight-card {
	scroll-snap-align: start;
	/* zobraz přesně 2 karty na šířku (bez ohledu na gap) */
	min-width: calc(50% - 10px);
	max-width: calc(50% - 10px);
	flex-shrink: 0;
	pointer-events: auto;
	/* Zajistit, že se zobrazí pouze 2 karty */
	width: calc(50% - 10px);
}

@media (max-width: 768px) {
	.judo-main-content {
		flex-direction: column;
		gap: 20px;
	}
	
	.judo-main-content > *:first-child,
	.judo-main-content > *:last-child {
		flex: none;
		max-width: 100%;
	}
	
	.judo-highlight-track .judo-highlight-card {
		min-width: calc(100% - 12px);
		max-width: calc(100% - 12px);
	}
}

.judo-highlight-card {
	background: linear-gradient(135deg, var(--judo-red) 0%, var(--judo-dark-red) 100%);
	color: white;
	padding: 15px;
	border-radius: var(--judo-radius);
	text-decoration: none;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}

.judo-highlight-card::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: linear-gradient(45deg, transparent, rgba(255,255,255,0.1), transparent);
	transform: rotate(45deg);
	transition: all 0.6s;
	opacity: 0;
}

.judo-highlight-card:hover::before {
	animation: shine 0.6s ease-in-out;
}

@keyframes shine {
	0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); opacity: 0; }
	50% { opacity: 1; }
	100% { transform: translateX(100%) translateY(100%) rotate(45deg); opacity: 0; }
}

.judo-highlight-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(227, 30, 36, 0.3);
}

.judo-highlight-card h4 {
	font-family: var(--font-heading);
	font-size: var(--text-lg);
	font-weight: var(--font-bold);
	margin: 0 0 8px 0;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.judo-highlight-card p {
	margin: 0;
	opacity: 0.95;
	font-size: var(--text-sm);
	line-height: var(--leading-tight);
	font-weight: var(--font-normal);
}

/* Novinky */
.judo-news-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
}

.judo-news-item {
	background: var(--judo-surface);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	overflow: hidden;
	transition: all 0.3s ease;
	width: 100%;
}

.judo-news-item:hover {
	box-shadow: var(--judo-shadow);
}

.judo-news-preview {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px;
	cursor: pointer;
	transition: background 0.3s ease;
}

.judo-news-preview:hover {
	background: rgba(227, 30, 36, 0.02);
}

.judo-news-image {
	flex-shrink: 0;
	width: 80px;
	height: 60px;
	border-radius: 8px;
	overflow: hidden;
}

.judo-news-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Placeholder obrázky se nepoužívají - zachováváme náhodné obrázky z galerie */

.judo-news-content {
	flex: 1;
}

.judo-news-content h4 {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 5px 0;
	color: var(--judo-text);
}

.judo-news-content p {
	font-size: 14px;
	color: var(--judo-text-light);
	margin: 0 0 5px 0;
}

.judo-news-content time {
	font-size: 12px;
	color: var(--judo-text-light);
}

.judo-news-toggle {
	color: var(--judo-red);
	font-weight: bold;
	transition: transform 0.3s ease;
}

.judo-news-item.expanded .judo-news-toggle {
	transform: rotate(180deg);
}

.judo-news-expanded {
	border-top: 1px solid var(--judo-border);
	padding: 20px;
	background: rgba(247, 248, 249, 0.5);
	display: none; /* Hidden by default */
	/* Lepší formátování obsahu */
	line-height: 1.6;
}

.judo-news-expanded h1,
.judo-news-expanded h2,
.judo-news-expanded h3,
.judo-news-expanded h4,
.judo-news-expanded h5,
.judo-news-expanded h6 {
	margin: 20px 0 10px 0;
	color: var(--judo-text);
	font-family: var(--font-heading);
}

.judo-news-expanded h1 { font-size: 24px; }
.judo-news-expanded h2 { font-size: 22px; }
.judo-news-expanded h3 { font-size: 20px; }
.judo-news-expanded h4 { font-size: 18px; }
.judo-news-expanded h5 { font-size: 16px; }
.judo-news-expanded h6 { font-size: 14px; }

.judo-news-expanded p {
	margin: 0 0 15px 0;
	line-height: 1.6;
}

.judo-news-expanded ul,
.judo-news-expanded ol {
	margin: 0 0 15px 20px;
	line-height: 1.6;
}

.judo-news-expanded li {
	margin-bottom: 5px;
}

.judo-news-expanded blockquote {
	margin: 20px 0;
	padding: 15px 20px;
	border-left: 4px solid var(--judo-red);
	background: rgba(227, 30, 36, 0.05);
	font-style: italic;
}

.judo-news-expanded img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 15px 0;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.judo-news-expanded a {
	color: var(--judo-red);
	text-decoration: none;
}

.judo-news-expanded a:hover {
	text-decoration: underline;
}

.judo-news-expanded table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
	border: 1px solid var(--judo-border);
}

.judo-news-expanded th,
.judo-news-expanded td {
	padding: 10px;
	text-align: left;
	border: 1px solid var(--judo-border);
}

.judo-news-expanded th {
	background: rgba(227, 30, 36, 0.1);
	font-weight: 600;
	color: var(--judo-text);
}

.judo-news-expanded code {
	background: rgba(0, 0, 0, 0.05);
	padding: 2px 6px;
	border-radius: 4px;
	font-family: 'Courier New', monospace;
	font-size: 0.9em;
}

.judo-news-expanded pre {
	background: rgba(0, 0, 0, 0.05);
	padding: 15px;
	border-radius: 6px;
	overflow-x: auto;
	margin: 20px 0;
	border: 1px solid var(--judo-border);
}

.judo-news-item.expanded .judo-news-expanded {
	display: block !important; /* Force display when expanded */
	position: relative;
	z-index: 5;
}

.judo-news-actions {
	margin-top: 15px;
	text-align: right;
}

.judo-more-btn {
	background: var(--judo-red);
	color: white !important;
	padding: 8px 16px;
	border-radius: 6px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	transition: background 0.3s ease;
}

.judo-more-btn:hover {
	background: var(--judo-dark-red);
}

/* News pagination */
.judo-news-pagination {
	margin-top: 30px;
	text-align: center;
}

.judo-pagination {
	display: inline-block;
}

.judo-page-numbers {
	display: flex;
	align-items: center;
	gap: 8px;
}

.judo-page-number {
	display: inline-block;
	padding: 8px 12px;
	border: 1px solid var(--judo-border);
	border-radius: 6px;
	color: var(--judo-text);
	text-decoration: none;
	font-size: 14px;
	transition: all 0.3s ease;
}

.judo-page-number:hover,
.judo-page-number.active {
	background: var(--judo-red);
	color: white;
	border-color: var(--judo-red);
}

.judo-page-dots {
	color: var(--judo-text-light);
	padding: 0 8px;
}

.judo-page-prev,
.judo-page-next {
	font-weight: 600;
	background: var(--judo-red) !important;
	color: white !important;
	border-color: var(--judo-red) !important;
}

.judo-page-prev:hover,
.judo-page-next:hover {
	background: var(--judo-dark-red) !important;
}

.judo-pagination-info {
	text-align: center;
	font-size: 12px;
	color: var(--judo-text-light);
	margin-top: 10px;
}

/* Horizontal sponsors */
.judo-sponsors-horizontal {
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid var(--judo-border);
}

.judo-sponsor-row {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
	flex-wrap: wrap;
}

.judo-sponsor-item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60px;
	padding: 10px 15px;
	border: 1px dashed var(--judo-border);
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.3s ease;
	opacity: 0.7;
	background: var(--judo-surface);
}

.judo-sponsor-item:hover {
	opacity: 1;
	border-color: var(--judo-red);
	background: rgba(227, 30, 36, 0.05);
	transform: translateY(-2px);
}

.judo-sponsor-item img {
	max-width: 120px;
	max-height: 50px;
	object-fit: contain;
}

.judo-sponsor-item span {
	color: var(--judo-text-light);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
}

/* Pravý sloupec - pevná šířka */
.judo-main-content > *:last-child {
	flex: 0 0 350px;
	max-width: 350px;
	margin-right: 20px;
}

/* Sidebar */
.judo-sidebar {
	display: flex;
	flex-direction: column;
	gap: 25px;
	width: 100%;
}

/* Plakát v sidebaru */
.judo-sidebar img,
.judo-sidebar .judo-poster {
	max-width: 100%;
	height: auto;
	overflow: hidden;
}

/* Specifické styly pro plakát */
.judo-sidebar .judo-poster img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* Galerie paginace - stejný styl jako novinky */
.judo-gallery-pagination {
	margin-top: 30px;
	text-align: center;
}

.judo-gallery-pagination .judo-pagination {
	display: inline-block;
}

.judo-gallery-pagination .judo-page-numbers {
	display: flex;
	align-items: center;
	gap: 8px;
}

.judo-gallery-pagination .judo-page-number {
	display: inline-block;
	padding: 8px 12px;
	border: 1px solid var(--judo-border);
	border-radius: 6px;
	color: var(--judo-text);
	text-decoration: none;
	font-size: 14px;
	transition: all 0.3s ease;
}

.judo-gallery-pagination .judo-page-number:hover,
.judo-gallery-pagination .judo-page-number.active {
	background: var(--judo-red);
	color: white;
	border-color: var(--judo-red);
}

.judo-gallery-pagination .judo-page-dots {
	color: var(--judo-text-light);
	padding: 0 8px;
}

.judo-gallery-pagination .judo-page-prev,
.judo-gallery-pagination .judo-page-next {
	font-weight: 600;
}

.judo-gallery-pagination .judo-pagination-info {
	margin-top: 15px;
	font-size: 14px;
	color: var(--judo-text-light);
}

/* Loading a error stavy */
.judo-gallery-loading,
.judo-gallery-error {
	text-align: center;
	padding: 60px 20px;
	color: var(--judo-text-light);
}

.judo-gallery-loading p {
	font-size: var(--text-lg);
	margin: 0;
}

.judo-gallery-error p {
	font-size: var(--text-base);
	margin: 0;
	color: var(--judo-red);
}

/* Lightbox */
.judo-lightbox-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}

.judo-lightbox-content {
	position: relative;
	max-width: 90%;
	max-height: 90%;
	text-align: center;
}

.judo-lightbox-image {
	max-width: 100%;
	max-height: 80vh;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.judo-lightbox-caption {
	color: white;
	margin-top: 15px;
	font-size: 16px;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}

.judo-lightbox-close {
	position: absolute;
	top: -40px;
	right: 0;
	background: none;
	border: none;
	color: white;
	font-size: 30px;
	cursor: pointer;
	padding: 5px;
	line-height: 1;
}

.judo-lightbox-close:hover {
	color: var(--judo-red);
}

.judo-lightbox-prev,
.judo-lightbox-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.2);
	border: none;
	color: white;
	font-size: 24px;
	cursor: pointer;
	padding: 15px 10px;
	border-radius: 5px;
	transition: background 0.3s ease;
}

.judo-lightbox-prev:hover,
.judo-lightbox-next:hover {
	background: rgba(255, 255, 255, 0.3);
}

.judo-lightbox-prev {
	left: -60px;
}

.judo-lightbox-next {
	right: -60px;
}

/* Responsive lightbox */
@media (max-width: 768px) {
	.judo-lightbox-prev,
	.judo-lightbox-next {
		position: fixed;
		top: auto;
		bottom: 20px;
		transform: none;
		padding: 10px 15px;
		font-size: 18px;
	}
	
	.judo-lightbox-prev {
		left: 20px;
	}
	
	.judo-lightbox-next {
		right: 20px;
	}
	
	.judo-lightbox-close {
		top: 20px;
		right: 20px;
	}
}

/* Kalendář */
.judo-calendar {
	background: var(--judo-surface);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	padding: 20px;
	box-shadow: var(--judo-shadow);
	width: 100%;
}

.judo-calendar h4 {
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: var(--font-bold);
	margin: 0 0 15px 0;
	color: var(--judo-text);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Plakát ZŠ Šrámková – nadpis sjednocen se zbytkem webu */
.judo-kravare h4 {
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: var(--font-bold);
	margin: 0 0 15px 0;
	color: var(--judo-text);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-align: center;
}

/* Gutenberg widget uvnitř judo-kravare – sjednocení typografie */
.judo-kravare,
.judo-kravare p,
.judo-kravare li,
.judo-kravare a {
	font-family: var(--font-primary);
	color: var(--judo-text);
}

.judo-kravare .widget-title,
.judo-kravare h2,
.judo-kravare h3 {
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: var(--font-bold);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 15px 0;
	text-align: center;
}

.judo-kravare img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin-bottom: 10px;
}

/* Zneklikatelni obrázek ve widgetu (zabrání otevření v plné velikosti) */
.judo-kravare .wp-block-image a {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}

.judo-calendar-month {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
}

.judo-calendar-month span {
	font-weight: 600;
	color: var(--judo-text);
}

.judo-calendar-month button {
	background: none;
	border: none;
	font-size: 18px;
	cursor: pointer;
	color: var(--judo-red);
}

.judo-calendar-grid {
	width: 100%;
}

.judo-calendar-header {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
	margin-bottom: 5px;
}

.judo-calendar-header span {
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	color: var(--judo-text-light);
	padding: 5px;
}

.judo-calendar-days {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
}

.judo-calendar-days span {
	text-align: center;
	padding: 8px 4px;
	font-size: 14px;
	cursor: pointer;
	border-radius: 4px;
	transition: all 0.3s ease;
	position: relative;
}

.judo-calendar-days span.has-event {
	background-color: var(--judo-red);
	color: white;
	cursor: pointer;
	position: relative;
}

.judo-calendar-days span.has-event:hover {
	background-color: #d32f2f;
	transform: scale(1.05);
}

.judo-calendar-days span.has-event::after {
	content: '';
	position: absolute;
	bottom: 2px;
	left: 50%;
	transform: translateX(-50%);
	width: 4px;
	height: 4px;
	background-color: white;
	border-radius: 50%;
}

.judo-calendar-days span.today {
	background-color: transparent;
	color: var(--judo-red);
	font-weight: bold;
	border: 2px solid var(--judo-red);
	border-radius: 4px;
}

/* Zachovej pouze obrys i při hoveru aktuálního dne */
.judo-calendar-days span.today:hover {
	background-color: transparent;
	color: var(--judo-red);
}

/* Priorita: pokud má dnešek zároveň událost, zůstaň jen obrys */
.judo-calendar-days span.today.has-event,
.judo-calendar-days span.today.has-event:hover {
	background-color: transparent;
	color: var(--judo-red);
	border: 2px solid var(--judo-red);
}

.judo-calendar-days span:hover {
	background-color: var(--judo-red);
	color: white;
	cursor: pointer;
}

.judo-calendar-days span.selected {
	background-color: #1976d2;
	color: white;
	transform: scale(1.1);
	box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.judo-calendar-days span.has-event::after {
	content: '•';
	position: absolute;
	bottom: 2px;
	right: 50%;
	transform: translateX(50%);
	color: white;
	font-size: 12px;
	font-weight: bold;
}

.judo-calendar-note {
	font-size: 12px;
	color: var(--judo-text-light);
	margin: 10px 0 0 0;
	text-align: center;
}

/* Events inline display */
#judo-events-inline {
	margin-top: 15px;
	padding: 15px;
	background: var(--judo-bg-light);
	border-radius: var(--judo-radius);
	border-left: 4px solid var(--judo-red);
}

#judo-events-inline h5 {
	margin: 0 0 10px 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--judo-red);
}

.judo-event-item {
	margin-bottom: 8px;
	padding: 8px;
	background: var(--judo-surface);
	border-radius: 6px;
	border: 1px solid var(--judo-border);
}

.judo-event-item:last-child {
	margin-bottom: 0;
}

.event-title {
	color: var(--judo-text);
	text-decoration: none;
	font-weight: 500;
	font-size: 14px;
}

.event-title:hover {
	color: var(--judo-red);
	text-decoration: underline;
}

.event-tags {
	color: var(--judo-text-light);
	font-size: 12px;
	font-style: italic;
}

/* Events popup */
.judo-events-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.judo-events-content {
	background: white;
	border-radius: var(--judo-radius);
	padding: 25px;
	max-width: 500px;
	width: 90%;
	max-height: 80%;
	overflow-y: auto;
	position: relative;
}

.judo-events-close {
	position: absolute;
	top: 15px;
	right: 20px;
	font-size: 24px;
	cursor: pointer;
	color: var(--judo-text-light);
}

.judo-events-close:hover {
	color: var(--judo-red);
}

.judo-event-item {
	background: var(--judo-bg);
	border: 1px solid var(--judo-border);
	border-radius: 8px;
	padding: 15px;
	margin: 10px 0;
}

.judo-event-item h6 {
	margin: 0 0 8px 0;
	color: var(--judo-text);
}

.judo-event-item h6 a {
	color: var(--judo-red);
	text-decoration: none;
}

.judo-event-item h6 a:hover {
	text-decoration: underline;
}

.judo-event-item p {
	margin: 0 0 8px 0;
	color: var(--judo-text-light);
	font-size: 14px;
}

.judo-event-item small {
	color: var(--judo-text-light);
	font-size: 12px;
}

/* Sponzoři */
.judo-sponsors {
	background: var(--judo-surface);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	padding: 20px;
	box-shadow: var(--judo-shadow);
}

.judo-sponsor-logos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
	gap: 15px;
	align-items: center;
}

.judo-sponsor {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	border: 1px dashed var(--judo-border);
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.3s ease;
	min-height: 50px;
}

.judo-sponsor:hover {
	border-color: var(--judo-red);
	background: rgba(227, 30, 36, 0.05);
}

.judo-sponsor img {
	max-width: 100%;
	max-height: 40px;
	object-fit: contain;
}

.judo-sponsor span {
	color: var(--judo-text-light);
	font-size: 12px;
	font-weight: 600;
}

/* Single post styles */
.judo-breadcrumb {
	margin: 20px 0;
}

.judo-back-btn {
	color: var(--judo-red);
	text-decoration: none;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.judo-back-btn:hover {
	text-decoration: underline;
}

.judo-single-post {
	background: var(--judo-surface);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	padding: 40px;
	box-shadow: var(--judo-shadow);
	margin-bottom: 40px;
}

.judo-post-header {
	margin-bottom: 30px;
}

.judo-post-featured-image {
	margin-bottom: 20px;
}

.judo-post-featured-image img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	border-radius: var(--judo-radius);
}

.judo-post-meta {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 15px;
}

.judo-post-date {
	color: var(--judo-text-light);
	font-size: 14px;
}

.judo-category {
	background: var(--judo-red);
	color: white;
	padding: 4px 8px;
	border-radius: 4px;
	font-size: 12px;
	text-transform: uppercase;
	font-weight: 600;
}

.judo-post-title {
	font-family: 'Poppins', sans-serif;
	font-size: 32px;
	font-weight: 700;
	margin: 0;
	color: var(--judo-text);
	line-height: 1.2;
}

.judo-post-content {
	line-height: 1.8;
	margin-bottom: 30px;
}

.judo-post-content h2,
.judo-post-content h3,
.judo-post-content h4 {
	font-family: 'Poppins', sans-serif;
	color: var(--judo-text);
	margin: 30px 0 15px 0;
}

.judo-post-content p {
	margin-bottom: 20px;
}

.judo-post-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--judo-radius);
	margin: 20px 0;
}

.judo-post-content a {
	color: var(--judo-red);
	text-decoration: underline;
}

.judo-post-content a:hover {
	color: var(--judo-dark-red);
}

.judo-post-footer {
	border-top: 1px solid var(--judo-border);
	padding-top: 20px;
}

.judo-post-tags {
	color: var(--judo-text-light);
	font-size: 14px;
}

.judo-post-tags a {
	color: var(--judo-red);
	text-decoration: none;
}

.judo-post-tags a:hover {
	text-decoration: underline;
}

/* Related posts */
.judo-related-posts {
	margin-top: 40px;
}

.judo-related-posts h3 {
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 20px 0;
	color: var(--judo-text);
}

.judo-related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
}

.judo-related-item {
	background: var(--judo-surface);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	overflow: hidden;
	transition: all 0.3s ease;
}

.judo-related-item:hover {
	transform: translateY(-5px);
	box-shadow: var(--judo-shadow);
}

.judo-related-item a {
	text-decoration: none;
	color: inherit;
	display: block;
}

.judo-related-image {
	height: 150px;
	overflow: hidden;
}

.judo-related-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.judo-related-item:hover .judo-related-image img {
	transform: scale(1.05);
}

.judo-related-content {
	padding: 15px;
}

.judo-related-content h4 {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 8px 0;
	color: var(--judo-text);
}

.judo-related-content time {
	font-size: 12px;
	color: var(--judo-text-light);
}

/* Page specific styles */
.judo-page-excerpt {
	display: none !important; /* Skryt červený warning bar */
	background: rgba(227, 30, 36, 0.05);
	border-left: 4px solid var(--judo-red);
	padding: 15px 20px;
	margin: 20px 0;
	border-radius: 0 8px 8px 0;
}

/* =================== TRENÉŘI (COACHES) =================== */
.judo-coaches-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
    margin-top: 10px;
    align-items: stretch; /* Zajistí stejnou výšku všech karet */
}

.judo-coach-card {
    background: var(--judo-surface);
    border: none; /* odstraněn horní 1px rámeček, který vypadal jako bílý pruh */
    border-radius: 14px;
    box-shadow: var(--judo-shadow);
    overflow: visible; /* Umožní kartě se rozšířit podle obsahu */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    will-change: transform;
    padding: 0; /* žádné vnitřní odsazení nahoře */
    line-height: 0; /* zruš veškeré kolabující mezery u prvního prvku */
    display: flex;
    flex-direction: column; /* Umožní flexibilní rozložení obsahu */
    /* height: 100%; - odstraněno, aby se karta mohla rozšířit */
}

.judo-coach-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

.judo-coach-photo {
    flex-shrink: 0; /* Fotka se nebude smršťovat */
    background: transparent; /* bez černého obdélníku */
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
    line-height: 0; /* eliminuje bílý proužek u horní hrany */
    display: block;
    margin: 0;
    position: relative;
    overflow: hidden; /* Ořízne fotku podle zaoblených rohů */
    /* Odstraníme pevnou výšku, aby se fotka přizpůsobila obsahu */
}

.judo-coach-photo img {
    width: 100%;
    height: auto; /* Zachová poměr stran fotky */
    /* max-height: 300px; - odstraněno aby se fotky zobrazovaly celé */
    object-fit: contain; /* Zobrazí celou fotku bez ořezání */
    object-position: center;
    display: block;
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
}

/* Obnov normální line-height pro textové části karty */
.judo-coach-header, .judo-coach-details { line-height: 1.5; }

.judo-coach-header {
    padding: 16px 18px 0 18px;
}

.judo-coach-header h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
}

.judo-coach-details {
    padding: 12px 18px 26px 18px;
    color: var(--judo-text);
    flex-grow: 1; /* Roztáhne obsah aby vyplnil dostupné místo */
}

/* Spodní vzduch pro poslední prvky uvnitř detailů */
.judo-coach-details > *:last-child {
    margin-bottom: 0;
    padding-bottom: 2px;
}

.judo-coach-details ul,
.judo-coach-details p {
    margin-bottom: 10px;
}

.judo-coach-details p:last-child {
    margin-bottom: 0;
}

.judo-coach-actions {
    padding: 14px 16px 16px 16px;
}

.judo-coach-toggle {
    display: inline-block;
    background: var(--judo-red);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 10px 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease;
}

.judo-coach-toggle:hover {
	background: var(--judo-dark-red);
}

/* Detaily stále viditelné bez rozbalování */
.judo-coach-card .judo-coach-details {
    /* zobraz plný text */
    display: block;
    overflow: visible;
    position: static;
}

.judo-coach-card .judo-coach-details:after {
    display: none;
}

/* Skryj akce/tlačítko */
.judo-coach-actions { display: none; }

/* Desktop - omezení max-height jen pro velké obrazovky */
@media (min-width: 769px) {
    .judo-coach-photo img {
        max-height: 300px; /* Omezení jen na desktopu */
    }
}

/* Responzivní design pro mobilní zařízení */
@media (max-width: 768px) {
    .judo-coaches-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
    }
    
    .judo-coach-photo {
        margin-bottom: 16px; /* Větší mezera mezi fotkou a obsahem */
    }
    
    .judo-coach-photo img {
        max-height: 280px; /* Větší fotky na tabletech */
    }
}

@media (max-width: 600px) {
    .judo-coaches-grid {
        grid-template-columns: 1fr; /* Jedna karta na řádek na mobilech */
        gap: 20px; /* Větší mezery mezi kartami */
    }
    
    .judo-coach-card {
        min-height: 550px !important; /* Větší minimální výška pro velké fotky */
        height: auto !important; /* Umožní kartě se rozšířit */
    }
    
    .judo-coach-photo {
        margin-bottom: 24px !important; /* Velká mezera mezi fotkou a textem */
        position: relative;
        z-index: 1;
    }
    
    .judo-coach-photo img {
        max-height: none !important; /* Bez omezení výšky - zobrazí celou fotku */
        object-fit: contain !important; /* Zobrazí celou fotku bez ořezání */
        height: auto !important; /* Zachová původní poměr stran */
    }
    
    .judo-coach-header {
        padding: 16px 16px 0 16px !important; /* Více prostoru pro hlavičku */
        position: relative;
        z-index: 2;
    }
    
    .judo-coach-details {
        padding: 12px 16px 24px 16px !important; /* Více prostoru pro detaily */
        position: relative;
        z-index: 2;
        flex-grow: 1;
    }
}

@media (max-width: 480px) {
    .judo-coach-card {
        min-height: 500px !important; /* Větší minimální výška i pro malé mobily */
        height: auto !important; /* Umožní kartě se rozšířit */
    }
    
    .judo-coach-photo {
        margin-bottom: 18px; /* Velká mezera mezi fotkou a obsahem */
    }
    
    .judo-coach-photo img {
        max-height: none !important; /* Bez omezení výšky - zobrazí celou fotku */
        object-fit: contain !important; /* Zobrazí celou fotku bez ořezání */
        height: auto !important; /* Zachová původní poměr stran */
    }
    
    .judo-coaches-grid {
        gap: 16px; /* Větší mezery mezi kartami */
    }
    
    .judo-coach-header {
        padding: 10px 16px 0 16px; /* Dostatečný padding */
    }
    
    .judo-coach-details {
        padding: 10px 16px 20px 16px; /* Dostatečný padding */
    }
}

.judo-page-excerpt p {
	margin: 0;
	font-style: italic;
	color: var(--judo-text-light);
}

/* Contact info styles */
.judo-contact-info {
	background: var(--judo-bg);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	padding: 30px;
	margin: 30px 0;
}

.judo-contact-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 25px;
	margin-top: 20px;
}

.judo-contact-item h4 {
	color: var(--judo-red);
	font-size: 18px;
	margin: 0 0 10px 0;
	font-weight: 600;
}

.judo-contact-item p {
	margin: 0;
	line-height: 1.6;
}

/* Category/Archive post grid */
.judo-posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 25px;
	margin: 30px 0;
}

.judo-category-post-item {
	background: var(--judo-surface);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	overflow: hidden;
	transition: all 0.3s ease;
	box-shadow: var(--judo-shadow);
}

.judo-category-post-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.judo-category-post-item a {
	text-decoration: none;
	color: inherit;
	display: block;
}

.judo-post-thumbnail {
	height: 200px;
	overflow: hidden;
}

.judo-post-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.judo-category-post-item:hover .judo-post-thumbnail img {
	transform: scale(1.05);
}

.judo-post-info {
	padding: 20px;
}

.judo-post-info h3 {
	font-size: 18px;
	font-weight: 600;
	margin: 0 0 10px 0;
	color: var(--judo-text);
	line-height: 1.3;
}

.judo-post-info p {
	margin: 10px 0 0 0;
	color: var(--judo-text-light);
	font-size: 14px;
	line-height: 1.5;
}

/* Category/Archive descriptions */
.judo-category-description,
.judo-archive-description {
	background: rgba(227, 30, 36, 0.05);
	border: 1px solid rgba(227, 30, 36, 0.2);
	border-radius: var(--judo-radius);
	padding: 20px;
	margin: 20px 0;
}

/* No posts message */
.judo-no-posts {
	text-align: center;
	padding: 40px 20px;
	color: var(--judo-text-light);
}

.judo-no-posts h3 {
	color: var(--judo-text);
	margin-bottom: 10px;
}

/* Gallery page - Full width */
.judo-gallery-fullwidth {
	background: var(--judo-bg);
	min-height: 100vh;
	margin: 0;
	padding: 0;
	width: 100%;
	position: relative;
	left: 0;
	right: 0;
}

/* Reset možných GeneratePress stylů pro galerii */
.page-template-page-galerie .site-content {
	padding: 0 !important;
	margin: 0 !important;
}

.page-template-page-galerie .content-area {
	padding: 0 !important;
	margin: 0 !important;
}

.judo-gallery-header {
	text-align: center;
	padding: 30px 0;
	border-bottom: 1px solid var(--judo-border);
	margin-bottom: 40px;
}

.judo-gallery-header h1 {
	font-family: 'Poppins', sans-serif;
	font-size: 32px;
	font-weight: 700;
	margin: 0 0 10px 0;
	color: var(--judo-text);
}

.judo-gallery-header p {
	color: var(--judo-text-light);
	margin: 0;
	font-size: 16px;
}

.judo-gallery-wide {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
	padding: 0 20px 40px 20px;
	width: 100%;
	box-sizing: border-box;
}

.judo-gallery-item {
	position: relative;
	aspect-ratio: 4/3;
	overflow: hidden;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.1);
	transition: transform 0.3s ease;
	cursor: pointer;
}

.judo-gallery-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.judo-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.judo-gallery-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, var(--judo-red) 0%, var(--judo-dark-red) 100%);
	opacity: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s ease;
}

.judo-gallery-item:hover .judo-gallery-overlay {
	opacity: 0.8;
}

.judo-gallery-item:hover img {
	transform: scale(1.1);
}

.judo-gallery-icon {
	font-size: 30px;
	color: white;
}

.judo-no-images {
	grid-column: 1 / -1;
	text-align: center;
	padding: 80px 20px;
	color: var(--judo-text-light);
}

.judo-no-images h3 {
	color: var(--judo-text);
	margin-bottom: 10px;
}

/* Lightbox styles */
.judo-lightbox-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}

.judo-lightbox-content {
	position: relative;
	max-width: 90%;
	max-height: 90%;
	text-align: center;
}

.judo-lightbox-image {
	max-width: 100%;
	max-height: 80vh;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.judo-lightbox-caption {
	color: white;
	margin-top: 15px;
	font-size: 16px;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}

.judo-lightbox-close {
	position: absolute;
	top: -40px;
	right: 0;
	background: none;
	border: none;
	color: white;
	font-size: 30px;
	cursor: pointer;
	padding: 5px;
	line-height: 1;
}

.judo-lightbox-close:hover {
	color: var(--judo-red);
}

.judo-lightbox-prev,
.judo-lightbox-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.2);
	border: none;
	color: white;
	font-size: 24px;
	cursor: pointer;
	padding: 15px 10px;
	border-radius: 5px;
	transition: background 0.3s ease;
}

.judo-lightbox-prev:hover,
.judo-lightbox-next:hover {
	background: rgba(255, 255, 255, 0.3);
}

.judo-lightbox-prev {
	left: -60px;
}

.judo-lightbox-next {
	right: -60px;
}

/* Responsive lightbox */
@media (max-width: 768px) {
	.judo-lightbox-prev,
	.judo-lightbox-next {
		position: fixed;
		top: auto;
		bottom: 20px;
		transform: none;
		padding: 10px 15px;
		font-size: 18px;
	}
	
	.judo-lightbox-prev {
		left: 20px;
	}
	
	.judo-lightbox-next {
		right: 20px;
	}
	
	.judo-lightbox-close {
		top: 20px;
		right: 20px;
	}
}

/* Kalendář */
.judo-calendar {
	background: var(--judo-surface);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	padding: 20px;
	box-shadow: var(--judo-shadow);
	width: 100%;
}

.judo-calendar h4 {
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: var(--font-bold);
	margin: 0 0 15px 0;
	color: var(--judo-text);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.judo-calendar-month {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
}

.judo-calendar-month span {
	font-weight: 600;
	color: var(--judo-text);
}

.judo-calendar-month button {
	background: none;
	border: none;
	font-size: 18px;
	cursor: pointer;
	color: var(--judo-red);
}

.judo-calendar-grid {
	width: 100%;
}

.judo-calendar-header {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
	margin-bottom: 5px;
}

.judo-calendar-header span {
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	color: var(--judo-text-light);
	padding: 5px;
}

.judo-calendar-days {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
}

.judo-calendar-days span {
	text-align: center;
	padding: 8px 4px;
	font-size: 14px;
	cursor: pointer;
	border-radius: 4px;
	transition: all 0.3s ease;
	position: relative;
}

.judo-calendar-days span.has-event {
	background-color: var(--judo-red);
	color: white;
	cursor: pointer;
	position: relative;
}

.judo-calendar-days span.has-event:hover {
	background-color: #d32f2f;
	transform: scale(1.05);
}

.judo-calendar-days span.has-event::after {
	content: '';
	position: absolute;
	bottom: 2px;
	left: 50%;
	transform: translateX(-50%);
	width: 4px;
	height: 4px;
	background-color: white;
	border-radius: 50%;
}

.judo-calendar-days span.today {
	background-color: transparent;
	color: var(--judo-red);
	font-weight: bold;
	border: 2px solid var(--judo-red);
	border-radius: 4px;
}

/* Zachovej pouze obrys i při hoveru aktuálního dne */
.judo-calendar-days span.today:hover {
	background-color: transparent;
	color: var(--judo-red);
}

/* Priorita: pokud má dnešek zároveň událost, zůstaň jen obrys */
.judo-calendar-days span.today.has-event,
.judo-calendar-days span.today.has-event:hover {
	background-color: transparent;
	color: var(--judo-red);
	border: 2px solid var(--judo-red);
}

.judo-calendar-days span:hover {
	background-color: var(--judo-red);
	color: white;
	cursor: pointer;
}

.judo-calendar-days span.selected {
	background-color: #1976d2;
	color: white;
	transform: scale(1.1);
	box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.judo-calendar-days span.has-event::after {
	content: '•';
	position: absolute;
	bottom: 2px;
	right: 50%;
	transform: translateX(50%);
	color: white;
	font-size: 12px;
	font-weight: bold;
}

.judo-calendar-note {
	font-size: 12px;
	color: var(--judo-text-light);
	margin: 10px 0 0 0;
	text-align: center;
}

/* Events inline display */
#judo-events-inline {
	margin-top: 15px;
	padding: 15px;
	background: var(--judo-bg-light);
	border-radius: var(--judo-radius);
	border-left: 4px solid var(--judo-red);
}

#judo-events-inline h5 {
	margin: 0 0 10px 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--judo-red);
}

.judo-event-item {
	margin-bottom: 8px;
	padding: 8px;
	background: var(--judo-surface);
	border-radius: 6px;
	border: 1px solid var(--judo-border);
}

.judo-event-item:last-child {
	margin-bottom: 0;
}

.event-title {
	color: var(--judo-text);
	text-decoration: none;
	font-weight: 500;
	font-size: 14px;
}

.event-title:hover {
	color: var(--judo-red);
	text-decoration: underline;
}

.event-tags {
	color: var(--judo-text-light);
	font-size: 12px;
	font-style: italic;
}

/* Events popup */
.judo-events-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.judo-events-content {
	background: white;
	border-radius: var(--judo-radius);
	padding: 25px;
	max-width: 500px;
	width: 90%;
	max-height: 80%;
	overflow-y: auto;
	position: relative;
}

.judo-events-close {
	position: absolute;
	top: 15px;
	right: 20px;
	font-size: 24px;
	cursor: pointer;
	color: var(--judo-text-light);
}

.judo-events-close:hover {
	color: var(--judo-red);
}

.judo-event-item {
	background: var(--judo-bg);
	border: 1px solid var(--judo-border);
	border-radius: 8px;
	padding: 15px;
	margin: 10px 0;
}

.judo-event-item h6 {
	margin: 0 0 8px 0;
	color: var(--judo-text);
}

.judo-event-item h6 a {
	color: var(--judo-red);
	text-decoration: none;
}

.judo-event-item h6 a:hover {
	text-decoration: underline;
}

.judo-event-item p {
	margin: 0 0 8px 0;
	color: var(--judo-text-light);
	font-size: 14px;
}

.judo-event-item small {
	color: var(--judo-text-light);
	font-size: 12px;
}

/* Sponzoři */
.judo-sponsors {
	background: var(--judo-surface);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	padding: 20px;
	box-shadow: var(--judo-shadow);
}

.judo-sponsor-logos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
	gap: 15px;
	align-items: center;
}

.judo-sponsor {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	border: 1px dashed var(--judo-border);
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.3s ease;
	min-height: 50px;
}

.judo-sponsor:hover {
	border-color: var(--judo-red);
	background: rgba(227, 30, 36, 0.05);
}

.judo-sponsor img {
	max-width: 100%;
	max-height: 40px;
	object-fit: contain;
}

.judo-sponsor span {
	color: var(--judo-text-light);
	font-size: 12px;
	font-weight: 600;
}

/* Single post styles */
.judo-breadcrumb {
	margin: 20px 0;
}

.judo-back-btn {
	color: var(--judo-red);
	text-decoration: none;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.judo-back-btn:hover {
	text-decoration: underline;
}

.judo-single-post {
	background: var(--judo-surface);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	padding: 40px;
	box-shadow: var(--judo-shadow);
	margin-bottom: 40px;
}

.judo-post-header {
	margin-bottom: 30px;
}

.judo-post-featured-image {
	margin-bottom: 20px;
}

.judo-post-featured-image img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	border-radius: var(--judo-radius);
}

.judo-post-meta {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 15px;
}

.judo-post-date {
	color: var(--judo-text-light);
	font-size: 14px;
}

.judo-category {
	background: var(--judo-red);
	color: white;
	padding: 4px 8px;
	border-radius: 4px;
	font-size: 12px;
	text-transform: uppercase;
	font-weight: 600;
}

.judo-post-title {
	font-family: 'Poppins', sans-serif;
	font-size: 32px;
	font-weight: 700;
	margin: 0;
	color: var(--judo-text);
	line-height: 1.2;
}

.judo-post-content {
	line-height: 1.8;
	margin-bottom: 30px;
}

.judo-post-content h2,
.judo-post-content h3,
.judo-post-content h4 {
	font-family: 'Poppins', sans-serif;
	color: var(--judo-text);
	margin: 30px 0 15px 0;
}

.judo-post-content p {
	margin-bottom: 20px;
}

.judo-post-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--judo-radius);
	margin: 20px 0;
}

.judo-post-content a {
	color: var(--judo-red);
	text-decoration: underline;
}

.judo-post-content a:hover {
	color: var(--judo-dark-red);
}

.judo-post-footer {
	border-top: 1px solid var(--judo-border);
	padding-top: 20px;
}

.judo-post-tags {
	color: var(--judo-text-light);
	font-size: 14px;
}

.judo-post-tags a {
	color: var(--judo-red);
	text-decoration: none;
}

.judo-post-tags a:hover {
	text-decoration: underline;
}

/* Related posts */
.judo-related-posts {
	margin-top: 40px;
}

.judo-related-posts h3 {
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 20px 0;
	color: var(--judo-text);
}

.judo-related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
}

.judo-related-item {
	background: var(--judo-surface);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	overflow: hidden;
	transition: all 0.3s ease;
}

.judo-related-item:hover {
	transform: translateY(-5px);
	box-shadow: var(--judo-shadow);
}

.judo-related-item a {
	text-decoration: none;
	color: inherit;
	display: block;
}

.judo-related-image {
	height: 150px;
	overflow: hidden;
}

.judo-related-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.judo-related-item:hover .judo-related-image img {
	transform: scale(1.05);
}

.judo-related-content {
	padding: 15px;
}

.judo-related-content h4 {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 8px 0;
	color: var(--judo-text);
}

.judo-related-content time {
	font-size: 12px;
	color: var(--judo-text-light);
}

/* Page specific styles */
.judo-page-excerpt {
	display: none !important; /* Skryt červený warning bar */
	background: rgba(227, 30, 36, 0.05);
	border-left: 4px solid var(--judo-red);
	padding: 15px 20px;
	margin: 20px 0;
	border-radius: 0 8px 8px 0;
}

/* =================== TRENÉŘI (COACHES) =================== */
.judo-coaches-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
    margin-top: 10px;
    align-items: stretch; /* Zajistí stejnou výšku všech karet */
}

.judo-coach-card {
    background: var(--judo-surface);
    border: none; /* odstraněn horní 1px rámeček, který vypadal jako bílý pruh */
    border-radius: 14px;
    box-shadow: var(--judo-shadow);
    overflow: visible; /* Umožní kartě se rozšířit podle obsahu */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    will-change: transform;
    padding: 0; /* žádné vnitřní odsazení nahoře */
    line-height: 0; /* zruš veškeré kolabující mezery u prvního prvku */
    display: flex;
    flex-direction: column; /* Umožní flexibilní rozložení obsahu */
    /* height: 100%; - odstraněno, aby se karta mohla rozšířit */
}

.judo-coach-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

.judo-coach-photo {
    flex-shrink: 0; /* Fotka se nebude smršťovat */
    background: transparent; /* bez černého obdélníku */
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
    line-height: 0; /* eliminuje bílý proužek u horní hrany */
    display: block;
    margin: 0;
    position: relative;
    overflow: hidden; /* Ořízne fotku podle zaoblených rohů */
    /* Odstraníme pevnou výšku, aby se fotka přizpůsobila obsahu */
}

.judo-coach-photo img {
    width: 100%;
    height: auto; /* Zachová poměr stran fotky */
    /* max-height: 300px; - odstraněno aby se fotky zobrazovaly celé */
    object-fit: contain; /* Zobrazí celou fotku bez ořezání */
    object-position: center;
    display: block;
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
}

/* Obnov normální line-height pro textové části karty */
.judo-coach-header, .judo-coach-details { line-height: 1.5; }

.judo-coach-header {
    padding: 16px 18px 0 18px;
}

.judo-coach-header h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
}

.judo-coach-details {
    padding: 12px 18px 26px 18px;
    color: var(--judo-text);
    flex-grow: 1; /* Roztáhne obsah aby vyplnil dostupné místo */
}

/* Spodní vzduch pro poslední prvky uvnitř detailů */
.judo-coach-details > *:last-child {
    margin-bottom: 0;
    padding-bottom: 2px;
}

.judo-coach-details ul,
.judo-coach-details p {
    margin-bottom: 10px;
}

.judo-coach-details p:last-child {
    margin-bottom: 0;
}

.judo-coach-actions {
    padding: 14px 16px 16px 16px;
}

.judo-coach-toggle {
    display: inline-block;
    background: var(--judo-red);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 10px 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease;
}

.judo-coach-toggle:hover {
	background: var(--judo-dark-red);
}

/* Detaily stále viditelné bez rozbalování */
.judo-coach-card .judo-coach-details {
    /* zobraz plný text */
    display: block;
    overflow: visible;
    position: static;
}

.judo-coach-card .judo-coach-details:after {
    display: none;
}

/* Skryj akce/tlačítko */
.judo-coach-actions { display: none; }

/* Desktop - omezení max-height jen pro velké obrazovky */
@media (min-width: 769px) {
    .judo-coach-photo img {
        max-height: 300px; /* Omezení jen na desktopu */
    }
}

/* Responzivní design pro mobilní zařízení */
@media (max-width: 768px) {
    .judo-coaches-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
    }
    
    .judo-coach-photo {
        margin-bottom: 16px; /* Větší mezera mezi fotkou a obsahem */
    }
    
    .judo-coach-photo img {
        max-height: 280px; /* Větší fotky na tabletech */
    }
}

@media (max-width: 600px) {
    .judo-coaches-grid {
        grid-template-columns: 1fr; /* Jedna karta na řádek na mobilech */
        gap: 20px; /* Větší mezery mezi kartami */
    }
    
    .judo-coach-card {
        min-height: 550px !important; /* Větší minimální výška pro velké fotky */
        height: auto !important; /* Umožní kartě se rozšířit */
    }
    
    .judo-coach-photo {
        margin-bottom: 24px !important; /* Velká mezera mezi fotkou a textem */
        position: relative;
        z-index: 1;
    }
    
    .judo-coach-photo img {
        max-height: none !important; /* Bez omezení výšky - zobrazí celou fotku */
        object-fit: contain !important; /* Zobrazí celou fotku bez ořezání */
        height: auto !important; /* Zachová původní poměr stran */
    }
    
    .judo-coach-header {
        padding: 16px 16px 0 16px !important; /* Více prostoru pro hlavičku */
        position: relative;
        z-index: 2;
    }
    
    .judo-coach-details {
        padding: 12px 16px 24px 16px !important; /* Více prostoru pro detaily */
        position: relative;
        z-index: 2;
        flex-grow: 1;
    }
}

@media (max-width: 480px) {
    .judo-coach-card {
        min-height: 500px !important; /* Větší minimální výška i pro malé mobily */
        height: auto !important; /* Umožní kartě se rozšířit */
    }
    
    .judo-coach-photo {
        margin-bottom: 18px; /* Velká mezera mezi fotkou a obsahem */
    }
    
    .judo-coach-photo img {
        max-height: none !important; /* Bez omezení výšky - zobrazí celou fotku */
        object-fit: contain !important; /* Zobrazí celou fotku bez ořezání */
        height: auto !important; /* Zachová původní poměr stran */
    }
    
    .judo-coaches-grid {
        gap: 16px; /* Větší mezery mezi kartami */
    }
    
    .judo-coach-header {
        padding: 10px 16px 0 16px; /* Dostatečný padding */
    }
    
    .judo-coach-details {
        padding: 10px 16px 20px 16px; /* Dostatečný padding */
    }
}

.judo-page-excerpt p {
	margin: 0;
	font-style: italic;
	color: var(--judo-text-light);
}

/* Contact info styles */
.judo-contact-info {
	background: var(--judo-bg);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	padding: 30px;
	margin: 30px 0;
}

.judo-contact-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 25px;
	margin-top: 20px;
}

.judo-contact-item h4 {
	color: var(--judo-red);
	font-size: 18px;
	margin: 0 0 10px 0;
	font-weight: 600;
}

.judo-contact-item p {
	margin: 0;
	line-height: 1.6;
}

/* Category/Archive post grid */
.judo-posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 25px;
	margin: 30px 0;
}

.judo-category-post-item {
	background: var(--judo-surface);
	border: 1px solid var(--judo-border);
	border-radius: var(--judo-radius);
	overflow: hidden;
	transition: all 0.3s ease;
	box-shadow: var(--judo-shadow);
}

.judo-category-post-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.judo-category-post-item a {
	text-decoration: none;
	color: inherit;
	display: block;
}

.judo-post-thumbnail {
	height: 200px;
	overflow: hidden;
}

.judo-post-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.judo-category-post-item:hover .judo-post-thumbnail img {
	transform: scale(1.05);
}

.judo-post-info {
	padding: 20px;
}

.judo-post-info h3 {
	font-size: 18px;
	font-weight: 600;
	margin: 0 0 10px 0;
	color: var(--judo-text);
	line-height: 1.3;
}

.judo-post-info p {
	margin: 10px 0 0 0;
	color: var(--judo-text-light);
	font-size: 14px;
	line-height: 1.5;
}

/* Category/Archive descriptions */
.judo-category-description,
.judo-archive-description {
	background: rgba(227, 30, 36, 0.05);
	border: 1px solid rgba(227, 30, 36, 0.2);
	border-radius: var(--judo-radius);
	padding: 20px;
	margin: 20px 0;
}

/* No posts message */
.judo-no-posts {
	text-align: center;
	padding: 40px 20px;
	color: var(--judo-text-light);
}

.judo-no-posts h3 {
	color: var(--judo-text);
	margin-bottom: 10px;
}

/* Gallery page - Full width */
.judo-gallery-fullwidth {
	background: var(--judo-bg);
	min-height: 100vh;
	margin: 0;
	padding: 0;
	width: 100%;
	position: relative;
	left: 0;
	right: 0;
}

/* Reset možných GeneratePress stylů pro galerii */
.page-template-page-galerie .site-content {
	padding: 0 !important;
	margin: 0 !important;
}

.page-template-page-galerie .content-area {
	padding: 0 !important;
	margin: 0 !important;
}

.judo-gallery-header {
	text-align: center;
	padding: 30px 0;
	border-bottom: 1px solid var(--judo-border);
	margin-bottom: 40px;
}

.judo-gallery-header h1 {
	font-family: 'Poppins', sans-serif;
	font-size: 32px;
	font-weight: 700;
	margin: 0 0 10px 0;
	color: var(--judo-text);
}

.judo-gallery-header p {
	color: var(--judo-text-light);
	margin: 0;
	font-size: 16px;
}

.judo-gallery-wide {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
	padding: 0 20px 40px 20px;
	width: 100%;
	box-sizing: border-box;
}

.judo-gallery-item {
	position: relative;
	aspect-ratio: 4/3;
	overflow: hidden;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.1);
	transition: transform 0.3s ease;
	cursor: pointer;
}

.judo-gallery-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.judo-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.judo-gallery-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, var(--judo-red) 0%, var(--judo-dark-red) 100%);
	opacity: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s ease;
}

.judo-gallery-item:hover .judo-gallery-overlay {
	opacity: 0.8;
}

.judo-gallery-item:hover img {
	transform: scale(1.1);
}

.judo-gallery-icon {
	font-size: 30px;
	color: white;
}

.judo-no-images {
	grid-column: 1 / -1;
	text-align: center;
	padding: 80px 20px;
	color: var(--judo-text-light);
}

.judo-no-images h3 {
	color: var(--judo-text);
	margin-bottom: 10px;
}

/* Lightbox styles */
.judo-lightbox-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}

.judo-lightbox-container {
	position: relative;
	max-width: 90%;
	max-height: 90%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.judo-lightbox-image {
	max-width: 100%;
	max-height: 80vh;
	object-fit: contain;
	border-radius: 8px;
}

.judo-lightbox-close,
.judo-lightbox-prev,
.judo-lightbox-next {
	position: absolute;
	background: rgba(255, 255, 255, 0.2);
	border: none;
	color: white;
	font-size: 24px;
	font-weight: bold;
	cursor: pointer;
	padding: 10px 15px;
	border-radius: 50%;
	transition: background 0.3s ease;
}

.judo-lightbox-close:hover,
.judo-lightbox-prev:hover,
.judo-lightbox-next:hover {
	background: rgba(255, 255, 255, 0.3);
}

.judo-lightbox-close {
	top: -50px;
	right: 0;
}

.judo-lightbox-prev {
	left: -60px;
	top: 50%;
	transform: translateY(-50%);
}

.judo-lightbox-next {
	right: -60px;
	top: 50%;
	transform: translateY(-50%);
}

.judo-lightbox-caption {
	color: white;
	text-align: center;
	margin-top: 15px;
	font-size: 16px;
}

.judo-lightbox-counter {
	color: rgba(255, 255, 255, 0.7);
	text-align: center;
	margin-top: 5px;
	font-size: 14px;
}

/* GeneratePress overrides */
.site-footer {
	display: none !important;
}

.footer-widgets {
	display: none !important;
}

/* Responsive */
/* =================== FOOTER =================== */
body .judo-footer,
.judo-footer {
	background: #000000 !important;
	color: white !important;
	margin: 60px 0 0 0 !important;
	padding: 0 !important;
	position: relative !important;
	clear: both !important;
	width: 100vw !important;
	max-width: none !important;
	display: block !important;
	float: none !important;
	left: 0 !important;
	right: 0 !important;
	top: auto !important;
	bottom: auto !important;
	margin-left: calc(-50vw + 50%) !important;
}

.judo-footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--judo-red) 0%, var(--judo-dark-red) 100%);
}

body .judo-footer-container,
.judo-footer-container {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 0 20px !important;
	width: 100% !important;
	position: relative !important;
	box-sizing: border-box !important;
}

.judo-footer-main {
	display: grid;
	grid-template-columns: 2fr 1.5fr 1.5fr;
	gap: 40px;
	padding: 30px 0 20px 0;
	align-items: start;
}

.judo-footer-section h3,
.judo-footer-section h4 {
	color: var(--judo-red);
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	margin: 0 0 15px 0;
	font-size: 16px;
}

.judo-footer-section h3 {
	font-size: 18px;
	margin-bottom: 10px;
}

.judo-footer-section p {
	color: rgba(255,255,255,0.8);
	line-height: 1.5;
	margin-bottom: 15px;
	font-size: 14px;
}

.judo-footer-logo {
	width: 50px;
	height: 50px;
	margin-bottom: 15px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.judo-footer-logo img,
.judo-footer-logo .custom-logo {
	max-width: 50px !important;
	max-height: 50px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	filter: brightness(0) invert(1) !important;
}

/* Sociální sítě */
.judo-social-links {
	display: flex;
	gap: 15px;
	margin-top: 20px;
}

.judo-social-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	background: rgba(227, 30, 36, 0.1);
	border: 1px solid var(--judo-red);
	border-radius: 50%;
	color: var(--judo-red);
	transition: all 0.3s ease;
	text-decoration: none;
}

.judo-social-links a:hover {
	background: var(--judo-red);
	color: white;
	transform: translateY(-2px);
}

/* Kontaktní info */
.judo-contact-item {
	margin-bottom: 15px;
	color: rgba(255,255,255,0.9);
	line-height: 1.5;
}

.judo-contact-item strong {
	color: white;
	display: block;
	margin-bottom: 5px;
}

.judo-contact-item a {
	color: var(--judo-red);
	text-decoration: none;
}

.judo-contact-item a:hover {
	text-decoration: underline;
}

/* Quick links */
.judo-footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.judo-footer-links li {
	margin-bottom: 10px;
}

.judo-footer-links a {
	color: rgba(255,255,255,0.8);
	text-decoration: none;
	transition: color 0.3s ease;
}

.judo-footer-links a:hover {
	color: var(--judo-red);
}

/* Sponzoři v footeru */
.judo-footer-sponsors-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin-top: 10px;
}

.judo-footer-sponsor {
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 6px;
	padding: 8px;
	text-align: center;
	transition: all 0.3s ease;
}

.judo-footer-sponsor:hover {
	background: rgba(255,255,255,0.1);
	border-color: var(--judo-red);
}

.judo-footer-sponsor img {
	max-width: 100%;
	max-height: 25px;
	object-fit: contain;
	filter: brightness(0) invert(1);
	opacity: 0.8;
	transition: opacity 0.3s ease;
}

.judo-footer-sponsor:hover img {
	opacity: 1;
}

.sponsor-placeholder {
	color: rgba(255,255,255,0.6);
	font-size: 12px;
	padding: 0;
	max-width: 120px;
	max-height: 60px;
	min-width: 80px;
	min-height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* Sponzoři horizontálně */
.judo-footer-sponsors-section {
	background: rgba(0,0,0,0.2);
	border-top: 1px solid rgba(255,255,255,0.1);
	padding: 30px 0;
	overflow: visible !important;
}

/* Nový jednoduchý přístup pro sponzory */
.judo-footer-partners-title {
	font-family: 'Poppins', Inter, sans-serif !important;
	font-weight: 700 !important;
	font-size: 22px !important;
	color: var(--judo-red) !important;
	text-align: center !important;
	margin: 0 0 20px 0 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.judo-sponsors-simple {
	text-align: center;
	padding: 30px 0;
}

.sponsor-logo {
	max-width: 150px;
	height: auto;
	margin: 0 25px 15px 25px;
	opacity: 0.9;
	vertical-align: middle;
	display: inline;
	filter: brightness(0) invert(1);
}

.sponsor-link {
	display: inline-block;
	margin: 0 25px 15px 25px;
}

.sponsor-link .sponsor-logo {
	margin: 0;
}

.sponsor-text {
	color: rgba(255,255,255,0.6);
	font-size: 14px;
	margin: 0 25px 15px 25px;
	display: inline-block;
	vertical-align: middle;
}

/* Footer spodní lišta */
.judo-footer-bottom {
	background: rgba(0,0,0,0.3);
	border-top: 1px solid rgba(255,255,255,0.1);
}

.judo-footer-bottom-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 0;
	flex-wrap: wrap;
	gap: 15px;
}

.judo-footer-copyright p {
	margin: 0;
	color: rgba(255,255,255,0.7);
	font-size: 14px;
	line-height: 1.4;
}

.judo-footer-dev {
	margin-top: 5px !important;
	font-size: 12px !important;
}

.judo-footer-copyright a {
	color: var(--judo-red);
	text-decoration: none;
}

.judo-footer-copyright a:hover {
	text-decoration: underline;
}

.judo-footer-legal {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
}

.judo-footer-legal a {
	color: rgba(255,255,255,0.7);
	text-decoration: none;
	font-size: 14px;
	transition: color 0.3s ease;
}

.judo-footer-legal a:hover {
	color: var(--judo-red);
}

.judo-footer-legal .separator {
	color: rgba(255,255,255,0.3);
}

/* Cookie banner CSS odstraněn - používá se plugin Cookie Notice & Compliance for GDPR / CCPA */

@media (max-width: 768px) {
	.judo-nav-item {
		font-size: 11px;
		padding: 4px 8px;
	}
	
	.judo-hero-content h2 {
		font-size: 28px;
		margin-bottom: 15px; /* Zmenšeno pro mobile */
	}
	
	/* Úvodní text na mobile */
	.judo-hero-intro {
		font-size: 14px;
		line-height: 1.5;
		margin-bottom: 20px;
		max-width: 100%;
	}
	
	.judo-hero-content {
		padding: 15px;
	}
	
	.judo-gallery {
		grid-template-columns: 1fr;
	}
	
	.judo-calendar-days span {
		padding: 6px 2px;
		font-size: 12px;
	}
	
	/* Footer mobile */
	.judo-footer-main {
		grid-template-columns: 1fr;
		gap: 30px;
		padding: 30px 0 20px 0;
	}
	
	.judo-footer-sponsors-horizontal {
		gap: 15px;
	}
	
	.judo-footer-sponsor-item {
		margin: 0 10px;
	}
	
	.judo-footer-sponsor-item img {
		max-width: 100px;
		max-height: 50px;
		width: auto;
		height: auto;
	}
	
	.judo-footer-bottom-content {
		flex-direction: column;
		text-align: center;
		gap: 15px;
	}
	
	.judo-footer-legal {
		justify-content: center;
	}
	
	/* Cookie banner CSS odstraněn - používá se plugin Cookie Notice & Compliance for GDPR / CCPA */
}

@media (max-width: 480px) {
	.judo-nav-item {
		font-size: 11px;
		padding: 4px 8px;
	}
	
	.judo-hero-content h2 {
		font-size: 24px; /* Zmenšeno z 28px */
		margin-bottom: 12px;
	}
	
	/* Úvodní text na velmi malých obrazovkách */
	.judo-hero-intro {
		font-size: 13px;
		line-height: 1.4;
		margin-bottom: 18px;
	}
	
	.judo-hero-content {
		padding: 15px;
	}
	
	.judo-gallery {
		grid-template-columns: 1fr;
	}
	
	.judo-calendar-days span {
		padding: 6px 2px;
		font-size: 12px;
	}
	
	/* Footer mobile */
	.judo-footer-main {
		grid-template-columns: 1fr;
		gap: 30px;
		padding: 30px 0 20px 0;
	}
	
	.judo-footer-sponsors-horizontal {
		gap: 15px;
	}
	
	.judo-footer-sponsor-item {
		margin: 0 10px;
	}
	
	.judo-footer-sponsor-item img {
		max-width: 100px;
		max-height: 50px;
		width: auto;
		height: auto;
	}
	
	.judo-footer-bottom-content {
		flex-direction: column;
		text-align: center;
		gap: 15px;
	}
	
	.judo-footer-legal {
		justify-content: center;
	}
	
	/* Cookie banner CSS odstraněn - používá se plugin Cookie Notice & Compliance for GDPR / CCPA */
}

/* Hero title styling - lepší font a barevnost */
.judo-hero-title {
	font-family: 'Oswald', 'Poppins', sans-serif !important;
	font-weight: 800 !important;
	font-size: 4rem !important;
	line-height: 0.9 !important;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
	letter-spacing: 2px !important;
	margin: 0 0 20px 0 !important;
}

.judo-word-black {
	color: #000000 !important;
}

.judo-word-white {
	color: #ffffff !important;
}

.judo-word-red {
	color: var(--judo-red) !important;
}

/* Header title styling */
.judo-header-title {
	font-family: 'Oswald', 'Poppins', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.2rem !important;
	line-height: 1 !important;
	letter-spacing: 1px !important;
	margin: 0 !important;
}

/* Gallery loading state */
.judo-gallery-wide.loading {
	opacity: 0.6;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.judo-gallery-pagination.loading {
	opacity: 0.6;
	pointer-events: none;
}

/* News loading state */
.judo-news-item.loading {
	position: relative;
	opacity: 0.6;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.judo-news-list.loading {
	position: relative;
	opacity: 0.6;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

/* AJAX Loading Animations */
.judo-loading-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(4px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 100;
	border-radius: 12px;
}

/* Loading text */
.judo-loading-text {
	color: var(--judo-red);
	font-weight: 600;
	font-size: 14px;
	margin-top: 15px;
	text-align: center;
}

/* Gallery specific loading */
.judo-gallery-wide.loading .judo-loading-overlay {
	background: rgba(255, 255, 255, 0.95);
}

.judo-gallery-pagination.loading .judo-loading-overlay {
	background: rgba(255, 255, 255, 0.9);
}

/* News specific loading */
.judo-news-item.loading .judo-loading-overlay {
	background: rgba(255, 255, 255, 0.9);
	border-radius: 8px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
}

.judo-news-list.loading .judo-loading-overlay {
	background: rgba(255, 255, 255, 0.95);
	border-radius: 12px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
}

/* Ensure expanded content is visible even during loading */
.judo-news-item.loading.expanded .judo-news-expanded {
	display: block !important; /* Force display when expanded */
	position: relative;
	z-index: 5;
}

/* Prevent loading overlay from interfering with expanded content */
.judo-news-item.loading.expanded .judo-loading-overlay {
	z-index: 15; /* Higher than expanded content */
}

/* Responsive loading */
@media (max-width: 768px) {
	.judo-loading-text {
		font-size: 13px;
	}
}

/* Gallery pagination */
.judo-gallery-pagination {
	text-align: center;
	margin: 40px 0;
	padding: 0 20px;
}

.judo-gallery-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.judo-gallery-pagination .page-numbers li {
	margin: 0;
}

.judo-gallery-pagination .page-numbers a,
.judo-gallery-pagination .page-numbers span {
	display: inline-block;
	padding: 10px 15px;
	border: 1px solid var(--judo-border);
	border-radius: 6px;
	color: var(--judo-text);
	text-decoration: none;
	font-size: 14px;
	transition: all 0.3s ease;
	min-width: 40px;
	text-align: center;
}

.judo-gallery-pagination .page-numbers a:hover {
	background: var(--judo-red);
	color: white;
	border-color: var(--judo-red);
	transform: translateY(-2px);
}

.judo-gallery-pagination .page-numbers .current {
	background: var(--judo-red);
	color: white;
	border-color: var(--judo-red);
	font-weight: 600;
}

.judo-gallery-pagination .page-numbers .prev,
.judo-gallery-pagination .page-numbers .next {
	font-weight: 600;
	background: var(--judo-red);
	color: white;
	border-color: var(--judo-red);
}

.judo-gallery-pagination .page-numbers .prev:hover,
.judo-gallery-pagination .page-numbers .next:hover {
	background: var(--judo-dark-red);
	border-color: var(--judo-dark-red);
}

/* =================== RESPONSIVE DESIGN - MOBILE FIRST =================== */

/* Base responsive adjustments */
@media (max-width: 1200px) {
	.judo-container {
		max-width: 100%;
		padding: 15px;
	}
	
	.judo-header {
		gap: 20px;
		margin-bottom: 20px;
	}
	
	.judo-main-logo img, 
	.judo-brand .judo-main-logo img, 
	.judo-brand .custom-logo, 
	.judo-brand .custom-logo img, 
	.custom-logo-link img {
		height: 100px !important;
		max-width: 350px !important;
		max-height: 100px !important;
	}
	
	.judo-title h1 {
		font-size: 20px;
	}
	
	.judo-title span {
		font-size: 16px;
	}
}

@media (max-width: 992px) {
	.judo-container {
		padding: 12px;
	}
	
	.judo-header {
		flex-direction: column;
		gap: 15px;
		text-align: center;
		margin-bottom: 15px;
	}
	
	.judo-main-logo img, 
	.judo-brand .judo-main-logo img, 
	.judo-brand .custom-logo, 
	.judo-brand .custom-logo img, 
	.custom-logo-link img {
		height: 90px !important;
		max-width: 300px !important;
		max-height: 90px !important;
	}
	
	.judo-title h1 {
		font-size: 18px;
	}
	
	.judo-title span {
		font-size: 14px;
	}
	
	/* Navigation adjustments */
	.judo-nav-elegant {
		padding: 15px 60px;
		border-radius: 30px;
		max-width: 100%;
	}
	
	.judo-nav-elegant .menu {
		gap: 8px;
	}
	
	.judo-nav-elegant .menu > li > a {
		padding: 10px 16px;
		font-size: 13px;
		border-radius: 18px;
	}
	
	/* Hero section adjustments */
	.judo-hero-fullwidth {
		min-height: 350px;
	}
	
	.judo-hero-wrapper {
		padding: 30px 15px;
		min-height: 350px;
	}
	
	.judo-hero-content {
		max-width: 100%;
		padding-right: 0;
		text-align: center;
	}
	
	.judo-hero-content h2 {
		font-size: 36px;
		margin-bottom: 15px;
	}
	
	.judo-hero-intro {
		font-size: 15px;
		margin-bottom: 20px;
		max-width: 100%;
	}
	
	/* Main content adjustments */
	.judo-main-content {
		grid-template-columns: 1fr;
		gap: 25px;
		margin-bottom: 25px;
	}
	
	/* Sidebar adjustments for better balance */
	.judo-sidebar {
		gap: 20px;
	}
	
	.judo-calendar,
	.judo-kravare {
		padding: 15px;
		text-align: center;
	}
	
	/* Odstraněno - nepoužívá se */
	
	.judo-highlight-card {
		padding: 20px;
	}
	
	.judo-highlight-card h4 {
		font-size: 16px;
	}
	
	/* News adjustments */
	.judo-news-item {
		margin-bottom: 10px;
	}
	
	.judo-news-preview {
		padding: 12px;
		gap: 12px;
	}
	
	.judo-news-image {
		width: 70px;
		height: 50px;
	}
	
	.judo-news-content h4 {
		font-size: 15px;
	}
	
	.judo-news-content p {
		font-size: 13px;
	}
	
	.judo-news-expanded {
		padding: 15px;
		display: none; /* Hidden by default on mobile */
	}
	
	.judo-news-item.expanded .judo-news-expanded {
		display: block !important; /* Force display when expanded on mobile */
		position: relative;
		z-index: 5;
	}
	
	/* Gallery adjustments */
	.judo-gallery-wide {
		grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
		gap: 15px;
		padding: 0 15px 30px 15px;
	}
	
	.judo-gallery-header {
		padding: 20px 0;
		margin-bottom: 25px;
	}
	
	.judo-gallery-header h1 {
		font-size: 28px;
	}
	
	.judo-gallery-header p {
		font-size: 14px;
	}
	
	/* Footer adjustments */
	.judo-footer-main {
		grid-template-columns: 1fr;
		gap: 25px;
		padding: 25px 0 15px 0;
	}
	
	.judo-footer-container {
		padding: 0 15px !important;
	}
	
	.judo-sponsors-simple {
		padding: 20px 0;
	}
	
	.sponsor-logo {
		max-width: 120px;
		margin: 0 15px 10px 15px;
	}
	
	.judo-footer-bottom-content {
		flex-direction: column;
		text-align: center;
		gap: 10px;
	}
}

@media (max-width: 768px) {
	.judo-container {
		padding: 10px;
	}
	
	.judo-header {
		gap: 12px;
		margin-bottom: 12px;
		margin-top: 15px;
	}
	
	.judo-main-logo img, 
	.judo-brand .judo-main-logo img, 
	.judo-brand .custom-logo, 
	.judo-brand .custom-logo img, 
	.custom-logo-link img {
		height: 80px !important;
		max-width: 280px !important;
		max-height: 80px !important;
	}
	
	.judo-title h1 {
		font-size: 16px;
	}
	
	.judo-title span {
		font-size: 12px;
	}
	
	/* Navigation mobile */
	.judo-nav-elegant {
		padding: 12px 20px;
		border-radius: 25px;
		margin: 0 10px;
		max-width: calc(100% - 20px);
		position: relative;
	}
	
	/* Hamburger menu button */
	.judo-hamburger {
		display: none !important; /* Skryto na větších obrazovkách */
		width: 30px;
		height: 30px;
		background: none;
		border: none;
		cursor: pointer;
		padding: 0;
		position: relative;
		z-index: 10001;
	}
	
	.judo-hamburger span {
		display: none !important; /* Skryto na desktopu */
		width: 100%;
		height: 3px;
		background: white;
		margin: 6px 0;
		transition: all 0.3s ease;
		border-radius: 2px;
	}
	
	/* Hamburger animation */
	.judo-hamburger.active span:nth-child(1) {
		transform: rotate(45deg) translate(6px, 6px);
	}
	
	.judo-hamburger.active span:nth-child(2) {
		opacity: 0;
	}
	
	.judo-hamburger.active span:nth-child(3) {
		transform: rotate(-45deg) translate(6px, -6px);
	}
	
	/* Mobile menu */
	.judo-nav-elegant .menu {
		display: flex; /* Normální zobrazení na větších obrazovkách */
		position: static;
		background: transparent;
		backdrop-filter: none;
		border-radius: 0;
		padding: 0;
		margin-top: 0;
		box-shadow: none;
		flex-direction: row;
		gap: 4px;
		z-index: auto;
	}
	
	/* Hamburger menu na mobilech */
	@media (max-width: 768px) {
		.judo-hamburger {
			display: block !important; /* Zobrazeno pouze na mobilech */
		}
		
		.judo-hamburger span {
			display: block !important; /* Zobrazeno pouze na mobilech */
		}
		
		.judo-nav-elegant .menu {
			display: none;
			position: absolute;
			top: 100%;
			left: 0;
			right: 0;
			background: rgba(0,0,0,0.95);
			backdrop-filter: blur(20px);
			border-radius: 16px;
			padding: 20px;
			margin-top: 10px;
			box-shadow: 0 25px 50px rgba(0,0,0,0.5);
			flex-direction: column;
			gap: 8px;
			z-index: 10000;
		}
		
		.judo-nav-elegant .menu.active {
			display: flex;
		}
	}
	
	/* Menu items na mobilech */
	@media (max-width: 768px) {
		.judo-nav-elegant .menu > li {
			width: 100%;
		}
		
		.judo-nav-elegant .menu > li > a {
			width: 100%;
			padding: 12px 16px;
			font-size: 14px;
			border-radius: 12px;
			text-align: center;
			background: rgba(255,255,255,0.1);
			border: 1px solid rgba(255,255,255,0.2);
			transition: all 0.3s ease;
		}
		
		.judo-nav-elegant .menu > li > a:hover {
			background: rgba(255,255,255,0.2);
			transform: translateX(4px);
		}
	}
	
	/* Submenu mobile */
	.judo-nav-elegant .sub-menu {
		top: calc(100% + 8px);
		min-width: 160px;
		padding: 10px 12px;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
	}
	
	.judo-nav-elegant .sub-menu > li > a {
		padding: 8px 12px;
		font-size: 12px;
	}
	
	/* Hero section mobile */
	.judo-hero-fullwidth {
		min-height: 300px;
		margin-bottom: 25px;
		position: relative;
	}
	
	.judo-hero-wrapper {
		flex-direction: column;
		padding: 25px 10px;
		min-height: 300px;
		position: relative;
		z-index: 2;
	}
	
	/* Dark overlay for better text readability */
	.judo-hero-wrapper::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: transparent; /* remove dark overlay on mobile */
		z-index: 1;
	}
	
	.judo-hero-content {
		max-width: 100%;
		padding: 20px;
		background: transparent; /* remove dark card on mobile */
		border-radius: 12px;
		z-index: 3;
		position: relative;
		backdrop-filter: none;
		border: none;
	}
	
	.judo-hero-content h2 {
		font-size: 28px;
		margin-bottom: 12px;
		color: white;
		text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
	}
	
	.judo-hero-intro {
		font-size: 14px;
		line-height: 1.5;
		margin-bottom: 18px;
		max-width: 100%;
		color: rgba(255, 255, 255, 0.9);
		text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
		text-align: center !important;
	}
	
	.judo-hero-btn {
		padding: 12px 24px;
		font-size: 14px;
		background: rgba(227, 30, 36, 0.9);
		border: 2px solid rgba(255, 255, 255, 0.3);
	}
	
	/* Hero image mobile - full width slideshow */
	body .judo-hero-fullwidth .judo-hero-image,
	.judo-hero-fullwidth .judo-hero-wrapper .judo-hero-image,
	.judo-hero-image {
		left: 0 !important;
		width: 100% !important;
		z-index: 0 !important;
	}
	
	body .judo-hero-fullwidth .judo-hero-image .hero-slide,
	.judo-hero-fullwidth .judo-hero-wrapper .judo-hero-image .hero-slide,
	.judo-hero-image .hero-slide {
		left: 0 !important;
		width: 100% !important;
		opacity: 1 !important;
	}
	
	body .judo-hero-fullwidth .judo-hero-image img,
	.judo-hero-fullwidth .judo-hero-wrapper .judo-hero-image img,
	.judo-hero-image img {
		left: 0 !important;
		width: 100% !important;
		filter: brightness(0.7) contrast(1.1);
	}
	
	/* Main content mobile */
	.judo-main-content {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-bottom: 20px;
	}
	
	.judo-highlights h3,
	.judo-news h3 {
		font-size: 20px;
		margin-bottom: 15px;
	}
	
	/* Odstraněno - nepoužívá se */
	
	.judo-highlight-card {
		padding: 18px;
	}
	
	.judo-highlight-card h4 {
		font-size: 15px;
		margin-bottom: 8px;
	}
	
	.judo-highlight-card p {
		font-size: 13px;
	}
	
	/* News mobile */
	.judo-news-list {
		gap: 8px;
		text-align: left;
	}
	
	.judo-news-item {
		margin-bottom: 6px;
	}
	
	.judo-news-preview {
		padding: 8px;
		gap: 8px;
		justify-content: center;
	}
	
	.judo-news-image {
		width: 50px;
		height: 40px;
	}
	
	/* Placeholder obrázky se nepoužívají */
	
	.judo-news-content h4 {
		font-size: 13px;
		margin-bottom: 3px;
		text-align: left;
	}
	
	.judo-news-content p {
		font-size: 11px;
		margin-bottom: 3px;
		text-align: left;
	}
	
	.judo-news-content time {
		font-size: 10px;
		text-align: left;
	}
	
	.judo-news-expanded {
		padding: 10px;
		display: none; /* Hidden by default on mobile */
	}
	
	.judo-news-expanded h1 { font-size: 20px; }
	.judo-news-expanded h2 { font-size: 18px; }
	.judo-news-expanded h3 { font-size: 16px; }
	.judo-news-expanded h4 { font-size: 15px; }
	.judo-news-expanded h5 { font-size: 14px; }
	.judo-news-expanded h6 { font-size: 13px; }
	
	.judo-news-expanded p {
		margin: 0 0 10px 0;
		font-size: 13px;
	}
	
	.judo-news-expanded ul,
	.judo-news-expanded ol {
		margin: 0 0 10px 15px;
	}
	
	.judo-news-expanded blockquote {
		margin: 15px 0;
		padding: 10px 15px;
	}
	
	.judo-news-expanded img {
		margin: 10px 0;
	}
	
	.judo-news-expanded table {
		margin: 15px 0;
		font-size: 12px;
	}
	
	.judo-news-expanded th,
	.judo-news-expanded td {
		padding: 6px;
	}
	
	.judo-news-actions {
		margin-top: 10px;
	}
	
	.judo-more-btn {
		padding: 5px 10px;
		font-size: 11px;
		color: #ffffff !important; /* white text */
		border-color: rgba(255,255,255,0.35) !important;
	}

	.judo-more-btn:link,
	.judo-more-btn:visited,
	.judo-more-btn:hover,
	.judo-more-btn:active { color: #ffffff !important; }
	
	/* Gallery mobile */
	.judo-gallery-wide {
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		gap: 12px;
		padding: 0 10px 25px 10px;
	}
	
	.judo-gallery-header {
		padding: 12px 0;
		margin-bottom: 20px;
	}
	
	.judo-gallery-header h1 {
		font-size: 24px;
		margin-bottom: 6px;
	}
	
	.judo-gallery-header p {
		font-size: 13px;
	}
	
	.judo-gallery-item {
		border-radius: 8px;
	}
	
	/* Gallery pagination mobile */
	.judo-gallery-pagination {
		margin: 25px 0;
		padding: 0 15px;
	}
	
	.judo-gallery-pagination .page-numbers {
		gap: 6px;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	.judo-gallery-pagination .page-numbers a,
	.judo-gallery-pagination .page-numbers span {
		padding: 8px 12px;
		font-size: 12px;
		min-width: 35px;
	}
	
	/* Coaches mobile */
	.judo-coaches-grid {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 5px;
	}
	
	.judo-coach-card {
		border-radius: 12px;
	}
	
	.judo-coach-photo {
		height: 180px;
	}
	
	.judo-coach-header {
		padding: 14px 16px 0 16px;
	}
	
	.judo-coach-header h4 {
		font-size: 16px;
	}
	
	.judo-coach-details {
		padding: 10px 16px 20px 16px;
	}
	
	/* Single post mobile */
	.judo-single-post {
		padding: 25px;
		margin-bottom: 25px;
	}
	
	.judo-post-header {
		margin-bottom: 20px;
	}
	
	.judo-post-featured-image img {
		height: 200px;
	}
	
	.judo-post-title {
		font-size: 24px;
	}
	
	.judo-post-content {
		line-height: 1.6;
		margin-bottom: 20px;
	}
	
	.judo-post-content h2,
	.judo-post-content h3,
	.judo-post-content h4 {
		margin: 20px 0 10px 0;
	}
	
	.judo-post-content p {
		margin-bottom: 15px;
	}
	
	/* Category/Archive mobile */
	.judo-posts-grid {
		gap: 15px;
		margin: 15px 0;
	}
	
	.judo-category-post-item {
		border-radius: 8px;
	}
	
	.judo-post-thumbnail {
		height: 150px;
	}
	
	.judo-post-info {
		padding: 15px;
	}
	
	.judo-post-info h3 {
		font-size: 16px;
		margin-bottom: 8px;
	}
	
	.judo-post-info p {
		font-size: 13px;
	}
	
	/* Footer mobile */
	.judo-footer {
		margin: 40px 0 0 0 !important;
	}
	
	.judo-footer-main {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 20px 0 15px 0;
	}
	
	.judo-footer-container {
		padding: 0 15px !important;
	}
	
	.judo-footer-section h3,
	.judo-footer-section h4 {
		font-size: 14px;
		margin-bottom: 10px;
	}
	
	.judo-footer-section p {
		font-size: 13px;
		margin-bottom: 10px;
	}
	
	.judo-footer-logo {
		width: 40px;
		height: 40px;
		margin-bottom: 10px;
	}
	
	.judo-footer-logo img,
	.judo-footer-logo .custom-logo {
		max-width: 40px !important;
		max-height: 40px !important;
	}
	
	.judo-social-links {
		gap: 10px;
		margin-top: 15px;
		justify-content: center;
	}
	
	.judo-social-links a {
		width: 30px;
		height: 30px;
	}
	
	.judo-contact-item {
		margin-bottom: 10px;
		font-size: 13px;
	}
	
	.judo-footer-links li {
		margin-bottom: 8px;
	}
	
	.judo-footer-links a {
		font-size: 13px;
	}
	
	.judo-sponsors-simple {
		padding: 15px 0;
	}
	
	.judo-footer-partners-title {
		font-size: 18px !important;
		margin-bottom: 15px !important;
	}
	
	.sponsor-logo {
		max-width: 100px;
		margin: 0 10px 8px 10px;
	}
	
	.sponsor-text {
		font-size: 12px;
		margin: 0 10px 8px 10px;
	}
	
	.judo-footer-bottom-content {
		padding: 10px 0;
	}
	
	.judo-footer-copyright p {
		font-size: 11px;
	}
	
	.judo-footer-legal {
		gap: 10px;
	}
	
	.judo-footer-legal a {
		font-size: 11px;
	}
	
	/* Cookie banner CSS odstraněn - používá se plugin Cookie Notice & Compliance for GDPR / CCPA */
	
	/* Loading states mobile */
	.judo-loading-text {
		font-size: 11px;
		margin-top: 10px;
	}
	
	/* Contact info mobile */
	.judo-contact-info {
		padding: 15px;
		margin: 15px 0;
	}
	
	.judo-contact-grid {
		gap: 15px;
		margin-top: 12px;
	}
	
	.judo-contact-item h4 {
		font-size: 15px;
		margin-bottom: 6px;
	}
	
	.judo-contact-item p {
		font-size: 13px;
	}
}

/* Precise centering of key blocks on mobile */
@media (max-width: 768px) {
	/* Zajistit, že rodičovské kontejnery neblokují centrování */
	.judo-main-content,
	.judo-sidebar {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
	}
	
	.judo-calendar,
	.judo-kravare,
	.judo-highlights {
		/* Odstranit problematické left/transform */
		position: relative !important;
		left: auto !important;
		transform: none !important;
		/* Odstranit margin auto - nefunguje s flexboxem */
		margin: 0 !important;
		width: calc(100vw - 32px) !important; /* 16px gutter on both sides */
		max-width: 640px !important;
		box-sizing: border-box !important;
		/* Zajistit, že se neposunou mimo obrazovku */
		overflow: hidden !important;
	}

	/* Ensure inner content does not introduce lateral bias */
	.judo-highlight-carousel,
	.judo-highlight-track { 
		padding-left: 0 !important; 
		padding-right: 0 !important; 
	}
}

/* Dodatečné centrování pro střední mobilní šířky */
@media (min-width: 481px) and (max-width: 768px) {
	/* Zajistit, že rodičovské kontejnery neblokují centrování */
	.judo-main-content,
	.judo-sidebar {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
	}
	
	.judo-calendar,
	.judo-kravare,
	.judo-highlights {
		/* Odstranit problematické left/transform */
		position: relative !important;
		left: auto !important;
		transform: none !important;
		/* Odstranit margin auto - nefunguje s flexboxem */
		margin: 0 !important;
		width: calc(100vw - 40px) !important; /* Větší gutter pro střední mobily */
		max-width: 600px !important;
		box-sizing: border-box !important;
	}
}

/* Centrování pro větší mobilní zařízení (tablety) */
@media (min-width: 769px) and (max-width: 1024px) {
	/* Zajistit, že rodičovské kontejnery neblokují centrování */
	.judo-main-content,
	.judo-sidebar {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
	}
	
	.judo-calendar,
	.judo-kravare,
	.judo-highlights {
		/* Odstranit problematické left/transform */
		position: relative !important;
		left: auto !important;
		transform: none !important;
		/* Odstranit margin auto - nefunguje s flexboxem */
		margin: 0 !important;
		width: calc(100vw - 60px) !important; /* Větší gutter pro tablety */
		max-width: 800px !important;
		box-sizing: border-box !important;
	}
}

@media (max-width: 480px) {
	.judo-container {
		padding: 8px;
	}
	
	/* Zajistit centrování na velmi malých mobilech */
	.judo-calendar,
	.judo-kravare,
	.judo-highlights {
		/* Odstranit problematické left/transform */
		position: relative !important;
		left: auto !important;
		transform: none !important;
		/* Odstranit margin auto - nefunguje s flexboxem */
		margin: 0 !important;
		width: calc(100vw - 16px) !important; /* Menší gutter pro malé mobily */
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}
	
	.judo-header {
		gap: 10px;
		margin-bottom: 10px;
		margin-top: 12px;
	}
	
	.judo-main-logo img, 
	.judo-brand .judo-main-logo img, 
	.judo-brand .custom-logo, 
	.judo-brand .custom-logo img, 
	.custom-logo-link img {
		height: 70px !important;
		max-width: 250px !important;
		max-height: 70px !important;
	}
	
	.judo-title h1 {
		font-size: 14px;
	}
	
	.judo-title span {
		font-size: 11px;
	}
	
	/* Navigation very small mobile */
	.judo-nav-elegant {
		padding: 8px 15px;
		border-radius: 20px;
		margin: 0 8px;
		max-width: calc(100% - 16px);
	}
	
	@media (max-width: 480px) {
		.judo-hamburger {
			width: 25px;
			height: 25px;
		}
		
		.judo-hamburger span {
			height: 2px;
			margin: 5px 0;
		}
		
		.judo-nav-elegant .menu {
			padding: 15px;
			margin-top: 8px;
		}
		
		.judo-nav-elegant .menu > li > a {
			padding: 10px 12px;
			font-size: 13px;
			border-radius: 10px;
		}
	}
	
	/* Hero section very small mobile */
	.judo-hero-fullwidth {
		min-height: 250px;
		margin-bottom: 20px;
	}
	
	.judo-hero-wrapper {
		padding: 20px 8px;
		min-height: 250px;
	}
	
	.judo-hero-wrapper::before {
		background: rgba(0, 0, 0, 0.5);
	}
	
	.judo-hero-content {
		padding: 15px;
		border-radius: 10px;
		background: rgba(0, 0, 0, 0.8);
	}
	
	.judo-hero-content h2 {
		font-size: 24px;
		margin-bottom: 10px;
		color: white;
		text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
	}
	
	.judo-hero-intro {
		font-size: 13px;
		line-height: 1.4;
		margin-bottom: 15px;
		color: rgba(255, 255, 255, 0.9);
		text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
	}
	
	.judo-hero-btn {
		padding: 10px 20px;
		font-size: 12px;
		background: rgba(227, 30, 36, 0.9);
		border: 2px solid rgba(255, 255, 255, 0.3);
	}
	
	/* Main content very small mobile */
	.judo-main-content {
		gap: 15px;
		margin-bottom: 15px;
	}
	
	.judo-highlights h3,
	.judo-news h3 {
		font-size: 18px;
		margin-bottom: 12px;
	}
	
	/* Odstraněno - nepoužívá se */
	
	.judo-highlight-card {
		padding: 15px;
	}
	
	.judo-highlight-card h4 {
		font-size: 14px;
		margin-bottom: 6px;
	}
	
	.judo-highlight-card p {
		font-size: 12px;
	}
	
	/* News very small mobile */
	.judo-news-list {
		gap: 8px;
	}
	
	.judo-news-item {
		margin-bottom: 6px;
	}
	
	.judo-news-preview {
		padding: 8px;
		gap: 8px;
		justify-content: center;
	}
	
	.judo-news-image {
		width: 50px;
		height: 40px;
	}
	
	.judo-news-content h4 {
		font-size: 13px;
		margin-bottom: 3px;
		text-align: center;
	}
	
	.judo-news-content p {
		font-size: 11px;
		margin-bottom: 3px;
		text-align: center;
	}
	
	.judo-news-content time {
		font-size: 10px;
		text-align: center;
	}
	
	.judo-news-expanded {
		padding: 10px;
		display: none; /* Hidden by default on very small mobile */
	}
	
	.judo-news-actions {
		margin-top: 10px;
	}
	
	.judo-more-btn {
		padding: 5px 10px;
		font-size: 11px;
	}
	
	/* Gallery very small mobile */
	.judo-gallery-wide {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
		gap: 10px;
		padding: 0 8px 20px 8px;
	}
	
	.judo-gallery-header {
		padding: 12px 0;
		margin-bottom: 15px;
	}
	
	.judo-gallery-header h1 {
		font-size: 20px;
		margin-bottom: 6px;
	}
	
	.judo-gallery-header p {
		font-size: 12px;
	}
	
	.judo-gallery-item {
		border-radius: 6px;
	}
	
	/* Gallery pagination very small mobile */
	.judo-gallery-pagination {
		margin: 20px 0;
		padding: 0 10px;
	}
	
	.judo-gallery-pagination .page-numbers {
		gap: 4px;
	}
	
	.judo-gallery-pagination .page-numbers a,
	.judo-gallery-pagination .page-numbers span {
		padding: 6px 10px;
		font-size: 11px;
		min-width: 30px;
	}
	
	/* Coaches very small mobile */
	.judo-coaches-grid {
		gap: 15px;
	}
	
	.judo-coach-card {
		border-radius: 10px;
	}
	
	.judo-coach-photo {
		height: 160px;
	}
	
	.judo-coach-header {
		padding: 12px 14px 0 14px;
	}
	
	.judo-coach-header h4 {
		font-size: 15px;
	}
	
	.judo-coach-details {
		padding: 8px 14px 16px 14px;
	}
	
	/* Single post very small mobile */
	.judo-single-post {
		padding: 20px;
		margin-bottom: 20px;
	}
	
	.judo-post-header {
		margin-bottom: 15px;
	}
	
	.judo-post-featured-image img {
		height: 150px;
	}
	
	.judo-post-title {
		font-size: 20px;
	}
	
	.judo-post-content {
		line-height: 1.5;
		margin-bottom: 15px;
	}
	
	.judo-post-content h2,
	.judo-post-content h3,
	.judo-post-content h4 {
		margin: 15px 0 8px 0;
	}
	
	.judo-post-content p {
		margin-bottom: 12px;
	}
	
	/* Category/Archive very small mobile */
	.judo-posts-grid {
		gap: 15px;
		margin: 15px 0;
	}
	
	.judo-category-post-item {
		border-radius: 8px;
	}
	
	.judo-post-thumbnail {
		height: 120px;
	}
	
	.judo-post-info {
		padding: 12px;
	}
	
	.judo-post-info h3 {
		font-size: 14px;
		margin-bottom: 6px;
	}
	
	.judo-post-info p {
		font-size: 12px;
	}
	
	/* Footer very small mobile */
	.judo-footer {
		margin: 30px 0 0 0 !important;
	}
	
	.judo-footer-main {
		gap: 15px;
		padding: 15px 0 10px 0;
	}
	
	.judo-footer-container {
		padding: 0 10px !important;
	}
	
	.judo-footer-section h3,
	.judo-footer-section h4 {
		font-size: 13px;
		margin-bottom: 8px;
	}
	
	.judo-footer-section p {
		font-size: 12px;
		margin-bottom: 8px;
	}
	
	.judo-footer-logo {
		width: 35px;
		height: 35px;
		margin-bottom: 8px;
	}
	
	.judo-footer-logo img,
	.judo-footer-logo .custom-logo {
		max-width: 35px !important;
		max-height: 35px !important;
	}
	
	.judo-social-links {
		gap: 8px;
		margin-top: 12px;
	}
	
	.judo-social-links a {
		width: 28px;
		height: 28px;
	}
	
	.judo-contact-item {
		margin-bottom: 8px;
		font-size: 12px;
	}
	
	.judo-footer-links li {
		margin-bottom: 6px;
	}
	
	.judo-footer-links a {
		font-size: 12px;
	}
	
	.judo-sponsors-simple {
		padding: 12px 0;
	}
	
	.judo-footer-partners-title {
		font-size: 16px !important;
		margin-bottom: 12px !important;
	}
	
	.sponsor-logo {
		max-width: 80px;
		margin: 0 8px 6px 8px;
	}
	
	.sponsor-text {
		font-size: 11px;
		margin: 0 8px 6px 8px;
	}
	
	.judo-footer-bottom-content {
		padding: 10px 0;
	}
	
	.judo-footer-copyright p {
		font-size: 11px;
	}
	
	.judo-footer-legal {
		gap: 8px;
	}
	
	.judo-footer-legal a {
		font-size: 11px;
	}
	
	/* Cookie banner CSS odstraněn - používá se plugin Cookie Notice & Compliance for GDPR / CCPA */
	
	/* Mobilní sidepanel na velmi malých obrazovkách */
	.mobile-sidepanel {
		height: 100dvh;
		height: calc(100vh - env(safe-area-inset-bottom));
	}
	
	.mobile-sidepanel-content {
		padding: 15px 15px 35px 15px;
		padding-bottom: max(35px, env(safe-area-inset-bottom) + 15px);
	}
	
	/* Loading states very small mobile */
	.judo-loading-text {
		font-size: 11px;
		margin-top: 10px;
	}
	
	/* Contact info very small mobile */
	.judo-contact-info {
		padding: 15px;
		margin: 15px 0;
	}
	
	.judo-contact-grid {
		gap: 15px;
		margin-top: 12px;
	}
	
	.judo-contact-item h4 {
		font-size: 15px;
		margin-bottom: 6px;
	}
	
	.judo-contact-item p {
		font-size: 13px;
	}
}

/* =================== LANDSCAPE ORIENTATION ADJUSTMENTS =================== */
@media (max-height: 500px) and (orientation: landscape) {
	/* Mobilní sidepanel v landscape orientaci */
	.mobile-sidepanel {
		height: 100dvh;
		height: calc(100vh - env(safe-area-inset-bottom));
	}
	
	.mobile-sidepanel-content {
		padding: 15px 15px 30px 15px;
		padding-bottom: max(30px, env(safe-area-inset-bottom) + 10px);
	}
	
	.judo-hero-fullwidth {
		min-height: 200px;
	}
	
	.judo-hero-wrapper {
		min-height: 200px;
		padding: 15px 20px;
	}
	
	.judo-hero-wrapper::before {
		background: rgba(0, 0, 0, 0.6);
	}
	
	.judo-hero-content {
		padding: 15px;
		background: rgba(0, 0, 0, 0.8);
	}
	
	.judo-hero-content h2 {
		font-size: 24px;
		margin-bottom: 8px;
		color: white;
		text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
	}
	
	.judo-hero-intro {
		font-size: 12px;
		margin-bottom: 10px;
		color: rgba(255, 255, 255, 0.9);
		text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
	}
	
	.judo-hero-btn {
		padding: 8px 16px;
		font-size: 12px;
		background: rgba(227, 30, 36, 0.9);
		border: 2px solid rgba(255, 255, 255, 0.3);
	}
	
	.judo-header {
		margin-bottom: 15px;
		margin-top: 10px;
	}
	
	.judo-main-logo img, 
	.judo-brand .judo-main-logo img, 
	.judo-brand .custom-logo, 
	.judo-brand .custom-logo img, 
	.custom-logo-link img {
		height: 60px !important;
		max-width: 200px !important;
		max-height: 60px !important;
	}
}

/* =================== HIGH DPI DISPLAYS =================== */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	.judo-gallery-item img,
	.judo-news-image img,
	.judo-coach-photo img {
		image-rendering: -webkit-optimize-contrast;
		image-rendering: crisp-edges;
	}
}

/* =================== PRINT STYLES =================== */
@media print {
	.judo-nav-elegant,
	.judo-hero-fullwidth,
	.judo-footer {
		display: none !important;
	}
	
	.judo-container {
		max-width: 100%;
		padding: 0;
	}
	
	.judo-main-content {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.judo-news-item,
	.judo-highlight-card,
	.judo-gallery-item {
		break-inside: avoid;
		page-break-inside: avoid;
	}
}

/* =================== GALLERY LOADER STYLES =================== */
.judo-gallery-loading {
	position: relative !important;
	min-height: 300px !important;
	width: 100% !important;
	display: block !important;
	grid-column: 1 / -1 !important; /* span přes celou šířku gridu */
}

.judo-gallery-loading img {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 50px !important;
	height: 50px !important;
	display: block !important;
	margin-top: -15px !important;
}

.judo-gallery-loading p {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	margin: 0 !important;
	font-size: 16px !important;
	color: #666 !important;
	font-weight: 500 !important;
	margin-top: 25px !important;
	text-align: center !important;
	white-space: nowrap !important;
}

/* Silnější pravidla pro galerii */
#judo-gallery-container .judo-gallery-loading {
	position: relative !important;
	min-height: 300px !important;
	width: 100% !important;
	display: block !important;
	grid-column: 1 / -1 !important; /* span přes celou šířku gridu */
}

#judo-gallery-container .judo-gallery-loading img {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 50px !important;
	height: 50px !important;
	display: block !important;
	margin-top: -15px !important;
}

#judo-gallery-container .judo-gallery-loading p {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	margin: 0 !important;
	font-size: 16px !important;
	color: #666 !important;
	font-weight: 500 !important;
	margin-top: 25px !important;
	text-align: center !important;
	white-space: nowrap !important;
}

/* odstraněn overlay loader - návrat k původnímu řešení */

/* Střediska v footeru */
.judo-center-item {
	margin: 12px 0;
	padding: 8px 0;
	border-left: 2px solid var(--judo-red);
	padding-left: 12px;
}

.judo-center-item strong {
	color: var(--judo-red);
	font-size: 13px;
	margin-bottom: 3px;
	display: block;
}

.judo-center-item:first-child {
	margin-top: 8px;
}

/* --- HARD OVERRIDES TO RESTORE DESKTOP AND ISOLATE MOBILE --- */
@media (min-width: 769px) {
	/* Desktop hero mask and layout */
	body .judo-hero-fullwidth .judo-hero-image,
	.judo-hero-fullwidth .judo-hero-wrapper .judo-hero-image,
	.judo-hero-image {
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.2) 20%, rgba(0,0,0,.5) 40%, rgba(0,0,0,.8) 60%, rgba(0,0,0,1) 80%, rgba(0,0,0,1) 100%) !important;
		mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.2) 20%, rgba(0,0,0,.5) 40%, rgba(0,0,0,.8) 60%, rgba(0,0,0,1) 80%, rgba(0,0,0,1) 100%) !important;
		left: 40% !important; width: 60vw !important; z-index: 1 !important;
	}

	/* Desktop uses original inline menu, not sidepanel */
	.judo-nav-elegant .menu { display: flex !important; justify-content: center !important; align-items: center !important; position: relative !important; }
	.mobile-sidepanel { display: none !important; }
	.judo-hamburger { display: none !important; }
}

@media (max-width: 768px) {
	/* Mobile: remove hero mask and use sidepanel */
	body .judo-hero-fullwidth .judo-hero-image,
	.judo-hero-fullwidth .judo-hero-wrapper .judo-hero-image,
	.judo-hero-image { -webkit-mask-image: none !important; mask-image: none !important; left: 0 !important; width: 100% !important; z-index: 0 !important; }

	/* Disable desktop inline menu and rely on sidepanel */
	.judo-nav-elegant .menu { display: none !important; }
	.mobile-sidepanel { display: block !important; }
}

/* FINAL MOBILE FIXES: remove dark hero block everywhere */
@media (max-width: 768px) {
	.judo-hero-wrapper::before { background: transparent !important; }
	.judo-hero-content { background: transparent !important; border: none !important; backdrop-filter: none !important; }
}

/* Mobile header: logo left, burger right */
@media (max-width: 768px) {
	/* Center logo in header on mobile */
	.judo-header { position: relative !important; flex-direction: row !important; align-items: center !important; justify-content: center !important; gap: 12px !important; }
	.judo-brand { flex: 0 0 auto !important; margin: 0 auto !important; text-align: center !important; }
	.judo-brand .judo-main-logo img,
	.judo-brand .judo-logo img,
	.judo-brand img.custom-logo { max-height: 84px !important; height: 84px !important; width: auto !important; }
	/* remove any big bubble/background around nav on mobile */
	.judo-nav-elegant { flex: 0 0 auto !important; padding: 0 !important; margin: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; }
	/* place burger as a small button in the top-right corner */
	.judo-hamburger {
		position: absolute !important;
		top: 8px !important;
		right: 12px !important;
		margin: 0 !important;
		width: 46px !important;
		height: 46px !important;
		padding: 8px 10px !important;
		border-radius: 12px !important;
		background: linear-gradient(135deg, #E31E24 0%, #B60F1A 100%) !important;
		border: 1px solid rgba(255,255,255,0.35) !important;
		box-shadow: 0 6px 20px rgba(227,30,36,0.35), inset 0 1px 0 rgba(255,255,255,0.5) !important;
	}

	/* ensure bars are clearly visible */
	.judo-hamburger span { background: #ffffff !important; height: 3px !important; width: 70% !important; margin: 4px auto !important; border-radius: 2px !important; }
}

/* Contact Page Styles */
.judo-contact-info {
    margin-top: 40px;
    padding: 30px;
    background: var(--judo-bg-light);
    border-radius: 12px;
    border-left: 4px solid var(--judo-red);
}

.judo-contact-info h3 {
    color: var(--judo-red);
    font-size: 24px;
    margin-bottom: 25px;
    text-align: center;
}

.judo-contact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-bottom: 30px;
}

.judo-contact-item {
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border: 1px solid var(--judo-border);
}

.judo-contact-item h4 {
    color: var(--judo-red);
    font-size: 18px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.judo-contact-item h4 .dashicons {
    font-size: 20px;
    color: var(--judo-red);
}

.judo-contact-item p {
    margin: 0;
    line-height: 1.6;
    color: var(--judo-text);
}

.judo-contact-item strong {
    color: var(--judo-text-dark);
    font-weight: 600;
}

.judo-contact-item a {
    color: var(--judo-red);
    text-decoration: none;
    font-weight: 500;
}

.judo-contact-item a:hover {
    text-decoration: underline;
}

.judo-contact-extra {
    background: white;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border: 1px solid var(--judo-border);
}

.judo-contact-extra h4 {
    color: var(--judo-red);
    font-size: 20px;
    margin-bottom: 15px;
}

.judo-contact-extra p {
    margin: 0;
    line-height: 1.6;
    color: var(--judo-text);
}

/* Mobile responsive for contact page */
@media (max-width: 768px) {
    .judo-contact-info {
        margin-top: 30px;
        padding: 20px;
    }
    
    .judo-contact-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .judo-contact-item {
        padding: 18px;
    }
    
    .judo-contact-item h4 {
        font-size: 16px;
    }
    
    .judo-contact-extra {
        padding: 20px;
    }
}

/* Střediska v footeru */
.judo-footer .judo-contact-item {
	color: var(--judo-text-light);
	margin-bottom: 20px;
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

.judo-footer .judo-contact-item strong {
	color: var(--judo-red);
	font-size: 14px;
	margin-bottom: 8px;
	display: block;
}

.judo-center-item {
	margin: 12px 0;
	padding: 8px 0;
	border-left: 2px solid var(--judo-red);
	padding-left: 12px;
	color: var(--judo-text-light);
}

.judo-center-item strong {
	color: var(--judo-red);
	font-size: 13px;
	margin-bottom: 3px;
	display: block;
}

.judo-center-item:first-child {
	margin-top: 8px;
}

/* Hero Placeholder Styles */
.judo-hero-placeholder {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	opacity: 1;
	transition: opacity 1.2s ease-in-out;
	z-index: 2;
}

.judo-hero-placeholder-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.judo-hero-placeholder-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.judo-hero-placeholder-content {
	text-align: center;
	color: white;
	padding: 20px;
}

.judo-hero-placeholder-content h3 {
	font-size: 2.5rem;
	font-weight: 700;
	margin: 0 0 10px 0;
}

.judo-hero-placeholder-content p {
	font-size: 1.2rem;
	margin: 0;
}

/* Smooth fade-out transition */
.judo-hero-placeholder.fade-out {
	opacity: 0;
	pointer-events: none;
}

/* Hide placeholder completely after fade-out */
.judo-hero-placeholder.slideshow-loaded {
	display: none;
}

/* Slideshow container positioning */
.judo-hero-image {
	position: relative;
}

/* Smooth slideshow appearance */
.hero-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 1.2s ease-in-out;
	z-index: 1;
}

.hero-slide.active {
	opacity: 1;
}

/* Mobile responsive for contact page */
@media (max-width: 768px) {
	.judo-contact-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.judo-contact-item {
		padding: 15px;
	}
	
	.judo-contact-item h4 {
		font-size: 16px;
	}
	
	.judo-contact-item p {
		font-size: 14px;
	}
}

/* Mobile hero title styling - JUDO in red */
@media (max-width: 768px) {
	.judo-hero-title .judo-word-black {
		color: var(--judo-red) !important;
	}
	
	/* Mobile placeholder blur effect */
	.judo-hero-placeholder-img {
		filter: blur(20px);
		transform: scale(1.05); /* Slightly larger to hide blur edges */
	}
}

/* Mobile placeholder blur effect */
@media (max-width: 768px) {
	.judo-hero-title .judo-word-black {
		color: var(--judo-red) !important;
	}
	
	/* Mobile placeholder blur effect */
	.judo-hero-placeholder {
		overflow: visible; /* Remove overflow hidden for blur to work */
		/* Na mobilech se placeholder nikdy neskryje */
		opacity: 1 !important;
		pointer-events: auto !important;
	}
	
	.judo-hero-placeholder-img {
		transform: scale(1.1); /* Larger scale to hide blur edges */
		width: 110%; /* Compensate for scale */
		height: 110%;
		margin-left: -5%;
		margin-top: -5%;
	}
	
	/* Alternative blur using backdrop-filter on overlay */
	.judo-hero-placeholder-overlay {
		backdrop-filter: blur(4px);
		-webkit-backdrop-filter: blur(4px);
		background: linear-gradient(135deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.7) 100%);
	}
	
	/* Na mobilech se slideshow nespouští - placeholder zůstává viditelný */
	.judo-hero-placeholder.fade-out,
	.judo-hero-placeholder.slideshow-loaded {
		opacity: 1 !important;
		display: block !important;
		pointer-events: auto !important;
	}
}

/* FORCE FULL PHOTO DISPLAY - Vynutí zobrazení celých fotek trenérů */
@media screen and (max-width: 768px) {
	.judo-coach-card .judo-coach-photo {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}
	
	.judo-coach-card .judo-coach-photo img {
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		min-height: auto !important;
		object-fit: contain !important;
		object-position: center !important;
		display: block !important;
		position: static !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
	}
}
