    /* nastavení stylů pro všechny stránky */
    :root{
      --bg:#0b0f14;
      --card:#111826;
      --muted:#94a3b8;
      --text:#e5e7eb;
      --brand:#22c55e;
      --brand2:#16a34a;
      --ring: rgba(34,197,94,.35);
      --shadow: 0 20px 60px rgba(0,0,0,.45);
      --radius: 18px;
      --max: 1100px;
      --border: rgba(148,163,184,.16);
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
      background:
        radial-gradient(900px 500px at 20% -10%, rgba(34,197,94,.20), transparent 60%),
        radial-gradient(900px 500px at 90% 10%, rgba(59,130,246,.12), transparent 60%),
        var(--bg);
      color:var(--text);
      line-height:1.55;
      background-repeat: no-repeat, no-repeat, no-repeat;
    }
    a{color:inherit}
    .wrap{max-width:var(--max); margin:0 auto; padding: 18px 18px 60px;}

    header{
      position: sticky; top:0; z-index: 50;
      backdrop-filter: blur(10px);
      background: rgba(11,15,20,.55);
      border-bottom: 1px solid rgba(148,163,184,.15);
    }
    .nav{
      max-width:var(--max); margin:0 auto;
      display:flex; align-items:center; justify-content:space-between;
      padding: 12px 18px;
      gap:14px;
      position: relative;
    }

    .brand{
      display:flex; align-items:center; gap:12px;
      min-width: 220px;
    }
    .logo-wide{
      height: 44px;
      width: auto;
      display:block;
      border-radius: 14px;
      background: rgba(148,163,184,.10);
      border: 1px solid rgba(148,163,184,.18);
      padding: 8px 10px;
    }
    .badge{
      font-size:12px; font-weight:900;
      padding: 6px 10px; border-radius:999px;
      background: rgba(34,197,94,.18);
      border:1px solid rgba(34,197,94,.35);
      color: #bbf7d0;
      white-space:nowrap;
    }

    nav ul{list-style:none; display:flex; gap:14px; margin:0; padding:0; align-items:center}
    nav a{
      text-decoration:none;
      color: var(--muted);
      font-weight:800;
      padding:10px 10px;
      border-radius:12px;
    }
    nav a:hover{color:var(--text); background: rgba(148,163,184,.10)}
    .cta{display:flex; gap:10px; align-items:center}

    .btn{
      border:0; cursor:pointer;
      font-weight:950;
      padding: 10px 14px;
      border-radius: 14px;
      background: linear-gradient(135deg, var(--brand), var(--brand2));
      color:#052e13;
      box-shadow: 0 10px 30px rgba(34,197,94,.22);
      text-decoration:none;
      display:inline-flex; align-items:center; gap:8px;
      white-space: nowrap;
    }
    .btn:focus{outline:3px solid var(--ring); outline-offset:2px}
    .btn.secondary{
      background: rgba(148,163,184,.12);
      border:1px solid rgba(148,163,184,.18);
      color: var(--text);
      box-shadow:none;
      font-weight:900;
    }
    .btn.secondary:hover{background: rgba(148,163,184,.18)}

    .menu-btn{display:none}

/* Ikonkové tlačítko v hlavičce (mobil) + velké CTA (desktop) */
.icon-btn{
  display:none;
  padding: 10px 12px;
  font-size: 18px;
  line-height: 1;
}

.desktop-cta{
  display:inline-flex;
}

    .card{
      background: linear-gradient(180deg, rgba(17,24,38,.92), rgba(17,24,38,.72));
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      overflow:hidden;
    }

    .hero{
      padding: 26px 0 18px;
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 22px;
      align-items: stretch;
    }
    .hero-main{padding: 26px 24px}
    .kicker{
      display:flex; gap:10px; align-items:center; flex-wrap:wrap;
      color: var(--muted);
      font-weight:900;
    }
    .dot{
      width:10px; height:10px; border-radius:999px;
      background: var(--brand);
      box-shadow: 0 0 0 6px rgba(34,197,94,.15);
    }
    .hero-title{
      margin: 12px 0 10px;
      font-size: clamp(28px, 4vw, 44px);
      line-height:1.1;
      letter-spacing:-.6px;
      font-weight: 980;
      text-transform: uppercase;
    }
    .lead{color: var(--muted); font-size: 16px; margin: 0 0 16px}
    .hero-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top: 14px}
    .features{
      display:grid; grid-template-columns: repeat(3, 1fr);
      gap: 10px; margin-top: 18px;
    }
    .mini{
      padding: 12px 12px;
      border-radius: 16px;
      background: rgba(148,163,184,.08);
      border:1px solid rgba(148,163,184,.14);
    }
    .mini strong{display:block; font-size:14px}
    .mini span{display:block; color:var(--muted); font-size:13px; margin-top:3px}

    .hero-side{display:flex; flex-direction:column;}
    .status{padding: 18px 18px 16px; display:flex; flex-direction:column; gap:10px;}
    .status-top{display:flex; align-items:center; justify-content:space-between; gap:10px;}
    .open{
      display:flex; align-items:center; gap:10px; font-weight:980;
      color:#bbf7d0;
    }
    .open .lamp{
      width:12px; height:12px; border-radius:999px;
      background: var(--brand);
      box-shadow: 0 0 0 8px rgba(34,197,94,.14);
    }
    .pill{
      font-size:12px; font-weight:950;
      padding: 6px 10px; border-radius: 999px;
      background: rgba(59,130,246,.14);
      border:1px solid rgba(59,130,246,.25);
      color:#bfdbfe;
      white-space:nowrap;
    }
    .status p{margin:0; color:var(--muted)}
    .hours{
      padding: 16px 18px;
      border-top:1px solid rgba(148,163,184,.12);
      display:grid;
      gap:10px;
    }
    .row{
      display:flex; justify-content:space-between; align-items:center;
      padding: 10px 12px;
      border-radius: 14px;
      background: rgba(148,163,184,.06);
      border:1px solid rgba(148,163,184,.12);
      color: var(--muted);
      font-weight:900;
    }
    .row b{color:var(--text)}

    section{padding: 22px 0}
    .section-title{
      display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
      margin-bottom: 10px;
    }
    h2{margin:0; font-size: 20px; letter-spacing:-.2px}
    .sub{color: var(--muted); margin:0}

    .grid2{display:grid; grid-template-columns: 1fr 1fr; gap: 18px}
    .grid3{display:grid; grid-template-columns: repeat(3,1fr); gap: 14px}
    .box{padding: 18px}

    .list{margin:10px 0 0; padding:0; list-style:none; display:grid; gap:10px}
    .list li{
      padding: 12px 12px;
      border-radius: 14px;
      background: rgba(148,163,184,.06);
      border:1px solid rgba(148,163,184,.12);
      color: var(--muted);
      font-weight:800;
    }
    .list li b{color: var(--text)}

    .promo{
      padding: 16px;
      border-radius: var(--radius);
      background:
        radial-gradient(600px 200px at 20% 0%, rgba(34,197,94,.18), transparent 60%),
        rgba(17,24,38,.75);
      border:1px solid var(--border);
    }
    .promo h3{margin:0 0 6px; font-size: 16px}
    .promo p{margin:0; color: var(--muted)}

    .map{
      border:0;
      width:100%;
      height: 330px;
      border-radius: var(--radius);
      filter: saturate(1.1) contrast(1.05);
    }

    /* Okénko Podpora projektu */
    .cofin{
      padding: 18px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .cofin-box{
      border-radius: 16px;
      background: rgba(148,163,184,.06);
      border:1px dashed rgba(148,163,184,.35);
      padding: 12px;
    }
    .cofin-img{
      width:100%;
      max-height: 140px;
      object-fit: contain;
      display:block;
      border-radius: 12px;
      background: rgba(0,0,0,.25);
      border:1px solid rgba(148,163,184,.12);
    }
    .cofin-help{
      color: var(--muted);
      font-size: 13px;
      margin: 0;
      font-weight: 700;
    }

    footer{
      margin-top: 22px;
      padding-top: 18px;
      border-top:1px solid rgba(148,163,184,.14);
      color: var(--muted);
      display:flex; flex-wrap:wrap; gap:12px;
      justify-content:space-between; align-items:center;
    }
    .small{font-size:13px}

    @media (max-width: 940px){
      .hero{grid-template-columns: 1fr;}
      .features{grid-template-columns: 1fr;}
      .grid2{grid-template-columns: 1fr}
      .grid3{grid-template-columns: 1fr}

      /* Mobilní hlavička – oprava přetečení */
      .nav{align-items:center;}
      .brand{min-width:0; flex:1; gap:8px;}
      .logo-wide{height: 34px; padding: 6px 8px;}
      .badge{display:none;}
      .cta{gap:8px;}


      /* Mobilní hlavička – ikonka místo velkého CTA */
      .desktop-cta{display:none;}
      .icon-btn{display:inline-flex;}
      nav ul{display:none}
      .menu-btn{display:inline-flex}
      .nav.open nav ul{
        display:flex; flex-direction:column; align-items:stretch;
        position:absolute; left:18px; right:18px; top:64px;
        padding: 12px;
        background: rgba(17,24,38,.92);
        border:1px solid var(--border);
        border-radius: 18px;
        backdrop-filter: blur(10px);
      }
      .nav.open nav a{padding:12px}
    }
    
    /* Plovoucí tlačítko Nahoru */
    .to-top{
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 9999;
      opacity: 0;
      transform: translateY(8px);
      pointer-events: none;
      transition: opacity .2s ease, transform .2s ease;
    }
    
    .to-top.show{
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }
    
    html{
      scroll-behavior: smooth;
    }
    
    .to-top{ -webkit-transform: translateY(8px) translateZ(0); }
    
    .to-top.show{ -webkit-transform: translateY(0) translateZ(0); }
    