/* Doplnky k štýlom Elementora pre web bez WordPressu (Consens, 2026). Len to, čo predtým robili skripty Elementora. */

/* video v pozadí cez celú sekciu */
.elementor-background-video-hosted.web-video-pozadie { width: 100%; height: 100%; object-fit: cover; opacity: 1; }

/* rozbaľovacie menu na mobile */
.elementor-nav-menu--dropdown.elementor-nav-menu__container { position: absolute; z-index: 9997; }
.elementor-menu-toggle:not(.elementor-active) + .elementor-nav-menu__container { transform: scaleY(0); max-height: 0; overflow: hidden; }
.elementor-menu-toggle.elementor-active + .elementor-nav-menu__container { transform: scaleY(1); max-height: 100vh; overflow-y: auto; }
.elementor-nav-menu--main .sub-menu.web-otvorene { display: block; }

/* galéria: mriežka bez knižnice e-gallery */
.elementor-gallery__container.web-galeria { display: grid; grid-template-columns: repeat(var(--web-stlpce, 3), 1fr); gap: var(--web-medzera, 10px); }
.web-galeria .e-gallery-item { position: relative; display: block; overflow: hidden; }
.web-galeria .e-gallery-image { aspect-ratio: var(--web-pomer, 3 / 2); background-size: cover; background-position: center; transition: transform .3s; }
.web-galeria .e-gallery-item:hover .e-gallery-image { transform: scale(1.03); }

/* kotúče: vodorovné posúvanie so zarážkami */
.web-kotuc { overflow: hidden; position: relative; }
.web-kotuc-pas.swiper-wrapper { display: flex; gap: var(--web-medzera, 10px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; transform: none !important; }
.web-kotuc-pas::-webkit-scrollbar { display: none; }
.web-kotuc-pas > .swiper-slide { flex: 0 0 calc((100% - (var(--web-naraz, 1) - 1) * var(--web-medzera, 10px)) / var(--web-naraz, 1)); scroll-snap-align: start; width: auto !important; margin: 0 !important; max-width: none !important; }
/* Elementor bez svojho skriptu dáva kotúču 3 fotky (--e-image-carousel-slides-to-show), počet určuje web.js */
.web-kotuc .swiper-pagination { position: static; display: flex; justify-content: center; gap: 8px; margin-top: 12px; }
.web-kotuc .swiper-pagination-bullet { cursor: pointer; opacity: .35; }
.web-kotuc .swiper-pagination-bullet-active { opacity: 1; }

/* zväčšenie fotiek */
.web-lb { position: fixed; inset: 0; z-index: 99999; background: rgba(0, 0, 0, .9); display: flex; align-items: center; justify-content: center; }
.web-lb[hidden] { display: none; }
.web-lb-obsah { max-width: 92vw; max-height: 86vh; display: flex; }
.web-lb-obsah img, .web-lb-obsah video { max-width: 92vw; max-height: 86vh; object-fit: contain; }
.web-lb button { position: absolute; background: none; border: 0; color: #fff; font-size: 44px; line-height: 1; cursor: pointer; padding: 12px 16px; }
.web-lb-zavriet { top: 8px; right: 8px; }
.web-lb-pred { left: 4px; top: 50%; transform: translateY(-50%); }
.web-lb-dalej { right: 4px; top: 50%; transform: translateY(-50%); }
.web-lb-jeden .web-lb-pred, .web-lb-jeden .web-lb-dalej { display: none; }
.web-lb-pocet { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; color: #fff; font: 14px/1.4 Poppins, sans-serif; }
.web-bez-posunu { overflow: hidden; }

/* okno s ponukou obhliadky: polohu, tmavé pozadie a krížik dávajú dialog.min.css, popup.min.css a post-4552.css ako dnes */
.web-okno .dialog-close-button { cursor: pointer; }
.web-okno .elementor-location-popup { display: block; }

/* formulár: pasca na roboty a čakanie */
.web-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.elementor-form-waiting button[type=submit] { opacity: .6; cursor: wait; }
.elementor-message { margin-top: 10px; font-size: 15px; }
.elementor-message-success { color: #2f7d32; }
.elementor-message-danger { color: #c62828; }

/* karty: obsah sa prepína skriptom */
.elementor-tab-content[hidden] { display: none; }

/* pozadie z viacerých fotiek */
.web-prelinanie { position: absolute; inset: 0; z-index: 0; overflow: hidden; border-radius: inherit; }
.web-prelinanie-foto { position: absolute; inset: 0; background-size: cover; background-position: center; transition-property: opacity; }
.web-prelinanie ~ * { position: relative; z-index: 1; }

/* mapa domov (namiesto Mapplicu) */
/* Mapplic mal plochu 1920 × 800 a mapu do nej vpísal */
.web-mapa { position: relative; width: 100%; aspect-ratio: 1920 / 800; display: flex; align-items: center; }
.web-mapa svg { display: block; width: 100%; height: auto; aspect-ratio: 1920 / 800; }
/* na mobile mal Mapplic plochu aspoň 400 px a mapu v nej na stred */
@media (max-width: 767px) { .web-mapa { min-height: 400px; margin-bottom: 12px; } }
.web-dom { opacity: .5; cursor: pointer; transition: opacity .15s; outline: none; }
.web-dom:hover, .web-dom:focus { opacity: .8; }
.web-dom-volny { fill: #63a547; }
.web-dom-rezervovany { fill: #eded00; }
.web-dom-predany { fill: #dd3333; }
.web-dom-iny { fill: #999; }
.web-mapa-tip { position: absolute; transform: translate(-50%, calc(-100% - 8px)); background: #1b212c; color: #fff; font: 500 13px/1.3 Poppins, sans-serif; padding: 6px 10px; border-radius: 6px; white-space: nowrap; pointer-events: none; z-index: 5; }
.web-mapa-tip[hidden] { display: none; }

/* stránka 404 */
/* stránka 404 (zostav.py, stranka_404): ako sekcia „Informácie o projekte“, text vľavo a fotka vpravo, na mobile pod sebou */
/* hlavička webu je nad obsahom (91 px), preto väčší horný okraj */
.web-404 { max-width: 1140px; margin: 0 auto; padding: 200px 20px 120px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.web-404 .web-404-stitok { font: 600 12px/1 Poppins, sans-serif; letter-spacing: 4px; text-transform: uppercase; color: #d0bf77; margin: 0 0 22px; }
main .web-404 h1 { font: 600 32px/1.3 Poppins, sans-serif; color: #171d25; margin: 0 0 24px; letter-spacing: normal; text-transform: none; }
.web-404 p { font: 400 14px/1.7 Roboto, sans-serif; color: #171d25; margin: 0 0 32px; }
.web-404 .web-404-tlacidla { display: flex; flex-wrap: wrap; gap: 14px; margin: 0; }
.web-404 .web-404-tlacidlo { display: inline-block; padding: 22px 25px; border: 2px solid #d0bf77; border-radius: 10px; background: #d0bf77; color: #fff;
  font: 600 14px/1 Poppins, sans-serif; letter-spacing: 1.8px; text-transform: uppercase; text-decoration: none; transition: background .2s, color .2s; }
.web-404 .web-404-tlacidlo:hover { background: #bfa95c; border-color: #bfa95c; color: #fff; }
.web-404 .web-404-obrys { background: transparent; color: #d0bf77; }
.web-404 .web-404-obrys:hover { background: #d0bf77; border-color: #d0bf77; color: #fff; }
.web-404 .web-404-fotka { width: 100%; height: auto; aspect-ratio: 1024 / 572; object-fit: cover; border-radius: 10px; display: block; }
@media (max-width: 900px) {
  .web-404 { grid-template-columns: 1fr; gap: 40px; padding: 140px 20px 70px; }
  main .web-404 h1 { font-size: 26px; }
}

/* galéria murovanie (ihrisko): pozície počíta web.js */
.elementor-gallery__container.web-galeria.web-murovanie { display: block; position: relative; }
.web-murovanie .e-gallery-item { position: absolute; }
.web-murovanie .e-gallery-image { aspect-ratio: auto; }

/* články z Mozgu: medzititulky majú písmo prvku Elementora, odkazy v texte sú viditeľné (globálne sú biele) */
.elementor .web-medzititulok { font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; line-height: inherit; margin: 0; }
.elementor-3102 .elementor-widget-text-editor a { color: var(--e-global-color-secondary, #171D25); text-decoration: underline; font-size: inherit; }
/* karty v zozname blogov: fotka vždy 3 : 2 ako pri dnešných článkoch, aj keď nahratá fotka má iný pomer */
.elementskit-post-image-card .elementskit-entry-thumb img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

/* Developer: všetky fotky v pomere 4:3 (Tomáš 24. 10. 2026). Fotky projektov sú pozadie (prezentácia) kontajnera vedľa textu:
   výšku už neberú podľa dĺžky textu ani podľa vnútorného okraja (na mobile 150 px), ale podľa šírky, a stoja v strede riadku. Fotky v kotúči sa zo štvorca orežú na 4:3. */
.elementor-1628 .e-con:has(> .elementor-background-slideshow){aspect-ratio:4/3;height:auto!important;min-height:0!important;padding:0!important;align-self:center}
.elementor-1628 .elementor-widget-image-carousel .swiper-slide-image{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover}

/* SEO (skripty/seo.py, 24. 10. 2026): hlavný nadpis povýšený z h2 na h1 vyzerá ako h2 (pravidlá h2 z kitu Elementora post-9.css) */
.elementor-kit-9 h1.web-h1-h2 { color: var(--e-global-color-secondary); font-size: 32px; font-weight: 600; line-height: 1.3em; text-transform: none; letter-spacing: normal; }
@media (max-width: 767px) { .elementor-kit-9 h1.web-h1-h2 { font-size: 25px; } }
