:root { --maxw: 600px; --accent: #5B5992; }
    html { scroll-behavior: smooth; }
    body { font-family:'Inter',sans-serif; margin:0; background:#fff; color:#111; }
    main { max-width:var(--maxw); margin:0 auto; padding:24px 16px 8px; }
    header { text-align:center; }
    img { max-width:100%; height:auto; display:block; margin:0 auto; }
    nav { margin:16px 0 8px; position:sticky; top:0; background:#fff; z-index:1000; padding:6px 0; border-bottom:1px solid #eee; }
    nav ul { display:flex; justify-content:center; gap:16px; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
    nav a { text-decoration:none; color:#111; font-weight:700; padding:8px 14px; border-radius:8px; }
    nav a:hover, nav a:focus-visible { background:var(--accent); color:#fff; outline:none; }
    section { margin:24px 0; line-height:1.6; scroll-margin-top: 64px; }
    h2 { text-align:center; margin-bottom:12px; }
    /* Galerie */
    .gallery { display:grid; grid-template-columns:1fr; gap:14px; }
    @media(min-width:520px){.gallery{grid-template-columns:repeat(2,1fr);} }
    .thumb { border-radius:10px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,0.08); transition:.25s; background:#fff; }
    .thumb:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,0.18); }
img[src="pl.png"]:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,0.18); }
    .thumb img{ width:100%; height:auto; display:block; object-fit:contain; }
    .thumb figcaption{font-size:13px;color:#555;text-align:center;margin:6px 0 4px;}
    .thumb figcaption a{color:var(--accent);text-decoration:none;}
    .thumb figcaption a:hover{text-decoration:underline;}
    /* Registrace */
    .contact-card { padding:16px; border:1px solid #eee; border-radius:10px; background:#fafafa; }
    .contact-card label { display:block; margin:8px 0 6px; font-weight:600; }
    .contact-card input,
    .contact-card textarea {
      width:100%;
      padding:10px;
      border:1px solid #ddd;
      border-radius:8px;
      font:inherit;
      box-sizing:border-box;
    }
    .contact-card textarea{min-height:110px;}
    .btn{background:var(--accent);color:#fff;border:none;padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:700;}
    .alert{padding:10px;border-radius:10px;margin-bottom:12px;text-align:center;}
    .alert.ok{background:#e8f6ee;color:#0f7a3a;}
    .alert.err{background:#fdecec;color:#9d1f1f;}
    footer{text-align:center;padding:24px 16px 48px;font-size:14px;color:#444;}
    footer p{margin:4px 0;}
    footer a[href^="tel"], footer a[href^="mailto"] { color:#5B5992; text-decoration:none; font-weight:600; }
    footer a[href^="tel"]:hover, footer a[href^="mailto"]:hover { text-decoration:underline; }
    /* Šipka Zpět nahoru */
    .back-to-top {
      display:none;
      position:fixed;
      bottom:20px;
      right:20px;
      background:var(--accent);
      color:#fff;
      width:44px;
      height:44px;
      border-radius:50%;
      font-size:22px;
      text-align:center;
      line-height:44px;
      text-decoration:none;
      box-shadow:0 4px 8px rgba(0,0,0,0.3);
      z-index:10000;
    }
    @media(max-width:768px){
      .back-to-top { display:block; }
    }
  


.thumb img[src="pl.png"] {
  max-width: 50%;
  height: auto;
  margin: 20px auto; /* space and center horizontally */
  display: block;
}

a.poster { display:block; width:fit-content; margin: 16px auto; }
a.poster img { width:auto !important; max-width:50% !important; height:auto; display:block; margin: 0 auto; }


a.poster { 
  display: inline-block;       /* shrink-wrap to image */
  background: transparent;     /* no big white box */
  box-shadow: none;            /* reset default .thumb shadow */
  margin: 16px auto;
  border-radius: 10px;         /* keep same rounding for image corners */
  overflow: hidden;
}
a.poster:hover {
  box-shadow: 0 10px 24px rgba(0,0,0,0.18); /* shadow only on hover */
  transform: translateY(-2px);
}
a.poster img {
  width: auto !important; 
  max-width: 50% !important;   /* keep the 50% visual size */
  height: auto;
  display: block;
  margin: 0 auto;
}


.poster { 
  display:inline-block; 
  margin:16px auto; 
  border-radius:10px; 
  overflow:hidden;
  background:transparent;
}
.poster:hover { 
  transform:translateY(-2px); 
  box-shadow:0 10px 24px rgba(0,0,0,0.18);
}
.poster img { 
  width:auto !important; 
  max-width:50% !important; 
  height:auto; 
  display:block; 
  margin:0 auto; 
}

/* Ensure poster has no white background even on hover */
.poster, .poster:hover {
  background: transparent !important;
}

/* Poster (pl.png) adjustments - hover only on image, no background expansion */
.poster, .poster:hover {
  background: transparent !important;
  box-shadow: none !important;
}
.poster img {
  width: auto !important;
  max-width: 50% !important;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 10px;
  transition: transform 0.25s, box-shadow 0.25s;
}
.poster img:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}

/* ===== VERZE 10 – Design polish ===== */
:root{
  --bg:#ffffff;
  --text:#111111;
  --muted:#666666;
  --card:#fafafa;
  --radius:12px;
}

/* Typography */
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);}
h1{font-weight:800; line-height:1.05; margin:8px 0 6px; font-size:clamp(24px, 4vw, 40px); letter-spacing:-0.02em;}
h2{font-weight:800; line-height:1.15; font-size:clamp(20px, 3vw, 28px); letter-spacing:-0.01em; margin:18px 0 10px;}
p{color:var(--text);}

/* Nav – better sticky look */
nav{ position: sticky; top:0; background:rgba(255,255,255,.9); backdrop-filter:saturate(160%) blur(8px); }
nav ul{ gap:20px; }
nav a{ border-radius:10px; }
nav a:hover, nav a:focus-visible{ transform:translateY(-1px); transition:.2s; }

/* Sections spacing */
main{ padding:28px 16px 16px; }
section{ margin:28px 0; }
section .container{ max-width:var(--maxw); margin:0 auto; padding:0 4px; }

/* Links */
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:underline; text-underline-offset:2px; }

/* Buttons */
.btn{ border-radius:12px; padding:12px 18px; transition:transform .15s, box-shadow .15s; }
.btn:hover{ transform:translateY(-1px); box-shadow:0 10px 20px rgba(0,0,0,.12); }

/* Gallery thumbnails */
.gallery{ gap:16px; }
.thumb{ border-radius:var(--radius); background:#fff; }
.thumb img{ aspect-ratio:auto; }
.thumb figcaption{ color:var(--muted); font-size:13px; }

/* Poster (pl.png) – keep previous behavior */
.poster, .poster:hover{ background:transparent !important; box-shadow:none !important; }
.poster img{ width:auto !important; max-width:50% !important; height:auto; display:block; margin:0 auto; border-radius:10px; transition:transform .25s, box-shadow .25s; }
.poster img:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.18); }

/* Utilities */
.visually-hidden{ position:absolute!important; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }

/* Dark mode (auto) */
@media (prefers-color-scheme: dark){
  :root{ --bg:#0f1115; --text:#f4f6f8; --muted:#a3acb9; --card:#171922; }
  body{ background:var(--bg); color:var(--text); }
  nav{ background:rgba(15,17,21,.75); }
  .thumb{ background:#141720; box-shadow:0 2px 10px rgba(0,0,0,.4); }
  .contact-card{ background:#141720; border-color:#222739; }
  .btn{ box-shadow:0 2px 8px rgba(0,0,0,.25); }
}
/* ===== /VERZE 10 ===== */

/* ===== VERZE 11 – Menu Upgrade ===== */

/* Smooth scroll for anchor links */
html {
  scroll-behavior: smooth;
}

/* Menu link style */
nav a {
  position: relative;
  font-weight: 600;
  letter-spacing: 0.5px;
  padding: 4px 2px;
  transition: color .3s ease;
}

nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0;
  height: 2px;
  background: #ff5722; /* Accent color */
  transition: width 0.3s ease;
}

nav a:hover::after,
nav a:focus-visible::after {
  width: 100%;
}

nav a:hover,
nav a:focus-visible {
  color: #ff5722;
}

/* ===== /VERZE 11 ===== */

/* ===== VERZE 11 – Menu upgrade ===== */
:root{
  --accent-contrast:#5398AC; /* nav underline accent */
}

nav a{
  position:relative;
  font-weight:600;
  letter-spacing:.5px;
  text-decoration:none;
}

nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:0;
  height:2px;
  background:var(--accent-contrast);
  transition:width .3s ease;
}

nav a:hover::after,
nav a:focus-visible::after{
  width:100%;
}

/* Optional: active state when link is focused/clicked */
nav a:active{
  transform:translateY(-1px);
}
/* ===== /VERZE 11 ===== */

/* ===== VERZE 12 – Menu underline visible + color change ===== */
:root{
  --accent-contrast:#5398AC;
}

nav ul li a{
  position:relative;
  font-weight:600;
  letter-spacing:.5px;
  text-decoration:none;
  transition:color .3s ease;
}

nav ul li a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:0;
  height:2px;
  background:var(--accent-contrast);
  transition:width .3s ease;
}

nav ul li a:hover,
nav ul li a:focus-visible{
  color:var(--accent-contrast);
}

nav ul li a:hover::after,
nav ul li a:focus-visible::after{
  width:100%;
}
/* ===== /VERZE 12 ===== */

/* ===== VERZE 12 – Menu underline + color (stronger selectors) ===== */
:root{ --accent-contrast:#5398AC; } /* change if you want another color */

nav ul li a{
  position:relative;
  font-weight:650;
  letter-spacing:.4px;
  text-decoration:none !important;
  transition:color .25s ease;
}

nav ul li a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:0;
  height:2px;
  background:var(--accent-contrast);
  transition:width .25s ease;
}

nav ul li a:hover,
nav ul li a:focus-visible{
  color:var(--accent-contrast) !important;
}

nav ul li a:hover::after,
nav ul li a:focus-visible::after{
  width:100%;
}
/* ===== /VERZE 12 ===== */

/* ===== VERZE 23 – Partners section paragraph style ===== */
#partneri p {
  text-align: center;
  color: #555;
  font-size: 1.1em;
  margin-bottom: 20px;
}
/* ===== /VERZE 23 ===== */

/* ===== VERZE 24 – Fixed nav always visible ===== */
:root{ --navh: 60px; }

nav{
  position: fixed !important;
  top: 0; left: 0; right: 0;
  height: var(--navh);
  margin: 0 !important;
  z-index: 1000;
  display: flex;
  align-items: center;
  background: rgba(255,255,255,.9);
  backdrop-filter: saturate(160%) blur(8px);
  border-bottom: 1px solid #eee;
}

nav ul{ justify-content: center; gap: 20px; width: 100%; }

/* Push page content below the fixed nav */
main{ padding-top: calc(var(--navh) + 12px); }

/* Keep anchor offset for in-page links */
section{ scroll-margin-top: calc(var(--navh) + 8px); }

@media (prefers-color-scheme: dark){
  nav{ background: rgba(15,17,21,.80); border-bottom-color:#222739; }
}
/* ===== /VERZE 24 ===== */

/* ===== VERZE 25 – Nav visibility hard fix ===== */
header{ overflow: visible !important; }
nav{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  pointer-events: auto;
}
main{ padding-top: calc(var(--navh, 60px) + 14px) !important; }
section{ scroll-margin-top: calc(var(--navh, 60px) + 10px) !important; }
/* ===== /VERZE 25 ===== */

form button { margin-top: 16px; }

.info-text { font-size: 0.9em; color: #888; margin-bottom: 16px; }
