/* Doplnky k vygenerovanému štýlu: cookie lišta a lightbox.
   Sú písané samostatne, aby nezáviseli na triedach Tailwindu –
   tie sa do style.css dostanú len ak ich používa nejaká stránka. */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* --- Cookie lišta -------------------------------------------------------- */
.cookie-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:70;
  background:#fff; border-top:1px solid #e5e7eb;
  box-shadow:0 -4px 24px rgba(0,0,0,.10);
  padding:18px 20px;
}
.cookie-bar__in{
  max-width:1100px; margin:0 auto;
  display:flex; flex-wrap:wrap; gap:14px 22px; align-items:center;
}
.cookie-bar__txt{flex:1 1 320px; margin:0; font-size:14px; line-height:1.6; color:#374151}
.cookie-bar__txt a{color:#dc2626; text-decoration:underline}
.cookie-bar__btns{display:flex; flex-wrap:wrap; gap:10px}
.cookie-btn{
  font:inherit; font-size:14px; font-weight:600; cursor:pointer;
  padding:10px 18px; border-radius:2px; border:1px solid transparent;
  transition:background-color .2s, color .2s;
}
.cookie-btn--primary{background:#dc2626; color:#fff}
.cookie-btn--primary:hover{background:#b91c1c}
.cookie-btn--ghost{background:#fff; color:#374151; border-color:#d1d5db}
.cookie-btn--ghost:hover{background:#f3f4f6}
.cookie-btn:focus-visible{outline:2px solid #dc2626; outline-offset:2px}

/* --- Lightbox ------------------------------------------------------------ */
.lb{position:fixed; inset:0; z-index:80; background:rgba(0,0,0,.92); display:flex; align-items:center; justify-content:center}
.lb[hidden]{display:none}
.lb__img{max-width:92vw; max-height:88vh; object-fit:contain}
.lb__btn{
  position:absolute; background:rgba(255,255,255,.12); color:#fff; border:0; cursor:pointer;
  width:48px; height:48px; border-radius:999px; font-size:26px; line-height:1;
  display:flex; align-items:center; justify-content:center; transition:background-color .2s;
}
.lb__btn:hover{background:rgba(255,255,255,.25)}
.lb__btn:focus-visible{outline:2px solid #fff; outline-offset:2px}
.lb__close{top:18px; right:18px}
.lb__prev{left:18px; top:50%; transform:translateY(-50%)}
.lb__next{right:18px; top:50%; transform:translateY(-50%)}
.lb__count{position:absolute; bottom:20px; left:50%; transform:translateX(-50%); color:#fff; font-size:14px}

/* --- Postupné odkrývanie pri scrollovaní ---------------------------------
   Pôvodné animácie robil framer-motion, ktorý do HTML zapisoval opacity:0
   a dopĺňal ich až v prehliadači – bez neho zostala stránka biela.
   Skryté sú preto len vtedy, keď JavaScript beží a stihne ich odkryť. */
.js-reveal [data-reveal]{
  opacity:0; transform:translateY(24px);
  transition:opacity .5s ease, transform .5s ease;
}
.js-reveal [data-reveal].is-in{opacity:1; transform:none}
@media (prefers-reduced-motion: reduce){
  .js-reveal [data-reveal]{opacity:1; transform:none; transition:none}
}

/* Balík 1: dostupná galéria a kratšia cesta k formuláru. */
[aria-haspopup="dialog"]:focus-visible { outline:3px solid #dc2626; outline-offset:3px; }
.cookie-bar { max-height:85vh; overflow-y:auto; }
.cookie-bar__status { display:block; margin-top:6px; font-weight:600; }
#formular { scroll-margin-top:100px; }
.contact-form-phone { display:block; margin:0 0 24px; color:#b91c1c; font-weight:600; }
@media (max-width:1023px) { #formular { padding:24px 20px; } }
@media (min-width:1024px) { .contact-details { order:0; } #formular { order:1; } }
