/* LAVERDE TECH Komponenty – doplnky pre widgety pluginu.
   Pôvodné stránky stoja na Elementor kontajneroch (display:flex). Widgety
   vypisujú obyčajné HTML, preto tu dopĺňame rozloženie a premenné. */

.lvt-w{--lime:#C9F24D;--ink:#0E100F;--paper:#F2F2EF;font-family:Geist,'Helvetica Neue',Arial,sans-serif;color:var(--ink);font-size:17px;line-height:1.55;width:100%}
.lvt-w *,.lvt-w *::before,.lvt-w *::after{box-sizing:border-box}
.lvt-w p{margin:0}
.lvt-w img{max-width:100%;height:auto}
.lvt-w.lvt-bg-paper{background:var(--paper)}
.lvt-w.lvt-bg-white{background:#fff}
.lvt-w.lvt-bg-dark{background:#080A09;color:#F3F4F1}
.lvt-w.lvt-bg-dark .lvt-h2 .elementor-heading-title,.lvt-w.lvt-bg-dark .lvt-sechead-l .lvt-h2 .elementor-heading-title{color:#fff!important}
.lvt-w.lvt-bg-dark .lvt-sub p{color:#BCC3BF}

/* kontajnery, ktoré boli v Elementore flex */
.lvt-w :is(.lvt-sec,.lvt-sechead,.lvt-sechead-l,.lvt-box,.lvt-col,.lvt-row,.lvt-hero,.lvt-head,.lvt-headright,.lvt-herocopy,.lvt-subcopy,.lvt-tile,.lvt-foot,.lvt-cta,.lvt-ephead){display:flex}
.lvt-w .lvt-sec{width:100%}
.lvt-w .lvt-sec.lvt-sec-0{padding-top:0}
.lvt-w .lvt-sec.lvt-sec-b0{padding-bottom:0}
.lvt-w .lvt-sechead-c{flex-direction:column;align-items:center;text-align:center;gap:14px}
.lvt-w .lvt-sechead-c .lvt-sub p{margin:0 auto}
.lvt-w .lvt-sec>.lvt-note{margin-top:-24px}
.lvt-w .lvt-row .lvt-btn .elementor-button{display:inline-flex;align-items:center;text-decoration:none}
.lvt-w .lvt-hero{width:100%}
.lvt-w .lvt-foot{width:100%}
/* deti s max-width a margin:auto by sa vo flex stĺpci zúžili */
.lvt-w :is(.lvt-head,.lvt-herocopy,.lvt-subcopy,.lvt-fnav,.lvt-finfo,.lvt-frags,.lvt-winwrap){width:100%}

/* nadpisy bez Elementor heading widgetu */
.lvt-w .elementor-heading-title{margin:0;padding:0;font-family:Geist,sans-serif}
.lvt-w .lvt-h1 .elementor-heading-title,.lvt-w .lvt-h1s .elementor-heading-title,.lvt-w .lvt-h2-dark .elementor-heading-title{color:#fff}
.lvt-w .lvt-box .elementor-heading-title{color:inherit}

/* logo v hlavičke widgetu (obrázok, nie pozadie) */
.lvt-w .lvt-logo-img{display:inline-flex;align-items:center;line-height:0}
.lvt-w .lvt-logo-img img{display:block;height:26px;width:auto;max-width:none}
@media (max-width:767px){.lvt-w .lvt-logo-img img{height:22px}}
@media (max-width:900px){.lvt-w .lvt-head .lvt-nav,.lvt-w .lvt-head .lvt-mail,.lvt-w .lvt-head .lvt-headright>.lvt-btn{display:none!important}}

/* bento dlaždice ako odkazy */
.lvt-w a.lvt-tile{text-decoration:none}
.lvt-w .lvt-tile .lvt-shot{margin:0 -32px -32px;border-radius:18px 18px 0 0;overflow:hidden;height:clamp(170px,14vw,210px)}
.lvt-w .lvt-tile .lvt-shot img{width:100%;height:auto;display:block}
.lvt-w .lvt-t-photo{background-size:cover!important;background-position:center!important}
.lvt-w .lvt-tile .lvt-tcol{display:flex;flex-direction:column;gap:12px;margin-top:auto}
.lvt-w .lvt-tile .lvt-tcol.top{margin-top:0}
.lvt-w .lvt-t-video .lvt-rec{display:flex;align-items:center;gap:8px;font-family:'Geist Mono',monospace;font-size:12px;color:#C9F24D}
.lvt-w .lvt-t-video .lvt-rec i{width:8px;height:8px;border-radius:50%;background:#ff4d4d;display:inline-block;animation:lvtRec 1.6s infinite}
@keyframes lvtRec{50%{opacity:.25}}

/* karta s fotkou */
.lvt-w .lvt-card.lvt-card-noimg{grid-template-columns:1fr}
.lvt-w .lvt-card .lvt-img img{width:100%;height:100%;object-fit:cover;border-radius:24px;display:block;aspect-ratio:4/5;max-height:620px}

/* zoznam s tučným začiatkom */
.lvt-w .lvt-list li>span{display:block}

/* video panel */
.lvt-w .lvt-vframe{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#0E100F}
.lvt-w .lvt-vframe iframe,.lvt-w .lvt-vframe video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* odkazové karty */
.lvt-w .lvt-inv.lvt-inv3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.lvt-w .lvt-inv.lvt-inv3{grid-template-columns:1fr}}
.lvt-w .lvt-inv a.dark{background:#0E100F;border-color:#0E100F}
.lvt-w .lvt-inv a.dark small{color:#C9F24D}.lvt-w .lvt-inv a.dark b{color:#F2F2EF}.lvt-w .lvt-inv a.dark span{color:#A3AAA6}

/* mriežka kariet so stĺpcami */
.lvt-w .lvt-grid.lvt-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lvt-w .lvt-grid.lvt-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lvt-w .lvt-grid.lvt-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){.lvt-w .lvt-grid.lvt-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.lvt-w .lvt-grid.lvt-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.lvt-w .lvt-grid.lvt-cols-2,.lvt-w .lvt-grid.lvt-cols-3,.lvt-w .lvt-grid.lvt-cols-4{grid-template-columns:1fr}}
@media (min-width:901px){.lvt-w .lvt-grid>.lvt-rspan{grid-row:span 2}}

/* fotomriežka */
.lvt-w .lvt-photos{display:grid}
.lvt-w .lvt-photos figure{margin:0;overflow:hidden;border-radius:24px}
.lvt-w .lvt-photos figure:first-child{grid-column:span 2;grid-row:span 2}
.lvt-w .lvt-photos img{width:100%;height:100%;object-fit:cover;display:block}

/* kurzová navigácia so 6 a viac položkami */
.lvt-w .lvt-cnav.c6{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:900px){.lvt-w .lvt-cnav.c6{grid-template-columns:repeat(6,minmax(160px,1fr))}}
.lvt-w .lvt-cnav a.d26{background:#C9F24D;border-color:#C9F24D}.lvt-w .lvt-cnav a.d26 small{color:#0E100F}
.lvt-w .lvt-cnav a.d26.on{background:#0E100F;border-color:#0E100F}.lvt-w .lvt-cnav a.d26.on small{color:#C9F24D}

/* pás s odkazom */
.lvt-n26.dark{background:#0E100F;color:#F3F4F1!important}.lvt-n26.dark small{color:#C9F24D}
.lvt-w .lvt-n26{margin-bottom:0}

/* čipy (kotvy) */
.lvt-w .lvt-chips a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid #DEDED8;border-radius:999px;background:#fff;color:#0E100F;font-size:15px;font-weight:500;text-decoration:none;transition:border-color .2s}
.lvt-w .lvt-chips a small{font-family:'Geist Mono',monospace;font-size:12px;color:#6E7571}
.lvt-w .lvt-chips a:hover{border-color:#0E100F}

/* odkazy v texte */
.lvt-w :is(.lvt-tl,.lvt-sub,.lvt-rich,.lvt-price td,.lvt-faq) a:not([class]){color:inherit;text-decoration:underline;text-decoration-color:#C9F24D;text-decoration-thickness:2px;text-underline-offset:3px}

/* FAQ */
.lvt-faq details{border-top:1px solid #DEDED8;padding:22px 0}
.lvt-faq details:last-child{border-bottom:1px solid #DEDED8}
.lvt-faq summary{cursor:pointer;font-size:20px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px;color:#0E100F}
.lvt-faq summary::-webkit-details-marker{display:none}
.lvt-faq summary::after{content:"+";font-family:'Geist Mono',monospace;color:#6E7571}
.lvt-faq details[open] summary::after{content:"–"}
.lvt-w .lvt-faq p,.lvt-page .lvt-faq p{margin-top:12px;color:#555C58;max-width:760px}

/* animované logo */
.lvt-w .lvt-alogo{position:relative;overflow:hidden;border-radius:24px;background:#080A09;line-height:0}
.lvt-w .lvt-alogo video{width:100%;height:auto;display:block}
.lvt-w .lvt-alogo.round-0{border-radius:0}

/* animované logo (canvas) */
.lvt-w .lvt-alogo-wrap{display:flex;flex-direction:column;align-items:center;gap:16px}
.lvt-w .lvt-alogo-c{width:100%;margin:0 auto}
.lvt-w .lvt-alogo-cap{font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.06em;color:#959B98;text-align:center}

/* editor: prázdny stav */
.lvt-w .lvt-empty{padding:24px;border:1px dashed #CFCFC8;border-radius:16px;color:#6E7571;font-size:14px;text-align:center}

/* kroky bez odkazu */
.lvt-w .lvt-steps>div{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #E2E2DC;border-radius:22px;padding:22px;color:#0E100F;font-family:Geist,sans-serif}
.lvt-w .lvt-steps>div em{font-style:normal;font-weight:800;font-size:44px;letter-spacing:-.04em;line-height:1;color:#0E100F}
.lvt-w .lvt-steps>div em::after{content:'';display:block;width:28px;height:6px;background:#C9F24D;border-radius:9px;margin-top:12px}
.lvt-w .lvt-steps>div b{font-weight:500;font-size:16px;line-height:1.3}
.lvt-w .lvt-steps>div ul{margin:0;padding-left:16px;color:#6E7571;font-size:13.5px;line-height:1.5}

/* widget sa v Elementor kontajneri nesmie zmršťovať pod svoj obsah */
:where(.e-con>.elementor-widget:has(>.lvt-w),.e-con>.e-con-inner>.elementor-widget:has(>.lvt-w)){flex-shrink:0;width:100%}
.lvt-w .lvt-vcard .im img{position:absolute;inset:0}
/* video karty: pevné stĺpce (min(…,100%) robí vo flex stĺpci zlú výšku) */
.lvt-w .lvt-vgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media (max-width:1024px){.lvt-w .lvt-vgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:700px){.lvt-w .lvt-vgrid{grid-template-columns:1fr!important}}
