/* 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; } }

/* Štítek „Nově: napojení na AI agenty“ vpravo nahoře na bannerech e-shopu a portálu (Jiří, 7. 11. 2026: „ať to je hned vidět“).
   HTML překryv, ne součást obrázku; odkaz na sekci #ai příslušné stránky. */
.zb-ai { position: absolute; top: 14px; right: 14px; z-index: 2; display: flex !important; height: auto !important; align-items: center; gap: 10px;
  padding: 9px 15px 9px 11px; border-radius: 14px; color: #fff; text-decoration: none; max-width: 46%;
  /* štítek AI (Jiří 7. 11.): sytý fialovo-purpurový gradient, jinde na webu není; bílý text má proti každé zastávce kontrast ≥ 4.5 */
  background-color: #7e22ce; background-image: linear-gradient(120deg, #6d28d9 0%, #a21caf 55%, #be185d 100%);
  border: 1.5px solid rgba(255, 255, 255, .9);
  box-shadow: 0 0 0 3px rgba(236, 72, 153, .35), 0 10px 28px rgba(109, 40, 217, .55), 0 2px 6px rgba(0, 0, 0, .35);
  animation: zb-ai-glow 2.6s ease-in-out infinite; }
.zb-ai::before { content: ""; position: absolute; top: -5px; left: -5px; width: 12px; height: 12px; border-radius: 50%;
  background: #fde047; border: 2px solid #fff; box-shadow: 0 0 0 0 rgba(253, 224, 71, .8); animation: zb-ai-dot 1.8s ease-out infinite; }
.zb-ai:hover, .zb-ai:focus-visible { color: #fff; border-color: #fff; transform: translateY(-1px);
  background-image: linear-gradient(120deg, #5b21b6 0%, #86198f 55%, #9d174d 100%); }
.zb-ai:focus-visible { outline: 3px solid #fde047; outline-offset: 3px; }
.zb-ai-ico { flex: none; width: 22px; height: 22px; fill: #fde047; filter: drop-shadow(0 0 5px rgba(253, 224, 71, .9)); animation: zb-ai-pulse 2.4s ease-in-out infinite; }
.zb-ai span { display: flex; flex-direction: column; line-height: 1.2; }
.zb-ai b { font-size: clamp(12.5px, 1.3vw, 15.5px); font-weight: 800; letter-spacing: .01em; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .3); }
.zb-ai small { font-size: clamp(10px, .95vw, 12px); color: #fff; opacity: 1; margin-top: 2px; font-weight: 500; }
@keyframes zb-ai-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.15); } }
@keyframes zb-ai-glow { 0%, 100% { box-shadow: 0 0 0 3px rgba(236, 72, 153, .35), 0 10px 28px rgba(109, 40, 217, .55), 0 2px 6px rgba(0, 0, 0, .35); }
  50% { box-shadow: 0 0 0 5px rgba(236, 72, 153, .5), 0 10px 34px rgba(192, 38, 211, .75), 0 2px 6px rgba(0, 0, 0, .35); } }
@keyframes zb-ai-dot { 0% { box-shadow: 0 0 0 0 rgba(253, 224, 71, .85); } 70%, 100% { box-shadow: 0 0 0 9px rgba(253, 224, 71, 0); } }
@media (prefers-reduced-motion: reduce) { .zb-ai, .zb-ai-ico, .zb-ai::before { animation: none; } }
@media (max-width: 640px) {
  .zb-ai { top: 8px; right: 8px; padding: 6px 9px 6px 7px; gap: 6px; border-radius: 10px; max-width: 62%; }
  .zb-ai-ico { width: 16px; height: 16px; }
  .zb-ai small, .zb-ai .zb-ai-long { display: none; }
}
