/* Webicino V4 – doplnkove styly (nacita mu-plugin webicino-v4.php) */

/* Nastaveni cookies: vlastni odkaz ve footeru misto plovouciho odznaku CookieScript */
#cookiescript_badge { width: 0 !important; height: 0 !important; opacity: 0 !important; }
.cookie-trigger-element { cursor: pointer; }

/* Hero: plovouci prvky reaguji na pohyb kurzoru (--mx/--my nastavuje JS, -1 az 1) */
.hero-float { translate: calc(var(--mx, 0) * var(--d, 0) * 1px) calc(var(--my, 0) * var(--d, 0) * 1px); transition: translate .8s cubic-bezier(.2, .7, .2, 1); }
.hero-float.depth-1 { --d: 12; }
.hero-float.depth-2 { --d: 22; }
.hero-float.depth-3 { --d: 34; }
@media (prefers-reduced-motion: reduce) { .hero-float { translate: none; transition: none; } }

/* ===== HOMEPAGE V4 ===== */
.e-svg-base > svg { fill: none; }
.price-tip-icon svg rect { display: none; }

/* Formular */
.form-select { -webkit-appearance: none; appearance: none; padding-right: 2.5rem !important; background-image: url(https://webicino.com/wp-content/uploads/2025/04/chevron_down_purple.svg) !important; background-repeat: no-repeat !important; background-position: right 0.875rem center !important; background-size: 16px !important; background-color: var(--color-white) !important; }
.form-check::before { display: none !important; }
.check-row label { cursor: pointer; }

/* Kategorie */
.cat-card-title { transition: color .3s; }
.cat-thumb { transition: transform .2s; }
.cat-card:hover .cat-thumb:nth-child(1), .cat-card:hover .cat-thumb:nth-child(2) { transform: translateX(-38px); }
.cat-card:hover .cat-thumb:nth-child(3) { transform: translateX(-25px); }
.cat-card:hover .cat-card-title { color: var(--color-purple); }

/* Oblibene sablony */
/* Karta sablony (puvodni webicino_loop_card): rozmazane pozadi s overlayem zmizi, ukaze se barva z ACF bg_color, web se zkrati a odkryje nadpis */
.tpl-media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(41,41,41,.31); -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); transition: opacity .3s; pointer-events: none; }
.tpl-card:hover .tpl-media::before, .tpl-card:focus-visible .tpl-media::before, .tpl-card:hover .tpl-bg, .tpl-card:focus-visible .tpl-bg { opacity: 0; }
.elementor .tpl-card:hover .tpl-shot, .elementor .tpl-card:focus-visible .tpl-shot { height: 265px; }
@media (max-width: 1366px) { .elementor .tpl-card:hover .tpl-shot, .elementor .tpl-card:focus-visible .tpl-shot { height: 218px; } }
@media (max-width: 767px) { .elementor .tpl-card:hover .tpl-shot, .elementor .tpl-card:focus-visible .tpl-shot { height: 185px; } }
.snap-row-mobile::-webkit-scrollbar, .ref-track::-webkit-scrollbar { display: none; }

/* Swiper (Reference + Oblibene na mobilu). Bez JS zustava nativni posun. */
.elementor .e-con:has(> .ref-swiper), .elementor .e-con:has(> .tpl-swiper) { overflow-x: clip; }
.elementor .ref-swiper.swiper { overflow: hidden; width: calc(100% + 24px); max-width: none; margin-inline: -12px; padding-inline: 12px; }
.swiper-initialized > .swiper-wrapper.ref-track,
.swiper-initialized > .swiper-wrapper.snap-row-mobile { overflow: visible; margin-inline: 0; padding-inline: 0; gap: 0; scroll-snap-type: none; }
.elementor .swiper-initialized > .swiper-wrapper > .swiper-slide { flex: 0 0 auto; scroll-snap-align: none; }
@media (max-width: 767px) {
  .tpl-swiper.swiper { overflow: visible; }
  .elementor .tpl-swiper > .swiper-wrapper { display: flex; }
}
@media (min-width: 768px) {
  .elementor .tpl-swiper > .swiper-wrapper { display: grid; transform: none !important; }
}

/* Jak to probiha - zalozky */
.step-tab, .step-tab.e--selected { background-color: var(--color-white) !important; color: var(--color-dark) !important; border: 1px solid var(--color-line) !important; outline: none; }
.step-tab:hover { border-color: var(--color-purple) !important; }
.step-tab[aria-selected="true"] { border-color: var(--color-purple) !important; font-weight: 600; }
.step-tab:focus-visible { outline: 2px solid var(--color-purple); outline-offset: 2px; }
.step-tab[aria-selected="false"] .step-num { background-color: transparent; color: var(--color-grey); box-shadow: inset 0 0 0 1px var(--color-grey-light); }
.steps-menu::-webkit-scrollbar { display: none; }
.step_1_img, .step_2_arrow_folder, .step_2_arrow_point, .step_3_url_img { max-width: none; }
.step_2_arrow_icon svg { display: block; width: 100%; height: auto; }
/* Krok 3: domena se pise po znacich (JS, 75 ms na znak), viditelnost ridi puvodni keyframes step_3_text (cyklus 8 s) */
.step_3_url_text { width: max-content; animation: step_3_text 8s linear infinite; }
.step_3_url_text.is-typing::after { content: ""; display: inline-block; width: 1px; height: 1em; margin-left: 1px; vertical-align: -0.1em; background: currentColor; animation: webi-caret 1s steps(1) infinite; }
@keyframes webi-caret { 50% { opacity: 0; } }
/* Krok 2: sipka ma 8,7 % sirky karty (puvodni globalni CSS ji roztahuje na 100 %) */
.elementor .step-visual .step_2_arrow_icon { width: 8.7% !important; height: auto !important; }
@media (max-width: 1366px) { .elementor .step-visual .step_2_arrow_icon { width: 10.3% !important; } }
/* Krok 4: po dobehnuti odpoctu je hotovy web pred procenty */
.elementor .step-visual .loader_box { z-index: 1; }
.elementor .step-visual .step_4_img_finish { z-index: 5; }
/* Zalozky: hotove kroky maji fialovy ramecek jako puvodni web; sipky predchozi / dalsi */
.step-tab.is-done { border-color: var(--color-purple) !important; }
.step-arrow svg { display: block; width: 100%; height: 100%; }
.step-arrow svg path { stroke: currentColor; stroke-opacity: 1; }
.step-arrow.is-disabled { color: #CCCCCC; pointer-events: none; }
.step-arrow:focus-visible { outline: 2px solid var(--color-purple); outline-offset: 2px; }
/* Text vlevo neskace: popis ma vysku 3 radku */
.elementor .step-grid .t-18 { min-height: calc(3 * 1.35em); }
/* Krok 4: pocitadlo 0-100 % synchronni s #loader_progress_bar (cyklus 10 s) */
@property --webi-pct { syntax: '<integer>'; initial-value: 0; inherits: false; }
#loader_progress_num { counter-reset: webi-pct var(--webi-pct); animation: webi-pct 10s linear infinite; }
#loader_progress_num::before { content: counter(webi-pct); }
@keyframes webi-pct { 0%, 10% { --webi-pct: 0; } 35%, 49.99% { --webi-pct: 100; } 50%, 100% { --webi-pct: 0; } }

/* Priplatkove sluzby */
.serv-tab, .serv-tab.e--selected { color: var(--color-white) !important; background-color: transparent !important; background-image: linear-gradient(rgba(62,60,58,.16) 0%, rgba(32,30,28,.48) 100%) !important; border: 1px solid rgba(255,255,255,0) !important; box-shadow: 0 0 32px rgba(0,0,0,.06); }
.serv-tab:hover, .serv-tab[aria-selected="true"] { border-color: var(--color-green) !important; }
.serv-tab:focus-visible { outline: 2px solid var(--color-green); outline-offset: 2px; }

/* Cenik - tooltipy a tabulka */
.price-tip-wrap:hover .price-tip, .price-tip-wrap:focus-within .price-tip { opacity: 1; transform: none; }
.price-tip::after { content: ""; position: absolute; right: 0.75rem; top: 100%; border: 5px solid transparent; border-top-color: #3A3939; }
.price-tip-wrap:hover .price-tip-icon path { stroke: #fff; }
.cmp-cell em { font-style: normal; font-size: 0.875em; font-weight: 300; color: rgba(255,255,255,.48); }
.cmp-cell strong { font-weight: 700; }

/* Reference - hover jen na nazvu sablony a tlacitku */
.ref-from a { transition: color .3s; }
.ref-from a:hover { color: var(--color-dark); }

/* Proc my - bento (animace z puvodniho globalniho CSS) */
/* Benefity: "Tady bude vas text" se pise po znacich (JS), kurzor jako v editoru */
.type-box.is-typing::after { content: ""; display: inline-block; width: 0.06em; height: 0.9em; margin-left: 0.04em; vertical-align: -0.08em; background: #2DF379; -webkit-text-fill-color: initial; animation: webi-caret 1s steps(1) infinite; }
.gradient_rotate img, .typka img, .bohove img, .konv img { display: block; width: 100%; height: auto; max-width: none; }

/* FAQ - chat (puvodni anim_box) a plynuly akordeon */
.anim_box .typing svg { display: block; width: 100%; height: auto; }
.faq-head::-webkit-details-marker { display: none; }
.faq-head::marker { content: ""; }
.faq-item .faq-icon { transform: none !important; transition: transform .3s ease; }
.faq-item[open] .faq-icon { transform: rotate(45deg) !important; }
:root { interpolate-size: allow-keywords; }
.faq-item::details-content { block-size: 0; overflow: hidden; transition: block-size .3s ease, content-visibility .3s ease allow-discrete; }
.faq-item[open]::details-content { block-size: auto; }

/* Blog */
.post-card:hover .post-title { color: var(--color-purple); }

@media (prefers-reduced-motion: reduce) {
  .cat-thumb, .tpl-shot, .tpl-bg, .tpl-media::before, .faq-item::details-content { transition: none !important; }
  #loader_progress_num { animation: none !important; }
}

/* Tablet + mobil (do 1024): priplatkove sluzby jako rada ikon nad obsahem (jako puvodni web) */
@media (max-width: 1024px) {
  .elementor .serv-menu { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; }
  .elementor .serv-tab { justify-content: center; }
  .elementor .serv-tab > .e-paragraph-base { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
/* Tablet + mobil: v sekci Usetrete je tlacitko az pod tabulkou */
@media (max-width: 1024px) {
  .elementor .split-2 > .stack-l { display: contents; }
  .elementor .split-2 > .stack-l > .btn-wide { order: 2; justify-self: start; }
}

/* FAQ chat na tabletu a mobilu: pevna kompozice v px jako puvodni anim_box (vyska 320 / 250 px, okraj 160 / 20 px) */
@media (max-width: 1024px) {
  .elementor .chat-box { --ci: 160px; --tl: 0px; --tr: 0px; aspect-ratio: auto; height: 320px; }
  .elementor .chat-box > .typka, .elementor .chat-box > .bohove { width: 49px; height: auto; }
  .elementor .chat-box > .typing { width: 50px; height: auto; }
  .elementor .chat-box > .typka { left: var(--ci); right: auto; top: calc(40px + var(--tl)); }
  .elementor .chat-box > .typing_1 { left: calc(var(--ci) + 60px); right: auto; top: calc(50px + var(--tl)); }
  .elementor .chat-box > .konv_1 { left: calc(var(--ci) + 60px); right: auto; top: calc(62px + var(--tl)); width: 174px; }
  .elementor .chat-box > .typing_2 { left: calc(var(--ci) + 60px); right: auto; top: calc(108px + var(--tl)); }
  .elementor .chat-box > .konv_2 { left: calc(var(--ci) + 60px); right: auto; top: calc(120px + var(--tl)); width: 108px; }
  .elementor .chat-box > .bohove { left: auto; right: var(--ci); top: calc(176px + var(--tr)); }
  .elementor .chat-box > .typing_3 { left: auto; right: calc(var(--ci) + 60px); top: calc(187px + var(--tr)); }
  .elementor .chat-box > .konv_3 { left: auto; right: calc(var(--ci) + 60px); top: calc(200px + var(--tr)); width: 57px; }
  .elementor .chat-box > .typing_4 { left: auto; right: calc(var(--ci) + 60px); top: calc(228px + var(--tr)); }
  .elementor .chat-box > .konv_4 { left: auto; right: calc(var(--ci) + 60px); top: calc(240px + var(--tr)); width: 79px; }
}
@media (max-width: 767px) {
  .elementor .chat-box { --ci: 20px; --tl: -30px; --tr: -50px; height: 250px; }
}

/* Sirky tlacitek podle puvodniho webu */
.elementor .price-grid .e-button-base { min-width: clamp(165px, calc(165px + (100vw - 1470px) * 0.1889), 250px); }
.elementor .price-featured .e-button-base { min-width: 219px; }
.elementor .step-grid .btn-wide { min-width: clamp(175px, calc(175px + (100vw - 1470px) * 0.2111), 270px); }
@media (max-width: 1024px) { .elementor .step-grid .btn-wide { min-width: 0; } }
@media (max-width: 767px) { .elementor .hero-grid .btn-wide { width: 100%; min-width: 0; } }
@media (min-width: 768px) and (max-width: 1024px) { .elementor .hero-grid .btn-wide { min-width: 209px; } }

/* Velikosti textu podle puvodniho webu */
.elementor .price-item > .e-paragraph-base { font-size: clamp(14px, calc(1.5556vw - 8.87px), 21px); }
.elementor .step-grid .t-18 { font-size: var(--fs-16); }
.elementor .serv-tab > .e-paragraph-base { font-size: clamp(18px, calc(2vw - 11.4px), 27px); }
.elementor .serv-tab[aria-selected="true"] > .e-paragraph-base { font-weight: 700; }
@media (max-width: 767px) {
  .elementor .cmp-cell:not(.cmp-head-mobile) { font-size: 1rem; }
}

/* Kontakt na tabletu a mobilu: info s vnitrnim odsazenim, formular pres celou sirku boxu */
@media (max-width: 1024px) {
  .elementor .contact-wrap > .stack { padding-inline: clamp(12px, 2vw, 20px); }
  .elementor .contact-card .e-form-base { padding: 0; }
}
/* Postup na mobilu: vizual nad textem (jako puvodni web) */
@media (max-width: 767px) {
  .elementor .step-grid > .step-card { order: -1; }
}

/* Usetrete az 41.000 Kc: ramecek s teckami v rozich (puvodni price_frame.svg) */
.save-amount span { outline: none !important; }
.save-amount span::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: url(/wp-content/uploads/2024/12/price_frame.svg) center / 100% 100% no-repeat; }

/* Priplatkove sluzby: karty se prolinaji (fade-in / fade-out 0,3 s jako puvodni hidden_box), panely bez vychoziho paddingu */
.elementor .serv-area { display: grid; }
.elementor .serv-area > [role="tabpanel"] { grid-area: 1 / 1; display: block !important; padding: 0; opacity: 1; visibility: visible; transition: opacity .3s ease-out, visibility .3s; }
.elementor .serv-area > [role="tabpanel"][style*="none"] { opacity: 0; visibility: hidden; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .elementor .serv-area > [role="tabpanel"] { transition: none; } }

/* Reference: ikonka v tlacitku 23 px (roste s pismem tlacitka), okraje posuvniku mizi plynule do ztracena */
.elementor .ref-card .btn-icon .icon-sm { width: calc(var(--fs-btn) * 1.28); height: calc(var(--fs-btn) * 1.28); }
.elementor .ref-swiper.swiper {
  width: calc(100% + 2 * var(--space-gutter)); margin-inline: calc(-1 * var(--space-gutter)); padding-inline: var(--space-gutter);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--space-gutter), #000 calc(100% - var(--space-gutter)), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 var(--space-gutter), #000 calc(100% - var(--space-gutter)), transparent 100%);
}

/* FAQ stranka: sloupce dotazu (JS rozdeli polozky loopu do dvou .faq-col, <=1024 pod sebou) a odpoved z ACF */
.faq-columns > .faq-col { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.faq-card-body p { margin: 0; }
.faq-card-body p + p { margin-top: 0.75em; }
.faq-card-body:has(> .e-paragraph-base:empty) { display: none; }

/* Benefity: ramecek textu se 4 teckami v rozich (jako Figma / textovy box v editoru) */
.text-frame::before { content: ""; position: absolute; inset: -3px; pointer-events: none;
  background: radial-gradient(circle, #2DF379 2.5px, transparent 2.7px) 0 0 / 5px 5px no-repeat, radial-gradient(circle, #2DF379 2.5px, transparent 2.7px) 100% 0 / 5px 5px no-repeat, radial-gradient(circle, #2DF379 2.5px, transparent 2.7px) 0 100% / 5px 5px no-repeat, radial-gradient(circle, #2DF379 2.5px, transparent 2.7px) 100% 100% / 5px 5px no-repeat; }
/* Benefity: rozmazane pozadi pod textem mizi do bila (Figma: gradient do bile) */
.elementor .bento-visual > img.abs:first-child { -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 100%); mask-image: linear-gradient(180deg, #000 0%, transparent 100%); }
/* Benefity: rucicka hodin ve stitku "3 dny" se otaci */
.b_lb_days svg path:nth-of-type(2) { transform-box: view-box; transform-origin: 12.5px 12px; animation: rotating 4s linear infinite; }
/* Benefity: ikony v pilulkach fialove jako ve Figme */
.bento-pill-glass svg path { stroke: var(--color-purple); }
@media (prefers-reduced-motion: reduce) { .b_lb_days svg path { animation: none; } }

/* Paticka: sloupec Navigace sirsi, nazvy sablon a kategorie tesne u sebe (jako puvodni web) */
@media (min-width: 768px) {
  .elementor .footer-cols { column-gap: clamp(12px, 1.1vw, 28px); }
  .elementor .footer-cols > .footer-col:first-child { min-width: max(103px, calc(12.89vw - 86.5px)); }
}

/* ===== Blog archiv V4 (sablony 4935, 4936) + karta clanku (komponenta 4887) ===== */
/* Karta: obrazek se pri najeti priblizi v orezovem obalu (puvodni karta 2423: scale 1.05) */
/* Karta = obal + 3 odkazy (obrazek, nadpis, Cist clanek), kazdy ma vlastni hover jako puvodni karta */
.post-img-wrap > .post-img { margin: 0; border-radius: 0; transition: transform .4s; }
.post-img-wrap:hover > .post-img, .post-img-wrap:focus-visible > .post-img { transform: scale(1.05); }
.post-card:hover .post-title, .elementor .post-title a:hover, .elementor .post-title a:focus-visible { color: var(--color-dark); }
.elementor .post-title a:hover, .elementor .post-title a:focus-visible { text-decoration: underline; }
.elementor .post-read:hover, .elementor .post-read:focus-visible { color: var(--color-dark); }
.post-cat:empty { display: none; }
/* Nacist dalsi clanky: jen tlacitko "dalsi", bez "predchozi"; po posledni strance zmizi */
.load-more [data-e-pagination="next"][aria-disabled="true"] { display: none; }
.load-more.is-loading [data-e-pagination="next"] { opacity: .5; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .post-img-wrap > .post-img { transition: none; } }

/* ===== Tlacitka: vlnka pri najeti (V4) =====
   Puvodne ::after se z-index:-1 v izolovanem tlacitku (CSS hlavicky 4599) - Safari ho nevykresli (zelene tlacitko bez efektu, fialove bile).
   Stejny efekt jako radialni gradient v pozadi tlacitka: background-size 0 -> 400 % = transform scale(0) -> scale(4) puvodniho ::after. */
.elementor :is(.btn-primary, .btn-secondary, .btn-outline-purple, .btn-purple, .btn-yellow, .btn-icon, .form-submit) {
  --wave: rgba(255, 255, 255, .5); --wave-0: rgba(255, 255, 255, 0);
  background-image: radial-gradient(circle, var(--wave) 0%, var(--wave-0) 70%);
  background-repeat: no-repeat; background-position: center; background-size: 0% 0%;
  transition: color .3s, border-color .3s, background-color .3s, background-size .3s;
}
.elementor .btn-secondary { --wave: rgba(41, 41, 41, .8); --wave-0: rgba(41, 41, 41, 0); }
.elementor :is(.btn-outline-purple, .btn-icon) { --wave: rgba(93, 31, 231, .8); --wave-0: rgba(93, 31, 231, 0); }
.elementor :is(.btn-primary, .btn-secondary, .btn-outline-purple, .btn-purple, .btn-yellow, .btn-icon, .form-submit):is(:hover, :focus-visible) { background-size: 400% 400%; }
:is(.btn-primary, .btn-secondary, .btn-outline-purple, .btn-purple, .btn-yellow, .btn-icon, .form-submit)::after { content: none !important; }
@media (prefers-reduced-motion: reduce) { .elementor :is(.btn-primary, .btn-secondary, .btn-outline-purple, .btn-purple, .btn-yellow, .btn-icon, .form-submit) { transition: none; } }

/* Od 1920 px: neutralizace pravidel zivého webu (V3), ktera by na V4 strankach skocila */
/* Odkaz "Nastaveni cookies" (puvodni HTML skript ho od 1920 px nastavuje na 19px !important) - stejne jako ostatni pravni odkazy */
.elementor .cookie-trigger-element { font-size: var(--fs-14) !important; }
/* Kit: body 16px a od 1920 px 18px (skok) - na V4 strankach plynule podle fs-16 */
body.elementor-kit-43 { font-size: var(--fs-16); }

/* Reference: stin karet neni oriznuty - posuvnik ma prostor nahore a dole, vyrovnany zapornym marginem */
.elementor .ref-swiper.swiper { padding-block: 24px 64px; margin-block: -24px -64px; }

/* Cenik (podle V3 na 1470 / 1920 px): tlacitko 24 px pod cenou, popisky skupin 13 -> 19 px, "/ mesic" 19,8 px */
.elementor .price-card .e-button-base { margin-block-start: 1.5rem; }
.elementor .price-card > .t-14, .elementor .price-list .t-14 { font-size: clamp(13px, calc(1.3333vw - 6.6px), 19px); }
.elementor .price-amount span { font-size: 1.2375rem; }

/* Paticka nad 1470 px roste jako V3 (1470 -> 1920 px): odkazy 15 -> 20, logo 168 -> 252, socialni site 40 -> 60, ikony kontaktu 16 -> 24, podpis 71 -> 103, sipka CTA 48 -> 64 */
.elementor .footer-col a, .elementor .footer-col .footer-cat { font-size: clamp(15px, calc(1.1111vw - 1.33px), 20px); }
.elementor .footer-left .stack > a.e-svg-base:first-child { width: clamp(168px, calc(18.6667vw - 106.4px), 252px); height: auto; }
.elementor .footer-left .stack > a.e-svg-base:first-child svg { width: 100%; height: auto; }
.elementor .footer-social { width: clamp(40px, calc(4.4444vw - 25.33px), 60px); height: clamp(40px, calc(4.4444vw - 25.33px), 60px); }
.elementor .footer-social .e-svg-base { width: 100%; height: 100%; }
.elementor .footer-left .contact-link .icon-sm { width: clamp(16px, calc(1.7778vw - 10.13px), 24px); height: clamp(16px, calc(1.7778vw - 10.13px), 24px); }
.elementor .footer-bottom .row > a.e-svg-base { width: clamp(71px, calc(7.1111vw - 33.53px), 103px); height: auto; }
.elementor .footer-bottom .row > a.e-svg-base svg { width: 100%; height: auto; }
.elementor .footer-cta-arrow { width: clamp(48px, calc(3.5556vw - 4.27px), 64px); height: clamp(48px, calc(3.5556vw - 4.27px), 64px); }

/* FAQ: od 1920 px je box s animaci chatu vyssi jako ve V3 (516 x 420), konci zaroven s akordeonem */
@media (min-width: 1920px) { .elementor .chat-box { aspect-ratio: 516 / 420; } }

/* Postup krok 3: vlastni animace URL listy - puvodni step_3_url posouva listu (left/top) do pozic platnych jen ve V3. Lista kryje adresni radek prohlizece. */
.elementor .step-visual .step_3_url_img { animation-name: webi-step3-url; }
/* Postup krok 3 mobil: puvodni globalni CSS dava domene do 575 px top 3.6vw !important (text lezi na horni hrane listy) - stejna hodnota jako mobilni styl prvku */
@media (max-width: 575px) { .elementor .step-visual .step_3_url_text { inset-block-start: 7.4% !important; } }
@keyframes webi-step3-url {
  0%, 12.5% { opacity: 0; transform: translate(-6%, -20%) scale(.5); }
  25%, 80% { opacity: 1; transform: none; }
  90%, 100% { opacity: 0; transform: none; }
}
/* Postup od 1920 px: text 46 % / animace 50 % (jako V3) */
@media (min-width: 1920px) { .elementor .step-grid { grid-template-columns: minmax(0, 46fr) minmax(0, 50fr); column-gap: 4%; } }

/* Bento B1 podle V3: tecky v rozich 8 px stredem presne na rozich ramecku, zeleny rozmazany oblouk plne viditelny */
.text-frame::before { inset: -4.5px; background: radial-gradient(circle, #2DF379 4px, transparent 4.4px) 0 0 / 8px 8px no-repeat, radial-gradient(circle, #2DF379 4px, transparent 4.4px) 100% 0 / 8px 8px no-repeat, radial-gradient(circle, #2DF379 4px, transparent 4.4px) 0 100% / 8px 8px no-repeat, radial-gradient(circle, #2DF379 4px, transparent 4.4px) 100% 100% / 8px 8px no-repeat; }
.elementor .bento-visual > img.abs:first-child { -webkit-mask-image: none; mask-image: none; }
/* Bento B1: "Tady bude / vas text" vzdy na dva radky jako V3 */
.elementor .text-frame > .type-box { width: 4.7em !important; max-width: none !important; }

/* Postup: cislo kroku pred nadpisem v levem sloupci velke jako nadpis (V3: 25 px na 1470, 38 px na 1920) */
.elementor .step-title-row > .step-num { width: var(--fs-24); height: var(--fs-24); flex: 0 0 auto; font-size: clamp(14px, calc(0.4444vw + 9.47px), 18px); }
/* Benefity B1: rozmazany oblouk drzi pomer stran */
.elementor .bento-visual-full > img.abs:first-child { height: auto !important; object-fit: contain; }

/* ===== Detail sablony V4 (sablona 4976) ===== */
/* Stitky sablony a "Pro koho" (shortcode [webicino_terms] v .tpl-terms, kazdy stitek <span>): bila pilulka se stinem, 14 px, od 1470 px plynule na 21 px (V3 na 1920) */
.elementor .tpl-terms > span { display: inline-flex; align-items: center; font-size: clamp(14px, calc(1.5556vw - 8.87px), 21px); line-height: 1.2; color: var(--color-text); padding: .5714em 1.1429em; border-radius: var(--radius-pill); background: var(--color-white); box-shadow: 0 .1429em .8571em rgba(0, 0, 0, .08); white-space: nowrap; }
.elementor .tpl-terms-audience > span { font-weight: 500; }
.elementor .tpl-terms > span.is-extra { display: none; }
.elementor .tpl-terms.is-expanded > span.is-extra { display: inline-flex; }
.elementor .tpl-terms > .tpl-term-more { font-weight: 700; color: var(--color-purple); cursor: pointer; }
.elementor .tpl-terms.is-expanded > .tpl-term-more { display: none; }
.elementor .tpl-terms > .tpl-term-more:focus-visible { outline: 2px solid var(--color-purple); outline-offset: 2px; }

/* Pouzite barvy varianty (.tpl-colors: text "#FF2828, #FFF, #030303" -> JS z nej udela tecky) */
.elementor .tpl-colors { font-size: 0; }
.elementor .tpl-colors.is-ready { display: inline-flex; gap: .5rem; align-items: center; }
.elementor .tpl-colors > .tpl-dot { display: block; width: clamp(25px, calc(2.6667vw - 14.2px), 37px); height: clamp(25px, calc(2.6667vw - 14.2px), 37px); border-radius: 50%; }

/* Bohaty text z ACF (shortcode [webicino_text], kazdy odstavec <span>): odstavce s mezerou - popis sablony i odpovedi FAQ */
.elementor :is(.detail-rich, .faq-list .faq-body > .e-paragraph-base) > span { display: block; }
.elementor :is(.detail-rich, .faq-list .faq-body > .e-paragraph-base) > span + span { margin-top: 1em; }
.elementor .faq-list .faq-body a { color: var(--color-purple); text-decoration: underline; }

/* Ikona v tlacitku prebira barvu textu (i pri hoveru) */
.elementor .icon-current svg [stroke]:not([stroke="none"]) { stroke: currentColor; }
.elementor .icon-current svg [fill]:not([fill="none"]) { fill: currentColor; }

/* Galerie (Swiper): obrazek vyplni slide, odkaz otevre lightbox Elementoru */
.elementor .detail-slide > a, .elementor .detail-slide img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; }
.elementor .detail-gallery:not(.swiper-initialized) .swiper-wrapper { overflow: hidden; }
/* sipky jako V3: seda linka, pri hoveru zelena */
.elementor .detail-arrow { cursor: pointer; }
.elementor .detail-arrow svg path { transition: stroke .3s ease, stroke-opacity .3s ease; }
.elementor .detail-arrow:is(:hover, :focus-visible) svg path { stroke: var(--color-green); stroke-opacity: 1; }
.elementor .detail-arrow svg { width: 100%; height: 100%; }

/* Sdileni: ikony maskou (barva = currentColor) */
.elementor .share-icon { background-color: currentColor; -webkit-mask: var(--share-icon) center / contain no-repeat; mask: var(--share-icon) center / contain no-repeat; }
.elementor .share-mail { --share-icon: url(icons/mail.svg); }
.elementor .share-fb { --share-icon: url(icons/facebook.svg); }
.elementor .share-in { --share-icon: url(icons/linkedin.svg); }
.elementor .copy_to_clipboard { cursor: pointer; }
.elementor .copy_to_clipboard:hover .detail-copy-text { color: var(--color-purple); }

/* FAQ u sablony: jeden sloupec, otevreny jeden dotaz (JS) */
.elementor .faq-list > .e-collection-loop-item, .elementor .faq-list > * { min-width: 0; }
/* Benefity B1: oblouk dole mizi do bila (jako V3) a nikdy neprekryje nadpis karty */
.elementor .bento-visual-full > img.abs:first-child { -webkit-mask-image: linear-gradient(180deg, #000 45%, transparent 85%); mask-image: linear-gradient(180deg, #000 45%, transparent 85%); }
.elementor .bento-card > .bento-title, .elementor .bento-card > .bento-desc { position: relative; z-index: 3; }

/* Hero: "Zadani webu po dobu vypiti kapucina" jako V3 - text 16 (mobil) -> 18 (1366-1470) -> 27 px (1920), ikona 16 -> 20 -> 30 px */
.elementor .hero-kicker { gap: clamp(4px, calc(0.4444vw - 0.53px), 8px); }
.elementor .hero-kicker > .e-paragraph-base { font-size: max(clamp(16px, calc(0.2018vw + 15.19px), 18px), min(calc(2vw - 11.4px), 27px)); }
.elementor .hero-kicker > .e-svg-base { width: max(clamp(16px, calc(1.0929vw + 11.6px), 20px), min(calc(2.2222vw - 12.67px), 30px)); height: auto; aspect-ratio: 1; flex: 0 0 auto; }
.elementor .hero-kicker > .e-svg-base svg { width: 100%; height: 100%; }

/* ===== HP kolo 4 (2026-10-15) ===== */
/* Hlavicka 1025-1280 px: menu se vejde na jeden radek */
@media (min-width: 1025px) and (max-width: 1280px) {
  .site-header .elementor-nav-menu--main .elementor-nav-menu { gap: 14px !important; flex-wrap: nowrap; }
  .site-header .elementor-nav-menu--main .elementor-item { font-size: 15px !important; white-space: nowrap; }
  .site-header .elementor-widget-nav-menu { margin-left: 1.5rem !important; }
}
/* Postup: popis kroku ma vysku nejdelsiho popisu, takze cislo + nadpis zacinaji ve vsech 4 krocich na stejne urovni */
@media (max-width: 1600px) { .elementor .step-grid .t-18 { min-height: calc(4 * 1.35em); } }
@media (max-width: 1280px) { .elementor .step-grid .t-18 { min-height: calc(5 * 1.35em); } }
@media (max-width: 960px) { .elementor .step-grid .t-18 { min-height: calc(6 * 1.35em); } }
@media (max-width: 767px) { .elementor .step-grid .t-18 { min-height: 0; } }
/* Tablet: hero tlacitka vedle sebe */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor .hero-grid .hero-left > .e-con:has(> .e-button-base) { flex-wrap: nowrap; }
  .elementor .hero-grid .btn-wide { min-width: 0 !important; flex: 0 0 auto; padding-inline: clamp(1.5rem, 4vw, 3rem); }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor .hero-grid > .hero-left { position: relative; z-index: 3 !important; }
  .elementor .hero-grid > .hero-visual { z-index: 1; }
}
/* Mobil: vetsi mezera pod sekci Postup (tlacitko nebylo nalepene na tmavou sekci) */
@media (max-width: 767px) { .elementor .e-con:has(> .steps-tabs) { padding-bottom: 6rem !important; } }
/* Usetrete - tabulka na mobilu jako V3: sloupec popisku zmizi, popisek je v kazdem boxu nad hodnotou, "Dohromady" je pod nazvem */
@media (max-width: 767px) {
  .elementor .cmp-table { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 0.75rem; gap: 0.75rem; padding-top: 1.75rem; }
  .elementor .cmp-table > .cmp-col:first-child { display: none; }
  .elementor .cmp-col-custom, .elementor .cmp-col-webi { display: flex; flex-direction: column; gap: 1rem; padding: 1.25rem 0.5rem; }
  .elementor .cmp-col-custom > .cmp-cell, .elementor .cmp-col-webi > .cmp-cell { order: 3; font-size: 1rem; padding: 0; }
  .elementor .cmp-col-custom > :nth-last-child(5), .elementor .cmp-col-webi > :nth-last-child(5) { order: 0; }
  .elementor .cmp-col-custom > :nth-last-child(1), .elementor .cmp-col-webi > :nth-last-child(1) { order: 1; font-weight: 700; padding-bottom: 1rem; margin-bottom: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .elementor .cmp-col-custom > :nth-last-child(4)::before, .elementor .cmp-col-webi > :nth-last-child(4)::before { content: "Spuštění webu"; }
  .elementor .cmp-col-custom > :nth-last-child(3)::before, .elementor .cmp-col-webi > :nth-last-child(3)::before { content: "První rok"; }
  .elementor .cmp-col-custom > :nth-last-child(2)::before, .elementor .cmp-col-webi > :nth-last-child(2)::before { content: "Druhý rok"; }
  .elementor .cmp-col-custom > :nth-last-child(-n+4):not(:last-child)::before, .elementor .cmp-col-webi > :nth-last-child(-n+4):not(:last-child)::before { display: block; font-weight: 500; font-size: 1rem; margin-bottom: 0.25rem; color: var(--color-white); }
  .elementor .split-2 > .stack-l > .btn-wide { justify-self: center; width: auto; min-width: 219px; }
}
/* Paticka tablet: spodni lista na stred */
@media (max-width: 1024px) {
  .elementor .footer-bottom { justify-content: center; text-align: center; flex-direction: column; align-items: center; }
  .elementor .footer-legal { justify-content: center; }
}
/* Paticka mobil podle V3: logo + claim, Navigace (3 sloupce) a Sablony s linkou za nadpisem, pak socialni site a kontakty, pravni odkazy pod sebou */
@media (max-width: 767px) {
  .elementor .footer-main { display: flex !important; flex-direction: column; gap: 2rem; }
  .elementor .footer-main > .footer-left, .elementor .footer-main > .footer-left > .stack { display: contents; }
  .elementor .footer-main > .footer-left > .stack-s { display: none; }
  .elementor .footer-main > .footer-left > .stack > a.e-svg-base:first-child { order: 1; margin-bottom: -1.75rem; }
  .elementor .footer-main > .footer-left > .stack > .e-paragraph-base { order: 2; }
  .elementor .footer-main > .footer-cols { order: 3; display: grid !important; grid-template-columns: auto minmax(0, 1fr); column-gap: 1.25rem; row-gap: 0; width: 100%; }
  .elementor .footer-main > .footer-left > .stack > .row:nth-of-type(1) { order: 4; }
  .elementor .footer-main > .footer-left > .stack > .row:nth-of-type(2) { order: 5; margin-top: -1rem; }
  .elementor .footer-cols > .footer-col:first-child { grid-column: 1 / -1; margin-bottom: 1.75rem; }
  .elementor .footer-cols > .footer-col:first-child .elementor-nav-menu--main .elementor-nav-menu { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem 1rem; }
  .elementor .footer-col-title { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.25rem; }
  .elementor .footer-col-title::after { content: ""; flex: 1 1 auto; height: 1px; background: rgba(255,255,255,.12); }
  .elementor .footer-cols > .footer-col:nth-child(2) .footer-col-title::after { width: calc(100vw - 2 * var(--space-gutter)); flex: 0 0 auto; }
  .elementor .footer-cols > .footer-col:nth-child(3) .footer-col-title { visibility: hidden; }
  .elementor .footer-bottom { align-items: flex-start; text-align: left; }
  .elementor .footer-legal { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
}
@media (max-width: 767px) {
  .elementor .footer-cols > :nth-child(3) { display: flex !important; }
  .elementor .footer-cols > .footer-col:first-child .elementor-nav-menu--main .elementor-nav-menu { grid-auto-flow: column; grid-template-rows: repeat(3, auto); }
  .elementor .footer-col { gap: 0.75rem; }
  .elementor .footer-legal { gap: 0.5rem; }
}
@media (max-width: 767px) {
  /* nadpis "Sablony" s linkou pres oba sloupce, ale bez vlivu na sirku sloupce */
  .elementor .footer-cols > .footer-col:nth-child(2) .footer-col-title { width: 0; white-space: nowrap; overflow: visible; }
  .elementor .footer-cols > .footer-col:nth-child(2) .footer-col-title::after { width: calc(100vw - 2 * var(--space-gutter) - 4.6em); }
}
@media (max-width: 767px) {
  .elementor .footer-cols > .footer-col:nth-child(n+2) > :not(.footer-col-title) { font-size: 15px !important; line-height: 20px !important; min-height: 20px; margin: 0; padding: 0; }
}
@media (max-width: 767px) {
  .elementor .footer-cols > .footer-col:nth-child(2) .elementor-nav-menu { display: flex !important; flex-direction: column; gap: 12px !important; }
  .elementor .footer-cols > .footer-col:nth-child(2) .elementor-item { font-size: 15px !important; line-height: 20px !important; padding: 0 !important; }
  .elementor .footer-cols > .footer-col:nth-child(3) { gap: 12px; }
}
/* Mobilni menu: lista s tlacitky Kontakt / Vybrat sablonu prijizdi i odjizdi (puvodne pri zavreni zmizela okamzite) */
@media (max-width: 1024px) {
  .site-header .header-actions {
    display: flex !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 3; margin: 0;
    padding: 1rem var(--space-gutter) calc(1rem + env(safe-area-inset-bottom)); gap: .75rem;
    background-color: #fff; border-top: 1px solid var(--color-line);
    transform: translateY(100%); opacity: 0; visibility: hidden; pointer-events: none; animation: none !important;
    transition: transform .3s ease, opacity .3s ease, visibility 0s linear .3s;
  }
  .site-header .header-actions .e-button-base { display: flex; flex: 1 1 0; min-width: 0 !important; height: 48px; padding: 0 1rem; font-size: var(--fs-18); align-items: center; justify-content: center; }
  .site-header:has(.elementor-menu-toggle.elementor-active) .header-actions { transform: none; opacity: 1; visibility: visible; pointer-events: auto; transition: transform .3s ease, opacity .3s ease, visibility 0s; }
}
@media (max-width: 1024px) and (prefers-reduced-motion: reduce) { .site-header .header-actions { transition: none; } }
/* Mobil: poletujici prvky kolem fotky v hero vetsi */
@media (max-width: 767px) {
  .elementor .hero-visual .hero-badge { font-size: 14px; gap: 6px; padding: 6px 12px 6px 7px; }
  .elementor .hero-visual .hero-badge-dot { width: 14px; height: 14px; }
  .elementor .hero-visual .hero-pill { font-size: 13px; padding: 4px 11px; }
  .elementor .hero-visual .hero-float.e-svg-base { scale: 1.45; }
}
@media (max-width: 767px) { .elementor .hero-visual .hero-badge.depth-2 { inset-inline-start: auto !important; inset-inline-end: -14%; } }
/* Mobil: karty kategorii se pri scrollu stohuji pres sebe (sticky pod fixni hlavickou) */
@media (max-width: 767px) {
  .elementor .cat-card { position: sticky; top: calc(var(--header-h) + 12px); box-shadow: 0 -6px 24px rgba(41,41,41,.06); }
  .elementor .cat-card:nth-child(2) { top: calc(var(--header-h) + 20px); }
  .elementor .cat-card:nth-child(3) { top: calc(var(--header-h) + 28px); }
  .elementor .cat-card:nth-child(4) { top: calc(var(--header-h) + 36px); }
  .elementor .cat-card:nth-child(5) { top: calc(var(--header-h) + 44px); }
  .elementor .cat-card:nth-child(6) { top: calc(var(--header-h) + 52px); }
  .elementor .e-con:has(> .grid-3 > .cat-card), .elementor .grid-3:has(> .cat-card) { overflow: visible !important; }
}
/* Mobil: vizualy v bento kartach vetsi (cela scena zvetsena, misto pod ni dopocitane) */
@media (max-width: 767px) {
  .elementor .bento-card > .bento-visual { transform: scale(1.3); transform-origin: 50% 0; margin-bottom: 18.3%; }
}
/* Tablet: Kontakt - fotky tymu a kontakty vedle checklistu (jako V3), ne az pod nim */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor .contact-wrap > .stack:has(> .check-list) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-m, 2rem); }
  .elementor .contact-wrap > .stack:has(> .check-list) > * { grid-column: 1 / -1; }
  .elementor .contact-wrap > .stack > .check-list { grid-column: 1; grid-row: span 2; align-self: center; }
  .elementor .contact-wrap > .stack > .check-list ~ .avatars { grid-column: 2; align-self: end; }
  .elementor .contact-wrap > .stack > .check-list ~ .stack-s { grid-column: 2; align-self: start; }
}
/* Tablet: hero - odstavec pod H1 jen na polovinu sirky obsahu, at nezasahuje pod fotku */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor .hero-left .text-measure { max-width: calc((100vw - 2 * var(--space-gutter)) / 2); }
}
/* Detail sablony: sablona bez stitku (prazdny shortcode) nema pod nadpisem prazdne misto */
.elementor .tpl-terms:empty { display: none; }
/* Stranky s tmavym blokem hned pod hlavickou (trida header-solid, Cenik 5063): hlavicka je bila uz od zacatku a v zakladu nizsi jako V3 cenik (97 px na 1366-1920, 74 px na 1024, 52 px na mobilu), pri scrollu se zmensi a dostane stin */
@keyframes webicino-header-compact-solid {
  from { padding-top: var(--header-pad-solid); padding-bottom: var(--header-pad-solid); background-color: #fff; box-shadow: 0 0 0 rgba(41,41,41,0); }
  to { padding-top: .75rem; padding-bottom: .75rem; background-color: #fff; box-shadow: 0 8px 32px rgba(41,41,41,.10); }
}
body:has(.header-solid) .elementor-location-header .site-header { --header-pad-solid: min(max(calc(0.82vw + 11px), calc(2.6vw - 7.2px)), max(calc(43.3px - 1.1vw), 22px)); background-color: #fff; padding-top: var(--header-pad-solid); padding-bottom: var(--header-pad-solid); animation-name: webicino-header-compact-solid; }
/* Cenove boxy bez otazniku s popisky (trida hide-price-tips na obalu, Cenik 5063): prvky zustavaji ve strukture, ale nejsou videt ani klikatelne */
.elementor .hide-price-tips .price-tip-wrap { display: none; pointer-events: none; }

/* Hlavicka: na detailu sablony se po odscrollovani za hero tlacitko "Otevrit demo" (.header-demo, odkaz z ACF odkaz_na_demo)
   vysune zleva pres "Kontakt" (jako V3 header_right_section.scroll). Stav .is-demo na .header-swap prida JS, jinde zustava skryte. */
.elementor .header-swap > .header-demo { clip-path: inset(0 100% 0 0); pointer-events: none; visibility: hidden; transition: clip-path .3s ease, color .3s, border-color .3s, background-color .3s, background-size .3s, visibility 0s linear .3s; }
.elementor .header-swap > :not(.header-demo) { clip-path: inset(0 0 0 0); transition: clip-path .3s ease, color .3s, border-color .3s, background-color .3s, background-size .3s; }
.elementor .header-swap.is-demo > .header-demo { clip-path: inset(0 0 0 0); pointer-events: auto; visibility: visible; transition-delay: 0s; }
.elementor .header-swap.is-demo > :not(.header-demo) { clip-path: inset(0 0 0 100%); pointer-events: none; }
.elementor .header-swap > .header-demo .e-paragraph-base { white-space: nowrap; }
@media (max-width: 1024px) {
  .site-header .header-actions > :is(.header-swap, .e-button-base) { flex: 1 1 50% !important; min-width: 0; }
  .site-header .header-actions > .header-swap > .e-button-base { width: 100%; }
  .site-header .header-actions .header-demo { font-size: var(--fs-18); padding: 0 1rem; }
}
@media (prefers-reduced-motion: reduce) { .elementor .header-swap > * { transition: none; } }
/* Cenove boxy na Ceniku (trida price-cenik na obalu, Cenik 5063): mezery kolem skupin za "Vse ze ... +" a pozice zari jako V3 cenik */
.elementor .price-cenik .t-bold + .t-white-60 { margin-block-start: 1rem; margin-block-end: clamp(0.3125rem, calc(1.264vw - 12.3px), 0.75rem); }
.elementor .price-cenik .t-bold + .price-list { margin-block-start: 1rem; }
.elementor .price-cenik .price-grid > .glow { max-width: none; height: auto; opacity: 1; inset: auto; transform: translate(-50%, -50%); }
.elementor .price-cenik .price-grid > .glow:nth-of-type(1) { width: 1225px; left: 5%; top: 440px; }
.elementor .price-cenik .price-grid > .glow:nth-of-type(2) { width: 912px; left: 97.5%; top: 290px; }
@media (max-width: 1024px) {
  .elementor .price-cenik .price-grid > .glow:nth-of-type(1) { left: 24%; top: 230px; }
  .elementor .price-cenik .price-grid > .glow:nth-of-type(2) { left: 85%; top: 74px; }
}
@media (max-width: 767px) {
  .elementor .price-cenik .price-grid > .glow:nth-of-type(1) { left: 126%; top: 242px; }
  .elementor .price-cenik .price-grid > .glow:nth-of-type(2) { left: 161%; top: 86px; }
}

/* Archiv sablon V4 (5114): filtr oboru, skryte karty mimo filtr / mimo prvnich 12, aktivni pilulka */
.elementor .tpl-hidden { display: none !important; }
.elementor .tpl-pill.is-active { color: var(--color-white); background-color: var(--color-purple); border-color: var(--color-purple); }
.elementor .tpl-pill.is-active:hover { color: var(--color-white); }
/* galerie sablon: tecky pod posuvnikem */
.elementor .tpl-gallery { position: relative; }
.elementor .tpl-gallery .swiper-pagination { bottom: 0; }
.elementor .tpl-gallery .swiper-pagination-bullet { width: 10px; height: 10px; background: var(--color-grey-light); opacity: 1; }
.elementor .tpl-gallery .swiper-pagination-bullet-active { background: var(--color-purple); }
/* galerie sablon: vychozi layout loopu (grid / mezera) prebiji swiper-wrapper, proto flex bez mezery; slidy nesmi rust ani se smrstit */
.elementor .tpl-gallery.swiper { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; }
.elementor .tpl-gallery > .swiper-wrapper { display: flex; flex-wrap: nowrap; gap: 0; grid-template-columns: none; }
.elementor .tpl-gallery > .swiper-wrapper > .swiper-slide { flex: 0 0 auto; height: auto; min-width: 0; }
.elementor .tpl-gallery .gal-card { height: 100%; }
/* loop-grid-4: Elementor vypisuje variantu tablet az za mobilem (tablet 2 sloupce by prebil mobil), proto mobil zde */
@media (max-width: 767px) { .elementor .loop-grid-4.loop-grid-4 { grid-template-columns: minmax(0, 1fr); } }
/* galerie sablon: vyraznejsi aktivni tecka */
.elementor .tpl-gallery .swiper-pagination-bullet { vertical-align: middle; transition: width .3s, height .3s, background-color .3s; }
.elementor .tpl-gallery .swiper-pagination-bullet-active { width: 16px; height: 16px; }
/* archiv sablon: "Zobrazit dalsi" zelene, na hover bez vlnky jen zmizi pozadi (zeleny ramecek zustane) */
.elementor .tpl-more.btn-primary { background-image: none; transition: background-color .3s; }
.elementor .tpl-more.btn-primary:is(:hover, :focus-visible) { background-color: transparent; border-color: var(--color-green); color: var(--color-dark); }

/* O nas V4 (5145): tym na mobilu 2 sloupce (varianta tablet v globalni tride prebiji mobile) */
@media (max-width: 767px) {
	.elementor .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Potvrzeni formulare jako popup (komponenta 4742): form-modal je prekryv, zobrazi se jen ve stavu odeslano */
.form-state-success .form-modal.form-modal.form-modal { display: flex; animation: webicino-modal-in .25s ease-out; }
@keyframes webicino-modal-in { from { opacity: 0; } to { opacity: 1; } }
.form-modal-box { -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.form-modal-box a { color: var(--e-global-color-purple, #5D1FE7); color: var(--color-purple, #5D1FE7); text-decoration: underline; }

/* Vysledky hledani (sablona 5181): prazdna sekce sablon se skryje; prazdne clanky se skryji, kdyz jsou nalezene sablony */
.elementor .search-tpl:not(:has(.e-collection-loop-layout-base > *)) { display: none; }
.elementor:has(.search-tpl .e-collection-loop-layout-base > *) .search-posts:not(:has(.e-collection-loop-layout-base > *)) { display: none; }
/* bez clanku je sablona posledni sekci: spodni odsazeni jako section-blog (117 / mobil 100 px + prekryv paticky) */
.elementor:has(.search-tpl .e-collection-loop-layout-base > *):not(:has(.search-posts .e-collection-loop-layout-base > *)) .search-tpl { padding-block-end: calc(117px + var(--radius-2xl, 32px)); }
@media (max-width: 767px) {
	.elementor:has(.search-tpl .e-collection-loop-layout-base > *):not(:has(.search-posts .e-collection-loop-layout-base > *)) .search-tpl { padding-block-end: calc(100px + var(--radius-2xl, 32px)); }
}

/* Kontakt stránka (page-hero): komponenta Kontakt má H1 „Kontakt“ (override), štítek nad ním by se opakoval */
.page-hero .contact-wrap > .stack > .eyebrow:first-child { display: none; }
