/* MASTER STANDARD 2026 - Crazy-Mac.cz
   ULTRA FINÁLNÍ Sjednocená Verze - 23. 01. 2026
   Styl: Čistý Grafit (bez rušivých prvků, plynulá interaktivita)
   + PŘEPÍNÁNÍ TMAVÝ/SVĚTLÝ REŽIM
*/

/* --- 1. ZÁKLADNÍ ANIMACE --- */
@keyframes meshGradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
@keyframes shine { 100% { left: 125%; } }
@keyframes fadeInPage { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-10px); } 60% { transform: translateY(-5px); } }
@keyframes glowPulse { from { text-shadow: 0 0 10px rgba(255, 149, 0, 0.2); } to { text-shadow: 0 0 20px rgba(255, 204, 0, 0.4); } }
@keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ripple { to { transform: translate(-50%, -50%) scale(40); opacity: 0; } }

/* --- 2. ZÁKLAD A POZADÍ (ČISTÝ GRAFIT - TMAVÝ REŽIM) --- */
html { scroll-behavior: smooth; font-size: clamp(16px, 1vw + 12px, 20px); }
::selection { background: #ff9500; color: #000; }

body {
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;
	line-height: 1.8; color: #f5f5f7; background: #1c1c1e;
	margin: 0; min-height: 100vh; display: flex; flex-direction: column;
	transition: background 0.3s ease, color 0.3s ease;
}

/* --- SVĚTLÝ REŽIM --- */
body.light-mode {
	background: #f5f5f7;
	color: #1c1c1e;
}

body.light-mode .page-wrapper {
	background: rgba(255, 255, 255, 0.3);
	border-color: rgba(0, 0, 0, 0.1);
}

body.light-mode main,
body.light-mode .pravy-panel-style {
	background: rgba(255, 255, 255, 0.9);
	color: #1c1c1e;
	border-color: rgba(0, 0, 0, 0.05);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

body.light-mode main::before {
	background: linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,0.03) 50%, rgba(0,0,0,0) 100%);
}

body.light-mode h2 {
	color: #ff9500;
}

body.light-mode article p,
body.light-mode ul li a,
body.light-mode .subtitle {
	color: #1c1c1e;
}

body.light-mode .crazy-clock {
	background: rgba(0, 0, 0, 0.05);
	border-color: rgba(0, 0, 0, 0.1);
	color: #ff9500;
}

body.light-mode ul li a {
	background: rgba(0, 0, 0, 0.02);
}

body.light-mode ul li a:hover,
body.light-mode ul li a.active {
	background: rgba(255, 149, 0, 0.1);
	color: #ff9500;
}

body.light-mode input,
body.light-mode textarea {
	background: rgba(0, 0, 0, 0.05);
	border-color: rgba(0, 0, 0, 0.1);
	color: #1c1c1e;
}

body.light-mode .galerie-item,
body.light-mode .video-item {
	background: rgba(0, 0, 0, 0.03);
	border-color: rgba(0, 0, 0, 0.1);
}

body.light-mode figure {
	background: rgba(0, 0, 0, 0.02);
}

body.light-mode table {
	border-color: rgba(0, 0, 0, 0.1);
}

body.light-mode th {
	background: rgba(0, 0, 0, 0.05);
}

body.light-mode td {
	border-bottom-color: rgba(0, 0, 0, 0.05);
}

body.light-mode hr {
	background: rgba(0, 0, 0, 0.1);
}

body.light-mode .galerie-caption,
body.light-mode .video-caption {
	color: #1c1c1e;
}

body.light-mode footer {
	-webkit-text-fill-color: #ff9500;
}

/* --- 3. PŘÍSTUPNOST --- */
.skip-link { position: absolute; top: -100px; left: 0; background: #ff9500; color: #000; padding: 10px 20px; z-index: 9999; font-weight: bold; border-radius: 0 0 15px 0; text-decoration: none; transition: 0.3s; }
.skip-link:focus { top: 0; outline: none; }
:focus-visible { outline: 2px solid rgba(255, 149, 0, 0.7); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* --- 4. PANELY A ROZVRŽENÍ (SKLENĚNÝ EFEKT) --- */
.lang-header { width: 95%; max-width: 1300px; margin: 20px auto 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.page-wrapper { max-width: 1300px; width: 95%; margin: 10px auto 40px auto; padding: 40px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 40px; background: rgba(0,0,0,0.2); backdrop-filter: blur(10px); animation: fadeInPage 0.8s ease-out forwards; }
.container { display: flex; flex-direction: row; gap: 40px; }
@media (max-width: 950px) { .container { flex-direction: column; } .page-wrapper { padding: 20px; } }

main, .pravy-panel-style { background: rgba(44, 44, 46, 0.8); backdrop-filter: blur(20px); border-radius: 30px; padding: 3.5em; border: 1px solid rgba(255, 255, 255, 0.05); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden; transition: 0.3s; }
main:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, 0.1); }
main::before { content: ''; position: absolute; top: 0; left: -75%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.03) 50%, rgba(255,255,255,0) 100%); transform: skewX(-25deg); transition: 0.6s; }
main:hover::before { animation: shine 0.75s forwards; }
main { flex: 3; }
.pravy { flex: 1; position: sticky; top: 30px; height: fit-content; }

/* --- 5. TYPOGRAFIE A TEXTY --- */
h1, footer { background: linear-gradient(to right, #ff9500, #ffcc00, #ff9500); -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: meshGradient 5s linear infinite, glowPulse 4s ease-in-out infinite alternate; text-align: center; }
h1 { font-size: clamp(2.2em, 5vw, 3.5em); font-weight: 800; line-height: 1.1; margin-top: 0; text-wrap: balance; }
h2 { color: #ff9500; font-size: 1.8em; margin-top: 1.5em; font-weight: 600; text-align: center; }
h3 { color: #ff9500; font-size: 1.3em; font-weight: 600; text-align: center; }

.subtitle { display: block; text-align: center; font-size: 1.1em; font-style: italic; color: rgba(255, 255, 255, 0.7); margin: -5px 0 20px 0; }

article p { hyphens: auto; text-align: justify; text-justify: inter-word; }
strong, b { color: #ffcc00; font-weight: 700; }
mark { background: rgba(255, 149, 0, 0.2); color: #fff; padding: 0 5px; border-radius: 5px; }

/* --- 6. HODINY --- */
.crazy-clock { text-align: center; font-family: monospace; font-size: 1.1rem; font-weight: 600; color: #ffcc00; margin: 20px 0; padding: 10px 25px; background: rgba(255, 255, 255, 0.05); border-radius: 50px; display: inline-block; position: relative; left: 50%; transform: translateX(-50%); border: 1px solid rgba(255, 255, 255, 0.1); }

/* --- 7. TLAČÍTKA A MENU --- */
.btn-gold { display: inline-flex; align-items: center; padding: 16px 35px; background: linear-gradient(135deg, #ff9500, #ffcc00); color: #000; font-weight: 800; border-radius: 100px; text-decoration: none; transition: 0.4s; position: relative; overflow: hidden; border: none; cursor: pointer; font-size: inherit; }
.btn-gold:hover { transform: scale(1.03); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3); }
.btn-gold:active::before { content: ''; position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; background: rgba(255, 255, 255, 0.5); opacity: 1; border-radius: 50%; transform: translate(-50%, -50%) scale(0); animation: ripple 0.6s ease-out; }
/* Navigační varianta tlačítka (menší padding) */
.btn-nav { padding: 10px 22px; font-size: 0.9em; }


/* Tlačítko přepínání režimu */
#theme-toggle { padding: 12px 20px; font-size: 1.2em; }

details summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; outline: none; }
details summary::-webkit-details-marker { display: none; }
details summary::after { content: '→'; color: #ff9500; transition: 0.4s; font-weight: bold; }
details[open] summary::after { transform: rotate(90deg); }
details[open] .menu-content { animation: slideDown 0.4s ease-out; }

ul { list-style: none; padding: 0; }
ul li a { display: flex; align-items: center; padding: 12px 16px; background: rgba(255, 255, 255, 0.02); border-radius: 12px; color: #f5f5f7; text-decoration: none; transition: 0.3s; margin-bottom: 8px; }
ul li a:hover, ul li a.active { background: rgba(255, 149, 0, 0.1); transform: translateX(5px); color: #ffcc00; }
ul li a::before { content: ''; width: 8px; height: 8px; background: #ff9500; border-radius: 50%; margin-right: 12px; flex-shrink: 0; }
.emoji { display: inline-block; margin-right: 8px; transition: 0.3s; }
a:hover .emoji, button:hover .emoji { animation: bounce 0.8s infinite; }

/* --- 8. OBRÁZKY A GALERIE --- */
img { display: block; max-width: 100%; height: auto; border-radius: 20px; transition: 0.5s; border: 1px solid rgba(255, 255, 255, 0.1); margin: 30px auto; }
img:hover { transform: scale(1.02); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); }

.galerie-grid, .video-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; }
.galerie-item, .video-item { background: rgba(255, 255, 255, 0.03); border-radius: 20px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.1); transition: 0.3s; }
.galerie-item:hover, .video-item:hover { transform: scale(1.03); border-color: rgba(255, 149, 0, 0.3); }
.galerie-item img { width: 100%; height: 250px; object-fit: cover; border: none; margin: 0; border-radius: 0; }
.galerie-caption, .video-caption { padding: 12px 16px; font-weight: 600; color: #ffcc00; text-align: center; }
.galerie-link { text-decoration: none; }
.video-container { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; }
.video-container iframe, .video-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; border-radius: 0; }

/* --- 9. CITÁTY, SEZNAMY A TABULKY --- */
figure { background: rgba(255, 255, 255, 0.02); padding: 30px; border-radius: 25px; border-left: 5px solid #ff9500; margin: 40px 0; }
figcaption { margin-top: 15px; font-weight: bold; color: #ff9500; }
blockquote { quotes: "„" """ "‚" "'"; margin: 0; font-style: italic; }

main ul:not(.menu-content ul) { list-style: none; padding-left: 20px; }
main ul:not(.menu-content ul) li::before { content: '•'; color: #ff9500; display: inline-block; width: 1em; margin-left: -1em; }
main ol { counter-reset: crazy-counter; list-style: none; padding-left: 20px; }
main ol li { counter-increment: crazy-counter; position: relative; margin-bottom: 12px; }
main ol li::before { content: counter(crazy-counter) "."; color: #ff9500; font-weight: 800; margin-right: 10px; }

table { width: 100%; border-collapse: separate; border-spacing: 0; border-radius: 20px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.1); margin: 20px 0; }
th { background: rgba(255, 255, 255, 0.05); color: #ffcc00; padding: 15px; text-align: left; }
td { padding: 15px; border-bottom: 1px solid rgba(255, 255, 255, 0.05); transition: 0.3s; }
tr:hover td { background: #ff9500; color: #000; }

hr { border: none; height: 1px; background: rgba(255, 255, 255, 0.1); margin: 40px auto; width: 80%; }

/* --- 10. FORMULÁŘE A FOOTER --- */
input, textarea { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); color: #fff; padding: 10px; border-radius: 8px; transition: 0.3s; }
input:focus, textarea:focus { border-color: #ff9500; outline: none; }
footer { padding: 60px 20px; font-weight: 600; font-size: 1.1em; }

/* --- 11. AUTOR CITÁTU --- */
.author-quote { display: block; margin-top: 15px; font-weight: bold; color: #ff9500; font-style: normal; }

/* --- 12. VYHLEDÁVÁNÍ --- */
@keyframes resultSlideIn {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}
@keyframes skeletonPulse {
	0%, 100% { opacity: 0.4; }
	50%       { opacity: 0.8; }
}

.search-box {
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.search-box label {
	display: block;
	font-weight: 600;
	color: #ff9500;
	margin-bottom: 8px;
	font-size: 0.95em;
}
.search-box input[type="search"] {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border-radius: 12px;
	font-size: 0.95em;
}
.search-status-msg {
	margin: 6px 0 0 0;
	font-size: 0.8em;
	color: rgba(255, 255, 255, 0.5);
	min-height: 1.2em;
}
.search-count-msg {
	margin: 2px 0 0 0;
	font-size: 0.78em;
	font-weight: 700;
	color: #ff9500;
	min-height: 1.1em;
	letter-spacing: 0.02em;
}

/* Skeleton */
.skeleton-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 10px 14px;
	margin-bottom: 6px;
	background: rgba(255, 255, 255, 0.03);
	border-radius: 10px;
	animation: skeletonPulse 1.2s ease-in-out infinite;
}
.skeleton-title {
	display: block;
	height: 0.85em;
	width: 80%;
	background: rgba(255, 255, 255, 0.12);
	border-radius: 6px;
}
.skeleton-section {
	display: block;
	height: 0.7em;
	width: 50%;
	background: rgba(255, 255, 255, 0.07);
	border-radius: 6px;
}

/* Výsledky */
#search-results {
	list-style: none;
	padding: 0;
	margin: 8px 0 0 0;
}
.result-item {
	animation: resultSlideIn 0.25s ease-out both;
}
.results-heading {
	font-size: 0.72em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.35);
	padding: 10px 4px 4px 4px;
	margin-top: 2px;
}
#search-results li a {
	display: flex;
	flex-direction: column;
	padding: 10px 14px;
	background: rgba(255, 255, 255, 0.04);
	border-radius: 10px;
	color: #f5f5f7;
	text-decoration: none;
	transition: 0.3s;
	margin-bottom: 5px;
	border: 1px solid transparent;
}
#search-results li a::before { display: none; }
#search-results li a:hover,
#search-results li a:focus {
	background: rgba(255, 149, 0, 0.12);
	color: #ffcc00;
	border-color: rgba(255, 149, 0, 0.3);
	transform: none;
	outline: none;
}
.result-title {
	font-weight: 600;
	font-size: 0.9em;
}
.result-match {
	color: #ff9500;
	font-weight: 800;
}
#search-results li a:hover .result-match,
#search-results li a:focus .result-match { color: #ffcc00; }
.result-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 4px;
}
.result-desc {
	font-size: 0.74em;
	color: rgba(255, 255, 255, 0.5);
	font-style: italic;
}
#search-results li a:hover .result-desc,
#search-results li a:focus .result-desc { color: rgba(255, 204, 0, 0.65); }

/* Tipy */
.result-tips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 4px 0 6px 0;
}
.tip-chip {
	padding: 5px 12px;
	background: rgba(255, 149, 0, 0.1);
	border: 1px solid rgba(255, 149, 0, 0.25);
	border-radius: 100px;
	color: #ff9500;
	font-size: 0.8em;
	font-weight: 600;
	cursor: pointer;
	transition: 0.3s;
	font-family: inherit;
}
.tip-chip:hover,
.tip-chip:focus {
	background: rgba(255, 149, 0, 0.25);
	color: #ffcc00;
	outline: none;
}

/* Zobrazit více */
.btn-more-results {
	display: block;
	width: 100%;
	padding: 9px 14px;
	background: transparent;
	border: 1px solid rgba(255, 149, 0, 0.3);
	border-radius: 10px;
	color: #ff9500;
	font-size: 0.85em;
	font-weight: 600;
	cursor: pointer;
	transition: 0.3s;
	text-align: center;
	font-family: inherit;
	margin-top: 4px;
}
.btn-more-results:hover,
.btn-more-results:focus {
	background: rgba(255, 149, 0, 0.1);
	color: #ffcc00;
	outline: none;
}

/* === Světlý režim === */
body.light-mode .search-box { border-bottom-color: rgba(0, 0, 0, 0.08); }
body.light-mode .search-status-msg { color: rgba(0, 0, 0, 0.45); }
body.light-mode .search-count-msg { color: #cc6600; }
body.light-mode .results-heading { color: rgba(0, 0, 0, 0.35); }
body.light-mode .skeleton-title { background: rgba(0, 0, 0, 0.08); }
body.light-mode .skeleton-section { background: rgba(0, 0, 0, 0.05); }
body.light-mode .skeleton-item { background: rgba(0, 0, 0, 0.02); }
body.light-mode #search-results li a {
	background: rgba(0, 0, 0, 0.03);
	color: #1c1c1e;
	border-color: rgba(0, 0, 0, 0.05);
}
body.light-mode #search-results li a:hover,
body.light-mode #search-results li a:focus {
	background: rgba(255, 149, 0, 0.1);
	color: #ff9500;
	border-color: rgba(255, 149, 0, 0.25);
}
body.light-mode .result-match { color: #cc6600; }
body.light-mode .result-desc { color: rgba(0, 0, 0, 0.4); }
body.light-mode #search-results li a:hover .result-desc,
body.light-mode #search-results li a:focus .result-desc { color: rgba(180, 80, 0, 0.8); }
body.light-mode .tip-chip {
	background: rgba(255, 149, 0, 0.08);
	border-color: rgba(255, 149, 0, 0.2);
	color: #cc6600;
}
body.light-mode .tip-chip:hover,
body.light-mode .tip-chip:focus { background: rgba(255, 149, 0, 0.2); color: #aa4400; }
body.light-mode .btn-more-results { border-color: rgba(255, 149, 0, 0.3); color: #cc6600; }
body.light-mode .btn-more-results:hover,
body.light-mode .btn-more-results:focus { background: rgba(255, 149, 0, 0.1); color: #aa4400; }

/* --- 12. VYHLEDÁVÁNÍ --- */
@keyframes resultSlideIn {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

.search-box {
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.search-box label {
	display: block;
	font-weight: 600;
	color: #ff9500;
	margin-bottom: 8px;
	font-size: 0.95em;
}
.search-box input[type="search"] {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border-radius: 12px;
	font-size: 0.95em;
}
.search-status-msg {
	margin: 6px 0 0 0;
	font-size: 0.8em;
	color: rgba(255, 255, 255, 0.5);
	min-height: 1.2em;
}
.search-count-msg {
	margin: 2px 0 0 0;
	font-size: 0.78em;
	font-weight: 700;
	color: #ff9500;
	min-height: 1.1em;
}
#search-results {
	list-style: none;
	padding: 0;
	margin: 8px 0 0 0;
}
.result-item {
	animation: resultSlideIn 0.22s ease-out both;
}
.results-heading {
	font-size: 0.72em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.35);
	padding: 10px 4px 4px 4px;
}
/* Nápověda "Zobrazuji výsledky pro:" */
.search-suggestion {
	font-size: 0.8em;
	color: rgba(255, 255, 255, 0.5);
	padding: 4px 4px 8px 4px;
	font-style: italic;
}
.search-suggestion strong {
	color: #ff9500;
	font-style: normal;
}
/* Řádek s názvem a hvězdičkou */
.result-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
}
#search-results li a {
	display: flex;
	flex-direction: column;
	padding: 10px 14px;
	background: rgba(255, 255, 255, 0.04);
	border-radius: 10px;
	color: #f5f5f7;
	text-decoration: none;
	transition: 0.3s;
	margin-bottom: 5px;
	border: 1px solid transparent;
}
#search-results li a::before { display: none; }
#search-results li a:hover,
#search-results li a:focus {
	background: rgba(255, 149, 0, 0.12);
	color: #ffcc00;
	border-color: rgba(255, 149, 0, 0.3);
	transform: none;
	outline: none;
}
.result-title {
	font-weight: 600;
	font-size: 0.9em;
	flex: 1;
}
.result-match {
	color: #ff9500;
	font-weight: 800;
}
#search-results li a:hover .result-match,
#search-results li a:focus .result-match { color: #ffcc00; }
.result-meta { margin-top: 4px; }
.result-desc {
	font-size: 0.74em;
	color: rgba(255, 255, 255, 0.5);
	font-style: italic;
}
#search-results li a:hover .result-desc,
#search-results li a:focus .result-desc { color: rgba(255, 204, 0, 0.65); }

/* Hvězdička oblíbené */
.fav-btn {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1em;
	color: rgba(255, 255, 255, 0.25);
	padding: 0 2px;
	line-height: 1;
	flex-shrink: 0;
	transition: 0.2s;
	font-family: inherit;
}
.fav-btn:hover,
.fav-btn:focus {
	color: #ff9500;
	outline: none;
}
.fav-btn--active { color: #ff9500; }

/* Tipy */
.result-tips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 4px 0 6px 0;
}
.tip-chip {
	padding: 5px 12px;
	background: rgba(255, 149, 0, 0.1);
	border: 1px solid rgba(255, 149, 0, 0.25);
	border-radius: 100px;
	color: #ff9500;
	font-size: 0.8em;
	font-weight: 600;
	cursor: pointer;
	transition: 0.3s;
	font-family: inherit;
}
.tip-chip:hover,
.tip-chip:focus {
	background: rgba(255, 149, 0, 0.25);
	color: #ffcc00;
	outline: none;
}

/* Zobrazit více */
.btn-more-results {
	display: block;
	width: 100%;
	padding: 9px 14px;
	background: transparent;
	border: 1px solid rgba(255, 149, 0, 0.3);
	border-radius: 10px;
	color: #ff9500;
	font-size: 0.85em;
	font-weight: 600;
	cursor: pointer;
	transition: 0.3s;
	text-align: center;
	font-family: inherit;
	margin-top: 4px;
}
.btn-more-results:hover,
.btn-more-results:focus {
	background: rgba(255, 149, 0, 0.1);
	color: #ffcc00;
	outline: none;
}

/* === Světlý režim === */
body.light-mode .search-box { border-bottom-color: rgba(0, 0, 0, 0.08); }
body.light-mode .search-status-msg { color: rgba(0, 0, 0, 0.45); }
body.light-mode .search-count-msg { color: #cc6600; }
body.light-mode .results-heading { color: rgba(0, 0, 0, 0.35); }
body.light-mode .search-suggestion { color: rgba(0, 0, 0, 0.45); }
body.light-mode .search-suggestion strong { color: #cc6600; }
body.light-mode #search-results li a {
	background: rgba(0, 0, 0, 0.03);
	color: #1c1c1e;
	border-color: rgba(0, 0, 0, 0.05);
}
body.light-mode #search-results li a:hover,
body.light-mode #search-results li a:focus {
	background: rgba(255, 149, 0, 0.1);
	color: #ff9500;
	border-color: rgba(255, 149, 0, 0.25);
}
body.light-mode .result-match { color: #cc6600; }
body.light-mode .result-desc { color: rgba(0, 0, 0, 0.4); }
body.light-mode #search-results li a:hover .result-desc,
body.light-mode #search-results li a:focus .result-desc { color: rgba(180, 80, 0, 0.8); }
body.light-mode .fav-btn { color: rgba(0, 0, 0, 0.2); }
body.light-mode .fav-btn:hover,
body.light-mode .fav-btn:focus,
body.light-mode .fav-btn--active { color: #cc6600; }
body.light-mode .tip-chip {
	background: rgba(255, 149, 0, 0.08);
	border-color: rgba(255, 149, 0, 0.2);
	color: #cc6600;
}
body.light-mode .tip-chip:hover,
body.light-mode .tip-chip:focus { background: rgba(255, 149, 0, 0.2); color: #aa4400; }
body.light-mode .btn-more-results { border-color: rgba(255, 149, 0, 0.3); color: #cc6600; }
body.light-mode .btn-more-results:hover,
body.light-mode .btn-more-results:focus { background: rgba(255, 149, 0, 0.1); color: #aa4400; }

/* --- 12. VYHLEDÁVÁNÍ --- */
@keyframes resultSlideIn {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* OPRAVA: .pravy-panel-style potřebuje overflow: visible
   aby výsledky vyhledávání nebyly ořezány */
.pravy-panel-style {
	overflow: visible;
}

.search-box {
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.search-box label {
	display: block;
	font-weight: 600;
	color: #ff9500;
	margin-bottom: 8px;
	font-size: 0.95em;
}
.search-box input[type="search"] {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border-radius: 12px;
	font-size: 0.95em;
}
.search-status-msg {
	margin: 6px 0 0 0;
	font-size: 0.8em;
	color: rgba(255, 255, 255, 0.5);
	min-height: 1.2em;
}
.search-count-msg {
	margin: 2px 0 0 0;
	font-size: 0.78em;
	font-weight: 700;
	color: #ff9500;
	min-height: 1.1em;
}
#search-results,
#mas-search-results {
	list-style: none;
	padding: 0;
	margin: 8px 0 0 0;
}
.result-item {
	animation: resultSlideIn 0.22s ease-out both;
}
.results-heading {
	font-size: 0.72em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.35);
	padding: 10px 4px 4px 4px;
}
.search-suggestion {
	font-size: 0.8em;
	color: rgba(255, 255, 255, 0.5);
	padding: 4px 4px 8px 4px;
	font-style: italic;
}
.search-suggestion strong {
	color: #ff9500;
	font-style: normal;
}

/* OPRAVA: result-item-inner jako flex – odkaz vlevo, hvězdička vpravo */
.result-item-inner {
	display: flex;
	align-items: flex-start;
	gap: 4px;
	margin-bottom: 5px;
}
.result-item-inner > a {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 10px 14px;
	background: rgba(255, 255, 255, 0.04);
	border-radius: 10px;
	color: #f5f5f7;
	text-decoration: none;
	transition: 0.3s;
	border: 1px solid transparent;
	min-width: 0;
}
.result-item-inner > a::before { display: none; }
.result-item-inner > a:hover,
.result-item-inner > a:focus {
	background: rgba(255, 149, 0, 0.12);
	color: #ffcc00;
	border-color: rgba(255, 149, 0, 0.3);
	transform: none;
	outline: none;
}
/* Zachovat kompatibilitu s index.html (starý selektor) */
#search-results li a {
	display: flex;
	flex-direction: column;
	padding: 10px 14px;
	background: rgba(255, 255, 255, 0.04);
	border-radius: 10px;
	color: #f5f5f7;
	text-decoration: none;
	transition: 0.3s;
	margin-bottom: 5px;
	border: 1px solid transparent;
}
#search-results li a::before { display: none; }
#search-results li a:hover,
#search-results li a:focus {
	background: rgba(255, 149, 0, 0.12);
	color: #ffcc00;
	border-color: rgba(255, 149, 0, 0.3);
	transform: none;
	outline: none;
}
.result-title {
	font-weight: 600;
	font-size: 0.9em;
}
.result-match {
	color: #ff9500;
	font-weight: 800;
}
.result-item-inner > a:hover .result-match,
.result-item-inner > a:focus .result-match,
#search-results li a:hover .result-match,
#search-results li a:focus .result-match { color: #ffcc00; }
.result-meta { margin-top: 4px; }
.result-desc {
	font-size: 0.74em;
	color: rgba(255, 255, 255, 0.5);
	font-style: italic;
}
.result-item-inner > a:hover .result-desc,
.result-item-inner > a:focus .result-desc,
#search-results li a:hover .result-desc,
#search-results li a:focus .result-desc { color: rgba(255, 204, 0, 0.65); }

/* Hvězdička – samostatné tlačítko VEDLE odkazu */
.fav-btn {
	flex-shrink: 0;
	align-self: center;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1em;
	color: rgba(255, 255, 255, 0.25);
	padding: 6px 4px;
	line-height: 1;
	transition: 0.2s;
	font-family: inherit;
	border-radius: 6px;
}
.fav-btn:hover,
.fav-btn:focus { color: #ff9500; outline: 2px solid rgba(255,149,0,0.4); }
.fav-btn--active { color: #ff9500; }

/* Tipy */
.result-tips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 4px 0 6px 0;
}
.tip-chip {
	padding: 5px 12px;
	background: rgba(255, 149, 0, 0.1);
	border: 1px solid rgba(255, 149, 0, 0.25);
	border-radius: 100px;
	color: #ff9500;
	font-size: 0.8em;
	font-weight: 600;
	cursor: pointer;
	transition: 0.3s;
	font-family: inherit;
}
.tip-chip:hover,
.tip-chip:focus {
	background: rgba(255, 149, 0, 0.25);
	color: #ffcc00;
	outline: none;
}

/* Zobrazit více */
.btn-more-results {
	display: block;
	width: 100%;
	padding: 9px 14px;
	background: transparent;
	border: 1px solid rgba(255, 149, 0, 0.3);
	border-radius: 10px;
	color: #ff9500;
	font-size: 0.85em;
	font-weight: 600;
	cursor: pointer;
	transition: 0.3s;
	text-align: center;
	font-family: inherit;
	margin-top: 4px;
}
.btn-more-results:hover,
.btn-more-results:focus {
	background: rgba(255, 149, 0, 0.1);
	color: #ffcc00;
	outline: 2px solid rgba(255,149,0,0.4);
}

/* === Světlý režim === */
body.light-mode .search-box { border-bottom-color: rgba(0, 0, 0, 0.08); }
body.light-mode .search-status-msg { color: rgba(0, 0, 0, 0.45); }
body.light-mode .search-count-msg { color: #cc6600; }
body.light-mode .results-heading { color: rgba(0, 0, 0, 0.35); }
body.light-mode .search-suggestion { color: rgba(0, 0, 0, 0.45); }
body.light-mode .search-suggestion strong { color: #cc6600; }
body.light-mode .result-item-inner > a,
body.light-mode #search-results li a {
	background: rgba(0, 0, 0, 0.03);
	color: #1c1c1e;
	border-color: rgba(0, 0, 0, 0.05);
}
body.light-mode .result-item-inner > a:hover,
body.light-mode .result-item-inner > a:focus,
body.light-mode #search-results li a:hover,
body.light-mode #search-results li a:focus {
	background: rgba(255, 149, 0, 0.1);
	color: #ff9500;
	border-color: rgba(255, 149, 0, 0.25);
}
body.light-mode .result-match { color: #cc6600; }
body.light-mode .result-desc { color: rgba(0, 0, 0, 0.4); }
body.light-mode .result-item-inner > a:hover .result-desc,
body.light-mode .result-item-inner > a:focus .result-desc,
body.light-mode #search-results li a:hover .result-desc,
body.light-mode #search-results li a:focus .result-desc { color: rgba(180, 80, 0, 0.8); }
body.light-mode .fav-btn { color: rgba(0, 0, 0, 0.2); }
body.light-mode .fav-btn:hover,
body.light-mode .fav-btn:focus,
body.light-mode .fav-btn--active { color: #cc6600; }
body.light-mode .tip-chip {
	background: rgba(255, 149, 0, 0.08);
	border-color: rgba(255, 149, 0, 0.2);
	color: #cc6600;
}
body.light-mode .tip-chip:hover,
body.light-mode .tip-chip:focus { background: rgba(255, 149, 0, 0.2); color: #aa4400; }
body.light-mode .btn-more-results { border-color: rgba(255, 149, 0, 0.3); color: #cc6600; }
body.light-mode .btn-more-results:hover,
body.light-mode .btn-more-results:focus { background: rgba(255, 149, 0, 0.1); color: #aa4400; }

/* ── Mailová sekce ── */
.mail-btn { text-align: center; margin-top: 40px; }
.mail-btn p { margin-bottom: 12px; }

/* ── Sdílecí sekce ── */
.share-section { text-align: center; margin-top: 40px; }
.share-buttons { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; margin-top: 20px; }

/* ── Nadpis navigace ── */
.nav-heading { margin-top: 0; font-size: 1.4em; text-align: center; }
