/* Karusel bannerů na úvodu (dřív vložené ve stránce Default.cshtml); obsah stránky je teď upravitelný ve správě. */
.zb { position: relative; width: 100%; overflow: hidden; padding: 18px 0 10px 0; background: #f2f4f5; }
.zb-track { display: flex; gap: 14px; transition: transform .6s cubic-bezier(.22,.8,.3,1); will-change: transform; }
.zb-slide { flex: 0 0 min(1000px, 86vw); aspect-ratio: 996 / 344; position: relative; border-radius: 10px; overflow: hidden;
            box-shadow: 0 6px 22px rgba(0,0,0,.18); opacity: .45; transition: opacity .6s; background: #034a58; }
.zb-slide.is-active { opacity: 1; }
.zb-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.zb-slide a { display: block; height: 100%; }
.zb-cap { position: absolute; left: 0; top: 0; bottom: 0; width: 55%; display: flex; flex-direction: column; justify-content: center;
          padding: 0 4%; color: #fff; background: linear-gradient(90deg, rgba(3,74,88,.88), rgba(3,74,88,0)); }
.zb-cap h3 { color: #fff; font-weight: 700; margin: 0 0 .4em 0; font-size: clamp(16px, 2.4vw, 30px); }
.zb-cap p { margin: 0 0 1em 0; font-size: clamp(12px, 1.3vw, 16px); line-height: 1.4; }
.zb-cap .button { align-self: flex-start; margin: 0; }
.zb-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 46px; height: 46px; border-radius: 50%;
            border: 0; background: rgba(255,255,255,.92); color: #034a58; font-size: 26px; line-height: 46px; text-align: center;
            cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,.25); padding: 0; transition: background .2s, transform .2s; }
.zb-arrow:hover { background: #94c11f; color: #fff; }
.zb-arrow:focus-visible { outline: 3px solid #94c11f; outline-offset: 2px; }
.zb-prev { left: calc(50% - min(500px, 43vw) - 23px); }
.zb-next { right: calc(50% - min(500px, 43vw) - 23px); }
.zb-dots { display: flex; justify-content: center; gap: 8px; margin-top: 12px; }
.zb-dots button { width: 10px; height: 10px; border-radius: 50%; border: 0; padding: 0; background: #b9c4c7; cursor: pointer; margin: 0; }
.zb-dots button.is-active { background: #94c11f; width: 26px; border-radius: 5px; }
@media (max-width: 640px) {
    .zb-slide { flex-basis: 92vw; }
    .zb-prev { left: 2px; } .zb-next { right: 2px; }
    .zb-arrow { width: 36px; height: 36px; line-height: 36px; font-size: 20px; }
    .zb-cap { width: 80%; }
    .zb-cap p { display: none; }
}
@media (prefers-reduced-motion: reduce) { .zb-track, .zb-slide { transition: none; } }
